.home{overflow-x:clip}.home .fu{animation:home-up .5s var(--ease) both;animation-delay:calc(var(--i,0) * 90ms + 40ms)}@keyframes home-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.home-hero{isolation:isolate;text-align:left;background:radial-gradient(700px 380px at 85% 30%, #d4a94a29, transparent 65%), linear-gradient(180deg, var(--card-2), var(--card));grid-template-columns:minmax(0,1fr);align-items:center;gap:28px;margin:14px 0;padding:36px 22px 32px;display:grid;position:relative;overflow:hidden}.home-hero-copy{z-index:1;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:relative}.home-eyebrow{font:600 .78rem var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--brand-hi);align-items:center;gap:8px;margin:0 0 6px;display:inline-flex}.home-eyebrow .icon{width:1.2em;height:1.2em}.home-title{font-family:var(--font-display);letter-spacing:.005em;background:linear-gradient(100deg,#fbf6e8 0%,#f0cf84 55%,#d4a94a 100%);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(3rem,9vw,5.6rem);font-weight:600;line-height:1.02}.home-lede{max-width:34ch;color:var(--ink);opacity:.86;margin:10px 0 18px;font-size:1.08rem}.home-cta{padding-right:26px}.home-cta .icon{transition:transform .2s var(--ease)}.home-cta:hover .icon{transform:translate(3px)}.home-board-wrap{z-index:0;aspect-ratio:1;perspective:900px;pointer-events:none;-webkit-user-select:none;user-select:none;justify-self:center;width:min(100%,360px);position:relative}.home-board-wrap:before{content:"";filter:blur(22px);background:radial-gradient(closest-side,#d4a94a61,#0000 75%);border-radius:50%;position:absolute;inset:8% 4% -4%}.home-board{width:100%;height:100%;transform-style:preserve-3d;border-radius:8px;grid-template:repeat(8,1fr)/repeat(8,1fr);animation:7s ease-in-out infinite home-float;display:grid;position:relative;overflow:hidden;transform:rotateX(34deg)rotate(-14deg);box-shadow:0 0 0 5px #2a2118,0 0 0 6px #d4a94a8c,0 40px 50px #0000008c,0 0 60px #d4a94a2e}@keyframes home-float{0%,to{transform:rotateX(34deg)rotate(-14deg)translateY(0)}50%{transform:rotateX(34deg)rotate(-14deg)translateY(-6px)}}.home-sq{background:var(--sq-light);place-items:center;font-size:clamp(14px,4.4vw,28px);line-height:1;display:grid}.home-sq.d{background:var(--sq-dark)}.home-sq.w{color:#fff8e6;text-shadow:0 1px #3b2a18,0 0 3px #3b2a18,0 2px 4px #00000080}.home-sq.b{color:#14110c;text-shadow:0 1px 1px #fff0c859}.home-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.home-stat{align-items:center;gap:14px;min-height:44px;margin:0;padding:14px 16px;display:flex}.home-ring{flex:none;width:60px;height:60px;position:relative}.home-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.home-ring circle{fill:none;stroke-width:5px}.home-ring .trk{stroke:#ffffff17}.home-ring .bar{stroke:url(#home-gold);stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease)}.home-ring-pct{font:700 .8rem var(--font-ui);color:var(--brand-hi);font-variant-numeric:tabular-nums;place-items:center;display:grid;position:absolute;inset:0}.home-stat-txt{flex-direction:column;min-width:0;line-height:1.25;display:flex}.home-stat-txt b{font:600 1.3rem var(--font-display)}.home-stat-txt span{color:var(--muted);font-size:.85rem}.home-stars{justify-content:center}.home-stars .stars{min-height:44px;padding:10px 18px;font-size:1.15rem}.home-stars .stars .icon{width:1.2em;height:1.2em}.home-tiles .tile{gap:8px;min-height:44px;padding:24px 20px}.home-tiles .tile span:last-child{color:var(--muted);font-size:.92rem}.home-tiles .tile-icon{margin-bottom:4px}.home-kid{grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.home-kid h2{margin:0 0 6px}.kid-switch{cursor:pointer;border:1px solid var(--line);min-height:56px;transition:border-color .2s var(--ease), background .2s var(--ease);background:#ffffff08;border-radius:14px;align-items:center;gap:16px;padding:10px 14px;display:flex;position:relative}.kid-switch:hover{background:#ffffff0d;border-color:#d4a94a80}.kid-switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.kid-track{border:1px solid var(--line-strong);width:52px;height:30px;transition:background .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);background:#ffffff1f;border-radius:999px;flex:none;position:relative}.kid-track:after{content:"";width:22px;height:22px;transition:transform .25s var(--ease), background .25s var(--ease);background:#f2eee4;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0006}.kid-switch input:checked+.kid-track{background:linear-gradient(180deg, var(--brand-hi), var(--brand));box-shadow:var(--glow);border-color:#0000}.kid-switch input:checked+.kid-track:after{background:#fff;transform:translate(22px)}.kid-switch input:focus-visible+.kid-track{outline:2px solid var(--brand-hi);outline-offset:3px}.kid-copy{flex-direction:column;line-height:1.35;display:flex}.kid-copy b{font-weight:600}.kid-copy span{color:var(--muted);font-size:.9rem}@media (width>=860px){.home-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;padding:52px 48px}.home-board-wrap{width:min(100%,400px)}.home-sq{font-size:clamp(18px,2.4vw,30px)}}@media (width<=640px){.home-progress{grid-template-columns:minmax(0,1fr)}.home-stars{justify-content:flex-start}.home-hero{padding:28px 18px 24px}.home-board-wrap{width:min(86%,320px)}.home-cta{width:100%}}@media (prefers-reduced-motion:reduce){.home .fu,.home-board{animation:none!important}}.home-resume{border-color:var(--gold,#d4a94a);gap:10px;display:grid}.home-resume h2{margin:0;font-size:1.05rem}.resume-item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.resume-text{flex:220px}.resume-actions{gap:8px;display:flex}.resume-actions .btn{min-width:44px;min-height:44px}@media (prefers-reduced-motion:reduce){.home-resume,.home-resume *{transition:none!important;animation:none!important}}.side .tabs{max-width:100%}.side .tab{align-items:center;gap:6px;display:inline-flex}.side .tab:focus-visible,.btn:focus-visible{outline:2px solid var(--brand-hi);outline-offset:2px}.side .status{font:600 1.6rem/1.2 var(--font-display);letter-spacing:.01em;border-bottom:1px solid var(--line);color:var(--ink);margin:6px 0 12px;padding-bottom:10px}.side .status.thinking{color:var(--brand-hi);font-style:italic}.names label{letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.dot-w,.dot-b{border:1px solid var(--line-strong);vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.dot-w{background:#f4ecd8}.dot-b{background:#07080b;border-color:#fff6}.engine-field label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;display:block}.engine-field select{margin-top:6px}.sf-line{border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--muted);background:#ffffff08;align-items:center;gap:8px;margin:0 0 8px;padding:8px 12px;display:flex}.sf-line:before{content:"";background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.sf-line.loading:before{background:var(--brand);animation:1.2s ease-in-out infinite pulse}.sf-line.ready{color:var(--ok)}.sf-line.ready:before{background:var(--ok)}.sf-line.failed{color:var(--bad)}.sf-line.failed:before{background:var(--bad)}.sf-line:empty{display:none}@keyframes pulse{50%{opacity:.3}}.btn.small{min-height:44px;font-size:.85rem}.lvl-label{justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;display:flex!important}.lvl-name{font:600 1.15rem var(--font-display);color:var(--brand-hi);text-transform:none;letter-spacing:0}.lvl{appearance:none;cursor:pointer;background:0 0;width:100%;height:44px;margin:0}.lvl::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--brand-hi) var(--pct,40%), #ffffff24 var(--pct,40%));border-radius:99px;height:6px}.lvl::-moz-range-track{background:#ffffff24;border-radius:99px;height:6px}.lvl::-moz-range-progress{background:var(--brand-hi);border-radius:99px;height:6px}.lvl::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 35% 30%, #fff3cf, var(--brand));border:2px solid var(--brand-ink);width:22px;height:22px;box-shadow:0 0 0 1px var(--brand), 0 2px 8px #00000080;border-radius:50%;margin-top:-8px}.lvl::-moz-range-thumb{background:var(--brand);border:2px solid var(--brand-ink);width:18px;height:18px;box-shadow:0 0 0 1px var(--brand);border-radius:50%}.lvl:focus-visible{outline:2px solid var(--brand-hi);outline-offset:0}.lvl-scale{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin:-4px 0 10px;font-size:.72rem;display:flex}.side .note{margin:10px 0;line-height:1.5}.side .checks label{align-items:center;gap:8px;min-height:32px;display:inline-flex}.play .moves summary{min-height:44px;font-family:var(--font-display);color:var(--brand-hi);align-items:center;padding:8px 0;font-size:1.15rem;display:flex}.play .moves ol{columns:auto;counter-reset:mv;border:1px solid var(--line);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;background:#0000002e;max-height:240px;margin:4px 0;padding:0;list-style:none;overflow:auto}.play .moves li{counter-increment:mv;grid-template-columns:2.6em 1fr 1fr;align-items:center;gap:8px;padding:6px 12px;font-weight:600;display:grid}.play .moves li:before{content:counter(mv) ".";color:var(--muted);text-align:right;font-weight:500}.play .moves li:nth-child(odd){background:#ffffff08}.play .play .moves li:last-child{box-shadow:inset 2px 0 0 var(--brand)}.play .moves .san{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.95rem}@media (width<=860px){.play .moves ol{columns:auto;max-height:200px}}.puzzle-filters{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff08;margin-bottom:14px;padding:8px}.puzzle-filters select{flex:130px;min-width:0}.puzzle-filters select:focus-visible{outline:2px solid var(--brand-hi);outline-offset:1px}.chip{min-height:36px;color:var(--brand-hi);font-variant-numeric:tabular-nums;background:#d4a94a1f;border:1px solid #d4a94a59;border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.puzzle-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.puzzle-title .icon{color:var(--brand)}.dots{gap:5px;margin-left:auto;display:inline-flex}.dots i{border:1px solid var(--brand);background:0 0;border-radius:50%;width:9px;height:9px}.dots i.on{background:linear-gradient(180deg, var(--brand-hi), var(--brand));box-shadow:0 0 6px #d4a94a99}.side .hint{margin:10px 0}.side p.ok,.side p.bad{border-radius:var(--radius-sm);background:#ffffff08;border:1px solid;margin:10px 0;padding:10px 12px}.lesson-head .btn{white-space:nowrap}.lesson .progress-bar{border:1px solid var(--line);background:#0000004d;height:10px}.lesson .progress-bar>div{box-shadow:0 0 10px #d4a94a80}.step-count{font:600 1.2rem var(--font-display);color:var(--brand-hi);font-variant-numeric:tabular-nums;white-space:nowrap}.step-count small{color:var(--muted);font-size:.85rem}.lesson-complete{max-width:560px;box-shadow:var(--shadow), var(--glow);background:radial-gradient(500px 260px at 50% 0%, #d4a94a38, transparent 70%), linear-gradient(180deg, var(--card-2), var(--card));border-color:#d4a94a80;margin:40px auto;padding:40px 24px;position:relative;overflow:hidden}.lesson-complete h2{background:linear-gradient(180deg, #fff1c4, var(--brand) 85%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,6vw,2.8rem)}.lesson-complete .row{justify-content:center}.trophy-badge{width:96px;height:96px;color:var(--brand-ink);background:radial-gradient(circle at 35% 30%, #fff3cf, var(--brand-hi) 40%, var(--brand));animation:badge-pop .7s var(--ease) both, glow 3s ease-in-out .7s infinite;border-radius:50%;place-items:center;margin:0 auto 12px;display:grid;position:relative;box-shadow:0 0 0 6px #d4a94a2e,0 0 40px #d4a94a80}.trophy-badge .icon{stroke-width:1.7px;width:46px;height:46px}.trophy-badge i{background:var(--brand-hi);opacity:0;border-radius:50%;width:6px;height:6px;animation:2.4s ease-out infinite spark;position:absolute}.trophy-badge i:first-of-type{top:-8px;left:50%}.trophy-badge i:nth-of-type(2){animation-delay:.4s;top:30%;right:-10px}.trophy-badge i:nth-of-type(3){animation-delay:.8s;top:40%;left:-10px}.trophy-badge i:nth-of-type(4){animation-delay:1.2s;bottom:-6px;left:25%}.trophy-badge i:nth-of-type(5){animation-delay:1.6s;bottom:0;right:5%}@keyframes badge-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}60%{transform:scale(1.08)}to{opacity:1;transform:none}}@keyframes glow{50%{box-shadow:0 0 0 10px #d4a94a1a,0 0 60px #d4a94ab3}}@keyframes spark{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:translateY(-14px)scale(.5)}}@media (prefers-reduced-motion:reduce){.trophy-badge,.trophy-badge i,.sf-line.loading:before{animation:none!important}.trophy-badge i{display:none}}@media (width<=480px){.lesson-complete{margin:16px 0;padding:28px 16px}.lesson-head{flex-wrap:wrap}.lesson-head .progress-bar{flex-basis:100%;order:3}}.lesson-note{margin:6px 0;font-size:.9rem}.learn{max-width:1080px}.learn-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.learn-head-text{flex:1;min-width:0}.learn-head h1{margin-bottom:.1em}.learn-head p{margin:0}.learn-ring{flex:none;width:72px;height:72px;position:relative}.learn-ring svg{width:100%;height:100%}.ring-bg{fill:none;stroke:#ffffff1a;stroke-width:5px}.ring-fg{fill:none;stroke:var(--brand-hi);stroke-width:5px;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease)}.ring-label{font:700 .85rem var(--font-ui);color:var(--brand-hi);place-items:center;display:grid;position:absolute;inset:0}.learn-bar{flex:none;margin:14px 0 22px}.learn-grid .lesson-card{overflow-wrap:anywhere;min-height:44px;padding-right:54px}.learn-grid .lesson-card:hover{transform:translateY(-4px)}.learn-grid .lesson-card:focus-visible{outline:2px solid var(--brand-hi);outline-offset:3px}.lesson-card .lc-num .icon{stroke-width:2.4px;width:16px;height:16px}.lesson-card.done{opacity:1;background:linear-gradient(180deg, #5fcf8a12, var(--card));border-color:#5fcf8a59}.lesson-card.done:hover{box-shadow:var(--shadow), 0 8px 30px #5fcf8a26;border-color:#5fcf8a99}.lesson-card.done .lc-title{color:var(--ink)}.lc-state{font:600 .72rem var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ok);margin-top:4px}.lesson-card.next{background:linear-gradient(180deg, #d4a94a1f, var(--card));animation:2.8s ease-in-out infinite nextGlow}@keyframes nextGlow{0%,to{box-shadow:var(--shadow), 0 0 0 1px #d4a94a73, 0 6px 22px #d4a94a29}50%{box-shadow:var(--shadow), 0 0 0 1px #f0cf84b3, 0 8px 34px #d4a94a52}}.lc-pill{background:linear-gradient(180deg, var(--brand-hi), var(--brand));color:var(--brand-ink);font:700 .75rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-top:6px;padding:4px 12px;display:inline-flex}.lc-pill .icon{width:14px;height:14px}.promo-card{width:min(440px,92vw)}.promo-card h3{margin:0 0 4px}.promo-row{gap:12px}.promo-btn{background:linear-gradient(180deg, var(--card-2), var(--card));justify-content:center;gap:2px;min-width:84px;min-height:96px}.promo-btn:hover,.promo-btn:focus-visible{border-color:var(--brand);box-shadow:var(--glow);transform:translateY(-3px)}.promo-name{font:600 .85rem var(--font-ui);color:var(--ink)}@media (width<=480px){.learn-head{gap:12px}.learn-ring{width:56px;height:56px}.ring-label{font-size:.72rem}.learn-head h1{font-size:2rem}.promo-btn{flex:40%}}@media (prefers-reduced-motion:reduce){.lesson-card.next{animation:none}.lesson-card:hover,.promo-btn:hover{transform:none}.ring-fg{transition:none}}.online-page{max-width:640px;margin:0 auto}.gsi-button{color:#e3e3e3;letter-spacing:.15px;background:#131314;border:1px solid #8e918f;border-radius:4px;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:0 16px;font:500 14px/20px Roboto,arial,sans-serif;text-decoration:none;transition:background-color .15s,box-shadow .15s;display:inline-flex}.gsi-button:hover{background:#1e1f20;box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026}.gsi-button:active{background:#303134}.gsi-logo{flex:none;width:20px;height:20px}.online-profile{align-items:center}.online-profile-txt{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.avatar{width:44px;height:44px;box-shadow:0 0 0 1px var(--line-strong);object-fit:cover;border-radius:50%;flex:none}.avatar-fallback{background:linear-gradient(180deg, var(--card-2), var(--card));color:var(--brand-hi);font:700 1.1rem var(--font-display);border:1px solid #d4a94a66;place-items:center;display:grid}.online-stats-chip{flex-wrap:wrap}.title-badge{color:var(--brand-hi);font-weight:600}.invite-form select{flex:none;width:auto}.online-stats-chip .icon{fill:currentColor;width:1em;height:1em}.invite-form{margin:14px 0}.invite-form label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.78rem;display:block}.invite-form input{min-width:200px;font:inherit;color:var(--ink);background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);flex:1;min-height:44px;padding:8px 12px}.invite-form input:hover{border-color:#d4a94a80}.game-list{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.game-list .game-row{text-align:left;justify-content:space-between;gap:10px;width:100%;display:flex}.game-row-name{color:var(--ink);font-weight:600}.game-list .game-row:disabled{opacity:.75}.online-match .status{font:600 1.6rem/1.2 var(--font-display);margin:6px 0 12px}.live-indicator.on{color:var(--ok)}.online-match .moves summary{min-height:44px;font-family:var(--font-display);color:var(--brand-hi);align-items:center;padding:8px 0;font-size:1.15rem;display:flex}.online-match .moves ol{columns:auto;counter-reset:mv;max-height:240px;margin:4px 0;padding:0;list-style:none;overflow:auto}.online-match .moves li{counter-increment:mv;grid-template-columns:2.6em 1fr 1fr;align-items:center;gap:8px;padding:6px 12px;font-weight:600;display:grid}.online-match .moves li:before{content:counter(mv) ".";color:var(--muted);text-align:right;font-weight:500}.online-match .moves li:nth-child(odd){background:#ffffff08}.online-match .online-match .moves li:last-child{box-shadow:inset 2px 0 0 var(--brand)}.online-match .moves .san{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.95rem}.leaderboard-list{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.leaderboard-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 4px;display:flex}.leaderboard-rank{text-align:center;width:2em;font:700 1.1rem var(--font-display);color:var(--muted);flex:none}.leaderboard-name{flex:1;min-width:0;font-weight:600}.bracket{gap:20px;padding:8px 0;display:flex;overflow-x:auto}.bracket-round{flex-direction:column;flex:none;gap:16px;min-width:180px;display:flex}.bracket-round h4{color:var(--muted);margin:0 0 4px;font-size:1rem}.bracket-match{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff08;padding:8px 10px}.bracket-player{color:var(--muted);padding:4px 2px}.bracket-player.won{color:var(--brand-hi);font-weight:700}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d12;--bg-2:#10131a;--card:#151922;--card-2:#1b2030;--ink:#f2eee4;--muted:#9aa0ae;--line:#ffffff14;--line-strong:#ffffff29;--brand:#d4a94a;--brand-hi:#f0cf84;--brand-ink:#1a1306;--ok:#5fcf8a;--bad:#ff6b6b;--info:#7aa7ff;--glass:#151922b8;--glow:0 0 0 1px #d4a94a59, 0 8px 30px #d4a94a2e;--shadow:0 1px 0 #ffffff0a inset, 0 10px 30px #00000073;--radius:16px;--radius-sm:10px;--sq-light:#ecdcb8;--sq-dark:#9b6b43;--hdr:60px;--board:min(calc(70vw - 24px), calc(100dvh - var(--hdr) - 24px));--ease:cubic-bezier(.2, .8, .2, 1);--font-ui:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Cormorant", "Cormorant Garamond", Georgia, "Times New Roman", serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f2e9;--bg-2:#efe9db;--card:#fff;--card-2:#faf6ec;--ink:#1b1710;--muted:#5d5a52;--line:#1b17101a;--line-strong:#1b171033;--brand:#8a5f08;--brand-hi:#a8740f;--brand-ink:#fff;--ok:#1f7a46;--bad:#c0392b;--info:#2f5fd0;--glass:#ffffffc7;--glow:0 0 0 1px #8a5f0859, 0 8px 24px #8a5f0826;--shadow:0 1px 2px #3c28000f, 0 10px 28px #3c28001a}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink);font:400 16px/1.6 var(--font-ui);background:radial-gradient(1100px 600px at 80% -10%, #d4a94a1a, transparent 60%), radial-gradient(900px 500px at -10% 10%, #7aa7ff12, transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0}.app.kid{font-size:19px}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;font-weight:600;line-height:1.15}h1{margin:.2em 0 .3em;font-size:clamp(2.2rem,5vw,3.4rem)}h2{margin:.2em 0 .4em;font-size:1.7rem}h3{font-size:1.35rem}.muted{color:var(--muted)}.icon{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}:focus-visible{outline:2px solid var(--brand-hi);outline-offset:3px;border-radius:8px}header{min-height:var(--hdr);z-index:5;background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(140%);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:0 20px;display:flex;position:sticky;top:0}.brand{color:var(--ink);cursor:pointer;font:600 1.45rem/1 var(--font-display);letter-spacing:.02em;background:0 0;border:0;align-items:center;gap:10px;padding:6px 4px;display:inline-flex}.brand .icon{width:1.5em;height:1.5em;color:var(--brand);stroke-width:1.5px}nav{flex-wrap:wrap;flex:1;justify-content:center;gap:6px;display:flex}nav button{color:var(--muted);cursor:pointer;font:500 .9rem var(--font-ui);min-height:44px;transition:color .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;display:inline-flex}nav button:hover{color:var(--ink);background:#ffffff0d}nav button.on{color:var(--brand-hi);background:#d4a94a1f;border-color:#d4a94a66;font-weight:600}.stars{color:var(--brand-hi);background:#d4a94a1f;border:1px solid #d4a94a4d;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex}.stars .icon{fill:currentColor}main{margin:0 auto;padding:16px 16px 56px}.page{max-width:1080px;animation:rise .5s var(--ease) both;margin:0 auto;padding-top:6px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.card{background:linear-gradient(180deg, var(--card-2), var(--card));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:14px 0;padding:20px}.card.center,.hero{text-align:center}.big-emoji{font-size:3rem;line-height:1.1}.btn{border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--radius-sm);font:500 .95rem var(--font-ui);cursor:pointer;min-height:44px;transition:transform .15s var(--ease), background .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);background:#ffffff0a;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:#ffffff17;border-color:#d4a94a80;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:linear-gradient(180deg, var(--brand-hi), var(--brand));color:var(--brand-ink);box-shadow:var(--glow);border-color:#0000;font-weight:700}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg, #f7dd9c, var(--brand-hi));border-color:#0000}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){color:var(--ink);background:#ffffff0f;border-color:#0000}.btn.big{border-radius:14px;padding:14px 30px;font-size:1.1rem}.kid .btn{min-height:56px;font-size:1.05em}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.checks{flex-direction:column;align-items:flex-start;gap:4px}input[type=checkbox]{accent-color:var(--brand);vertical-align:-3px;width:18px;height:18px}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.grid.three{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.tile,.lesson-card{background:linear-gradient(180deg, var(--card-2), var(--card));border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;color:var(--ink);font:inherit;box-shadow:var(--shadow);transition:transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);flex-direction:column;gap:6px;padding:20px;display:flex;position:relative}.tile:hover,.lesson-card:hover{box-shadow:var(--shadow), var(--glow);border-color:#d4a94a80;transform:translateY(-4px)}.tile{text-align:center;align-items:center}.tile b{font:600 1.35rem var(--font-display)}.tile .tile-icon{width:52px;height:52px;color:var(--brand-hi);background:#d4a94a1f;border:1px solid #d4a94a4d;border-radius:14px;place-items:center;display:grid}.tile .tile-icon .icon{width:26px;height:26px}.lesson-card.next{border-color:var(--brand);box-shadow:var(--shadow), var(--glow)}.lesson-card.done{opacity:.85}.lc-num{color:var(--brand-hi);background:#d4a94a29;border:1px solid #d4a94a66;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:12px;right:14px}.lesson-card.done .lc-num{color:var(--ok);background:#5fcf8a29;border-color:#5fcf8a80}.lc-emoji{font-size:2rem}.lc-title{font:600 1.3rem var(--font-display)}.lc-sum{color:var(--muted);font-size:.88rem}.stage{grid-template-columns:minmax(0,7fr) minmax(300px,3fr);align-items:start;gap:20px;display:grid}.stage>.board-wrap{justify-self:center}.board-wrap{width:var(--board);height:var(--board);touch-action:none;transition:filter .3s var(--ease);border-radius:10px;padding:0;overflow:hidden;box-shadow:0 0 0 6px #2a2118,0 0 0 7px #d4a94a73,0 30px 60px #0000008c}.board-wrap.board-dim{filter:grayscale(.65)brightness(.72)}.side{max-height:calc(100dvh - var(--hdr) - 24px);margin:0;overflow:auto}.lesson-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.progress-bar{background:#ffffff14;border-radius:99px;flex:1;height:8px;overflow:hidden}.progress-bar>div{background:linear-gradient(90deg, var(--brand), var(--brand-hi));height:100%;transition:width .4s var(--ease);border-radius:99px}.lesson-text{white-space:pre-line;font-size:1.05rem}.hint{border-radius:var(--radius-sm);background:#d4a94a1f;border:1px solid #d4a94a4d;padding:10px 12px}.ok{color:var(--ok);font-weight:600}.bad{color:var(--bad);font-weight:600}.note{border-radius:var(--radius-sm);background:#7aa7ff1a;border:1px solid #7aa7ff4d;padding:10px 12px}.status{font:600 1.5rem var(--font-display)}.field{margin:8px 0}.field input[type=range]{width:100%;accent-color:var(--brand)}.tabs{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;flex-wrap:wrap;gap:6px;width:fit-content;margin-bottom:14px;padding:4px;display:flex}.tab{color:var(--muted);cursor:pointer;font:500 .9rem var(--font-ui);min-height:44px;transition:all .2s var(--ease);background:0 0;border:0;border-radius:999px;padding:8px 18px}.tab:hover{color:var(--ink)}.tab.on{background:linear-gradient(180deg, var(--brand-hi), var(--brand));color:var(--brand-ink);font-weight:700}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}select,.names input{font:inherit;color:var(--ink);background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:44px;padding:8px 12px}select:hover,.names input:hover{border-color:#d4a94a80}.moves ol{columns:2;font-variant-numeric:tabular-nums;max-height:200px;margin:6px 0;padding-left:1.8em;overflow:auto}.moves summary{cursor:pointer;font-weight:600}.modal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;animation:fade .2s var(--ease);background:#050609b8;place-items:center;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal-card{background:linear-gradient(180deg, var(--card-2), var(--card));border:1px solid var(--line-strong);box-shadow:var(--shadow), var(--glow);border-radius:var(--radius);text-align:center;max-width:92vw;animation:rise .3s var(--ease);padding:24px}.promo-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0;display:flex}.promo-btn{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;font:inherit;min-width:84px;min-height:44px;transition:all .2s var(--ease);background:#ffffff0a;border-radius:14px;flex-direction:column;align-items:center;padding:10px 16px;display:flex}.promo-btn:hover{border-color:var(--brand);box-shadow:var(--glow);transform:translateY(-3px)}.promo-glyph{color:var(--brand-hi);font-size:2.6rem;line-height:1.1}.names{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.names label{color:var(--muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.names input{min-width:0}.small{margin:4px 0;font-size:.85em}.field select{width:100%;margin:4px 0 10px}@media (width<=860px){:root{--board:calc(100vw - 16px);--hdr:52px}main{padding:10px 8px 48px}.stage{grid-template-columns:minmax(0,1fr);gap:14px}.side{max-height:none;overflow:visible}.moves ol{columns:1}header{flex-wrap:nowrap;gap:6px;padding:6px 10px;position:static}.brand span{display:none}nav{flex-wrap:nowrap;justify-content:center;gap:2px}nav button{white-space:nowrap;padding:6px 12px;font-size:.82rem}}@media (width<=480px){.brand{display:none}nav{justify-content:flex-start;overflow-x:auto}nav button{gap:5px;padding:6px 10px;font-size:.78rem}nav button:not(.on) .nav-label{display:none}header{justify-content:space-between}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}select{text-overflow:ellipsis;min-width:0;max-width:100%}.board-col{width:var(--board);flex-direction:column;justify-self:center;gap:8px;max-width:100%;display:flex}.player-bar{border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--line-strong);align-items:center;gap:10px;min-height:48px;padding:6px 12px;display:flex}.player-bar.active{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.player-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.material{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem}.mat-diff{color:var(--brand-hi)}.clock{font-variant-numeric:tabular-nums;color:var(--muted);background:#ffffff0d;border-radius:8px;padding:2px 10px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:1.4rem;font-weight:700}.clock.active{color:var(--ink);background:#d4a94a2e}.clock.low{color:#ff6b6b;background:#ff464629}.mv-mark{font-size:1.1rem;line-height:1}.timecontrol{margin:8px 0}.timecontrol .row{align-items:center}.timecontrol input[type=number]{width:5.5em;min-width:0}.moves li .mv{align-items:baseline;gap:6px;min-width:0;display:inline-flex}.moves li .mv-who{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:7em;font-size:.8rem;font-weight:500;overflow:hidden}.timecontrol input[type=number]{flex:none;width:5.5em;min-width:0}.site-footer{text-align:center;border-top:1px solid var(--line);color:var(--muted);margin-top:8px;padding:16px;font-size:.85rem}.fs-btn{color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.fs-btn:hover{color:var(--ink);background:#ffffff0d}
