html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}body{touch-action:pan-x pan-y}
:root{--paper:#f6f3ec;--ink:#1f2328;--muted:#5c564c;--line:#d6cebd;--card:#fffdf8;--blue:#2563eb;--red:#f04e23;--green:#16a34a;--amber:#c2410c;--grid:#e4ded1;--grid-5:#d6cebd;--header:52px;--ad-a:100px;--bar:64px;--col:430px;--font-display:system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#15181c;--ink:#e8e4da;--muted:#b7b1a6;--line:#2c333b;--card:#1c2127;--blue:#4d86f5;--red:#ff6a3d;--green:#3ddc84;--amber:#ffb020;--grid:#23282e;--grid-5:#323a44;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);max-width:100%;margin:0;padding:0;overflow-x:clip}body{font-family:var(--font-body), sans-serif;min-height:100dvh;font-size:16px;font-weight:400;line-height:1.45}h1,h2,h3,.logo-word,.mode-card strong{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;font-weight:700}a{color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}.app{width:min(var(--col), 100%);min-height:100dvh;padding:0 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.top{height:var(--header);flex:0 0 var(--header);justify-content:space-between;align-items:center;gap:8px;display:flex}.top-side{align-items:center;min-width:0;display:flex}.logo-link{color:inherit;align-items:center;min-height:48px;text-decoration:none;display:inline-flex}.logo-word{font-size:22px;line-height:1}.logo-i{display:inline-block;position:relative}.logo-i:before{content:"";background:var(--red);width:.28em;height:.28em;position:absolute;top:.02em;left:50%;transform:translate(-50%)}.round-meta{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.seg{border:1.5px solid var(--ink);display:inline-flex}.seg button{background:var(--paper);min-width:36px;height:32px;color:var(--ink);font-family:var(--font-mono), monospace;letter-spacing:.04em;cursor:pointer;border:0;padding:0 8px;font-size:12px;font-weight:600}.seg button+button{border-left:1.5px solid var(--ink)}.seg button.on{background:var(--ink);color:var(--paper)}.kicker{font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.muted{color:var(--muted)}.hero h1{margin:0 0 2px;font-size:30px;line-height:1}.lede{margin:0;font-size:15px;line-height:1.25}.hero .muted{margin:0;font-size:14px;line-height:1.25}.stack{flex-direction:column;gap:6px;display:flex}.hero-art{pointer-events:none;height:160px;margin:0}.hero-art svg{width:100%;height:160px;display:block}.mode-card{background:var(--card);min-height:48px;color:inherit;border:1px solid var(--line);flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;display:flex}.mode-card.with-mark{flex-direction:row;align-items:center;gap:10px;padding:4px 10px}.mode-card.with-mark strong{font-size:18px;line-height:1.1}.mode-card.with-mark .mode-copy>span:last-child{font-size:13px;line-height:1.25}.mode-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mode-thumb{flex:0 0 56px;width:56px;height:56px}.mode-card strong{font-size:20px;line-height:1.1}h2{margin:28px 0 8px;font-size:26px}.steps{margin:0;padding-left:18px}.steps li{margin:8px 0}.faq details{border-top:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;align-items:center;min-height:48px;font-weight:600;display:flex}.banner{border:1px solid var(--line);margin:0 0 8px;padding:8px 10px;font-size:14px}.round{--chrome:calc(var(--header) + var(--ad-a) + 150px + 60px);flex-direction:column;display:flex}.round .ad-100{flex:0 0 var(--ad-a)}@media (max-height:561px){.round .ad-100{display:none}.round{--chrome:calc(var(--header) + 150px + 60px)}}.stage{flex-direction:column;display:flex}.gap-q{pointer-events:none;flex-direction:column;flex:0 0 150px;justify-content:center;gap:6px;height:150px;margin:0;display:flex;overflow:hidden}.round.revealed .gap-q{justify-content:flex-start;gap:2px;padding-top:2px}.gap-q h1{margin:0;font-size:22px;line-height:1.15}@media (max-width:360px){.gap-q h1{font-size:17px;line-height:1.2}}.ref-line{color:var(--muted);margin:0;font-size:14px;line-height:1.3}.board-slot{width:100%;height:clamp(200px, calc(100dvh - var(--chrome,400px)), 340px);touch-action:none;background:var(--paper);flex:none;position:relative}.bar{flex:0 0 60px;justify-content:space-between;align-items:center;gap:8px;height:60px;display:flex}.zoom{gap:6px;display:flex}.board{touch-action:none;width:100%;height:100%;display:block}.handle{touch-action:none;background:0 0;border:0;width:44px;height:44px;margin-top:-22px;margin-left:-22px;padding:0;position:absolute}.handle:after{content:"";background:var(--paper);border:2px solid var(--ink);width:12px;height:12px;position:absolute;top:16px;left:16px}.tool{border:1.5px solid var(--ink);background:var(--ink);width:48px;height:48px;color:var(--paper);font-family:var(--font-mono), monospace;cursor:pointer;font-size:20px;font-weight:600;line-height:1}.tool:disabled{opacity:.35;cursor:default}.stamp{z-index:2;border:2px solid var(--red);color:var(--red);font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;pointer-events:none;background:0 0;padding:3px 7px;font-size:16px;font-weight:600;line-height:1;animation:.25s cubic-bezier(.2,.8,.2,1) both stamp-in;position:absolute;top:12px;right:12px;transform:rotate(-8deg)}@keyframes stamp-in{0%{opacity:0;transform:rotate(-8deg)scale(.4)}to{opacity:1;transform:rotate(-8deg)scale(1)}}.callout{z-index:2;pointer-events:none;position:absolute}.callout i{background:var(--ink);position:absolute}.callout i:before,.callout i:after{content:"";background:var(--ink);position:absolute}.callout.axis-x{height:0}.callout.axis-x i{height:1.5px;top:0;left:0;right:0}.callout.axis-x i:before,.callout.axis-x i:after{width:1.5px;height:11px;top:-5px}.callout.axis-x i:before{left:0}.callout.axis-x i:after{right:0}.callout.axis-x span{bottom:8px}.callout.axis-x.below span{top:10px;bottom:auto}.ground-chip{height:0;left:8px;right:8px}.ground-chip span{top:0;left:50%;transform:translate(-50%)}.callout.axis-y{width:0}.callout.axis-y i{width:1.5px;top:0;bottom:0;left:0}.callout.axis-y i:before,.callout.axis-y i:after{width:11px;height:1.5px;left:-5px}.callout.axis-y i:before{top:0}.callout.axis-y i:after{bottom:0}.callout.axis-y span{top:50%;left:12px;transform:translateY(-50%)}.callout.axis-y.flip span{left:auto;right:12px}.callout span{color:#fff;font-family:var(--font-mono), monospace;white-space:nowrap;background:#1f2328;padding:3px 6px;font-size:14px;font-weight:600;line-height:1.2;position:absolute}.coach{min-height:1.3em;font-family:var(--font-body), sans-serif;color:var(--ink);opacity:1;align-items:flex-start;gap:8px;margin:0;font-size:15px;font-weight:600;line-height:1.3;transition:opacity .2s linear;display:flex}.coach.off{opacity:0}.coach i{background:var(--red);flex:0 0 8px;width:8px;height:8px;margin-top:6px}.demo-hand{z-index:4;pointer-events:none;transition:opacity .3s linear;position:absolute;inset:0;overflow:hidden}.demo-hand .trail{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.finger{width:48px;height:48px;position:absolute}.finger svg{display:block;overflow:hidden}.board.shake{animation:.28s linear board-shake}@keyframes board-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.result-lines{margin-top:auto;padding:0 0 2px}.result-lines p{white-space:normal;margin:0;font-size:13px;line-height:1.2;overflow:visible}.result-lines .you{color:var(--red);font-weight:600}.result-lines .true{color:var(--green);font-weight:600}.result-lines .note{font-family:var(--font-mono), monospace;font-size:14px;font-weight:600}.btn{pointer-events:auto;background:var(--ink);min-height:48px;color:var(--paper);border:1.5px solid var(--ink);font-family:var(--font-body), sans-serif;cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.4;cursor:default}.btn-ghost{background:var(--paper);color:var(--ink)}.fact{background:var(--card);border-left:3px solid var(--ink);margin:0;padding:12px 14px}.fact p{margin:6px 0 0}.fact a{font-weight:600}.ad{background:color-mix(in srgb, var(--ink) 4%, var(--paper));border:1px dashed var(--line);margin:12px 0;display:block;position:relative;overflow:hidden}.ad-100{height:var(--ad-a)}.ad-250{height:250px}.adbox{justify-content:center;align-items:center;height:100%;display:flex}.adl,.adph{font-family:var(--font-body), sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.adl{text-align:center;position:absolute;top:6px;left:0;right:0}.score-hero{padding:12px 0 8px}.big-score{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;margin:0;font-size:72px;font-weight:600;line-height:.9}.out-of,.comment,.compare,.countdown{margin:6px 0 0}.comment{font-size:18px}.meter{background:var(--line);height:8px;margin-top:12px}.meter span{background:var(--green);height:100%;transition:width 1s ease-out;display:block}.bars{flex-direction:column;gap:8px;margin:16px 0;padding:0;list-style:none;display:flex}.bars li{border:1px solid var(--line);background:var(--card);animation:.4s ease-out both bar-in}.bars li:nth-child(2){animation-delay:.12s}.bars li:nth-child(3){animation-delay:.24s}.bars li:nth-child(4){animation-delay:.36s}.bars li:nth-child(5){animation-delay:.48s}@keyframes bar-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bar-row{width:100%;min-height:48px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px 1fr 40px auto;align-items:center;gap:8px;padding:8px 0;display:grid}.ruler{background:var(--line);height:8px;display:block}.ruler i{background:var(--red);height:100%;display:block}.bar-row b{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;font-weight:600}.cells{letter-spacing:.5px;font-size:11px}.mini{background:var(--paper);border:1px solid var(--line);flex:0 0 96px;width:96px;height:72px;display:block}.round-recap{align-items:center;gap:12px;padding:10px;display:flex}.recap-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.recap-name{font-size:15px;font-weight:600;line-height:1.25}.recap-factor{font-family:var(--font-mono), monospace;font-size:14px;font-weight:600}.recap-factor[data-match]{color:var(--green)}.round-recap .ruler{height:8px;display:block}.round-recap b{font-family:var(--font-mono), monospace;text-align:right;min-width:2.4em;font-size:18px}.share-row{gap:8px;display:flex}.share-row .btn{flex:1}.countdown{font-family:var(--font-mono), monospace;font-weight:600}.foot{border-top:1px solid var(--line);margin-top:auto;padding-top:12px}.foot-nav{flex-wrap:wrap;gap:4px 14px;display:flex}.foot-nav a{min-height:44px;color:inherit;align-items:center;display:inline-flex}.foot p{color:var(--muted);margin:8px 0 0;font-size:13px}.prose h1{margin:12px 0;font-size:34px;line-height:1}.prose p,.prose li{font-size:16px;line-height:1.5}.prose a{font-weight:600}.source-list,.session-list{margin:0;padding:0;list-style:none}.source-list li,.session-list li,.day-row{border-top:1px solid var(--line);padding:12px 0}.source-list p,.day-row p{color:var(--muted);margin:4px 0 0;font-size:14px}.day-links{flex-wrap:wrap;gap:8px 14px;margin-top:6px;display:flex}.day-links a{align-items:center;min-height:44px;font-weight:600;display:inline-flex}.buckets{margin:12px 0;padding:0;list-style:none}.buckets li{min-height:32px;font-family:var(--font-mono), monospace;grid-template-columns:72px 1fr 24px;align-items:center;gap:8px;font-size:13px;font-weight:600;display:grid}.buckets span{background:var(--line);height:8px;display:block}.buckets i{background:var(--ink);height:100%;display:block}.sr{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card-shot{width:1080px;max-width:none;height:auto;margin-top:24px;display:block}@media (prefers-reduced-motion:reduce){.meter span,.bars li,.stamp,.board.shake,.coach,.demo-hand{transition:none;animation:none}}
