@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/fredoka-hebrew-wght-normal.3s27ur73twbyi.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/fredoka-latin-ext-wght-normal.3o5zxxthojjrv.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:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/fredoka-latin-wght-normal.2_8zey5e0wa7e.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.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{--ink:#0f2531;--ink-soft:#4a6570;--ink-mute:#7f939b;--paper:#f6f1e8;--paper-deep:#e9e0cf;--cream:#fffbf3;--board:#fcf9f3;--coral:#f05a47;--coral-dark:#cf3f2e;--navy:#14384f;--lime:#d9ed73;--line:#0f25311a;--line-strong:#0f253133;--accent:#f05a47;--accent-soft:#ffd8ce;--accent-ink:#cf3f2e;--font-display:"Fredoka Variable", "Trebuchet MS", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--r-xl:30px;--r-lg:22px;--r-md:16px;--r-sm:11px;--pill:999px;--shadow-xs:0 1px 2px #0f25310d, 0 1px 1px #0f253108;--shadow-sm:0 2px 4px #0f25310a, 0 8px 20px -8px #0f253124;--shadow-md:0 1px 0 #ffffffb3 inset, 0 2px 6px #0f25310d, 0 24px 48px -24px #0f253147;--shadow-lg:0 1px 0 #fffc inset, 0 12px 30px -12px #0f253140, 0 50px 100px -40px #0f253173;--glow:0 10px 30px -10px color-mix(in srgb, var(--accent) 65%, transparent);--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.2, 1.4, .3, 1);--ease-pop:cubic-bezier(.2, 1.55, .3, 1)}.palette-yellow{--accent:#e9a70c;--accent-soft:#ffeab0;--accent-ink:#a87400}.palette-mint{--accent:#23a088;--accent-soft:#c2eede;--accent-ink:#187a67}.palette-blue{--accent:#3b82c4;--accent-soft:#cfe6fb;--accent-ink:#2b649a}.palette-violet{--accent:#7d66c3;--accent-soft:#e2d6ff;--accent-ink:#5d48a3}:root,.palette-coral{--accent-b:#3b82c4;--accent-b-soft:#cfe6fb;--accent-b-ink:#2b649a}.palette-yellow{--accent-b:#7d66c3;--accent-b-soft:#e2d6ff;--accent-b-ink:#5d48a3}.palette-mint{--accent-b:#f05a47;--accent-b-soft:#ffd8ce;--accent-b-ink:#cf3f2e}.palette-blue{--accent-b:#e9a70c;--accent-b-soft:#ffeab0;--accent-b-ink:#a87400}.palette-violet{--accent-b:#23a088;--accent-b-soft:#c2eede;--accent-b-ink:#187a67}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font-display);background:radial-gradient(60rem 34rem at 8% -10%, color-mix(in srgb, var(--accent-soft) 55%, transparent), transparent 60%), radial-gradient(36rem 26rem at 100% 12%, #d9ed7342, transparent 65%), var(--paper);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;margin:0}button,input,select{font:inherit}button{color:inherit}::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:3px}.game-shell{background:radial-gradient(60rem 36rem at 12% -8%, color-mix(in srgb, var(--accent-soft) 70%, transparent), transparent 60%), radial-gradient(38rem 30rem at 100% 22%, #d9ed7352, transparent 65%), radial-gradient(40rem 32rem at 55% 110%, color-mix(in srgb, var(--accent-soft) 35%, transparent), transparent 70%), var(--paper);min-height:100svh;transition:background .6s var(--ease-out);position:relative;overflow:hidden}.game-shell:before{content:"";pointer-events:none;opacity:.22;z-index:20;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");position:fixed;inset:0}.ambient-shape{pointer-events:none;z-index:0;border-radius:50%;position:absolute}.ambient-one{border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--accent-soft) 40%, transparent), transparent 70%);width:340px;height:340px;animation:18s ease-in-out infinite alternate drift;top:34%;left:-160px}.ambient-two{background:color-mix(in srgb, var(--accent) 12%, transparent);width:120px;height:120px;box-shadow:0 0 0 28px color-mix(in srgb, var(--accent-soft) 30%, transparent), 0 0 0 60px color-mix(in srgb, var(--accent-soft) 12%, transparent);animation:14s ease-in-out infinite alternate-reverse drift;top:118px;right:6vw}.site-header{z-index:3;width:min(1180px,100% - 48px);min-height:92px;animation:rise .6s var(--ease-out) both;justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:relative}.brand{cursor:pointer;border-radius:var(--r-md);transition:transform .25s var(--ease-spring);background:0 0;border:0;align-items:center;gap:13px;padding:6px;display:flex}.brand:hover{transform:translateY(-1px)}.brand:hover .brand-mark{filter:drop-shadow(4px 5px 0 color-mix(in srgb, var(--accent) 78%, transparent));transform:rotate(-5deg)scale(1.06)}.brand-mark{width:50px;height:50px;filter:drop-shadow(3px 4px 0 color-mix(in srgb, var(--accent) 72%, transparent));transition:transform .35s var(--ease-spring), filter .35s var(--ease-out);flex:none;display:block;transform:rotate(-2deg)}.brand-mark svg{width:100%;height:100%;display:block}.brand-copy{text-align:left;line-height:1;display:grid}.brand-copy strong{letter-spacing:.015em;font-size:21px;font-weight:650}.brand-copy strong em{color:var(--coral-dark);font-style:normal}.brand-copy small{font-family:var(--font-mono);letter-spacing:.22em;color:var(--ink-mute);margin-top:6px;font-size:9px}.desktop-nav{align-items:center;gap:4px;margin-left:auto;margin-right:22px;display:flex}.desktop-nav a{color:var(--ink-soft);border-radius:var(--pill);transition:background .2s var(--ease-out), color .2s var(--ease-out);padding:8px 13px;font-size:14px;font-weight:550;text-decoration:none}.desktop-nav a:hover{color:var(--ink);background:#fff9}.header-actions{align-items:center;gap:8px;display:flex}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.final-badge .icon{fill:currentColor}.icon-button{border:1px solid var(--line);cursor:pointer;width:42px;height:42px;color:var(--ink-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-xs);transition:transform .25s var(--ease-spring), background .2s, color .2s, border-color .2s;background:#ffffff8c;border-radius:50%;place-items:center;display:grid}.icon-button:hover{background:var(--cream);color:var(--ink);border-color:var(--line-strong);transform:translateY(-2px)}.icon-button:active{transform:translateY(0)scale(.96)}.announcement{z-index:2;border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--r-md);background:color-mix(in srgb, var(--accent-soft) 55%, #fff9);width:min(1520px,100% - 48px);color:var(--ink);animation:rise .5s var(--ease-out) both;align-items:center;gap:10px;margin:0 auto 14px;padding:10px 16px;font-size:13.5px;font-weight:550;display:flex;position:relative}.announcement .icon{width:16px;height:16px;color:var(--accent-ink);fill:currentColor;stroke:none;flex:none}.game-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;width:min(1520px,100% - 48px);margin:4px auto 0;display:grid;position:relative}.game-wrap{width:min(900px, 100%, max(600px, calc((100svh - var(--fold-chrome,372px)) * var(--board-ratio,840 / 510))));min-width:0;margin:0 auto}.game-sidebar{animation:rise .6s 50ms var(--ease-out) both;align-content:start;gap:10px;display:grid;position:sticky;top:12px}.side-block{border:1px solid var(--line);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-xs);background:#fffbf39e;gap:10px;padding:14px 14px 12px;display:grid}.side-title{font:600 9px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin:0}.side-note{color:var(--ink-mute);margin:0;font-size:12px;line-height:1.4}.live-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%;flex:none;animation:2.4s ease-in-out infinite blink}.side-link-button{color:var(--accent-ink);font:600 11px var(--font-mono);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}.side-link-button:hover{text-decoration:underline}.play-mode-tabs{border-radius:var(--pill);background:#0f253112;grid-template-columns:1fr 1fr;gap:3px;padding:4px;display:grid}.play-mode-tabs button{border-radius:var(--pill);min-height:34px;color:var(--ink-soft);cursor:pointer;transition:background .25s var(--ease-out), color .2s, box-shadow .25s;background:0 0;border:0;padding:0 12px;font-size:13px;font-weight:550}.play-mode-tabs button:hover{color:var(--ink)}.play-mode-tabs button.active{background:var(--cream);color:var(--ink);box-shadow:0 1px 2px #0f253114,0 4px 12px -4px #0f253138}.special-mode-chip{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--pill);background:color-mix(in srgb, var(--accent-soft) 60%, white);color:var(--accent-ink);font:600 10px var(--font-mono);letter-spacing:.1em;justify-self:start;padding:9px 14px}.category-select{border:1px solid var(--line-strong);background:var(--cream);border-radius:var(--pill);box-shadow:var(--shadow-xs);grid-template-columns:minmax(0,1fr) auto;align-items:center;transition:border-color .2s,box-shadow .2s;display:grid;overflow:hidden}.category-select:hover{border-color:var(--ink)}.category-select:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.category-select>span{font:600 9px var(--font-mono);color:var(--ink-mute);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;order:2;padding:0 14px 0 4px}.category-select select{min-width:0;min-height:40px;color:var(--ink);cursor:pointer;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230f2531' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 10px center no-repeat;border:0;outline:none;padding:0 28px 0 14px;font-weight:600}.side-date{background:var(--cream);border-color:color-mix(in srgb, var(--accent) 35%, transparent);gap:4px;padding:14px 16px}.side-date small{font:600 9px var(--font-mono);letter-spacing:.16em;color:var(--accent-ink);align-items:center;gap:8px;display:flex}.side-date strong{letter-spacing:-.01em;font-size:19px;font-weight:650;line-height:1.1}.format-tabs{grid-template-columns:1fr 1fr;gap:6px;display:grid}.format-tabs button{border:1px solid var(--line);border-radius:var(--r-sm);text-align:left;cursor:pointer;color:var(--ink-soft);background:#ffffff8c;gap:2px;padding:8px 10px;transition:border-color .2s,background .2s,color .2s,box-shadow .25s;display:grid}.format-tabs strong{font-size:13px;font-weight:650}.format-tabs small{font:600 8.5px var(--font-mono);letter-spacing:.04em;color:var(--ink-mute);white-space:nowrap}.format-tabs button:hover{color:var(--ink);border-color:var(--line-strong)}.format-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 6px 16px -8px #0f253199}.format-tabs button.active small{color:#ffffffb3}.pref-row{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:550;display:flex}.unit-switch{border:1px solid var(--line);border-radius:var(--pill);background:#0f25310d;flex:none;padding:3px;display:flex}.unit-switch button{border-radius:var(--pill);min-height:26px;color:var(--ink-soft);font:600 9px var(--font-mono);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;padding:0 10px;transition:background .2s,color .2s}.unit-switch button.active{background:var(--ink);color:#fff}.pref-toggle{border:1px solid var(--line);border-radius:var(--pill);color:var(--ink-soft);cursor:pointer;transition:background .25s var(--ease-out), color .2s;background:#0f25310d;align-items:center;gap:8px;padding:3px 4px 3px 8px;display:inline-flex}.pref-toggle .icon{width:16px;height:16px}.pref-toggle i{border-radius:var(--pill);width:30px;height:18px;transition:background .25s var(--ease-out);background:#0f25312e;position:relative}.pref-toggle i:after{content:"";width:14px;height:14px;transition:transform .25s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0f25314d}.pref-toggle.on{color:var(--ink)}.pref-toggle.on i{background:var(--accent)}.pref-toggle.on i:after{transform:translate(12px)}.side-stats{grid-template-columns:repeat(3,1fr);gap:4px;padding:10px 12px}.side-stats div{gap:3px;display:grid}.side-stats small{font:600 8px var(--font-mono);letter-spacing:.14em;color:var(--ink-mute)}.side-stats strong{font-variant-numeric:tabular-nums;font-size:18px;font-weight:650;line-height:1}.side-links{flex-wrap:wrap;gap:2px 4px;padding:0 6px;display:flex}.side-links a{color:var(--ink-mute);border-radius:var(--pill);padding:5px 8px;font-size:12px;font-weight:550;text-decoration:none;transition:color .2s,background .2s}.side-links a:hover{color:var(--ink);background:#ffffffb3}.mission-row{animation:rise .6s .1s var(--ease-out) both;justify-content:space-between;align-items:end;gap:24px;margin:0 4px 16px;display:flex}.eyebrow{font:600 11px/1.2 var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-mute);margin:0 0 8px}.eyebrow span{color:var(--accent-ink)}.mission-copy{min-width:0}.page-title{font-weight:600}.round-question{letter-spacing:-.03em;max-width:760px;margin:0;font-size:clamp(30px,4vw,46px);font-weight:650;line-height:.98}.round-meta{vertical-align:middle;border:1px solid var(--line);border-radius:var(--pill);font:500 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;background:#ffffff8c;margin-left:10px;padding:4px 9px;display:inline-block}.round-meta b{color:var(--accent-ink);font-weight:700}.score-cluster{border:1px solid var(--line);border-radius:var(--r-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-xs);background:#ffffff80;gap:4px;padding:6px;display:flex}.score-cluster>div{border-radius:var(--r-sm);gap:2px;min-width:104px;padding:8px 14px;display:grid}.score-cluster>div+div{border-left:1px solid var(--line);border-radius:0}.score-target strong{color:var(--accent-ink)}.score-cluster small{font:600 9px var(--font-mono);color:var(--ink-mute);letter-spacing:.16em}.score-cluster strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:26px;font-weight:650;line-height:1.1}.score-cluster em{color:var(--ink-mute);margin-left:2px;font-size:12px;font-style:normal}.progress-track{animation:rise .6s .15s var(--ease-out) both;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 4px 14px;display:grid}.progress-track span{background:#0f25311a;border-radius:9px;height:6px;position:relative;overflow:hidden}.progress-track span:after{content:"";border-radius:inherit;background:linear-gradient(90deg, var(--accent-ink), var(--accent));transform-origin:0;transition:transform .5s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.progress-track span.done:after,.progress-track span.current:after{transform:scaleX(1)}.progress-track span.current:after{animation:1.8s ease-in-out infinite pulse-track}.play-card{border-radius:var(--r-xl);background:var(--board);border:1px solid var(--line-strong);box-shadow:var(--shadow-md);animation:rise .5s 80ms var(--ease-out) both;position:relative;overflow:hidden}.game-board{aspect-ratio:840/510;background-color:var(--board);cursor:ew-resize;isolation:isolate;touch-action:pan-y;width:100%;height:auto;position:relative;overflow:hidden;container-type:inline-size}.game-board:focus-visible{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent);outline:none}.game-board.is-resizing{cursor:ew-resize}.game-board:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(#14384f16 1px,#0000 1px),linear-gradient(90deg,#14384f16 1px,#0000 1px),linear-gradient(#14384f0a 1px,#0000 1px),linear-gradient(90deg,#14384f0a 1px,#0000 1px);background-size:7.14286cqw 7.14286cqw,7.14286cqw 7.14286cqw,3.57143cqw 3.57143cqw,3.57143cqw 3.57143cqw;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 90% at 50% 45%,#000 55%,#00000059);mask-image:radial-gradient(120% 90% at 50% 45%,#000 55%,#00000059)}.game-board:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(70% 60% at 50% 80%, color-mix(in srgb, var(--accent-soft) 26%, transparent), transparent 70%);transition:background .6s var(--ease-out);position:absolute;inset:0}.game-board.revealed{cursor:default}.comparison-divider{z-index:3;pointer-events:none;background:repeating-linear-gradient(#14384f59 0 4px,#0000 4px 8px);width:1px;position:absolute;bottom:0}.measurement-line{z-index:1;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent) 12%, color-mix(in srgb, var(--accent) 55%, transparent) 88%, transparent);height:2px;box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 16%, transparent);position:absolute;top:84%;left:0;right:0}.reference-object,.target-object,.actual-object{color:var(--navy);transform-origin:0 100%;position:absolute;top:84%;transform:translateY(-100%)}.reference-object{z-index:4;pointer-events:auto;cursor:default;touch-action:pan-y;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 12px 14px #14384f24)}.target-object{color:var(--accent);z-index:6;cursor:nesw-resize;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 14px 18px color-mix(in srgb, var(--accent) 30%, transparent));transition:filter .3s var(--ease-out)}.is-resizing .target-object{filter:drop-shadow(0 22px 26px color-mix(in srgb, var(--accent) 40%, transparent))}.target-object:before{content:"";z-index:1;position:absolute;inset:0}.target-object:active{cursor:nesw-resize}.reference-object svg,.target-object svg,.actual-object svg{fill:currentColor;width:100%;height:100%;display:block;overflow:visible}.object-photo{object-fit:fill;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:6px;width:100%;height:100%;display:block}.reference-object .object-photo{outline:2px solid color-mix(in srgb, var(--navy) 55%, transparent);outline-offset:2px}.target-object .object-photo{outline:3px solid var(--accent);outline-offset:3px}.target-object.slot-b .object-photo{outline-color:var(--accent-b)}.revealed .target-object .object-photo{opacity:.28;outline-style:dotted}.actual-object .object-photo{opacity:.55;outline:3px dashed var(--accent);outline-offset:3px}.actual-object.slot-b .object-photo{outline-color:var(--accent-b)}.round-card-objects img{object-fit:contain;width:100%;max-height:150px;display:block}.silhouette-cut{fill:var(--board)!important;stroke:none!important}.silhouette-line{stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;fill:none!important;stroke:var(--board)!important}.revealed .target-object{color:color-mix(in srgb, var(--accent) 16%, var(--board));filter:none}.target-object.slot-b{color:var(--accent-b);filter:drop-shadow(0 14px 18px color-mix(in srgb, var(--accent-b) 30%, transparent))}.revealed .target-object.slot-b{color:color-mix(in srgb, var(--accent-b) 16%, var(--board));filter:none}.actual-object.slot-b{color:var(--accent-b);filter:drop-shadow(0 0 12px color-mix(in srgb, var(--accent-b) 30%, transparent))}.target-object.is-idle{opacity:.62;filter:none}.target-object.is-idle .resize-handle,.target-object.is-idle .target-measure{opacity:0}.target-object.is-active{z-index:7}.target-object.slot-b .resize-handle{color:var(--accent-b-ink);border-color:color-mix(in srgb, var(--accent-b) 55%, transparent);box-shadow:0 4px 12px -2px color-mix(in srgb, var(--accent-b) 35%, transparent)}.target-object.slot-b .target-measure,.target-object.slot-b .target-measure em{color:var(--accent-b-ink);border-color:color-mix(in srgb, var(--accent-b) 45%, transparent)}.slot-badge{z-index:5;background:var(--accent);color:#fff;width:22px;height:22px;font:700 10px var(--font-mono);box-shadow:0 2px 0 var(--board), 0 6px 14px -6px #0f253180;transition:transform .25s var(--ease-spring), opacity .2s;border-radius:50%;place-items:center;display:grid;position:absolute;top:-10px;left:-10px}.target-object.slot-b .slot-badge{background:var(--accent-b)}.target-object.is-active .slot-badge{transform:scale(1.15)}.revealed .slot-badge{opacity:.9}.partner-divider{background:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--accent-b) 55%, transparent) 0 4px, transparent 4px 8px)}.game-board.expert .target-object.is-idle .target-measure{opacity:0}.object-tag{z-index:3;white-space:nowrap;font:600 9px var(--font-mono);letter-spacing:.04em;border-radius:6px;padding:3px 7px;position:absolute;bottom:-26px;left:50%;transform:translate(-50%)}.reference-tag{display:none}.target-tag{color:var(--accent-ink);background:#fcf9f3cc}.actual-tag{background:var(--ink);color:#fff;top:-30px;bottom:auto;box-shadow:0 6px 14px -6px #0f253199}.measure-bracket{border-color:var(--navy);opacity:.32;position:absolute}.measure-bracket.height{border-top:1px solid;border-bottom:1px solid;border-right:1px dashed;width:8px;height:100%;top:0;right:-13px}.measure-bracket.width{border-bottom:1px dashed;border-left:1px solid;border-right:1px solid;width:100%;height:8px;bottom:-11px;left:0}.resize-handle{z-index:4;border:1.5px solid color-mix(in srgb, var(--accent) 55%, transparent);width:32px;height:32px;color:var(--accent-ink);cursor:nesw-resize;box-shadow:0 4px 12px -2px color-mix(in srgb, var(--accent) 35%, transparent);touch-action:none;transition:transform .25s var(--ease-spring), box-shadow .25s;background:#fffbf3f5;border-radius:50%;place-items:center;font:800 17px/1 sans-serif;display:grid;position:absolute;top:-12px;right:-16px}.target-object:hover .resize-handle,.is-resizing .resize-handle{box-shadow:0 6px 18px -2px color-mix(in srgb, var(--accent) 50%, transparent);transform:scale(1.1)}.target-measure{z-index:3;pointer-events:none;color:var(--accent-ink);opacity:.85;position:absolute}.target-measure em{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent-ink);white-space:nowrap;font:650 9px var(--font-mono);background:#fffbf3f5;border-radius:6px;padding:5px 8px;font-style:normal;position:absolute;box-shadow:0 3px 10px -2px #0f25311f}.target-measure.height{border-top:1px solid;border-bottom:1px solid;border-right:1px solid;width:10px;height:100%;top:0;right:-22px}.target-measure.height em{top:-28px;left:8px}.target-measure.width{border-top:1px solid;border-left:1px solid;border-right:1px solid;width:100%;height:10px;top:-18px;left:0}.target-measure.width em{bottom:12px;right:-1px}.board-reference-card{z-index:9;border:1px solid var(--line);border-radius:var(--pill);min-height:40px;color:var(--ink);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#fffbf3e6;align-items:center;gap:10px;padding:0 14px 0 12px;display:flex;position:absolute;top:14px;left:14px}.board-reference-card i{background:var(--navy);border-radius:3px;flex:none;width:10px;height:10px}.board-reference-card strong{text-overflow:ellipsis;white-space:nowrap;max-width:210px;font-size:12px;font-weight:600;overflow:hidden}.board-reference-card span{white-space:nowrap;font:550 10px var(--font-mono);color:var(--ink-mute)}.revealed .board-reference-card{visibility:hidden}.round-score-burst{z-index:9;animation:score-pop .6s var(--ease-pop);grid-template-columns:auto auto auto;align-items:end;column-gap:5px;display:grid;position:absolute;top:18px;left:22px}.round-score-burst>span{font:600 9px var(--font-mono);letter-spacing:.16em;color:var(--ink-mute);grid-column:1/4}.round-score-burst>strong{color:var(--accent);letter-spacing:-.05em;text-shadow:0 2px 0 var(--board), 0 12px 30px color-mix(in srgb, var(--accent) 35%, transparent);padding-right:.06em;font-size:66px;font-weight:700;line-height:.85}.round-score-burst>small{color:var(--ink-mute);font:600 11px var(--font-mono);margin-bottom:4px}.rolling-score{font-variant-numeric:tabular-nums;vertical-align:-.04em;justify-content:center;min-width:.6ch;line-height:1;display:inline-flex;overflow:visible clip}.rolling-score>span{filter:blur();display:block;transform:translateY(0)}.rolling-score.is-rolling>span{animation:.82s cubic-bezier(.22,1,.36,1) both score-reel}.confetti{z-index:8;position:absolute;top:25%;left:50%}.confetti i{--angle:calc(var(--i) * 22.5deg);background:hsl(calc(var(--i) * 32), 75%, 55%);width:8px;height:14px;transform:rotate(var(--angle)) translateY(0);animation:confetti .9s calc(var(--i) * 12ms) ease-out forwards;border-radius:3px;position:absolute}.zoom-tools{z-index:10;border:1px solid var(--line);border-radius:var(--r-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-xs);background:#fffbf3d9;gap:4px;padding:4px;display:grid;position:absolute;top:14px;right:14px}.zoom-tools button{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;transition:background .2s,color .2s;display:grid}.zoom-tools button:hover{background:var(--ink);color:#fff}.zoom-tools button:disabled{opacity:.3;cursor:not-allowed;color:var(--ink-soft);background:0 0}.zoom-tools .icon{width:17px}.scale-ruler{z-index:2;border-top:1px solid var(--line-strong);height:16%;color:var(--ink-soft);pointer-events:none;background:linear-gradient(#fffbf3eb,#f6f1e8f5);position:absolute;bottom:0;left:0;right:0}.ruler-ticks{left:var(--ruler-start);right:var(--ruler-end);height:14px;position:absolute;top:0}.ruler-ticks i{background:#0f253152;width:1px;height:7px;display:block;position:absolute;top:0;transform:translate(-.5px)}.ruler-ticks i.major{background:#0f253199;width:2px;height:14px;transform:translate(-1px)}.ruler-labels{left:var(--ruler-start);right:var(--ruler-end);height:14px;position:absolute;top:19px}.ruler-labels span{font:600 10px var(--font-mono);white-space:nowrap;color:var(--ink-soft);position:absolute;top:0;transform:translate(-50%)}.ruler-labels span.first{transform:none}.ruler-marker{left:var(--marker-position);background:var(--accent);width:2px;height:100%;position:absolute;top:0;transform:translate(-1px);box-shadow:0 0 0 1px #ffffffb3}.ruler-marker b{color:#fff;background:var(--accent);font:700 8px var(--font-mono);white-space:nowrap;letter-spacing:.06em;border-radius:4px;padding:3px 6px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.ruler-marker span{background:var(--accent);border-radius:3px 3px 0 0;width:14px;height:7px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.ruler-marker.actual-marker{left:var(--actual-marker-position);background:var(--ink);z-index:2}.ruler-marker.actual-marker b{background:var(--ink);top:17px;bottom:auto}.ruler-marker.actual-marker span{background:var(--ink)}.scale-ruler.values-hidden{height:10%}.scale-ruler.values-hidden .ruler-ticks{opacity:.68}.ruler-step-controls{z-index:8;border:1px solid var(--line);border-radius:var(--pill);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffbf3eb;gap:2px;padding:3px;display:flex;position:absolute;bottom:8%;transform:translate(-50%,50%)}.ruler-step-controls button{border-radius:var(--pill);width:40px;height:34px;color:var(--ink);font:600 20px/1 var(--font-mono);cursor:pointer;pointer-events:auto;transition:background .2s, color .2s, transform .2s var(--ease-spring);background:0 0;border:0;place-items:center;display:grid}.ruler-step-controls button:hover{background:var(--ink);color:#fff}.ruler-step-controls button:active{transform:scale(.94)}.actual-object{color:var(--accent);z-index:7;pointer-events:none;animation:true-reveal .6s var(--ease-spring);filter:drop-shadow(0 0 12px color-mix(in srgb, var(--accent) 30%, transparent))}.actual-object svg{stroke:currentColor;stroke-width:3.5px;vector-effect:non-scaling-stroke;paint-order:stroke;fill:#0000!important}.interaction-dock{border-top:1px solid var(--line-strong);background:linear-gradient(180deg, #fffbf3e6, var(--cream));grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 14px 14px 22px;display:grid}.interaction-copy{flex-direction:column-reverse;gap:5px;min-width:0;display:flex}.interaction-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.interaction-copy span{color:var(--ink-mute);font:600 9px/1.4 var(--font-mono);letter-spacing:.12em}.interaction-dock.is-duo{grid-template-columns:minmax(0,1fr) auto auto}.slot-chips{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;min-width:0;display:grid}.slot-chip{border:1px solid var(--line);border-radius:var(--r-md);text-align:left;cursor:pointer;min-width:0;transition:border-color .2s, background .2s, transform .25s var(--ease-spring), box-shadow .25s;background:#ffffff8c;align-items:center;gap:10px;padding:7px 12px 7px 8px;display:flex}.slot-chip i{background:var(--accent);color:#fff;width:24px;height:24px;font:700 10px var(--font-mono);border-radius:50%;flex:none;place-items:center;font-style:normal;display:grid}.slot-chip.slot-b i{background:var(--accent-b)}.slot-chip span{gap:2px;min-width:0;display:grid}.slot-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.slot-chip small{font:600 9px var(--font-mono);letter-spacing:.06em;color:var(--ink-mute);white-space:nowrap}.slot-chip:hover{background:var(--cream);border-color:var(--line-strong)}.slot-chip.active{background:var(--cream);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), var(--shadow-sm)}.slot-chip.slot-b.active{border-color:var(--accent-b);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-b) 18%, transparent), var(--shadow-sm)}.slot-chip.active small{color:var(--accent-ink)}.slot-chip.slot-b.active small{color:var(--accent-b-ink)}.slot-hint{font:600 8.5px var(--font-mono);letter-spacing:.1em;color:var(--ink-mute);grid-column:1/3}.difficulty-switch{border:1px solid var(--line);border-radius:var(--pill);background:#0f25310d;padding:3px;display:flex}.difficulty-switch button{border-radius:var(--pill);min-height:32px;color:var(--ink-soft);cursor:pointer;transition:background .25s var(--ease-out), color .2s, box-shadow .25s;background:0 0;border:0;padding:0 13px;font-size:12.5px;font-weight:600}.difficulty-switch button:hover{color:var(--ink)}.difficulty-switch button.active{background:var(--ink);color:#fff;box-shadow:0 4px 12px -5px #0f253199}.expert-badge{z-index:9;border-radius:var(--pill);background:var(--ink);color:#fff;font:700 8px var(--font-mono);letter-spacing:.18em;pointer-events:none;animation:rise .35s var(--ease-out);padding:5px 9px;position:absolute;top:98px;right:14px}.lock-button{border-radius:var(--pill);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 92%, white), var(--accent-ink));color:#fff;cursor:pointer;min-height:54px;box-shadow:0 1px 0 #ffffff4d inset, var(--glow);transition:transform .25s var(--ease-spring), box-shadow .25s var(--ease-out), filter .2s;border:0;grid-template-columns:auto auto auto;align-items:center;gap:10px;padding:0 14px 0 20px;display:inline-grid}.lock-button:hover{box-shadow:0 1px 0 #ffffff4d inset, 0 16px 34px -12px color-mix(in srgb, var(--accent) 80%, transparent);filter:saturate(1.08);transform:translateY(-2px)}.lock-button:active{transform:translateY(0)scale(.98)}.lock-button span{letter-spacing:.04em;font-size:15px;font-weight:650}.lock-button kbd{font:600 9px var(--font-mono);color:#fffc;background:#0000001f;border:1px solid #ffffff59;border-radius:6px;padding:5px 7px}.reveal-panel{border-top:1px solid var(--line-strong);background:linear-gradient(180deg, #fffbf3e6, var(--cream));min-height:108px;animation:fade-in .4s var(--ease-out);grid-template-columns:76px 1fr auto;align-items:center;gap:20px;padding:16px 16px 16px 20px;display:grid}.accuracy-meter{background:conic-gradient(var(--accent) var(--score), #0f253114 0);width:72px;height:72px;box-shadow:0 8px 20px -10px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:50%;place-items:center;display:grid;position:relative}.accuracy-meter:before{content:"";background:var(--cream);border-radius:50%;position:absolute;inset:7px}.accuracy-meter>span{text-align:center;line-height:1;display:grid;position:relative}.accuracy-meter strong{font-size:23px;font-weight:700}.accuracy-meter small{font:600 8px var(--font-mono);color:var(--ink-mute);letter-spacing:.1em}.reveal-copy{min-width:0}.reveal-panel.is-duo{grid-template-columns:76px minmax(0,1fr) auto}.slot-results{gap:6px;margin-bottom:8px;display:flex}.slot-result{border:1px solid var(--line);border-radius:var(--pill);color:var(--ink-soft);cursor:pointer;background:#ffffff8c;align-items:center;gap:7px;padding:4px 10px 4px 5px;font-size:12px;font-weight:550;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.slot-result i{background:var(--accent);color:#fff;width:18px;height:18px;font:700 9px var(--font-mono);border-radius:50%;place-items:center;font-style:normal;display:grid}.slot-result.slot-b i{background:var(--accent-b)}.slot-result b{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.slot-result.active{background:var(--cream);border-color:var(--accent);color:var(--ink)}.slot-result.slot-b.active{border-color:var(--accent-b)}.result-label{font:600 9px var(--font-mono);color:var(--accent-ink);letter-spacing:.16em;display:inline-block}.reveal-title{letter-spacing:-.01em;margin:4px 0;font-size:20px;font-weight:650}.reveal-title strong{color:var(--accent-ink)}.reveal-copy p{color:var(--ink-soft);max-width:560px;margin:0;font-size:13px;line-height:1.5}.reveal-copy p b{color:var(--ink)}.reveal-copy a{color:var(--accent-ink);white-space:nowrap;border-bottom:1px solid color-mix(in srgb, var(--accent) 40%, transparent);font-weight:650;text-decoration:none}.reveal-copy a:hover{border-bottom-color:var(--accent-ink)}.primary-button,.secondary-button{border-radius:var(--pill);cursor:pointer;letter-spacing:.01em;min-height:48px;transition:transform .25s var(--ease-spring), background .2s var(--ease-out), color .2s, box-shadow .25s var(--ease-out), border-color .2s;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:0 22px;font-size:14px;font-weight:650;display:inline-flex}.primary-button{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 92%, white), var(--accent-ink));color:#fff;box-shadow:0 1px 0 #ffffff4d inset, var(--glow)}.primary-button:hover{box-shadow:0 1px 0 #ffffff4d inset, 0 16px 34px -12px color-mix(in srgb, var(--accent) 80%, transparent);transform:translateY(-2px)}.secondary-button{background:var(--cream);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.secondary-button:hover{border-color:var(--ink);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.primary-button:active,.secondary-button:active{transform:translateY(0)scale(.98)}.primary-button .icon,.secondary-button .icon{width:18px}.secondary-button.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.secondary-button.dark:hover{background:#1b3f55}.primary-button.full{width:100%}.tiny-stats{color:var(--ink-mute);font:600 9px var(--font-mono);letter-spacing:.1em;animation:rise .6s .25s var(--ease-out) both;justify-content:center;align-items:center;gap:14px;margin:18px 4px 0;display:flex}.tiny-stats i{background:var(--accent);border-radius:50%;width:3px;height:3px}.tiny-stats b{color:var(--ink)}.tiny-stats button{color:inherit;cursor:pointer;border-radius:var(--pill);background:0 0;border:0;align-items:center;gap:5px;padding:4px 8px;transition:color .2s,background .2s;display:flex}.tiny-stats button:hover{color:var(--accent-ink);background:#fff9}.tiny-stats .icon{width:13px;height:13px}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);animation:fade-in .3s var(--ease-out);background:#0f253180;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.help-modal,.final-modal{background:var(--cream);border-radius:var(--r-xl);width:min(520px,100%);max-height:calc(100svh - 40px);box-shadow:var(--shadow-lg);animation:modal-in .5s var(--ease-spring);border:1px solid #fff9;padding:36px;position:relative;overflow:auto}.modal-close{z-index:2;border:1px solid var(--line);width:38px;height:38px;color:var(--ink-soft);cursor:pointer;transition:transform .25s var(--ease-spring), background .2s, color .2s;background:#fffc;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--ink);color:#fff;transform:rotate(90deg)}.modal-title{letter-spacing:-.03em;margin:8px 0 12px;font-size:34px;font-weight:650;line-height:1}.modal-lede{color:var(--ink-soft);margin:0 0 22px;line-height:1.55}.help-modal ol{gap:8px;margin:0 0 24px;padding:0;list-style:none;display:grid}.help-modal li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);transition:transform .25s var(--ease-out), border-color .2s;grid-template-columns:40px 1fr;gap:12px;padding:14px 16px;display:grid}.help-modal li:hover{border-color:color-mix(in srgb, var(--accent) 40%, transparent);transform:translate(4px)}.help-modal li>span{color:var(--accent-ink);font:600 12px var(--font-mono);padding-top:2px}.help-modal li strong{font-size:15px;font-weight:650}.help-modal li p{color:var(--ink-soft);margin:3px 0 0;font-size:12.5px;line-height:1.45}.round-result-backdrop{background:#0f25318f}.round-result-modal{background:var(--cream);border-radius:var(--r-xl);width:min(680px,100%);max-height:calc(100svh - 34px);box-shadow:var(--shadow-lg);animation:modal-in .45s var(--ease-spring);border:1px solid #fff9;position:relative;overflow:auto}.round-result-heading{border-bottom:1px solid var(--line);grid-template-columns:auto auto 1fr;align-items:end;gap:6px;padding:26px 28px 20px;display:grid}.round-result-heading strong{color:var(--accent);letter-spacing:-.05em;font-size:60px;font-weight:700;line-height:.8}.round-result-heading>span{color:var(--ink-mute);font:600 11px var(--font-mono);margin-bottom:3px}.round-result-heading p{color:var(--ink-soft);font:550 11px/1.55 var(--font-mono);align-self:center;margin:0 44px 0 18px}.round-result-body{grid-template-columns:1.05fr .95fr;display:grid}.round-card-preview{border-right:1px solid var(--line);background-color:var(--accent);background-image:radial-gradient(120% 80% at 100% 0,#ffffff38,#0000 55%),linear-gradient(#0f253124 1px,#0000 1px),linear-gradient(90deg,#0f253124 1px,#0000 1px);background-size:100% 100%,28px 28px,28px 28px;grid-template-rows:auto 1fr;min-height:250px;padding:18px;display:grid}.round-card-preview>div:first-child{color:#fff;grid-template-columns:1fr auto;align-items:start;display:grid}.round-card-preview>div:first-child span{font:700 11px var(--font-mono);letter-spacing:.14em}.round-card-preview>div:first-child b{color:var(--ink);letter-spacing:-.04em;grid-area:1/2/3;font-size:56px;font-weight:700;line-height:.8}.round-card-preview>div:first-child small{font:600 9px var(--font-mono);opacity:.9}.round-card-objects{border-bottom:2px solid var(--ink);justify-content:center;align-items:flex-end;gap:10px;min-height:155px;padding-top:15px;display:flex}.round-card-objects>span{width:38%;max-height:150px;color:var(--ink)}.round-card-objects>span:last-child{color:#fff;width:48%}.round-card-objects.is-duo>span{width:30%}.round-card-objects.is-duo>span:not(:first-child){color:#fff}.round-card-objects.is-duo>span:last-child{color:#ffffffb8;width:30%}.round-card-objects svg{fill:currentColor;width:100%;max-height:150px;display:block}.round-share-actions{align-content:start;gap:9px;padding:22px;display:grid}.share-title{letter-spacing:-.01em;margin:0 0 8px;font-size:20px;font-weight:650;line-height:1.1}.round-share-actions button{width:100%;min-height:44px}.round-next-button{border:0;border-top:1px solid var(--line);background:var(--ink);color:#fff;width:100%;min-height:60px;font:700 13px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s var(--ease-out), letter-spacing .25s var(--ease-out)}.round-next-button:hover{background:var(--accent-ink);letter-spacing:.2em}.final-backdrop{background:#0a1c26a8}.final-modal{text-align:center;overscroll-behavior:contain;padding:44px 40px 36px;overflow:hidden auto}.final-rays{background:repeating-conic-gradient(from 0deg, var(--accent-soft) 0 8deg, transparent 8deg 17deg);opacity:.6;border-radius:50%;width:480px;height:480px;animation:60s linear infinite spin;position:absolute;top:-300px;left:50%;transform:translate(-50%);-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 70%);mask-image:radial-gradient(circle,#000 30%,#0000 70%)}.final-badge{background:linear-gradient(145deg, var(--accent), var(--accent-ink));color:#fff;width:60px;height:60px;box-shadow:6px 6px 0 var(--accent-soft), 0 14px 30px -12px color-mix(in srgb, var(--accent) 70%, transparent);animation:score-pop .7s var(--ease-pop);border-radius:50% 50% 50% 15px;place-items:center;margin:0 auto 16px;display:grid;position:relative;transform:rotate(-7deg)}.final-badge .icon{stroke:none;width:27px;height:27px}.final-modal .modal-title{margin-bottom:6px;position:relative}.final-score{justify-content:center;align-items:end;gap:8px;display:flex;position:relative}.final-score strong{letter-spacing:-.05em;color:var(--accent);font-size:72px;font-weight:700;line-height:.9}.final-score>span{font:600 12px var(--font-mono);color:var(--ink-mute);margin-bottom:8px}.star-row{letter-spacing:7px;color:var(--paper-deep);margin:16px 0 8px;font-size:24px;position:relative}.star-row .earned{color:#e9a70c;text-shadow:0 2px #b57c00;animation:star-in .5s var(--ease-pop) both}.star-row .earned:nth-child(2){animation-delay:.1s}.star-row .earned:nth-child(3){animation-delay:.2s}.final-modal>p{color:var(--ink-soft);position:relative}.result-blocks{grid-template-columns:repeat(5,1fr);gap:6px;margin:22px 0;display:grid;position:relative}.result-blocks span{border-radius:var(--r-sm);color:#fff;font:600 13px var(--font-mono);animation:rise .5s var(--ease-out) both;padding:12px 4px;box-shadow:inset 0 1px #ffffff40}.result-blocks span:nth-child(2){animation-delay:60ms}.result-blocks span:nth-child(3){animation-delay:.12s}.result-blocks span:nth-child(4){animation-delay:.18s}.result-blocks span:nth-child(5){animation-delay:.24s}.result-blocks .great{background:linear-gradient(#2fa287,#237a66)}.result-blocks .good{background:linear-gradient(#e0a71e,#b7830d)}.result-blocks .okay{background:linear-gradient(#e3763f,#c05a2b)}.result-blocks .miss{background:linear-gradient(#c45048,#a13a33)}.final-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid;position:relative}.final-actions.three{grid-template-columns:1fr 1fr 1fr}.final-actions.three button{padding:0 11px;font-size:12.5px}.final-modal>small{color:var(--ink-mute);font:600 9px var(--font-mono);letter-spacing:.08em;margin-top:18px;display:block;position:relative}.challenge-result{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--pill);background:color-mix(in srgb, var(--accent-soft) 50%, transparent);width:max-content;font:600 10px var(--font-mono);padding:8px 14px;color:var(--ink)!important;margin:10px auto 0!important}.worst-round{font-size:13px;margin:10px 0 20px!important}.worst-round strong{color:var(--accent-ink)}@keyframes pulse-track{50%{opacity:.5}}@keyframes blink{50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--accent) 8%, transparent)}}@keyframes drift{to{transform:translate(24px,-18px)}}@keyframes spin{to{transform:translate(-50%)rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes score-pop{0%{opacity:0;transform:translateY(10px)scale(.7)}}@keyframes star-in{0%{opacity:0;transform:scale(.3)rotate(-30deg)}}@keyframes score-reel{0%{opacity:.15;filter:blur(5px);transform:translateY(.7em)}52%{opacity:1;filter:blur();transform:translateY(-.07em)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes confetti{to{transform:rotate(var(--angle)) translateY(-150px) rotate(210deg);opacity:0}}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(24px)scale(.94)}}@keyframes true-reveal{0%{opacity:0;transform:translateY(-100%)scale(.55)}}.seo-section{width:min(1060px,100% - 40px);color:var(--ink);margin:0 auto;padding:110px 0;position:relative}.seo-section+.seo-section{border-top:1px solid var(--line)}.seo-kicker{color:var(--accent-ink);font:600 10px var(--font-mono);letter-spacing:.2em;align-items:center;gap:10px;margin:0 0 16px;display:flex}.seo-kicker:before{content:"";background:var(--accent);border-radius:2px;width:22px;height:2px}.seo-heading-row{grid-template-columns:1.15fr .85fr;align-items:end;gap:70px;display:grid}.seo-heading-row h2,.faq-section h2{letter-spacing:-.045em;margin:0;font-size:clamp(38px,6vw,72px);font-weight:650;line-height:.94}.seo-heading-row h2 em{color:var(--accent);background:linear-gradient(90deg, var(--accent), var(--accent-ink));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal}.seo-heading-row>p,.seo-heading-row>div+p{max-width:460px;color:var(--ink-soft);margin:0;font-size:17px;line-height:1.55}.steps-grid{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:56px;display:grid}.steps-grid article{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);min-height:230px;box-shadow:var(--shadow-xs);transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .3s;flex-direction:column;padding:28px;display:flex;position:relative;overflow:hidden}.steps-grid article:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-soft));transform-origin:0;height:4px;transition:transform .45s var(--ease-out);position:absolute;inset:0 0 auto;transform:scaleX(0)}.steps-grid article{counter-increment:step}.steps-grid article:after{content:counter(step, decimal-leading-zero);letter-spacing:-.06em;color:color-mix(in srgb, var(--accent) 9%, transparent);pointer-events:none;transition:color .35s var(--ease-out), transform .45s var(--ease-out);font-size:110px;font-weight:700;line-height:1;position:absolute;top:4px;right:18px}.steps-grid article:hover:after{color:color-mix(in srgb, var(--accent) 16%, transparent);transform:translateY(-4px)}.steps-grid article:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-6px)}.steps-grid article:hover:before{transform:scaleX(1)}.steps-grid span,.category-card-grid>article>span{color:var(--accent-ink);font:600 10px var(--font-mono);letter-spacing:.12em}.steps-grid h3,.category-card-grid h3{letter-spacing:-.01em;margin:auto 0 8px;font-size:25px;font-weight:650}.steps-grid p,.category-card-grid p{color:var(--ink-soft);margin:0;line-height:1.5}.category-card-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px;display:grid}.category-card-grid article{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);min-height:240px;box-shadow:var(--shadow-xs);transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .3s;flex-direction:column;padding:22px;display:flex;position:relative;overflow:hidden}.category-card-grid article:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent-soft) 70%, transparent), transparent 70%);opacity:0;width:120px;height:120px;transition:opacity .4s var(--ease-out);border-radius:50%;position:absolute;top:-40px;right:-40px}.category-card-grid article:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-6px)}.category-card-grid article:hover:after{opacity:1}.category-card-grid h3{margin:auto 0 8px;font-size:22px}.category-card-grid a{color:var(--accent-ink);font:600 10px var(--font-mono);letter-spacing:.1em;z-index:1;transition:letter-spacing .3s var(--ease-out);margin-top:18px;text-decoration:none;position:relative}.category-card-grid a:after{content:"";position:absolute;inset:-12px}.category-card-grid article:hover a{letter-spacing:.16em}.surprise-section{grid-template-columns:.8fr 1.2fr;gap:70px;display:grid}.surprise-section h2{letter-spacing:-.04em;max-width:440px;margin:0;font-size:clamp(36px,5vw,58px);font-weight:650;line-height:.97}.comparison-list{display:grid}.comparison-list article{border-bottom:1px solid var(--line);border-radius:var(--r-sm);transition:background .3s var(--ease-out), padding .3s var(--ease-out);grid-template-columns:120px 1fr;align-items:start;gap:8px 16px;padding:20px 8px;display:grid}.comparison-list article:hover{background:#ffffff8c;padding-left:16px}.comparison-list strong{color:var(--accent);letter-spacing:-.03em;font-variant-numeric:tabular-nums;padding-top:4px;font-size:34px;font-weight:700;line-height:1}.comparison-list span{font-size:17px;font-weight:600;display:block}.comparison-list p{color:var(--ink-soft);max-width:640px;margin:6px 0 0;line-height:1.6}.comparison-list p a,.seo-note a,.seo-prose a,.content-page a:not(.primary-button):not(.secondary-button):not(.back-link){color:var(--accent-ink);border-bottom:1px solid color-mix(in srgb, var(--accent) 40%, transparent);font-weight:600;text-decoration:none}.seo-prose{gap:14px;max-width:560px;display:grid}.seo-prose p{color:var(--ink-soft);margin:0;font-size:16px;line-height:1.65}.seo-lede{max-width:440px;color:var(--ink-soft);margin:14px 0 0;line-height:1.55}.seo-note{max-width:720px;color:var(--ink-soft);margin:28px 0 0;line-height:1.6}.seo-heading-row .seo-prose{align-self:start}.category-intro{padding-top:60px}.category-intro h1{letter-spacing:-.045em;max-width:880px;margin:0;font-size:clamp(42px,7vw,76px);font-weight:650;line-height:.94}.category-intro .directory-lede{margin-bottom:18px}.comparison-list h3{margin:0;font-size:17px;font-weight:600}.comparison-list .rung-axis{color:var(--ink-mute);font:600 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-left:8px;display:inline}.content-page{width:min(860px,100% - 40px);animation:rise .6s var(--ease-out) both;margin:0 auto;padding:36px 0 90px}.crumbs{font:600 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);flex-wrap:wrap;gap:4px;margin:0 0 30px;display:flex}.crumbs a{color:var(--ink-soft);text-decoration:none;border-bottom:0!important}.crumbs a:hover{color:var(--accent-ink)}.crumbs [aria-current]{color:var(--ink)}.content-page h1{letter-spacing:-.045em;margin:0 0 18px;font-size:clamp(38px,6vw,64px);font-weight:650;line-height:.96}.content-page h2{letter-spacing:-.03em;margin:48px 0 14px;font-size:clamp(24px,3.2vw,32px);font-weight:650;line-height:1.05}.content-page p{color:var(--ink-soft);max-width:720px;margin:0 0 14px;font-size:16.5px;line-height:1.65}.content-lede{color:var(--ink)!important;font-size:19px!important}.content-steps{counter-reset:step;gap:10px;margin:0;padding:0;list-style:none;display:grid}.content-steps li{counter-increment:step;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:44px 1fr;gap:14px;padding:16px 18px;display:grid}.content-steps li:before{content:counter(step, decimal-leading-zero);font:600 11px var(--font-mono);color:var(--accent-ink);padding-top:4px}.content-steps strong{margin-bottom:4px;font-size:17px;font-weight:650;display:block}.content-steps p{margin:0;font-size:15px}.content-list{color:var(--ink-soft);gap:10px;margin:0;padding:0 0 0 20px;font-size:16px;line-height:1.6;display:grid}.content-list strong{color:var(--ink)}.content-categories{columns:2;column-gap:32px;display:block}.content-categories li{break-inside:avoid;margin-bottom:8px}.content-faq{max-width:none}.content-faq details p{margin-bottom:20px}.content-cta{flex-wrap:wrap;gap:10px;display:flex;margin:36px 0 0!important}.content-cta a{text-decoration:none;border-bottom:0!important}.content-comparisons{margin-top:8px}.answers-page .answer-list article{align-items:start;padding:22px 10px}.answers-page .answer-list h2{margin:0 0 8px;font-size:22px}.answers-page .answer-list p{max-width:none;margin-bottom:8px;font-size:15px}.answer-insight{color:var(--ink)!important}.answer-insight b{color:var(--accent-ink)}.faq-section{max-width:860px}.faq-section h2{margin-bottom:45px}.faq-section details{border-top:1px solid var(--line);padding:4px 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{cursor:pointer;border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:20px;padding:18px 4px;font-size:18px;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:"";border:1px solid var(--line-strong);width:28px;height:28px;color:var(--ink-soft);transition:transform .35s var(--ease-out), background-color .2s, color .2s, border-color .2s;background:linear-gradient(currentColor,currentColor) 50%/10px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 50%/1.5px 10px no-repeat;border-radius:50%;flex:none}.faq-section summary:hover{color:var(--accent-ink)}.faq-section summary:hover:after{border-color:var(--accent);color:var(--accent-ink)}.faq-section details[open] summary:after{background-color:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(45deg)}.faq-section details p{max-width:690px;color:var(--ink-soft);animation:rise .4s var(--ease-out);margin:0 4px 20px;line-height:1.6}.site-footer{border-top:1px solid var(--line-strong);width:min(1060px,100% - 40px);color:var(--ink);grid-template-columns:1fr auto;gap:22px;margin:0 auto;padding:40px 0 48px;display:grid}.site-footer strong{letter-spacing:.02em;font-size:24px;font-weight:650}.site-footer p{color:var(--ink-soft);margin:6px 0 0}.site-footer nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.site-footer a{color:var(--ink-soft);border-radius:var(--pill);padding:7px 12px;font-size:13px;font-weight:550;text-decoration:none;transition:background .2s,color .2s}.site-footer a:hover{color:var(--ink);background:#ffffffb3}.site-footer small{font:600 9px var(--font-mono);letter-spacing:.14em;color:var(--ink-mute);grid-column:1/3}.site-footer-badges{flex-wrap:wrap;grid-column:1/3;align-items:center;gap:12px;display:flex}.site-footer .site-footer-badges a{padding:0;display:inline-block}.site-footer .site-footer-badges a:hover{background:0 0}.site-footer-badges img{display:block}.directory-page,.credits-page{width:min(1060px,100% - 40px);min-height:100vh;animation:rise .6s var(--ease-out) both;margin:0 auto;padding:44px 0 100px}.credits-page{width:min(900px,100% - 40px)}.back-link{color:var(--ink-soft);border:1px solid var(--line);border-radius:var(--pill);transition:transform .25s var(--ease-spring), color .2s, border-color .2s;background:#ffffff8c;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:550;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink);border-color:var(--line-strong);transform:translate(-3px)}.directory-page>.seo-kicker,.credits-page .seo-kicker{margin-top:70px}.directory-page>h1,.credits-page h1{letter-spacing:-.05em;max-width:880px;margin:0;font-size:clamp(48px,8vw,90px);font-weight:650;line-height:.92}.directory-lede,.credits-lede{max-width:690px;color:var(--ink-soft);margin:24px 0 48px;font-size:18px;line-height:1.55}.directory-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.directory-grid article{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);min-height:260px;box-shadow:var(--shadow-xs);transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .3s;flex-direction:column;padding:26px;display:flex;position:relative;overflow:hidden}.directory-grid article:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent-soft) 70%, transparent), transparent 70%);opacity:0;width:130px;height:130px;transition:opacity .4s var(--ease-out);border-radius:50%;position:absolute;top:-40px;right:-40px}.directory-grid article:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--accent) 35%, transparent);transform:translateY(-6px)}.directory-grid article:hover:after{opacity:1}.directory-grid article>span{color:var(--accent-ink);font:600 10px var(--font-mono);text-transform:uppercase;letter-spacing:.12em}.directory-grid h2{letter-spacing:-.02em;margin:auto 0 8px;padding-top:40px;font-size:28px;font-weight:650}.directory-grid p{color:var(--ink-soft);margin:0;line-height:1.5}.directory-grid article>div{z-index:1;gap:8px;margin-top:22px;display:flex;position:relative}.directory-grid a,.archive-list a,.answer-categories a{color:var(--accent-ink);font:600 10px var(--font-mono);letter-spacing:.08em;text-decoration:none}.directory-grid a,.archive-list a{border-radius:var(--pill);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent-soft) 30%, transparent);padding:8px 12px;transition:background .2s,color .2s,border-color .2s}.directory-grid a:hover,.archive-list a:hover{background:var(--accent);border-color:var(--accent);color:#fff}.archive-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:42px;display:grid}.archive-stats div{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--cream);box-shadow:var(--shadow-xs);gap:4px;padding:22px;display:grid}.archive-stats strong{letter-spacing:-.03em;font-size:42px;font-weight:650;line-height:1}.archive-stats span{color:var(--ink-mute);font:600 9px var(--font-mono);text-transform:uppercase;letter-spacing:.14em}.archive-list{border-top:1px solid var(--line-strong)}.archive-list article{border-bottom:1px solid var(--line);border-radius:var(--r-sm);min-height:92px;transition:background .25s var(--ease-out);justify-content:space-between;align-items:center;gap:20px;padding:0 10px;display:flex}.archive-list article:hover{background:#fff9}.archive-list article>div:first-child{gap:5px;display:grid}.archive-list span{color:var(--accent-ink);font:600 9px var(--font-mono);letter-spacing:.12em}.archive-list h2{margin:0;font-size:22px;font-weight:650}.archive-list article>div:last-child{gap:8px;display:flex}.answer-categories{flex-wrap:wrap;gap:8px;margin:38px 0 25px;display:flex}.answer-categories a{border:1px solid var(--line);border-radius:var(--pill);color:var(--ink-soft);background:#ffffff80;padding:9px 13px;transition:background .2s,color .2s,border-color .2s}.answer-categories a:hover{border-color:var(--ink);color:var(--ink)}.answer-categories a.active{background:var(--ink);border-color:var(--ink);color:#fff}.answer-list{border-top:1px solid var(--line-strong)}.answer-list article{border-bottom:1px solid var(--line);border-radius:var(--r-sm);grid-template-columns:90px 1fr auto;align-items:center;gap:24px;min-height:105px;padding:0 10px;transition:background .25s;display:grid}.answer-list article:hover{background:#fff9}.answer-list article>span{color:var(--accent-ink);font:600 9px var(--font-mono);letter-spacing:.12em}.answer-list h2{margin:0 0 4px;font-size:22px;font-weight:650}.answer-list p{color:var(--ink-soft);margin:0}.answer-list a{color:var(--accent-ink);font-size:12px;font-weight:600;text-decoration:none}.credit-list{border-top:1px solid var(--line-strong);margin-top:45px}.credit-list article{content-visibility:auto;contain-intrinsic-size:64px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:0 8px;transition:background .2s;display:flex}.credit-list article:hover{background:#fff9}.credit-list article>div{gap:2px;display:grid}.credit-list strong{font-weight:600}.credit-list span{color:var(--ink-mute);font:600 9px var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.credit-list a{color:var(--accent-ink);font-size:12px;font-weight:600;text-decoration:none}.license-note{color:var(--ink-mute);font:600 9px var(--font-mono);letter-spacing:.06em;margin-top:35px}.challenge-toggle{position:relative}.challenge-toggle:after{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--cream);border-radius:50%;position:absolute;top:7px;right:7px}.challenge-panel{z-index:25;border:1px solid var(--line-strong);border-radius:var(--r-lg);width:min(340px,100vw - 24px);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);opacity:0;visibility:hidden;transition:transform .45s var(--ease-spring), opacity .3s var(--ease-out), visibility 0s .45s;background:#fffbf3f0;flex-direction:column;display:flex;position:fixed;top:12px;bottom:12px;right:12px;transform:translate(calc(100% + 24px))}.challenge-panel.is-open{opacity:1;visibility:visible;transition:transform .45s var(--ease-spring), opacity .3s var(--ease-out);transform:none}.challenge-scrim{z-index:24;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .3s var(--ease-out);cursor:pointer;background:#0f253147;border:0;position:fixed;inset:0}.challenge-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 18px 0;display:flex}.challenge-panel-head .panel-title{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:650;line-height:1}.challenge-panel-head .eyebrow{margin-bottom:6px}.challenge-panel-close{flex:none;width:32px;height:32px;font-size:20px;position:static}.challenge-panel-me{border-bottom:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:10px;margin:10px 18px 12px;padding-bottom:12px;font-size:12.5px;display:flex}.challenge-panel-me b{color:var(--ink);font-weight:650}.challenge-panel-me .challenge-count{font:600 9px var(--font-mono);letter-spacing:.1em;color:var(--ink-mute);white-space:nowrap}.challenge-list{overscroll-behavior:contain;scrollbar-width:thin;gap:4px;margin:0;padding:3px 10px 12px;list-style:none;display:grid;overflow-y:auto}.challenge-list>li{border-radius:var(--r-md);transition:background .25s var(--ease-out)}.challenge-list>li.active{background:var(--cream);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent), var(--shadow-sm)}.challenge-row{border-radius:var(--r-md);text-align:left;cursor:pointer;width:100%;transition:background .2s var(--ease-out);background:0 0;border:0;grid-template-columns:62px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.challenge-row:hover{background:#fffc}.challenge-list>li.active .challenge-row:hover{background:0 0}.challenge-date{gap:2px;display:grid}.challenge-date strong{font-size:13.5px;font-weight:650;line-height:1}.challenge-date small{font:600 8.5px var(--font-mono);letter-spacing:.1em;color:var(--ink-mute)}.challenge-best,.challenge-mine{gap:2px;min-width:0;display:grid}.challenge-best b{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;line-height:1}.challenge-best em,.challenge-mine em{font:500 9.5px var(--font-mono);color:var(--ink-mute);text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.challenge-best em:before{content:"👑 ";font-size:8px}.challenge-mine{text-align:right}.challenge-mine b{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;line-height:1}.challenge-mine.empty em{opacity:.6}.challenge-list>li.active .challenge-date strong{color:var(--accent-ink)}.challenge-detail{animation:rise .35s var(--ease-out);padding:2px 12px 12px}.challenge-detail-title{border-top:1px dashed var(--line-strong);font:600 9px var(--font-mono);letter-spacing:.12em;color:var(--ink-mute);text-transform:uppercase;margin:0 0 8px;padding-top:8px}.challenge-detail ol{gap:3px;margin:0;padding:0;list-style:none;display:grid}.challenge-detail li{border-radius:8px;grid-template-columns:26px 1fr auto auto;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:grid}.challenge-detail li.mine{background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}.challenge-detail .rank{font:600 9.5px var(--font-mono);color:var(--ink-mute)}.challenge-detail li:first-child .rank{font-size:12px}.challenge-detail .name{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.challenge-detail li.mine .name{color:var(--accent-ink);font-weight:650}.challenge-detail .score{font-variant-numeric:tabular-nums;font-weight:700}.challenge-detail .time{font:500 9.5px var(--font-mono);color:var(--ink-mute);font-variant-numeric:tabular-nums}.challenge-empty{color:var(--ink-mute);margin:0;font-size:12px}.challenge-rename{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;width:100%;display:grid}.challenge-rename input{border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--cream);min-width:0;min-height:36px;padding:0 12px;font-weight:550}.challenge-rename .primary-button,.challenge-rename .secondary-button{min-height:36px;padding:0 12px;font-size:12px}.challenge-edit{color:var(--accent-ink);font:600 10px var(--font-mono);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;padding:0 0 0 8px}.challenge-edit:hover{text-decoration:underline}.challenge-error{border-radius:var(--r-sm);color:#8f2f28;background:#c4504824;margin:0 18px 10px;padding:8px 10px;font-size:12px}.challenge-list.is-loading{opacity:.7}.challenge-skeleton{gap:8px;padding:6px 12px 14px;display:grid}.challenge-skeleton span{border-radius:var(--r-md);background:linear-gradient(90deg,#0f25310d,#0f253117,#0f25310d) 0 0/200% 100%;height:40px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.challenge-best em.plain:before{content:none}@media (min-width:1440px){.challenge-panel{opacity:1;visibility:visible;width:272px;max-height:none;box-shadow:var(--shadow-md);animation:rise .7s .2s var(--ease-out) both;background:#fffbf3a8;position:absolute;top:0;bottom:0;right:0;transform:none}.challenge-panel-close,.challenge-toggle,.challenge-scrim{display:none}.challenge-row{grid-template-columns:56px 1fr auto;gap:8px;padding:9px 8px}}.record-form{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);text-align:left;gap:12px;margin:0 0 18px;padding:14px;display:grid;position:relative}.record-summary{flex-wrap:wrap;gap:8px 18px;display:flex}.record-summary span{gap:3px;min-width:0;display:grid}.record-summary small{font:600 8.5px var(--font-mono);letter-spacing:.12em;color:var(--ink-mute)}.record-summary b{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:650;overflow:hidden}.record-fields{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.record-fields input{border:1px solid var(--line-strong);border-radius:var(--pill);background:var(--cream);min-height:44px;color:var(--ink);outline-offset:2px;padding:0 14px;font-weight:550;transition:border-color .2s,box-shadow .2s}.record-fields input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.record-fields .primary-button{min-height:44px;padding:0 16px;font-size:13px}.record-saved{border-radius:var(--r-sm);background:color-mix(in srgb, var(--accent-soft) 60%, transparent);color:var(--ink);animation:rise .35s var(--ease-out);margin:0;padding:10px 12px;font-size:13px}.record-saved b{color:var(--accent-ink)}@media (min-width:1024px){.game-layout{grid-template-columns:224px minmax(0,1fr)}}@media (min-width:1440px){.game-layout{grid-template-columns:232px minmax(0,1fr) 272px}}.sheet-head,.mobile-tabs,.pref-difficulty{display:none}@media (min-width:701px) and (max-width:1023px){.game-layout{gap:14px;width:min(900px,100% - 40px)}.game-sidebar{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:static}.side-block{display:contents}.side-title,.side-note,.side-stats,.side-links,.pref-row>span,.side-link-button,.category-select>span{display:none}.side-date{width:100%;box-shadow:none;background:0 0;border:0;order:-1;align-items:center;gap:8px;padding:0 2px 2px;display:flex}.side-date strong{font-size:13px}.side-date small{font-size:8.5px}.side-date small:after{content:"·";color:var(--ink-mute)}.category-select{grid-template-columns:1fr;min-width:180px}.category-select select{padding-left:14px}.play-mode-tabs{display:flex}.play-mode-tabs button{min-height:32px}.format-tabs{border-radius:var(--pill);background:#0f253112;gap:2px;padding:3px;display:flex}.format-tabs button{border-radius:var(--pill);background:0 0;border:0;align-items:center;min-height:32px;padding:0 12px;display:flex}.format-tabs button.active{background:var(--cream);color:var(--ink);box-shadow:0 1px 2px #0f253114}.format-tabs small{display:none}.pref-row{display:contents}.pref-difficulty{display:none}.pref-toggle{margin-left:auto}.game-wrap{width:100%}}@media (max-width:900px){.desktop-nav{display:none}.seo-heading-row,.surprise-section{grid-template-columns:1fr;gap:25px}.category-card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.game-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.site-header{width:calc(100% - 24px);min-height:52px}.brand{gap:8px;padding:0}.brand-mark{width:32px;height:32px;filter:drop-shadow(2px 2px 0 color-mix(in srgb, var(--accent) 68%, transparent))}.brand-copy strong{font-size:16px}.brand-copy small,.header-actions{display:none}.announcement{width:calc(100% - 24px);margin-bottom:8px;padding:8px 12px;font-size:12.5px}.game-layout{gap:0;width:calc(100% - 20px);margin-top:2px;display:block}.game-wrap{width:100%}.mission-row{align-items:center;gap:10px;margin:0 2px 8px}.eyebrow{letter-spacing:.12em;margin-bottom:3px;font-size:9px}.round-question{letter-spacing:-.02em;font-size:19px;line-height:1.12}.round-meta{width:max-content;margin:4px 0 0;padding:2px 7px;font-size:8px;display:block}.page-title{margin-bottom:4px;font-size:8.5px}.score-cluster{flex:none;padding:3px}.score-cluster>div{gap:0;min-width:auto;padding:4px 10px}.score-cluster>.score-streak{display:none}.score-cluster small{font-size:7.5px}.score-cluster strong{font-size:19px}.progress-track{gap:4px;margin:0 2px 8px}.progress-track span{height:4px}.play-card{border-radius:var(--r-lg)}.game-board{aspect-ratio:840/960;height:auto;max-height:calc(100svh - 360px - env(safe-area-inset-bottom));min-height:240px}.resize-handle{width:30px;height:30px;font-size:15px;top:-10px;right:-15px}.target-measure.height{right:-15px}.target-measure em{padding:3px 6px;font-size:8px}.target-measure.height em{top:-22px;left:5px}.target-measure.width em{bottom:9px}.object-tag{text-overflow:ellipsis;max-width:150px;font-size:7.5px;bottom:-17px;overflow:hidden}.object-tag.actual-tag{top:-20px;bottom:auto}.board-reference-card{gap:6px;min-height:30px;padding:0 10px 0 8px;top:8px;left:8px}.board-reference-card i{width:8px;height:8px}.board-reference-card strong{max-width:120px;font-size:9.5px}.board-reference-card span{font-size:8px}.round-score-burst{top:10px;left:12px}.round-score-burst strong{font-size:46px}.zoom-tools{padding:3px;top:8px;right:8px}.zoom-tools button{width:34px;height:34px}.scale-ruler{left:0;right:0}.ruler-labels{top:14px}.ruler-labels span{font-size:7.5px}.ruler-ticks i{height:6px}.ruler-ticks i.major{height:11px}.ruler-marker b{font-size:6.5px}.ruler-step-controls{padding:2px}.ruler-step-controls button{width:36px;height:32px;font-size:18px}.expert-badge{top:48px;right:8px}.interaction-dock{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy lock";gap:10px;padding:10px 10px 10px 14px}.interaction-copy,.slot-chips{grid-area:copy}.interaction-dock>.difficulty-switch{display:none}.slot-chips{grid-template-columns:1fr;gap:4px}.slot-chip{gap:6px;padding:4px 8px 4px 5px}.slot-chip i{width:20px;height:20px;font-size:9px}.slot-chip strong{font-size:11px}.slot-chip small{font-size:7.5px}.slot-hint{display:none}.reveal-panel.is-duo{grid-template-columns:56px 1fr}.slot-badge{width:18px;height:18px;font-size:8px;top:-8px;left:-8px}.interaction-dock .lock-button{grid-area:lock}.interaction-copy strong{font-size:12.5px}.interaction-copy span{font-size:7.5px}.lock-button{grid-template-columns:auto auto;min-height:52px;padding:0 18px}.lock-button kbd{display:none}.lock-button span{font-size:14px}.is-revealed .game-board{min-height:170px;max-height:calc(100svh - 430px)}.reveal-panel{grid-template-columns:56px 1fr;gap:12px;padding:12px}.accuracy-meter{width:56px;height:56px}.accuracy-meter strong{font-size:18px}.reveal-title{font-size:16px}.reveal-copy p{font-size:12px;line-height:1.4}.is-revealed .play-card{animation:none}.reveal-panel .primary-button{left:10px;right:10px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:24;width:auto;min-height:48px;box-shadow:0 1px 0 #ffffff4d inset, 0 -2px 24px 10px var(--paper), var(--glow);position:fixed}.is-revealed{padding-bottom:calc(136px + env(safe-area-inset-bottom))!important}.tiny-stats{gap:9px;margin-top:10px}.tiny-stats span:first-child,.tiny-stats i:first-of-type{display:none}.mobile-tabs{z-index:27;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line-strong);-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);background:#fffbf3e6;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px -18px #0f253159}.mobile-tabs button{border-radius:var(--r-sm);color:var(--ink-mute);font:600 10px var(--font-mono);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;justify-items:center;gap:3px;padding:6px 0 4px;transition:color .2s,background .2s;display:grid;position:relative}.mobile-tabs button .icon{width:22px;height:22px}.mobile-tabs button.active{color:var(--accent-ink);background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}.mobile-tabs .tab-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--cream);border-radius:50%;position:absolute;top:6px;right:calc(50% - 16px)}.sheet-head{grid-template-columns:1fr auto;align-items:center;gap:10px;padding:6px 4px 10px;display:grid;position:relative}.sheet-title{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:650}.sheet-head .modal-close{width:34px;height:34px;font-size:20px;position:static}.sheet-grip{background:var(--line-strong);border-radius:4px;width:40px;height:4px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.game-sidebar,.challenge-panel{z-index:26;left:8px;right:8px;bottom:calc(74px + env(safe-area-inset-bottom));width:auto;max-height:calc(100svh - 96px - env(safe-area-inset-bottom));border-radius:var(--r-lg);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);opacity:0;visibility:hidden;transition:transform .45s var(--ease-spring), opacity .3s var(--ease-out), visibility 0s .45s;background:#fffbf3f5;position:fixed;top:auto;transform:translateY(calc(100% + 90px))}.game-sidebar.is-open,.challenge-panel.is-open{opacity:1;visibility:visible;transition:transform .45s var(--ease-spring), opacity .3s var(--ease-out);transform:none}.game-sidebar{overscroll-behavior:contain;flex-direction:column;gap:10px;padding:14px 12px;animation:none;display:flex;overflow-y:auto}.game-sidebar .sheet-head{display:grid}.side-block{background:var(--cream)}.pref-difficulty,.pref-difficulty .difficulty-switch{display:flex}.side-stats{grid-template-columns:repeat(3,1fr)}.challenge-panel{display:flex}.challenge-scrim{z-index:25}.challenge-panel-close{display:inline-grid}.category-select{min-width:0}.play-mode-tabs button{font-size:13px}.special-mode-chip{padding:8px 10px;font-size:8px}.unit-switch button{min-height:28px}.format-tabs small{white-space:normal}.modal-backdrop{z-index:30;padding-bottom:calc(20px + 70px + env(safe-area-inset-bottom))}.help-modal,.final-modal{border-radius:var(--r-lg);max-height:calc(100svh - 110px - env(safe-area-inset-bottom));padding:28px 22px}.modal-title{font-size:29px}.final-modal{padding-top:36px}.record-fields{grid-template-columns:1fr}.record-fields .primary-button{width:100%}.final-actions.three{grid-template-columns:1fr 1fr}.final-actions.three .primary-button{grid-column:1/3}.round-result-modal{max-height:calc(100svh - 110px - env(safe-area-inset-bottom));border-radius:var(--r-lg)}.round-result-heading{grid-template-columns:max-content minmax(0,1fr);padding:20px 18px 14px}.round-result-heading strong{font-size:48px}.round-result-heading p{grid-column:1/3;min-width:0;margin:8px 35px 0 0}.round-result-body{grid-template-columns:1fr}.round-card-preview{border-right:0;border-bottom:1px solid var(--line);min-height:190px}.round-card-objects{min-height:110px}.round-card-objects>span,.round-card-objects svg{max-height:105px}.round-share-actions{grid-template-columns:1fr 1fr;padding:16px}.round-share-actions h3,.round-share-actions .primary-button{grid-column:1/3}.round-share-actions button{min-height:40px;padding:0 8px;font-size:11px}.seo-section{padding:72px 0}.steps-grid,.category-card-grid{grid-template-columns:1fr}.steps-grid article{min-height:170px}.category-card-grid article{min-height:180px}.comparison-list article{grid-template-columns:1fr;gap:4px;padding:16px 4px}.content-page{padding-top:20px}.content-categories{columns:1}.content-steps li{grid-template-columns:32px 1fr;padding:14px}.category-intro{padding-top:40px}.site-footer{padding-bottom:calc(48px + 70px + env(safe-area-inset-bottom));grid-template-columns:1fr}.site-footer small,.site-footer-badges{grid-column:1}.directory-page,.credits-page{padding-top:24px}.directory-page>.seo-kicker,.credits-page .seo-kicker{margin-top:48px}.directory-grid{grid-template-columns:1fr}.directory-grid article{min-height:200px}.directory-grid h2{padding-top:24px}.archive-stats{grid-template-columns:1fr 1fr 1fr;gap:6px}.archive-stats div{padding:14px 10px}.archive-stats strong{font-size:27px}.archive-list article{flex-direction:column;align-items:flex-start;padding:16px 10px}.answer-list article{grid-template-columns:1fr;gap:6px;padding:18px 10px}.credit-list article{flex-direction:column;align-items:flex-start;padding:14px 8px}}@media (min-width:701px){.game-shell{--fold-chrome:330px;--board-ratio:840 / 510}.game-board{aspect-ratio:var(--board-ratio)}}@media (min-width:701px) and (max-height:900px){.game-shell{--fold-chrome:306px;--board-ratio:840 / 470}.site-header{min-height:66px}.game-layout{margin-top:0}.mission-row{margin-bottom:10px}.side-block{gap:8px;padding:11px 12px 10px}.eyebrow{margin-bottom:5px;font-size:10px}.round-question{font-size:clamp(26px,2.6vw,34px)}.score-cluster{padding:4px}.score-cluster>div{gap:1px;min-width:92px;padding:5px 12px}.score-cluster strong{font-size:22px}.progress-track{margin-bottom:10px}.progress-track span{height:5px}.interaction-dock{padding:10px 12px 10px 18px}.lock-button{min-height:48px}.reveal-panel{gap:16px;min-height:92px;padding:12px 12px 12px 18px}.accuracy-meter{width:64px;height:64px}.reveal-panel .primary-button{min-height:44px}.tiny-stats{margin-top:10px}}@media (min-width:701px) and (max-height:760px){.game-shell{--fold-chrome:286px;--board-ratio:840 / 440}.site-header{min-height:58px}.round-question{font-size:clamp(24px,2.4vw,30px)}.reveal-copy p{font-size:12px;line-height:1.4}.tiny-stats{margin-top:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
