@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Source+Sans+3:wght@400;600;700&display=swap";html{overflow-x:clip}:root{color:#1a1a1a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:linear-gradient(145deg,#2c3e50 0%,#1a252f 100%);min-height:100vh;font-family:Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0;overflow-x:clip}body.nav-lock{overflow:hidden}#root{min-height:100vh}.app{max-width:1200px;min-height:100vh;padding:1.25rem max(1rem, env(safe-area-inset-right,0px)) 0 max(1rem, env(safe-area-inset-left,0px));flex-direction:column;margin:0 auto;display:flex;overflow-x:clip}.app-main{flex:auto}.site-header{color:#f5f5f5;z-index:20;border-bottom:1px solid #ffffff1a;flex-wrap:nowrap;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex;position:relative}.site-footer{color:#d8d8d8;border-top:1px solid #ffffff1a;margin-top:2.4rem;padding:1.35rem 0 1.5rem}.footer-grid{grid-template-columns:minmax(0,1.5fr) 1fr 1fr 1fr;gap:1.4rem 2rem;display:grid}.footer-brand p{opacity:.72;max-width:28rem;margin:.7rem 0 0;font-size:.9rem;line-height:1.45}.footer-logo{color:#f3ecd4;align-items:center;gap:.65rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.footer-logo .brand-mark{border-radius:12px;flex-basis:44px;width:44px;height:44px}.footer-col{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.footer-col h2{letter-spacing:.1em;text-transform:uppercase;opacity:.55;margin:0 0 .25rem;font-size:.72rem;font-weight:700}.footer-col a{color:#e8e8e8;font-size:.92rem;font-weight:600;text-decoration:none}.footer-col a:hover{color:#ffd166}.footer-copy{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:1rem;margin:1.2rem 0 0;padding-top:.9rem;font-size:.8rem;display:flex}.footer-copy p{opacity:.55;margin:0}.footer-made{color:#e8e8e8;white-space:nowrap;opacity:.72;margin-left:auto;font-weight:600;text-decoration:none}.footer-made:hover{color:#ffd166;opacity:1}.footer-legal{flex-wrap:wrap;gap:.75rem 1rem;display:flex}.footer-legal a{color:#e8e8e8;opacity:.72;font-weight:600;text-decoration:none}.footer-legal a:hover,.footer-legal a.active{color:#ffd166;opacity:1}.cookie-banner{z-index:80;padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom,0px));color:#f3ecd4;background:#121910f7;border-top:1px solid #ffd16647;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -16px 40px #00000061}.cookie-banner-inner{align-items:center;gap:1rem 1.2rem;max-width:1180px;margin:0 auto;display:flex}.cookie-banner p{flex:auto;margin:0;font-size:.92rem;line-height:1.45}.cookie-banner a{color:#ffd166}.cookie-banner-actions{flex-shrink:0;gap:.5rem;display:flex}.cookie-banner-actions .primary-btn,.cookie-banner-actions .btn{width:auto}body:has(.cookie-banner){padding-bottom:6.5rem}.legal-body{max-width:46rem}.legal-body code{font-size:.88em}.auth-password-row{align-items:stretch;gap:.5rem;display:flex}.auth-password-row input{flex:1;min-width:0}.auth-password-toggle{flex-shrink:0;width:auto;padding-inline:.75rem;font-size:.85rem}.auth-password-hints{color:#ffffff8c;margin:-.25rem 0 .75rem;padding:0;font-size:.82rem;list-style:none}.auth-password-hints .is-ok{color:#9be89b}.email-verify-banner{background:#ffd1661f;border:1px solid #ffd16659;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:.5rem 1rem 0;padding:.75rem 1rem;font-size:.92rem;display:flex}.email-verify-banner p{flex:220px;margin:0}.email-verify-banner .btn{width:auto;min-height:2.25rem}.email-verify-banner__ok{color:#9be89b;font-size:.85rem}.email-verify-banner__err{color:#ff9c9c;font-size:.85rem}.plan-locked{background:#ffd1661a;border:1px solid #ffd16659;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin:.75rem 0 1rem;padding:.9rem 1.05rem;display:flex}.plan-locked__body{flex:220px;min-width:0}.plan-locked__title{margin-bottom:.25rem;font-size:.95rem;display:block}.plan-locked p{color:var(--muted,#f3efe6c7);margin:0;font-size:.92rem;line-height:1.4}.plan-locked .primary-btn,.plan-locked .btn{flex-shrink:0;width:auto}.plan-locked--compact{background:#ffffff0a;border-color:#ffffff1f;margin:.5rem 0;padding:.65rem .85rem}.plan-locked--compact p{font-size:.85rem}.segment--plan-lock{opacity:.55}.segment--plan-lock:after{content:" *";opacity:.85;font-size:.72em}.basics-card--plan-lock{opacity:.72;cursor:not-allowed}.plan-dev-banner{background:#ff5c4024;border:1px solid #ff5c4073;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:.5rem 1rem 0;padding:.75rem 1rem;font-size:.92rem;display:flex}.plan-dev-banner__mark{letter-spacing:.06em;text-transform:uppercase;color:#1a1a1a;background:#ff5c40;border-radius:6px;padding:.25rem .55rem;font-size:.72rem;font-weight:800}.plan-dev-banner p{flex:220px;margin:0}.plan-dev-banner__sep{opacity:.55;margin:0 .35rem}.plan-dev-banner__actions{flex-wrap:wrap;gap:.45rem;display:flex}.plan-dev-banner__actions .btn{width:auto;min-height:2.25rem}.dev-mode-admin-badge{letter-spacing:.02em;background:#ff5c4029;border:1px solid #ff5c4080;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin:0 0 1rem;padding:.65rem .9rem;font-weight:700;display:flex}.dev-mode-admin-badge__real{opacity:.85;font-weight:500}.dev-plan-actions{flex-wrap:wrap;gap:.55rem;margin-top:.75rem;display:flex}.dev-plan-actions .btn,.dev-plan-actions .primary-btn{width:auto}.admin-plan-list{gap:.55rem;margin-top:.85rem;display:grid}.admin-plan-item{background:#00000029;border:1px solid #ffffff1a;border-radius:12px;overflow:hidden}.admin-plan-item--open{border-color:#ffd16659}.admin-plan-item-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.admin-plan-form{padding:0 1rem 1rem;border-top:1px solid #ffffff14;gap:.75rem;padding-top:.85rem;display:grid}.admin-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem;display:grid}.admin-plan-features{border:1px solid #ffffff1a;border-radius:10px;margin:0;padding:.75rem .85rem}.admin-plan-features legend{padding:0 .35rem;font-weight:700}.admin-plan-features-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;display:grid}@media (width<=720px){.admin-plan-grid,.admin-plan-features-grid{grid-template-columns:1fr}}.auth-consent{align-items:flex-start;font-size:.88rem;line-height:1.4}.auth-consent a{color:#ffd166}.site-brand{color:inherit;flex:none;align-items:center;gap:.5rem;min-width:0;text-decoration:none;display:flex}.site-nav{flex-wrap:nowrap;flex:0 auto;align-items:center;gap:.15rem;min-width:0;display:flex}.nav-toggle,.nav-scrim,.site-nav-auth{display:none}.nav-toggle{cursor:pointer;z-index:47;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0}.nav-toggle span{background:#f3ecd4;border-radius:2px;width:18px;height:2px;transition:transform .18s,opacity .18s;display:block}.site-header--open .nav-toggle span:first-child{transform:translateY(7px)rotate(45deg)}.site-header--open .nav-toggle span:nth-child(2){opacity:0}.site-header--open .nav-toggle span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.header-user{flex:none;align-items:center;gap:.4rem;margin-left:auto;display:flex}.user-chip{color:inherit;background:#ffffff14;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .65rem;text-decoration:none;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:8em;font-weight:600;overflow:hidden}.user-elo{font-variant-numeric:tabular-nums;color:#ffd166;font-weight:700}.header-logout{color:#cfcfcf;font-size:.85rem}.site-nav-link{color:#e8e8e8;white-space:nowrap;border-radius:8px;padding:.4rem .65rem;font-size:.88rem;font-weight:600;text-decoration:none}.site-nav-link:hover{background:#ffffff14}.site-nav-link--active{color:#1a252f;background:#ffd166}.site-nav-link:focus-visible,.user-chip:focus-visible,.sound-toggle:focus-visible,.nav-toggle:focus-visible{outline-offset:2px;outline:2px solid #ffd166}.site-nav-link--active:focus-visible{outline-color:#1a252f;box-shadow:0 0 0 2px #ffd166}.nav-drop{position:relative}.nav-drop-btn{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:.28rem;display:inline-flex}.nav-drop-btn.site-nav-link--active{color:#1a252f;background:#ffd166}.nav-drop-caret{opacity:.75;font-size:.7em;transform:translateY(-.04em)}.nav-drop--open .nav-drop-caret{transform:translateY(-.04em)rotate(180deg)}.nav-drop-menu{z-index:30;background:#1c2a34;border:1px solid #ffffff1f;border-radius:0 10px 10px;flex-direction:column;gap:.15rem;min-width:10.5rem;padding:.4rem .35rem .35rem;display:none;position:absolute;top:100%;left:0;box-shadow:0 12px 28px #00000059}.nav-drop--open .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{display:flex}.nav-drop-menu .site-nav-link{white-space:nowrap;color:#f3ecd4}.nav-drop-menu .site-nav-link:hover,.nav-drop-menu .site-nav-link:focus-visible{color:#ffe9a8;background:#ffd16629}.nav-drop-menu .site-nav-link--active,.nav-drop-menu .site-nav-link--active:hover,.nav-drop-menu .site-nav-link--active:focus-visible{color:#1a252f;background:#ffd166}.page{color:#f5f5f5}.hero{margin-bottom:1.25rem}.hero h2{margin:0 0 .35rem;font-size:1.6rem}.hero p{opacity:.75;margin:0}.lobby{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=800px){.lobby{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-copy{flex-wrap:wrap}.footer-made{margin-left:0}.cookie-banner-inner{flex-direction:column;align-items:stretch}.cookie-banner-actions .primary-btn,.cookie-banner-actions .btn{text-align:center;flex:auto}body:has(.cookie-banner){padding-bottom:9.5rem}}.card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.7rem;padding:1.1rem 1.15rem;display:flex}.card-title{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0;font-size:.78rem;font-weight:600}.card-title--sub{margin-top:.35rem}.mode-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.room-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.room-row{background:#00000038;border:1px solid #ffffff1a;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .75rem;display:flex}.room-row div{flex-direction:column;gap:.15rem;min-width:0;display:flex}.room-row span{opacity:.72;font-size:.82rem}.mode-card{text-align:left;color:#e8e8e8;cursor:pointer;background:#00000040;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem .9rem;display:flex}.mode-card strong{font-size:1.02rem}.mode-card span{opacity:.7;font-size:.82rem}.mode-card--active{background:#ffd16629;border-color:#ffd166}.play-btn{max-width:360px;margin-top:1.15rem;padding:.9rem 1rem;font-size:1.1rem}.play-summary{opacity:.7;text-align:center;margin:-.4rem 0 1rem;font-size:.9rem}.page--play .status{text-align:center}.settings-card{max-width:520px;margin-bottom:1rem}.settings-card--wide{max-width:680px}.settings-logout{flex:none;align-self:flex-start;width:auto}.settings-sub{margin:1.1rem 0 .55rem;font-size:.92rem;font-weight:700}.theme-preview{width:min(100%,280px);margin:0 auto .4rem}.theme-picks{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.5rem;display:grid}.theme-pick{color:#e8e8e8;cursor:pointer;font:inherit;background:#00000040;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:.55rem .4rem .5rem;font-size:.78rem;font-weight:600;display:flex}.theme-pick:hover{border-color:#ffd1668c}.theme-pick--on{background:#ffd16629;border-color:#ffd166}.theme-swatch{border-radius:6px;width:44px;height:44px;display:block;box-shadow:inset 0 0 0 1px #0003}.piece-swatch{justify-content:center;align-items:flex-end;gap:0;height:44px;display:flex}.piece-swatch img{object-fit:contain;width:28px;height:28px;margin:0 -3px}.toggle{cursor:pointer;align-items:center;gap:.65rem;display:flex}.toggle input{accent-color:#ffd166;width:1.1rem;height:1.1rem}.slider-row{grid-template-columns:auto 1fr 3.2em;align-items:center;gap:.75rem;display:grid}.slider-row input[type=range]{accent-color:#ffd166;width:100%}.slider-value{font-variant-numeric:tabular-nums;opacity:.75;text-align:right}.btn--link{text-align:center;line-height:1.3;text-decoration:none;display:block}.header{text-align:center;color:#f5f5f5;margin-bottom:1.5rem}.header-row{justify-content:center;align-items:center;gap:.85rem;margin-bottom:.35rem;display:flex}.brand{text-align:left}.brand h1{letter-spacing:.015em;color:#f3ecd4;margin:0;font-size:1.12rem;font-weight:750;line-height:1.15}.header h1{letter-spacing:.01em;margin:0;font-size:1.7rem;font-weight:700;line-height:1.15}.tagline{letter-spacing:.1em;text-transform:uppercase;opacity:.65;margin:.05rem 0 0;font-size:.68rem}.brand-mark{border-radius:11px;flex:0 0 40px;width:40px;height:40px;transition:transform .22s,box-shadow .22s;display:block;overflow:hidden;box-shadow:0 6px 14px #00000047}.site-brand:hover .brand-mark{transform:translateY(-1px);box-shadow:0 10px 20px #ffd1662e}.sound-toggle{color:#f5f5f5;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,color .15s;display:inline-flex}.sound-toggle:hover{background:#ffffff29}.sound-toggle--muted{color:#f5f5f573}.status{opacity:.92;margin:0;font-size:1.05rem}.status--end{color:#ffd166;font-weight:600}.status--wrong{color:#ff9c9c;font-weight:600}.main{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.5rem;display:flex}.board-column{flex-direction:column;gap:.4rem;width:100%;max-width:680px;display:flex}.board-wrap{width:100%;position:relative}.player-bar{color:#e8e8e8;align-items:center;gap:.6rem;min-height:34px;padding:0 .25rem;display:flex}.player-name{opacity:.75;min-width:3.5em;font-size:.92rem;font-weight:600;transition:opacity .15s}.player-bar--active .player-name{opacity:1;color:#ffd166}.captured{flex-wrap:wrap;flex:1;align-items:center;gap:.35rem;min-height:22px;display:flex}.captured-group{align-items:center;display:inline-flex}.captured-piece.piece-img{pointer-events:none;filter:drop-shadow(0 1px 1px #0006);width:22px;height:22px}.captured-group .captured-piece+.captured-piece{margin-left:-11px}.advantage{opacity:.8;margin-left:.15rem;font-size:.82rem;font-weight:600}.clock{color:#e8e8e8;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right;background:#00000059;border-radius:6px;flex-shrink:0;min-width:4.4em;margin-left:auto;padding:.2rem .5rem;font-size:1.05rem;font-weight:700;line-height:1.3}.clock--running{color:#1a252f;background:#ffd166}.clock--low{color:#ff9c9c}.clock--running.clock--low{color:#fff;background:#e05a5a}.clock--flag{color:#ffd0d0;background:#7a1f1f}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:4px;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 12px 40px #00000073,0 0 0 1px #0003}.square{cursor:pointer;aspect-ratio:1;border:none;justify-content:center;align-items:center;margin:0;padding:0;transition:filter .12s,background-color .32s;display:flex;position:relative}.square:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #ffd166}.square--light{background:var(--sq-light,#eeeed2)}.square--dark{background:var(--sq-dark,#769656)}.coord{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3;font-size:clamp(.58rem,1.7vw,.78rem);font-weight:700;line-height:1;position:absolute}.square--light .coord{color:var(--sq-dark,#769656)}.square--dark .coord{color:var(--sq-light,#eeeed2)}.coord--rank{top:3px;left:4px}.coord--file{bottom:3px;right:4px}.square:hover{filter:brightness(1.05)}.square--last.square--light{background-color:color-mix(in srgb, var(--sq-light,#eeeed2) 58%, #f6f669)}.square--last.square--dark{background-color:color-mix(in srgb, var(--sq-dark,#769656) 55%, #baca2b)}.square--hint.square--light{box-shadow:inset 0 0 0 3px #ffd166}.square--hint.square--dark{box-shadow:inset 0 0 0 3px #ffe08a}.square--wrong.square--light,.square--wrong.square--dark{background-color:color-mix(in srgb, #c0392b 55%, var(--sq-light,#eeeed2))!important}.board-wrap--wrong .board{animation:.45s puzzle-shake}@keyframes puzzle-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.square--selected{background-color:color-mix(in srgb, var(--sq-light,#eeeed2) 40%, #f6f669)!important}.square--target{position:relative}.square--hover-drop{background-color:color-mix(in srgb, var(--sq-dark,#769656) 45%, #baca44)!important}.move-dot{pointer-events:none;z-index:1;background:#0000002e;border-radius:50%;width:28%;height:28%;position:absolute}.square--dark .move-dot{background:#00000038}.capture-ring{pointer-events:none;z-index:1;border-radius:50%;margin:8%;position:absolute;inset:0;box-shadow:inset 0 0 0 5px #0000002e}.piece-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;z-index:2;width:92%;height:92%;position:relative}.piece-img--draggable{pointer-events:auto;cursor:grab}.piece-img--draggable:active{cursor:grabbing}.piece-ghost{object-fit:contain;pointer-events:none;z-index:1000;filter:drop-shadow(0 8px 16px #00000059);width:min(12vw,80px);height:min(12vw,80px);position:fixed;transform:translate(-50%,-55%)}.board-arrows{pointer-events:none;z-index:7;border-radius:4px;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.board-arrow--ghost{pointer-events:none}.board-flights{pointer-events:none;z-index:6;border-radius:4px;position:absolute;inset:0;overflow:hidden}.piece-premove{pointer-events:none;opacity:.42;z-index:5;justify-content:center;align-items:center;width:12.5%;height:12.5%;display:flex;position:absolute}.piece-premove .piece-img{filter:drop-shadow(0 2px 6px #00000040)}.square--premove.square--light{background-color:color-mix(in srgb, var(--sq-light,#eeeed2) 42%, #e45c2d)}.square--premove.square--dark{background-color:color-mix(in srgb, var(--sq-dark,#769656) 40%, #d4522a)}.square--mark:after{content:"";pointer-events:none;z-index:1;position:absolute;inset:0}.square--mark-green:after{background:#15781bc7}.square--mark-red:after{background:#c0392bc7}.square--mark-blue:after{background:#1d6fa5c7}.square--mark-yellow:after{background:#c9a227c7}.piece-flight{pointer-events:none;z-index:2;transform-origin:0 0;justify-content:center;align-items:center;width:12.5%;height:12.5%;transition:none;display:flex;position:absolute}.piece-flight .piece-img{pointer-events:none}.piece-flight--run{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.piece-flight--fade{z-index:1;animation:.32s forwards piece-capture-fade}@keyframes piece-capture-fade{to{opacity:0}}@media (prefers-reduced-motion:reduce){.piece-flight--run{transition:none}.piece-flight--fade{opacity:0;animation:none}.square{transition:filter .12s}}.side-column{flex-direction:column;gap:1rem;width:100%;max-width:300px;display:flex}.board--viewing{box-shadow:0 12px 40px #00000073,0 0 0 3px #ffd16699}.moves{color:#e8e8e8;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem .9rem .6rem;display:flex}.moves-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.nav{gap:2px;display:flex}.nav-btn{color:#f0f0f0;cursor:pointer;background:#ffffff14;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:28px;transition:background .15s,opacity .15s;display:inline-flex}.nav-btn:hover:not(:disabled){background:#ffffff2e}.nav-btn:disabled{opacity:.3;cursor:default}.viewing{color:#ffd166;background:#ffd16624;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .55rem;font-size:.82rem;display:flex}.text-link{color:#ffd166;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:600;text-decoration:underline}.move-rows{font-variant-numeric:tabular-nums;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;max-height:190px;margin:0;padding:0;list-style:none;overflow-y:auto}.moves-empty{opacity:.6;padding:.35rem .25rem;font-size:.85rem}.move-row{grid-template-columns:2.4em 1fr 1fr;align-items:center;gap:2px;padding:1px 0;display:grid}.move-row:nth-child(odd){background:#ffffff08}.move-number{opacity:.55;padding-left:.35rem;font-size:.82rem}.move{text-align:left;color:#f0f0f0;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:.22rem;padding:.25rem .5rem;font-family:inherit;font-size:.92rem;font-weight:600;transition:background .12s;display:flex}.move-glyph{opacity:.9;flex:none;min-width:1.1em;font-size:.68em;font-weight:800}.move:hover{background:#ffffff1f}.move--active{color:#1a252f;background:#ffd166}.move--active .move-glyph{color:inherit;opacity:.8}.move--active:hover{background:#ffe099}.move--empty{cursor:default}.move--brilliant{color:#5eead4}.move--best{color:#96e6a1}.move--good{color:#86efac}.move--inaccuracy{color:#fde047}.move--mistake{color:#fb923c}.move--blunder{color:#f87171}.panel{color:#e8e8e8;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:300px;padding:1rem 1.1rem 1.1rem;display:flex}.panel-section{flex-direction:column;gap:.5rem;display:flex}.panel-title{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0;font-size:.78rem;font-weight:600}.page--play .main{align-items:stretch}.page--play .panel{flex:1}.puzzle-fails{opacity:.7;border-top:1px solid #ffffff1a;margin:auto 0 0;padding-top:.75rem;font-size:.95rem}.puzzle-fails strong{font-variant-numeric:tabular-nums}.puzzle-fails--on{opacity:1;color:#ff9c9c}.segmented{background:#0000004d;border-radius:8px;gap:3px;padding:3px;display:flex}.segmented--wrap{flex-wrap:wrap}.segment{color:#d8d8d8;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:.5rem .4rem;font-size:.82rem;transition:background .15s,color .15s}.segment:hover{color:#fff}.segment--active{color:#1a252f;background:#ffd166;font-weight:600}.segment:disabled{opacity:.4;cursor:not-allowed}.page--settings .segmented{margin:.35rem 0 1rem}.levels{grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;list-style:none;display:grid}.levels--roster{grid-template-columns:1fr 1fr;margin-top:.45rem}.bot-picker{flex-direction:column;gap:.15rem;display:flex}.time-chips{grid-template-columns:repeat(3,1fr)}.level{color:#e8e8e8;cursor:pointer;text-align:left;background:#00000040;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:.5rem .65rem;transition:border-color .15s,background .15s;display:flex}.level--bot{flex-direction:row;align-items:center;gap:.55rem;padding:.4rem .5rem}.level-meta{flex-direction:column;gap:1px;min-width:0;display:flex}.bot-avatar,.user-avatar-wrap{vertical-align:middle;flex:none;line-height:0;display:inline-flex;position:relative}.user-avatar-wrap--premium .user-avatar{box-shadow:0 0 0 1px #ffd16673,0 4px 10px #00000059}.user-avatar{object-fit:cover;background:#1a2418;border-radius:50%;flex:none;display:block;box-shadow:0 0 0 1px #ffffff24,0 4px 10px #00000059}.user-avatar--letter{color:#f3ecd4;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex}.user-avatar-badge{z-index:1;letter-spacing:.02em;text-transform:uppercase;color:#1a252f;pointer-events:none;white-space:nowrap;background:#ffd166;border:1px solid #1a252f59;border-radius:999px;min-width:1.15em;padding:.12em .32em;font-size:max(.55rem,.28em);font-weight:800;line-height:1.15;position:absolute;bottom:-6%;right:-12%;box-shadow:0 2px 6px #00000059}.user-avatar-badge--student{background:#c8e6a0}.user-avatar-badge--coach{background:#ffd166}.user-avatar-badge--mentor{color:#1a1a12;background:linear-gradient(#ffe08a,#e2b84a)}.level:hover{border-color:#ffd16699}.level--active{background:#ffd16629;border-color:#ffd166}.level-name{font-size:.92rem;font-weight:600}.level-elo{opacity:.7;font-size:.78rem}.level-desc{opacity:.8;min-height:2.5em;margin:0;font-size:.85rem}.bot-picked{align-items:flex-start;gap:.7rem;margin-top:.35rem;display:flex}.bot-picked .level-desc{min-height:0}.engine{opacity:.9;align-items:center;gap:.5rem;margin:0;font-size:.88rem;display:flex}.engine--ok{color:#9be89b}.engine--error{color:#ff9c9c;line-height:1.4;display:block}.engine--error code{word-break:break-all;font-size:.8rem}.bot-chat{background:#00000038;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:.4rem;padding:.65rem .7rem;display:flex}.bot-chat-head{color:#f3ecd4;align-items:center;gap:.45rem;margin:0;font-size:.82rem;font-weight:700;display:flex}.bot-chat-log{flex-direction:column;gap:.4rem;max-height:9.5rem;display:flex;overflow:auto}.bot-chat-line{color:#e8e8e8;margin:0;font-size:.86rem;line-height:1.4}.bot-chat-line--think{opacity:.7;font-style:italic}.persona-quote{text-align:left;color:#1a1a1a;background:#0000000f;border-radius:10px;gap:.45rem;margin:0 0 1rem;padding:.7rem .75rem;font-size:.95rem;line-height:1.4;display:flex}.persona-quote span{color:#1a1a1a}.sf-review{text-align:left;color:#1a1a1a;background:#1a241814;border-radius:10px;margin:0 0 1rem;padding:.75rem .85rem;font-size:.88rem}.sf-review-title{letter-spacing:.08em;text-transform:uppercase;opacity:.62;margin:0 0 .45rem;font-size:.72rem;font-weight:700}.sf-review-wait{opacity:.8;margin:0}.sf-review-counts{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.35rem .85rem;margin:0 0 .45rem;font-weight:700;display:flex}.sf-review-counts--soft{opacity:.78;margin-bottom:.65rem;font-weight:600}.sf-move-type--gem{color:#7a4b00}.sf-review ul,.coach-errors{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.sf-move-eval{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.sf-move-type{color:#6b3a00;margin:.12rem 0 0}.sf-move-best{opacity:.72;margin:.12rem 0 0;font-size:.82rem}.persona-review{text-align:left;color:#333;margin:0 0 1rem;font-size:.88rem}.coach-errors .sf-move-type{color:#ffd166}.persona-review-title{margin:0 0 .45rem;font-weight:600}.persona-review ul{flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;display:flex}.spinner{border:2px solid #ffffff40;border-top-color:#ffd166;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.primary-btn{cursor:pointer;color:#1a252f;background:#ffd166;border:none;border-radius:8px;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:transform .1s,background .15s}.primary-btn:hover{background:#ffe099}.primary-btn:active{transform:scale(.98)}.actions{gap:.5rem;display:flex}.btn,.primary-btn,.site-nav-link,.nav-toggle,.sound-toggle{touch-action:manipulation}.btn{color:#f0f0f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;flex:1;padding:.6rem .75rem;font-size:.92rem;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.btn:hover:not(:disabled){background:#ffffff29}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--accent{color:#1a252f;background:#ffd166;border-color:#ffd166}.btn--accent:hover:not(:disabled){background:#ffe099}.btn--danger{color:#fff;background:#e05a5a;border-color:#e05a5a}.btn--danger:hover:not(:disabled){background:#ea7070}.btn--danger-outline{color:#ff9c9c;border-color:#e05a5ab3}.btn--danger-outline:hover:not(:disabled){background:#e05a5a2e}.offer{background:#ffd1661f;border:1px solid #ffd16673;border-radius:8px;flex-direction:column;gap:.5rem;padding:.65rem .75rem;display:flex}.offer--declined{background:#ffffff0f;border-color:#ffffff26}.offer-text{align-items:center;gap:.5rem;margin:0;font-size:.92rem;font-weight:600;display:flex}.offer-actions{gap:.5rem;display:flex}.hint{opacity:.85;margin:0;font-size:.9rem;line-height:1.45}.hint a{color:#ffd166}.modal-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{color:#1a1a1a;text-align:center;background:#f5f0e8;border-radius:12px;width:100%;max-width:360px;padding:1.25rem 1.5rem;box-shadow:0 16px 48px #00000059}.modal-title{color:#1a1a1a;margin:0 0 1rem;font-weight:600}.result-backdrop{overflow:hidden}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:-16px}@keyframes confetti-fall{to{opacity:.2;transform:translateY(110vh)rotate(540deg)}}.result-modal{z-index:1;max-width:440px;padding:1.6rem 1.5rem 1.3rem;position:relative}.modal-close{color:#333;cursor:pointer;background:#00000014;border:none;border-radius:999px;width:2rem;height:2rem;font-size:1.45rem;line-height:1;position:absolute;top:.45rem;right:.5rem}.modal-close:hover{background:#00000029}.result-modal--win{background:linear-gradient(#fff6d6 0%,#f5f0e8 55%)}.result-modal--draw{background:linear-gradient(#e8f0e2 0%,#f5f0e8 55%)}.result-emoji{margin:0 0 .35rem;font-size:3rem;line-height:1}.result-title{margin-bottom:.35rem;font-size:1.7rem}.result-text{color:#444;margin:0 0 1.15rem}.result-review{text-align:left;margin:0 0 .85rem}.result-review-toggle{color:#1a1a1a;width:100%;font:inherit;cursor:pointer;background:#1a24180d;border:1px solid #1a241824;border-radius:8px;justify-content:space-between;align-items:center;padding:.45rem .65rem;font-size:.88rem;font-weight:700;display:flex}.result-review-toggle:hover{background:#1a241817}.result-review .sf-review{margin:.45rem 0 0}.result-blunders{color:#1a1a1a;margin:.4rem 0 0;font-size:.95rem;font-weight:700}.result-actions{flex-direction:column;gap:.5rem;display:flex}.result-actions .primary-btn,.result-actions .btn{width:100%}.result-rating{color:#3d5f24;margin:-.4rem 0 1rem;font-size:1.05rem;font-weight:600}.result-rating--guest{color:#666;font-size:.92rem;font-weight:500}.auth-card,.settings-card{max-width:520px}.field{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}fieldset.field{border:0;min-width:0;margin:0;padding:0}.field input,.field textarea,.field select{color:#f5f5f5;font:inherit;background:#00000040;border:1px solid #ffffff2e;border-radius:8px;padding:.6rem .7rem}.field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23f5f5f5' d='M1.2 1.2 6 6l4.8-4.8'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.1rem}.field select option{color:#f5f5f5;background:#1a252f}.field legend{font-size:inherit;padding:0}.ai-provider{flex-wrap:wrap;gap:.9rem 1.4rem;display:flex}.field textarea{resize:vertical;min-height:4.5rem;line-height:1.45}.form-error{color:#ff9c9c;margin:0;font-size:.92rem}.auth-switch{text-align:center;opacity:.8;margin:0}.auth-switch a{color:#ffd166}.rating-me{flex-direction:row;justify-content:space-between;align-items:center;gap:.85rem;max-width:520px;margin-bottom:1rem}.rating-me>div{flex:1;min-width:0}.board-name{align-items:center;gap:.5rem;min-width:0;display:flex}.stats-hero{align-items:center;gap:.9rem;display:flex}.stats-hero h2{margin:0 0 .25rem}.avatar-studio{align-items:center;gap:1rem;display:flex}.avatar-studio-main{width:88px;height:88px}.avatar-studio-actions{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.avatar-studio-actions .primary-btn,.avatar-studio-actions .btn{width:auto}.avatar-presets{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:.45rem;display:grid}.avatar-preset{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;padding:0;overflow:hidden}.avatar-preset img{aspect-ratio:1;object-fit:cover;border-radius:50%;width:100%;display:block}.avatar-preset:hover{border-color:#ffd1668c}.avatar-preset--on{border-color:#ffd166}.avatar-preset:disabled{opacity:.6;cursor:wait}.rating-name{margin:0;font-size:1.2rem;font-weight:700}.rating-meta{opacity:.7;margin:.15rem 0 0;font-size:.9rem}.rating-elo{color:#ffd166;font-size:2rem}.board-table{margin:0;padding:0;list-style:none}.board-row{border-bottom:1px solid #ffffff0f;grid-template-columns:2em 1fr auto 4em;align-items:center;gap:.6rem;padding:.45rem .35rem;display:grid}.board-row--me{background:#ffd1661f;border-radius:6px}.board-rank{opacity:.55;font-variant-numeric:tabular-nums}.board-elo{color:#ffd166;text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.board-games{opacity:.6;font-size:.85rem}.stat-cards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;margin-bottom:1.15rem;display:grid}.stat-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.2rem;padding:.75rem .85rem;display:flex}.stat-card span{letter-spacing:.06em;text-transform:uppercase;opacity:.65;font-size:.75rem}.stat-card strong{font-variant-numeric:tabular-nums;color:#ffd166;font-size:1.45rem}.stat-table{margin:0;padding:0;list-style:none}.stat-table li{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:.75rem;padding:.4rem 0;font-size:.92rem;display:flex}.stat-table li span:last-child{opacity:.75;font-variant-numeric:tabular-nums}.history-table{margin:0;padding:0;list-style:none}.history-row{border-bottom:1px solid #ffffff0f;grid-template-columns:7.5em 1fr auto auto minmax(9.5em,auto);align-items:center;gap:.65rem;padding:.5rem .15rem;font-size:.9rem;display:grid}.history-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.history-review{color:#ffd166;font-size:.85rem;font-weight:600;text-decoration:none}.history-review:hover{text-decoration:underline}.history-row small{opacity:.6}.history-row time{opacity:.55;white-space:nowrap;font-size:.8rem}.history-res{font-weight:700}.history-res--win{color:#9be89b}.history-res--loss{color:#ff9c9c}.history-res--draw{color:#ffd166}.history-delta{font-variant-numeric:tabular-nums;font-weight:600}.history-pager{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.85rem;font-size:.9rem;display:flex}.history-pager span{opacity:.8;text-align:center;flex:1}.history-pager small{opacity:.55}.history-pager .btn{min-width:6.5rem;padding:.35rem .7rem;font-size:.85rem}.history-pager .btn:disabled{opacity:.35;cursor:default}.rating-meta a{color:#ffd166}@media (width<=700px){.history-row{grid-template-columns:1fr 1fr;gap:.25rem .6rem}}.achieve-progress{background:#ffffff1a;border-radius:999px;height:8px;margin-bottom:1.1rem;overflow:hidden}.achieve-progress span{background:#ffd166;height:100%;display:block}.puzzle-list{flex-direction:column;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.puzzle-card{color:inherit;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.85rem;padding:.8rem .95rem;text-decoration:none;display:flex}.puzzle-card:hover{background:#ffd16614;border-color:#ffd16673}.puzzle-card--done{background:#5aa0461f;border-color:#76ba5673}.puzzle-num{font-variant-numeric:tabular-nums;opacity:.55;flex:0 0 2rem;font-weight:700}.puzzle-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.puzzle-body span{opacity:.7;font-size:.82rem}.puzzle-mark{color:#ffd166;margin-left:auto;font-weight:700}.puzzle-card--done .puzzle-mark{color:#9be15d}.puzzle-bank{color:#e8e8e8;margin-top:1.4rem}.puzzle-bank .card-title{color:#f5f5f5}.puzzle-bank-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;display:flex}.puzzle-toolbar{flex-wrap:wrap;gap:.6rem;margin:.85rem 0 .2rem;display:flex}.puzzle-pager{color:#e8e8e8;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:.75rem;margin:1rem 0 0;display:flex}.puzzle-pager .btn{min-width:7rem}.lesson-ideas p{opacity:.88;margin:0 0 .55rem;font-size:.86rem;line-height:1.45}.lesson-ideas p:last-child{margin-bottom:.2rem}.lesson-variants{margin-top:1.25rem}.variant-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.variant-btn{text-align:left;width:100%;color:inherit;cursor:pointer;background:#0003;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.7rem .8rem;display:flex}.variant-btn span{opacity:.7;font-family:ui-monospace,Consolas,monospace;font-size:.82rem}.variant-btn em{opacity:.78;font-size:.82rem;font-style:normal}.variant-btn--on{background:#ffd1661f;border-color:#ffd1668c}.lesson-nav{justify-content:space-between;gap:1rem;margin-top:1.2rem;display:flex}.lesson-nav a{color:#ffd166;font-weight:600;text-decoration:none}.lesson-nav a:hover{text-decoration:underline}.opening-search{gap:.5rem;margin:.75rem 0 .85rem;display:flex}.opening-search input{color:#f5f5f5;background:#00000047;border:1px solid #ffffff24;border-radius:8px;flex:1;min-width:0;padding:.55rem .7rem}.page--opening .opening-head{margin:0 0 .75rem}.page--opening .opening-head-row{flex-wrap:wrap;align-items:baseline;gap:.45rem .75rem;display:flex}.page--opening .opening-title{margin:0;font-size:clamp(1.35rem,3vw,1.75rem);line-height:1.2}.page--opening .opening-eco{color:#ffd166;opacity:.9;font-size:.9rem;font-weight:700}.page--opening .opening-meta{margin:.35rem 0 0}.page--opening .opening-meta a{color:#ffd166}.opening-modes{margin:0 0 .65rem}.opening-panel{flex-direction:column;gap:.85rem;display:flex}.opening-move-panel{flex-direction:column;gap:.4rem;display:flex}.opening-move-san{color:#ffd166;font-variant-numeric:tabular-nums;margin:0;font-size:1.05rem;font-weight:700}.opening-move-note{opacity:.9;margin:0;font-size:.92rem;line-height:1.45}.opening-move-nav{flex-wrap:wrap;gap:.4rem;margin-top:.15rem;display:flex}.opening-move-nav .btn,.opening-move-nav .primary-btn{width:auto;min-height:2.5rem}.opening-arrow-bar{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.opening-arrow-bar .btn{width:auto;min-height:2.25rem;padding:.35rem .7rem;font-size:.82rem}.opening-arrow-bar .btn--on{color:#ffd166;background:#ffd1661a;border-color:#ffd1668c}.opening-arrow-legend{opacity:.85;flex-wrap:wrap;gap:.55rem .9rem;margin:.55rem 0 0;padding:0;font-size:.78rem;list-style:none;display:flex}.opening-arrow-legend li{align-items:center;gap:.35rem;display:inline-flex}.opening-arrow-swatch{border-radius:2px;width:.85rem;height:.28rem;display:inline-block}.opening-arrow-swatch--main{background:#0d5c12;box-shadow:0 0 0 1px #ffffff40}.opening-arrow-swatch--alt{background:#1a5f96;box-shadow:0 0 0 1px #ffffff40}.opening-arrow-swatch--recommend{background:#c9a227;box-shadow:0 0 0 1px #ffffff40}.opening-arrow-swatch--user{background:#c0392b;box-shadow:0 0 0 1px #ffffff40}.opening-arrow-swatch--engine{background:#b8e8d459;box-shadow:0 0 0 1px #fff3}.opening-continuations{border-top:1px solid #ffffff14;padding-top:.35rem}.opening-cont-list{flex-direction:column;gap:.35rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.opening-cont-btn{text-align:left;width:100%;color:inherit;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;align-items:baseline;gap:.55rem;padding:.45rem .55rem;display:flex}.opening-cont-btn strong{font-variant-numeric:tabular-nums;min-width:2.6rem}.opening-cont-btn span{opacity:.75;font-size:.85rem}.opening-cont-btn--main{border-color:#0d5c128c}.opening-cont-btn--alt{border-color:#1a5f9680}.opening-cont-btn--on{background:#ffd1661a;border-color:#ffd16673}.opening-explain{border-top:1px solid #ffffff14;padding-top:.35rem}.opening-explain-san{color:#ffd166;margin:.25rem 0}.opening-explain-text{margin:0;font-size:.92rem;line-height:1.45}.opening-moves-wrap .moves{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.opening-moves-wrap .moves-header{margin-bottom:.35rem}.opening-moves-wrap .move-rows{max-height:11rem}.page--opening .lesson-ideas{border-top:1px solid #ffffff14;padding-top:.55rem}.page--openings .segmented{margin-bottom:.55rem}.achieve-section{margin-top:1.35rem}.achieve-section .card-title{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.7rem;display:flex}.achieve-section .card-title small{letter-spacing:0;text-transform:none;opacity:.7;font-size:.78rem}.achieve-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.achieve-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.9rem .95rem;transition:transform .15s,border-color .15s,background .15s;display:flex}.achieve-card:hover{border-color:#ffd1668c;transform:translateY(-2px)}.achieve-card strong{font-size:1rem}.achieve-card span:last-child{opacity:.75;font-size:.82rem;line-height:1.35}.achieve-icon{font-size:1.6rem;line-height:1}.achieve-icon-img{object-fit:cover;background:#1a2418;border-radius:50%;flex:none;display:block;box-shadow:0 0 0 1px #ffd16647,0 6px 14px #00000059}.achieve-card .achieve-icon-img{width:64px;height:64px;margin-bottom:.2rem}.achieve-detail .achieve-icon-img{width:176px;height:176px;margin:0 auto .35rem;animation:.32s achieve-pop}@keyframes achieve-pop{0%{opacity:.35;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.achieve-detail-backdrop{z-index:120}.achieve-detail{text-align:center;color:#1a1a1a;background:#f5f0e8;border-radius:16px;width:min(100%,22rem);padding:1.6rem 1.4rem 1.25rem;position:relative;box-shadow:0 18px 48px #0006}.achieve-detail--off .achieve-icon-img{filter:grayscale();opacity:.55}.achieve-detail-group{letter-spacing:.1em;text-transform:uppercase;opacity:.5;margin:.15rem 0 0;font-size:.72rem;font-weight:700}.achieve-detail-title{color:#1a1a1a;margin:.35rem 0 .45rem;font-size:1.35rem;font-weight:700}.achieve-detail-desc{color:#444;margin:0;font-size:.95rem;line-height:1.45}.achieve-detail-status{opacity:.62;margin:.7rem 0 0;font-size:.82rem}.result-achieve-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:0;font-weight:600;display:flex}.result-achieve-btn:hover{text-decoration:underline}.achieve-card--off{filter:grayscale();opacity:.45}.achieve-card--on{background:#ffd1661f;border-color:#ffd1668c}.result-achieves{flex-direction:column;gap:.35rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.result-achieves li{color:#2c3e1a;background:#76965629;border-radius:8px;align-items:center;gap:.45rem;padding:.35rem .55rem;font-weight:600;display:flex}.promotion-pieces{justify-content:center;gap:.5rem;margin-bottom:.75rem;display:flex}.promotion-btn{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:8px;padding:.35rem .5rem;transition:border-color .15s,transform .1s}.promotion-btn .piece-img{width:52px;height:52px}.promotion-btn:hover{border-color:#7a9458;transform:scale(1.05)}.text-btn{color:#555;cursor:pointer;background:0 0;border:none;font-size:.9rem;text-decoration:underline}.text-btn:hover{color:#1a1a1a}.review-board{grid-template-columns:22px minmax(0,1fr);align-items:stretch;gap:.45rem;display:grid}.eval-bar{background:#111318;border-radius:7px;width:22px;min-height:140px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.eval-bar-white{background:#f3ecd4;transition:height .28s;position:absolute;left:0;right:0}.eval-bar--white-bottom .eval-bar-white{bottom:0}.eval-bar--white-top .eval-bar-white{top:0}.eval-bar-label{z-index:1;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;padding:0 1px;font-size:.58rem;font-weight:800;line-height:1.1;position:absolute;left:0;right:0}.eval-bar-label.is-white{color:#1a252f}.eval-bar-label.is-black{color:#f3ecd4}.eval-bar--white-bottom .eval-bar-label.is-white,.eval-bar--white-top .eval-bar-label.is-black{bottom:5px}.eval-bar--white-top .eval-bar-label.is-white,.eval-bar--white-bottom .eval-bar-label.is-black{top:5px}.review-explore{background:#8ef0d21a;border:1px solid #8ef0d247;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.7rem;margin-top:.4rem;padding:.5rem .65rem;font-size:.88rem;line-height:1.4;display:flex}.review-explore p{flex:1;min-width:0;margin:0}.review-explore .text-link{flex-shrink:0;margin-top:.1rem}.page--review .side-column,.page--review .panel{max-width:340px}.page--review .panel--review{gap:.75rem;padding:.75rem .8rem .9rem}.page--review .move-rows{max-height:min(42vh,360px)}.page--review .move{padding:.1rem .28rem;font-size:.8rem}.page--review .move-row{grid-template-columns:1.7em 1fr 1fr}.page--review .move-number{padding-left:.15rem;font-size:.72rem}.page--review .review-sheet{gap:.75rem;margin-top:1.4rem;display:grid}.review-diagram{gap:.65rem;display:grid}.review-accuracy{background:#00000038;border-radius:10px;padding:.55rem .65rem .65rem}.review-accuracy-kicker{letter-spacing:.1em;text-transform:uppercase;opacity:.58;margin:0;font-size:.68rem;font-weight:700}.review-accuracy-score{color:#ffd166;font-variant-numeric:tabular-nums;margin:.1rem 0 .4rem;font-size:1.85rem;font-weight:800;line-height:1}.review-accuracy-bar{background:#ffffff1a;border-radius:999px;height:7px;overflow:hidden}.review-accuracy-bar i{background:linear-gradient(90deg,#81b64c,#ffd166);height:100%;display:block}.review-class{gap:.18rem;margin:0;padding:0;list-style:none;display:grid}.review-class-row{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:1.4rem 5.4rem minmax(0,1fr) 1.6rem;align-items:center;gap:.35rem;padding:.18rem .2rem;display:grid}.review-class-row:hover{background:#ffffff0f}.review-class-glyph{text-align:center;font-size:.72rem;font-weight:800}.review-class-name{text-align:left;text-transform:capitalize;font-size:.78rem;font-weight:700}.review-class-track{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.review-class-track i{height:100%;display:block}.review-class-n{font-variant-numeric:tabular-nums;text-align:right;font-size:.82rem;font-weight:800}.review-class-row--brilliant .review-class-glyph,.review-class-row--brilliant .review-class-n{color:#5eead4}.review-class-row--brilliant .review-class-track i{background:#5eead4}.review-class-row--best .review-class-glyph,.review-class-row--best .review-class-n{color:#96e6a1}.review-class-row--best .review-class-track i{background:#81b64c}.review-class-row--good .review-class-glyph,.review-class-row--good .review-class-n{color:#86efac}.review-class-row--good .review-class-track i{background:#86efac}.review-class-row--inaccuracy .review-class-glyph,.review-class-row--inaccuracy .review-class-n{color:#fde047}.review-class-row--inaccuracy .review-class-track i{background:#fde047}.review-class-row--mistake .review-class-glyph,.review-class-row--mistake .review-class-n{color:#fb923c}.review-class-row--mistake .review-class-track i{background:#fb923c}.review-class-row--blunder .review-class-glyph,.review-class-row--blunder .review-class-n{color:#f87171}.review-class-row--blunder .review-class-track i{background:#f87171}.review-diagram-foot{opacity:.62;margin:0;font-size:.75rem}.review-eval{cursor:pointer;touch-action:manipulation;background:#0003;border-radius:8px;width:100%;height:104px;display:block}.review-eval-hit,.review-eval-hitdot{fill:#0000;pointer-events:all}.review-eval-zero{stroke:#ffffff2e;stroke-width:1px;pointer-events:none}.review-eval-fill{fill:#ffd16629;pointer-events:none}.review-eval-line{fill:none;stroke:#ffd166;stroke-width:1.8px;pointer-events:none}.review-eval-dot{stroke:#0a0e0c73;stroke-width:1px;pointer-events:none}.review-eval-dot.is-on{stroke:#fff6d6;stroke-width:1.6px}.review-eval-ring{fill:none;stroke-width:2px;pointer-events:none}.sf-review .review-diagram{color:inherit}.sf-review .review-accuracy{background:#1a252f0f}.sf-review .review-accuracy-score{color:#7a4b00}.sf-review .review-class-track{background:#1a252f14}.sf-review .review-eval{background:#1a252f0d}.review-filters{flex-wrap:wrap;gap:.5rem;display:flex}.review-filter--on{color:#1a252f;background:#ffd166;border-color:#ffd166}.review-current{color:#e8e8e8;margin:0;font-size:.95rem}.review-notes{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.review-notes--compact{gap:.28rem}.review-note{text-align:left;color:#f0f0f0;width:100%;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;padding:.85rem 1rem;display:block}.review-notes--compact .review-note{border-radius:8px;padding:.38rem .65rem}.review-note-glyph{min-width:1.3em;margin-right:.25rem;font-size:.78em;display:inline-block}.review-note:hover{background:#ffffff1a}.review-note--active{border-color:#ffd166;box-shadow:inset 0 0 0 1px #ffd166}.review-note--brilliant{border-left:4px solid #5eead4}.review-note--best{border-left:4px solid #81b64c}.review-note--good{border-left:4px solid #86efac}.review-note--inaccuracy{border-left:4px solid #fde047}.review-note--mistake{border-left:4px solid #fb923c}.review-note--blunder{border-left:4px solid #f87171}.review-note-head{flex-wrap:wrap;justify-content:space-between;gap:.4rem 1rem;margin:0 0 .4rem;display:flex}.review-note-head span{opacity:.7;font-size:.88rem}.review-note-text{margin:0;line-height:1.45}a.primary-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.campaign-legend{flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem;display:flex}.campaign-chip{background:#ffffff14;border-radius:999px;padding:.2rem .65rem;font-size:.8rem;font-weight:700}.campaign-chip--novice{color:#9be89b}.campaign-chip--club{color:#ffd166}.campaign-chip--strong{color:#f0b27a}.campaign-chip--elite{color:#c5d8ff}.campaign-top{grid-template-columns:1fr 1fr;align-items:stretch;gap:1rem;margin-bottom:1rem;display:grid}.campaign-top .campaign-sheet{margin-top:0}.campaign-crown{flex-direction:column;margin:0;display:flex}.campaign-crown-hero{grid-template-columns:132px 1fr;align-items:center;gap:.85rem;display:grid}.campaign-crown-hero img{object-fit:contain;background:#102018;border:1px solid #e8c47873;border-radius:12px;width:132px;height:132px}.campaign-crown-bar{background:#ffffff14;border-radius:999px;height:8px;margin-top:.45rem;overflow:hidden}.campaign-crown-bar i{background:linear-gradient(90deg,#8fd18a,#ffd166);height:100%;display:block}.campaign-crown-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin-top:.9rem;display:grid}.campaign-crown-piece{aspect-ratio:1;cursor:pointer;background:0 0;border:0;width:100%;min-height:52px;padding:0;position:relative}.campaign-crown-piece img{object-fit:cover;border:1px solid #e8c47847;border-radius:8px;width:100%;height:100%;display:block}.campaign-crown-piece span{color:#fff6d6;text-shadow:0 1px 2px #000,0 0 8px #000000d9;place-items:center;font-size:clamp(.92rem,1.6vw,1.12rem);font-weight:800;display:grid;position:absolute;inset:0}.campaign-crown-piece--got span{color:#d8f5c8}.campaign-crown-piece--now img{box-shadow:0 0 0 2px #ffd166}.campaign-crown-piece--lock{filter:grayscale(.85)brightness(.7);cursor:default}.campaign-board-scroll{width:100%}.campaign-board{aspect-ratio:16/9;background:#12353c;border:1px solid #e8c47873;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000073,inset 0 0 0 3px #3a26108c,inset 0 0 90px #00000047}.campaign-art{object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.campaign-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.campaign-labels{pointer-events:none;position:absolute;inset:0}.campaign-label{letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px #281808d9,0 8px 18px #00000073;opacity:.92;font-family:Georgia,Times New Roman,serif;font-size:clamp(.62rem,1.4vw,.92rem);font-weight:700;position:absolute}.campaign-label--novice{color:#d8f5c8;top:6%;left:6%}.campaign-label--club{color:#ffe7a3;top:36%;left:42%}.campaign-label--strong{color:#f3d0a6;top:58%;left:68%}.campaign-label--elite{color:#d7e7ff;bottom:10%;left:8%}.campaign-node{cursor:pointer;z-index:1;background:radial-gradient(circle at 35% 30%,#3a4a3a,#1a252f 70%);border:3px solid #f3e0a8;border-radius:50%;place-items:center;width:58px;height:58px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #2a1c0a8c,0 8px 18px #00000080}.campaign-node .bot-avatar{border-radius:50%;width:44px;height:44px}.campaign-node--puzzles{background:#3d2e12;border-color:#ffd166}.campaign-puzzle-mark,.campaign-puzzle-big{color:#ffd166;font-variant-numeric:tabular-nums;font-weight:800}.campaign-puzzle-big{background:#3d2e12;border:3px solid #ffd166;border-radius:50%;place-items:center;width:64px;height:64px;font-size:1.4rem;display:grid}.campaign-node--current{z-index:2;box-shadow:0 0 0 4px #ffd16673,0 8px 18px #00000073}.campaign-node--done{border-color:#9be89b}.campaign-node--lock{filter:grayscale(.85)brightness(.72);cursor:default}.campaign-check,.campaign-lock{background:#1a252f;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-size:.7rem;display:grid;position:absolute;bottom:-4px;right:-4px}.campaign-check{color:#9be89b;border:1px solid #9be89b}.campaign-sheet{flex-direction:column;align-items:stretch;gap:.75rem;margin-top:0}.campaign-sheet-art{aspect-ratio:16/9;background:#15231f;border-radius:10px;margin:0;overflow:hidden}.campaign-sheet-art img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.campaign-sheet-body{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.campaign-sheet-main{align-items:center;gap:.9rem;display:flex}.campaign-region{letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin:0;font-size:.78rem}.campaign-sheet-title{margin:.1rem 0 .2rem;font-size:1.25rem}.campaign-sheet-actions{flex-direction:column;gap:.4rem;min-width:0;display:flex}.campaign-dialog-backdrop{z-index:120}.campaign-dialog{color:#2a2114;background:#f4ead3;border-radius:16px;width:min(38rem,100%);padding:.7rem 1.15rem 1.15rem;box-shadow:0 20px 50px #00000073,inset 0 0 0 2px #5c3e1640}.campaign-dialog-art{border-radius:12px;max-height:210px;margin:.15rem -.45rem .75rem;overflow:hidden}.campaign-dialog-art img{object-fit:cover;width:100%;height:200px;display:block}.campaign-level-banner{border-radius:10px;margin-bottom:.35rem;overflow:hidden}.campaign-level-banner img{object-fit:cover;width:100%;height:120px;display:block}.campaign-dialog-chapter{letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin:0;font-size:.72rem;font-weight:700}.campaign-dialog-title{color:#2a2114;margin:.2rem 0 .9rem;font-family:Georgia,Times New Roman,serif;font-size:1.45rem}.campaign-dialog-line{background:#2a21140f;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;min-height:6.4rem;padding:.85rem .9rem;display:grid}.campaign-dialog-face{place-items:center;display:grid}.campaign-dialog-face .brand-mark,.campaign-dialog-face .bot-avatar{border-radius:12px;width:52px;height:52px}.campaign-dialog-seal{color:#ffd166;background:#3d2e12;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.3rem;display:grid}.campaign-dialog-speaker{margin:0 0 .25rem;font-size:.92rem;font-weight:800}.campaign-dialog-line--narrator .campaign-dialog-speaker{color:#2f6b3a}.campaign-dialog-line--foe .campaign-dialog-speaker{color:#8a3a1a}.campaign-dialog-line--trial .campaign-dialog-speaker{color:#7a5a10}.campaign-dialog-text{margin:0;font-size:1.02rem;line-height:1.5}.campaign-dialog-dots{justify-content:center;gap:.35rem;margin:.75rem 0 .85rem;display:flex}.campaign-dialog-dots span{background:#2a21142e;border-radius:50%;width:.45rem;height:.45rem}.campaign-dialog-dots span.is-on{background:#c4922a}.campaign-dialog .lesson-voice{color:#2a2114;background:#2a211412;border-color:#5c3e1638;max-width:none;margin:.85rem 0 0}.campaign-dialog .lesson-voice--on{background:linear-gradient(#c4922a38,#c4922a14);border-color:#c4922a73}.campaign-dialog .lesson-voice--on .lesson-voice-speaker{color:#fff8e8;background:#c4922a}.campaign-dialog .lesson-voice--on .lesson-voice-state{color:#8a6414}.campaign-dialog .lesson-voice-switch{background:#2a21142e}.campaign-dialog .lesson-voice--on .lesson-voice-switch{background:#c4922a}.campaign-dialog-actions{flex-direction:column;gap:.4rem;display:flex}.campaign-dialog-actions .btn--link{color:#5c3e16}@media (width<=900px){.campaign-top{grid-template-columns:1fr}.campaign-crown-hero{grid-template-columns:108px 1fr}.campaign-crown-hero img{width:108px;height:108px}}@media (width<=700px){.campaign-sheet,.campaign-sheet-body{flex-direction:column;align-items:stretch}.campaign-dialog-art img{height:140px}.campaign-crown-grid{gap:.38rem}.campaign-crown-piece{min-height:44px}.campaign-node{width:46px;height:46px}.campaign-node .bot-avatar{width:34px;height:34px}}.admin-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.85rem 1rem;display:flex}.bulk-queue{flex-direction:column;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.bulk-queue-item{background:#0000002e;border-radius:8px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:baseline;gap:.5rem 1rem;padding:.55rem .7rem;font-size:.9rem;display:grid}.bulk-queue-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bulk-queue-item--wait span{opacity:.65}.bulk-queue-item--text span,.bulk-queue-item--cover span{color:#ffd166}.bulk-queue-item--done span{color:#9ee0a8}.bulk-queue-item--error span{color:#ff9c9c}.admin-search{flex:1;min-width:180px}.admin-table{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.admin-row{background:#0003;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;padding:.55rem .6rem;display:grid}.admin-row-main{flex-direction:column;gap:.12rem;min-width:0;display:flex}.admin-row-main strong{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.admin-row-main span{opacity:.7;font-size:.82rem}.admin-elo{color:#ffd166;font-variant-numeric:tabular-nums;font-weight:700}.admin-badge{letter-spacing:.04em;text-transform:uppercase;color:#ffd166;background:#ffd1662e;border-radius:999px;padding:.12rem .4rem;font-size:.68rem;font-weight:700}.admin-badge--ghost{color:#b7d4ff;background:#8cbeff29}.admin-badge--me{color:#b6e3c0;background:#78c88c2e}.admin-badge--plan{color:#ffe6a8;background:#ffd16638}.admin-badge--warn{color:#ffb09a;background:#ff785a2e}.admin-back{margin:0 0 .2rem}.admin-back a{color:#ffd166;font-size:.88rem}.admin-fields{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.65rem;display:grid}.admin-check{align-items:center;gap:.45rem;font-size:.92rem;display:flex}.admin-danger{border-color:#ff787847;margin-top:1rem}.form-ok{color:#9ee0a8;margin:0;font-size:.92rem}.ai-coach{margin-top:1rem}.ai-coach-head{align-items:flex-start;gap:.85rem;display:flex}.ai-coach-face{object-fit:cover;border:1px solid #e8c47866;border-radius:14px;flex:none;width:72px;height:72px}.ai-coach-quote{color:#ffd166;margin:.35rem 0 0;font-size:.88rem;font-style:italic}.ai-coach-text{white-space:pre-wrap;font-size:.98rem;line-height:1.55}.ai-coach-move{color:#ffd166;font:inherit;cursor:pointer;text-underline-offset:2px;background:#ffd1662e;border:none;border-radius:4px;margin:0;padding:0 .12em;font-weight:700;text-decoration:underline;display:inline}.ai-coach-move:hover{background:#ffd16652}.ai-coach--under-board{margin-top:.85rem}.review-coach-focus{margin:.45rem 0 0}.ai-coach-form{flex-direction:column;gap:.65rem;display:flex}.ai-coach-form .primary-btn{align-self:flex-start;width:auto}.ai-coach-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.ai-coach-actions .primary-btn,.ai-coach-actions .btn{width:auto}.admin-nav{flex-wrap:wrap;gap:.4rem;margin:-.35rem 0 .4rem;display:flex}.admin-nav-link{color:inherit;background:#0000002e;border:1px solid #ffffff1f;border-radius:999px;padding:.4rem .75rem;font-size:.88rem;font-weight:600;text-decoration:none}.admin-nav-link--active{color:#ffd166;background:#ffd1662e;border-color:#ffd16666}.admin-nav-dev{letter-spacing:.05em;text-transform:uppercase;color:#1a1a1a;background:#ff5c40;border-radius:6px;align-items:center;padding:.35rem .65rem;font-size:.68rem;font-weight:800;display:inline-flex}.admin-row--article{grid-template-columns:auto 1fr auto}.admin-thumb{object-fit:cover;background:#00000059;border-radius:6px;width:56px;height:40px}.admin-thumb--empty{border:1px dashed #ffffff29;display:inline-block}.article-editor{gap:.85rem}.cms-wrap{flex-direction:column;gap:.45rem;display:flex}.cms-editor{background:#00000040;border:1px solid #ffffff2e;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.cms-toolbar{background:#ffffff0a;border-bottom:1px solid #ffffff1f;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.4rem .45rem;display:flex}.cms-tools{flex-wrap:wrap;flex:auto;align-items:center;gap:.25rem;display:flex}.cms-modes{border:1px solid #ffffff24;border-radius:6px;margin-left:auto;display:flex;overflow:hidden}.cms-mode{color:#f3ecd4;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:.28rem .7rem;font-size:.8rem}.cms-mode--on{color:#ffd166;background:#ffd16638}.cms-html-label{opacity:.7;font-size:.8rem}.cms-html{color:#f5f5f5;resize:vertical;background:#0003;border:0;border-radius:0;min-height:16rem;margin:0;padding:.75rem .85rem;font-family:ui-monospace,Consolas,monospace;font-size:.86rem;line-height:1.45}.cms-disable{opacity:.88;align-items:center;gap:.45rem;font-size:.88rem;display:flex}.cms-tool{color:#f3ecd4;font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;margin:0;padding:.28rem .5rem;font-size:.8rem;line-height:1.2}.cms-tool:hover{background:#ffffff1f}.cms-tool--b{font-weight:800}.cms-tool--i{font-style:italic}.cms-tool--u{text-decoration:underline}.cms-sep{background:#ffffff29;width:1px;height:1.1rem;margin:0 .2rem}.cms-surface{color:#f5f5f5;white-space:normal;outline:none;min-height:16rem;padding:.75rem .85rem;line-height:1.6}.cms-surface:empty:before{content:attr(data-placeholder);opacity:.45}.cms-surface p,.cms-surface ul,.cms-surface ol,.cms-surface blockquote{margin:0 0 .7rem}.cms-surface h2,.cms-surface h3,.cms-surface h4{margin:.85rem 0 .4rem}.cms-surface ul,.cms-surface ol{padding-left:1.2rem}.cms-surface a{color:#c9e28a}.cms-editor textarea.cms-html{color:#f5f5f5;resize:vertical;background:#0003;border:0;border-radius:0;min-height:16rem;margin:0;padding:.75rem .85rem;font-family:ui-monospace,Consolas,monospace;font-size:.86rem;line-height:1.45}.article-editor-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.article-editor-actions .btn,.article-editor-actions .primary-btn,.article-editor-actions a.btn{flex:none}.article-cover-edit{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.article-cover-edit>div{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.article-cover-preview{object-fit:cover;border-radius:8px;width:160px;height:90px}.article-cover-edit .btn{cursor:pointer;flex:none;display:inline-flex}.article-preview h3{margin:0}.journal-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.journal-list>li{min-width:0;display:flex}.journal-card{width:100%;min-width:0;color:inherit;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;flex:auto;padding:.75rem;text-decoration:none;display:flex}.journal-card-body{flex-direction:column;flex:auto;gap:.25rem;min-width:0;padding:.7rem .15rem .15rem;display:flex}.journal-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:0;font-size:1.12rem;line-height:1.3;display:-webkit-box;overflow:hidden}.journal-excerpt{opacity:.8;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:4.35em;margin:0;font-size:.92rem;line-height:1.45;display:-webkit-box;overflow:hidden}.journal-card time,.journal-author{opacity:.6;font-size:.8rem}.journal-author{margin-top:auto;padding-top:.35rem}.journal-cover{aspect-ratio:16/9;object-fit:cover;background:#00000047;border-radius:10px;flex:none;width:100%;height:auto;display:block}.journal-cover--empty{min-height:0}.article-page{flex-direction:column;gap:1.15rem;width:100%;max-width:none;display:flex}.article-meta{opacity:.65;margin:0;font-size:.9rem}.article-lead{opacity:.88;font-size:1.05rem}.article-hero-cover{object-fit:cover;border-radius:12px;width:100%;max-height:360px}.article-body{flex-direction:column;gap:.75rem;font-size:1.05rem;line-height:1.65;display:flex}.article-body p,.article-body ul,.article-body ol,.article-body blockquote{margin:0}.article-body h2,.article-body h3,.article-body h4{margin:.4rem 0 0}.article-body ul,.article-body ol{padding-left:1.2rem}.article-body a{color:#c9e28a}.article-body blockquote{opacity:.9;border-left:3px solid #c9e28a73;padding:.15rem 0 .15rem .8rem}.land-journal{margin-top:1rem}.journal-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;margin:1.25rem 0 0;display:flex}.journal-page{color:#f3ecd4;min-width:2.2rem;height:2.2rem;font:inherit;cursor:pointer;background:#0003;border:1px solid #ffffff29;border-radius:8px;padding:0 .45rem}.journal-page--active{color:#e8f3c4;background:#c9e28a38;border-color:#c9e28a73}.journal-page-gap{opacity:.45;padding:0 .15rem}.land-journal-more{text-align:right;margin:.85rem 0 0}.land-journal-more a{color:#ffd166;font-weight:600}@media (width<=960px){.journal-list,.land-journal{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.journal-list,.land-journal{grid-template-columns:1fr}}@media (width<=700px){.admin-row{grid-template-columns:auto 1fr auto}.admin-row .btn{grid-column:1/-1}}.app--landing{max-width:none;padding:1.25rem max(1rem, env(safe-area-inset-right,0px)) 0 max(1rem, env(safe-area-inset-left,0px))}.app--landing .site-header{z-index:30;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;position:relative}.app--landing .site-footer{background:#121910;margin-top:0;padding:1.5rem 1.25rem 1.6rem}.app--landing .footer-grid,.app--landing .footer-copy{max-width:1180px;margin-left:auto;margin-right:auto}.journal-shell{width:100%}.play-invite{color:#f3ecd4;border:1px solid #ffffff1a;border-radius:12px;min-height:280px;margin-top:1.5rem;position:relative;overflow:hidden}.play-invite-bg,.play-invite-shade{position:absolute;inset:0}.play-invite-bg{filter:saturate(1.08)contrast(1.05);background-position:50% 30%;background-size:cover;transform:scale(1.06)}.play-invite-shade{background:linear-gradient(90deg,#0a100ad1 0%,#0a100a75 48%,#0a100a38 100%),linear-gradient(#0a100a1f 0%,#0a100a8c 100%)}.play-invite-inner{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(240px,.95fr);align-items:center;gap:1.4rem;width:100%;min-height:280px;padding:1.4rem 1.25rem;display:grid;position:relative}.play-invite-copy h3{color:#fff6d6;margin:0 0 .55rem;font-size:1.55rem;line-height:1.2}.play-invite-copy p{color:#f3ecd4db;max-width:34rem;margin:0 0 1rem;font-size:.98rem;line-height:1.5}.play-invite-photos{grid-template-rows:108px 116px;grid-template-columns:1.4fr .8fr .8fr;gap:.55rem;display:grid}.play-invite-photos img{object-fit:cover;border:1px solid #f3ecd429;border-radius:10px;width:100%;height:100%}.play-invite-wide{grid-area:1/1/3/2}.play-invite-photos img:nth-child(2){grid-area:1/2/2/3}.play-invite-photos img:nth-child(3){grid-area:1/3/2/4}.play-invite-photos img:nth-child(4){grid-area:2/2/3/3}.play-invite-photos img:nth-child(5){grid-area:2/3/3/4}.play-invite .primary-btn,.play-invite .btn{width:auto;padding-left:1.35rem;padding-right:1.35rem}a.primary-btn,a.btn{box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.land .primary-btn,.dash-path .primary-btn,.dash-last .btn{width:auto;padding-left:1.35rem;padding-right:1.35rem}.btn--ghost{color:#f3ecd4;background:0 0;border:1px solid #f3ecd459;flex:none}.btn--ghost:hover:not(:disabled){background:#f3ecd41a}.showcase-board{width:min(100%,420px)}.land{color:#f3ecd4;background:#152016}.land-wrap{max-width:1180px;margin:0 auto;padding:0 1.25rem}.land-kicker{letter-spacing:.16em;text-transform:uppercase;color:#ffd166;margin:0 0 .45rem;font-size:.78rem;font-weight:700}.land-h{color:#fff6d6;margin:0 0 .7rem;font-size:clamp(1.7rem,3.4vw,2.55rem);line-height:1.15}.land-lead{color:#f3ecd4d1;max-width:38rem;margin:0 0 1.2rem;font-size:1.08rem;line-height:1.55}.land-lead--center{text-align:center;margin-left:auto;margin-right:auto}.land-center{text-align:center;margin-top:1.4rem}.land-hero{align-items:center;min-height:calc(100vh - 5.5rem);padding:1.5rem 0 3rem;display:flex;position:relative;overflow:hidden}.land-hero-bg{filter:saturate(1.05)contrast(1.05);will-change:transform;background-position:50%;background-size:cover;position:absolute;inset:-12% 0}.land-hero-shade{background:linear-gradient(90deg,#0c120cb8 0%,#0c120c61 46%,#0c120c2e 100%),linear-gradient(#0c120c2e 0%,#0c120c80 100%);position:absolute;inset:0}.land-hero-shade--soft{background:linear-gradient(#0c120c33 0%,#0c120c9e 100%)}.land-hero-grid{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(260px,.9fr);align-items:center;gap:2rem;display:grid;position:relative}.land-hero-copy h2{color:#fff6d6;text-shadow:0 8px 28px #00000073;margin:0 0 .8rem;font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.08}.land-cta{flex-wrap:wrap;gap:.7rem;display:flex}.land-hero-stage{justify-self:end;position:relative}.land-hero-board{filter:drop-shadow(0 18px 40px #00000080);width:min(100%,380px)}.land-more{opacity:.65;margin:.2rem auto .4rem;font-size:.92rem}.land-section{background:radial-gradient(1200px 280px at 50% -40px,#ffd16612,#0000 60%),#152016;padding:3.4rem 0}.land-section--puzzle{background:linear-gradient(#152016 0%,#1b2a1c 100%)}.land-section--course{background:linear-gradient(#1b2a1c 0%,#152016 100%)}.land-course{grid-template-columns:minmax(0,1.05fr) minmax(260px,.9fr);align-items:center;gap:2rem;display:grid}.land-course-steps{gap:.7rem;margin:0 0 1.1rem;padding:0;list-style:none;display:grid}.land-course-steps li{gap:.12rem;padding-left:1.7rem;display:grid;position:relative}.land-course-steps li:before{content:counter(course-step);counter-increment:course-step;color:#1a252f;background:#ffd166;border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:.12rem;left:0}.land-course-steps{counter-reset:course-step}.land-course-steps strong{font-size:1rem}.land-course-steps span{opacity:.75;font-size:.92rem;line-height:1.4}.land-course-stage{will-change:transform}.land-course-caption{text-align:right;opacity:.72;margin:.7rem 0 .85rem;font-size:.9rem}.land-course-shots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.land-course-shots img{object-fit:cover;object-position:center;border:1px solid #ffd16629;border-radius:10px;width:100%;height:78px;display:block}.land-course-topics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:1.6rem;display:grid}.land-course-topic{background:#080c0873;border:1px solid #f3ecd41a;border-radius:14px;padding:.95rem 1rem 1.05rem}.land-course-topic h4{margin:0 0 .4rem;font-size:1rem}.land-course-topic p{opacity:.76;margin:0;font-size:.88rem;line-height:1.45}.land-how{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.6rem;display:grid}.land-how-card{background:#080c0873;border:1px solid #f3ecd41a;border-radius:16px;padding:.85rem .85rem 1.15rem}.land-how-frame{aspect-ratio:1.35;border-radius:10px;overflow:hidden}.land-how-card h4{margin:.85rem 0 .35rem;font-size:1.15rem}.land-how-card p{opacity:.78;margin:0}.land-how-board,.land-how-img{aspect-ratio:1.35;object-fit:cover;will-change:transform;border-radius:10px;width:100%;height:100%}.land-how-board .board{aspect-ratio:1.35}.land-map-block{background:#10160f;padding:3rem 0 3.4rem}.land-map{border:1px solid #ffd1662e;border-radius:18px;margin:1.4rem 0 0;overflow:hidden;box-shadow:0 18px 48px #00000059}.land-map img{aspect-ratio:16/9;object-fit:cover;will-change:transform;width:100%;height:auto;display:block}.land-chars{scroll-snap-type:x mandatory;gap:.85rem;padding:1.2rem 1.25rem 1.6rem;display:flex;overflow-x:auto}.land-char{scroll-snap-align:start;background:#161c14;border:1px solid #ffd16624;border-radius:16px;flex:0 0 240px;overflow:hidden}.land-char img{object-fit:cover;object-position:center top;will-change:transform;width:100%;height:280px;display:block}.land-char-body{padding:.85rem .95rem 1.05rem}.land-char strong,.land-char span,.land-char p{display:block}.land-char strong{font-size:1.08rem}.land-char span{color:#ffd166;margin:.15rem 0 .45rem;font-size:.82rem}.land-char p{opacity:.8;margin:0;font-size:.88rem;line-height:1.4}.land-puzzle{grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);align-items:center;gap:2rem;display:grid}.land-side-title{color:#ffd166;margin:0 0 .35rem;font-weight:800}.land-side-title--right{text-align:right}.land-xp{color:#1a252f;background:#ffd166;border-radius:999px;margin:0 0 .8rem;padding:.2rem .7rem;font-weight:800;animation:1.4s ease-in-out infinite land-xp;display:inline-block}@keyframes land-xp{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.land-tags{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.land-tags li{background:#00000038;border:1px solid #f3ecd429;border-radius:999px;padding:.28rem .7rem;font-size:.85rem}.land-progress,.land-coach{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);align-items:start;gap:1.4rem;margin-top:1.4rem;display:grid}.land-profile{text-align:center;background:linear-gradient(#2a3824,#161c14);border:1px solid #ffd16633;border-radius:18px;padding:1.2rem}.land-profile-elo{color:#ffd166;margin-top:.35rem;font-size:2.4rem;line-height:1;display:block}.land-streak,.land-ach-count{margin:.65rem 0;font-weight:700}.land-skill{text-align:left;grid-template-columns:6.5rem 1fr;align-items:center;gap:.45rem;margin:.35rem 0;font-size:.82rem;display:grid}.land-skill i{background:#ffffff1a;border-radius:99px;height:8px;display:block;overflow:hidden}.land-skill b{background:linear-gradient(90deg,#7cb518,#ffd166);height:100%;display:block}.land-ach-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;display:grid}.land-ach{text-align:center;margin:0}.land-ach [data-parallax]{display:inline-block}.land-ach img{object-fit:cover;border-radius:16px;width:92px;height:92px;box-shadow:0 8px 20px #00000059}.land-ach figcaption{margin-top:.35rem;font-size:.82rem;font-weight:700}.land-online-shot{max-width:440px;margin:1.2rem auto}.land-online-names{justify-content:space-between;margin-top:.5rem;font-weight:700;display:flex}.land-coach-card{background:#080c0880;border:1px solid #f3ecd41f;border-radius:16px;padding:1.2rem}.land-coach-quote{color:#ffd166;max-width:34rem;margin:0 0 1.1rem;font-style:italic}.land-coach-who{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.land-coach-who img{object-fit:cover;border:1px solid #e8c47859;border-radius:14px;width:64px;height:64px}.land-coach-who span{opacity:.7;font-size:.82rem;display:block}.land-coach-card h4{margin:0 0 .8rem}.land-today{background:#ffd1661f;border-radius:12px;margin-top:1rem;padding:.85rem}.land-today strong,.land-today span{display:block}.land-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.land-plan{background:#080c0880;border:1px solid #f3ecd41f;border-radius:16px;flex-direction:column;gap:.55rem;padding:1.25rem 1.15rem 1.3rem;display:flex;position:relative}.land-plan strong{color:#ffd166;font-size:1.45rem}.land-plan .btn,.land-plan .primary-btn{width:100%;margin-top:auto}.land-plan--hot{background:linear-gradient(#ffd16629,#080c0899);border-color:#ffd1668c;transform:translateY(-6px)}.land-plan-flag{letter-spacing:.04em;text-transform:uppercase;color:#1a252f;background:#ffd166;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:800;position:absolute;top:-.65rem;right:.9rem}.land-plan-dot{letter-spacing:.08em;font-weight:800}.land-plan-dot--start{color:#8fd18a}.land-plan-dot--pro{color:#8ec5ff}.land-plan-dot--max{color:#d9b4ff}.land-finale{align-items:center;min-height:560px;padding:3rem 0;display:flex;position:relative;overflow:hidden}.land-finale-copy{z-index:1;text-align:center;position:relative}.land-finale-copy h3{color:#fff6d6;margin:.8rem 0 .45rem;font-size:clamp(1.7rem,4vw,2.6rem)}.land-finale-copy p{margin:0 0 1.1rem;font-size:1.15rem}.land-finale-copy small{opacity:.7;margin-top:.75rem;display:block}.land-how-frame>[data-parallax]{height:100%}.land-puzzle-board,.land-course-stage,.land-profile,.land-coach-card,.land-online-shot{will-change:transform}@media (prefers-reduced-motion:reduce){.land [data-parallax]{will-change:auto;transform:none!important}}.page--dash .dash-welcome{align-items:center;gap:.9rem;margin-bottom:1.15rem;display:flex}.page--dash .dash-welcome h2{margin:0 0 .2rem}.page--dash .dash-welcome p{opacity:.75;margin:0}.dash-path{margin-bottom:1rem}.dash-level{margin:0 0 .45rem;font-weight:700}.dash-bar{background:#ffffff1a;border-radius:99px;height:10px;margin-bottom:.75rem;overflow:hidden}.dash-bar b{background:linear-gradient(90deg,#7cb518,#ffd166);height:100%;display:block}.dash-next{margin:0 0 .9rem}.dash-next strong{align-items:center;gap:.35rem;display:inline-flex}.dash-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.dash-today{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.dash-today li{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.dash-today a{color:#ffd166;font-weight:700;text-decoration:none}.dash-today li.is-done span{opacity:.72;-webkit-text-decoration:line-through #9ee0a8b3;text-decoration:line-through #9ee0a8b3}.dash-today em{color:#9ee0a8;margin:0;font-style:normal;font-weight:700}.dash-elo{margin:0 0 .7rem;font-size:1.15rem}.dash-elo .up{color:#9ee0a8}.dash-elo .down{color:#ff9c9c}.dash-last .hint{margin:.25rem 0 .7rem}.dash-modes{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.7rem;display:grid}.dash-mode{color:inherit;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.2rem;padding:.95rem 1rem;text-decoration:none;display:flex}.dash-mode:hover{border-color:#ffd16673}.dash-mode span{opacity:.7;font-size:.82rem}@media (width<=900px){.nav-toggle{display:inline-flex}.sound-toggle{width:44px;height:44px}.site-header--open{z-index:50}.site-brand,.header-user{z-index:2;position:relative}.header-auth,.header-logout{display:none}.site-header{flex-wrap:nowrap;gap:.6rem}.site-brand{flex:auto;min-width:0}.brand h1{font-size:1.12rem}.brand-mark{border-radius:11px;flex-basis:44px;width:44px;height:44px}.header-user{flex:none;margin-left:auto}.nav-scrim{z-index:1;background:#00000080;border:0;display:block;position:fixed;inset:0}.site-nav{z-index:3;background:#1a252f;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;align-items:stretch;gap:.2rem;width:auto;margin:0;padding:.65rem;display:none;position:absolute;top:calc(100% - .2rem);left:0;right:0;box-shadow:0 18px 40px #0000006b}.site-header--open .site-nav{display:flex}.site-nav-auth{border-top:1px solid #ffffff1a;flex-direction:column;gap:.2rem;margin-top:.35rem;padding-top:.45rem;display:flex}.site-nav .site-nav-link,.site-nav-auth .site-nav-link{text-align:left;box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-height:44px;display:flex}.site-nav-auth button.site-nav-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.nav-drop-btn{display:none}.nav-drop-menu{min-width:0;box-shadow:none;background:0 0;border:0;padding:0;display:flex;position:static}.land-hero-grid,.land-how,.land-puzzle,.land-course,.land-progress,.land-coach,.land-plans,.dash-grid,.dash-modes,.play-invite-inner{grid-template-columns:1fr}.play-invite-photos{grid-template-rows:140px 100px 100px;grid-template-columns:1fr 1fr}.play-invite-wide{grid-area:1/1/2/3}.play-invite-photos img:nth-child(2),.play-invite-photos img:nth-child(3),.play-invite-photos img:nth-child(4),.play-invite-photos img:nth-child(5){grid-area:auto}.land-plan--hot{transform:none}.land-hero-stage{justify-self:center}.land-char{flex-basis:200px}.land-char img{height:220px}.land-course-topics{grid-template-columns:1fr 1fr}.land-hero{min-height:unset;padding:.4rem 0 2.2rem}.land-hero-copy h2{font-size:clamp(1.7rem,7vw,2.4rem)}.land-cta{flex-direction:column;align-items:stretch}.land-cta .primary-btn,.land-cta .btn{width:100%}.land-hero-stage{justify-self:center;width:min(100%,320px)}.land-hero-board{width:100%}.land-wrap{padding:0 1rem}.land-section{padding:2.4rem 0}.main{flex-direction:column;align-items:stretch}.side-column,.panel{max-width:none}.campaign-board-scroll{-webkit-overflow-scrolling:touch;border-radius:18px;overflow:auto}.campaign-board{aspect-ratio:auto;min-width:720px;height:405px}.modal-backdrop{align-items:flex-end;padding:0}.modal,.result-modal,.campaign-dialog{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-width:none;max-height:min(92dvh,720px);overflow:auto}.campaign-dialog-backdrop{align-items:flex-end;padding:0}}.basics-dash{background:#ffffff0d;border:1px solid #ffd16638;border-radius:16px;grid-template-columns:minmax(140px,200px) minmax(0,1fr);align-items:stretch;gap:1.1rem 1.35rem;margin:0 0 1.5rem;padding:.85rem;display:grid}.basics-dash-face{object-fit:cover;object-position:50% 18%;background:#1a252f;border:1px solid #e8c47859;border-radius:12px;width:100%;height:100%;max-height:280px}.basics-dash-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.basics-dash-kicker{letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin:0 0 .35rem;font-size:.78rem;font-weight:600}.basics-dash-line{color:#ffd166;margin:0 0 .9rem;font-size:1.12rem;font-style:italic;line-height:1.45}.basics-dash-actions{flex-wrap:wrap;gap:.55rem;margin-top:.35rem;display:flex}.trainer-dash .basics-dash-actions .primary-btn,.trainer-dash .basics-dash-actions .btn{flex:none;width:auto}.trainer-quote{opacity:.72;margin:-.35rem 0 .85rem;font-size:.92rem;font-style:italic}.trainer-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1rem;margin:0 0 1.25rem;display:grid}.trainer-about{margin:0}.trainer-points{flex-direction:column;gap:.45rem;margin:0;padding-left:1.15rem;line-height:1.45;display:flex}.trainer-links{gap:.55rem;display:grid}.trainer-link{color:inherit;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.15rem;padding:.75rem .9rem;text-decoration:none;display:flex}.trainer-link:hover{border-color:#ffd16666}.trainer-link strong{font-size:1rem}.trainer-link span{opacity:.68;font-size:.86rem}.trainer-layers{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 1.15rem;display:grid}.trainer-layers .card{margin:0}.trainer-layers p{margin:.35rem 0 0;line-height:1.4}.trainer-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 1.15rem;display:grid}.trainer-proof .card{margin:0}.trainer-proof p{margin:.35rem 0 0;line-height:1.4}.trainer-metrics{gap:.5rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.trainer-metrics li{flex-direction:column;gap:.15rem;display:flex}.trainer-metrics strong{font-size:.92rem}.trainer-metrics span{opacity:.78;font-size:.86rem;line-height:1.4}.trainer-react{color:#ffd166;margin:.55rem 0 0;font-size:.92rem;line-height:1.4}.trainer-history{opacity:.78;flex-direction:column;gap:.3rem;margin:.6rem 0 0;padding:0;font-size:.86rem;list-style:none;display:flex}.trainer-week,.trainer-reviews{margin:0 0 1.15rem}.trainer-review-lead{margin:.75rem 0 .85rem}.trainer-game-list{margin:.5rem 0 0;padding:0;list-style:none}.trainer-game-list li{border-bottom:1px solid #ffffff0f;grid-template-columns:7.5em 1fr auto auto minmax(5em,auto);align-items:center;gap:.55rem;padding:.45rem .1rem;font-size:.92rem;display:grid}.trainer-subhead{margin:1rem 0 .35rem;font-size:1rem}.trainer-error-list{gap:.4rem;margin:.45rem 0 0;padding:0;list-style:none;display:grid}.trainer-error-link{color:inherit;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:.12rem;padding:.55rem .7rem;text-decoration:none;display:flex}.trainer-error-link:hover{border-color:#ffd16666}.trainer-error-link span{opacity:.75;font-size:.84rem;line-height:1.35}.trainer-patterns{gap:.55rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.trainer-patterns li{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:.2rem;padding:.65rem .75rem;display:flex}.trainer-patterns li.is-now{background:#ffd16614;border-color:#ffd16673}.trainer-patterns strong{font-size:.95rem}.trainer-patterns span{opacity:.78;font-size:.86rem;line-height:1.4}.trainer-actions{grid-template-columns:1fr 1fr;gap:.65rem;margin:0 0 1.15rem;display:grid}.trainer-ask{flex-direction:column;gap:.45rem;margin:0 0 .75rem;padding-left:1.15rem;line-height:1.4;display:flex}.trainer-ask .is-now{color:#ffd166}.trainer-ask-actions{flex-wrap:wrap;gap:.5rem;display:flex}.trainer-ask-actions .btn{flex:auto}.trainer-campaign-note{margin:0 0 1.1rem}.coach-hint{background:#ffd16612;border:1px solid #ffd16647;border-radius:12px;margin:0 0 .85rem;padding:.7rem .75rem .8rem}.coach-hint .btn{width:100%;margin-top:.55rem}.coach-hint-list{flex-direction:column;gap:.45rem;margin:.45rem 0 0;padding-left:1.15rem;display:flex}.coach-hint-list li{flex-direction:column;gap:.15rem;line-height:1.4;display:flex}.coach-hint-list strong{letter-spacing:.06em;text-transform:uppercase;color:#ffd166;font-size:.78rem}.coach-hint-list span{font-size:.9rem}.trainer-campaign-note p{margin:.35rem 0 0}.review-story{margin:1.1rem 0 0}.review-story-list{gap:.55rem;margin:.65rem 0;padding:0;list-style:none;display:grid}.review-story-card{text-align:left;width:100%;color:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.3rem;padding:.75rem .85rem;display:flex}.review-story-card:hover,.review-story-card.is-now{border-color:#ffd16673}.review-story-card span{opacity:.8;font-size:.88rem;line-height:1.4}.page--trainer .ai-coach{margin-top:0}.basics-dash .basics-progress{margin:0 0 .45rem}.basics-progress{background:#ffffff1a;border-radius:999px;height:8px;margin:0 0 .65rem;overflow:hidden}.basics-progress span{background:#ffd166;height:100%;display:block}.basics-list{flex-direction:column;gap:.55rem;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.basics-card{color:inherit;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;grid-template-columns:88px auto 1fr auto;align-items:center;gap:.85rem;padding:.55rem .85rem .55rem .55rem;text-decoration:none;display:grid}.basics-card img{object-fit:cover;background:#1a252f;border-radius:8px;width:88px;height:66px}.basics-list-num{font-variant-numeric:tabular-nums;opacity:.5;font-weight:700}.basics-list-body{flex-direction:column;gap:.12rem;min-width:0;display:flex}.basics-list-body span{opacity:.7;font-size:.82rem}.basics-list-mark{color:#ffd166;margin-left:auto;font-size:.82rem;font-weight:700}.basics-card:hover{background:#ffd16614;border-color:#ffd16673}.basics-card--done{background:#5aa0461f;border-color:#76ba5673}.basics-card--done .basics-list-mark{color:#9be15d}.basics-card--lock{opacity:.55;cursor:not-allowed}.basics-card--lock .basics-list-mark{color:#c8c8c8}.basics-figure{background:#24362a;border:1px solid #ffffff1a;border-radius:14px;justify-content:center;margin:0 0 1.1rem;display:flex;overflow:hidden}.basics-figure img{object-fit:contain;width:100%;max-width:760px;height:auto;display:block}.basics-group{margin-top:1.35rem}.basics-section{letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin:0 0 .55rem;font-size:.78rem;font-weight:600}.basics-thumb{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:#ffd166;background:#24362a;border-radius:8px;justify-content:center;align-items:center;width:88px;height:66px;padding:.3rem;font-size:.72rem;font-weight:700;display:flex}.basics-gif{background:#00000038;border:1px solid #ffffff1a;border-radius:14px;max-width:440px;margin:0 0 1.2rem;position:relative;overflow:hidden}.basics-gif-badge{z-index:2;color:#ffd166;letter-spacing:.08em;text-transform:uppercase;background:#0000009e;border-radius:999px;padding:.12rem .45rem;font-size:.68rem;font-weight:700;position:absolute;top:.55rem;left:.55rem}.basics-gif-board{width:100%;padding:.65rem .65rem .35rem}.basics-gif figcaption{opacity:.8;margin:0;padding:.35rem .85rem .85rem;font-size:.88rem;line-height:1.4}.basics-explain{max-width:42rem}.basics-explain p{opacity:.9;margin:0 0 .75rem;line-height:1.5}.basics-learn-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.1rem;display:flex}.lesson-voice{color:#f5f5f5;background:#0000002e;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.7rem;max-width:22rem;margin:.95rem 0 0;padding:.45rem .55rem .45rem .45rem;display:flex;box-shadow:inset 0 1px #ffffff0a}.page--play>.lesson-voice{margin:0 0 .95rem}.lesson-voice--on{background:linear-gradient(#ffd16624,#ffd1660f);border-color:#ffd16647}.lesson-voice-speaker{width:38px;height:38px;color:inherit;cursor:pointer;background:#ffffff14;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.lesson-voice--on .lesson-voice-speaker{color:#1a252f;background:#ffd166}.lesson-voice-speaker:hover{filter:brightness(1.08)}.lesson-voice-speaker:disabled{opacity:.45;cursor:default;filter:none}.lesson-voice--playing .lesson-voice-speaker{animation:1.4s ease-in-out infinite lesson-voice-pulse}.lesson-voice-copy{flex-direction:column;flex:auto;min-width:0;line-height:1.15;display:flex}.lesson-voice-title{font-size:.92rem;font-weight:650}.lesson-voice-state{opacity:.62;margin-top:.12rem;font-size:.75rem}.lesson-voice--on .lesson-voice-state{color:#ffd166;opacity:.9}.lesson-voice-switch{cursor:pointer;background:#ffffff2e;border:0;border-radius:999px;flex:none;width:44px;height:26px;padding:0;position:relative}.lesson-voice--on .lesson-voice-switch{background:#ffd166}.lesson-voice-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000047}.lesson-voice--on .lesson-voice-knob{transform:translate(18px)}@keyframes lesson-voice-pulse{0%,to{box-shadow:0 0 #ffd16659}50%{box-shadow:0 0 0 7px #ffd16600}}@media (prefers-reduced-motion:reduce){.lesson-voice--playing .lesson-voice-speaker{animation:none}.lesson-voice-knob{transition:none}}@media (width<=700px){.tagline,.user-name{display:none}.app{padding-top:.85rem}.hero h2{font-size:1.35rem}.land-course-topics{grid-template-columns:1fr}.land-center .primary-btn,.land-center .btn{width:100%;max-width:22rem}.field input,.field textarea,.field select,.opening-search input{font-size:16px}.btn,.primary-btn{min-height:44px}.actions{flex-wrap:wrap}.actions .btn,.actions .primary-btn{flex:calc(50% - .5rem)}.footer-grid{grid-template-columns:1fr}.campaign-dialog-line{min-height:0}.campaign-dialog-art img{height:120px}.lesson-voice{max-width:none}.basics-learn-actions{flex-direction:column;align-items:stretch}.basics-learn-actions .primary-btn,.basics-learn-actions .btn{width:100%}.page--opening .main{flex-direction:column;display:flex}.page--opening .board-column{order:1}.page--opening .side-column{order:2}.page--opening .opening-modes{flex-wrap:wrap;order:0}.page--opening .opening-arrow-bar .btn,.page--opening .opening-move-nav .btn,.page--opening .opening-move-nav .primary-btn{flex:auto;min-height:44px}.page--opening .lesson-variants{order:3}.player-bar{gap:.35rem}.clock{min-width:3.8em;font-size:.95rem}.review-board{grid-template-columns:16px minmax(0,1fr);gap:.3rem}.eval-bar{border-radius:5px;width:16px}.eval-bar-label{font-size:.5rem}.basics-dash{grid-template-columns:1fr}.basics-dash-face{object-position:50% 12%;max-height:220px}.trainer-grid,.trainer-actions,.trainer-layers,.trainer-proof{grid-template-columns:1fr}.trainer-game-list li{grid-template-columns:1fr 1fr;gap:.25rem .55rem}.trainer-dash .basics-dash-actions .primary-btn,.trainer-dash .basics-dash-actions .btn{width:100%}.basics-card{grid-template-rows:auto auto;grid-template-columns:72px 1fr}.basics-list-num{display:none}.basics-list-mark{grid-column:2;margin-left:0}}.learn{--learn-ink:#14241b;--learn-muted:#4d6356;--learn-paper:#eef3ea;--learn-leaf:#2a8a4a;--learn-leaf-deep:#0c3320;--learn-gold:#e2b84a;--learn-cream:#f6f0dc;--learn-night:#0d1f16;color:var(--learn-ink);background:radial-gradient(ellipse 70% 45% at 85% 8%, #e2b84a24, transparent 55%), radial-gradient(ellipse 55% 40% at 0% 30%, #2a8a4a1a, transparent 50%), linear-gradient(180deg, #e8f0e6 0%, var(--learn-paper) 40%, #e3ebe0 100%);margin:0;font-family:"Source Sans 3",Segoe UI,sans-serif;overflow:clip}.learn-wrap{width:min(1120px,100% - 2.5rem);margin:0 auto}.learn-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--learn-leaf);margin:0 0 .45rem;font-size:.72rem;font-weight:700}.learn-h1,.learn-h2,.learn-h3{letter-spacing:-.03em;color:var(--learn-leaf-deep);font-family:Fraunces,Georgia,serif;font-weight:700;line-height:1.08}.learn-h1{max-width:11ch;margin:0 0 .85rem;font-size:clamp(2.35rem,5.5vw,3.65rem)}.learn-h2{max-width:18ch;margin:0 0 .75rem;font-size:clamp(1.7rem,3.4vw,2.4rem)}.learn-h3{margin:0 0 .5rem;font-size:1.35rem}.learn-lead{color:var(--learn-muted);max-width:34rem;margin:0 0 1.35rem;font-size:1.12rem;line-height:1.55}.learn-lead--narrow{max-width:32rem}.learn-section-head{margin-bottom:1.75rem}.learn-brand{color:var(--learn-cream);align-items:center;gap:.75rem;margin:0 0 1.35rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.35rem,2.5vw,1.7rem);font-weight:700;display:flex}.learn-brand--light{color:var(--learn-cream);justify-content:center;margin-bottom:1rem}.learn-hero{color:var(--learn-cream);isolation:isolate;background:radial-gradient(90% 80% at 70% 40%,#2a8a4a38,#0000 55%),linear-gradient(155deg,#0a2818 0%,#123526 42%,#1a252f 100%);padding:2.5rem 0 3.5rem;position:relative}.learn-hero-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#e2b84a2e,#0000 65%);height:70%;animation:8s ease-in-out infinite alternate learn-glow;position:absolute;inset:auto -10% -20% 40%}.learn-hero-check{opacity:.07;pointer-events:none;z-index:0;background-image:linear-gradient(45deg,#000 25%,#0000 25%),linear-gradient(-45deg,#000 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#000 75%),linear-gradient(-45deg,#0000 75%,#000 75%);background-position:0 0,0 14px,14px -14px,-14px 0;background-size:28px 28px;position:absolute;inset:0}.learn-hero-stage{z-index:1;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);align-items:center;gap:2.25rem;display:grid;position:relative}.learn-hero .learn-h1{color:#fff8e8;text-shadow:0 2px 24px #00000040}.learn-hero .learn-lead{color:#f6f0dcc7}.learn-cta-row{flex-wrap:wrap;gap:.7rem;margin-bottom:1rem;display:flex}.learn-cta-row--center{justify-content:center}.learn-cta{border-radius:999px;min-height:3rem;padding-inline:1.4rem;font-weight:700;box-shadow:0 10px 28px #e2b84a47}.learn-cta-ghost{min-height:3rem;color:var(--learn-cream);background:#ffffff0f;border-color:#f6f0dc47;border-radius:999px}.learn-cta-ghost:hover{background:#ffffff1f;border-color:#f6f0dc73}.learn-note{color:#f6f0dc8c;margin:0;font-size:.84rem}.learn-note a{color:var(--learn-gold)}.learn-hero-stage-board{border-radius:22px;grid-template-columns:minmax(0,1.15fr) minmax(12rem,.85fr);align-items:stretch;gap:0;animation:7s ease-in-out infinite learn-float;display:grid;overflow:hidden;box-shadow:0 30px 60px #00000073,0 0 0 1px #f6f0dc14}.learn-hero-board-frame{background:#12181c;min-height:100%}.learn-hero-board-frame .showcase-board,.learn-hero-board-frame .board{border-radius:0}.learn-hero-rail{background:linear-gradient(#12281cfa,#0c1c14fa);border-left:1px solid #f6f0dc14;flex-direction:column;gap:.65rem;padding:1.1rem 1rem;display:flex}.learn-coach-who{align-items:center;gap:.7rem;display:flex}.learn-coach-who img{object-fit:cover;border:2px solid #e2b84a8c;border-radius:50%;width:56px;height:56px;box-shadow:0 4px 14px #00000059}.learn-coach-who strong{color:var(--learn-cream);font-family:Fraunces,Georgia,serif;font-size:1.02rem;display:block}.learn-coach-who span{color:#f6f0dc8c;font-size:.78rem;display:block}.learn-bubble{border-radius:14px;margin:0;padding:.7rem .8rem;font-size:.9rem;line-height:1.45}.learn-bubble--q{color:#f6f0dceb;background:#2a8a4a2e;border:1px solid #2a8a4a47}.learn-bubble--a{color:#f6f0dceb;background:#e2b84a1f;border:1px solid #e2b84a38}.learn-demo-tag{letter-spacing:.04em;text-transform:uppercase;color:#f6f0dc6b;margin:.1rem 0 0;font-size:.7rem}.learn-section{padding:4rem 0;position:relative}.learn-section--wood{background:linear-gradient(#14241b08,#0000 30%),repeating-linear-gradient(90deg,#0000,#0000 47px,#0f3d2408 47px 48px)}.learn-section--mist{background:linear-gradient(#ffffff8c,#ffffff47);border-block:1px solid #0f3d240f}.learn-split{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:2.5rem;display:grid}.learn-split--rev{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.learn-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #0f3d2414;border-radius:20px;padding:1.25rem 1.3rem;box-shadow:0 18px 40px #0f3d2412}.learn-dialogue.learn-panel{background:linear-gradient(165deg,#163526,#0f241a);border-color:#f6f0dc14;box-shadow:0 22px 48px #0c281847}.learn-dialogue .learn-demo-tag{color:#f6f0dc66}.learn-points{flex-direction:column;gap:.85rem;margin:0 0 1.35rem;padding:0;list-style:none;display:flex}.learn-points li{color:var(--learn-muted);padding-left:1.15rem;font-size:1rem;line-height:1.5;position:relative}.learn-points li:before{content:"";background:var(--learn-leaf);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.55em;left:0;box-shadow:0 0 0 3px #2a8a4a2e}.learn-points strong{color:var(--learn-ink)}.learn-scenario{color:var(--learn-muted);background:linear-gradient(135deg,#2a8a4a1a,#e2b84a14);border:1px solid #2a8a4a1f;border-radius:16px;margin:0 0 1.2rem;padding:1rem 1.1rem;font-size:.98rem;line-height:1.55}.learn-scenario strong{color:var(--learn-leaf-deep)}.learn-review-visual{flex-direction:column;gap:1rem;display:flex}.learn-board-glow{background:#12181c;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px #0f3d242e,0 0 0 1px #0f3d2414}.learn-review-board{border-radius:0}.learn-steps-mini{counter-reset:step;grid-template-columns:1fr 1fr;gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.learn-steps-mini li{color:var(--learn-muted);counter-increment:step;background:#ffffffa6;border:1px solid #0f3d2412;border-radius:12px;padding:.75rem .85rem .75rem 2.4rem;font-size:.88rem;line-height:1.35;position:relative}.learn-steps-mini li:before{content:counter(step);background:var(--learn-leaf-deep);color:#fff;border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font-size:.72rem;font-weight:700;display:grid;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.learn-course{grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr);align-items:center;gap:1.75rem;display:grid}.learn-course-summary{color:var(--learn-muted);margin:0 0 1rem;line-height:1.5}.learn-meta{letter-spacing:.06em;text-transform:uppercase;color:var(--learn-leaf);margin:0 0 1rem;font-size:.82rem;font-weight:700}.learn-course-shots{grid-template-rows:1fr 1fr;grid-template-columns:1.1fr .9fr;gap:.7rem;min-height:280px;display:grid}.learn-shot{object-fit:cover;background:#d5e0d6;border:1px solid #0f3d241a;border-radius:18px;width:100%;height:100%;box-shadow:0 14px 30px #0f3d241f}.learn-shot--1{grid-row:1/3;min-height:280px}.learn-shot--2,.learn-shot--3{min-height:0}.learn-kids{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:2rem;display:grid}.learn-kids-list{grid-template-columns:1fr 1fr;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.learn-kids-list li{color:var(--learn-muted);background:#ffffffb3;border:1px solid #0f3d2414;border-radius:16px;padding:1rem 1.05rem;font-size:.94rem;line-height:1.45}.learn-kids-list strong{color:var(--learn-leaf-deep);margin-bottom:.3rem;font-family:Fraunces,Georgia,serif;font-size:1.05rem;display:block}.learn-path{gap:0;margin:0;padding:0;list-style:none;display:grid;position:relative}.learn-path:before{content:"";background:linear-gradient(180deg, var(--learn-leaf), #2a8a4a26);width:2px;position:absolute;top:1.4rem;bottom:1.4rem;left:1.35rem}.learn-path li{grid-template-columns:2.75rem 1fr;align-items:start;gap:1rem;padding:.85rem 0;display:grid;position:relative}.learn-path span{background:linear-gradient(145deg, var(--learn-leaf), var(--learn-leaf-deep));color:#fff;z-index:1;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:700;display:grid;box-shadow:0 8px 18px #0f3d2433}.learn-path strong{color:var(--learn-leaf-deep);margin-bottom:.25rem;font-family:Fraunces,Georgia,serif;font-size:1.12rem;display:block}.learn-path p{color:var(--learn-muted);margin:0;font-size:.96rem;line-height:1.45}.learn-links{grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.learn-links a{min-height:7.5rem;color:inherit;background:#ffffffad;border:1px solid #0f3d2414;border-radius:16px;flex-direction:column;gap:.35rem;padding:1.1rem 1rem;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.learn-links a:hover{border-color:#2a8a4a66;transform:translateY(-3px);box-shadow:0 14px 28px #0f3d241a}.learn-links strong{color:var(--learn-leaf-deep);font-family:Fraunces,Georgia,serif;font-size:1.12rem}.learn-links span{color:var(--learn-muted);font-size:.86rem;line-height:1.35}.learn-meet{background:radial-gradient(45% 55% at 8% 40%,#e2b84a17,#0000 58%),linear-gradient(#e9f1e7 0%,#f2f6f0 55%,#eaf1e8 100%);padding:4.5rem 0}.learn-meet-grid{grid-template-columns:minmax(260px,380px) minmax(0,1fr);align-items:start;gap:clamp(1.75rem,4vw,3.25rem);display:grid}.learn-meet-photo{background:#1a2e22;border-radius:22px;width:100%;margin:0;position:relative;overflow:hidden;box-shadow:0 26px 52px #0c281838,0 0 0 1px #0f3d2412}.learn-meet-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center 18%;width:100%;display:block}.learn-meet-photo figcaption{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--learn-cream);background:#0a2416d1;border-radius:12px;padding:.8rem .95rem;position:absolute;bottom:.85rem;left:.85rem;right:.85rem}.learn-meet-photo figcaption strong{font-family:Fraunces,Georgia,serif;font-size:1.15rem;line-height:1.2;display:block}.learn-meet-photo figcaption span{opacity:.72;margin-top:.2rem;font-size:.8rem;line-height:1.35;display:block}.learn-meet-copy .learn-h2{max-width:16ch}.learn-meet-copy .learn-lead{margin-bottom:1.25rem}.learn-meet-quote{color:var(--learn-cream);background:linear-gradient(155deg,#163526,#10271c);border:1px solid #e2b84a33;border-radius:16px;margin:0 0 1.65rem;padding:1.2rem 1.3rem;box-shadow:0 14px 32px #0c281824}.learn-meet-quote p{margin:0 0 .55rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.05rem,2vw,1.22rem);font-style:italic;line-height:1.4}.learn-meet-quote cite{opacity:.62;font-size:.82rem;font-style:normal}.learn-meet-traits{flex-direction:column;gap:1rem;margin:0 0 1.65rem;padding:0;list-style:none;display:flex}.learn-meet-traits li{grid-template-columns:48px 1fr;align-items:start;gap:.95rem;display:grid}.learn-meet-traits img{object-fit:cover;border:2px solid #2a8a4a47;border-radius:50%;width:48px;height:48px;box-shadow:0 4px 12px #0f3d241a}.learn-meet-traits strong{color:var(--learn-leaf-deep);margin-bottom:.2rem;font-family:Fraunces,Georgia,serif;font-size:1.05rem;display:block}.learn-meet-traits p{color:var(--learn-muted);margin:0;font-size:.94rem;line-height:1.4}.learn-meet-cta{border-radius:999px;width:auto;min-height:2.85rem;padding-inline:1.35rem;box-shadow:0 8px 22px #e2b84a47}@media (width<=900px){.learn-meet-grid{grid-template-columns:1fr;gap:1.75rem}.learn-meet-photo{max-width:420px}.learn-meet-photo img{aspect-ratio:5/4;object-position:center 22%}.learn-meet-copy .learn-h2{max-width:none}}.learn-finale{color:var(--learn-cream);background:radial-gradient(70% 60% at 50% 0,#e2b84a29,#0000 55%),linear-gradient(165deg,#0a2818,#102a1c 50%,#0d1a14);padding:4.25rem 0 4.5rem;position:relative;overflow:hidden}.learn-finale-check{opacity:.05;pointer-events:none;background-image:linear-gradient(45deg,#fff 25%,#0000 25%),linear-gradient(-45deg,#fff 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#fff 75%),linear-gradient(-45deg,#0000 75%,#fff 75%);background-position:0 0,0 16px,16px -16px,-16px 0;background-size:32px 32px;position:absolute;inset:0}.learn-finale-inner{text-align:center;position:relative}.learn-finale .learn-h2{color:#fff8e8;max-width:16ch;margin-inline:auto}.learn-finale .learn-lead{color:#f6f0dcb8;margin-inline:auto}.learn-finale .btn.learn-cta-ghost{background:#ffffff0f}.learn-reveal{animation:.9s both learn-rise}.learn-reveal--delay{animation-delay:.12s}@keyframes learn-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes learn-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes learn-glow{0%{opacity:.55;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.learn-reveal,.learn-hero-stage-board,.learn-hero-glow{animation:none}}@media (width<=980px){.learn-hero-stage,.learn-split,.learn-split--rev,.learn-course,.learn-kids,.learn-hero-stage-board{grid-template-columns:1fr}.learn-h1{max-width:none}.learn-hero{padding:1.5rem 0 2.25rem}.learn-hero-rail{border-top:1px solid #f6f0dc14;border-left:0}.learn-links{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-course-shots{min-height:220px}.learn-section{padding:3rem 0}}@media (width<=560px){.learn{margin-inline:-.65rem}.learn-wrap{width:min(100% - 1.2rem,1120px)}.learn-kids-list,.learn-steps-mini,.learn-links{grid-template-columns:1fr}.learn-cta-row .primary-btn,.learn-cta-row .btn{flex:auto;min-height:44px}.learn-path:before{left:1.2rem}}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:1rem;display:grid}.plans-grid--compact .plans-card-features li:nth-child(n+6){display:none}.plans-card{color:inherit;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;gap:.55rem;padding:1.15rem 1.1rem 1.2rem;display:flex;position:relative}.learn .plans-card{color:#14241b;background:#ffffffb8;border-color:#0f3d241a;box-shadow:0 12px 28px #0f3d2414}.plans-card--hot{border-color:#ffd1668c;box-shadow:0 14px 32px #ffd1661f}.learn .plans-card--hot{border-color:#c4922a8c}.plans-card-flag{letter-spacing:.04em;text-transform:uppercase;color:#1a252f;background:#ffd166;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.plans-card-name{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.35rem}.plans-card-price{margin:0;font-size:1.05rem}.plans-card-price strong{font-size:1.45rem}.plans-card-desc{opacity:.82;flex:1;margin:0;font-size:.92rem;line-height:1.45}.plans-card-limits{color:#2a8a4a;margin:0;font-size:.82rem;font-weight:600}.plans-card-features{opacity:.9;margin:0 0 .35rem;padding:0 0 0 1.05rem;font-size:.88rem;line-height:1.4}.plans-card .btn,.plans-card .primary-btn{width:100%;margin-top:auto}.plans-note{grid-column:1/-1;margin:.25rem 0 0}@media (width<=700px){.plans-grid{grid-template-columns:1fr}}.pricing{--pricing-ink:#f3efe6;--pricing-muted:#f3efe6b8;--pricing-gold:#ffd166;--pricing-leaf:#6ecf8a;--pricing-panel:#0c161c8c;--pricing-line:#ffffff1a;max-width:1120px;color:var(--pricing-ink)}.pricing-hero{isolation:isolate;background:radial-gradient(70% 80% at 85% 20%,#ffd16629,#0000 55%),radial-gradient(55% 70% at 10% 90%,#2e8c5038,#0000 50%),linear-gradient(155deg,#1a2a32 0%,#121c22 48%,#0e181c 100%);border:1px solid #ffd16624;border-radius:22px;margin:0 0 1.35rem;padding:1.6rem 1.25rem 1.4rem;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000047}.pricing-hero-glow{pointer-events:none;background:radial-gradient(circle,#6ecf8a33,#0000 65%);height:70%;animation:5.5s ease-in-out infinite alternate pricing-glow;position:absolute;inset:-20% 40% auto -10%}.pricing-hero-check{opacity:.07;pointer-events:none;background-image:linear-gradient(45deg,#fff 25%,#0000 25%),linear-gradient(-45deg,#fff 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#fff 75%),linear-gradient(-45deg,#0000 75%,#fff 75%);background-position:0 0,0 14px,14px -14px,-14px 0;background-size:28px 28px;position:absolute;inset:0}.pricing-hero-inner{grid-template-columns:1.35fr .65fr;align-items:end;gap:1.25rem;display:grid;position:relative}.pricing-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--pricing-gold);margin:0 0 .5rem;font-size:.78rem;font-weight:700}.pricing-h1{letter-spacing:-.02em;color:#fff8ea;text-wrap:balance;margin:0 0 .7rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.85rem,4.2vw,2.65rem);line-height:1.12;animation:.7s both pricing-rise}.pricing-lead{max-width:36rem;color:var(--pricing-muted);margin:0 0 1.1rem;font-size:1.06rem;line-height:1.5;animation:.7s 80ms both pricing-rise}.pricing-perks{flex-wrap:wrap;gap:.45rem .55rem;margin:0;padding:0;list-style:none;animation:.7s .14s both pricing-rise;display:flex}.pricing-perks li{color:#d8f5e2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2e8c5038;border:1px solid #6ecf8a47;border-radius:999px;padding:.38rem .78rem;font-size:.84rem;font-weight:600}.pricing-hero-aside{text-align:center;justify-self:end;animation:.8s .12s both pricing-rise}.pricing-hero-coach{object-fit:cover;background:#1a252f;border:2px solid #ffd16673;border-radius:28px;width:132px;height:132px;box-shadow:0 14px 28px #00000059,0 0 0 6px #ffd16614}.pricing-hero-aside-note{color:#ffd166d9;margin:.65rem 0 0;font-size:.82rem}.pricing-banner{background:var(--pricing-panel);border:1px solid var(--pricing-line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.55rem .85rem;margin:0 0 1rem;padding:.8rem 1rem;display:flex}.pricing-banner p{flex:200px;margin:0}.pricing-banner--current{background:linear-gradient(90deg,#2e8c502e,#0c161c73);border-color:#6ecf8a59}.pricing-banner--note{color:#ffe6a8;border-color:#ffd16659}.pricing-banner-label{letter-spacing:.06em;text-transform:uppercase;color:#0d1a12;background:var(--pricing-leaf);border-radius:6px;padding:.22rem .5rem;font-size:.7rem;font-weight:800}.pricing-current__dev{color:#ff9b86}.pricing-section-head{margin:0 0 .85rem}.pricing-section-title{color:#fff8ea;margin:0 0 .35rem;font-family:Fraunces,Georgia,serif;font-size:clamp(1.35rem,2.5vw,1.7rem)}.pricing-section-lead{color:var(--pricing-muted);margin:0;font-size:.95rem}.pricing-cards{margin:0 0 2.25rem}.plans-grid--pricing{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.pricing .pricing-card{height:100%;color:var(--pricing-ink);border:1px solid var(--pricing-line);background:linear-gradient(#ffffff12,#ffffff08),#0a1216b8;border-radius:18px;flex-direction:column;gap:.55rem;padding:1.1rem 1.1rem 1.15rem;transition:transform .22s,border-color .22s,box-shadow .22s;animation:.55s both pricing-rise;display:flex;box-shadow:0 14px 28px #00000038}.pricing .pricing-card:hover{border-color:#ffd16647;transform:translateY(-3px);box-shadow:0 18px 34px #00000052}.pricing .pricing-card--hot{background:linear-gradient(#ffd16624,#ffd16608),#0e1612d9;border-color:#ffd1667a;box-shadow:0 16px 34px #00000047,0 0 0 1px #ffd1661f}.pricing .pricing-card--current{border-color:#6ecf8a8c}.pricing .pricing-card--free .plans-card-price strong{color:var(--pricing-leaf)}.pricing-card-top{justify-content:flex-end;align-items:center;gap:.4rem;min-height:1.5rem;display:flex}.pricing-card-top:has(.pricing-card-you){justify-content:space-between}.pricing-card-you{letter-spacing:.04em;text-transform:uppercase;color:#0d1a12;background:var(--pricing-leaf);border-radius:999px;padding:.2rem .5rem;font-size:.68rem;font-weight:800;line-height:1.2;position:static}.pricing .plans-card-flag{box-shadow:none;flex:none;line-height:1.2;position:static;top:auto;right:auto}.pricing-card-flag-spacer{height:1.35rem;display:block}.pricing .plans-card-name{color:#fff8ea;margin:0;padding:0;font-size:1.35rem;line-height:1.2}.pricing .plans-card-price{flex-wrap:wrap;align-items:baseline;gap:.15rem .2rem;min-height:2.1rem;margin:0;display:flex}.pricing .plans-card-price strong{letter-spacing:-.02em;color:var(--pricing-gold);font-family:Fraunces,Georgia,serif;font-size:2rem;font-weight:700;line-height:1}.pricing-currency,.pricing-period{color:var(--pricing-muted);font-size:.95rem}.pricing .plans-card-desc{color:var(--pricing-muted);min-height:3.1em;margin:0}.pricing .plans-card-limits{min-height:1.25rem;color:var(--pricing-leaf);letter-spacing:.01em;margin:0;font-size:.8rem;line-height:1.25rem}.pricing-limits-empty{color:#f3efe666;font-weight:500}.pricing-features{flex:auto;align-content:start;gap:.38rem;margin:.1rem 0 0;padding:0;list-style:none;display:grid}.pricing-features li{color:#f3efe6e0;padding-left:1.25rem;font-size:.88rem;line-height:1.35;position:relative}.pricing-features li:before{content:"";background:var(--pricing-leaf);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.35em;left:0;box-shadow:0 0 0 3px #6ecf8a2e}.pricing-card-action{flex:none;margin-top:auto;padding-top:.85rem}.pricing-cta,a.pricing-cta,button.pricing-cta{box-sizing:border-box;color:#fff8ea;letter-spacing:.01em;text-align:center;white-space:nowrap;cursor:pointer;appearance:none;background:#ffffff12;border:1px solid #ffffff2e;border-radius:12px;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;height:2.75rem;min-height:2.75rem;max-height:2.75rem;margin:0;padding:0 .85rem;font-family:inherit;font-size:.92rem;font-weight:700;line-height:1;text-decoration:none;transition:background .18s,border-color .18s;display:flex}.pricing-cta:hover:not(:disabled){background:#ffffff1f;border-color:#ffd16666}.pricing-cta--hot{color:#1a252f;background:#ffd166;border-color:#ffd166}.pricing-cta--hot:hover:not(:disabled){background:#ffe099;border-color:#ffe099}.pricing-cta--current,.pricing-cta:disabled{opacity:1;cursor:default;color:#c8f0d4;background:#6ecf8a24;border-color:#6ecf8a59}.pricing-cta:disabled:hover{background:#6ecf8a24;border-color:#6ecf8a59}.pricing-pay-disclaimer{color:var(--pricing-muted);margin:1rem 0 0;font-size:.88rem}.pricing-pay-disclaimer--muted{opacity:.8;margin-top:.35rem}.pricing-compare,.pricing-faq{background:var(--pricing-panel);border:1px solid var(--pricing-line);border-radius:18px;margin:0 0 2.25rem;padding:1.15rem 1.1rem 1.2rem}.pricing-compare-block{margin:1rem 0 1.25rem}.pricing-compare-cat{letter-spacing:.04em;text-transform:uppercase;color:var(--pricing-gold);margin:0 0 .55rem;font-size:.95rem;font-weight:700}.pricing-table-wrap{border:1px solid #ffffff0f;border-radius:12px;overflow:hidden}.pricing-table{border-collapse:collapse;width:100%;font-size:.9rem}.pricing-table th,.pricing-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #ffffff0f;padding:.62rem .7rem}.pricing-table tbody tr:last-child th,.pricing-table tbody tr:last-child td{border-bottom:0}.pricing-table th[scope=row]{text-align:left;color:#f3efe6e6;width:30%;font-weight:600}.pricing-table thead th{color:var(--pricing-gold);background:#ffd1660f;font-size:.8rem}.pricing-table tbody tr:nth-child(2n){background:#ffffff05}.pricing-cell{justify-content:center;min-width:1.5rem;font-weight:700;display:inline-flex}.pricing-cell--yes{color:var(--pricing-leaf)}.pricing-cell--soft{color:#ffe6a8;font-size:.82rem;font-weight:600}.pricing-cell--no{color:#f3efe647;font-weight:500}.pricing-compare-mobile{display:none}.pricing-acc,.pricing-faq-item{background:#0000002e;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:.55rem;overflow:hidden}.pricing-acc--open,.pricing-faq-item--open{border-color:#ffd16647}.pricing-acc-btn,.pricing-faq-q{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem;font-weight:700;display:flex}.pricing-acc-icon{width:1.5rem;height:1.5rem;color:var(--pricing-gold);background:#ffd1661f;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.pricing-acc-body{padding:0 1rem .9rem}.pricing-acc-row{border-top:1px solid #ffffff14;margin:0 0 .85rem;padding-top:.55rem}.pricing-acc-label{margin:0 0 .4rem;font-weight:600}.pricing-acc-row ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.pricing-acc-row li{opacity:.92;justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.pricing-faq-list{gap:.45rem;display:grid}.pricing-faq-a{color:var(--pricing-muted);margin:0;padding:0 1rem .95rem;font-size:.94rem;line-height:1.55}.pricing-back{flex-wrap:wrap;gap:.55rem .85rem;margin:0 0 1.75rem;display:flex}.pricing-back a{color:var(--pricing-gold);font-weight:600;text-decoration:none}.pricing-back a:hover{text-decoration:underline}@keyframes pricing-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pricing-glow{0%{opacity:.55;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.pricing-hero-glow,.pricing-h1,.pricing-lead,.pricing-perks,.pricing-hero-aside,.pricing .pricing-card{animation:none}.pricing .pricing-card:hover{transform:none}}@media (width<=980px){.plans-grid--pricing{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-hero-inner{grid-template-columns:1fr}.pricing-hero-aside{text-align:left;justify-self:start;align-items:center;gap:.85rem;display:flex}.pricing-hero-coach{border-radius:20px;width:88px;height:88px}.pricing-hero-aside-note{margin:0}}@media (width<=720px){.plans-grid--pricing{grid-template-columns:1fr}.pricing-hero{padding:1.25rem 1rem 1.15rem}.pricing-compare,.pricing-faq{padding:1rem .85rem}.pricing-compare-desktop{display:none}.pricing-compare-mobile{display:block}.pricing-cta,a.pricing-cta,button.pricing-cta{font-size:.9rem}}
