:root{--atelier-background:#f9f9f9;--atelier-surface:#ffffff;--atelier-surface-low:#f2f4f4;--atelier-surface-high:#e4e9ea;--atelier-surface-highest:#dde4e5;--atelier-outline:#adb3b4;--atelier-outline-bright:#757c7d;--atelier-primary:#5f5e5e;--atelier-primary-dim:#535252;--atelier-on-primary:#faf7f6;--atelier-secondary:#486272;--atelier-text:#2d3435;--atelier-muted:#5a6061;--atelier-subtle:#757c7d;--atelier-danger:#9f403d;--atelier-shadow:0 16px 40px rgba(45,52,53,0.06);--atelier-radius-panel:0;--atelier-radius-control:4px;--atelier-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--atelier-sans:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(180deg,#fbfbfa,#f3f4f2);color:var(--atelier-text);font-family:var(--atelier-sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.page-shell{min-height:100vh;padding:32px}.page-frame{width:min(1320px,100%);margin:0 auto}.panel{background:var(--atelier-surface);border:1px solid rgba(173,179,180,.45);box-shadow:var(--atelier-shadow)}.kicker{font-size:.8rem;letter-spacing:.28rem;text-transform:uppercase;color:var(--atelier-muted);margin:0 0 18px}.display-title{font-size:clamp(3rem,7vw,6rem);line-height:.95;font-weight:700;letter-spacing:-.04em}.display-title,.section-title{margin:0;font-family:var(--atelier-serif)}.section-title{font-size:clamp(2.1rem,4vw,3rem);line-height:1}.body-copy{margin:0;color:var(--atelier-muted);font-size:1.05rem;line-height:1.7}.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.9fr);grid-gap:28px;gap:28px;align-items:stretch}.hero-copy{padding:40px;background:radial-gradient(circle at top right,rgba(72,98,114,.08),transparent 35%),linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,1))}.hero-copy .body-copy{max-width:44rem;margin-top:18px}.hero-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:30px}.capability-card{padding:20px;background:var(--atelier-surface-low);border:1px solid rgba(173,179,180,.38)}.capability-card h3{margin:0 0 8px;font-family:var(--atelier-serif);font-size:1.3rem}.capability-card p{margin:0;color:var(--atelier-muted);line-height:1.55;font-size:.96rem}.login-panel{padding:34px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.brand-row{display:flex;align-items:center;gap:14px}.brand-badge{width:54px;height:54px;display:inline-flex;align-items:center;justify-content:center;background:var(--atelier-surface-high);color:var(--atelier-text);font-size:1.7rem;font-weight:700;border:1px solid rgba(173,179,180,.55)}.brand-badge,.brand-meta h2{font-family:var(--atelier-serif)}.brand-meta h2{margin:0;font-size:2rem}.brand-meta p{margin:4px 0 0;color:var(--atelier-muted)}.auth-grid{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:8px;gap:8px}.field label{color:var(--atelier-muted);font-size:.95rem}.field input{width:100%;padding:16px 18px;background:#fff;border:1px solid rgba(173,179,180,.6);border-radius:var(--atelier-radius-control);color:var(--atelier-text)}.actions{display:flex;flex-wrap:wrap;gap:12px}.button-ghost,.button-primary,.button-secondary{min-height:48px;padding:0 18px;border-radius:var(--atelier-radius-control);border:1px solid transparent;transition:background .16s ease,border-color .16s ease,color .16s ease}.button-label{display:inline-flex;align-items:center;justify-content:center;gap:10px}.button-spinner{width:16px;height:16px;border-radius:999px;border:2px solid;border-right:2px solid transparent;animation:button-spinner-rotate .72s linear infinite;flex:0 0 auto}.icon-button-spinner{width:18px;height:18px}.button-primary{background:var(--atelier-primary);color:var(--atelier-on-primary)}.button-primary:hover{background:var(--atelier-primary-dim)}.button-secondary{background:transparent;border-color:rgba(173,179,180,.65);color:var(--atelier-text)}.button-ghost:hover,.button-secondary:hover{background:var(--atelier-surface-low)}.button-ghost{background:transparent;color:var(--atelier-muted)}.icon-action-button{width:48px;min-width:48px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.icon-action-button.disabled,.icon-action-button[aria-disabled=true]{pointer-events:none;opacity:.45}.action-icon{width:19px;height:19px}@keyframes button-spinner-rotate{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.button-spinner{animation:none}}.section-actions{align-items:center;justify-content:flex-end}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.message{padding:14px 16px;border:1px solid rgba(173,179,180,.55);background:var(--atelier-surface-low);color:var(--atelier-text);line-height:1.5}.message.error{border-color:rgba(159,64,61,.45);color:var(--atelier-danger);background:rgba(159,64,61,.08)}.dashboard-grid{display:grid;grid-gap:24px;gap:24px}.dashboard-loading-message{color:var(--atelier-muted)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.user-card{min-width:280px;padding:20px 22px;display:flex;gap:14px;background:rgba(255,255,255,.76)}.user-card,.user-initial{align-items:center;border:1px solid rgba(173,179,180,.45)}.user-initial{width:56px;height:56px;flex:0 0 auto;display:inline-flex;justify-content:center;background:var(--atelier-surface-low);font-family:var(--atelier-serif);font-size:1.8rem}.user-card h3,.user-card p{margin:0}.user-card p{color:var(--atelier-muted);margin-top:6px}.shell-profile-menu{position:relative;display:flex;justify-content:flex-end}.shell-profile-trigger{border-color:rgba(173,179,180,.55);background:rgba(255,255,255,.78)}.shell-profile-trigger.open,.shell-profile-trigger:hover{background:var(--atelier-surface-low);border-color:rgba(117,124,125,.55)}.shell-profile-popover{position:absolute;top:calc(100% + 12px);right:0;z-index:30;min-width:252px;padding:18px;display:grid;grid-gap:16px;gap:16px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.shell-profile-summary{display:grid;grid-gap:6px;gap:6px}.shell-profile-meta,.shell-profile-name{margin:0}.shell-profile-name{font-weight:700;font-size:1.05rem}.shell-profile-meta{color:var(--atelier-muted)}.shell-profile-actions{display:grid;grid-gap:10px;gap:10px}.shell-profile-action{width:100%;min-height:48px;padding:0 14px;display:flex;align-items:center;gap:12px;border:1px solid rgba(173,179,180,.45);background:transparent;color:var(--atelier-text);text-align:left;transition:background .16s ease,border-color .16s ease,color .16s ease}.shell-profile-action:hover{background:var(--atelier-surface-low);border-color:rgba(117,124,125,.55)}.shell-profile-action .action-icon{width:18px;height:18px;flex:0 0 auto}.shell-profile-action span{font-weight:600}.hero-panel{padding:34px}.hero-panel-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:flex-start}.hero-panel-actions{margin-top:18px;align-items:center}.hero-panel-actions,.stat-list{display:flex;flex-wrap:wrap;gap:12px}.stat-list{justify-content:flex-end}.stat-badge{min-width:122px;padding:14px 16px;background:var(--atelier-surface-low);border:1px solid rgba(173,179,180,.45)}.stat-badge span{display:block;color:var(--atelier-muted);letter-spacing:.18rem;text-transform:uppercase;font-size:.72rem}.stat-badge strong{display:block;margin-top:10px;font-family:var(--atelier-serif);font-size:2rem;line-height:1}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.metric-card,.section-card{padding:24px}.metric-card h3,.section-card h2{margin:0;font-family:var(--atelier-serif)}.metric-card .value{margin-top:14px;font-family:var(--atelier-serif);font-size:3rem;line-height:1}.metric-card p{margin:12px 0 0;color:var(--atelier-muted);line-height:1.55}.dashboard-skeleton{position:relative;display:inline-block;overflow:hidden;background:rgba(173,179,180,.24)}.dashboard-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);animation:dashboard-skeleton-shimmer 1.4s ease-in-out infinite}.dashboard-skeleton-value{width:2.2ch;height:1em;vertical-align:-.08em}.dashboard-skeleton-row{pointer-events:none}.dashboard-skeleton-icon{border:0}.dashboard-skeleton-copy{flex:1 1;display:grid;grid-gap:10px;gap:10px}.dashboard-skeleton-line{width:min(240px,72%);height:14px}.dashboard-skeleton-line.short{width:min(180px,48%);height:12px}@keyframes dashboard-skeleton-shimmer{to{transform:translateX(100%)}}.sections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.section-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.list{display:grid;grid-gap:12px;gap:12px}.list-row{display:flex;gap:14px;align-items:center;padding:14px;background:var(--atelier-surface-low);border:1px solid rgba(173,179,180,.3)}.list-row-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;background:var(--atelier-surface-high);color:var(--atelier-primary);font-family:var(--atelier-serif);font-size:1.25rem}.list-row h3,.list-row p{margin:0}.list-row h3{font-size:1.02rem}.list-row p{margin-top:5px;color:var(--atelier-muted);line-height:1.45;font-size:.94rem}.list-row-meta{color:var(--atelier-subtle);text-transform:uppercase;letter-spacing:.12rem;font-size:.7rem}.empty-state{padding:18px;color:var(--atelier-muted);background:var(--atelier-surface-low);border:1px solid rgba(173,179,180,.3)}.loading-state{display:grid;place-items:center;min-height:100vh;padding:32px}.loading-card{width:min(540px,100%);padding:28px;text-align:center}.status-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}.shell-page{min-height:100vh;padding:24px}.shell-layout{width:min(1440px,100%);margin:0 auto;display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:24px;gap:24px}.shell-layout.topbar-layout{grid-template-columns:minmax(0,1fr)}.shell-rail{padding:24px 22px;display:flex;flex-direction:column;gap:24px;position:-webkit-sticky;position:sticky;top:24px;align-self:start}.shell-brand{display:flex;gap:14px;align-items:center}.shell-nav{display:grid;grid-gap:8px;gap:8px}.shell-mobile-link,.shell-nav-link{display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid rgba(173,179,180,.45);background:transparent;color:var(--atelier-text);transition:background .16s ease,border-color .16s ease,color .16s ease}.shell-mobile-link.active,.shell-nav-link.active{background:var(--atelier-surface-low);border-color:rgba(117,124,125,.55);font-weight:600}.shell-mobile-link:hover,.shell-nav-link:hover{background:var(--atelier-surface-low)}.shell-rail-note{margin-top:auto;padding-top:8px;color:var(--atelier-muted);line-height:1.6;font-size:.95rem}.shell-main{min-width:0;display:grid;grid-gap:10px;gap:10px}.shell-topbar{display:flex;justify-content:flex-end;align-items:center;gap:20px}.mobile-shell-profile,.shell-mobile-brand,.shell-mobile-footer-wrap,.shell-mobile-nav,.shell-topbar.mobile-only{display:none}.shell-mobile-brand.desktop-visible{display:flex}.shell-content{display:grid;grid-gap:12px;gap:12px}.shell-content.tight-shell-content{gap:2px}.page-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.page-header.tight-page-header{margin-bottom:0}.page-header.tight-page-header .shell-title{line-height:.92;margin-bottom:0}.shell-title{font-size:clamp(2.8rem,6vw,5rem)}.shell-title.tournaments-shell-title{font-size:clamp(2.45rem,4.8vw,4.15rem);line-height:.98}.page-header.tournaments-page-header{margin-bottom:-8px}.shell-intro{margin-top:16px;max-width:46rem}.page-header-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.desktop-shell-profile{display:flex}.shell-mobile-footer-wrap{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom, 0px) + 12px);z-index:35}.shell-mobile-more-backdrop{position:fixed;inset:0;border:0;background:linear-gradient(180deg,rgba(72,98,114,.04),rgba(72,98,114,.14));z-index:-1}.shell-mobile-footer{padding:10px 12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.shell-mobile-footer-link{min-height:62px;padding:8px 6px;display:grid;justify-items:center;align-content:center;grid-gap:6px;gap:6px;border:0;border-radius:18px;background:transparent;color:var(--atelier-muted);text-align:center;transition:background .16s ease,color .16s ease}.shell-mobile-footer-link .action-icon{width:20px;height:20px}.shell-mobile-footer-link span{font-size:.79rem;line-height:1.2}.shell-mobile-footer-link.active{font-weight:600}.shell-mobile-footer-link.active,.shell-mobile-footer-link:hover{background:var(--atelier-surface-low);color:var(--atelier-text)}.shell-mobile-more-menu{margin:0 auto 10px;width:min(100%,420px);padding:12px 0 calc(16px + env(safe-area-inset-bottom, 0px));border-radius:28px 28px 24px 24px;background:radial-gradient(circle at top right,rgba(72,98,114,.08),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.99));border:1px solid rgba(173,179,180,.45);box-shadow:var(--atelier-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.shell-mobile-more-links{display:grid;grid-gap:0;gap:0}.shell-mobile-more-handle{width:52px;height:5px;border-radius:999px;margin:0 auto 12px;background:rgba(117,124,125,.38)}.shell-mobile-more-link{min-height:78px;padding:16px 18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;color:var(--atelier-text);background:transparent;border-top:1px solid rgba(173,179,180,.32);transition:background .16s ease,color .16s ease}.shell-mobile-more-links .shell-mobile-more-link:first-child{border-top:0}.shell-mobile-more-link.active,.shell-mobile-more-link:hover{background:var(--atelier-surface-low)}.shell-mobile-more-icon{width:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--atelier-text)}.shell-mobile-more-active .action-icon,.shell-mobile-more-icon .action-icon{width:18px;height:18px;flex:0 0 auto}.shell-mobile-more-copy{min-width:0;display:grid;grid-gap:3px;gap:3px}.shell-mobile-more-title{font-size:1rem;font-weight:600;line-height:1.2}.shell-mobile-more-description{color:var(--atelier-muted);font-size:.88rem;line-height:1.35}.shell-mobile-more-active{width:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--atelier-text)}.shell-topnav{display:flex;flex-wrap:wrap;gap:8px;padding:14px}.shell-topnav-link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid rgba(173,179,180,.45);background:transparent;color:var(--atelier-text);transition:background .16s ease,border-color .16s ease,color .16s ease}.shell-topnav-link.active{border-color:rgba(117,124,125,.55);font-weight:600}.shell-topnav-link.active,.shell-topnav-link:hover{background:var(--atelier-surface-low)}.dashboard-link-button,.placeholder-link,.shell-inline-link{display:inline-flex;align-items:center;justify-content:center}.placeholder-panel{padding:28px;display:grid;grid-gap:18px;gap:18px}.page-subnav-panel,.table-panel{padding:22px;display:grid;grid-gap:18px;gap:18px}.table-toolbar{display:flex;gap:14px;align-items:center}.players-toolbar{align-items:flex-start}.players-toolbar-actions{margin-left:auto;display:flex;align-items:flex-start;gap:10px}.players-toolbar-action-list{display:flex;flex-wrap:wrap;gap:12px}.tournament-detail-actions.compact{align-items:stretch}.tournament-detail-actions.compact .icon-action-button{align-self:stretch}.tournament-detail-action-list{display:flex;flex-wrap:wrap;gap:12px}.table-inline-status{color:var(--atelier-muted);font-size:.82rem;letter-spacing:.18em;text-transform:uppercase}.search-field{flex:1 1;min-width:0;display:flex;align-items:center;gap:10px;padding:0 16px;min-height:52px;border:1px solid rgba(173,179,180,.55);background:var(--atelier-surface)}.search-field input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--atelier-text);padding:0;outline:none}.search-icon{color:var(--atelier-subtle);font-size:1.25rem}.table-surface{border:1px solid rgba(173,179,180,.3);background:var(--atelier-surface)}.player-mobile-row,.player-table-header,.player-table-row{display:grid;grid-template-columns:minmax(0,2.4fr) repeat(2,minmax(0,.72fr)) minmax(0,.85fr) minmax(0,.9fr);align-items:center}.player-table-header.with-selection,.player-table-row.with-selection{grid-template-columns:minmax(52px,.42fr) minmax(0,2.4fr) repeat(2,minmax(0,.72fr)) minmax(0,.85fr) minmax(0,.9fr)}.tournament-table-header,.tournament-table-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.72fr) minmax(0,.72fr);align-items:center}.workspace-table-header,.workspace-table-row{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr) minmax(0,.95fr) minmax(0,.7fr) minmax(0,.72fr) minmax(0,.72fr);align-items:center}.roster-table-header,.roster-table-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,.7fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.75fr);align-items:center}.roster-table-header.with-selection,.roster-table-row.with-selection{grid-template-columns:minmax(52px,.42fr) minmax(0,2fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,.7fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.75fr)}.rounds-table-header,.rounds-table-row{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,.72fr) minmax(0,1.8fr) minmax(0,.82fr) minmax(0,.72fr) minmax(0,1fr);align-items:center}.player-table-header.compact{grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,.62fr))}.player-table-header,.roster-table-header,.rounds-table-header,.tournament-table-header,.workspace-table-header{min-height:60px;background:var(--atelier-surface-low);border-bottom:1px solid rgba(173,179,180,.3)}.table-header-spacer,.table-sort-header{min-height:60px;padding:0 18px;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;text-transform:uppercase;letter-spacing:.18rem;color:var(--atelier-muted);font-size:.73rem;cursor:pointer}.table-header-spacer{cursor:default}.sort-icon{font-size:.95rem;letter-spacing:0}.player-mobile-row+.player-mobile-row,.player-row-wrap+.player-row-wrap,.roster-mobile-row+.roster-mobile-row,.tournament-mobile-row+.tournament-mobile-row,.workspace-mobile-row+.workspace-mobile-row{border-top:1px solid rgba(173,179,180,.16)}.player-table-row,.roster-table-row,.rounds-table-row,.tournament-table-row,.workspace-table-row{min-height:76px}.player-table-row.expanded,.roster-table-row.expanded,.rounds-table-row.expanded,.tournament-table-row.expanded,.workspace-table-row.expanded{background:var(--atelier-surface-low)}.player-data-cell,.player-mobile-row,.player-name-cell{border:0;background:transparent;color:var(--atelier-text)}.player-mobile-row{min-height:72px;padding:0 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;text-align:left}.player-mobile-row.with-selection,.roster-mobile-row.with-selection{grid-template-columns:auto minmax(0,1fr) auto}.roster-mobile-row,.round-mobile-row,.tournament-mobile-row,.workspace-mobile-row{border:0;background:transparent;color:var(--atelier-text);min-height:72px;padding:0 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;text-align:left;text-decoration:none}.mobile-row-main,.player-mobile-main{min-width:0;display:grid;grid-gap:4px;gap:4px}.mobile-row-meta{min-width:0;display:block;color:var(--atelier-muted);font-size:.82rem;line-height:1.35}.mobile-row-side.mobile-row-side-stack{display:grid;grid-gap:2px;gap:2px;justify-items:end;white-space:normal}.mobile-row-side-value{color:var(--atelier-text);font-size:.9rem;line-height:1.1}.mobile-row-side-label,.mobile-row-side-meta{font-size:.72rem;line-height:1.2}.mobile-row-side-meta{color:var(--atelier-muted)}.mobile-row-side-badge{justify-self:end}.mobile-row-side{justify-self:end;text-align:right;color:var(--atelier-muted);font-size:.8rem;white-space:nowrap}.player-name-cell{min-width:0;min-height:76px;padding:0 18px;display:flex;align-items:center;gap:10px;text-align:left}.player-chevron{flex:0 0 auto;color:var(--atelier-subtle);font-size:1rem}.player-name-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--atelier-serif);font-size:1.16rem;line-height:1.2}.player-data-cell{min-height:76px;padding:0 18px;display:inline-flex;align-items:center;text-align:left;color:var(--atelier-text);font-size:.98rem}.workspace-current-cell,.workspace-player-cell{justify-content:flex-start}.player-data-cell.online{gap:10px}.presence-dot{width:8px;height:8px;border-radius:999px;background:var(--atelier-outline)}.presence-dot.active{background:var(--atelier-primary)}.online-badge-row{display:flex;align-items:center;gap:8px}.id-badge,.value-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:1px solid rgba(173,179,180,.45);background:var(--atelier-surface-low);font-size:.82rem}.table-muted{color:var(--atelier-muted);font-size:.9rem}.expanded-panel{padding:20px 22px 22px;border-top:1px solid rgba(173,179,180,.22);background:rgba(255,255,255,.68);display:grid;grid-gap:18px;gap:18px}.expanded-panel-heading{display:flex;gap:14px;align-items:flex-start}.expanded-panel-heading h3,.expanded-panel-heading p{margin:0}.expanded-panel-heading h3{font-family:var(--atelier-serif);font-size:2rem}.expanded-panel-heading p{margin-top:8px;color:var(--atelier-muted)}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.detail-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-item{padding:16px;border:1px solid rgba(173,179,180,.28);background:var(--atelier-surface)}.detail-item.compact{padding:12px}.detail-item h3{margin:10px 0 0;font-family:var(--atelier-serif);font-size:1.55rem;line-height:1}.detail-item.compact h3{font-size:1.2rem}.detail-label{margin:0;text-transform:uppercase;letter-spacing:.2rem;color:var(--atelier-muted);font-size:.72rem}.detail-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.detail-copy,.detail-empty{margin:0;color:var(--atelier-muted);line-height:1.7}.value-list{display:flex;flex-wrap:wrap;gap:8px}.external-link-list{display:grid;grid-gap:10px;gap:10px}.external-link-row{gap:10px}.external-link-row,.table-pagination{display:flex;flex-wrap:wrap;align-items:center}.table-pagination{justify-content:space-between;gap:16px}.table-pagination p{margin:0;color:var(--atelier-muted)}.tournaments-toolbar,.tournaments-toolbar-actions{flex-wrap:wrap;align-items:center}.tournaments-toolbar-actions{margin-left:auto;display:flex;justify-content:flex-end;gap:12px}.toggle-chip{min-height:52px;display:inline-flex;align-items:center;gap:10px;padding:0 14px;border:1px solid rgba(173,179,180,.55);background:var(--atelier-surface);color:var(--atelier-text)}.toggle-chip.active{background:rgba(72,98,114,.08);border-color:rgba(72,98,114,.35)}.toggle-chip input{margin:0}.tournament-filter-select input,.tournament-filter-select select{min-width:140px;min-height:44px;padding:0 10px;border:1px solid rgba(173,179,180,.65);background:var(--atelier-surface)}.detail-link{color:var(--atelier-secondary);text-decoration:underline;text-underline-offset:.16rem;word-break:break-word}.tournament-hero{padding:24px;display:grid;grid-gap:18px;gap:18px}.tournament-operations-panel{display:grid;grid-gap:16px;gap:16px}.tournament-ops-summary{margin-top:4px}.tournament-ops-note{margin-top:-4px}.roster-summary-row{display:flex;flex-wrap:wrap;gap:8px}.compact-stat{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid rgba(173,179,180,.35);background:var(--atelier-surface-low)}.compact-stat span{text-transform:uppercase;letter-spacing:.16rem;color:var(--atelier-muted);font-size:.66rem}.compact-stat strong{font-size:.92rem}.admin-form{display:grid;grid-gap:16px;gap:16px}.form-error{margin:0;color:#9f403d}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.expanded-panel-heading.compact .compact-name{font-size:1.5rem}.workspace-round-title{font-size:1.25rem}.table-pagination-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-size-select{display:flex;align-items:center;gap:8px;color:var(--atelier-muted);font-size:.95rem}.page-size-select select{min-width:86px;min-height:44px;padding:0 10px;border:1px solid rgba(173,179,180,.65);background:var(--atelier-surface)}.pagination-button{min-width:112px}.player-mobile-name{display:flex;align-items:center;gap:10px;min-width:0}.player-mobile-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--atelier-serif);font-size:1rem}.profile-stack{display:grid;grid-gap:20px;gap:20px}.workspace-section-panel{padding:24px;display:grid;grid-gap:18px;gap:18px}.workspace-switcher-panel{display:flex;align-items:center;padding:18px 24px;min-height:0}.workspace-feature-panel{align-content:start}.section-panel-intro{margin-top:12px;max-width:52rem}.workspace-tab-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.workspace-home-tab-row{width:100%;min-height:0}.workspace-tab{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;flex:0 0 auto;min-height:56px;padding:0 18px;border:1px solid rgba(173,179,180,.45);background:var(--atelier-surface-low);color:var(--atelier-text);font-family:var(--atelier-serif);font-size:1.02rem;line-height:1.1;white-space:nowrap}.workspace-home-tab{height:72px;min-height:72px;max-height:72px;padding:0 32px}.workspace-tab.active{background:rgba(59,64,69,.9);color:#fff}.workspace-row-pin{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;color:var(--atelier-subtle)}.workspace-initial-chip,.workspace-inline-player,.workspace-missing-chip,.workspace-pin-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;padding:0 .5rem;border:1px solid rgba(173,179,180,.45);background:var(--atelier-surface-low);color:var(--atelier-text);text-decoration:none;font-family:var(--atelier-serif);font-size:.9rem}.workspace-inline-player{margin-left:.45rem}.workspace-inline-player,.workspace-pin-chip{min-width:1.8rem;min-height:1.8rem}.workspace-mobile-name{display:flex;align-items:center;gap:8px;min-width:0}.workspace-detail-hero{gap:20px}.workspace-dialog-backdrop{position:fixed;inset:0;z-index:60;background:rgba(45,52,53,.35);display:grid;place-items:center;padding:24px}.workspace-dialog{width:min(860px,100%);max-height:min(88vh,920px);overflow:auto;padding:24px;display:grid;grid-gap:18px;gap:18px}.workspace-form{display:grid;grid-gap:16px;gap:16px}.workspace-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.workspace-form select,.workspace-form textarea{width:100%;padding:14px 16px;border:1px solid rgba(173,179,180,.6);background:var(--atelier-surface);color:var(--atelier-text);outline:none}.workspace-form textarea{resize:vertical;min-height:120px}.tournament-form-span-2{grid-column:span 2}.compact-inline-note{min-height:56px;padding:12px 14px;display:grid;align-content:center;grid-gap:4px;gap:4px;background:var(--atelier-surface-low)}.compact-inline-note strong{font-size:1rem}.compact-inline-note span{color:var(--atelier-muted);font-size:.9rem}.roster-selection-bar{margin-bottom:16px;padding:14px 16px;display:grid;grid-gap:10px;gap:10px;background:var(--atelier-surface-low)}.roster-selection-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.table-selection-cell,.table-selection-header{min-height:100%;display:inline-flex;align-items:center;justify-content:center;padding:0 8px}.table-selection-cell span,.table-selection-header span{font-size:1.2rem;line-height:1}.mobile-selection-indicator{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;font-size:1.15rem}.online-tournaments-list{display:grid;grid-gap:14px;gap:14px}.online-tournament-card{border:1px solid rgba(173,179,180,.3);background:var(--atelier-surface);padding:14px;display:grid;grid-gap:8px;gap:8px}.online-tournament-card-topline{display:flex;flex-wrap:wrap;gap:10px;color:var(--atelier-muted);font-size:.92rem}.online-tournament-card h3,.player-online-link{font-family:var(--atelier-display);font-size:1.15rem;color:var(--atelier-text)}.player-online-link{text-decoration:none}.player-online-link:hover{text-decoration:underline}.value-chip-link{text-decoration:none;color:var(--atelier-text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;white-space:nowrap}.workspace-picker-results{display:grid;grid-gap:8px;gap:8px;max-height:260px;overflow:auto;padding-right:4px}.settings-hero{padding:24px}.settings-hero-grid{align-items:start}.settings-subcopy{margin-top:12px;max-width:42rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.settings-span-2{grid-column:1/-1}.settings-pairs{gap:18px}.settings-pair{display:grid;grid-gap:6px;gap:6px}.settings-pair strong{font-size:1rem;word-break:break-word}.settings-pair .detail-link{overflow-wrap:anywhere}.settings-form{margin-top:10px}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-field{display:grid;grid-gap:8px;gap:8px}.settings-field input,.settings-field select,.settings-field textarea{width:100%;padding:14px 16px;border:1px solid rgba(173,179,180,.6);background:var(--atelier-surface);color:var(--atelier-text);outline:none}.settings-field textarea{resize:vertical;min-height:132px}.settings-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.settings-actions-compact{align-items:stretch}.settings-message{margin:0;color:var(--atelier-muted)}.settings-connection-row{display:grid;grid-template-columns:minmax(0,1.6fr) auto;grid-gap:16px;gap:16px;align-items:center}.admin-header-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.admin-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.18rem .7rem;border:1px solid rgba(173,179,180,.45);background:var(--atelier-surface-low);color:var(--atelier-text);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.admin-status-pill.success{background:rgba(70,104,78,.12);border-color:rgba(70,104,78,.28)}.admin-status-pill.info{background:rgba(72,98,114,.12);border-color:rgba(72,98,114,.28)}.admin-status-pill.danger{background:rgba(153,77,77,.12);border-color:rgba(153,77,77,.28)}.admin-panel,.admin-tabs-panel{padding:24px}.admin-stack{display:grid;grid-gap:20px;gap:20px}.admin-section-tabs{display:flex;flex-wrap:wrap;gap:12px}.admin-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.admin-card{padding:18px;border:1px solid rgba(173,179,180,.35);background:var(--atelier-surface-low);display:grid;grid-gap:10px;gap:10px}.admin-action-card{align-content:start}.admin-card h3{margin:0;font-family:var(--atelier-serif);font-size:1.45rem;line-height:1.05}.admin-card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-card-topline strong{font-size:1rem}.admin-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-inline-actions input,.admin-inline-actions select{min-height:48px;padding:0 14px;border:1px solid rgba(173,179,180,.45);background:var(--atelier-surface);color:var(--atelier-text)}.admin-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.admin-summary-card{padding:14px;border:1px solid rgba(173,179,180,.35);background:var(--atelier-surface-low);display:grid;grid-gap:6px;gap:6px}.admin-summary-card h3{margin:0;font-family:var(--atelier-serif);font-size:1.8rem;line-height:1}.admin-table-surface{margin-top:6px}.admin-table-header,.admin-table-row{display:grid;grid-template-columns:52px minmax(200px,2fr) minmax(140px,1fr) minmax(120px,.8fr) minmax(80px,.55fr) minmax(140px,.95fr);grid-gap:12px;gap:12px;align-items:center;padding:16px 18px}.admin-table-header{border-bottom:1px solid rgba(173,179,180,.24);background:rgba(72,98,114,.08);color:var(--atelier-muted);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.admin-table-row{border-bottom:1px solid rgba(173,179,180,.18)}.admin-table-header.compact,.admin-table-row.compact{grid-template-columns:48px minmax(0,1.8fr) minmax(0,.9fr) minmax(0,.9fr)}.admin-inline-error{margin-top:6px;color:#994d4d;font-size:.88rem}.admin-definition-list{display:grid;grid-gap:10px;gap:10px}.admin-definition-list div{display:grid;grid-gap:4px;gap:4px}.admin-definition-list dt{color:var(--atelier-muted);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}.admin-definition-list dd{margin:0;overflow-wrap:anywhere}.admin-metadata-block{margin:0;padding:12px 14px;background:var(--atelier-surface);border:1px solid rgba(173,179,180,.22);color:var(--atelier-muted);overflow:auto;font-size:.86rem;white-space:pre-wrap;word-break:break-word}.admin-inline-empty{grid-column:1/-1}.admin-dialog{width:min(920px,100%)}.admin-prompt-stack{display:grid;grid-gap:14px;gap:14px}.admin-prompt-card{padding:16px}.workspace-picker-option{width:100%;padding:12px 14px;border:1px solid rgba(173,179,180,.35);background:var(--atelier-surface-low);color:var(--atelier-text);text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px}.workspace-picker-option.active,.workspace-picker-option:hover{background:rgba(72,98,114,.08);border-color:rgba(72,98,114,.3)}.workspace-picker-option.static{cursor:default}.workspace-picker-option.static:hover{background:var(--atelier-surface-low);border-color:rgba(173,179,180,.35)}.workspace-picker-option span,.workspace-picker-option strong{display:block}.workspace-inline-toggle{justify-content:flex-start;width:-moz-fit-content;width:fit-content}.workspace-detail-headline{display:flex;gap:12px;align-items:flex-start}.workspace-title-stack{min-width:0}.workspace-detail-title{margin:0;font-family:var(--atelier-serif);font-size:clamp(2rem,4vw,3rem);line-height:1}.workspace-detail-meta{margin:10px 0 0;color:var(--atelier-muted);display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.workspace-round-opponent .workspace-round-link{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-round-link{color:var(--atelier-text);text-decoration:underline;text-underline-offset:.12rem;font-size:.96rem}.workspace-round-grid .detail-item.compact h3{font-size:1.06rem}.shell-inline-link.disabled{pointer-events:none;opacity:.48}.workspace-route-actions{margin-top:0}.opening-tab-strip{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.opening-tab-actions{display:inline-flex;align-items:flex-start;justify-content:flex-end;flex:0 0 auto}.workspace-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);grid-gap:20px;gap:20px;align-items:start}.workspace-editor-board-panel,.workspace-editor-form-panel{padding:24px;display:grid;grid-gap:18px;gap:18px}.workspace-editor-panel-head h2,.workspace-editor-panel-head p{margin:0}.workspace-editor-panel-head h2{font-family:var(--atelier-serif);font-size:clamp(2rem,2.8vw,2.8rem);line-height:1}.interactive-board-shell{width:100%;display:grid;justify-items:center}.interactive-board-loading{width:min(100%,640px);aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(173,179,180,.28);background:var(--atelier-surface-low);color:var(--atelier-muted)}.opening-history-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.opening-history-pill{flex:0 0 auto;min-height:38px;padding:0 14px;border:1px solid rgba(173,179,180,.35);background:var(--atelier-surface-low);color:var(--atelier-text);font-size:.92rem}.opening-history-pill.active{background:rgba(72,98,114,.12);border-color:rgba(72,98,114,.35)}.opening-inline-note{margin:0}.opening-explorer-stack{display:grid;grid-gap:20px;gap:20px}.opening-tab-row{flex:1 1 auto;min-width:0}.opening-games-panel,.opening-setup-panel,.opening-stats-panel{padding:24px;display:grid;grid-gap:18px;gap:18px}.opening-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.opening-setup-card{padding:20px;border:1px solid rgba(173,179,180,.28);background:var(--atelier-surface-low);display:grid;grid-gap:14px;gap:14px;align-content:start}.opening-upload-panel{gap:16px}.opening-upload-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.opening-upload-actions{justify-content:flex-start}.opening-search-field{padding-right:12px}.opening-player-results{display:grid;grid-gap:8px;gap:8px;max-height:320px;overflow:auto;padding-right:4px}.opening-player-option{width:100%;text-align:left;padding:12px 14px;border:1px solid rgba(173,179,180,.35);background:var(--atelier-surface);display:grid;grid-gap:6px;gap:6px}.opening-player-option.active,.opening-player-option:hover{background:rgba(72,98,114,.08);border-color:rgba(72,98,114,.35)}.opening-selected-player-card{padding:14px 16px;border:1px solid rgba(173,179,180,.35);background:rgba(72,98,114,.06);display:grid;grid-gap:12px;gap:12px}.opening-selected-copy{min-width:0;display:grid;grid-gap:4px;gap:4px}.opening-clear-selection{justify-self:flex-start}.opening-player-option-name{display:flex;align-items:center;gap:10px;min-width:0;font-weight:600}.opening-player-option-name span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opening-file-input{display:none}.opening-filter-group{display:grid;grid-gap:10px;gap:10px}.opening-chip-row{display:flex;flex-wrap:wrap;gap:8px}.opening-candidate-chip,.opening-id-chip,.opening-time-chip{background:var(--atelier-surface);cursor:pointer}.opening-id-chip.active,.opening-time-chip.active{background:rgba(72,98,114,.1);border-color:rgba(72,98,114,.38);color:var(--atelier-text)}.opening-inline-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.opening-import-summary{display:flex;flex-wrap:wrap;gap:10px}.opening-explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);grid-gap:20px;gap:20px;align-items:start}.opening-board-panel,.opening-moves-panel{padding:24px;display:grid;grid-gap:18px;gap:18px}.opening-player-side{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.opening-player-side h2{margin:0;font-family:var(--atelier-serif);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1}.opening-side-toggle{display:inline-flex;border:1px solid rgba(173,179,180,.45);background:var(--atelier-surface-low)}.opening-side-toggle button{min-width:132px;min-height:60px;border:0;background:transparent;color:var(--atelier-text);font-family:var(--atelier-serif);font-size:1rem;font-weight:600}.opening-side-toggle button.active{background:rgba(59,64,69,.9);color:#fff}.opening-side-toggle button:disabled{opacity:.45;cursor:not-allowed}.opening-board-wrap{display:grid;justify-content:center;width:100%}.opening-board-grid{width:min(100%,640px);aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);border:1px solid rgba(173,179,180,.28);overflow:hidden}.opening-square{display:grid;place-items:center}.opening-square.light{background:#d8dcdd}.opening-square.dark{background:#bcc3c4}.opening-piece{font-size:clamp(1.45rem,4vw,3rem);line-height:1}.opening-board-actions{display:flex;align-items:center;flex-wrap:wrap}.opening-position-count{color:var(--atelier-muted);font-family:var(--atelier-serif);font-size:clamp(1.2rem,2vw,1.9rem);line-height:1.15}.opening-moves-panel h2{margin:0;font-family:var(--atelier-serif);font-size:clamp(1.9rem,3vw,2.8rem);line-height:1}.opening-subcopy{margin-top:-6px;font-size:.98rem}.opening-move-list{display:grid;grid-gap:10px;gap:10px}.opening-move-card{text-align:left;padding:12px 14px;border:1px solid rgba(173,179,180,.38);background:var(--atelier-surface-low);display:grid;grid-gap:8px;gap:8px}.opening-move-card.good{border-color:rgba(72,98,114,.35)}.opening-move-card.warning{border-color:rgba(159,64,61,.28)}.opening-move-top,.opening-result-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.opening-move-top strong{font-family:var(--atelier-serif);font-size:1.65rem;line-height:1}.opening-move-top span,.opening-result-line span{color:var(--atelier-muted);font-size:.92rem}.opening-result-line span:first-child{color:var(--atelier-danger);font-weight:600}.opening-score-bar{height:10px;display:flex;overflow:hidden;background:rgba(173,179,180,.2)}.opening-score-bar .segment{height:100%}.segment.good{background:var(--atelier-primary)}.segment.balanced{background:var(--atelier-secondary)}.segment.warning{background:#c54d45}.opening-opening-label{margin:0;color:var(--atelier-muted);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opening-stats-columns{align-items:start}.opening-games-panel .section-header{margin-bottom:0}.opening-game-list{display:grid;grid-gap:12px;gap:12px}.opening-game-card{padding:18px;border:1px solid rgba(173,179,180,.3);background:var(--atelier-surface-low);display:grid;grid-gap:8px;gap:8px}.opening-game-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.opening-game-card p,.opening-game-head h3{margin:0}.opening-game-head h3{font-family:var(--atelier-serif);font-size:1.45rem}.profile-hero,.profile-section{padding:24px}.profile-title{font-size:clamp(2.25rem,4vw,3.2rem)}.profile-subtitle{margin-top:12px}.profile-stat-band{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}.profile-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.profile-group+.profile-group{margin-top:18px}.identity-list{margin:18px 0 0;display:grid;grid-gap:14px;gap:14px}.identity-list div{display:grid;grid-template-columns:160px 1fr;grid-gap:14px;gap:14px}.identity-list dt{color:var(--atelier-muted)}.identity-list dd,.identity-list dt{margin:0}.notes-list{margin:18px 0 0;padding-left:18px;color:var(--atelier-muted);line-height:1.7}.compact-notes{margin-top:12px;font-size:.94rem;line-height:1.5}.profile-meta-grid{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.section-actions{display:flex;flex-wrap:wrap;gap:10px}.google-search-results{display:grid;grid-gap:12px;gap:12px}.google-search-result-card{padding:14px 16px;display:grid;grid-gap:8px;gap:8px}.google-search-result-card,.prompt-preview{border:1px solid rgba(173,179,180,.28);background:var(--atelier-surface-low)}.prompt-preview{padding:16px;overflow-x:auto}.prompt-preview pre{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit;color:var(--atelier-text);line-height:1.65}.player-refresh-grid{display:flex;flex-wrap:wrap;gap:12px}.summary-toggle{min-width:112px}@media (max-width:1120px){.hero-capabilities,.hero-grid,.hero-panel-grid,.metric-grid,.sections-grid{grid-template-columns:1fr}.stat-list{justify-content:flex-start}.topbar{flex-direction:column}.shell-layout{grid-template-columns:1fr}.shell-rail{display:none}.shell-topbar{justify-content:space-between;flex-wrap:wrap}.shell-topbar.mobile-only{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.shell-mobile-brand,.shell-mobile-nav{display:flex}.shell-mobile-footer-wrap{display:grid;grid-gap:10px;gap:10px;align-items:end}.shell-mobile-brand{align-items:center;gap:12px;justify-content:flex-start;margin-right:auto}.shell-mobile-brand.desktop-visible,.shell-mobile-nav{display:none}.page-header{flex-direction:column}.desktop-shell-profile{display:none}.mobile-shell-profile{display:flex}.detail-pairs,.profile-columns,.profile-meta-grid{grid-template-columns:1fr}.detail-grid,.detail-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.opening-inline-form-grid,.opening-setup-grid,.opening-stats-columns,.settings-connection-row,.settings-grid{grid-template-columns:1fr}.opening-explorer-layout{grid-template-columns:minmax(0,1fr) minmax(230px,310px)}.admin-card-grid,.admin-summary-grid,.workspace-editor-layout{grid-template-columns:1fr}}@media (max-width:720px){.page-shell{padding:18px}.hero-copy,.hero-panel,.login-panel,.metric-card,.section-card{padding:22px}.brand-badge{width:44px;height:44px;font-size:1.35rem}.display-title{font-size:3.1rem}.actions,.hero-panel-actions{flex-direction:column}.opening-board-actions{flex-direction:row;flex-wrap:nowrap;gap:8px;justify-content:space-between}.opening-board-actions .icon-action-button{width:44px;min-width:44px;flex:1 1}.button-ghost,.button-primary,.button-secondary{width:100%}.user-card{min-width:0;width:100%}.shell-page{padding:16px 16px 104px}.shell-topbar{justify-content:space-between;align-items:center}.shell-signout{display:none}.shell-profile-popover{min-width:min(280px,calc(100vw - 32px));right:0}.mobile-shell-profile .shell-profile-popover,.shell-topbar.mobile-only .shell-profile-popover{right:0}.shell-mobile-footer-wrap{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom, 0px) + 12px)}.shell-title{font-size:2.9rem}.placeholder-panel,.profile-hero,.profile-section,.settings-hero,.table-panel{padding:18px}.settings-hero-grid{gap:16px}.settings-pairs{gap:14px}.settings-pair{padding-bottom:10px;border-bottom:1px solid rgba(173,179,180,.18)}.settings-pair:last-child{padding-bottom:0;border-bottom:0}.stat-list{display:grid;grid-template-columns:1fr}.stat-badge{justify-content:space-between;width:100%}.shell-topnav{display:none}.player-table-header,.roster-table-header,.rounds-table-header,.tournament-table-header,.workspace-table-header{min-height:52px}.table-header-spacer,.table-sort-header{min-height:52px;padding:0 12px;font-size:.64rem;letter-spacing:.12rem}.player-mobile-row{min-height:76px;padding:12px}.player-mobile-row.with-selection{grid-template-columns:auto minmax(0,1fr) auto}.player-mobile-name-text{font-size:.94rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.roster-mobile-row,.round-mobile-row,.tournament-mobile-row,.workspace-mobile-row{min-height:76px;padding:12px;grid-template-columns:minmax(0,1fr) auto}.roster-table-header,.rounds-table-header,.tournament-table-header,.workspace-table-header{display:none}.roster-table-row,.rounds-table-row,.tournament-table-row,.workspace-table-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.95fr) minmax(0,.85fr)}.tournaments-toolbar{align-items:stretch}.table-pagination-controls,.tournaments-toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.tournaments-toolbar-actions{margin-left:0;width:100%;align-items:stretch;justify-content:stretch}.players-toolbar{align-items:stretch}.players-toolbar-actions.compact{margin-left:0;flex-direction:column;align-items:stretch}.players-toolbar-actions.compact .icon-action-button{align-self:flex-end}.players-toolbar-action-list{width:100%;justify-content:flex-end}.players-toolbar-actions.compact .players-toolbar-action-list{display:grid;grid-template-columns:repeat(3,minmax(0,48px));justify-content:end}.tournament-detail-actions.compact{flex-direction:column;align-items:stretch}.tournament-detail-actions.compact .tournament-detail-action-list{display:grid;grid-template-columns:repeat(3,minmax(0,48px));justify-content:stretch}.tournament-detail-actions.compact .tournament-detail-action-list .dashboard-link-button,.tournament-detail-actions.compact .tournament-detail-action-list .icon-action-button{width:100%;min-width:0}.workspace-round-actions.compact{flex-direction:column;align-items:stretch}.workspace-round-actions.compact .workspace-round-action-list{display:grid;grid-template-columns:repeat(4,minmax(0,48px));justify-content:start}.workspace-round-actions.compact .workspace-round-action-list .dashboard-link-button,.workspace-round-actions.compact .workspace-round-action-list .icon-action-button{width:48px;min-width:48px}.roster-mobile-actions.compact{flex-direction:column;align-items:stretch}.roster-mobile-actions.compact .roster-mobile-action-list{display:grid;grid-template-columns:repeat(3,minmax(0,48px));justify-content:start}.roster-mobile-actions.compact .roster-mobile-action-list .dashboard-link-button,.roster-mobile-actions.compact .roster-mobile-action-list .icon-action-button{width:48px;min-width:48px}.tournaments-toolbar .search-field,.tournaments-toolbar .toggle-chip,.tournaments-toolbar .tournament-filter-select{width:100%}.table-pagination-controls .page-size-select{grid-column:1/-1}.pagination-button{min-width:0;width:100%}.detail-grid,.detail-grid.compact,.profile-stat-band,.roster-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stat-band,.roster-summary-row{display:grid;grid-gap:10px;gap:10px}.tournament-hero{padding:18px}.identity-list div{grid-template-columns:1fr;gap:4px}.page-subnav-panel,.workspace-section-panel,.workspace-switcher-panel{padding:18px}.workspace-tab-row{gap:10px}.workspace-tab{width:100%;justify-content:center}.opening-tab-strip{flex-direction:column;align-items:stretch}.opening-tab-row{width:100%}.opening-tab-row .workspace-tab{width:auto;flex:1 1 auto}.opening-tab-actions{width:100%;justify-content:flex-end}.opening-upload-panel-head{flex-direction:column;align-items:stretch}.workspace-home-tab-row{min-height:0}.workspace-home-tab{height:60px;min-height:60px;max-height:60px;padding:0 18px}.workspace-detail-headline{flex-direction:column}.workspace-detail-title{font-size:2.25rem}.workspace-dialog{padding:18px}.workspace-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-form-span-2{grid-column:span 2}.workspace-inline-toggle{width:100%}.opening-board-panel,.opening-games-panel,.opening-moves-panel,.opening-setup-panel,.opening-stats-panel{padding:18px}.opening-explorer-layout{grid-template-columns:1fr}.opening-player-side{gap:12px}.opening-player-side h2{font-size:1.65rem}.opening-side-toggle{width:100%}.opening-side-toggle button{flex:1 1;min-width:0;min-height:54px}.opening-move-top strong{font-size:1.5rem}.opening-game-head,.opening-move-top,.opening-result-line{flex-direction:column;align-items:flex-start}.opening-position-count{width:100%}.workspace-dialog-backdrop{padding:12px}.workspace-form-grid{grid-template-columns:1fr}.tournament-form-span-2{grid-column:auto}.workspace-picker-option{flex-direction:column;align-items:flex-start}.admin-card-topline,.admin-header-meta,.admin-inline-actions{justify-content:flex-start}.admin-panel,.admin-tabs-panel{padding:18px}.admin-inline-actions{display:grid;grid-template-columns:1fr;width:100%}.admin-inline-actions>*{width:100%;min-width:0}.admin-card{padding:16px}.admin-card-topline{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.admin-card-topline .admin-status-pill,.admin-card-topline .table-muted{justify-self:start}.admin-table-header,.admin-table-row{grid-template-columns:48px minmax(0,1.8fr) minmax(0,.9fr) minmax(0,.9fr)}.admin-table-row{padding:14px 12px;gap:10px}.admin-table-header{padding:12px}.workspace-editor-board-panel,.workspace-editor-form-panel{padding:18px}}.compact-panel-section{padding-bottom:20px}.compact-panel-header{align-items:flex-start}.compact-panel-section:not(.open){padding-bottom:0}.compact-panel-section:not(.open) .section-header{margin-bottom:0}