:root{--paper:#faf6ef;--paper-2:#f2ecdf;--card:#fffdf7;--ink:#1c1710;--ink-2:#4f4738;--ink-3:#6e6553;--line:#e4dbc8;--line-strong:#cfc4ab;--accent:#2743b0;--mark:#ffe45c;--good:#196f4d;--warn:#96660a;--bad:#b3324e;--lab-bg:#171310;--lab-ink:#f3ecdd;--lab-ink-2:#b5aa8f;--radius:14px;--max:1120px;--shadow-1:0 1px 2px #3a2f1a0f, 0 2px 8px #3a2f1a0f;--shadow-2:0 2px 4px #3a2f1a12, 0 12px 28px #3a2f1a1a;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-stamp:cubic-bezier(.34, 1.3, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.65}::selection{background:var(--mark);color:var(--ink)}h1,h2,h3{letter-spacing:-.015em;color:var(--ink);text-wrap:balance;font-family:Fraunces,Georgia,serif;font-weight:640;line-height:1.08}h1{font-size:clamp(2.3rem,5.6vw,3.9rem)}h2{margin-bottom:.55em;font-size:clamp(1.65rem,3.6vw,2.5rem)}h3{margin-bottom:.4em;font-size:1.2rem;line-height:1.25}p{color:var(--ink-2);text-wrap:pretty}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.num{font-variant-numeric:tabular-nums}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}section{padding:96px 0}@media (width<=700px){section{padding:64px 0}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:28px}.btn{background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;transition:transform .15s var(--ease-out), box-shadow .15s var(--ease-out);border-radius:10px;padding:15px 28px;font-size:1rem;font-weight:600;display:inline-block;text-decoration:none!important}.btn:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(0)scale(.98)}.btn.ghost{color:var(--ink);border:1px solid var(--line-strong);background:0 0}.btn.ghost:hover{border-color:var(--ink);box-shadow:none}.kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.74rem;font-weight:600}.grid{gap:20px;display:grid}@media (width>=760px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr 1fr 1fr}.grid.cols-4{grid-template-columns:repeat(4,1fr)}}.mark{background:linear-gradient(104deg, transparent 0.9%, var(--mark) 2.4%, var(--mark) 97.8%, transparent 99%);color:var(--ink);box-decoration-break:clone;border-radius:3px;margin:0 -.05em;padding:.05em .25em;font-weight:600}.gap-mark{border-bottom:2px dashed var(--bad);color:var(--bad);padding:.05em .15em;font-weight:600}.stamp{letter-spacing:.12em;text-transform:uppercase;border:2px solid;border-radius:6px;padding:5px 12px 4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;font-weight:600;display:inline-block;transform:rotate(-3deg)}.stamp.good{color:var(--good)}.stamp.warn{color:var(--warn)}.stamp.bad{color:var(--bad)}.chat{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-2);padding:22px}.chat .src{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;margin-bottom:6px;padding-bottom:10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;display:flex}.bubble{border-radius:12px;max-width:94%;margin:12px 0;padding:13px 16px;font-size:.95rem}.bubble.q{background:var(--ink);color:var(--paper);border-bottom-right-radius:4px;margin-left:auto}.bubble.a{background:var(--paper);border:1px solid var(--line);color:var(--ink-2);border-bottom-left-radius:4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.88rem;line-height:1.7}.bubble.a strong{color:var(--ink)}.scorebar{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;height:10px;overflow:hidden}.scorebar>i{transform-origin:0;border-radius:999px;height:100%;display:block}.footnote{color:var(--ink-3);font-size:.79rem}.reveal{opacity:0;transition:opacity .55s var(--ease-out), transform .55s var(--ease-out);transform:translateY(16px)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:80ms}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.scorebar.grow>i{transform:scaleX(0)}.scorebar.grow.in>i{transition:transform .7s var(--ease-out) .2s;transform:scaleX(1)}.stamp.thunk{opacity:0;transform:rotate(-3deg)scale(1.5)}.stamp.thunk.in{opacity:1;transition:opacity .2s ease-out, transform .26s var(--ease-stamp);transform:rotate(-3deg)scale(1)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.scorebar.grow>i,.stamp.thunk{opacity:1;transition:none;transform:none}.stamp.thunk{transform:rotate(-3deg)}.btn{transition:none}}header.site{z-index:50;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#faf6efeb;position:sticky;top:0}header.site .wrap{justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;display:flex}.logo{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;font-family:Fraunces,Georgia,serif;font-size:1.18rem;font-weight:700;text-decoration:none!important}@media (width<=420px){.logo{font-size:1.02rem}}.logo .qm{color:var(--accent);font-weight:700}.logo em{font-style:italic}nav.main{align-items:center;gap:22px;display:flex}nav.main a{color:var(--ink-2);font-size:.92rem;font-weight:600}nav.main a:hover{color:var(--ink);text-decoration:none}nav.main a.cta{color:var(--paper);background:var(--ink);border-radius:8px;padding:9px 18px}nav.main a.cta:hover{background:#000}@media (width<=560px){nav.main{gap:14px}nav.main a.hide-m{display:none}.logo{font-size:.94rem}}@media (width<=380px){.logo{font-size:.84rem}nav.main{gap:10px}nav.main a.cta{padding:9px 12px;font-size:.84rem}.wrap{padding:0 16px}}footer.site{border-top:1px solid var(--line);color:var(--ink-2);background:var(--paper-2);padding:40px 0 52px;font-size:.85rem}footer.site a{color:var(--ink-2)}
