@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spline-sans-mono-latin-ext-400-normal-BfWvPoNT.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-ext-400-normal-BkT5i7fe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spline-sans-mono-latin-400-normal-mUpA6Mve.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-400-normal-739QRW1l.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spline-sans-mono-latin-ext-500-normal-OEIRRHyd.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-ext-500-normal-CMfDuBbn.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spline-sans-mono-latin-500-normal-Cy_wwipl.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-500-normal-DuiJ5LHB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/spline-sans-mono-latin-ext-700-normal-CIwA9V33.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-ext-700-normal-OD-FaHeD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/spline-sans-mono-latin-700-normal-BwW4xXNM.woff2)format("woff2"),url(/assets/spline-sans-mono-latin-700-normal-BLdnetBw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f3f0e8;--paper-bright:#fbf9f3;--ink:#1e2025;--ink-soft:#595d66;--red:#b3271e;--rule:#d9d4c7;--serif:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--mono:"Spline Sans Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box;margin:0}::selection{background:var(--red);color:var(--paper)}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;font-size:17px;line-height:1.6}main{max-width:728px;margin:0 auto;padding:0 24px 120px}a{color:var(--ink);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--red)}:focus-visible{outline:2px solid var(--red);outline-offset:2px}button{font:inherit}.masthead{justify-content:space-between;align-items:center;max-width:728px;margin:0 auto;padding:28px 24px 0;display:flex}.wordmark{font-family:var(--mono);letter-spacing:.22em;color:var(--ink);align-items:center;gap:10px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark:before{content:"??";border:2px solid var(--red);width:26px;height:26px;color:var(--red);letter-spacing:0;border-radius:5px;place-items:center;font-size:.72rem;font-weight:700;display:inline-grid}.masthead-note{font-family:var(--serif);color:var(--ink-soft);font-size:.95rem;font-style:italic}.hero{padding:104px 0 56px}.hero h1{letter-spacing:-.015em;text-wrap:balance;max-width:13em;font-size:clamp(2.5rem,6.4vw,3.9rem);font-weight:480;line-height:1.03}.hero h1 em{text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:.13em;font-style:italic;font-weight:480;text-decoration-thickness:.075em}.lede{max-width:62ch;color:var(--ink-soft);margin-top:28px;font-size:1.11rem;line-height:1.7}.audit-form{margin-top:44px}.site-toggle{font-family:var(--mono);border:0;padding:0;font-size:.82rem;font-weight:500;display:inline-flex}.site-toggle label{cursor:pointer}.site-toggle input{opacity:0;position:absolute}.site-toggle span{border:2px solid var(--ink);background:var(--paper-bright);padding:8px 18px;transition:background .12s,color .12s;display:inline-block}.site-toggle label:first-child span{border-right-width:0;border-radius:3px 0 0 3px}.site-toggle label:last-child span{border-radius:0 3px 3px 0}.site-toggle input:checked+span{background:var(--ink);color:var(--paper)}.site-toggle input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}.input-row{gap:12px;max-width:520px;margin-top:14px;display:flex}.input-row input{min-width:0;font-family:var(--mono);border:2px solid var(--ink);background:var(--paper-bright);color:var(--ink);border-radius:3px;flex:1;padding:13px 16px;font-size:1rem}.input-row input::placeholder{color:color-mix(in srgb, var(--ink-soft) 70%, transparent)}.input-row button,.train-cta button,.upgrade-box .share-row button,.social-btn{font-family:var(--mono);border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;white-space:nowrap;border-radius:3px;padding:13px 22px;font-size:.92rem;font-weight:700;transition:background .12s,border-color .12s,transform 60ms}.input-row button:hover,.train-cta button:hover,.upgrade-box .share-row button:hover{background:var(--red);border-color:var(--red)}.input-row button:active,.train-cta button:active{transform:translateY(1px)}.input-row button:disabled{opacity:.5;cursor:wait}.social-btn{background:var(--paper-bright);width:100%;max-width:460px;color:var(--ink);margin:24px 0 10px;display:block}.social-btn:hover{background:var(--ink);color:var(--paper)}.form-error{font-family:var(--mono);color:var(--red);margin-top:14px;font-size:.85rem}.report{border-top:2px solid var(--ink);padding-top:36px}.report h2,.train-app h2{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--rule);margin:60px 0 18px;padding-top:22px;font-size:.72rem;font-weight:500}.player-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.player-id .name{letter-spacing:-.01em;font-size:2rem;font-weight:550;line-height:1.1}.player-id .meta{font-family:var(--mono);color:var(--ink-soft);margin-top:8px;font-size:.78rem}.sparkline{margin-top:14px}.sparkline path{fill:none;stroke:var(--ink);stroke-width:1.5px}.sparkline .spark-dot{fill:var(--red)}.stamp{font-family:var(--mono);color:var(--red);border:3px solid var(--red);box-shadow:inset 0 0 0 5px var(--paper), inset 0 0 0 6.5px var(--red);text-align:center;opacity:.92;-webkit-user-select:none;user-select:none;border-radius:8px;padding:14px 24px 15px;font-weight:700;animation:.4s cubic-bezier(.2,1.6,.35,1) both stamp-in;transform:rotate(-5deg)}@keyframes stamp-in{0%{opacity:0;transform:rotate(-16deg)scale(1.8)}to{opacity:.92;transform:rotate(-5deg)scale(1)}}.stamp .grade{font-size:3.1rem;line-height:1;display:block}.stamp .stamp-label{letter-spacing:.32em;text-transform:uppercase;margin-top:4px;font-size:.58rem;display:block}.finding{border-left:3px solid var(--red);background:var(--paper-bright);border-radius:0 4px 4px 0;margin-bottom:14px;padding:18px 22px 18px 60px;position:relative}.finding .glyph{font-family:var(--mono);color:var(--red);font-size:1.35rem;font-weight:700;position:absolute;top:17px;left:18px}.finding h3{letter-spacing:-.005em;font-size:1.18rem;font-weight:600;line-height:1.3}.finding p{color:var(--ink-soft);margin-top:8px;font-size:.98rem;line-height:1.6}table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:.8rem}th,td{text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap;padding:9px 12px 9px 0}th{color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.66rem;font-weight:500}td.num,td strong{font-variant-numeric:tabular-nums}.score-bad{color:var(--red);font-weight:700}.score-good{font-weight:700}.table-scroll{overflow-x:auto}.phase-row{font-family:var(--mono);grid-template-columns:110px 1fr 82px;align-items:center;gap:14px;margin-bottom:10px;font-size:.8rem;display:grid}.phase-track{background:var(--paper-bright);border:1px solid var(--rule);border-radius:2px;height:12px}.phase-fill{background:var(--red);border-radius:1px;height:100%}.progress-block{margin:40px 0}.eval-bar{border:2px solid var(--ink);background:var(--ink);border-radius:3px;height:20px;position:relative;overflow:hidden}.eval-fill{background:var(--paper-bright);width:0%;transition:width .4s;position:absolute;inset:0 auto 0 0}.progress-label{font-family:var(--mono);color:var(--ink-soft);margin-top:10px;font-size:.78rem}.share-row{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.share-row button{font-family:var(--mono);border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:3px;padding:10px 18px;font-size:.82rem;font-weight:500;transition:background .12s,color .12s}.share-row button:hover{background:var(--ink);color:var(--paper)}.train-app{padding-top:56px}.train-app h1,.auth-card h1{letter-spacing:-.01em;font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:500;line-height:1.08}.auth-card{max-width:480px;padding-top:40px}.auth-card .lede{margin-top:16px;font-size:1.05rem}.auth-card .input-row{margin-top:24px}.meta-line{font-family:var(--mono);color:var(--ink-soft);margin-top:10px;font-size:.78rem}.badge{border:1.5px solid var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;border-radius:3px;padding:1px 9px;font-size:.64rem;font-weight:500;display:inline-block}.badge-member{border-color:var(--ink);background:var(--ink);color:var(--paper);font-weight:700}.linklike{font:inherit;color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline;text-decoration-thickness:1px}.linklike:hover{color:var(--red)}.notice{font-family:var(--mono);border-left:3px solid var(--ink);background:var(--paper-bright);border-radius:0 4px 4px 0;margin:22px 0;padding:12px 16px;font-size:.85rem}.upgrade-box{border:2px solid var(--ink);background:var(--paper-bright);border-radius:4px;max-width:560px;margin:24px 0;padding:22px 24px}.upgrade-box p{font-size:1rem;line-height:1.6}.upgrade-box .share-row{margin-top:18px}.train-cta{border:2px solid var(--ink);background:var(--paper-bright);border-radius:4px;margin:32px 0;padding:24px 26px}.train-cta h3{font-size:1.35rem;font-weight:600}.train-cta p{color:var(--ink-soft);max-width:54ch;margin:10px 0 18px;font-size:1rem}.drill-card{grid-template-columns:minmax(280px,400px) 1fr;align-items:start;gap:32px;display:grid}.board{aspect-ratio:1;border:2px solid var(--ink);-webkit-user-select:none;user-select:none;border-radius:3px;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden}.sq{cursor:pointer;color:var(--ink);border:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:clamp(24px,5vw,36px);line-height:1;display:flex;position:relative}.sq-light{background:var(--paper-bright)}.sq-dark{background:color-mix(in srgb, var(--ink) 16%, var(--paper))}.sq-selected{outline:3px solid var(--red);outline-offset:-3px;z-index:1}.sq-target:after{content:"";background:color-mix(in srgb, var(--ink) 32%, transparent);border-radius:50%;width:24%;height:24%;position:absolute}.sq-wrong{background:color-mix(in srgb, var(--red) 32%, var(--paper))!important}.sq-correct{background:color-mix(in srgb, var(--ink) 26%, var(--paper))!important}.piece{pointer-events:none}.drill-prompt,.drill-ask{font-size:1.08rem;line-height:1.55}.drill-ask{margin-top:10px;font-weight:600}.drill-feedback{font-family:var(--mono);min-height:2.4em;color:var(--red);margin-top:16px;font-size:.9rem;font-weight:700}.footer{border-top:1px solid var(--rule);max-width:728px;color:var(--ink-soft);margin:0 auto;padding:26px 24px 56px;font-size:.92rem;font-style:italic;line-height:1.6}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=600px){.hero{padding-top:64px}.input-row{flex-direction:column}.player-head{flex-direction:column-reverse}.stamp{align-self:flex-end}.drill-card{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.eval-fill{transition:none}.stamp{animation:none}}@media (width<=480px){.masthead-note{display:none}}
