.header-nav{gap:.15rem}.header-section-link .hub-icon{color:var(--accent);opacity:.85;font-size:.95rem;line-height:1}.header-section.active .header-section-link .hub-icon{opacity:1}.header-play-cta{letter-spacing:.01em;white-space:nowrap;border-radius:10px;min-height:38px;padding:.45rem 1.05rem;font-weight:800}.header-section .hub-dropdown{gap:.1rem;min-width:320px;padding:.55rem}.hub-dropdown-blurb{color:var(--text-faint);letter-spacing:.02em;margin:.15rem .6rem .45rem;font-size:.72rem}.header-dropdown.hub-dropdown a{white-space:normal;gap:.1rem;padding:.55rem .7rem;display:grid}.header-dropdown.hub-dropdown a strong{color:var(--text);font-size:.88rem;font-weight:700}.header-dropdown.hub-dropdown a small{color:var(--text-faint);font-size:.72rem;line-height:1.35}.header-dropdown.hub-dropdown a.active{box-shadow:inset 3px 0 0 var(--accent)}.account-dropdown{min-width:260px}.account-links{border-top:1px solid var(--border);gap:.05rem;padding:.35rem 0;display:grid}.account-links.secondary{padding-top:.35rem}.account-links a,.account-links .account-import{width:100%;box-shadow:none;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.5rem .75rem;font-size:.86rem;text-decoration:none;display:block}.account-links a:hover,.account-links a.active,.account-links .account-import:hover{background:var(--surface-2);color:var(--text);filter:none;transform:none}.account-theme{border-top:1px solid var(--border)}.notification-trigger{width:40px;height:40px;min-height:40px;color:var(--text-dim);border-radius:10px;place-items:center;display:inline-grid;position:relative;padding:0!important}.notification-trigger:hover,.notification-trigger[aria-expanded=true]{color:var(--text);background:var(--surface-2)}.notification-count{background:var(--bad,#e5484d);color:#fff;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--surface);border-radius:999px;place-items:center;padding:0 4px;font-size:.62rem;font-weight:800;line-height:1;display:grid;position:absolute;top:4px;right:3px}.hub-subnav{border-top:1px solid var(--border);background:var(--surface)}.hub-subnav-inner{scrollbar-width:none;align-items:center;gap:.25rem;width:min(100%,1520px);height:44px;margin:0 auto;padding:0 clamp(.75rem,1.7vw,1.5rem);display:flex;overflow-x:auto}.hub-subnav-inner::-webkit-scrollbar{display:none}.hub-subnav-title{border-right:1px solid var(--border);color:var(--text);white-space:nowrap;align-items:center;gap:.4rem;margin-right:.6rem;padding-right:.9rem;font-size:.82rem;font-weight:800;display:inline-flex}.hub-subnav-title span{color:var(--accent)}.hub-subnav a{color:var(--text-dim);white-space:nowrap;border-radius:8px;flex:none;padding:.45rem .75rem;font-size:.82rem;font-weight:600;text-decoration:none;position:relative}.hub-subnav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.hub-subnav a.active{color:var(--text);background:rgba(var(--accent-rgb), .12)}.hub-subnav a.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-4px;left:.75rem;right:.75rem}:is(body:has(.online-game-room) .hub-subnav,body:has(.play-room) .hub-subnav){display:none}.home-hero{padding-bottom:.4rem}.quick-play{margin:.4rem 0 1.2rem}.quick-play-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem;display:flex}.quick-play-head h2{font:700 1.15rem var(--display);margin:0}.quick-play-head a{font-size:.8rem;font-weight:700}.quick-play-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;display:grid}.quick-play-tile{border:1px solid var(--border);background:linear-gradient(155deg, var(--surface-2), var(--surface));color:var(--text);border-radius:14px;gap:.2rem;padding:1rem 1.05rem;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.quick-play-tile:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-3px);box-shadow:0 14px 30px #00000042}.quick-play-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quick-play-speed{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.quick-play-tile strong{font:800 clamp(1.5rem, 2.6vw, 2rem) var(--mono,var(--display));line-height:1.1}.quick-play-tile small{color:var(--text-faint);font-size:.74rem}.quick-play-tile.speed-blitz{border-color:rgba(var(--accent-rgb), .45);background:radial-gradient(130% 130% at 90% 0, rgba(var(--accent-rgb), .18), transparent 55%), linear-gradient(155deg, var(--surface-2), var(--surface))}.quick-play-tile.computer strong{font-family:var(--display);font-size:clamp(1.25rem,2.2vw,1.6rem)}@media (max-width:900px){.quick-play-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-play-tile.computer{grid-column:1/-1}}.mm-found{animation:.28s ease-out both mmFoundIn}.mm-found-avatar{place-items:center;margin:1.1rem auto .7rem;display:grid}.mm-found-avatar .profile-avatar{width:84px;height:84px;box-shadow:0 0 0 4px rgba(var(--accent-rgb), .35), 0 14px 34px #00000059;border-radius:22px;font-size:1.6rem}.mm-found h2{margin:.2rem 0 .3rem}@keyframes mmFoundIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.mm-found{animation:none}}@media (max-width:700px){.games-table thead{display:none}.games-table,.games-table tbody{width:100%;display:block}.games-table tr{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"opening result""opp link""date speed";gap:.2rem .75rem;padding:.75rem .1rem;display:grid}.games-table td{min-width:0;display:block;border:0!important;max-width:none!important;padding:0!important}.games-table .gt-opening{color:var(--text);text-overflow:ellipsis;white-space:nowrap;grid-area:opening;font-weight:700;overflow:hidden}.games-table .gt-result{grid-area:result;justify-self:end}.games-table .gt-opp{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;grid-area:opp;font-size:.85rem;overflow:hidden}.games-table .gt-link{grid-area:link;justify-self:end;font-size:.85rem}.games-table .gt-date{color:var(--text-faint);grid-area:date;font-size:.75rem}.games-table .gt-speed{color:var(--text-faint);text-transform:capitalize;grid-area:speed;justify-self:end;font-size:.75rem}.games-table .gt-site,.games-table .gt-color,.games-table .gt-analysed{display:none}}.mobile-play-cta{text-align:center;margin:.4rem 0 .6rem}@media (max-width:900px){.header-play-cta,.hub-subnav-title{display:none}.hub-subnav-inner{height:42px;padding-right:2.5rem;-webkit-mask-image:linear-gradient(90deg,#000 86%,#0000);mask-image:linear-gradient(90deg,#000 86%,#0000)}}
:root{--app-chrome:69px}body:has(.hub-subnav){--app-chrome:113px}@media (min-width:901px){.puzzles-page,.endgames-page,.conversion-page,.practice-page{height:calc(100dvh - var(--app-chrome) - 3.7rem)!important}.analysis-page{height:calc(100dvh - var(--app-chrome) - 3.7rem)}}@media (min-width:1001px){.study-workspace{height:calc(100dvh - var(--app-chrome) - 3.7rem)}}@media (min-width:901px){.online-game-room{height:calc(100dvh - var(--app-chrome) - 3.7rem)}.online-game-room .live-board{width:min(100%, calc(100dvh - var(--app-chrome) - 11.5rem))!important}.rated-trainer-hero{align-items:center!important;min-height:0!important;padding-bottom:.55rem!important}.rated-trainer-hero h1{margin:.05rem 0 0!important;font-size:clamp(1.35rem,2.1vw,1.75rem)!important}.rated-trainer-hero p{display:none}.puzzle-principle,.endgame-flow,.mastery-rail{display:none!important}.practice-hero{padding-bottom:.55rem!important}.practice-hero p{display:none}.practice-hero h1{margin:.05rem 0 0!important;font-size:clamp(1.35rem,2.1vw,1.75rem)!important}}@media (max-width:900px){.rated-trainer-page,.practice-page{flex-direction:column;display:flex}.rated-trainer-page>.training-board-standard,.practice-page>.practice-shell{order:-1}.practice-grid>.practice-board-column{order:1!important}.practice-grid>.practice-panel{order:2!important}.rated-trainer-page>.rated-trainer-hero,.practice-page>.practice-hero{border-top:1px solid var(--border);order:1;margin-top:1.1rem;padding-top:.9rem!important}.rated-trainer-hero p,.practice-hero p{font-size:.82rem}.puzzle-principle,.endgame-flow,.mastery-rail{display:none!important}.opening-reader{flex-direction:column;display:flex!important}.opening-reader>.opening-reader-board{order:1}.opening-reader>.opening-reader-book{order:2}.opening-reader>.opening-reader-toc{order:3}.study-workspace-head{gap:.4rem!important;margin-bottom:.35rem!important;padding-bottom:.35rem!important}.study-workspace-head h1{margin:.1rem 0!important;font-size:clamp(1.25rem,6vw,1.6rem)!important}.study-workspace-head p,.study-workspace-head small:not(.page-eyebrow){display:none}.study-chapter-tabs{scrollbar-width:none;padding-bottom:.15rem;overflow-x:auto;flex-wrap:nowrap!important;margin-bottom:.35rem!important}.study-chapter-tabs::-webkit-scrollbar{display:none}.analysis-page-header p,.oe-hero p{display:none}.analysis-page-header,.oe-hero{margin-bottom:.5rem!important;padding-bottom:.5rem!important}.analysis-grid,.learn-board-standard,.review-grid,.oe-layout,.opening-reader-grid{grid-template-columns:minmax(0,1fr)!important}.analysis-grid>*,.learn-board-standard>*,.analysis-grid .pz-panel{min-width:0!important}.ab-controls,.oe-controls,.opening-reader-controls,.book-board-controls{flex-wrap:wrap}.main{padding-inline:.5rem!important}.training-board-standard .training-board-stage{border-radius:10px;padding:.35rem!important}.training-board-standard{gap:.75rem!important}}.review-game-shell{width:100%;container-type:inline-size}.review-game-board{grid-template-columns:minmax(0,1fr);gap:.9rem;display:grid}.review-board-main{flex-direction:column;align-items:center;min-width:0;display:flex}.review-board-side{flex-direction:column;min-width:0;display:flex}.review-controls{align-items:center;gap:.4rem;display:flex}.review-move-counter{margin:.5rem 0;font-size:.78rem}.review-move-list{max-height:180px;font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;font-size:.85rem;line-height:1.9;overflow-y:auto}.review-move-list button{box-shadow:none;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:4px;min-height:0;padding:0 .3rem}.review-move-list button:hover{background:var(--surface-3);transform:none}.review-move-list button.current{background:rgba(var(--accent-rgb), .28);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .55);font-weight:800}@container (min-width:720px){.review-game-board{grid-template-columns:minmax(0,1fr) minmax(250px,300px);align-items:start}.review-board-side{top:calc(var(--app-chrome) + .75rem);position:sticky}.review-move-list{max-height:min(56vh,460px)}}.live-moves .current,.professional-moves .current{background:rgba(var(--accent-rgb), .22);color:var(--text);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .45);border-radius:5px;font-weight:800}.live-moves .current-row,.professional-moves .current-row{background:rgba(var(--accent-rgb), .06);border-radius:6px}.live-moves,.professional-moves,.review-move-list{scroll-behavior:smooth}
.gs-shell{grid-template-columns:minmax(0,1fr) minmax(290px,360px);align-items:start;gap:1rem;width:100%;max-width:1280px;min-height:0;margin:0 auto;display:grid}.gs-board-column{flex-direction:column;gap:.4rem;min-width:0;display:flex}.gs-board{justify-content:center;width:100%;min-width:0;display:flex;position:relative}.gs-player{width:100%;max-width:var(--gs-board,760px);background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;padding:.4rem .5rem .4rem .45rem;display:flex}.gs-player-id{align-items:center;gap:.6rem;min-width:0;display:flex}.gs-avatar .profile-avatar,.gs-engine-avatar{border-radius:9px;flex:none;width:34px;height:34px;font-size:.8rem}.gs-engine-avatar{color:#fff;background:linear-gradient(135deg,#7c9cbf,#4a5b6e);place-items:center;font-size:1.1rem;display:grid}.gs-player-text{min-width:0;line-height:1.2;display:grid}.gs-player-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.gs-player-text small{color:var(--text-faint);white-space:nowrap;gap:.4rem;font-size:.72rem;display:flex;overflow:hidden}.gs-rating{color:var(--text-dim);font-weight:700}.gs-edge{font:700 .72rem var(--mono);color:var(--text-dim);background:var(--surface-2);border-radius:6px;flex:none;padding:.1rem .35rem}.gs-clock{text-align:right;min-width:5.6ch;font:800 clamp(1.25rem, 2.2vw, 1.6rem) var(--mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--text-dim);border-radius:8px;flex:none;padding:.3rem .65rem;transition:background .15s,color .15s}.gs-player.active .gs-clock{background:var(--text);color:var(--bg,#111)}.gs-player.low .gs-clock{color:#fff;background:#c62f2f}.gs-player.low.active .gs-clock{animation:1s ease-in-out infinite gsLowPulse}@keyframes gsLowPulse{50%{background:#e24848}}.gs-live-jump{z-index:5;border:1px solid rgba(var(--accent-rgb), .6);color:#fff;background:#0f0f19e0;border-radius:999px;padding:.45rem .9rem;font-size:.8rem;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.gs-live-jump b{color:rgba(var(--accent-rgb), 1)}.gs-result{z-index:6;text-align:center;border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;justify-items:center;gap:.35rem;width:min(86%,320px);padding:1.2rem 1.1rem 1rem;animation:.25s ease-out both gsResultIn;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 60px #00000080}.gs-result.win{border-color:#58be7899}.gs-result.loss{border-color:#e248488c}.gs-result strong{font:800 1.5rem var(--display)}.gs-result-score{font:800 .8rem var(--mono);color:var(--text-faint);letter-spacing:.1em}.gs-result-reason{color:var(--text-dim);font-size:.85rem}.gs-result-close{width:28px;height:28px;min-height:0;box-shadow:none;color:var(--text-faint);background:0 0;border:0;padding:0;font-size:1.2rem;position:absolute;top:.35rem;right:.45rem}.gs-delta{font:800 .85rem var(--mono);border-radius:999px;padding:.15rem .55rem}.gs-delta.up{color:#5cc97f;background:#5cc97f24}.gs-delta.down{color:#ef6b6b;background:#ef6b6b24}.gs-result-actions{gap:.4rem;width:100%;margin-top:.5rem;display:grid}@keyframes gsResultIn{0%{opacity:0;transform:translate(-50%,-46%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.gs-panel{flex-direction:column;gap:.65rem;min-width:0;display:flex;padding:.9rem!important}.gs-panel-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.gs-panel-head h2{margin:.15rem 0 0;font-size:1.1rem}.gs-head-tools{flex:none;align-items:center;gap:.35rem;display:flex}.gs-chip{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:.2rem .5rem;font-size:.66rem;font-weight:800}.gs-icon{border-radius:8px;width:32px;height:32px;min-height:0;padding:0;font-size:1rem}.gs-banner{border-radius:10px;align-items:center;gap:.55rem;padding:.55rem .7rem;font-size:.8rem;display:flex}.gs-banner.warn{color:var(--text);background:#d69e2e24;border:1px solid #d69e2e73}.gs-spinner{border:2px solid #ffffff40;border-top-color:currentColor;border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite gsSpin}@keyframes gsSpin{to{transform:rotate(360deg)}}.gs-moves{background:var(--surface-2);min-height:120px;max-height:320px;font-family:var(--mono);scroll-behavior:smooth;border-radius:10px;padding:.35rem;font-size:.86rem;overflow-y:auto}.gs-move-row{border-radius:6px;grid-template-columns:2.4rem 1fr 1fr;align-items:center;display:grid}.gs-move-row.current-row{background:rgba(var(--accent-rgb), .06)}.gs-move-no{color:var(--text-faint);padding-left:.3rem;font-size:.78rem}.gs-move-row button{min-height:0;box-shadow:none;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;justify-self:start;padding:.2rem .4rem}.gs-move-row button:hover{background:var(--surface-3);filter:none;transform:none}.gs-move-row button.current{background:rgba(var(--accent-rgb), .28);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .55);font-weight:800}.gs-moves-empty{color:var(--text-faint);font-family:var(--body,inherit);padding:.6rem;font-size:.82rem}.gs-final-score{text-align:center;color:var(--text-dim);padding:.4rem 0 .2rem;display:block}.gs-nav{grid-template-columns:repeat(4,1fr);gap:.3rem;display:grid}.gs-nav button{background:var(--surface-2);border:1px solid var(--border);min-height:34px;color:var(--text-dim);box-shadow:none;border-radius:8px;padding:0;font-size:.95rem}.gs-nav button:hover:not(:disabled){color:var(--text);border-color:var(--accent);filter:none;transform:none}.gs-nav button:disabled{opacity:.45}.gs-message{color:var(--text-dim);margin:0;font-size:.82rem}.gs-actions{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.45rem;display:grid}.gs-action{min-height:40px;font-weight:700}.gs-action.danger{color:#ff8a8a;background:#e2484824;border:1px solid #e2484873}.gs-action.armed{color:#fff!important;background:#c62f2f!important;border-color:#c62f2f!important}.gs-footnote{color:var(--text-faint);font-size:.72rem}.gs-postgame{gap:.45rem;display:grid}.gs-post{border:1px solid var(--border);background:var(--surface-2);min-height:42px;color:var(--text);text-align:center;border-radius:10px;justify-items:center;gap:.1rem;padding:.6rem .8rem;font-weight:700;text-decoration:none;display:grid}.gs-post:hover{border-color:var(--accent);text-decoration:none}.gs-post small{color:var(--text-faint);font-size:.7rem;font-weight:500}.gs-post.primary{background:var(--accent);border-color:var(--accent);color:#fff}.gs-post.primary small{color:#fffc}.gs-post.compact{min-height:36px;padding:.45rem .6rem;font-size:.85rem}.online-game-room .gs-shell,.play-room .gs-shell{height:100%}@media (min-width:901px){.online-game-room .gs-panel,.play-room .gs-panel{max-height:100%;overflow-y:auto}.gs-moves{flex:auto;max-height:none}.gs-panel{max-height:calc(100dvh - var(--app-chrome,59px) - 3.4rem)}}@media (max-width:900px){.gs-shell{grid-template-columns:minmax(0,1fr);gap:.6rem}.gs-board-column{gap:.3rem}.gs-player{padding:.3rem .4rem}.gs-avatar .profile-avatar,.gs-engine-avatar{width:28px;height:28px}.gs-clock{padding:.25rem .5rem;font-size:1.2rem}.gs-panel{padding:.7rem!important}.gs-moves{scrollbar-width:none;flex-wrap:nowrap;order:-1;gap:.1rem;min-height:0;max-height:none;padding:.3rem;display:flex;overflow:auto hidden}.gs-moves::-webkit-scrollbar{display:none}.gs-move-row{flex:none;display:flex;background:0 0!important}.gs-move-no{padding-left:.15rem}.gs-final-score{flex:none;padding:.2rem .5rem}.gs-panel-head{order:-2}.gs-result{width:min(90%,300px);padding:1rem .9rem .85rem}}@media (prefers-reduced-motion:reduce){.gs-result,.gs-player.low.active .gs-clock{animation:none}}
.play-hub{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.1rem;max-width:1180px;margin:0 auto;padding-bottom:2rem;display:grid}.play-hub-main,.play-hub-rail{align-content:start;gap:1rem;min-width:0;display:grid}.play-hub-card{border-radius:16px;gap:1rem;display:grid;padding:1.3rem 1.3rem 1.2rem!important}.play-hub-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.play-hub-head h1{font:700 clamp(1.5rem, 2.6vw, 1.9rem) var(--display);margin:0}.play-mode-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px;display:inline-flex}.play-mode-toggle button{min-height:32px;box-shadow:none;color:var(--text-dim);background:0 0;border:0;border-radius:8px;padding:.3rem .9rem;font-size:.82rem;font-weight:700}.play-mode-toggle button[aria-pressed=true]{background:var(--accent);color:#fff}.play-mode-toggle button:hover{filter:none;transform:none}.play-speeds{gap:.55rem;display:grid}.play-speed-row{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.play-speed-label{line-height:1.2;display:grid}.play-speed-label strong{font-size:.92rem}.play-speed-label small{color:var(--text-faint);font:700 .74rem var(--mono)}.play-speed-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.play-tile{border:1px solid var(--border);min-height:52px;box-shadow:none;background:var(--surface-2);color:var(--text);font:800 1.15rem var(--mono);border-radius:12px;transition:border-color .12s,background .12s,transform .12s}.play-tile:hover{border-color:rgba(var(--accent-rgb), .7);filter:none;transform:translateY(-1px)}.play-tile.selected{border-color:var(--accent);background:rgba(var(--accent-rgb), .18);box-shadow:inset 0 0 0 1px var(--accent)}.play-hub-go{min-height:60px;font:800 1.3rem var(--display);background:linear-gradient(180deg, rgba(var(--accent-rgb), 1), rgba(var(--accent-rgb), .82));color:#fff;box-shadow:0 10px 26px rgba(var(--accent-rgb), .35);border:0;border-radius:14px;justify-content:center;align-items:center;gap:.6rem;display:flex}.play-hub-go small{font:700 .72rem var(--body,inherit);letter-spacing:.08em;text-transform:uppercase;opacity:.85}.play-hub-go.searching{background:var(--surface-2);color:var(--text);box-shadow:none;border:1px solid var(--border);font-size:1.05rem}.play-hub-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.play-secondary{text-align:left;border:1px solid var(--border);background:var(--surface-2);min-height:60px;color:var(--text);box-shadow:none;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem .9rem;text-decoration:none;display:flex}.play-secondary>span:first-child{text-align:center;width:1.6rem;font-size:1.35rem}.play-secondary>span:last-child{line-height:1.25;display:grid}.play-secondary strong{font-size:.92rem}.play-secondary small{color:var(--text-faint);font-size:.74rem;font-weight:500}.play-secondary:hover,.play-secondary.open{border-color:var(--accent);filter:none;text-decoration:none;transform:none}.play-friend{grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;display:grid}.play-friend input,.play-friend select{min-height:42px}.play-hub-status{margin:0;font-size:.82rem}.play-challenges{border:1px solid rgba(var(--accent-rgb), .5);background:rgba(var(--accent-rgb), .08);border-radius:12px;gap:.45rem;padding:.75rem .85rem;display:grid}.play-challenges article{align-items:center;gap:.5rem;display:flex}.play-challenges article>div{flex:1;min-width:0;display:grid}.play-challenges small{color:var(--text-faint);font-size:.74rem}.play-challenges button{min-height:34px;padding:.3rem .8rem;font-size:.82rem}.play-hub-rail .lobby-online{flex-direction:column;align-items:flex-start;gap:.55rem}.play-hub-rail .lobby-online-copy{width:100%}.play-hub-rail .lobby-av{width:34px;height:34px;margin-left:-10px}.play-hub-rail .invite-card{flex-direction:column;align-items:stretch;margin-top:0;padding:1rem 1.1rem}.play-hub-rail .invite-copy{flex:none}.play-hub-rail .invite-card h2{margin:.2rem 0;font-size:1.05rem}.play-hub-rail .invite-card p{font-size:.8rem}.play-hub-rail .invite-actions{gap:.45rem;display:grid}@media (max-width:900px){.play-hub{grid-template-columns:minmax(0,1fr);gap:.9rem}.play-hub-card{gap:.85rem;padding:1rem!important}.play-speed-row{grid-template-columns:minmax(0,1fr);gap:.35rem}.play-speed-label{justify-content:space-between;align-items:baseline;display:flex}.play-tile{min-height:48px;font-size:1.05rem}.play-hub-secondary,.play-friend{grid-template-columns:minmax(0,1fr)}}.game-return-pill{left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--surface);border:1px solid rgba(var(--accent-rgb), .6);max-width:calc(100vw - 24px);color:var(--text);border-radius:999px;align-items:center;gap:.7rem;padding:.55rem .6rem .55rem .9rem;text-decoration:none;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 30px #00000059}.game-return-pill:hover{border-color:var(--accent);text-decoration:none}.game-return-dot{background:#e5484d;border-radius:50%;flex:none;width:10px;height:10px;animation:1.4s ease-in-out infinite game-return-pulse}.game-return-copy{min-width:0;line-height:1.2;display:grid}.game-return-copy strong{white-space:nowrap;font-size:.88rem}.game-return-copy small{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;overflow:hidden}.game-return-go{background:var(--accent);color:#fff;border-radius:999px;flex:none;padding:.45rem .85rem;font-size:.84rem;font-weight:800}@keyframes game-return-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.game-return-dot{animation:none}}.play-home{grid-template-columns:minmax(0,1fr) 300px;max-width:1340px}.play-home .play-hub-main{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:start}.play-home .play-hub-main>*{grid-column:1/-1;min-width:0}.play-home .play-hub-main>.home-tv{grid-column:1}.play-home .play-hub-main>.play-hub-card{grid-column:2}.home-tv{border:1px solid var(--border);background:linear-gradient(160deg, var(--surface-2), var(--panel));border-radius:16px;gap:.45rem;padding:.8rem;display:grid;box-shadow:0 18px 44px #00000047}.home-tv>header,.home-tv>footer{justify-content:space-between;align-items:center;gap:.75rem;padding:0 .15rem;display:flex}.home-tv>header small{color:var(--text-faint);text-transform:capitalize;font-size:.74rem}.home-tv>footer{color:var(--text-dim);padding-top:.15rem;font-size:.8rem}.home-tv>footer a{white-space:nowrap;font-weight:800}.home-tv-live{color:var(--text);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.45rem;font-size:.72rem;font-weight:900;display:inline-flex}.home-tv-live i{background:#e5484d;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite game-return-pulse;box-shadow:0 0 0 3px #e5484d33}.home-tv-live.puzzle i{background:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .2);animation:none}.home-tv-board{cursor:pointer;border-radius:6px;width:100%;line-height:0;display:block;overflow:hidden}.home-tv-board:hover{text-decoration:none}.home-tv-player{align-items:center;gap:.55rem;min-height:38px;display:flex}.home-tv-player .avatar,.home-tv-player img,.home-tv-player>span:first-child{flex:none}.home-tv-name{flex:1;align-items:baseline;gap:.45rem;min-width:0;display:flex}.home-tv-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.home-tv-name small{color:var(--text-faint);font-size:.76rem}.home-tv-clock{font:800 1rem var(--mono);background:var(--surface-3,var(--surface-2));color:var(--text-dim);border-radius:7px;padding:.2rem .55rem}.home-tv-player.active .home-tv-clock{background:var(--text);color:var(--bg)}.home-below{gap:.8rem;display:grid}.home-next{border:1px solid rgba(var(--accent-rgb), .45);background:linear-gradient(110deg, rgba(var(--accent-rgb), .14), var(--panel));color:var(--text);border-radius:14px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.85rem 1rem;text-decoration:none;display:grid}.home-next:hover{border-color:var(--accent);color:var(--text);text-decoration:none}.home-next>i{background:rgba(var(--accent-rgb), .18);width:42px;height:42px;color:var(--accent);border-radius:11px;place-items:center;font:1.3rem Georgia;display:grid}.home-next>span{min-width:0;display:grid}.home-next small{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;font-weight:900}.home-next strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-next>b{color:var(--accent-bright);white-space:nowrap}.home-panel{border:1px solid var(--border);background:var(--panel);border-radius:14px;gap:.55rem;padding:1rem 1.05rem;display:grid}.home-panel>header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.home-panel>header h2{font:700 1.05rem var(--display);margin:0}.home-panel>header a{font-size:.74rem;font-weight:800}.home-games{display:grid}.home-game{border-top:1px solid var(--border);color:var(--text);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.5rem 0;text-decoration:none;display:grid}.home-game:first-child{border-top:0}.home-game:hover{color:var(--accent-bright);text-decoration:none}.home-game>i{background:var(--surface-2);width:28px;height:28px;color:var(--text-dim);border-radius:8px;place-items:center;font-size:.8rem;font-style:normal;font-weight:900;display:grid}.home-game>i.win{color:var(--good);background:#75b79826}.home-game>i.loss{color:var(--bad);background:#dc7b6f26}.home-game>span{min-width:0;display:grid}.home-game strong,.home-game small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-game small{color:var(--text-faint);font-size:.72rem}.home-game>b{color:var(--accent);font-size:.74rem}.home-empty{color:var(--text-dim);margin:0;font-size:.86rem}.home-ratings{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.home-rating{background:var(--surface-2);color:var(--text);border-radius:10px;padding:.55rem .65rem;line-height:1.2;text-decoration:none;display:grid}.home-rating:hover{box-shadow:inset 0 0 0 1px var(--accent);text-decoration:none}.home-rating span{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:800}.home-rating strong{font:800 1.35rem var(--display);color:var(--accent-bright)}.home-rating small{color:var(--text-faint);font-size:.68rem}.home-fide{color:var(--text-dim);margin:0;font-size:.76rem}.home-q{color:var(--text);grid-template-columns:30px 1fr;align-items:center;gap:.6rem;padding:.35rem 0;text-decoration:none;display:grid}.home-q:hover{color:var(--accent-bright);text-decoration:none}.home-q>i{background:var(--surface-2);width:28px;height:28px;color:var(--text-faint);border-radius:8px;place-items:center;font-size:.78rem;font-style:normal;font-weight:900;display:grid}.home-q>i.due{background:rgba(var(--accent-rgb), .16);color:var(--accent)}.home-q>i.done{color:var(--good);background:#75b79824}.home-q>span{line-height:1.2;display:grid}.home-q small{color:var(--text-faint);font-size:.7rem}.home-forms{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:.4rem;padding-top:.35rem;display:grid}.home-forms a{text-align:center;color:var(--text);border-radius:9px;padding:.4rem .2rem;text-decoration:none;display:grid}.home-forms a:hover{background:var(--surface-2);text-decoration:none}.home-forms small{color:var(--text-faint);font-size:.66rem}.home-forms strong{font:800 1.05rem var(--display);color:var(--accent-bright)}@media (max-width:1150px){.play-home{grid-template-columns:minmax(0,1fr)}.play-home .play-hub-rail{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (max-width:860px){.play-home .play-hub-main{grid-template-columns:minmax(0,1fr)}.play-home .play-hub-main>.home-tv,.play-home .play-hub-main>.play-hub-card{grid-column:1}.play-home .play-hub-main>.play-hub-card{order:-1}.home-tv{padding:.6rem}.home-next{grid-template-columns:38px minmax(0,1fr)}.home-next>b{grid-column:2}}.play-tc{gap:.5rem;display:grid;position:relative}.play-tc-toggle{border:1px solid var(--border);width:100%;min-height:60px;box-shadow:none;background:var(--surface-2);color:var(--text);text-align:left;border-radius:12px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.5rem .9rem;display:grid}.play-tc-toggle:hover,.play-tc-toggle.open{border-color:var(--accent);filter:none;transform:none}.play-tc-icon{background:rgba(var(--accent-rgb), .16);width:38px;height:38px;color:var(--accent-bright);border-radius:10px;place-items:center;font-size:1.2rem;display:grid}.play-tc-copy{line-height:1.2;display:grid}.play-tc-copy strong{font:800 1.2rem var(--display)}.play-tc-copy small{color:var(--text-faint);font-size:.74rem}.play-tc-toggle>i{color:var(--text-dim);font-size:.9rem;font-style:normal}.play-tc-menu{z-index:40;overscroll-behavior:contain;border:1px solid var(--accent);background:var(--surface,var(--panel));border-radius:12px;gap:.55rem;max-height:min(460px,70vh);padding:.7rem;animation:.14s ease-out play-tc-in;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 22px 50px #0000008c}@keyframes play-tc-in{0%{opacity:0;transform:translateY(-4px)}}.play-tc-group{gap:.35rem;display:grid}.play-tc-group-head{color:var(--text-dim);justify-content:space-between;align-items:baseline;font-size:.78rem;font-weight:800;display:flex}.play-tc-group-head small{color:var(--text-faint);font:700 .72rem var(--mono)}.play-tc-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;display:grid}.play-tc-options .play-tile{border-radius:8px;min-height:34px;padding:0 .2rem;font-size:.82rem}.play-quick{gap:.5rem;display:grid}.play-quick>header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.play-quick>header strong{font-size:.9rem}.play-quick>header small{color:var(--text-faint);font-size:.72rem}.play-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.play-quick-tile{border:1px solid var(--border);background:var(--surface-2);min-height:58px;color:var(--text);box-shadow:none;border-radius:11px;place-items:center;gap:.1rem;padding:.35rem;line-height:1.1;transition:border-color .12s,background .12s,transform .12s;display:grid}.play-quick-tile strong{font:800 1.12rem var(--mono)}.play-quick-tile small{color:var(--text-faint);font-size:.68rem;font-weight:600}.play-quick-tile:hover:not(:disabled){border-color:var(--accent);background:rgba(var(--accent-rgb), .12);filter:none;transform:translateY(-1px)}.play-quick-tile.selected{border-color:rgba(var(--accent-rgb), .7)}.play-quick-tile.more strong{font-family:var(--display);color:var(--accent-bright);font-size:1rem}.play-quick-tile:disabled{opacity:.55}@media (max-width:860px){.play-quick-tile{min-height:52px}.play-quick-tile strong{font-size:1rem}}.home-tv-board>div{align-items:center}.home-tv-board.interactive{cursor:default}.home-puzzle-foot{flex-wrap:wrap}.home-puzzle-status{color:var(--text);font-weight:700}.home-puzzle-status.wrong{color:var(--bad)}.home-puzzle-status.solved{color:var(--good)}.home-puzzle-status.loading,.home-puzzle-status.empty{color:var(--text-faint);font-weight:500}.home-puzzle-actions{gap:.4rem;display:inline-flex}.home-puzzle-actions button{min-height:32px;padding:.25rem .8rem;font-size:.8rem}.home-puzzle-note{color:var(--text-faint);margin:0;padding:0 .15rem;font-size:.72rem}.home-tv-links{align-items:center;gap:.8rem;display:inline-flex}.home-tv-skip{min-height:0;box-shadow:none;color:var(--text-dim);background:0 0;border:0;padding:0;font-size:.8rem;font-weight:700}.home-tv-skip:hover{color:var(--accent-bright);filter:none;transform:none}.home-tv-board.loading{opacity:.35;filter:grayscale(.6);transition:opacity .2s}
.loop-steps{counter-reset:loop;flex-wrap:wrap;gap:.3rem;margin:.55rem 0 .3rem;padding:0;list-style:none;display:flex}.loop-steps li{counter-increment:loop;border:1px solid var(--border);background:var(--surface-2);color:var(--text-faint);border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .6rem .22rem .3rem;font-size:.74rem;font-weight:700;display:inline-flex}.loop-steps li:before{content:counter(loop);background:var(--surface-3,var(--panel));border-radius:50%;place-items:center;width:18px;height:18px;font-size:.66rem;display:grid}.loop-steps li.done{color:var(--good);border-color:#75b79873}.loop-steps li.done:before{content:"✓";background:#75b7982e}.loop-steps li.current{color:var(--text);border-color:var(--accent);background:rgba(var(--accent-rgb), .12)}.loop-steps li.current:before{background:var(--accent);color:#fff}.loop-steps.compact li{padding:.16rem .5rem .16rem .25rem;font-size:.7rem}.loop-inline small{color:var(--text-dim);font-size:.78rem;display:block}.loop-result{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:.2rem;margin:.7rem 0;padding:.75rem .85rem;display:grid}.loop-result.passed{background:#75b7981a;border-color:#75b79899}.loop-result strong{font-size:.92rem}.loop-result small{color:var(--text-dim);font-size:.78rem}.save-state{color:var(--text-faint);margin-top:.3rem;font-size:.74rem;display:block}.save-state.saved{color:var(--good)}.save-state.failed{color:var(--bad);font-weight:700}.trainer-message.error,.notice.error{color:var(--bad)}.progress-loop{gap:.9rem;margin-bottom:1rem;display:grid}.progress-loop>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.progress-loop>header h2{margin:.2rem 0}.progress-loop>header p{margin:0}.progress-loop-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.progress-loop-steps li{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:.1rem;padding:.75rem .85rem;display:grid;position:relative}.progress-loop-steps li:not(:last-child):after{content:"→";color:var(--text-faint);font-size:.8rem;position:absolute;top:50%;right:-.55rem;transform:translateY(-50%)}.progress-loop-steps li:last-child{border-color:#75b7988c}.progress-loop-steps strong{font:800 1.6rem var(--display);color:var(--accent-bright)}.progress-loop-steps li:last-child strong{color:var(--good)}.progress-loop-steps span{font-size:.86rem;font-weight:800}.progress-loop-steps small{color:var(--text-faint);font-size:.72rem}.progress-loop-foot{color:var(--text-dim);flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.84rem;display:flex}.progress-loop-foot b{color:var(--text)}@media (max-width:760px){.progress-loop-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-loop-steps li:after{display:none}}.progress-evidence{gap:.9rem;margin-bottom:1rem;display:grid}.progress-evidence>header h2{margin:.2rem 0}.progress-evidence>header p{margin:0}.evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.evidence-card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-content:start;gap:.3rem;padding:.9rem 1rem;display:grid}.evidence-card>span{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:800}.evidence-card>strong{font:800 1.55rem var(--display);color:var(--text)}.evidence-card p{color:var(--text-dim);margin:0;font-size:.82rem}.evidence-card ul{color:var(--text-dim);margin:.2rem 0 0;padding-left:1rem;font-size:.78rem}.evidence-card.improved{border-color:#75b7988c}.evidence-card.improved>strong{color:var(--good)}.evidence-card.worse{border-color:#dc7b6f8c}.evidence-card.worse>strong{color:var(--bad)}@media (max-width:900px){.evidence-grid{grid-template-columns:minmax(0,1fr)}}
