:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--page-bg:#5b5752;--surface:#45423e;--surface-hover:#57534e;--border-color:#6e6963;--border-strong:#8a847d;--button-bg:#6e6963;--text-soft:#f0ece8;--text-muted:#d6d1cb;--text-dim:#b3ada6;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-light:#93c5fd;--accent-soft:#bfdbfe}*{box-sizing:border-box}body{background:var(--page-bg);color:#fff;margin:0;font-family:Arial,sans-serif}.app{min-height:100vh}.header{background:var(--surface);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:70px;padding:0 40px;display:flex}.logo{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:22px;font-weight:700}nav{gap:30px;display:flex}nav a,.nav-link{color:var(--text-soft);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:15px;text-decoration:none}nav a:hover,.nav-link:hover{color:#fff}@media (width>=900px){.app{padding-left:190px}.header{z-index:50;border-right:1px solid var(--border-color);border-bottom:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:22px;width:190px;height:auto;padding:22px 12px 16px;position:fixed;top:0;bottom:0;left:0}.header .logo{letter-spacing:-.2px;white-space:nowrap;text-align:left;padding:0 8px;font-size:14.5px}.header nav{flex-direction:column;flex:1;gap:2px}.header nav a,.header .nav-link{text-align:left;border-radius:8px;padding:10px;font-size:16px;font-weight:600}.header nav a:hover,.header .nav-link:hover{background:var(--surface-hover)}.header .login-button{overflow-wrap:anywhere;width:100%;padding:10px 8px}.header .user-menu-dropdown{min-width:166px;inset:auto auto calc(100% + 6px) 0}}.user-menu{position:relative}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border-color);z-index:100;border-radius:10px;flex-direction:column;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000059}.user-menu-dropdown button{text-align:left;color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 12px;font-size:14px}.user-menu-dropdown button:hover{background:var(--surface-hover)}.modal-backdrop{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-color);text-align:left;border-radius:14px;width:100%;max-width:400px;padding:28px;position:relative;box-shadow:0 20px 50px #00000073}.modal h2{color:#fff;margin:0 0 20px;font-size:24px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:26px;line-height:1;position:absolute;top:12px;right:14px}.modal-close:hover{color:#fff}.google-button{color:#1f1f1f;cursor:pointer;background:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px;font-size:15px;font-weight:700;display:flex}.google-button:hover{background:#f1f1f1}.modal-divider{color:var(--text-dim);align-items:center;gap:12px;margin:18px 0;font-size:13px;display:flex}.modal-divider:before,.modal-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.auth-form input,.inline-form input{background:var(--page-bg);border:1px solid var(--border-color);color:#fff;border-radius:8px;padding:11px 12px;font-size:15px}.auth-form input:focus,.inline-form input:focus{border-color:var(--accent);outline:none}.primary-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 20px;font-size:15px;font-weight:700}.primary-button:hover{background:var(--accent-hover)}.primary-button:disabled{opacity:.6;cursor:default}.link-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:underline}.link-button:hover{color:#fff}.modal-links{flex-direction:column;align-items:center;gap:8px;margin-top:18px;display:flex}.modal-links button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:14px}.modal-links button:hover{color:#fff;text-decoration:underline}.form-error,.form-info{text-align:left;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:14px;line-height:1.45}.form-error{color:#fecaca;background:#dc26262e;border:1px solid #f871718c}.form-info{color:#dcfce7;background:#22a4472e;border:1px solid #4ade8080}.auth-form .form-error,.auth-form .form-info{margin-bottom:0}.page{text-align:left;width:100%;max-width:640px;padding:48px 20px}.page--wide{max-width:820px}.page h1{color:#fff;margin:0 0 8px;font-size:36px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-subtitle{color:var(--text-muted);margin:0 0 24px}.card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:22px}.card h2{color:#fff;margin:0 0 8px;font-size:20px}.card-text{color:var(--text-muted);margin:0 0 16px;font-size:14px;line-height:1.55}.card-hint{color:var(--text-dim);margin:10px 0;font-size:13px}.platform-row{border-top:1px solid var(--border-color);align-items:flex-start;gap:16px;padding:16px 0;display:flex}.platform-name{color:#fff;flex-shrink:0;width:100px;padding-top:10px;font-weight:700}.inline-form{flex-wrap:wrap;flex:1;gap:8px;display:flex}.inline-form input{flex:1;min-width:160px}.linked-account{color:#fff;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-top:8px;display:flex}.linked-badge{color:#bbf7d0;background:#22a44740;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.challenge{color:var(--text-soft);flex:1;font-size:14px;line-height:1.6}.challenge p{margin:0}.challenge ol{margin:8px 0;padding-left:20px}.challenge a{color:var(--accent-light)}.verification-code{background:var(--page-bg);color:#fff;letter-spacing:.05em;-webkit-user-select:all;user-select:all;border-radius:6px;padding:2px 8px;font-size:15px;font-weight:700}.button-row{align-items:center;gap:12px;display:flex}.games-list{flex-direction:column;gap:6px;display:flex}.game-row{background:var(--surface);border:1px solid var(--border-color);color:var(--text-soft);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:14px 1fr 80px 64px 140px 86px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:grid}.game-row:hover{background:var(--surface-hover)}.color-dot{border:1px solid #00000080;border-radius:50%;width:14px;height:14px}.color-dot--w{background:#f5f5f5}.color-dot--b{background:#111;border-color:#fff6}.game-opponent strong{color:#fff}.game-rating,.game-meta,.game-date{color:var(--text-dim)}.game-date{text-align:right}.game-result{font-weight:700}.game-result--win{color:#86efac}.game-result--loss{color:#fca5a5}.game-result--draw{color:var(--text-muted)}@media (width<=640px){.game-row{grid-template-columns:14px 1fr auto auto}.game-meta,.game-date{display:none}}.claim-button{color:#bbf7d0;cursor:pointer;background:0 0;border:1px dashed #4ade8099;border-radius:8px;margin-top:10px;padding:10px;font-size:14px}.claim-button:hover{background:#22a44726}.claim-button:disabled{opacity:.6;cursor:default}.claim-info,.claim-error{text-align:left;margin-top:8px;font-size:13px;line-height:1.45}.claim-info{color:#bbf7d0}.claim-error{color:#fecaca}.login-button{color:#fff;border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:8px;padding:10px 18px}.login-button:hover{background:var(--surface-hover)}.main{text-align:center;justify-content:center;display:flex}.hero{max-width:800px;padding:120px 20px}.hero h1{color:#fff;margin-bottom:20px;font-size:52px}.hero p{color:var(--text-muted);margin-bottom:35px;font-size:18px;line-height:1.6}.start-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:14px 28px;font-size:16px;font-weight:700}.start-button:hover{background:var(--accent-hover)}.home{--art:clamp(190px, min(46vh, 30vw), 440px);box-sizing:border-box;text-align:left;background:radial-gradient(60vw 60vh at 78% 30%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 70%), radial-gradient(40vw 50vh at 0% 100%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 70%);grid-template-rows:minmax(0,1fr) auto auto;gap:clamp(12px,2vh,22px);height:100vh;padding:clamp(14px,2.6vh,30px) clamp(18px,3vw,44px);display:grid;position:relative;overflow:hidden}.home:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 70% 35%,#000,#0000 75%);mask-image:radial-gradient(circle at 70% 35%,#000,#0000 75%)}.home>*{position:relative}.home-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(16px,3vw,48px);min-height:0;display:grid}.home-hero-text{flex-direction:column;align-items:flex-start;gap:clamp(8px,1.8vh,18px);min-width:0;display:flex}.home-hello{border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:#fff;letter-spacing:.03em;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.home-hero h1{color:#fff;letter-spacing:-.02em;margin:0;font-size:clamp(28px,min(6.4vh,4.2vw),62px);font-weight:900;line-height:1.08}.home-hero h1 em{color:var(--accent-light,white);font-style:normal}.home-hero-text>p{max-width:560px;color:var(--text-soft);margin:0;font-size:clamp(14px,2vh,18px);line-height:1.55}.home-hero-buttons{flex-wrap:wrap;gap:10px;display:flex}.home-main-button,.home-ghost-button{font:inherit;cursor:pointer;border-radius:12px;padding:clamp(11px,1.7vh,16px) clamp(20px,2.2vw,32px);font-size:clamp(15px,2vh,18px);font-weight:800}.home-main-button{background:var(--accent);color:#fff;box-shadow:0 10px 28px color-mix(in srgb, var(--accent) 55%, transparent);border:0}.home-main-button:hover{background:var(--accent-hover)}.home-ghost-button{border:1px solid var(--border-strong);color:#fff;background:#0000002e}.home-ghost-button:hover{background:var(--surface-hover)}.home-art{justify-content:center;align-items:center;height:100%;min-height:0;display:flex;position:relative}.home-art-board{width:var(--art);height:var(--art);box-shadow:0 30px 60px #0000008c, 0 0 90px color-mix(in srgb, var(--accent) 45%, transparent);pointer-events:none;border:6px solid #3b2f25;border-radius:10px;position:relative;transform:perspective(1400px)rotateX(16deg)rotate(-7deg)}.home-art-badge{filter:drop-shadow(0 2px 4px #00000080);animation:.25s ease-out home-badge-pop;display:flex;position:absolute;transform:translate(-70%,-30%)}.home-art-coach{align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:0;left:0}.home-art-bubble{color:#2b2622;background:#f8f5f0;border-radius:14px 14px 14px 4px;max-width:230px;margin:0 0 clamp(40px,8vh,78px);padding:10px 14px;font-size:14px;line-height:1.4;position:relative;box-shadow:0 6px 18px #0006}@keyframes home-badge-pop{0%{opacity:0;transform:translate(-70%,-30%)scale(.3)}to{opacity:1;transform:translate(-70%,-30%)scale(1)}}@media (prefers-reduced-motion:reduce){.home-art-badge{animation:none}}.home-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);display:grid}.home-card{border:1px solid var(--border-color);background:color-mix(in srgb, var(--surface) 96%, transparent);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:16px;padding:clamp(12px,2vh,20px);transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.home-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 30px #00000059}.home-mini-board{border-radius:8px;flex-shrink:0;grid-template-columns:repeat(4,20px);display:grid;overflow:hidden;box-shadow:0 3px 10px #00000059}.home-mini-board i{color:#1c1917;justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;font-style:normal;line-height:1;display:flex}.home-mini-board .is-light{background:#f0d9b5}.home-mini-board .is-dark{background:#b58863}.home-card-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.home-card-title{color:#fff;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:clamp(17px,2.3vh,21px);font-weight:800;display:flex}.home-tag{background:var(--accent);color:#fff;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:800}.home-card-text{color:var(--text-muted);font-size:13px;line-height:1.45}.home-card-arrow{color:var(--accent-light,white);flex-shrink:0;font-size:24px;font-weight:800;transition:transform .15s}.home-card:hover .home-card-arrow{transform:translate(4px)}.home-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;display:flex}.home-more{flex-wrap:wrap;gap:8px;display:flex}.home-link{border:1px solid var(--border-color);color:var(--text-soft);font:inherit;cursor:pointer;background:#0000002e;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.home-link:hover{border-color:var(--accent);color:#fff}.home-steps{color:var(--text-dim);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.home-steps li{align-items:center;gap:7px;display:inline-flex}.home-steps li span{background:var(--border-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:flex}@media (width<=1000px),(height<=600px){.home{--art:clamp(200px, 70vw, 360px);flex-direction:column;height:auto;min-height:100vh;display:flex;overflow:visible}.home-hero{grid-template-columns:minmax(0,1fr)}.home-art{height:auto;padding:20px 0 10px}.home-actions{grid-template-columns:minmax(0,1fr)}}.play-setup{max-width:680px}.play-setup-head{align-items:center;gap:20px;margin:16px 0 20px;display:flex}.play-setup-head h1{margin-bottom:6px}.play-setup-head .page-subtitle{margin:0}.play-choice{align-self:flex-start;width:fit-content}.play-setup-gap{margin-top:22px}.play-level{width:100%;accent-color:var(--accent)}.play-level-scale{color:var(--text-dim);justify-content:space-between;font-size:12px;display:flex}.play-start{margin-top:18px;padding:14px 28px;font-size:16px}.play{justify-content:center;align-items:flex-start;gap:24px;padding:24px 16px;display:flex}.play--narrow{flex-direction:column;align-items:center}.play-coach{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:270px;display:flex}.play--narrow .play-coach,.play--narrow .play-panel{width:100%;max-width:560px}.play-level-tag{color:var(--text-dim);font-weight:400}.play-verdict{border-bottom:1px solid #0000001f;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;font-size:15px;display:flex}.play-verdict span:last-child{color:#6b635b;font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.nav-dot{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 0 var(--accent);vertical-align:middle;border-radius:50%;margin-left:8px;animation:1.8s ease-out infinite nav-dot-pulse;display:inline-block}@keyframes nav-dot-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 70%, transparent)}to{box-shadow:0 0 0 10px #0000}}.home-settings-hint{font:inherit;cursor:pointer;border-style:solid;font-size:13px;font-weight:700;animation:1.8s ease-out infinite nav-dot-pulse}.home-settings-hint:hover{background:color-mix(in srgb, var(--accent) 34%, transparent)}@media (prefers-reduced-motion:reduce){.nav-dot,.home-settings-hint{animation:none}}.settings-hero{border:1px solid var(--border-color);background:radial-gradient(70% 140% at 0% 0%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 70%), var(--surface);border-radius:18px;flex-direction:column;gap:16px;margin-bottom:20px;padding:26px 28px 20px;display:flex}.settings-hero h1{color:#fff;margin:0 0 6px;font-size:34px}.settings-hero p{max-width:640px;color:var(--text-soft);margin:0;line-height:1.55}.settings-jump{flex-wrap:wrap;gap:6px;display:flex}.settings-jump button{border:1px solid var(--border-color);color:var(--text-soft);font:inherit;cursor:pointer;background:#0003;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.settings-jump button:hover{border-color:var(--accent);color:#fff}.settings-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.settings-sections{min-width:0}.settings-section{gap:14px;scroll-margin-top:16px}.settings-section-head{align-items:center;gap:14px;display:flex}.settings-section-icon{background:color-mix(in srgb, var(--accent) 22%, var(--page-bg));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.settings-section-head h2{color:#fff;margin:0 0 2px;font-size:19px}.settings-check{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:flex;position:absolute;top:8px;right:8px}.settings-coaches{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.settings-coach{border:2px solid var(--border-color);background:var(--page-bg);color:var(--text-dim);font:inherit;text-align:center;cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:16px 8px 14px;font-size:12px;transition:transform .15s,border-color .15s;display:flex;position:relative}.settings-coach strong{color:#fff;font-size:16px}.settings-coach:hover{border-color:var(--coach);transform:translateY(-2px)}.settings-coach.is-active{border-color:var(--coach);background:color-mix(in srgb, var(--coach) 18%, var(--page-bg))}.settings-coach .settings-check{background:var(--coach)}.settings-swatches{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.settings-swatches button{background:var(--page-bg);color:var(--text-soft);font:inherit;cursor:pointer;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:7px;padding:10px 4px;font-size:13px;font-weight:600;display:flex}.settings-swatches button:hover{color:#fff}.settings-swatches button.is-active{border-color:var(--accent);color:#fff}.settings-swatches i{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-style:normal;font-weight:900;display:flex;box-shadow:inset 0 0 0 3px #ffffff40,0 4px 12px #0000004d}.settings-gender{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.settings-gender button{border:2px solid var(--border-color);background:var(--page-bg);color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;font-size:14px;display:flex;position:relative}.settings-gender button strong{color:#fff;font-size:16px}.settings-gender button.is-active{border-color:var(--accent)}.settings-tiles{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;display:grid}.settings-tiles button{border:2px solid var(--border-color);background:var(--page-bg);color:var(--text-soft);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:12px 8px 10px;font-size:13px;font-weight:600;transition:transform .15s;display:flex;position:relative}.settings-tiles button:hover{color:#fff;transform:translateY(-2px)}.settings-tiles button.is-active{border-color:var(--accent);color:#fff}.settings-board-sample{border-radius:6px;grid-template-columns:repeat(3,26px);display:grid;overflow:hidden;box-shadow:0 4px 10px #00000059}.settings-board-sample i{width:26px;height:26px;display:block}.settings-piece-sample{border-radius:6px;grid-template-columns:repeat(2,38px);display:grid;overflow:hidden;box-shadow:0 4px 10px #00000059}.settings-piece-sample i{width:38px;height:38px;padding:2px;display:block}.settings-toggle,.settings-row{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.settings-section-head+.settings-toggle,.settings-section-head+.settings-row{border-top:0}.settings-toggle>span,.settings-row>span{color:#fff;flex-direction:column;gap:2px;display:flex}.settings-row .primary-button{flex-shrink:0}.settings-toggle{cursor:pointer;position:relative}.settings-toggle.is-disabled{cursor:default;opacity:.55}.settings-toggle input{opacity:0;pointer-events:none;position:absolute}.settings-toggle i{background:var(--border-color);border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background .15s;position:relative}.settings-toggle i:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000059}.settings-toggle input:checked+i{background:var(--accent)}.settings-toggle input:checked+i:after{transform:translate(20px)}.settings-toggle input:focus-visible+i{outline:2px solid var(--accent-light,white);outline-offset:2px}.settings-preview{border:1px solid var(--accent);background:radial-gradient(90% 60% at 50% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), var(--surface);border-radius:18px;flex-direction:column;gap:12px;padding:18px;display:flex;position:sticky;top:16px;box-shadow:0 10px 30px #0000004d}.settings-preview-title{color:#fff;font-size:15px}.settings-preview-board{border-radius:8px;overflow:hidden;box-shadow:0 8px 22px #0006}.settings-preview-coach{align-items:center;gap:10px;display:flex}.settings-preview-coach p{color:#2b2622;background:#f8f5f0;border-radius:12px 12px 12px 4px;flex-direction:column;gap:2px;margin:0;padding:10px 12px;font-size:14px;display:flex}.settings-preview-coach p strong{color:#6b635b;font-size:11px}.settings-preview-tags{flex-wrap:wrap;gap:6px;display:flex}.settings-preview-tags span{border:1px solid var(--border-color);color:var(--text-muted);border-radius:999px;padding:3px 10px;font-size:12px}@media (width<=1100px){.settings-layout{grid-template-columns:minmax(0,1fr)}.settings-preview{position:static}.settings-coaches{grid-template-columns:repeat(2,minmax(0,1fr))}}.friends-invite h2,.friends-page .card h2{margin-top:0}.friends-invite-row{gap:8px;display:flex}.friends-invite-row input{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;min-width:0;font:inherit;border-radius:10px;flex:1;padding:11px 14px}.friends-invite-row input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.friends-invite p{margin:10px 0 0}.friends-handle{border-color:var(--accent)}.friends-handle .stats-note{margin-top:8px;display:block}.friends-handle-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.friends-handle-name{background:var(--page-bg);color:#fff;letter-spacing:.02em;border-radius:10px;padding:6px 14px;font-size:20px}.friend-row{border-top:1px solid var(--border-color);align-items:center;gap:12px;padding:10px 0;display:flex}.friend-row:first-of-type{border-top:0}.friend-name{color:#fff;flex-direction:column;flex:1;min-width:0;display:flex}.friend-actions{align-items:center;gap:12px;display:flex}.friends-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.friend-card{background:var(--page-bg);border-radius:14px;gap:14px;padding:14px;display:flex}.friend-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.friend-card-name{color:#fff;font-size:17px}.friend-stats{gap:14px;display:flex}.friend-stats>span{flex-direction:column;display:flex}.friend-stats b{color:#fff;font-variant-numeric:tabular-nums;font-size:18px}.friend-stats .stats-caption{font-size:10px}.friend-showcase{gap:2px;display:flex}.friend-remove{align-self:flex-start;font-size:12px}.friends-standings{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.friends-standings li{color:#fff;border-radius:10px;grid-template-columns:44px auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.friends-standings li.is-me{background:color-mix(in srgb, var(--accent) 18%, transparent)}.friends-place{color:var(--text-muted);font-weight:800}.friends-rating{font-variant-numeric:tabular-nums;font-size:18px}.play-suggest{background:var(--page-bg);color:var(--text-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;margin-top:10px;padding:10px 12px;font-size:14px;display:flex}.play-suggest strong{color:#fff}.play-promotion{z-index:10;color:#fff;background:#0000008c;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:18px;font-weight:800;display:flex;position:absolute;inset:0}.play-promotion>div{gap:10px;display:flex}.play-promotion>div button{aspect-ratio:1;border:2px solid var(--border-strong);cursor:pointer;background:#f0d9b5;border-radius:12px;width:clamp(56px,12%,96px);padding:6px;transition:transform .12s}.play-promotion>div button:hover,.play-promotion>div button:focus-visible{border-color:var(--accent);transform:translateY(-3px)}.play-promotion .link-button{color:var(--text-soft);font-size:14px}.play-board{border-radius:6px;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 8px 28px #00000059}.play-panel{border:1px solid var(--border-color);background:var(--surface);text-align:left;border-radius:14px;flex-direction:column;flex-shrink:0;gap:12px;width:270px;padding:18px;display:flex}.play-panel h1{color:#fff;margin:0;font-size:22px}.play-status{background:var(--page-bg);color:#fff;border-radius:10px;padding:10px 12px;font-weight:700}.play-status--over{background:var(--accent)}.play-moves{background:var(--page-bg);font-variant-numeric:tabular-nums;border-radius:10px;flex-direction:column;gap:2px;min-height:120px;max-height:300px;padding:8px;font-size:14px;display:flex;overflow-y:auto}.play-moves-row{grid-template-columns:30px 1fr 1fr;align-items:center;gap:4px;display:grid}.play-moves-number{color:var(--text-dim)}.play-move{color:var(--text-soft);border-radius:6px;align-items:center;gap:5px;padding:2px 6px;display:inline-flex}.play-move.is-last{background:var(--surface-hover);color:#fff;font-weight:700}.play-buttons{flex-direction:column;gap:8px;display:flex}.play-button{border:1px solid var(--border-strong);color:#fff;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:8px;padding:10px 14px;font-size:14px}.play-button:hover:not(:disabled){background:var(--surface-hover)}.play-button:disabled{color:var(--text-dim);cursor:default}.play-buttons .link-button{align-self:flex-start}.analysis{justify-content:center;align-items:flex-start;display:flex}.analysis--narrow{flex-direction:column;align-items:center}.board-column{flex-direction:column;display:flex}.board-row{display:flex}.player-row{color:#e2e8f0;align-items:center;gap:8px;font-size:15px;display:flex}.player-icon{border-radius:5px;flex-shrink:0;width:26px;height:26px;padding:2px;display:inline-flex}.player-icon--w{background:var(--text-muted)}.player-icon--b{background:#e2e8f0}.player-name{font-weight:700}.player-rating{color:var(--text-muted)}.material-advantage{color:var(--text-soft);font-size:14px;font-weight:700}.captured-pieces{align-items:center;gap:3px;min-width:0;margin-left:4px;display:flex}.captured-group{display:flex}.captured-piece{width:19px;height:19px;display:inline-flex}.captured-piece+.captured-piece{margin-left:-11px}.captured-pieces--w .captured-piece{filter:grayscale()brightness(.82);opacity:.85}.captured-pieces--b .captured-piece{filter:grayscale()invert(.1)drop-shadow(0 0 .8px #ffffff73)}.captured-pieces .material-advantage{color:var(--text-muted);margin-left:4px;font-size:13px}.eval-bar{border-radius:999px;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 0 0 2px #ffffff1a,inset 0 2px 6px #00000059}.eval-bar-white{width:100%;box-shadow:0 -2px 0 var(--accent), 0 -4px 10px color-mix(in srgb, var(--accent) 60%, transparent);transition:height .45s cubic-bezier(.3,.8,.3,1);position:absolute;bottom:0;left:0}.eval-label{z-index:1;background:var(--accent);color:#fff;text-align:center;white-space:nowrap;letter-spacing:-.03em;pointer-events:none;border-radius:999px;padding:3px 0;font-size:9px;font-weight:800;line-height:1;transition:top .45s cubic-bezier(.3,.8,.3,1);position:absolute;left:2px;right:2px;box-shadow:0 2px 6px #00000059}.side-panel{background:var(--surface);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;flex-shrink:0;padding:12px;display:flex}.side-panel-title{color:#e2e8f0;text-align:left;margin-bottom:10px;font-size:15px;font-weight:700}.moves-list{flex:1;min-height:0;overflow-y:auto}.moves-empty{color:var(--text-muted);font-size:14px}.move-row{border-bottom:1px solid var(--surface-hover);align-items:center;height:36px;font-size:14px;display:flex}.move-number{width:40px;color:var(--text-dim);text-align:left;flex-shrink:0}.move-button{text-align:left;color:#e2e8f0;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;width:100px;height:28px;padding:0 8px;font-size:14px;display:inline-flex}.move-button:hover{background:var(--surface-hover)}.move-button--active,.move-button--active:hover{background:var(--accent);color:#fff}.screen-fx{z-index:150;pointer-events:none;position:fixed;inset:0;overflow:hidden}.screen-fx-flash{opacity:0;animation:.6s ease-out fx-flash;position:absolute;inset:0}.screen-fx--bolt .screen-fx-flash{background:radial-gradient(38% 60% at 50% 45%,#fde0478c,#0000 70%);animation:1.3s ease-out fx-glow}.screen-fx--diamond .screen-fx-flash{background:radial-gradient(circle at 50% 45%,#c4b5fde6,#0000 65%);animation-delay:.55s;animation-fill-mode:backwards}@keyframes fx-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes fx-glow{0%{opacity:0}30%{opacity:.45}to{opacity:0}}.screen-fx-bolt{filter:drop-shadow(0 0 10px #fde047cc)drop-shadow(0 0 28px #f59e0b80);transform-origin:50% 0;width:min(20vw,190px);height:74vh;animation:1.3s ease-out forwards fx-bolt;position:absolute;top:8vh;left:50%;transform:translate(-50%)skew(-8deg)}@keyframes fx-bolt{0%{opacity:0;clip-path:inset(0 0 100%)}22%{opacity:.9;clip-path:inset(0)}45%{opacity:.9}to{opacity:0;clip-path:inset(0)}}.screen-fx-diamond{filter:drop-shadow(0 0 24px #a78bfa)drop-shadow(0 12px 30px #00000080);width:min(34vmin,300px);animation:1.1s cubic-bezier(.3,.7,.4,1) forwards fx-diamond;position:absolute;top:45%;left:50%}@keyframes fx-diamond{0%{opacity:0;transform:translate(-50%,-160%)rotate(-25deg)scale(.6)}40%{opacity:1;transform:translate(-50%,-50%)rotate(6deg)scale(1)}52%{transform:translate(-50%,-50%)rotate(0)scale(1.12,.92)}60%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}to{opacity:0;transform:translate(-50%,-50%)scale(1.6)}}.screen-fx-shard{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 0 6px #c4b5fd);opacity:0;background:linear-gradient(135deg,#ede9fe,#8b5cf6);width:3vmin;height:3vmin;animation:1.1s ease-out .6s forwards fx-shard;position:absolute;top:45%;left:50%}@keyframes fx-shard{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0) scale(1.2)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(var(--distance)) scale(.4) rotate(220deg)}}.screen-fx--camel{background:radial-gradient(#00000073,#0000 70%);animation:.5s ease-in 4.5s forwards fx-scene-out}.screen-fx-scene{flex-direction:column;justify-content:center;align-items:center;gap:2vmin;display:flex;position:absolute;inset:0}@keyframes fx-scene-out{to{opacity:0;transform:scale(.96)}}.screen-fx-camel{font-size:min(24vmin,190px);line-height:1;animation:.8s cubic-bezier(.2,.7,.3,1) both fx-camel-walk}@keyframes fx-camel-walk{0%{opacity:0;transform:translate(70vw)}15%{opacity:1}to{opacity:1;transform:translate(0)}}.screen-fx-camel-body{filter:drop-shadow(0 14px 14px #0000008c);transform-origin:50% 90%;animation:.22s ease-in-out 4 alternate fx-camel-step,.5s ease-out 1.8s fx-camel-jump,1.2s ease-in-out 2.85s forwards fx-camel-droop;display:inline-block}@keyframes fx-camel-step{0%{transform:translateY(0)rotate(-3deg)}to{transform:translateY(-4%)rotate(3deg)}}@keyframes fx-camel-jump{0%,to{transform:translateY(0)}40%{transform:translateY(-12%)rotate(-5deg)}}@keyframes fx-camel-droop{to{transform:rotate(-9deg)translateY(3%)}}.screen-fx-word{color:#fff;letter-spacing:.05em;white-space:nowrap;background:#18120ee6;border:.06em solid #ffffff24;border-radius:.35em;padding:.2em .55em;font-size:min(9vmin,68px);font-weight:900;line-height:1.15;animation:.4s cubic-bezier(.3,1.5,.5,1) .7s both fx-word-pop;box-shadow:0 14px 34px #00000080}@keyframes fx-word-pop{0%{opacity:0;transform:translateY(40%)scale(.6)}to{opacity:1;transform:translateY(0)scale(1)}}.screen-fx-word-text{align-items:baseline;animation:.3s linear 1.5s fx-word-shake,.5s ease-out 2.85s fx-word-pulse;display:flex}.screen-fx-word{position:relative}.screen-fx-word:after{content:"";transform-origin:0;background:#f87171;border-radius:1em;height:.07em;animation:.35s ease-out 3.05s forwards fx-word-line;position:absolute;bottom:.12em;left:.55em;right:.55em;transform:scaleX(0)}@keyframes fx-word-line{to{transform:scaleX(1)}}.screen-fx-camel:after{content:"";filter:blur(6px);background:#00000073;border-radius:50%;width:62%;height:.07em;margin:-.06em auto 0;display:block}.screen-fx-word b{font-weight:inherit}@keyframes fx-word-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-.07em)rotate(-1.2deg)}40%,80%{transform:translate(.07em)rotate(1.2deg)}}@keyframes fx-word-pulse{0%,to{transform:scale(1)}35%{transform:scale(1.14)}}.screen-fx-word-gap{width:0;animation:.35s cubic-bezier(.3,1.4,.5,1) 1.8s forwards fx-word-gap}@keyframes fx-word-gap{to{width:.4em}}.screen-fx-word-ki{color:#f87171;opacity:0;max-width:0;animation:.28s cubic-bezier(.3,1.5,.5,1) 2.2s forwards fx-word-letter;display:inline-block}.screen-fx-word-ki--second{animation-delay:2.45s}@keyframes fx-word-letter{0%{opacity:0;max-width:0;transform:translateY(-70%)scale(1.6)}to{opacity:1;max-width:1em;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.screen-fx{display:none}}.move-badge{color:#fff;letter-spacing:-.04em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Arial,sans-serif;font-weight:800;line-height:1;display:inline-flex}.analysis-progress{text-align:left;margin-bottom:10px}.analysis-progress-text{color:var(--text-muted);margin-bottom:6px;font-size:13px}.analysis-progress-bar{background:var(--surface-hover);border-radius:3px;height:6px;overflow:hidden}.analysis-progress-bar>div{background:var(--accent);height:100%;transition:width .3s}.move-info{background:var(--surface-hover);text-align:left;color:#e2e8f0;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:10px;padding:8px 10px;font-size:14px;display:flex}.move-info-best{color:var(--text-muted);margin-top:3px;font-size:13px}.nav-buttons{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;display:grid}.nav-button{background:var(--button-bg);color:#fff;cursor:pointer;border:none;border-radius:8px;height:44px;font-size:20px}.nav-button--primary{background:var(--accent)}.nav-button:hover{filter:brightness(1.15)}.analyzer{text-align:center;width:100%;max-width:800px;padding:80px 20px}.analyzer h1{color:#fff;margin-bottom:15px;font-size:42px}.analyzer p{color:var(--text-muted);margin-bottom:55px}.pgn-input{background:var(--surface);color:#fff;border:1px solid var(--border-color);resize:vertical;border-radius:10px;width:100%;height:300px;padding:18px;font-family:monospace;font-size:14px}.pgn-input:focus{border-color:var(--accent);outline:none}.analyze-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:20px;padding:14px 25px;font-size:16px;font-weight:700}.back-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin:15px auto 0;font-size:14px;display:block}.premium-badge{color:#2b1d00;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle;background:linear-gradient(135deg,#f5c542,#e0a100);border-radius:999px;margin-right:6px;padding:2px 7px;font-size:11px;font-weight:800;display:inline-block}.billing-toggle{background:var(--surface);border:1px solid var(--border-color);border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:inline-flex}.billing-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-flex}.billing-toggle button.active{background:var(--accent);color:#fff}.saving-badge{color:#fff;background:#22a447;border-radius:999px;padding:1px 6px;font-size:11px}.plans{grid-template-columns:1fr 1.3fr;align-items:start;gap:16px;display:grid}@media (width<=720px){.plans{grid-template-columns:1fr}}.plan-card{background:var(--surface);border:1px solid var(--border-color);border-radius:14px;padding:24px}.plan-card--premium{border:2px solid #e0a100;box-shadow:0 10px 30px #00000040}.plan-card h2{color:#fff;margin:0 0 8px;font-size:22px}.plan-price{color:#fff;font-size:34px;font-weight:800}.plan-price span{color:var(--text-muted);font-size:16px;font-weight:400}.plan-note{color:var(--text-dim);margin-top:2px;font-size:13px}.feature-list{color:var(--text-soft);flex-direction:column;gap:10px;margin:18px 0;padding:0;font-size:14px;list-style:none;display:flex}.feature-list li:before{content:"✓";color:#86efac;margin-right:8px;font-weight:700}.soon-badge{background:var(--surface-hover);color:var(--text-dim);border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px}.premium-status{color:#fde68a;background:#e0a10026;border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:14px}.checkout{flex-direction:column;gap:12px;display:flex}.trial-button{color:#2b1d00;cursor:pointer;background:linear-gradient(135deg,#f5c542,#e0a100);border:none;border-radius:8px;padding:12px 20px;font-size:15px;font-weight:800}.trial-button:disabled{opacity:.6}.checkout .modal-divider{margin:4px 0}.payment-modes{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.payment-modes label,.consent{background:var(--page-bg);color:var(--text-soft);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;line-height:1.45;display:flex}.payment-modes input,.consent input{flex-shrink:0;margin-top:3px}.consent{background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent-light) 40%, transparent);font-size:13px}.checkout-note{color:var(--text-dim);text-align:center;margin:0;font-size:12px}.danger-button{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:700}.danger-button:disabled{opacity:.6}.review-limit{background:var(--surface);border:1px solid var(--border-color);color:var(--text-soft);text-align:left;border-radius:8px;margin:-35px 0 16px;padding:10px 14px;font-size:14px;line-height:1.5}.review-limit .link-button{padding:0}.analyzer .trial-button{margin:12px auto 0;display:block}.review-scroll{flex:1;min-height:0;margin:0 -4px;padding:0 4px;overflow:hidden auto}.review-summary{text-align:left;flex-direction:column;gap:14px;display:flex}.coach-bubble{text-align:left;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.coach-avatar{border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px #00000059}.coach-bubble-text{color:#2b2622;background:#f8f5f0;border-radius:4px 12px 12px;flex:1;padding:10px 12px;font-size:14px;line-height:1.5;position:relative}.coach-bubble-text p{margin:0}.coach-bubble-text p+p{margin-top:6px}.coach-line{color:#8a8178;margin-top:6px;font-size:12px;line-height:1.4}.coach-name{color:#6b625a;margin-bottom:2px;font-size:12px;font-weight:700}.player-color-picker{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.player-color-picker button{border:1px solid var(--border-color);background:var(--page-bg);color:var(--text-soft);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:13px}.player-color-picker button.active{background:var(--accent);border-color:var(--accent);color:#fff}.review-table{border-collapse:collapse;width:100%;color:var(--text-soft);font-size:13px}.review-table th{color:#fff;text-align:center;padding:4px 6px;font-size:13px}.review-table td{border-top:1px solid var(--surface-hover);text-align:center;padding:4px 6px}.review-table td:first-child{text-align:left}.review-class{align-items:center;gap:7px;display:inline-flex}.accuracy-row td{color:#fff;padding:8px 3px;font-weight:700}.accuracy-pill{color:#2b2622;white-space:nowrap;background:#f8f5f0;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-width:58px;padding:4px 6px;font-size:14px;display:inline-flex}.review-section-title{color:#fff;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.phase-row{border-top:1px solid var(--surface-hover);color:var(--text-soft);grid-template-columns:1fr 80px 80px;align-items:center;padding:5px 0;font-size:13px;display:grid}.phase-cell{justify-content:center;align-items:center;gap:6px;display:inline-flex}.phases-locked{color:var(--text-soft);background:#e0a10014;border:1px dashed #e0a10099;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.5}.phases-locked .link-button{color:#fde68a;padding:0}.coach-options{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.page--stats{max-width:1230px}.stats-card,.stats-hero{border:1px solid var(--border-color);background:var(--surface);border-radius:14px;margin-bottom:16px;padding:20px}.stats-card{flex-direction:column;gap:6px;display:flex}.stats-label{color:var(--text-muted);letter-spacing:.02em;font-size:13px;font-weight:600}.stats-value{color:#fff;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.15}.stats-value--badge{align-items:center;gap:8px;display:flex}.stats-note{color:var(--text-dim);font-size:13px;line-height:1.45}.stats-hero{border-color:var(--accent);grid-template-columns:minmax(290px,1fr) 2fr;align-items:center;gap:24px;display:grid}.stats-hero-main{flex-direction:column;gap:8px;display:flex}.stats-hero-value{color:#fff;font-variant-numeric:tabular-nums;font-size:68px;font-weight:800;line-height:1}.stats-level-name{color:#fff;font-size:26px;font-weight:800;line-height:1.15}.stats-level{flex-direction:column;gap:5px;display:flex}.stats-level-bar{background:var(--page-bg);border-radius:7px;height:14px;overflow:hidden}.stats-level-bar span{background:var(--accent);border-radius:7px;min-width:6px;height:100%;transition:width .4s;display:block}.stats-level-scale{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;font-size:12px;display:flex}.stats-level-scale strong{color:#fff;font-size:14px}.stats-chips{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.stats-chip{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.stats-chip--up{color:#bbf7d0;background:#4ade8029}.stats-chip--down{color:#fecaca;background:#f871712e}.stats-chart-wrap{position:relative}.stats-chart{cursor:crosshair;width:100%;height:auto;display:block}.stats-chart-grid{stroke:var(--border-color);stroke-width:1px;stroke-dasharray:3 4}.stats-chart-label{fill:var(--text-dim);font-size:11px}.stats-chart-cursor{stroke:var(--text-dim);stroke-width:1px}.stats-chart-empty{border:1px dashed var(--border-color);min-height:150px;color:var(--text-dim);text-align:center;border-radius:10px;justify-content:center;align-items:center;font-size:13px;display:flex}.stats-tooltip{border:1px solid var(--border-color);color:var(--text-muted);white-space:nowrap;pointer-events:none;background:#2f2c29;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:flex;position:absolute;top:6px;box-shadow:0 6px 18px #00000059}.stats-tooltip strong{color:#fff;font-size:16px}.stats-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:20px;display:grid}.stats-nav{border:1px solid var(--border-color);background:var(--surface);border-radius:14px;flex-direction:column;gap:4px;padding:10px;position:sticky;top:16px}.stats-nav button{color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:15px 16px;font-size:18px;font-weight:600;display:flex}.stats-nav button:hover{background:var(--surface-hover);color:#fff}.stats-nav button.is-active{background:var(--accent);color:#fff}.stats-chip--center{align-self:center}@media (width<=760px){.stats-layout{grid-template-columns:minmax(0,1fr)}.stats-nav{flex-flow:wrap;position:static}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stats-rating{gap:16px}.stats-rating-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.stats-rating-head h2,.stats-list h2{color:#fff;margin:0;font-size:24px;font-weight:800}.stats-rating-now{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;display:flex}.stats-rating-value{color:#fff;font-size:34px;font-weight:800;line-height:1}.stats-rating-trend{font-size:15px;font-weight:700}.stats-rating-trend--up{color:#86efac}.stats-rating-trend--down{color:#fca5a5}.stats-caption{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.stats-trio,.stats-tiles{text-align:center;display:grid}.stats-trio{grid-template-columns:repeat(3,1fr);gap:12px}.stats-trio>div,.stats-tiles>div{flex-direction:column;align-items:center;gap:4px;display:flex}.stats-trio strong{color:#fff;font-variant-numeric:tabular-nums;font-size:18px}.stats-trio-badge{align-items:center;gap:6px;display:inline-flex}.stats-sides{background:var(--page-bg);border-radius:10px;align-self:center;gap:2px;padding:3px;display:flex}.stats-sides button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:700}.stats-sides button:hover{color:#fff}.stats-sides button.is-active{background:var(--border-color);color:#fff}.stats-tiles{grid-template-columns:repeat(4,1fr)}.stats-tiles>div+div{border-left:1px solid var(--border-color)}.stats-tiles strong{color:#fff;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1.1}.stats-tile-share{letter-spacing:0;font-weight:600}.stats-tile-icon{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:13px;font-style:normal;font-weight:800;line-height:1;display:inline-flex}.stats-tile-icon--games{background:linear-gradient(135deg,#e5e7eb 50%,#6b7280 50%)}.stats-list{gap:0;padding:0;overflow:hidden}.stats-list h2{padding:16px 20px;font-size:20px}.stats-list-row{border-top:1px solid var(--border-color);color:#fff;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:13px 20px;font-size:15px;display:grid}.stats-list-row>:first-child{justify-self:center}.stats-list-row>strong:last-child{font-variant-numeric:tabular-nums}@media (width<=640px){.stats-tiles{grid-template-columns:repeat(2,1fr);gap:14px 0}.stats-tiles>div:nth-child(3){border-left:0}.stats-sides button{padding:8px 12px}}.stats-list-row--text,.goal-row{align-items:start}.stats-list-row--text{grid-template-columns:24px 1fr}.stats-list-row--text>span:last-child,.goal-row>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.goals-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.goals-head .stats-note{font-weight:400}.goal-bar{height:10px;margin-top:2px;display:block}.goal-stats{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px 16px;display:grid}.goal-stats>div{background:var(--page-bg);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.goal-stats strong{color:#fff;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.goal-stats .stats-caption{font-size:10px}.goal-side{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.goal-xp{border:1px solid var(--border-color);color:var(--text-dim);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.goal-xp.is-earned{color:#bbf7d0;background:#4ade801f;border-color:#4ade8073}.goal-bonus.is-earned{background:#4ade800f}.goal-row--locked{color:var(--text-dim)}.goal-row--locked strong{color:var(--text-muted);font-weight:600}.goal-chest{border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 20px;display:flex}.goal-chest-reveal{min-width:200px;color:var(--text-soft);background:#f5b9211f;border:1px solid #f5b921;border-radius:10px;flex:1;margin:0;padding:10px 14px;font-size:14px;animation:.35s ease-out goal-chest-pop}.goal-chest-reveal strong{color:#fff}@keyframes goal-chest-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.goal-chest-reveal{animation:none}}.chest-backdrop{z-index:300;background:radial-gradient(circle at 50% 45%,#28221ee6,#000000eb);justify-content:center;align-items:center;animation:.25s ease-out chest-fade;display:flex;position:fixed;inset:0;overflow:hidden}.chest-stage{flex-direction:column;align-items:center;width:min(92vw,560px);height:min(92vh,640px);display:flex;position:relative}.chest-rays{background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--chest-glow) 26%, transparent) 0deg 9deg, transparent 9deg 22deg);opacity:0;pointer-events:none;border-radius:50%;width:760px;height:760px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.2);-webkit-mask-image:radial-gradient(circle,#000 8%,#0000 62%);mask-image:radial-gradient(circle,#000 8%,#0000 62%)}.chest--burst .chest-rays,.chest--done .chest-rays{animation:.6s ease-out forwards chest-rays-in,16s linear .6s infinite chest-rays-spin}.chest-gift{cursor:pointer;transform-origin:50% 90%;background:0 0;border:0;width:250px;height:250px;padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chest-gift[aria-disabled=true]{cursor:default}.chest-gift svg{width:100%;height:100%;filter:drop-shadow(0 0 26px color-mix(in srgb, var(--chest-color) 70%, transparent));display:block;overflow:visible}.chest-shadow{fill:#00000073}.chest-lid,.chest-box{transform-box:fill-box;transform-origin:50% 100%}.chest--drop .chest-gift{animation:.75s cubic-bezier(.3,.7,.4,1) both chest-drop}.chest--idle .chest-gift{animation:1.6s ease-in-out infinite chest-wobble}.chest--idle .chest-lid{animation:1.6s ease-in-out infinite chest-lid-peek}.chest--idle .chest-gift:hover svg{filter:drop-shadow(0 0 40px var(--chest-glow))}.chest--shake .chest-gift{animation:.9s ease-in both chest-shake}.chest--shake .chest-lid{animation:.9s ease-in both chest-lid-rattle}.chest--burst .chest-lid,.chest--done .chest-lid{animation:.9s cubic-bezier(.2,.8,.3,1) forwards chest-lid-fly}.chest--burst .chest-box{animation:.5s ease-out chest-box-pop}.chest--burst .chest-gift,.chest--done .chest-gift{animation:.7s ease-out forwards chest-settle}.chest-hint{color:#fff;margin:0;font-size:18px;font-weight:800;animation:1.2s ease-in-out infinite chest-hint;position:absolute;top:calc(50% + 140px)}.chest-confetti{pointer-events:none;position:absolute;top:50%;left:50%}.chest-confetti i{opacity:0;border-radius:2px;width:10px;height:14px;animation:1.5s cubic-bezier(.15,.7,.3,1) forwards chest-confetti;position:absolute}.chest-confetti i.is-round{border-radius:50%;width:10px;height:10px}.chest-rewards{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:12px;display:flex;position:absolute;top:6%;left:0;right:0}.chest-card{border:2px solid var(--chest-color);color:var(--text-soft);text-align:center;box-shadow:0 14px 34px #0000008c, 0 0 34px color-mix(in srgb, var(--chest-glow) 45%, transparent);background:#2b2622;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px 18px;font-size:13px;animation:.95s cubic-bezier(.2,.9,.3,1.15) both chest-card-fly;display:flex}.chest-card--item{width:196px}.goal-chest-error{margin:0 20px 12px}.chest-card--xp{border-color:#f5b921;width:130px;animation-delay:.16s}.chest-card strong{color:#fff;font-size:17px;line-height:1.25}.chest-card--xp strong{font-size:22px}.chest-rarity{background:var(--chest-color);color:#1c1917;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 12px;font-size:11px;font-weight:900}.chest-preview{justify-content:center;align-items:center;height:64px;font-size:44px;display:flex}.chest-ring{background:#3f3a36;border:7px solid;border-radius:50%;width:54px;height:54px}.chest-close{padding:14px 44px;font-size:17px;animation:.4s ease-out chest-fade;position:absolute;bottom:4%}@keyframes chest-fade{0%{opacity:0}}@keyframes chest-drop{0%{opacity:0;transform:translate(-50%,-260%)rotate(-14deg)scale(.9)}55%{opacity:1;transform:translate(-50%,-44%)rotate(4deg)scale(1.06,.9)}72%{transform:translate(-50%,-62%)rotate(-2deg)scale(.97,1.05)}88%{transform:translate(-50%,-48%)scale(1.03,.96)}to{transform:translate(-50%,-50%)}}@keyframes chest-wobble{0%,to{transform:translate(-50%,-50%)rotate(-2.5deg)}50%{transform:translate(-50%,-53%)rotate(2.5deg)}}@keyframes chest-lid-peek{0%,70%,to{transform:translateY(0)rotate(0)}80%{transform:translateY(-7px)rotate(-3deg)}90%{transform:translateY(-2px)rotate(2deg)}}@keyframes chest-shake{0%{transform:translate(-50%,-50%)rotate(0)}10%{transform:translate(-51%,-50%)rotate(-3deg)}20%{transform:translate(-49%,-50%)rotate(3deg)}30%{transform:translate(-52%,-51%)rotate(-5deg)}40%{transform:translate(-48%,-50%)rotate(5deg)}50%{transform:translate(-53%,-51%)rotate(-7deg)scale(1.03)}60%{transform:translate(-47%,-50%)rotate(7deg)scale(1.04)}70%{transform:translate(-54%,-52%)rotate(-9deg)scale(1.06)}80%{transform:translate(-46%,-51%)rotate(9deg)scale(1.08)}90%{transform:translate(-52%,-52%)rotate(-6deg)scale(1.1)}to{transform:translate(-50%,-50%)rotate(0)scale(1.14,.9)}}@keyframes chest-lid-rattle{0%,to{transform:translateY(0)}35%{transform:translateY(-4px)rotate(-2deg)}55%{transform:translateY(-9px)rotate(3deg)}75%{transform:translateY(-5px)rotate(-4deg)}90%{transform:translateY(-14px)rotate(4deg)}}@keyframes chest-lid-fly{0%{opacity:1;transform:translate(0)rotate(0)}35%{opacity:1;transform:translate(-40px,-190px)rotate(-70deg)}to{opacity:0;transform:translate(-190px,-70px)rotate(-250deg)scale(.7)}}@keyframes chest-box-pop{0%{transform:scale(1.14,.9)}40%{transform:scale(.94,1.12)}to{transform:scale(1)}}@keyframes chest-settle{0%{transform:translate(-50%,-50%)}to{transform:translate(-50%,-22%)scale(.72)}}@keyframes chest-rays-in{to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes chest-rays-spin{to{transform:translate(-50%,-50%)scale(1)rotate(360deg)}}@keyframes chest-hint{0%,to{opacity:.65;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@keyframes chest-confetti{0%{opacity:1;transform:translate(0)rotate(0)scale(.4)}60%{opacity:1;transform:translate(var(--x), var(--y)) rotate(var(--spin)) scale(1)}to{opacity:0;transform:translate(var(--x), calc(var(--y) + 190px)) rotate(calc(var(--spin) * 1.6)) scale(.9)}}@keyframes chest-card-fly{0%{opacity:0;transform:translateY(260px)scale(.1)rotate(-18deg)}55%{opacity:1;transform:translateY(-26px)scale(1.08)rotate(4deg)}78%{transform:translateY(8px)scale(.98)rotate(-1deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.chest-backdrop *,.chest-backdrop{animation:none!important}.chest-rays{opacity:1;transform:translate(-50%,-50%)}.chest-lid{display:none}.chest-gift{transform:translate(-50%,-22%)scale(.72)}}.collection-rarities{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.collection-rarities span{align-items:center;gap:6px;display:inline-flex}.collection-rarities i{border-radius:3px;width:10px;height:10px}.collection-missing{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;display:flex}.collection-missing span{align-items:center;gap:5px;display:inline-flex}.collection-missing i{border-radius:3px;width:9px;height:9px}.collection-items button.is-locked{color:var(--text-dim);cursor:default;background:0 0}.collection-items button:disabled:hover{color:inherit}.collection-group{flex-direction:column;gap:8px;margin-top:6px;display:flex}.collection-items{flex-wrap:wrap;gap:6px;display:flex}.collection-items button{border:1px solid var(--border-color);background:var(--page-bg);color:var(--text-soft);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.collection-items button:hover{border-color:var(--accent);color:#fff}.collection-items button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.collection-swatch{border-radius:50%;width:14px;height:14px}.coach-avatar-button{box-shadow:var(--coach-frame-shadow,none)}.user-name{vertical-align:middle;flex-direction:column;align-items:flex-start;display:inline-flex}.user-title{color:var(--accent-light,var(--text-dim));font-size:11px;font-weight:700}@media (width<=640px){.goal-stats{grid-template-columns:1fr}}.goals-note{border-top:1px solid var(--border-color);margin:0;padding:12px 20px 16px}.advice-card{gap:14px}.advice-card--first{border-color:var(--accent)}.advice-head{gap:14px;display:flex}.advice-icon{background:var(--page-bg);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.advice-head h3{color:#fff;margin:2px 0 4px;font-size:19px;line-height:1.25}.advice-head p{color:var(--text-soft);margin:0;font-size:14px;line-height:1.5}.advice-bars{flex-direction:column;gap:8px;display:flex}.advice-bar{color:var(--text-soft);grid-template-columns:150px 1fr 56px;align-items:center;gap:12px;font-size:13px;display:grid}.advice-bar-track{background:var(--page-bg);border-radius:7px;height:14px;overflow:hidden}.advice-bar-track span{background:#86a8c9;border-radius:7px;height:100%;display:block}.advice-bar strong{color:#fff;text-align:right;font-variant-numeric:tabular-nums}.advice-bar--weak{color:#fff;font-weight:700}.advice-bar--weak .advice-bar-track span{background:#f59e0b}.advice-tip{background:var(--page-bg);color:var(--text-soft);border-radius:10px;margin:0;padding:12px 14px;font-size:14px;line-height:1.5}.advice-tip strong{color:#fff}@media (width<=640px){.advice-bar{grid-template-columns:96px 1fr 48px}}.opening-lead{color:var(--text-soft);margin:0;font-size:15px;line-height:1.5}.opening-lead strong{color:#fff}.opening-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.opening-card{background:var(--page-bg);border-radius:12px;gap:14px;padding:14px;display:flex}.opening-board{pointer-events:none;border-radius:6px;flex-shrink:0;overflow:hidden}.opening-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.opening-title{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.opening-title h3{color:#fff;margin:0;font-size:17px;line-height:1.2}.opening-tag{border:1px solid var(--border-color);color:var(--text-soft);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.opening-numbers{gap:18px;display:flex}.opening-numbers>div{flex-direction:column;display:flex}.opening-numbers strong{color:#fff;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1.15}.opening-numbers .stats-caption{font-size:10px}.opening-bar{gap:2px;height:18px;display:flex}.opening-bar i{font-variant-numeric:tabular-nums;border-radius:4px;justify-content:center;align-items:center;min-width:4px;font-size:11px;font-style:normal;font-weight:700;display:flex;overflow:hidden}.opening-variants-toggle{color:var(--accent-light,var(--text-soft));font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 0;font-size:13px}.opening-variants-toggle:hover{color:#fff}.opening-variants{color:var(--text-dim);flex-direction:column;gap:3px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.opening-variants li{grid-template-columns:1fr auto 36px;gap:8px;display:grid}.opening-variants li>span:first-child{color:var(--text-soft)}.opening-variants strong{color:#fff;text-align:right;font-variant-numeric:tabular-nums}@media (width<=1100px){.opening-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.opening-card{flex-direction:column;align-items:center}.opening-body{align-self:stretch}}.stats-more{border:1px solid var(--border-color);color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-self:center;padding:7px 16px;font-size:13px}.stats-more:hover{border-color:var(--accent);color:#fff}.stats-phases,.stats-numbers{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stats-phase .stats-chip{align-self:flex-start}.stats-loader{flex-direction:row;align-items:center;gap:20px}.stats-loader-text{color:#fff;flex-direction:column;flex:1;gap:6px;display:flex}.stats-loader .primary-button{flex-shrink:0}.stats-progress{background:var(--page-bg);border-radius:4px;height:8px;overflow:hidden}.stats-progress span{background:var(--accent);border-radius:4px;height:100%;transition:width .3s;display:block}.stats-all-counted{margin:-4px 4px 16px}.stats-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.stats-card-head h2{color:#fff;margin:0;font-size:18px}.stats-divider{background:var(--border-color);height:1px;margin:8px 0}.result-row{flex-direction:column;gap:5px;padding:7px 0;display:flex}.result-row-head{justify-content:space-between;gap:12px;font-size:14px;display:flex}.result-row-label{color:var(--text-soft);font-weight:600}.result-row-count{color:var(--text-dim);font-size:13px}.result-row-count strong{color:var(--text-soft)}.result-bar{gap:2px;height:24px;display:flex}.result-segment{min-width:6px;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border:0;justify-content:center;align-items:center;padding:0;font-size:12px;font-weight:700;transition:opacity .15s,transform .15s;display:flex;overflow:hidden}.result-bar--active .result-segment{opacity:.4}.result-bar--active .result-segment.is-active{opacity:1;transform:scaleY(1.18)}.result-segment:focus-visible{outline-offset:1px;outline:2px solid #fff}.result-dot{border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.result-segment:first-child{border-radius:6px 0 0 6px}.result-segment:last-child{border-radius:0 6px 6px 0}.result-segment:only-child{border-radius:6px}.result-segment--win{color:#052e16;background:#4ade80}.result-segment--draw{color:#1c1917;background:#a8a29e}.result-segment--loss{color:#450a0a;background:#f87171}.result-legend{color:var(--text-muted);gap:14px;font-size:12px;display:flex}.result-legend span{align-items:center;gap:6px;display:inline-flex}.result-legend i{border-radius:3px;width:10px;height:10px}.stats-table{border-collapse:collapse;width:100%;color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:14px}.stats-table th,.stats-table td{border-bottom:1px solid var(--border-color);text-align:left;padding:9px 8px}.stats-table tbody tr:last-child td{border-bottom:0}.stats-table th{color:var(--text-dim);font-size:12px;font-weight:600}.stats-table th:last-child,.stats-table td:last-child{text-align:right}.stats-accuracy{align-items:center;gap:6px;display:inline-flex}@media (width<=760px){.stats-hero,.stats-phases,.stats-numbers{grid-template-columns:1fr}.stats-loader{flex-direction:column;align-items:stretch}}.badge-icon{filter:drop-shadow(0 2px 4px #00000059);flex-shrink:0}.badge-icon--locked{filter:none}.badge-hero{border-color:var(--accent);flex-direction:row;align-items:center;gap:24px}.badge-hero-level{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.badge-hero-number{border:5px solid var(--accent);background:var(--page-bg);color:#fff;font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;font-size:44px;font-weight:800;display:flex}.badge-hero-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.badge-hero-tiles{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:4px;display:grid}.badge-hero-tiles>div{background:var(--page-bg);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.badge-hero-tiles strong{color:#fff;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.badge-hero-tiles .stats-caption{font-size:10px}.badge-hero-showcase{border-left:1px solid var(--border-color);text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding-left:24px;display:flex}.badge-hero-showcase .stats-note{max-width:180px}.badge-showcase{gap:8px;display:flex}.badge-showcase-slot{border:1px solid var(--border-color);background:var(--page-bg);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;padding:0;display:flex}button.badge-showcase-slot:hover{border-color:var(--accent)}.badge-showcase-slot--empty{cursor:default;background:0 0;border-style:dashed}.badge-closest{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.badge-closest-item{background:var(--page-bg);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.badge-closest-item>div{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.badge-closest-item strong{color:#fff;font-size:15px}.badge-closest-bar{background:var(--surface);height:8px;display:block}.badge-filter{flex-wrap:wrap;gap:6px;margin:4px 0 2px;display:flex}.badge-filter button{border:1px solid var(--border-color);background:var(--surface);color:var(--text-soft);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;display:inline-flex}.badge-filter button:hover{border-color:var(--accent);color:#fff}.badge-filter button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.badge-filter button span{font-variant-numeric:tabular-nums;background:#00000040;border-radius:999px;padding:1px 7px;font-size:12px}.badge-group-title{color:#fff;justify-content:space-between;align-items:baseline;gap:12px;margin:22px 0 10px;font-size:20px;display:flex}.badge-group-title span{color:var(--text-dim);font-size:13px;font-weight:400}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.badge-card{border:1px solid var(--border-color);background:var(--surface);border-radius:14px;gap:16px;padding:16px;display:flex;position:relative}.badge-card--locked{background:0 0}.badge-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.badge-card-head{flex-wrap:wrap;align-items:center;gap:4px 10px;padding-right:30px;display:flex}.badge-card-name{color:#fff;margin:0;font-size:17px;font-weight:700}.badge-card-text{color:var(--text-muted);font-size:13px;line-height:1.4}.badge-card-count{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12px}.badge-card-count strong{color:var(--text-soft);font-size:13px}.badge-card-note{color:var(--text-dim);font-size:12px;font-style:italic}.badge-star{width:32px;height:32px;color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;font-size:20px;line-height:1;position:absolute;top:10px;right:10px}.badge-star:hover:not(:disabled){background:var(--page-bg);color:#fff}.badge-star.is-on{color:#f5b921}.badge-star:disabled{cursor:default;opacity:.35}.badge-tier{border:1px solid var(--border-color);color:var(--text-dim);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge-tier--earned{color:var(--text-soft)}.tier-track-wrap{flex-direction:column;gap:4px;margin:6px 0 2px;padding-right:11px;display:flex}.tier-track{height:22px;position:relative}.tier-track-line{background:var(--page-bg);border-radius:3px;height:6px;position:absolute;top:8px;left:0;right:0;overflow:hidden}.badge-card--locked .tier-track-line{background:var(--surface)}.tier-track-line span{background:var(--accent-light,var(--accent));border-radius:3px;height:100%;display:block}.tier-point{filter:drop-shadow(0 1px 2px #00000073);display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.tier-track-labels{color:var(--text-dim);font-variant-numeric:tabular-nums;grid-template-columns:repeat(5,1fr);font-size:10px;display:grid}.tier-track-labels span{text-align:right;padding-right:0;transform:translate(11px)}.tier-track-labels span.is-reached{color:var(--text-soft);font-weight:700}.badge-reward{border:1px dashed var(--border-color);background:var(--page-bg);border-radius:10px;align-items:center;gap:10px;margin-top:4px;padding:8px 10px;display:flex}.badge-card--locked .badge-reward{background:0 0}.badge-reward-icon{flex-shrink:0;font-size:20px;line-height:1}.badge-reward-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.badge-reward-label{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.badge-reward strong{color:var(--text-soft);font-size:13px;font-weight:600;line-height:1.35}.badge-reward--unlocked{background:#4ade801a;border:1px solid #4ade8073}.badge-reward--unlocked .badge-reward-label{color:#bbf7d0}.badge-reward--unlocked strong{color:#fff}.badge-reward-check{color:#052e16;background:#4ade80;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:900;display:flex}.header-badges{align-items:center;gap:2px;display:inline-flex}@media (width<=900px){.badge-grid,.badge-closest{grid-template-columns:minmax(0,1fr)}.badge-hero{flex-direction:column;align-items:stretch}.badge-hero-showcase{border-top:1px solid var(--border-color);border-left:0;padding:16px 0 0}}.modal.outcome-modal{flex-direction:column;gap:12px;max-width:520px;max-height:calc(100vh - 32px);display:flex;overflow-y:auto}.modal.outcome-modal h2{margin:0}.outcome-change{background:var(--page-bg);border-radius:12px;align-items:center;gap:16px;padding:14px 16px;animation:.45s ease-out both outcome-pop;display:flex}.outcome-change-value{color:#fff;font-variant-numeric:tabular-nums;font-size:54px;font-weight:800;line-height:1}.outcome-change-label{color:var(--text-muted);font-size:14px;line-height:1.5}.outcome-change-label strong{color:#fff}.outcome-change--up{border-left:6px solid #4ade80}.outcome-change--down{border-left:6px solid #f87171}.outcome-change--same{border-left:6px solid #a8a29e}.outcome-level-up{color:#fff;text-align:center;border-radius:10px;padding:10px 14px;font-size:16px;font-weight:700}.outcome-level-up--up{background:var(--accent);animation:.6s ease-out .25s both outcome-pop}.outcome-level-up--down{background:var(--page-bg);color:var(--text-muted);font-weight:600}.test-page{text-align:left;margin:0 auto;padding:24px 16px 60px}.test-page .page-header a,.test-warning button{color:var(--accent-light,white)}.test-tabs{z-index:20;background:var(--page-bg);flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:10px 0;display:flex;position:sticky;top:0}.test-tabs button{border:1px solid var(--border-color);background:var(--surface);color:var(--text-soft);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px}.test-tabs button:hover{border-color:var(--accent)}.test-tabs button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.test-heading{color:#fff;margin:0 0 12px;font-size:18px}.test-form{flex-wrap:wrap;align-items:flex-start;gap:12px 16px;margin-bottom:14px;display:flex}.test-form>.primary-button{align-self:center}.test-field{max-width:260px;color:var(--text-soft);flex-direction:column;gap:4px;font-size:13px;display:flex}.test-field-label{font-weight:600}.test-field-hint{color:var(--text-dim);font-size:12px}.test-field input,.test-field select{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;width:150px;font:inherit;border-radius:8px;padding:8px 10px}.test-field select,.test-field input.test-wide{width:250px}.test-field input:focus-visible,.test-field select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.test-check{color:var(--text-soft);cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.test-bubble{margin:4px 0 10px}.test-texts{color:var(--text-dim);margin:8px 0 0;padding-left:28px}.test-texts button{color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:3px 0}.test-texts button:hover{color:#fff}.test-story h3{color:#fff;margin:18px 0 0;font-size:15px}.test-story h3 span{color:var(--text-dim);font-weight:400}.test-moods{flex-wrap:wrap;gap:14px;margin-bottom:14px;display:flex}.test-moods figure{flex-direction:column;align-items:center;gap:6px;width:112px;margin:0;display:flex}.test-moods figcaption{color:var(--text-dim);text-align:center;font-size:12px}.test-sounds{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:20px;display:grid}.test-sound{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.test-sound:hover{border-color:var(--accent)}.test-sound span{color:var(--text-dim);font-size:12px}.test-warning{color:#fecaca;background:#f871712e;border-radius:10px;padding:10px 12px}.level-bar-animated{border-radius:9px;height:18px;display:flex}.level-bar-animated span{border-radius:0;flex-shrink:0;min-width:0;transition:none}.level-bar-animated .level-kept{background:var(--accent)}.level-bar-animated .level-gained,.level-legend .level-gained{background:linear-gradient(90deg,#fbbf24,#fde68a)}.level-bar-animated.is-moving .level-gained{background:linear-gradient(90deg,#fbbf24,#fde68a,#fbbf24) 0 0/200% 100%;animation:.9s linear infinite level-shine;box-shadow:0 0 12px 2px #fbbf24bf}.level-bar-animated .level-lost,.level-legend .level-lost{background:repeating-linear-gradient(135deg,#ffffff47 0 5px,#ffffff1a 5px 10px)}.level-legend{align-items:center;gap:6px;display:inline-flex}.level-legend i{border-radius:3px;width:12px;height:12px}@keyframes level-shine{0%{background-position:200% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.level-bar-animated.is-moving .level-gained{animation:none}}.level-name{transform-origin:0;display:inline-block}.level-name--flash{animation:.7s ease-out both level-name-flash}@keyframes level-name-flash{0%{color:#fff;transform:scale(1.35)}to{transform:scale(1)}}.outcome-heading{color:#fff;margin:6px 0 0;font-size:15px}.outcome-phases{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.outcome-phase{border:1px solid var(--border-color);border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.outcome-phase-rating{color:#fff;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.outcome-badges{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.outcome-badge{border-radius:10px;align-items:center;gap:10px;padding:6px 8px;display:flex}.outcome-badge--new{background:var(--page-bg)}.outcome-badge-text{color:var(--text-muted);flex-direction:column;font-size:13px;display:flex}.outcome-badge-text strong{color:#fff;font-size:14px}.outcome-badge-bar{border-radius:5px;width:100%;height:10px;margin:3px 0}.outcome-badge-text{flex:1;min-width:0}.outcome-badge-pop{animation:.7s ease-out both badge-pop;display:inline-flex}@keyframes badge-pop{0%{transform:scale(.6)rotate(-12deg)}55%{transform:scale(1.3)rotate(6deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.outcome-badge-pop{animation:none}}.outcome-reward{color:#bbf7d0;background:#4ade8029;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.outcome-close{width:100%;margin-top:4px}@keyframes outcome-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.outcome-change,.outcome-level-up--up{animation:none}}.coach-column{flex:1 1 0;justify-content:center;display:flex;overflow-y:auto}.analysis-spacer{flex:1 1 0;min-width:0}.coach-column-inner{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.coach-column-name{color:var(--text-soft);font-size:15px;font-weight:700}.coach-column-bubble{color:#2b2622;text-align:left;background:#f8f5f0;border-radius:14px;width:100%;margin-top:8px;padding:14px 16px;font-size:16px;line-height:1.5;position:relative;box-shadow:0 4px 14px #0000004d}.coach-column-bubble:before{content:"";border:10px solid #0000;border-top:0;border-bottom-color:#f8f5f0;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.coach-column-bubble p{margin:0}.coach-avatar-button{cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;padding:0;line-height:0;transition:transform .15s}.coach-avatar-button:hover{transform:scale(1.06)}.coach-change-hint{color:#8a8178;margin-top:4px;font-size:12px}.modal.coach-modal{max-width:760px;max-height:calc(100vh - 32px);overflow-y:auto}.coach-cards{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.coach-card{border:2px solid var(--border-color);background:var(--page-bg);color:#fff;font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:14px;transition:border-color .15s,transform .15s;display:flex}.coach-card:hover{border-color:var(--coach-color);transform:translateY(-2px)}.coach-card.active{border-color:var(--coach-color);box-shadow:0 0 0 2px var(--coach-color) inset}.coach-card-body{flex-direction:column;flex:1;gap:4px;display:flex}.coach-card-name{font-size:17px;font-weight:700}.coach-card-style{color:var(--text-muted);font-size:12px}.coach-card-pitch{color:#2b2622;background:#f8f5f0;border-radius:4px 10px 10px;margin:4px 0 6px;padding:8px 10px;font-size:13px;line-height:1.45}.coach-card-pick{background:var(--coach-color);color:#fff;border-radius:999px;align-self:flex-start;padding:5px 12px;font-size:13px;font-weight:600}.coach-hand{transform-box:fill-box;transform-origin:50% 100%;animation:1.1s ease-in-out infinite coach-wave}@keyframes coach-wave{0%,to{transform:rotate(-16deg)}50%{transform:rotate(18deg)}}@media (prefers-reduced-motion:reduce){.coach-hand{animation:none}}@media (width<=640px){.coach-cards{grid-template-columns:1fr}}.piper-toggle{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:10px;font-size:13px;display:flex}.piper-note{color:#8a8178;font-size:12px}.piper-status{color:var(--text-soft)}.piper-progress{background:#e5ded6;border-radius:3px;flex-basis:100%;height:6px;overflow:hidden}.piper-progress span{background:var(--accent,#d97706);height:100%;transition:width .2s;display:block}.coach-option{background:var(--page-bg);color:var(--text-soft);cursor:pointer;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:12px;display:flex}.coach-option.active{border-color:var(--accent);color:#fff}.review-start{flex-shrink:0;width:100%;margin-top:10px}.review-links{justify-content:space-between;gap:10px;margin:-2px 0 8px;font-size:12px;display:flex}.review-links .link-button{padding:0;font-size:12px}.review-switch{align-self:center;margin-top:8px;font-size:13px}.review-title{justify-content:space-between;align-items:center;display:flex}.moment-counter{color:var(--text-dim);font-size:12px;font-weight:400}.review-controls{grid-template-columns:1fr 1.4fr;gap:8px;margin-top:12px;display:grid}.review-controls .nav-button{font-size:15px;font-weight:700}.nav-button:disabled{opacity:.45;cursor:default}.variation-back{border:1px solid color-mix(in srgb, var(--accent-light) 60%, transparent);background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent-soft);cursor:pointer;border-radius:8px;margin-bottom:10px;padding:8px 10px;font-size:14px;font-weight:700}.variation-back:hover{background:color-mix(in srgb, var(--accent) 30%, transparent)}.premium-diamond{vertical-align:middle;flex-shrink:0;display:inline-block;overflow:visible}.login-button .premium-diamond{margin-top:-3px;margin-right:6px}.premium-active{color:#bbf7d0;vertical-align:middle;background:#22a44740;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.plan-title,.card h2{align-items:center;gap:8px;display:flex}.name-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.name-choice{border:2px solid var(--border-color);background:var(--page-bg);color:#fff;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;font-size:15px;display:flex}.name-choice span{color:var(--text-muted);font-size:12px}.name-choice:hover,.name-choice.active{border-color:var(--accent)}.review-loader{background:var(--surface-hover);border-radius:12px;flex-direction:column;align-items:center;margin-bottom:12px;padding:18px 12px 16px;display:flex}.review-loader-pawn{filter:drop-shadow(0 4px 6px #00000059);width:72px;height:72px;animation:1.1s ease-in-out infinite pawn-hop}.review-loader-shadow{background:#0000004d;border-radius:50%;width:44px;height:7px;margin-top:2px;animation:1.1s ease-in-out infinite pawn-shadow}.review-loader-bar{background:var(--page-bg);border-radius:5px;width:100%;height:10px;margin-top:16px;overflow:hidden}.review-loader-bar>div{background:linear-gradient(90deg,#4ade80,#22a447);border-radius:5px;height:100%;transition:width .4s}.review-loader-text{color:var(--text-soft);margin-top:10px;font-size:14px;font-weight:700}@keyframes pawn-hop{0%,to{transform:translateY(0)scaleY(1)}15%{transform:translateY(0)scaleY(.92)}45%{transform:translateY(-18px)scaleY(1.03)}75%{transform:translateY(0)scaleY(1)}}@keyframes pawn-shadow{0%,to,75%{opacity:.35;transform:scaleX(1)}45%{opacity:.15;transform:scaleX(.6)}}@media (prefers-reduced-motion:reduce){.review-loader-pawn,.review-loader-shadow{animation:none}}.side-panel{position:relative}.sound-toggle{cursor:pointer;z-index:2;background:0 0;border:none;border-radius:6px;width:30px;height:30px;font-size:16px;position:absolute;top:8px;right:8px}.sound-toggle:hover{background:var(--surface-hover)}.review-title{padding-right:34px}.game-accuracy{color:#2b2622;text-align:center;background:#f8f5f0;border-radius:6px;justify-self:center;min-width:54px;padding:3px 8px;font-size:13px;font-weight:700}.game-review-pending{opacity:.9;justify-self:center;display:inline-flex}.game-row:hover .game-review-pending{opacity:1;transform:scale(1.08)}.board-fx{z-index:30;pointer-events:none;position:absolute;inset:0;overflow:visible}.fx-throw{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle));filter:drop-shadow(0 2px 3px #00000073);line-height:1;animation:.6s ease-in both fx-throw;display:inline-flex;position:absolute}.fx-no-rotate{--angle:0deg!important}@keyframes fx-throw{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle))}8%{opacity:1}85%{opacity:1;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--angle))}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--angle))}}.fx-flash{opacity:0;border-radius:4px;animation:.8s ease-out both fx-flash;position:absolute;transform:translate(-50%,-50%)}.fx-emoji{opacity:0;filter:drop-shadow(0 2px 3px #0006);line-height:1;position:absolute;transform:translate(-50%,-50%)}.fx-pop{animation:1.5s ease-out both fx-pop}@keyframes fx-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}18%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}30%{transform:translate(-50%,-50%)scale(1)}85%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.fx-gold{filter:sepia()saturate(5)hue-rotate(-12deg)brightness(1.15)drop-shadow(0 0 5px #facc15e6)}.fx-gold-glow{filter:drop-shadow(0 0 5px #facc15f2)}.fx-drop{animation:1.5s ease-out both fx-drop}@keyframes fx-drop{0%{opacity:0;transform:translate(-50%,-260%)}25%{opacity:1;transform:translate(-50%,-60%)scale(1.2)}35%{transform:translate(-50%,-60%)scale(1)}85%{opacity:1;transform:translate(-50%,-60%)scale(1)}to{opacity:0;transform:translate(-50%,-60%)scale(1)}}.fx-click{animation:1.5s ease-out both fx-click}@keyframes fx-click{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}30%,55%{transform:translate(-50%,-50%)scale(1.25)}40%,65%{transform:translate(-50%,-50%)scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.fx-point{animation:1.5s ease-in-out both fx-point}@keyframes fx-point{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateX(0)}15%{opacity:1}30%,60%{transform:translate(-50%, -50%) rotate(var(--angle)) translateX(10px)}45%,75%{transform:translate(-50%, -50%) rotate(var(--angle)) translateX(0)}88%{opacity:1}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateX(0)}}.fx-puff{animation:.8s ease-out both fx-puff}@keyframes fx-puff{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-110%)scale(1.3)}}.fx-crown-fall{animation:1s ease-in both fx-crown-fall}@keyframes fx-crown-fall{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)}to{opacity:0;transform:translate(-10%,120%)rotate(95deg)}}.fx-cage{opacity:0;background:repeating-linear-gradient(90deg,#27272ad9 0 3px,#0000 3px 20%);border:3px solid #3f3f46;border-radius:4px;animation:1.5s ease-out both fx-cage;position:absolute}@keyframes fx-cage{0%{opacity:0;transform:translate(-50%,-180%)}25%{opacity:1;transform:translate(-50%,-50%)}85%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}.fx-bubble{color:#111827;opacity:0;background:#fff;border:2px solid #1f2937;border-radius:14px;padding:4px 10px;line-height:1;position:absolute;transform:translate(-50%,-50%)}.fx-bubble-piece{display:block}.fx-bubble:after{content:"";border:6px solid #0000;border-top-color:#1f2937;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.fx-caption{border:2px solid var(--accent);color:#fff;white-space:nowrap;opacity:0;background:#111c;border-radius:999px;padding:6px 18px;font-size:20px;font-weight:800;animation:1.7s ease-out both fx-caption;position:absolute;top:10px;left:50%;transform:translate(-50%)}@keyframes fx-caption{0%{opacity:0;transform:translate(-50%,-12px)}15%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.board-fx *{animation-duration:.01ms!important}}.fx-caption--bottom{top:auto;bottom:10px}.flip-toggle{color:var(--text-soft);font-size:17px;font-weight:700;right:42px}.voice-toggle{right:76px}.side-panel-title,.review-title{padding-right:110px}.moment-counter{white-space:nowrap}.home-art-bubble,.settings-preview-coach p,.coach-bubble-text,.coach-column-bubble,.coach-card-pitch{border:1px solid var(--bubble-border,transparent);background:var(--bubble-bg,#f8f5f0);color:var(--bubble-text,#2b2622)}.coach-column-bubble:before{border-bottom-color:var(--bubble-border,#f8f5f0)}:root.has-home-bg .home{background:var(--home-bg)}.user-nick--gradient{color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800}.user-emblem{margin-left:6px}.collection-swatch--bubble{border:2px solid;border-radius:6px 6px 6px 2px}.collection-swatch--bg{border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff40}.training-meta{grid-template-columns:auto 1fr;gap:8px 12px;margin:0;font-size:14px;display:grid}.training-meta dt{color:var(--text-dim)}.training-meta dd{color:#fff;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:0;font-weight:700;display:flex}.training-meta dd span{color:var(--text-dim);font-size:13px;font-weight:400}.training-meta .training-kind{align-items:center;gap:5px;display:inline-flex}.training-gems{gap:7px;padding:3px 0;display:inline-flex}.training-meta dd .training-gems span{border:2px solid var(--border-strong);border-radius:3px;width:13px;height:13px;transform:rotate(45deg)}.training-meta dd .training-gems span.is-on{background:linear-gradient(135deg,#a7f3d0,#10b981);border-color:#6ee7b7;box-shadow:0 0 8px #10b98199}.training-return{color:var(--text-soft);margin:0;font-size:14px}.training-counts{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.training-counts div{background:var(--page-bg);border-radius:10px;flex-direction:column;align-items:center;padding:8px 4px;display:flex}.training-counts strong{color:#fff;font-size:20px}.training-counts span{color:var(--text-dim);text-align:center;font-size:11px}.training-scan{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.training-scan .play-button{width:100%}.training-scan .stats-note{margin:0}.coach-column-bubble .training-why{border-top:1px solid #0000001f;margin-top:8px;padding-top:8px;font-size:14px}.training-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:520px;display:flex}.training-empty .training-counts{width:100%}.training-empty .training-scan{align-items:center;width:100%;max-width:340px}.test-training .play{padding-left:0;padding-right:0}.settings-shell{grid-template-columns:230px minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.settings-nav{border:1px solid var(--border-color);background:var(--surface);border-radius:18px;flex-direction:column;gap:6px;padding:10px;display:flex;position:sticky;top:16px}.settings-nav button{color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex;position:relative}.settings-nav button:hover{background:var(--surface-hover)}.settings-nav button.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, transparent);color:#fff}.settings-nav-icon{background:var(--page-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:19px;display:flex}.settings-nav button.is-active .settings-nav-icon{background:var(--accent)}.settings-nav-text{flex-direction:column;min-width:0;display:flex}.settings-nav-text strong{color:#fff;font-size:15px}.settings-nav-text span{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.settings-nav button.is-active .settings-nav-text span{color:var(--text-soft)}.settings-shell .settings-sections{animation:.22s ease-out settings-pane-in}@keyframes settings-pane-in{0%{opacity:0;transform:translateY(6px)}}.settings-pane-head{margin-bottom:14px}.settings-pane-head>span{color:var(--accent-light,var(--text-dim));letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.settings-pane-head h2{color:#fff;margin:2px 0 4px;font-size:26px}.settings-pane-head p{color:var(--text-soft);margin:0}.settings-pager{justify-content:space-between;gap:10px;margin-top:6px;display:flex}.settings-pager button{border:1px solid var(--border-strong);color:#fff;font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:10px 16px;font-weight:600}.settings-pager button:hover{background:var(--surface-hover)}.settings-pager button.is-next{border-color:var(--accent);background:var(--accent)}@media (width<=1250px){.settings-shell{grid-template-columns:210px minmax(0,1fr)}.settings-shell .settings-preview{grid-column:2;position:static}}@media (width<=800px){.settings-shell{grid-template-columns:minmax(0,1fr)}.settings-nav{flex-direction:row;position:static;overflow-x:auto}.settings-nav button{flex-shrink:0}.settings-shell .settings-preview{grid-column:1}}@media (prefers-reduced-motion:reduce){.settings-shell .settings-sections{animation:none}}.training-goal{border:1px solid var(--border-color);background:var(--page-bg);text-align:left;border-radius:12px;flex-direction:column;gap:6px;width:100%;padding:10px 12px;display:flex}.training-goal.is-done{border-color:#34d399}.training-goal-head{color:#fff;justify-content:space-between;gap:8px;font-size:14px;display:flex}.training-goal-head span{color:var(--text-soft);font-variant-numeric:tabular-nums}.training-goal-bar{background:#ffffff1a;border-radius:999px;height:8px;overflow:hidden}.training-goal-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #34d399);height:100%;transition:width .4s;display:block}.training-goal .stats-note{margin:0}.training-gained{color:#6ee7b7}.nav-group{display:contents}.nav-link{align-items:center;gap:6px;display:inline-flex}.nav-icon{flex-shrink:0;font-size:16px;line-height:1}.nav-link.is-active{color:#fff}@media (width>=900px){.header nav{gap:0;overflow-y:auto}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group+.nav-group{border-top:1px solid var(--border-color);margin-top:10px;padding-top:10px}.header .nav-link{white-space:nowrap;gap:8px;padding:8px;font-size:14px;display:flex}.header .nav-icon{text-align:center;width:20px;font-size:17px}.header .nav-label{flex:1;min-width:0}.header .nav-link.is-active{background:color-mix(in srgb, var(--accent) 26%, transparent);box-shadow:inset 3px 0 0 var(--accent)}.header .nav-dot{margin-left:0}}.player-avatar{object-fit:cover;vertical-align:middle;border-radius:18%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.player-avatar--preset{color:#fff;text-shadow:0 2px 4px #00000059}.player-nick{flex-direction:column;align-items:flex-start;display:inline-flex}.player-nick-main{align-items:baseline;gap:4px;display:inline-flex}.player-nick-title{letter-spacing:normal;color:var(--accent-light,var(--text-dim));font-size:12px;font-weight:700;line-height:1.3}.login-button .player-avatar{border-radius:8px;margin-right:8px}.profile-hero{border:1px solid var(--border-color);background:radial-gradient(60% 160% at 0% 0%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 70%), var(--surface);text-align:left;border-radius:18px;flex-wrap:wrap;gap:24px;margin-bottom:16px;padding:24px;display:flex;position:relative}.profile-avatar{border-radius:14px;flex-shrink:0;overflow:hidden;box-shadow:0 10px 28px #0006}.profile-avatar .player-avatar{border-radius:14px}.profile-hero-body{flex-direction:column;flex:1;align-items:flex-start;gap:10px;min-width:240px;display:flex}.profile-hero h1{color:#fff;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:0;padding-right:130px;font-size:32px;display:flex}.profile-hero h1 .player-nick-title{margin-top:2px;font-size:15px}.profile-bio{color:var(--text-soft);overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.5}.profile-meta{color:var(--text-dim);flex-wrap:wrap;gap:6px 22px;margin-top:auto;font-size:14px;display:flex}.profile-meta strong{color:#fff}.profile-meta button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.profile-meta button:hover{text-decoration:underline}.profile-edit{font-weight:700;position:absolute;top:20px;right:20px}.profile-editor{gap:12px}.profile-avatars{flex-wrap:wrap;gap:8px;display:flex}.profile-avatars button{background:var(--page-bg);cursor:pointer;border:2px solid #0000;border-radius:14px;padding:4px}.profile-avatars button:hover{border-color:var(--border-strong)}.profile-avatars button.is-active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.profile-upload{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.profile-bio-input{border:1px solid var(--border-strong);background:var(--page-bg);color:#fff;width:100%;font:inherit;border-radius:10px;padding:11px 14px}.profile-editor-buttons{align-items:center;gap:16px;display:flex}.profile-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.profile-tile{background:var(--page-bg);text-align:left;border-radius:12px;flex-direction:column;gap:2px;padding:14px;display:flex}.profile-tile strong{color:#fff;font-size:24px}.profile-tile span{color:var(--text-dim);font-size:13px}.profile-showcase{flex-wrap:wrap;gap:12px;display:flex}.profile-showcase>div{background:var(--page-bg);border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:130px;padding:14px;display:flex}.profile-showcase strong{color:#fff}.profile-showcase span{color:var(--text-dim);font-size:13px}.profile-look{color:var(--text-soft);flex-wrap:wrap;gap:6px 24px;display:flex}.profile-look strong{color:#fff}.profile-links{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.friend-bio{color:var(--text-soft);overflow-wrap:anywhere;font-size:13px}.friend-gift{align-self:flex-start;padding:7px 12px}.modal.gift-modal{max-width:560px;max-height:calc(100vh - 32px);overflow-y:auto}.gift-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.gift-list button,.gift-chosen{border:2px solid var(--border-color);background:var(--page-bg);color:#fff;font:inherit;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;font-size:13px;display:flex}.gift-list button{cursor:pointer}.gift-list button:hover{background:var(--surface-hover)}.gift-list button>span:first-child,.gift-chosen>span:first-child{font-size:30px;line-height:1.1}.gift-chosen{margin-bottom:14px}.gift-ring{border:4px solid;border-radius:50%;width:32px;height:32px}.gift-buttons{align-items:center;gap:16px;display:flex}.training-themes,.training-modes{flex-wrap:wrap;justify-content:center;gap:6px;padding:14px 16px 0;display:flex}.training-themes button,.training-modes button{border:1px solid var(--border-color);background:var(--surface);color:var(--text-soft);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.training-themes button:hover:not(:disabled),.training-modes button:hover{border-color:var(--accent);color:#fff}.training-themes button.is-active,.training-modes button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.training-themes button:disabled{opacity:.45;cursor:default}.training-themes b{text-align:center;background:#0000004d;border-radius:999px;min-width:20px;padding:1px 6px;font-size:11px}.training-modes{padding-top:18px}.training-modes button{padding:9px 18px;font-size:15px}.nav-count{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:20px;padding:1px 6px;font-size:11px;font-weight:800}.plan-card{border-color:var(--accent);background:radial-gradient(60% 120% at 0% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 70%), var(--surface)}.plan-steps{counter-reset:plan;flex-direction:column;gap:12px;margin:4px 0 0;padding:0;list-style:none;display:flex}.plan-steps li{background:var(--page-bg);text-align:left;border-radius:12px;gap:14px;padding:12px 14px;display:flex}.plan-icon{background:color-mix(in srgb, var(--accent) 24%, transparent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:21px;display:flex}.plan-steps strong{color:#fff;font-size:16px}.plan-steps p{color:var(--text-soft);margin:4px 0 0;font-size:14px;line-height:1.5}.plan-steps .play-button{margin-top:8px}.drill-line{background:var(--page-bg);min-height:44px;color:var(--text-soft);font-variant-numeric:tabular-nums;border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.5}.drill-leaks{flex-direction:column;gap:6px;display:flex}.drill-leaks>strong{color:#fff;font-size:14px}.drill-leaks button{border:1px solid var(--border-color);color:#fff;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;display:flex}.drill-leaks button:hover{border-color:var(--accent);background:var(--surface-hover)}.drill-leaks button span{color:var(--text-dim);font-size:11px}.drill-leaks button em{color:#fca5a5;font-size:12px;font-style:normal}.duel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.duel-head h2{margin:0}.duel-head select{border:1px solid var(--border-strong);background:var(--page-bg);color:#fff;font:inherit;border-radius:8px;padding:7px 10px}.duel-players{justify-content:center;align-items:center;gap:28px;margin:14px 0;display:flex}.duel-players>div{color:#fff;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-width:120px;padding:12px;display:flex}.duel-players>div.is-leading{background:#f5b9211a;border-color:#f5b921}.duel-players b{font-size:34px;line-height:1}.duel-vs{color:var(--text-dim);font-size:30px;font-weight:800}.duel-rows{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.duel-row{background:var(--page-bg);color:var(--text-soft);border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:8px 14px;font-size:14px;display:grid}.duel-row b{color:var(--text-soft);font-size:17px}.duel-row b:last-child{text-align:right}.duel-row b.is-winning{color:#4ade80}button.friend-card-name{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:17px;font-weight:700}button.friend-card-name:hover:not(:disabled){text-decoration:underline}.modal.friend-profile{flex-direction:column;gap:12px;max-width:560px;max-height:calc(100vh - 32px);display:flex;overflow-y:auto}.friend-profile-head{gap:16px;display:flex}.friend-profile-head .player-avatar{border-radius:14px}.friend-profile-head h2{margin:0 0 6px}.friend-profile h3{color:#fff;margin:6px 0 0;font-size:16px}.friend-profile .profile-tiles{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.gift-history{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.gift-history li{background:var(--page-bg);color:var(--text-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 12px;font-size:14px;display:flex}.gift-history strong{color:#fff}.gift-history .stats-note{margin-left:auto}.training-board{transition:box-shadow .25s}.training-board.is-correct{animation:.9s ease-out training-correct;box-shadow:0 0 0 4px #4ade80,0 8px 28px #00000059}.training-board.is-wrong{animation:.4s ease-in-out training-wrong;box-shadow:0 0 0 4px #ef4444,0 8px 28px #00000059}@keyframes training-correct{0%{box-shadow:0 0 #4ade80e6,0 8px 28px #00000059}60%{box-shadow:0 0 0 18px #4ade8000,0 8px 28px #00000059}}@keyframes training-wrong{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.training-board.is-correct,.training-board.is-wrong{animation:none}}.training-steps{align-items:center;gap:6px;display:flex}.training-steps span{background:#ffffff24;border-radius:999px;width:26px;height:8px}.training-steps span.is-current{background:var(--accent)}.training-steps span.is-done{background:#4ade80}.training-steps em{color:var(--text-dim);margin-left:4px;font-size:12px;font-style:normal}.training-combo{color:#fb923c}.play-buttons .primary-button kbd{font:inherit;opacity:.8;border:1px solid #fff6;border-radius:5px;margin-left:10px;padding:1px 6px;font-size:11px}.training-summary{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid}.training-summary div{border:1px solid var(--border-color);background:var(--surface);border-radius:12px;flex-direction:column;align-items:center;padding:14px 6px;display:flex}.training-summary strong{color:#fff;font-size:24px}.training-summary span{color:var(--text-dim);text-align:center;font-size:12px}.drill-openings{flex-direction:column;gap:6px;display:flex}.drill-openings>strong{color:#fff;font-size:14px}.drill-openings div{flex-wrap:wrap;gap:6px;display:flex}.drill-openings button{border:1px solid var(--border-color);color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:5px 10px;font-size:12px}.drill-openings button:hover,.drill-openings button.is-active{border-color:var(--accent);color:#fff}.drill-openings button.is-active{background:var(--accent)}.home-hero h1.home-today-title{font-size:clamp(24px,min(4.6vh,3.2vw),44px)}.home-today{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1.1vh,10px);width:100%;max-width:600px;display:grid}.home-today-tile{border:1px solid var(--border-color);background:color-mix(in srgb, var(--surface) 86%, transparent);color:#fff;min-height:clamp(52px,8.4vh,76px);font:inherit;text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:0 10px;padding:clamp(6px,1.2vh,12px) 12px;transition:transform .15s,border-color .15s;display:grid}.home-today-tile:hover{border-color:var(--accent);transform:translateY(-2px)}.home-today-tile>span{grid-row:span 2;font-size:clamp(20px,3.2vh,28px)}.home-today-tile strong{font-size:clamp(18px,3vh,26px);font-weight:900;line-height:1.1}.home-today-tile small{color:var(--text-soft);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.25;display:-webkit-box;overflow:hidden}.home-today-tile.is-hot{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 24%, var(--surface))}.home-today-tile.is-loading{cursor:default;opacity:.5;animation:1.2s ease-in-out infinite home-today-pulse}@keyframes home-today-pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.home-today-tile.is-loading{animation:none}}@media (width<=1100px){.home-today{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.settings-slot{border:1px solid var(--border-color);background:var(--page-bg);text-align:left;border-radius:14px;flex-direction:column;gap:6px;padding:12px;display:flex}.settings-slot>span{color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.settings-slot select{border:1px solid var(--border-strong);background:var(--surface);color:#fff;font:inherit;border-radius:8px;padding:9px 10px;font-weight:700}.settings-slot small{color:var(--text-soft);font-size:12px;line-height:1.4}.settings-chips{flex-wrap:wrap;gap:8px;display:flex}.settings-chips button{border:1px solid var(--border-color);background:var(--page-bg);color:var(--text-soft);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:600;display:inline-flex}.settings-chips button:hover:not(:disabled){border-color:var(--accent);color:#fff}.settings-chips button.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 26%, transparent);color:#fff}.settings-chips button:disabled{opacity:.4;cursor:default}.settings-chips b{background:var(--accent);text-align:center;border-radius:999px;min-width:20px;padding:1px 6px;font-size:11px}@media (width<=800px){.settings-slots{grid-template-columns:minmax(0,1fr)}}.account-data-buttons{flex-wrap:wrap;gap:10px;display:flex}.account-data-delete.play-button{color:#fca5a5;border-color:#b91c1c}.account-data-delete.primary-button{background:#b91c1c}.account-data-confirm{background:#b91c1c1f;border:1px solid #b91c1c;border-radius:12px;margin-top:14px;padding:14px}.duel-challenge{border:1px dashed var(--border-strong);color:#fff;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;margin-bottom:10px;padding:12px;display:flex}.duel-challenge .stats-note{margin:0}.duel-live{color:#fb923c}.friend-safety{border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:10px;display:flex}.friend-safety select,.friend-safety input{border:1px solid var(--border-strong);background:var(--page-bg);color:#fff;font:inherit;border-radius:8px;padding:8px 10px;font-size:14px}.friend-safety input{flex:1;min-width:160px}.settings-order{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.settings-order li{border:1px solid var(--border-strong);background:var(--page-bg);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:6px;padding:7px 8px 7px 10px;font-size:14px;display:inline-flex}.settings-order li.is-dragged{border-color:var(--accent);opacity:.55}.settings-order-grip{color:var(--text-dim)}.settings-order button{background:var(--surface);color:#fff;width:26px;height:26px;font:inherit;cursor:pointer;border:0;border-radius:6px}.settings-order button:disabled{opacity:.3;cursor:default}.legal-page{text-align:left;max-width:820px}.legal-section h2{margin-top:0;font-size:19px}.legal-section p,.legal-section li{color:var(--text-soft);line-height:1.6}.legal-section ul{margin:0;padding-left:20px}.legal-page a,.auth-consent a{color:var(--accent-light,white)}.auth-consent{color:var(--text-soft);flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;display:flex}.auth-consent input{width:auto;margin-top:3px}.nav-legal{display:none}@media (width>=900px){.nav-legal{flex-wrap:wrap;gap:4px 12px;padding:0 10px;font-size:12px;display:flex}.nav-legal a{color:var(--text-dim);text-decoration:none}.nav-legal a:hover{color:#fff;text-decoration:underline}}.plan-count{color:var(--text-soft);font-size:14px;font-weight:700}.plan-bar{background:#ffffff1a;border-radius:999px;height:8px;overflow:hidden}.plan-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #34d399);height:100%;transition:width .4s;display:block}.plan-steps li.is-done{opacity:.75}.plan-steps li.is-done strong{text-decoration:line-through}.plan-step-count{background:color-mix(in srgb, var(--accent) 30%, transparent);color:#fff;border-radius:999px;margin-left:10px;padding:2px 8px;font-size:12px;font-weight:700}.plan-step-buttons{flex-wrap:wrap;gap:8px;display:flex}.bell{position:relative}.bell-button{border:1px solid var(--border-color);color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:600;display:flex}.bell-button:hover{background:var(--surface-hover);color:#fff}.bell-label{text-align:left;flex:1}.bell-panel{z-index:120;border:1px solid var(--border-color);background:var(--surface);border-radius:12px;flex-direction:column;gap:4px;width:300px;max-width:calc(100vw - 24px);padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #00000073}.bell-panel button{color:#fff;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;gap:10px;padding:10px;font-size:14px;line-height:1.4;display:flex}.bell-panel button:hover{background:var(--surface-hover)}.bell-panel .stats-note{margin:6px}@media (width>=900px){.bell-button{width:100%}}.menu-toggle{display:none}@media (width<=899px){html,body{overflow-x:hidden}.header{z-index:60;flex-wrap:wrap;gap:8px;height:auto;min-height:56px;padding:8px 12px;position:sticky;top:0}.header .logo{text-align:left;flex:1;font-size:17px}.menu-toggle{border:1px solid var(--border-strong);color:#fff;cursor:pointer;background:0 0;border-radius:10px;order:3;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.header .bell{order:2}.header .bell-label{display:none}.header .bell-panel{left:auto;right:0}.header nav,.header .nav-legal,.header .user-menu,.header>.login-button{order:10;width:100%;display:none}.header.is-open nav{border-top:1px solid var(--border-color);flex-direction:column;gap:0;padding-top:6px;display:flex}.header.is-open .nav-group{flex-direction:column;display:flex}.header.is-open .nav-group+.nav-group{border-top:1px solid var(--border-color);margin-top:6px;padding-top:6px}.header.is-open .nav-link{border-radius:8px;gap:12px;padding:12px 8px;font-size:16px;font-weight:600;display:flex}.header.is-open .nav-icon{text-align:center;width:24px}.header.is-open .nav-legal{gap:16px;padding:8px;font-size:13px;display:flex}.header.is-open .nav-legal a{color:var(--text-dim)}.header.is-open .user-menu,.header.is-open>.login-button{display:block}.header.is-open .user-menu .login-button{width:100%}.header .user-menu-dropdown{box-shadow:none;margin-top:6px;position:static}.main{padding-left:12px;padding-right:12px}.page,.page--wide,.page--stats{width:100%;max-width:100%;padding-left:0;padding-right:0}.page h1{font-size:28px}.card,.stats-card,.stats-hero{padding:14px}img,svg,canvas,table{max-width:100%}.home{--art:min(78vw, 340px);flex-direction:column;height:auto;min-height:calc(100vh - 56px);padding:16px 12px 24px;display:flex;overflow:visible}.home-hero{grid-template-columns:minmax(0,1fr)}.home-hero h1{font-size:32px}.home-art{min-height:calc(var(--art) + 90px)}.home-actions{grid-template-columns:minmax(0,1fr)}.home-today{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.home-foot{flex-direction:column;align-items:flex-start}.home-more,.home-steps{flex-wrap:wrap}.profile-hero{text-align:center;flex-direction:column;align-items:center;padding:16px}.profile-hero-body{align-items:center;width:100%;min-width:0}.profile-hero h1{justify-content:center;padding-right:0;font-size:26px}.profile-meta{justify-content:center}.profile-edit{position:static}.duel-players{gap:10px}.duel-players>div{flex:1;min-width:0}.friends-invite-row{flex-wrap:wrap}.friends-invite-row input{flex:100%;min-width:0}.gift-history .stats-note{margin-left:0}.play{gap:14px;padding:12px 8px 24px}.training-themes,.training-modes{justify-content:flex-start;padding:10px 8px 0}.training-summary{grid-template-columns:repeat(2,1fr)}.modal{max-height:calc(100vh - 24px);padding:20px 16px;overflow-y:auto}.settings-slots{grid-template-columns:minmax(0,1fr)}.settings-coaches{grid-template-columns:repeat(2,minmax(0,1fr))}}.logo-full{align-items:center;gap:7px;display:inline-flex}.logo-mark{border-radius:22%;flex-shrink:0}.logo-text{color:#fff;letter-spacing:-.3px;white-space:nowrap;font-weight:700}.logo-text b{color:var(--accent-light,#93c5fd);font-weight:800}.logo-text i{color:var(--text-dim);font-style:normal;font-weight:600}.legal-logo{margin-bottom:8px;font-size:20px;text-decoration:none;display:inline-flex}@media (width>=900px){.header .logo{letter-spacing:0;padding:0 4px;font-size:16px}.header .logo-mark{width:38px;height:38px}.header .logo-text{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}}.modal.guide-modal{flex-direction:column;gap:12px;max-width:600px;max-height:calc(100vh - 32px);display:flex;overflow-y:auto}.modal.guide-modal h2,.modal.guide-modal .card-text{margin:0}.guide-steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.guide-steps li{border:1px solid var(--border-color);background:var(--page-bg);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.guide-steps li.is-next{border-color:var(--accent)}.guide-steps li.is-done{opacity:.6}.guide-number{background:var(--surface);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:flex}.guide-steps li.is-done .guide-number{background:#16a34a}.guide-steps strong{color:#fff}.guide-steps p{color:var(--text-soft);margin:2px 0 0;font-size:13px;line-height:1.4}.guide-steps .primary-button,.guide-steps .play-button{white-space:nowrap;padding:8px 12px}@media (width<=899px){.guide-steps li{grid-template-columns:auto 1fr}.guide-steps li>button{grid-column:2;justify-self:start}}.offline-badge{z-index:400;color:#fff;background:#7f1d1d;border:1px solid #f87171;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:700;animation:.25s ease-out offline-in;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}@keyframes offline-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (prefers-reduced-motion:reduce){.offline-badge{animation:none}}@media (width>=1001px) and (height>=601px){.home-art-coach{flex-direction:column-reverse;align-items:flex-start;gap:6px;left:clamp(-150px,-9vw,-70px)}.home-art-bubble{border-radius:14px 14px 14px 4px;max-width:190px;margin:0}.home-hero-text>p,.home-today{max-width:min(560px,100% - clamp(40px,6.5vw,110px))}}.mini-board{border-radius:6px;flex-shrink:0;line-height:1;display:block;position:relative;overflow:hidden;box-shadow:0 3px 10px #00000059}.mini-board--empty{background:var(--page-bg);width:104px;height:104px}.mini-board i{justify-content:center;align-items:center;font-family:Segoe UI Symbol,DejaVu Sans,"Noto Sans Symbols 2",sans-serif;font-style:normal;display:flex;position:absolute}.mini-board .is-white{color:#fff;text-shadow:0 0 1.5px #000,0 0 1.5px #000,0 1px 1px #000}.mini-board .is-black{color:#1c1917;text-shadow:0 0 1.5px #ffffffb3}.games-toolbar{border:1px solid var(--border-color);background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px;padding:12px 14px;display:flex}.games-score{color:var(--text-soft);gap:14px;font-size:14px;display:flex}.games-score b{font-size:18px}.games-score .is-win b,.game-card-result.is-win{color:#4ade80}.games-score .is-loss b,.game-card-result.is-loss{color:#f87171}.games-score .is-draw b,.game-card-result.is-draw{color:#cbd5e1}.games-filters{flex-wrap:wrap;gap:6px;display:flex}.games-filters button{border:1px solid var(--border-color);color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.games-filters button:hover{border-color:var(--accent);color:#fff}.games-filters button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.games-search{border:1px solid var(--border-strong);background:var(--page-bg);color:#fff;min-width:160px;font:inherit;border-radius:10px;flex:1;margin-left:auto;padding:8px 12px;font-size:14px}.games-cards{flex-direction:column;gap:10px;margin-top:10px;display:flex}.game-card{border:1px solid var(--border-color);background:var(--surface);color:#fff;font:inherit;text-align:left;cursor:pointer;border-left:5px solid #94a3b8;border-radius:14px;align-items:center;gap:16px;padding:12px 16px 12px 12px;transition:transform .12s,border-color .12s,background .12s;display:flex}.game-card--win{border-left-color:#22c55e}.game-card--loss{border-left-color:#ef4444}.game-card:hover{background:var(--surface-hover);transform:translate(3px)}.game-card-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.game-card-players{flex-wrap:wrap;align-items:center;gap:8px;font-size:18px;display:flex}.game-card-vs{color:var(--text-dim);font-size:14px}.game-card-players .game-rating{color:var(--text-dim);font-size:15px}.game-card-tags{flex-wrap:wrap;gap:6px;display:flex}.game-card-tags>span{background:var(--page-bg);color:var(--text-soft);border-radius:999px;padding:3px 10px;font-size:13px}.game-card-foot{color:var(--text-dim);font-size:13px}.game-card-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;min-width:110px;display:flex}.game-card-result{font-size:17px;font-weight:800}.game-card-accuracy{color:var(--text-dim);flex-direction:column;align-items:flex-end;font-size:12px;display:flex}.game-card-accuracy b{color:#fff;font-size:20px}.game-card-review{border:1px solid var(--border-strong);color:var(--text-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:13px;font-weight:600;display:inline-flex}.game-card:hover .game-card-review{border-color:var(--accent);color:#fff}@media (width<=899px){.game-card{flex-wrap:wrap;gap:12px;padding:10px}.game-card-side{flex-direction:row;justify-content:space-between;align-items:center;width:100%;min-width:0}.games-search{flex-basis:100%;margin-left:0}}.friends-hero{border:1px solid var(--border-color);background:radial-gradient(60% 160% at 0% 0%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 70%), var(--surface);text-align:left;border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:24px;margin-bottom:16px;padding:22px 24px;display:grid}.friends-me{align-items:center;gap:18px;min-width:0;display:flex}.friends-me .player-avatar{border-radius:16px;box-shadow:0 8px 22px #0006}.friends-kicker{color:var(--accent-light,var(--text-dim));letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.friends-hero h1{color:#fff;letter-spacing:-.5px;overflow-wrap:anywhere;margin:2px 0 8px;font-size:30px}.friends-me-stats{color:var(--text-dim);flex-wrap:wrap;gap:4px 18px;font-size:14px;display:flex}.friends-me-stats b{color:#fff}.friends-add{background:#00000038;border-radius:14px;flex-direction:column;gap:8px;padding:16px;display:flex}.friends-add label{color:#fff;font-size:15px;font-weight:700}.friends-add .stats-note{margin:0}.friends-tabs{border:1px solid var(--border-color);background:var(--surface);border-radius:14px;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:6px;display:flex}.friends-tabs button{color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:9px 14px;font-size:14px;font-weight:600;display:inline-flex}.friends-tabs button:hover{background:var(--surface-hover);color:#fff}.friends-tabs button.is-active{background:var(--accent);color:#fff}.friends-tabs b{text-align:center;background:#0000004d;border-radius:999px;min-width:20px;padding:1px 6px;font-size:11px}.friends-page .friends-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.friends-page .friend-card{border:1px solid var(--border-color);background:var(--surface);text-align:left;border-radius:16px;flex-direction:column;gap:12px;padding:16px;transition:border-color .15s,transform .15s;display:flex}.friends-page .friend-card:hover{border-color:var(--accent);transform:translateY(-2px)}.friend-card-head{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;padding:0;display:flex}.friend-card-head .player-avatar{border-radius:14px}.friend-card-head>span{flex-direction:column;gap:2px;min-width:0;display:flex}.friend-card-head .friend-card-name{color:#fff;font-size:19px}.friend-card-head:hover .friend-card-name{text-decoration:underline}.friends-page .friend-bio{color:var(--text-soft);margin:0;font-size:14px;font-style:italic}.friends-page .friend-stats{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.friends-page .friend-stats>span{background:var(--page-bg);border-radius:10px;flex-direction:column;align-items:center;padding:8px 4px;display:flex}.friends-page .friend-stats b{color:#fff;font-size:18px}.friend-week{color:var(--text-dim);font-size:13px}.friend-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.friend-card-actions .play-button{padding:8px 12px}.friend-card-actions .friend-remove{color:var(--text-dim);margin-left:auto;font-size:13px}.friends-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:32px 20px;display:flex}.friends-empty>span{font-size:46px}.friends-empty h2{margin:0}.friends-empty .card-text{max-width:520px}.friends-page .friends-standings li{align-items:center;gap:12px;display:flex}.friends-page .friends-standings .player-avatar{border-radius:10px}.friends-page .friends-place{text-align:center;min-width:34px;font-size:18px}.friends-page .friends-rating{margin-left:auto;font-size:18px}@media (width<=899px){.friends-hero{grid-template-columns:minmax(0,1fr);padding:16px}.friends-hero h1{font-size:24px}.friends-page .friends-grid{grid-template-columns:minmax(0,1fr)}.friends-tabs{flex-wrap:nowrap;overflow-x:auto}.friends-tabs button{flex-shrink:0}}.setup{z-index:400;background:radial-gradient(80% 60% at 50% 0%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 70%), var(--page-bg);color:#fff;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.setup-top{z-index:1;background:color-mix(in srgb, var(--page-bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.setup-count{color:var(--text-soft);flex-shrink:0;font-size:14px;font-weight:700}.setup-bar{background:var(--surface);border-radius:999px;flex:1;height:10px;overflow:hidden}.setup-bar i{background:var(--accent);border-radius:999px;height:100%;transition:width .35s;display:block}.setup-body{text-align:center;flex-direction:column;flex:1;align-items:center;width:100%;max-width:980px;margin:0 auto;padding:24px 24px 32px;animation:.3s ease-out setup-in;display:flex}@keyframes setup-in{0%{opacity:0;transform:translate(28px)}}.setup-icon{margin-top:auto;font-size:56px;line-height:1}.setup-body h1{color:#fff;letter-spacing:-.5px;margin:12px 0 8px;font-size:clamp(26px,4.4vw,42px)}.setup-text{max-width:620px;color:var(--text-soft);margin:0 0 24px;font-size:17px;line-height:1.5}.setup-content{width:100%}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.setup-grid--small{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.setup-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;margin:0 auto}.setup-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:780px;margin:0 auto}.setup-choice{border:2px solid var(--border-color);background:var(--surface);min-height:120px;color:var(--text-soft);font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 14px;font-size:14px;line-height:1.4;transition:border-color .15s,transform .15s,background .15s;display:flex;position:relative}.setup-choice strong{color:#fff;font-size:18px}.setup-choice:hover{border-color:var(--accent-light,var(--accent));transform:translateY(-2px)}.setup-choice.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--surface))}.setup-check{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:14px;font-weight:800;display:grid;position:absolute;top:8px;right:8px}.setup-swatch{border-radius:50%;width:56px;height:56px;display:block;box-shadow:0 6px 16px #0006}.setup-name{max-width:460px;margin:0 auto}.setup-name input{border:2px solid var(--border-color);background:var(--surface);color:#fff;width:100%;font:inherit;text-align:center;border-radius:14px;padding:16px 18px;font-size:24px;font-weight:700}.setup-name input:focus{border-color:var(--accent);outline:none}.setup-name input[aria-invalid=true]{border-color:#f87171}.setup-error{color:#fca5a5;margin:10px 0 0;font-size:15px}.setup-summary{flex-direction:column;align-items:center;gap:12px;font-size:20px;display:flex}.setup-summary p{margin:0}.setup-actions{justify-content:center;gap:12px;width:100%;margin-top:28px;margin-bottom:auto;display:flex}.setup-actions .play-button{min-width:180px;padding:14px 26px;font-size:18px}.setup-back{border:2px solid var(--border-color);color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border-radius:12px;padding:14px 22px;font-size:16px;font-weight:600}.setup-back:hover{border-color:var(--text-soft);color:#fff}@media (width<=599px){.setup-top{padding:12px 16px}.setup-body{padding:16px 16px 24px}.setup-icon{font-size:42px}.setup-grid,.setup-grid--small{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.setup-grid--three{grid-template-columns:minmax(0,1fr)}.setup-choice{min-height:96px;padding:14px 10px}.setup-actions .play-button{flex:1;min-width:0}}@media (prefers-reduced-motion:reduce){.setup-body{animation:none}}.setup-floaters{pointer-events:none;position:fixed;inset:0;overflow:hidden}.setup-floaters i{bottom:-18vh;left:calc(6% + var(--i) * 16%);color:var(--accent-light,white);font-size:calc(70px + var(--i) * 14px);opacity:.07;animation:setup-float calc(22s + var(--i) * 5s) linear infinite;animation-delay:calc(var(--i) * -6s);font-style:normal;position:absolute}@keyframes setup-float{to{transform:translateY(-140vh)rotate(40deg)}}.setup-body{position:relative}.setup-coach{text-align:left;align-items:center;gap:14px;max-width:620px;margin-top:auto;display:flex}.setup-coach .coach-avatar,.setup-coach>:first-child{flex-shrink:0}.setup-bubble{color:#2b2520;background:#f8f5ef;border-radius:16px;margin:0;padding:12px 16px;font-size:17px;line-height:1.4;animation:.35s cubic-bezier(.3,1.4,.5,1) .1s both setup-bubble;position:relative;box-shadow:0 10px 26px #00000059}.setup-bubble:before{content:"";background:inherit;width:16px;height:16px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)rotate(45deg)}.setup-bubble strong{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:13px;display:block}@keyframes setup-bubble{0%{opacity:0;transform:scale(.85)translate(-12px)}}.setup-body .setup-icon{font-size:inherit;margin:0}.setup-body h1{margin-top:22px}.setup-content--board{text-align:center;grid-template-columns:minmax(200px,300px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.setup-preview{border:1px solid var(--border-color);background:var(--surface);pointer-events:none;border-radius:16px;flex-direction:column;gap:12px;padding:12px;display:flex;position:sticky;top:70px}.setup-preview>:first-child{border-radius:8px;overflow:hidden}.setup-preview-button{background:var(--accent);color:#fff;border-radius:10px;padding:10px;font-weight:700;transition:background .2s}.setup-choice{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface));animation:.35s ease-out both setup-choice;box-shadow:0 6px 16px #00000038}.setup-choice:nth-child(2){animation-delay:40ms}.setup-choice:nth-child(3){animation-delay:80ms}.setup-choice:nth-child(4){animation-delay:.12s}.setup-choice:nth-child(5){animation-delay:.16s}.setup-choice:nth-child(6){animation-delay:.2s}.setup-choice:nth-child(n+7){animation-delay:.24s}@keyframes setup-choice{0%{opacity:0;transform:translateY(14px)}}.setup-choice:hover{transform:translateY(-3px)scale(1.02)}.setup-choice.is-active{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 34%, var(--surface)), color-mix(in srgb, var(--accent) 12%, var(--surface)));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent), 0 10px 22px #0000004d}.setup-check{animation:.25s cubic-bezier(.3,1.6,.5,1) setup-check}@keyframes setup-check{0%{transform:scale(0)}}.setup-summary ul{border:1px solid var(--border-color);background:var(--surface);color:var(--text-soft);text-align:left;border-radius:16px;gap:8px;margin:0;padding:16px 22px;font-size:17px;list-style:none;display:grid}@media (width<=760px){.setup-content--board{grid-template-columns:minmax(0,1fr)}.setup-preview{width:min(220px,60vw);margin:0 auto;position:static}.setup-preview-button{display:none}.setup-bubble{font-size:15px}}@media (prefers-reduced-motion:reduce){.setup-floaters,.setup-bubble,.setup-choice,.setup-check{animation:none}.setup-floaters{display:none}}.ban-notice{z-index:140;color:#fecaca;background:#3b1414;border:1px solid #f87171;border-radius:12px;max-width:720px;margin:0 auto;padding:12px 16px;font-size:14px;line-height:1.45;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 10px 28px #00000073}.ban-notice strong{color:#fff}.test-backgrounds{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.test-backgrounds button{border:2px solid var(--border-color);background:var(--surface);color:#fff;font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:8px;display:flex}.test-backgrounds button.is-active{border-color:var(--accent)}.test-backgrounds i{background:var(--page-bg);border-radius:8px;height:84px;display:block}.test-backgrounds span{color:var(--text-dim);font-size:13px}.friend-challenge{background:color-mix(in srgb, var(--accent) 28%, transparent);color:#fff;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:13px;font-weight:700}.friend-back{margin-bottom:12px;font-size:15px;display:inline-block}.friends-page .friends-standings li.is-opened{outline:2px solid var(--accent);outline-offset:-2px;border-radius:10px}.friend-profile-actions{flex-wrap:wrap;gap:10px;display:flex}.friend-profile-actions>button{flex:1;min-width:180px}.settings-hero-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.beginner-head{text-align:left;align-items:center;gap:18px;display:flex}.beginner-head h1{margin:0 0 6px}.beginner-head .page-subtitle{margin:0}.beginner-progress{color:var(--text-soft);align-items:center;gap:14px;margin:18px 0;font-size:14px;font-weight:700;display:flex}.beginner-progress>div{background:var(--surface);border-radius:999px;flex:1;height:10px;overflow:hidden}.beginner-progress i{background:#22c55e;border-radius:999px;height:100%;transition:width .4s;display:block}.beginner-lessons{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.beginner-lesson{border:2px solid var(--border-color);background:var(--surface);color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;font-size:14px;transition:border-color .15s,transform .15s;display:flex}.beginner-lesson:hover{border-color:var(--accent);transform:translateY(-2px)}.beginner-lesson.is-flawless{border-color:#22c55e}.beginner-lesson.is-flawless .beginner-lesson-text>span{color:#86efac}.beginner-lesson.is-done{border-color:#eab308}.beginner-lesson-icon{background:var(--page-bg);color:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:30px;display:grid}.beginner-lesson-text{flex-direction:column;gap:2px;min-width:0;display:flex}.beginner-lesson-text small{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.beginner-lesson-text strong{color:#fff;font-size:17px}.beginner-panel h1{margin:0;font-size:26px}.beginner-rule{border-left:4px solid var(--accent);background:var(--page-bg);color:var(--text-soft);border-radius:0 10px 10px 0;margin:0;padding:10px 12px;font-size:15px;line-height:1.5}.coach-column-bubble.beginner-bubble{outline-offset:-3px;outline:3px solid #0000;transition:outline-color .2s}.coach-column-bubble.beginner-bubble.is-wrong{outline-color:#f87171}.coach-column-bubble.beginner-bubble.is-right{outline-color:#22c55e}.beginner-actions{flex-wrap:wrap;gap:10px;display:flex}.beginner-actions>button{flex:1}@media (width<=599px){.beginner-head{text-align:center;flex-direction:column}}.promotion-backdrop{z-index:10;background:#00000059;position:absolute;inset:0}.promotion-column{background:#fff;border-radius:6px;flex-direction:column;width:12.5%;animation:.15s ease-out promotion-in;display:flex;position:absolute;top:0;overflow:hidden;box-shadow:0 6px 22px #0000008c}.promotion-column--bottom{flex-direction:column-reverse;top:auto;bottom:0}.promotion-column button{aspect-ratio:1;cursor:pointer;background:0 0;border:0;width:100%;padding:6%;transition:background .1s;display:block}.promotion-column button:hover,.promotion-column button:focus-visible{background:#ffd54f;outline:none}.promotion-column .promotion-cancel{aspect-ratio:2.4;color:#6b635c;background:#ece9e4;padding:0;font-size:14px;font-weight:800}.promotion-column .promotion-cancel:hover{background:#dcd7d0}@keyframes promotion-in{0%{opacity:0;transform:scale(.9)}}.voice-tuner{text-align:left;flex-direction:column;gap:12px;display:flex}.voice-tuner-row{grid-template-columns:minmax(150px,220px) minmax(0,1fr) 48px;align-items:center;gap:12px;display:grid}.voice-tuner-row span{flex-direction:column;display:flex}.voice-tuner-row small{color:var(--text-dim)}.voice-tuner-row b{color:#fff;text-align:right}.voice-tuner textarea{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;width:100%;font:inherit;border-radius:10px;padding:10px 12px}.voice-tuner-values{background:var(--page-bg);color:var(--text-soft);-webkit-user-select:all;user-select:all;border-radius:10px;margin:0;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:14px}.admin-page .stats-card{text-align:left}.admin-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.admin-form input{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;font:inherit;border-radius:10px;padding:10px 12px}.admin-table{overflow-x:auto}.admin-table table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border-color);text-align:left;white-space:nowrap;padding:8px 10px}.admin-table th{color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;font-size:12px}.admin-table td strong{color:#fff}.admin-table tr.is-past td{opacity:.55}.fx-cage-square{opacity:0;background:#ef44446b;animation:.35s ease-out forwards fx-cage-in;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 2px #ef4444bf}.fx-cage-square--own{background:#64748b73;box-shadow:inset 0 0 0 2px #94a3b8cc}.fx-cage-lines{position:absolute;top:0;left:0;overflow:visible}.fx-cage-lines line{stroke:#ef4444;stroke-width:5px;stroke-linecap:round;opacity:0;animation:.35s ease-out forwards fx-cage-line}@keyframes fx-cage-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes fx-cage-line{to{opacity:.85}}.fx-stay{animation:.4s ease-out forwards fx-stay}@keyframes fx-stay{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.fx-cage-square,.fx-cage-lines line,.fx-stay{animation-duration:10ms;animation-delay:0s!important}}.coach-arrows{color:#6b635c;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:12px;font-weight:600;display:flex}.coach-arrows span{align-items:center;gap:5px;display:inline-flex}.coach-arrows i{border-radius:3px;width:16px;height:5px}.key-hint{width:100%;color:var(--text-soft,#9a938c);text-align:center;margin:10px 0 0;font-size:12px}.key-hint kbd{min-width:20px;font:inherit;opacity:.85;border:1px solid;border-radius:5px;padding:1px 6px;font-weight:700;line-height:1.5;display:inline-block}@media (hover:none){.key-hint{display:none}}.drill-panel{overscroll-behavior:contain;scrollbar-width:thin;overflow-y:auto}.toast-stack{z-index:400;pointer-events:none;flex-direction:column;gap:8px;width:min(420px,100vw - 24px);display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}@media (width>=900px){.toast-stack{left:calc(50% + 95px)}}.toast{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border-color));background:var(--surface);pointer-events:auto;border-radius:14px;align-items:stretch;animation:.42s cubic-bezier(.2,.9,.3,1.2) both toast-drop;display:flex;box-shadow:0 14px 36px #00000080}.toast-main{color:#fff;min-width:0;font:inherit;text-align:left;background:0 0;border:0;border-radius:14px 0 0 14px;flex:1;align-items:center;gap:12px;padding:12px 6px 12px 14px;display:flex}button.toast-main{cursor:pointer}button.toast-main:hover{background:var(--surface-hover)}.toast-icon{flex-shrink:0;font-size:26px;line-height:1}.toast-text{flex-direction:column;gap:2px;min-width:0;font-size:14px;line-height:1.35;display:flex}.toast-text strong{color:var(--accent-light,#93c5fd);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.toast-close{width:38px;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0 14px 14px 0;flex-shrink:0;font-size:14px}.toast-close:hover{color:#fff}@keyframes toast-drop{0%{transform:translateY(-160%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.header .logo{color:var(--text-soft);align-items:center;gap:10px;display:inline-flex}.header .logo:hover,.header .logo.is-active{color:#fff}.logo-home{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, black));color:#fff;box-sizing:content-box;border-radius:12px;flex-shrink:0;padding:7px}.logo-home-label{font-size:15px;font-weight:700}@media (width<=899px){.logo-home-label{display:none}}.wordmark{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-start;gap:.2em;text-decoration:none;display:inline-flex}.wordmark-name{letter-spacing:-.05em;white-space:nowrap;align-items:center;font-family:ui-rounded,Arial Rounded MT Bold,Nunito,Trebuchet MS,Segoe UI,system-ui,sans-serif;font-weight:900;line-height:1;display:inline-flex}.wordmark-word{background:linear-gradient(180deg, #fff 35%, color-mix(in srgb, var(--accent-light,#93c5fd) 75%, white) 100%);color:#0000;filter:drop-shadow(0 .05em .02em #0006);-webkit-background-clip:text;background-clip:text;padding:.08em .03em .12em 0}.wordmark-q{transform-origin:45% 45%;filter:drop-shadow(0 .06em .08em #00000073);margin:0 -.04em 0 -.02em;transition:transform .35s cubic-bezier(.2,.9,.3,1.4);display:inline-flex;transform:translateY(.07em)rotate(-8deg)}.wordmark:hover .wordmark-q{transform:translateY(.02em)rotate(6deg)scale(1.08)}.wordmark-pl{background:color-mix(in srgb, var(--accent) 85%, black);color:#fff;letter-spacing:.02em;border-radius:.5em;align-self:flex-end;margin:0 0 .24em .02em;padding:.12em .32em .16em;font-size:.36em;font-weight:800}.wordmark-tagline{color:var(--text-soft);letter-spacing:.22em;text-transform:uppercase;padding-left:.2em;font-size:max(11px,.24em);font-weight:700}.home-hero-text>.wordmark{font-size:clamp(30px,min(5.4vh,4vw),64px)!important}.home-hero-text>.wordmark .logo-mark{width:1.3em;height:1.3em}.home-hero-text>h1{font-size:clamp(26px,min(5.2vh,3.7vw),56px)}@media (height<=860px){.home-hero-text .wordmark-tagline{display:none}}@media (prefers-reduced-motion:reduce){.wordmark-q{transition:none}}.review-loader-coach{align-items:center;gap:12px;width:100%;min-height:84px;display:flex}.review-loader-coach>:first-child{flex-shrink:0}.review-loader-wisdom{background:var(--surface);color:#fff;text-align:left;border-radius:12px;flex:1;margin:0;padding:10px 12px;font-size:14px;line-height:1.4;animation:.4s ease-out both wisdom-in;position:relative}.review-loader-wisdom:before{background:var(--surface);content:"";width:12px;height:12px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)rotate(45deg)}@keyframes wisdom-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.review-loader-wisdom{animation:none}}.coach-line--live{flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;display:flex}.coach-line--live button{color:#4a433d;font:inherit;cursor:pointer;background:#0000000d;border:1px solid #00000024;border-radius:7px;padding:3px 8px;font-size:13px;font-weight:700;line-height:1.3}.coach-line--live button:hover{background:#a855f724;border-color:#a855f7}.coach-line--live button.is-active{color:#fff;background:#a855f7;border-color:#7e22ce}.coach-line--live .coach-line-play{color:#fff;background:#7e22ce;border-color:#7e22ce;min-width:30px}.coach-line--live .coach-line-play:hover{background:#6b21a8}.coach-line--live .coach-line-back{border-style:dashed;margin-left:auto;font-weight:600}.opening-group{text-align:left;margin-top:26px}.opening-group h2{color:#fff;margin:0 0 12px;font-size:20px}.opening-group h2 small{color:var(--text-dim);margin-left:8px;font-size:13px;font-weight:600}.opening-card{padding:12px 16px}.opening-card .beginner-lesson-text>span,.opening-lessons .beginner-lesson-text>span{font-size:13px}.opening-pl{color:var(--accent-light,#93c5fd);margin:-2px 0 8px;font-size:15px;font-weight:700}.opening-lessons{margin-top:20px}.film-bubble strong{color:#7e22ce;letter-spacing:.03em;margin-bottom:4px;font-size:13px;display:block}.film-bubble p{animation:.35s ease-out both wisdom-in}.film-board{position:relative}.film-bar{background:var(--surface);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.film-bar i{background:linear-gradient(90deg,#a855f7,#ec4899);border-radius:999px;height:100%;transition:width .4s;display:block}.film-controls{justify-content:center;gap:8px;display:flex}.film-controls button{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;width:46px;height:46px;font:inherit;cursor:pointer;border-radius:50%;font-size:17px}.film-controls button:hover:not(:disabled){border-color:var(--accent)}.film-controls button:disabled{opacity:.35;cursor:default}.film-controls .film-play{background:linear-gradient(135deg,#a855f7,#ec4899);border:0;width:58px;height:58px;margin-top:-6px;font-size:22px}@media (prefers-reduced-motion:reduce){.film-bubble p{animation:none}}.opening-limit{border:1px solid var(--border-color);background:var(--surface);color:var(--text-soft);text-align:left;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:0 0 16px;padding:10px 14px;font-size:14px;display:flex}.opening-limit.is-refused{color:#fff;border-color:#eab308}.intro{z-index:1000;color:#fff;cursor:default;background:radial-gradient(60vw 60vh at 50% 42%,#3b82f659,#0000 70%),radial-gradient(40vw 40vh at 15% 90%,#fbbf2429,#0000 70%),linear-gradient(160deg,#0b1220 0%,#111827 55%,#1e1b4b 100%);place-items:center;transition:opacity .5s,transform .5s;display:grid;position:fixed;inset:0;overflow:hidden}.intro.is-leaving{opacity:0;pointer-events:none;transform:scale(1.04)}.intro-center{flex-direction:column;align-items:center;width:min(440px,100vw - 48px);display:flex;position:relative}.intro-mark{filter:drop-shadow(0 14px 30px #fbbf2459);animation:.6s cubic-bezier(.2,.9,.3,1.3) both intro-mark-in,2.6s ease-in-out .6s infinite intro-mark-float}.intro-name{letter-spacing:-.05em;align-items:baseline;margin-top:6px;font-family:ui-rounded,Arial Rounded MT Bold,Nunito,Trebuchet MS,Segoe UI,system-ui,sans-serif;font-size:clamp(44px,11vw,76px);font-weight:900;line-height:1;display:flex}.intro-name span{opacity:0;animation:.35s cubic-bezier(.2,.9,.3,1.5) both intro-letter;display:inline-block}.intro-name .intro-q{background:linear-gradient(160deg,#fef3c7 10%,#fbbf24 45%,#ea580c 95%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 .02em;font-style:italic;animation-name:intro-q;animation-duration:.5s}.intro-name .intro-pl{letter-spacing:.02em;background:#2563eb;border-radius:.5em;margin-left:.08em;padding:.1em .3em .14em;font-size:.36em}.intro-tagline{color:#cbd5e1;letter-spacing:.24em;text-transform:uppercase;opacity:0;margin:14px 0 0;font-size:13px;font-weight:700;animation:.5s 1.6s both intro-fade}.intro-bar{opacity:0;background:#ffffff1f;border-radius:999px;width:100%;height:8px;margin-top:34px;animation:.4s .3s both intro-fade;overflow:hidden}.intro-bar i{transform-origin:0;background:linear-gradient(90deg,#3b82f6,#fbbf24);border-radius:999px;width:100%;height:100%;animation:linear both intro-fill;display:block}.intro-step{color:#94a3b8;min-height:20px;margin:12px 0 0;font-size:14px;font-weight:600;animation:.35s both intro-fade}.intro-pieces span{color:#ffffff17;line-height:1;animation:3.4s linear both intro-rise;position:absolute;bottom:-70px}.intro-skip{color:#fff6;text-align:center;font-size:12px;animation:.6s both intro-fade;position:absolute;bottom:22px;left:0;right:0}@keyframes intro-mark-in{0%{opacity:0;transform:translateY(-70px)scale(.5)rotate(-25deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes intro-mark-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(3deg)}}@keyframes intro-letter{0%{opacity:0;transform:translateY(26px)scale(.7)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes intro-q{0%{opacity:0;transform:scale(2.4)rotate(40deg)}to{opacity:1;transform:scale(1.3)rotate(-8deg)translateY(.04em)}}@keyframes intro-fade{0%{opacity:0}to{opacity:1}}@keyframes intro-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes intro-rise{0%{opacity:0;transform:translateY(0)rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(-115vh)rotate(40deg)}}@media (prefers-reduced-motion:reduce){.intro-mark,.intro-name span,.intro-tagline,.intro-bar,.intro-step,.intro-skip{opacity:1;animation:none}.intro-pieces{display:none}}.duel-rings{justify-content:center;gap:26px;margin:4px 0 6px;display:flex}.duel-ring{color:var(--text-soft);flex-direction:column;align-items:center;gap:2px;font-size:13px;font-weight:700;display:flex}.duel-ring.is-mine{color:#fff}.accuracy-ring{width:96px;height:96px}.accuracy-ring circle{fill:none;stroke-width:8px}.accuracy-ring-track{stroke:var(--surface-hover)}.accuracy-ring-value{stroke:#94a3b8;stroke-linecap:round;transition:stroke-dasharray .8s}.accuracy-ring-value.is-mine{stroke:var(--accent-light,#60a5fa)}.accuracy-ring text{fill:#fff;font-size:15px;font-weight:800}.duel-verdict{color:var(--text-soft);text-align:center;margin:0 0 14px;font-size:13px}.lead-strip,.move-balance,.move-chips{margin-bottom:14px}.lead-strip-bar{background:var(--surface-hover);border-radius:7px;height:14px;display:flex;overflow:hidden}.lead-strip-bar i{flex:1;min-width:0}.lead-ahead{background:#22c55e}.lead-even{background:#64748b}.lead-behind{background:#ef4444}.lead-strip-legend,.balance-legend{color:var(--text-soft);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12px;font-weight:600;display:flex}.lead-strip-legend span:before,.balance-legend span:before{content:"";background:currentColor;border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.lead-strip-legend .is-ahead:before{background:#22c55e}.lead-strip-legend .is-even:before{background:#64748b}.lead-strip-legend .is-behind:before{background:#ef4444}.balance-row,.chips-row{grid-template-columns:78px 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.chips-row{align-items:start}.balance-name{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.balance-bar{background:var(--surface-hover);border-radius:6px;height:22px;display:flex;overflow:hidden}.balance-bar i{color:#fff;place-items:center;min-width:18px;font-size:12px;font-style:normal;font-weight:800;display:grid}.balance-bar .balance-strong{background:#16a34a}.balance-bar .balance-solid{background:#2563eb}.balance-bar .balance-weak{background:#ea580c}.balance-legend .balance-strong:before{background:#16a34a}.balance-legend .balance-solid:before{background:#2563eb}.balance-legend .balance-weak:before{background:#ea580c}.chips-list{flex-wrap:wrap;gap:5px;display:flex}.move-chip{background:var(--surface-hover);color:var(--text-soft);border-radius:999px;align-items:center;gap:5px;padding:3px 8px 3px 4px;font-size:12px;display:inline-flex}.move-chip b{color:#fff}.chips-none{color:var(--text-dim);font-size:12px}.chest-caption{color:#ffffffeb;white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex;position:absolute;top:calc(50% + 142px)}.chest-caption span{color:#1c1917;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800}.chest-hint{top:calc(50% + 180px)}.guide-toggle{border:1px solid var(--border-color);background:var(--page-bg);color:var(--text-soft);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.guide-toggle input{accent-color:#3b82f6;width:18px;height:18px;margin-top:2px}.guide-toggle span{flex-direction:column;gap:3px;display:flex}.guide-toggle strong{color:#fff;font-size:14px}.guide-toggle small{font-size:12px;line-height:1.35}.review-summary .duel-rings{background:radial-gradient(130px 90px at 37% 45%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 70%), var(--surface-hover);border-radius:16px;align-items:center;gap:44px;margin:6px 0 10px;padding:16px 12px 12px;position:relative}.review-summary .duel-rings:after{background:var(--page-bg);width:34px;height:34px;color:var(--text-soft);letter-spacing:.04em;content:"VS";border-radius:50%;place-items:center;font-size:11px;font-weight:900;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-62%)}.review-summary .accuracy-ring{width:112px;height:112px}.review-summary .accuracy-ring circle{stroke-width:9px}.review-summary .accuracy-ring-track{stroke:#00000047}.review-summary .accuracy-ring-value.is-mine{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent-light,#60a5fa) 70%, transparent))}.review-summary .accuracy-ring text{font-size:16px}.review-summary .duel-ring{letter-spacing:.05em;text-transform:uppercase;gap:6px;font-size:13px}.review-summary .duel-verdict{background:var(--surface-hover);color:#fff;border-radius:999px;width:fit-content;max-width:100%;margin:0 auto 14px;padding:6px 14px;font-size:13px;font-weight:600}.review-summary .lead-strip,.review-summary .move-balance,.review-summary .move-chips,.review-summary .review-phases{background:var(--surface-hover);border-radius:14px;margin-bottom:10px;padding:12px 14px}.review-summary .move-chips{flex-direction:column;gap:8px;display:flex}.review-summary .review-section-title{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:12px}.review-summary .lead-strip-bar{background:#00000047;border-radius:9px;gap:1px;height:18px}.review-summary .balance-bar{background:#00000047;border-radius:13px;height:26px}.review-summary .balance-bar i{font-size:13px}.review-summary .balance-bar .balance-strong{background:linear-gradient(#22c55e,#15803d)}.review-summary .balance-bar .balance-solid{background:linear-gradient(#3b82f6,#1d4ed8)}.review-summary .balance-bar .balance-weak{background:linear-gradient(#f97316,#c2410c)}.review-summary .balance-row,.review-summary .chips-row{margin-bottom:0}.review-summary .move-balance .balance-row+.balance-row{margin-top:8px}.review-summary .move-chip{color:#fff;background:#00000040;padding:4px 10px 4px 5px}.review-summary .phase-row:first-of-type{border-top:0}.nav-login-note{border:1px dashed var(--border-color);color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:12px;align-items:flex-start;gap:8px;margin:4px 0 10px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.35;display:flex}.nav-login-note:hover{border-color:var(--accent);color:#fff}.setup-subtitle{color:#fff;text-align:center;margin:18px 0 10px;font-size:17px;font-weight:700}.voice-offer{z-index:90;border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border-color));background:var(--surface);text-align:left;border-radius:16px;align-items:center;gap:12px;width:min(460px,100vw - 24px);padding:14px 16px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 16px 40px #00000080}.voice-offer-icon{flex-shrink:0;font-size:30px}.voice-offer-text{min-width:0;color:var(--text-soft);flex-direction:column;flex:1;gap:4px;font-size:13px;line-height:1.4;display:flex}.voice-offer-text strong{color:#fff;font-size:15px}.voice-offer-bar{background:var(--surface-hover);border-radius:999px;height:8px;display:block;overflow:hidden}.voice-offer-bar i{background:var(--accent);border-radius:999px;height:100%;transition:width .3s;display:block}.voice-offer-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.voice-offer-actions .primary-button{white-space:nowrap;padding:9px 14px;font-size:14px}@media (width<=599px){.voice-offer{flex-wrap:wrap;width:auto;left:12px;right:12px}.voice-offer-actions{flex-direction:row;justify-content:flex-end;gap:14px;width:100%}}.film-bubble.is-asking{box-shadow:inset 0 0 0 3px #f97316}.film-question{color:#fff;background:#f9731638;border-radius:12px;margin:0;padding:10px 12px;font-size:14px;font-weight:700}.quiz-options{flex-direction:column;gap:8px;display:flex}.quiz-options button{border:2px solid var(--border-color);background:var(--page-bg);color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;line-height:1.4;display:flex}.quiz-options button:hover:not(:disabled){border-color:var(--accent);color:#fff}.quiz-options button b{background:var(--surface-hover);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.quiz-options button.is-right{background:color-mix(in srgb, #22c55e 18%, var(--page-bg));color:#fff;border-color:#22c55e}.quiz-options button.is-wrong{background:color-mix(in srgb, #ef4444 16%, var(--page-bg));border-color:#ef4444}.quiz-options button:disabled{cursor:default}.task-side{border-radius:12px;align-items:center;gap:8px;margin:0;padding:8px 12px;font-size:15px;font-weight:800;display:flex}.task-side span{font-size:20px;line-height:1}.task-side--w{color:#1c1917;background:#f8fafc}.task-side--b{color:#fff;background:#0f172a;box-shadow:inset 0 0 0 1px #ffffff40}.review-summary .move-highlights{background:var(--surface-hover);border-radius:14px;margin-bottom:10px;padding:12px 14px}.highlight-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.highlight-card{background:#00000038;border-radius:12px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.highlight-card.is-mine{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent-light,#60a5fa) 65%, transparent)}.highlight-card-name{color:#fff;letter-spacing:.05em;text-transform:uppercase;font-size:13px;font-weight:800}.highlight-card ul{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.highlight-card li{color:#fff;background:#ffffff0f;border-left:3px solid #0000;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:4px 8px 4px 6px;font-size:13px;line-height:1.25;display:grid}.highlight-card li.is-good{border-left-color:#22c55e}.highlight-card li.is-bad{border-left-color:#f97316}.highlight-card li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.highlight-card li b{text-align:center;background:#00000059;border-radius:999px;min-width:24px;padding:1px 6px;font-size:13px}.highlight-card .chips-none{color:var(--text-soft);margin:0;font-size:12px}.review-summary{container-type:inline-size}@container (width<=340px){.highlight-cards{grid-template-columns:minmax(0,1fr)}}.analysis--narrow .review-start{right:16px;bottom:max(12px, env(safe-area-inset-bottom));z-index:60;width:auto;position:fixed;left:16px;box-shadow:0 8px 22px #00000080}.analysis--narrow .review-scroll{padding-bottom:72px}@media (width<=599px){.voice-offer{gap:8px 10px;padding:10px 12px;bottom:10px}.voice-offer-icon{font-size:22px}.voice-offer-text{font-size:12px}.voice-offer-text strong{font-size:14px}.voice-offer-text>span:not(.voice-offer-bar){display:none}.voice-offer-actions{flex-direction:row;align-items:center;gap:12px;width:auto}.voice-offer-actions .primary-button{padding:8px 12px;font-size:13px}}.flame-off{filter:grayscale();opacity:.45}@media (width<=599px){.play--narrow .play-coach{align-items:stretch;gap:4px;min-height:64px;padding-left:74px;position:relative}.play--narrow .play-coach>.coach-avatar,.play--narrow .play-coach>.coach-avatar-button{position:absolute;top:0;left:0}.play--narrow .play-coach .coach-avatar{width:64px;height:64px}.play--narrow .play-coach .coach-column-name{text-align:left;padding-left:4px;font-size:13px}.play--narrow .play-coach .coach-column-bubble{margin-top:0;padding:10px 12px;font-size:14.5px;line-height:1.45}.play--narrow .play-coach .coach-column-bubble:before{border:9px solid #0000;border-left:0;border-right-color:var(--bubble-border,#f8f5f0);top:14px;left:-9px;transform:none}}.admin-page .stats-card h2{margin:0 0 8px}.site-chart-tabs{flex-wrap:wrap;gap:6px;display:flex}.site-chart-tabs button{border:1px solid var(--border-color);color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.site-chart-tabs button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.site-chart{border-bottom:1px solid var(--border-color);align-items:flex-end;gap:3px;height:140px;padding-top:8px;display:flex}.site-chart-bar{flex:1;align-items:flex-end;min-width:0;height:100%;display:flex}.site-chart-bar i{background:var(--accent);border-radius:4px 4px 0 0;width:100%;transition:height .25s;display:block}.site-chart-bar:hover i{filter:brightness(1.25)}.site-chart-axis{color:var(--text-dim);justify-content:space-between;font-size:12px;display:flex}.site-days{max-height:320px;margin-top:10px;overflow-y:auto}@media (width>=900px){.header{gap:clamp(8px,2.4vh,22px);padding-top:clamp(10px,2.4vh,22px);padding-bottom:clamp(8px,1.8vh,16px)}.header nav{scrollbar-width:none;overflow-y:auto}.header nav::-webkit-scrollbar{display:none}.header .nav-link{padding-top:clamp(3px,.75vh,8px);padding-bottom:clamp(3px,.75vh,8px);font-size:clamp(12.5px,1.8vh,14px)}.header .nav-icon{font-size:clamp(14px,2.1vh,17px)}.nav-group+.nav-group{margin-top:clamp(3px,1vh,10px);padding-top:clamp(3px,1vh,10px)}}.cel{z-index:900;color:#fff;cursor:pointer;justify-content:center;align-items:center;padding:16px;animation:.45s ease-out both cel-fade;display:flex;position:fixed;inset:0;overflow:hidden}.cel-backdrop{background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--cel-main) 38%, #0b1020) 0%, #070a14 62%, #03050b 100%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute;inset:0}.cel-rays{background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--cel-light) 26%, transparent) 0deg 5deg, transparent 5deg 15deg);width:190vmax;height:190vmax;animation:1.1s cubic-bezier(.2,.8,.2,1) both cel-rays-in,48s linear infinite cel-spin;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle,#000 0%,#0000008c 18%,#0000 46%);mask-image:radial-gradient(circle,#000 0%,#0000008c 18%,#0000 46%)}.cel-glow{background:radial-gradient(circle, color-mix(in srgb, var(--cel-main) 70%, transparent) 0%, transparent 62%);filter:blur(18px);border-radius:50%;width:min(620px,120vw);height:min(620px,120vw);animation:3.2s ease-in-out .8s infinite cel-breathe;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.cel-count{top:max(18px, env(safe-area-inset-top));z-index:2;background:#00000059;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%)}.cel-count i{background:#ffffff40;border-radius:50%;width:8px;height:8px;transition:all .3s}.cel-count i.is-done{background:#fff9}.cel-count i.is-current{background:var(--cel-main);width:22px;box-shadow:0 0 10px var(--cel-main);border-radius:6px}.cel-count span{color:#ffffffbf;margin-left:4px}.cel-stage{z-index:1;text-align:center;flex-direction:column;align-items:center;width:min(520px,100%);animation:.75s cubic-bezier(.2,.9,.25,1.15) both cel-stage-in;display:flex;position:relative}.cel-stage.is-next{animation-name:cel-stage-slide-in}.cel-stage.is-leaving{animation:.52s cubic-bezier(.55,0,.75,.2) both cel-stage-out}.cel-kicker{color:var(--cel-light);letter-spacing:.32em;text-transform:uppercase;text-shadow:0 0 14px color-mix(in srgb, var(--cel-main) 80%, transparent);margin:0 0 6px;font-size:13px;font-weight:800;animation:.7s ease-out .25s both cel-kicker}.cel-emblem{place-items:center;width:clamp(170px,34vh,230px);height:clamp(170px,34vh,230px);margin:6px 0 4px;animation:1.15s cubic-bezier(.18,.9,.25,1.2) .15s both cel-emblem-in,3.6s ease-in-out 1.4s infinite cel-float;display:grid;position:relative}.cel-emblem svg{width:100%;height:100%;filter:drop-shadow(0 18px 30px #0000008c) drop-shadow(0 0 26px color-mix(in srgb, var(--cel-main) 70%, transparent))}.cel-emblem--badge .badge-icon text{font-size:26px}.cel-shine{pointer-events:none;position:absolute;inset:0;overflow:hidden}.cel-shine:after{content:"";background:linear-gradient(100deg,#0000,#ffffffbf,#0000);width:40%;animation:3.4s ease-in-out 1.3s infinite cel-shine;position:absolute;top:-20%;bottom:-20%;left:-60%;transform:skew(-18deg)}.cel-shine--badge{clip-path:circle(35%)}.cel-title{color:#fff;letter-spacing:-.5px;text-shadow:0 2px 0 color-mix(in srgb, var(--cel-dark) 85%, black), 0 0 28px color-mix(in srgb, var(--cel-main) 65%, transparent);margin:4px 0 6px;font-size:clamp(30px,6vw,46px);font-weight:900;line-height:1.1}.cel-pop span{animation:.5s cubic-bezier(.2,.9,.3,1.6) both cel-letter;display:inline-block}.cel-swap{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 0 12px;font-size:15px;display:flex}.cel-swap-old{color:#ffffff8c;-webkit-text-decoration:line-through #fff6;text-decoration:line-through #fff6;animation:.5s ease-out 1.1s both cel-fade}.cel-swap-arrow{color:var(--cel-main);animation:.5s ease-out 1.3s both cel-arrow}.cel-swap-new{background:color-mix(in srgb, var(--cel-main) 26%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--cel-main) 70%, transparent);color:var(--cel-light);border-radius:999px;padding:3px 10px;font-weight:800;animation:.55s cubic-bezier(.2,.9,.3,1.5) 1.45s both cel-chip}.cel-rating{grid-template-columns:auto auto;align-items:center;column-gap:10px;margin-bottom:18px;animation:.6s ease-out 1.2s both cel-kicker;display:grid}.cel-rating strong{color:#fff;font-variant-numeric:tabular-nums;font-size:44px;line-height:1}.cel-rating em{color:#fff;background:#16a34a;border-radius:999px;grid-area:1/2;padding:4px 10px;font-size:16px;font-style:normal;font-weight:800;animation:.5s cubic-bezier(.2,.9,.3,1.6) 2.9s both cel-chip;box-shadow:0 0 16px #22c55e99}.cel-rating span{color:#fff9;grid-column:1/-1;font-size:13px}.cel-tier{color:#ffffffd9;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0 0 12px;font-size:16px;animation:.6s ease-out 1.3s both cel-kicker;display:flex}.cel-tier-pill{background:linear-gradient(135deg, var(--cel-light), var(--cel-main) 55%, var(--cel-dark));color:#1a1206;text-shadow:0 1px #fff6;box-shadow:0 0 18px color-mix(in srgb, var(--cel-main) 70%, transparent);border-radius:999px;padding:4px 12px;font-weight:900}.cel-tiers{gap:8px;margin-bottom:20px;display:flex}.cel-tiers i{background:#ffffff29;border-radius:4px;width:30px;height:8px}.cel-tiers i.is-reached{background:var(--tier);box-shadow:0 0 10px color-mix(in srgb, var(--tier) 70%, transparent)}.cel-tiers i.is-fresh{animation:.55s cubic-bezier(.2,.9,.3,1.6) both cel-tier-on}.cel-next{z-index:1;background:linear-gradient(180deg, var(--cel-light), var(--cel-main));color:#1a1206;font:inherit;cursor:pointer;box-shadow:0 6px 0 var(--cel-dark), 0 10px 24px #00000073;border:0;border-radius:12px;padding:12px 30px;font-size:16px;font-weight:900;transition:transform .12s;animation:.5s ease-out 1.8s both cel-kicker;position:relative}.cel-next:hover{transform:translateY(-2px)}.cel-next:active{box-shadow:0 3px 0 var(--cel-dark), 0 6px 16px #00000073;transform:translateY(3px)}.cel-next:focus-visible{outline-offset:3px;outline:3px solid #fff}.cel-burst{pointer-events:none;width:0;height:0;position:absolute;top:clamp(110px,21vh,145px);left:50%}.cel-ring{border:3px solid var(--cel-light);opacity:0;border-radius:50%;width:220px;height:220px;animation:1.3s cubic-bezier(.1,.7,.3,1) .55s both cel-ring;position:absolute;top:-110px;left:-110px}.cel-ring--2{border-width:2px;border-color:var(--cel-main);animation-delay:.7s}.cel-ring--3{border-width:1px;animation-delay:.9s}.cel-confetti{width:var(--size);height:calc(var(--size) * .45);opacity:0;border-radius:2px;animation:2.6s cubic-bezier(.15,.7,.35,1) both cel-confetti;position:absolute;top:0;left:0}.cel-confetti.is-round{height:var(--size);border-radius:50%}.cel-sparkle{background:var(--cel-light);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);width:18px;height:18px;filter:drop-shadow(0 0 6px var(--cel-light));transform:rotate(var(--angle)) translateY(calc(-1 * var(--reach))) scale(0);animation:1.8s ease-in-out infinite cel-twinkle;position:absolute;top:-9px;left:-9px}@keyframes cel-fade{0%{opacity:0}}@keyframes cel-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes cel-rays-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-40deg)}}@keyframes cel-breathe{50%{opacity:.7;transform:translate(-50%,-50%)scale(1.08)}}@keyframes cel-stage-in{0%{opacity:0;transform:translateY(40px)scale(.9)}}@keyframes cel-stage-slide-in{0%{opacity:0;transform:translate(min(70vw,420px))scale(.94)}}@keyframes cel-stage-out{to{opacity:0;transform:translate(max(-70vw,-420px))scale(.94)}}@keyframes cel-kicker{0%{opacity:0;transform:translateY(12px)}}@keyframes cel-emblem-in{0%{opacity:0;transform:translateY(-140px)scale(.25)rotateY(0)}55%{opacity:1;transform:translateY(10px)scale(1.12)rotateY(620deg)}75%{transform:translateY(-6px)scale(.96)rotateY(720deg)}to{transform:translateY(0)scale(1)rotateY(720deg)}}@keyframes cel-float{50%{transform:translateY(-8px)rotate(1.5deg)}}@keyframes cel-shine{0%{left:-60%}45%,to{left:130%}}@keyframes cel-letter{0%{opacity:0;transform:translateY(26px)scale(.4)rotate(-12deg)}70%{opacity:1;transform:translateY(-5px)scale(1.15)rotate(3deg)}}@keyframes cel-arrow{0%{opacity:0;transform:translate(-10px)}}@keyframes cel-chip{0%{opacity:0;transform:scale(.3)}}@keyframes cel-tier-on{0%{box-shadow:none;background:#ffffff29;transform:scaleX(.4)}60%{transform:scaleX(1.25)scaleY(1.6)}}@keyframes cel-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(2.6)}}@keyframes cel-confetti{0%{opacity:1;transform:translate(0)rotate(0)scale(.3)}35%{opacity:1;transform:translate(var(--x), var(--y)) rotate(calc(var(--turn) * .4)) scale(1)}to{opacity:0;transform:translate(calc(var(--x) * 1.15), calc(var(--y) + var(--fall))) rotate(var(--turn)) scale(.9)}}@keyframes cel-twinkle{0%,to{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--reach))) scale(0)}50%{opacity:1;transform:rotate(var(--angle)) translateY(calc(-1 * var(--reach))) scale(1) rotate(45deg)}}@media (height<=640px){.cel-emblem{width:140px;height:140px}.cel-burst{top:100px}.cel-rating strong{font-size:34px}}@media (prefers-reduced-motion:reduce){.cel *,.cel{animation-duration:10ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.cel-burst{display:none}}.badge-ring-fill{animation:.9s cubic-bezier(.3,.8,.3,1) both badge-ring-fill}.badge-icon-spark{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite badge-spark}.badge-icon--max{filter:drop-shadow(0 2px 4px #00000059)drop-shadow(0 0 6px #38bdf873)}@keyframes badge-ring-fill{0%{stroke-dasharray:0 400}}@keyframes badge-spark{0%,to{opacity:.35;transform:scale(.6)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(45deg)}}@media (prefers-reduced-motion:reduce){.badge-ring-fill,.badge-icon-spark{animation:none}}.badge-card .badge-icon{transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.badge-card:hover .badge-icon{transform:translateY(-2px)scale(1.05)}.test-subheading{color:var(--text-soft);margin:14px 0 10px;font-size:15px}.stats-level--icon{flex-direction:row;align-items:center;gap:14px;display:flex}.stats-level-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.cel-level-medal{width:100%;height:100%;display:block}.cel-level-medal svg{width:100%;height:100%}.cel-level-medal.is-promoted{animation:.7s cubic-bezier(.2,.9,.3,1.5) both cel-promote}@keyframes cel-promote{0%{filter:brightness(2.2)saturate(.4);transform:scale(.7)}60%{filter:brightness(1.3);transform:scale(1.12)}to{filter:none;transform:scale(1)}}.feedback-page .stats-card{text-align:left;gap:12px}.feedback-kinds{flex-wrap:wrap;gap:8px;display:flex}.feedback-kinds button{border:1px solid var(--border-color);background:var(--page-bg);color:var(--text-soft);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:9px 16px;font-weight:700;display:inline-flex}.feedback-kinds button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.feedback-field{color:var(--text-soft);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.feedback-field select,.feedback-field textarea{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;font:inherit;border-radius:10px;padding:10px 12px;font-weight:400}.feedback-field textarea{resize:vertical;min-height:130px;line-height:1.5}.feedback-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feedback-list li{border:1px solid var(--border-color);background:var(--page-bg);border-radius:12px;padding:12px 14px}.feedback-list li.is-done{opacity:.55}.feedback-list-head{color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;font-size:13px;display:flex}.feedback-list p{color:var(--text-soft);white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 4px}.feedback-list small{color:var(--text-dim)}.feedback-status{background:#ffffff14;border-radius:999px;padding:2px 9px;font-weight:700}.feedback-status.is-done{color:#86efac;background:#22c55e40}.report-card,.chapters,.game-lessons{flex-direction:column;gap:8px;display:flex}.report-row{border:1px solid var(--border-color);background:var(--page-bg);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.report-row.is-mine{border-color:color-mix(in srgb, var(--accent) 60%, var(--border-color))}.report-grade{background:var(--surface-hover);color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-family:Arial,sans-serif;font-size:22px;font-weight:900;line-height:1;display:flex;box-shadow:inset 0 1px #ffffff59,inset 0 -3px #0003}.report-body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.report-name{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.report-name strong{color:#fff}.report-name span{color:var(--text-dim);font-size:13px}.report-counts{flex-wrap:wrap;gap:4px;display:flex}.report-count{background:color-mix(in srgb, var(--grade) 22%, transparent);height:21px;color:var(--text-soft);font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:3px;padding:0 6px 0 2px;font-size:12px;line-height:1;display:inline-flex}.report-count b{background:var(--grade);color:#fff;border-radius:4px;justify-content:center;align-items:center;width:17px;height:17px;font-family:Arial,sans-serif;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.report-count.is-zero{opacity:.4}.report-specials{color:var(--text-soft);flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.chapter{border:1px solid var(--border-color);background:var(--page-bg);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s,transform .15s;display:flex}.chapter:hover{border-color:var(--accent);transform:translate(2px)}.chapter-number{background:var(--surface-hover);width:26px;height:26px;color:var(--text-soft);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:800;display:grid}.chapter-body{flex-direction:column;flex:1;min-width:0;display:flex}.chapter-body strong{color:#fff;font-size:14px}.chapter-body small{color:var(--text-dim);font-size:12px}.chapter-grade{color:#fff;border-radius:8px;flex-shrink:0;padding:4px 8px;font-family:Arial,sans-serif;font-size:14px;font-weight:900;line-height:1}.chapter-go{color:var(--accent-light,var(--accent));font-size:12px}.chapters-note{color:var(--text-dim);margin:0;font-size:12px}.game-lessons ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.game-lessons li{background:color-mix(in srgb, var(--accent) 12%, var(--page-bg));border-radius:12px;grid-template-columns:auto 1fr;gap:4px 10px;padding:10px 12px;display:grid}.game-lesson-icon{grid-row:span 2;font-size:20px;line-height:1.2}.game-lesson-text{color:var(--text-soft);font-size:13px;line-height:1.45}.game-lessons .link-button{justify-self:start;font-size:13px;font-weight:700}.feedback-reply{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text-soft);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:6px 0 4px;padding:8px 10px;font-size:14px}.feedback-reply strong{color:#fff}.feedback-reply-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.feedback-reply-form textarea{border:1px solid var(--border-color);background:var(--surface);color:#fff;font:inherit;resize:vertical;border-radius:10px;padding:10px 12px}.feedback-admin-actions{flex-wrap:wrap;gap:4px 14px;display:inline-flex}.moment-view-switch{background:var(--page-bg);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin:8px 0;padding:3px;display:grid}.moment-view-switch button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 8px;font-size:13px;font-weight:700}.moment-view-switch button.is-active{background:var(--surface-hover);color:#fff}.moment-map{flex-direction:column;flex:1;gap:10px;min-height:0;padding:0 2px 14px 0;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),#0000);mask-image:linear-gradient(#000 calc(100% - 22px),#0000)}.moment-chapter h3{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:800}.moment-chapter ol{flex-direction:column;gap:6px;margin:0;padding:0 0 0 14px;list-style:none;display:flex;position:relative}.moment-chapter ol:before{content:"";background:var(--border-color);border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:4px}.moment-card{border:1px solid var(--border-color);background:var(--page-bg);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;padding:7px 10px;transition:border-color .15s,transform .15s;display:grid;position:relative}.moment-card:before{content:"";border:2px solid var(--surface);background:var(--tone,#64748b);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.moment-card--good{--tone:#22c55e}.moment-card--bad{--tone:#ef4444}.moment-card--key{--tone:#f59e0b}.moment-card--calm{--tone:#64748b}.moment-card:hover{border-color:var(--tone);transform:translate(2px)}.moment-card.is-done{opacity:.6}.moment-card.is-current{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--page-bg));box-shadow:0 0 0 1px var(--accent);opacity:1}.moment-card-move{color:#fff;white-space:nowrap;grid-row:span 2;font-size:13px;font-weight:800}.moment-card-title{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.moment-card-who{color:var(--text-dim);grid-column:2;font-size:11px}.moment-card-who.is-me{color:var(--accent-light,var(--accent));font-weight:700}.moment-card .move-badge{grid-area:1/3/span 2}.moment-trail{flex-wrap:wrap;justify-content:center;gap:5px;margin:10px 0 8px;display:flex}.moment-dot{background:color-mix(in srgb, var(--tone,#64748b) 35%, transparent);cursor:pointer;border:0;border-radius:50%;width:10px;height:10px;padding:0;transition:transform .15s}.moment-dot--good{--tone:#22c55e}.moment-dot--bad{--tone:#ef4444}.moment-dot--key{--tone:#f59e0b}.moment-dot.is-done{background:var(--tone,#64748b)}.moment-dot.is-current{background:var(--tone,#64748b);box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent);transform:scale(1.25)}.moment-dot:hover{transform:scale(1.3)}.moment-controls{gap:8px;display:flex}.moment-back{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;width:46px;height:46px;font:inherit;cursor:pointer;border-radius:50%;flex-shrink:0;font-size:18px}.moment-back:disabled{opacity:.4;cursor:default}.moment-next{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #a855f7));color:#fff;height:46px;font:inherit;cursor:pointer;box-shadow:0 4px 14px color-mix(in srgb, var(--accent) 45%, transparent);border:0;border-radius:999px;flex:1;font-size:15px;font-weight:800}.moment-next.is-finish{background:linear-gradient(90deg,#16a34a,#0d9488);box-shadow:0 4px 14px #16a34a73}.moment-next:disabled{opacity:.5;cursor:default}.moment-back:hover:not(:disabled),.moment-next:hover:not(:disabled){filter:brightness(1.12)}.analysis--narrow .moment-map{flex:none;max-height:300px}.feedback-list-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-top:4px;display:flex}.feedback-hide{color:var(--text-dim);font-size:13px}.feedback-confirm{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;display:inline-flex}.feedback-confirm .is-danger{color:#f87171;font-weight:700}.moment-view-switch{grid-template-columns:repeat(3,1fr)}.game-story{scroll-behavior:smooth;flex-direction:column;flex:1;gap:14px;min-height:0;padding:2px 4px 16px 2px;display:flex;overflow-y:auto}.analysis--narrow .game-story{flex:none;max-height:62vh}.story-intro{background:color-mix(in srgb, var(--accent) 14%, var(--page-bg));color:var(--text-soft);border-radius:12px;margin:0;padding:12px 14px;font-size:14px;line-height:1.55}.story-chapter{flex-direction:column;gap:10px;display:flex}.story-chapter-head{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding-bottom:6px;display:flex}.story-chapter-number{width:100%;color:var(--accent-light,var(--accent));letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.story-chapter-head h3{color:#fff;margin:0;font-size:19px}.story-chapter-grade{color:#fff;border-radius:8px;margin-left:auto;padding:3px 8px;font-family:Arial,sans-serif;font-size:14px;font-weight:900;line-height:1}.story-chapter-verdict,.story-quiet{color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.story-chapter-verdict b{color:var(--text-soft)}.story-card{border:1px solid var(--border-color);background:var(--page-bg);border-radius:14px;flex-direction:column;gap:8px;padding:10px;transition:border-color .2s,box-shadow .2s;display:flex}.story-card.is-current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 6px 18px #0000004d}.story-card-head{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.story-card-head strong{color:#fff;font-size:14px}.story-card-title{color:var(--text-soft);font-size:13px;font-weight:700}.story-card-who{color:var(--text-dim);margin-left:auto;font-size:12px}.story-card-who.is-me{color:var(--accent-light,var(--accent));font-weight:700}.story-card-body{display:flow-root}.story-diagram{float:left;cursor:pointer;background:0 0;border:0;border-radius:6px;margin:2px 10px 4px 0;padding:0;line-height:0;box-shadow:0 3px 10px #00000059}.story-card-text p{color:var(--text-soft);margin:0 0 6px;font-size:13px;line-height:1.5}.story-card-text .story-line{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12px}.story-card-text .link-button{font-size:13px;font-weight:700}.story-lessons ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.story-lessons li{background:color-mix(in srgb, var(--accent) 12%, var(--page-bg));color:var(--text-soft);border-radius:12px;grid-template-columns:auto 1fr;gap:4px 10px;padding:10px 12px;font-size:13px;line-height:1.45;display:grid}.story-lessons li>span:first-child{grid-row:span 2;font-size:20px}.story-lessons .link-button{justify-self:start;font-weight:700}.story-finish{flex:none;margin-top:6px}.mini-board-mark{background:#facc1580;position:absolute}.game-story{text-align:left}.mini-coach{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding-top:4px;display:flex}.mini-coach-name{color:var(--text-dim);text-align:center;font-size:11px;font-weight:700}.analysis--narrow .coach-bubble>.coach-avatar-button{display:none}.move-badge--grade{text-shadow:0 1px #00000040;border-radius:28%;font-family:Arial,sans-serif;font-weight:900;line-height:1}.duel-rings--small .accuracy-ring{width:64px;height:64px}.duel-rings--small{gap:24px}.coach-shout{flex-direction:column;gap:2px;margin:0;animation:.45s cubic-bezier(.2,.9,.3,1.5) both shout-pop;display:flex}.coach-shout strong{font-size:18px}.coach-shout span{color:#7c6f63;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}@keyframes shout-pop{0%{opacity:0;transform:scale(.85)translateY(6px)}}.coach-line-label{width:100%;font-size:12px;font-weight:800}.what-if-caption{z-index:6;color:#fff;white-space:nowrap;pointer-events:none;background:#7c3aedeb;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:800;animation:.5s cubic-bezier(.2,.9,.3,1.4) both what-if-in;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0006}@keyframes what-if-in{0%{opacity:0;transform:translate(-50%,-14px)scale(.8)}}.film-intro{z-index:20;background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--accent) 55%, #0b1020), #05070d 75%);color:#fff;font:inherit;text-align:center;cursor:pointer;border:0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;animation:.5s ease-out both film-in,.45s ease-in 2.95s both film-out;display:flex;position:absolute;inset:0;overflow:hidden}.film-rays{pointer-events:none;background:repeating-conic-gradient(#ffffff12 0deg 6deg,#0000 6deg 18deg);width:180%;height:180%;animation:30s linear infinite cel-spin;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.film-clapper{font-size:clamp(34px,9vw,54px);animation:.7s cubic-bezier(.2,.9,.3,1.5) .1s both film-clap;position:relative}.film-kicker{color:var(--accent-light,#93c5fd);letter-spacing:.3em;text-transform:uppercase;font-size:12px;font-weight:800;animation:.5s ease-out .35s both kicker-in;position:relative}.film-players{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;font-size:clamp(18px,4.5vw,28px);font-weight:900;display:flex;position:relative}.film-player--white{animation:.55s cubic-bezier(.2,.9,.3,1.2) .6s both from-left}.film-player--black{animation:.55s cubic-bezier(.2,.9,.3,1.2) .6s both from-right}.film-vs{color:#fbbf24;font-size:.7em;animation:.5s cubic-bezier(.2,.9,.3,1.6) 1s both film-clap}.film-result{background:#ffffff24;border-radius:999px;padding:4px 14px;font-size:15px;font-weight:800;animation:.45s ease-out 1.25s both film-clap;position:relative}.film-chapters{flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:relative}.film-chapters span{animation:.4s ease-out both kicker-in;animation-delay:calc(1.5s + var(--i) * .25s);border:1px solid #ffffff40;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.film-skip{color:#ffffff80;font-size:11px;position:absolute;bottom:10px}.chapter-flash{z-index:15;color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#0a0e18db;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:14px 26px;animation:1.9s cubic-bezier(.2,.8,.3,1) both chapter-flash;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 40px #0000008c}.chapter-flash-number{color:var(--accent-light,#93c5fd);letter-spacing:.25em;text-transform:uppercase;font-size:11px;font-weight:800}.chapter-flash strong{font-size:24px}.chapter-flash-grade{background:var(--surface-hover);border-radius:8px;padding:3px 10px;font-size:15px;font-weight:900;line-height:1.1}.moment-film{border:1px solid var(--border-color);background:var(--page-bg);color:#fff;width:46px;height:46px;font:inherit;cursor:pointer;border-radius:50%;flex-shrink:0;font-size:18px}.moment-film.is-playing{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);animation:1.6s ease-in-out infinite film-pulse}.story-card{animation:.5s cubic-bezier(.2,.9,.3,1.1) both story-card-in;animation-delay:calc(var(--i,0) * 70ms)}.story-chapter-head{animation:.5s ease-out both kicker-in}.story-card.is-current .move-badge{animation:.6s cubic-bezier(.2,.9,.3,1.6) badge-bounce}.review-summary>*{animation:.5s ease-out both story-card-in}.review-summary>:nth-child(2){animation-delay:60ms}.review-summary>:nth-child(3){animation-delay:.12s}.review-summary>:nth-child(4){animation-delay:.18s}.review-summary>:nth-child(5){animation-delay:.24s}.review-summary>:nth-child(6){animation-delay:.3s}.review-summary>:nth-child(7){animation-delay:.36s}.review-summary>:nth-child(8){animation-delay:.42s}.report-grade{animation:.7s cubic-bezier(.2,.9,.3,1.6) .3s both badge-bounce}@keyframes film-in{0%{opacity:0;transform:scale(1.08)}}@keyframes film-out{to{opacity:0;visibility:hidden;transform:scale(.96)}}@keyframes film-clap{0%{opacity:0;transform:scale(.3)rotate(-14deg)}70%{opacity:1;transform:scale(1.15)rotate(4deg)}}@keyframes kicker-in{0%{opacity:0;transform:translateY(10px)}}@keyframes from-left{0%{opacity:0;transform:translate(-60px)}}@keyframes from-right{0%{opacity:0;transform:translate(60px)}}@keyframes chapter-flash{0%{opacity:0;transform:translate(-30%,-50%)scale(.9)}18%,78%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-70%,-50%)scale(.95)}}@keyframes film-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 15%, transparent)}}@keyframes story-card-in{0%{opacity:0;transform:translateY(14px)}}@keyframes badge-bounce{0%{transform:scale(.4)}60%{transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.film-intro,.film-intro *,.chapter-flash,.story-card,.story-chapter-head,.review-summary>*,.report-grade,.moment-film.is-playing,.coach-shout,.what-if-caption{animation:none!important}}.home-trust{max-width:520px;color:var(--text);margin:14px 0 0;font-size:14px;line-height:1.45}.training-grade{flex-direction:column;gap:12px;width:100%;display:flex}.training-grade-main{border:1px solid var(--border-color);background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:16px;padding:14px 18px;display:flex}.training-grade-tile{color:#fff;border-radius:28%;flex:none;place-items:center;width:64px;height:64px;font:900 38px/1 Arial,sans-serif;animation:.6s cubic-bezier(.2,.9,.3,1.5) both training-grade-pop;display:grid;box-shadow:0 6px 16px #00000059}.training-grade-main div{flex-direction:column;gap:2px;display:flex}.training-grade-main strong{color:#fff;font-size:19px}.training-grade-main span{color:var(--text-dim);font-size:14px}.training-awards{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.training-awards li{text-align:center;animation:.5s ease-out both training-award-in;animation-delay:calc(.35s + var(--i,0) * .15s);background:#f5b92114;border:1px solid #f5b92173;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;display:flex}.training-awards span{font-size:26px}.training-awards strong{color:#fff;font-size:14px}.training-awards small{color:var(--text-dim);font-size:12px}@keyframes training-grade-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}}@keyframes training-award-in{0%{opacity:0;transform:translateY(10px)scale(.9)}}@media (prefers-reduced-motion:reduce){.training-grade-tile,.training-awards li{animation:none}}
