@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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}:root{color-scheme:light;--paper:#f4efe3;--paper-2:#fbf7ed;--paper-3:#efe8d8;--ink:#1c1a16;--ink-soft:#3b372f;--muted:#6e6657;--line:#d7cdb8;--line-strong:#b3a68c;--red:#c2452a;--red-deep:#9a3019;--red-soft:#f3d9cf;--blue:#2d4d74;--blue-soft:#dce4ee;--green:#3d6b49;--green-soft:#dbe8da;--amber:#a9741b;--amber-soft:#f3e6c4;--surface:#fbf7ed;--wrap:1180px;--wrap-narrow:860px;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-body:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--shadow-sheet:0 18px 40px -28px #2821188c;--shadow-lift:0 12px 24px -18px #28211899}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}body{color:var(--ink);background-color:var(--paper);font-family:var(--font-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;background-image:linear-gradient(#1c1a1609 1px,#0000 1px),linear-gradient(90deg,#1c1a1609 1px,#0000 1px),linear-gradient(#1c1a160e 1px,#0000 1px),linear-gradient(90deg,#1c1a160e 1px,#0000 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;margin:0;font-size:17px;line-height:1.65}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60rem 30rem at 50% -10%,#c2452a12,#0000 70%),radial-gradient(40rem 24rem at 95% 30%,#2d4d740e,#0000 70%);position:fixed;inset:0}img,svg{max-width:100%;display:block}a{color:var(--ink);text-decoration-color:var(--line-strong);text-underline-offset:3px}a:hover{color:var(--red-deep);text-decoration-color:var(--red)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.022em;text-wrap:balance;margin:0 0 .55em;font-weight:600;line-height:1.08}p{text-wrap:pretty;margin:0 0 1.05em}ul,ol{margin:0 0 1.2em;padding-left:1.25em}li{margin-bottom:.45em}strong{font-weight:650}em{font-style:italic}code,kbd{font-family:var(--font-mono);background:var(--paper-3);border:1px solid var(--line);border-radius:3px;padding:.12em .35em;font-size:.86em}kbd{box-shadow:0 1px 0 var(--line-strong)}::selection{background:var(--red-soft);color:var(--ink)}:focus-visible{outline:2.5px solid var(--red);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;padding:.6rem 1rem;font-size:.75rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.wrap{width:min(100% - 2.5rem, var(--wrap));margin-inline:auto}.wrap-narrow{width:min(100% - 2.5rem, var(--wrap-narrow));margin-inline:auto}.mono{font-family:var(--font-mono)}.eyebrow,.kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.55rem;font-size:.68rem;font-weight:700;display:inline-flex}.eyebrow .dot{background:var(--red);width:7px;height:7px;box-shadow:0 0 0 3px var(--red-soft);border-radius:50%}.lede{color:var(--ink-soft);max-width:62ch;font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.55}.muted{color:var(--muted)}.small{font-size:.85rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:60;padding-top:env(safe-area-inset-top,0px);background:var(--paper);background:color-mix(in srgb, var(--paper) 97%, transparent);border-bottom:1.5px solid var(--ink);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:68px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);align-items:center;gap:.65rem;font-size:1.35rem;font-weight:650;line-height:1;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand-mark{background:var(--ink);width:30px;height:30px;color:var(--paper);font-family:var(--font-mono);border-radius:1px;place-items:center;font-size:.9rem;font-weight:700;display:grid;transform:rotate(-2deg)}.brand-word span{color:var(--red)}.site-nav{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:1.35rem;font-size:.68rem;font-weight:600;display:flex}.site-nav a{white-space:nowrap;border-bottom:2px solid #0000;padding:.35rem 0;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--red);color:var(--ink)}.header-actions{align-items:center;gap:.65rem;display:flex}.header-cta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper);background:var(--ink);border:1.5px solid var(--ink);border-radius:1px;padding:.62rem .9rem;font-size:.66rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s}.header-cta:hover{color:var(--paper);background:var(--red-deep);border-color:var(--red-deep);transform:translateY(-1px)}.nav-toggle{border:1.5px solid var(--ink);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:1px;padding:.5rem .6rem;font-size:.64rem;font-weight:700;display:none}.mobile-nav{border-top:1px solid var(--line);background:var(--paper);padding:.9rem 1.25rem 1.2rem;display:none}.mobile-nav.is-open{display:block}.mobile-nav a{border-bottom:1px dotted var(--line-strong);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:.55rem 0;font-size:.76rem;text-decoration:none;display:block}.btn{border:1.5px solid var(--ink);min-height:46px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;padding:.72rem 1.2rem;font-size:.72rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover{color:var(--paper);background:var(--ink);transform:translateY(-1px)}.btn-primary{background:var(--red);border-color:var(--red);color:#fff9f0;box-shadow:0 10px 22px -14px #9a3019e6}.btn-primary:hover{background:var(--red-deep);border-color:var(--red-deep);color:#fff9f0}.btn-ghost{border-color:var(--line-strong)}.btn-sm{min-height:36px;padding:.45rem .75rem;font-size:.64rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-btn{border:1.5px solid var(--line-strong);background:var(--paper-2);width:36px;height:36px;font-family:var(--font-mono);border-radius:50%;place-items:center;padding:0;font-size:.9rem;font-weight:700;line-height:1;display:inline-grid}.icon-btn:hover{border-color:var(--ink);background:var(--paper-3)}.masthead{padding:clamp(1.8rem,3.6vw,2.9rem) 0 1.3rem}.masthead-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:clamp(2rem,5vw,4.5rem);display:grid}.masthead h1{letter-spacing:-.038em;margin-bottom:.35em;font-size:clamp(2.5rem,5.2vw,4.45rem);line-height:.95}.masthead h1 .line{display:block}.masthead h1 em{color:var(--red);font-style:italic;font-weight:500}.masthead .lede{margin-top:.9rem;font-size:clamp(1rem,1.4vw,1.12rem)}.masthead-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:.4rem .9rem;margin-top:1.05rem;font-size:.66rem;font-weight:600;display:flex}.masthead-meta span{align-items:center;gap:.4rem;display:inline-flex}.masthead-meta span:before{content:"";background:var(--red);border-radius:50%;width:4px;height:4px}.masthead-aside{border-left:1.5px solid var(--ink);padding:.3rem 0 .4rem 1.4rem;position:relative}.masthead-aside .aside-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--red-deep);font-size:.62rem;font-weight:700}.masthead-aside p{font-family:var(--font-display);margin:.45rem 0 .8rem;font-size:1.12rem;line-height:1.35}.masthead-aside .aside-note{font-family:var(--font-body);color:var(--muted);font-size:.8rem;line-height:1.55}.aside-scale{border-top:1px dotted var(--line-strong);font-family:var(--font-mono);letter-spacing:.08em;color:var(--muted);align-items:flex-end;gap:10px;margin-top:1.2rem;padding-top:1rem;font-size:.62rem;display:flex}.aside-scale .tick{flex-direction:column;gap:4px;display:flex}.aside-scale .tick i{background:var(--ink);width:1px;height:10px;display:block}.aside-scale .tick:nth-child(2) i{height:16px}.aside-scale .tick:nth-child(3) i{height:22px}.aside-scale .tick:nth-child(4) i{height:28px}.game-section{padding:.6rem 0 3rem;scroll-margin-top:86px}.game-frame{background:var(--paper-2);border:1.5px solid var(--ink);box-shadow:var(--shadow-sheet);border-radius:3px;position:relative;overflow:clip}.game-frame:before,.game-frame:after{content:"";border-color:var(--red);pointer-events:none;z-index:2;border-style:solid;width:14px;height:14px;position:absolute}.game-frame:before{border-width:2px 0 0 2px;top:10px;left:10px}.game-frame:after{border-width:0 2px 2px 0;bottom:10px;right:10px}.game-topbar{border-bottom:1.5px solid var(--ink);background:linear-gradient(90deg, #c2452a0f, transparent 40%), var(--paper-2);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.25rem;display:flex}.game-title{flex-direction:column;gap:.15rem;display:flex}.game-title .game-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--red-deep);font-size:.58rem;font-weight:700}.game-title strong{font-family:var(--font-display);font-size:1.08rem;font-weight:650;line-height:1.2}.game-topbar-actions{align-items:center;gap:.6rem;display:flex}.game-hud{border:1px solid var(--line-strong);background:var(--paper);align-items:stretch;gap:0;display:flex}.game-hud>div{border-right:1px solid var(--line);flex-direction:column;gap:.12rem;padding:.4rem .8rem;display:flex}.game-hud>div:last-child{border-right:0}.game-hud span{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.52rem;font-weight:700}.game-hud strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:700;line-height:1.1}.game-hud .hud-streak strong{color:var(--red-deep)}.game-steps{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.52rem 1.25rem;display:grid}.game-step{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap;align-items:baseline;gap:.35rem;font-size:.58rem;font-weight:600;display:inline-flex}.game-step b{color:var(--red-deep);font-weight:700}.board{border-bottom:1.5px solid var(--ink);touch-action:pan-y;background:#fcf9f1;position:relative;overflow:hidden}.board.is-dragging{touch-action:none;cursor:grabbing}.scene{aspect-ratio:1000/400;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.scene .scene-paper{fill:#fcf9f1}.scene .grid-line{stroke:#1c1a1613;stroke-width:1px}.scene .grid-line.major{stroke:#1c1a1621;stroke-width:1.2px}.scene .ground{stroke:var(--ink);stroke-width:2.2px}.scene .ground-shadow{fill:#1c1a160e}.scene .guide{stroke:var(--red);stroke-width:1.5px;stroke-dasharray:6 6;opacity:.75}.scene .guide-label,.scene .axis-label-svg,.scene .object-label-svg{font-family:var(--font-mono);letter-spacing:.06em;fill:var(--muted);text-transform:uppercase;font-size:13px;font-weight:600}.scene .object-label-svg strong{fill:var(--ink)}.scene .object-label-svg.target{fill:var(--red-deep)}.scene .dim{stroke:var(--ink);stroke-width:1.3px}.scene .dim.target{stroke:var(--red)}.scene .dim-cap{stroke:var(--ink);stroke-width:1.3px}.scene .dim-cap.target{stroke:var(--red)}.scene .dim-text{font-family:var(--font-mono);fill:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.scene .dim-text.target{fill:var(--red-deep)}.scene .silhouette{color:var(--ink)}.scene .silhouette.target{color:var(--red)}.silhouette .cut{fill:var(--art-bg,#fcf9f1);stroke:var(--art-bg,#fcf9f1)}.scene .ghost{color:var(--blue);opacity:.55;fill:none}.scene .ghost *{vector-effect:non-scaling-stroke;fill:none!important;stroke:var(--blue)!important;stroke-width:1.2px!important}.scene .ghost .cut{display:none}.scene .handle{fill:var(--paper-2);stroke:var(--red);stroke-width:2px;cursor:ew-resize}.scene .handle:hover{fill:var(--red-soft)}.scene .target-group{transform-origin:0 0}.board-tools{flex-direction:column;gap:.35rem;display:flex;position:absolute;top:.7rem;right:.7rem}.board-tools .icon-btn{background:var(--paper-2);width:32px;height:32px;font-size:.82rem}.board-note{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb, var(--paper-2) 82%, transparent);pointer-events:none;border-radius:2px;padding:.2rem .4rem;font-size:.58rem;position:absolute;bottom:.7rem;left:.85rem}.game-controls{background:linear-gradient(180deg, #ffffff59, transparent 60%), var(--paper-2);padding:1rem 1.25rem 1.1rem}.object-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding-bottom:.7rem;display:grid}.object-card{flex-direction:column;gap:.2rem;min-width:0;display:flex}.object-tag{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.35rem;font-size:.56rem;font-weight:700;display:inline-flex}.object-tag:before{content:"";background:var(--ink);width:6px;height:6px}.object-card.target .object-tag:before{background:var(--red)}.object-card strong{font-family:var(--font-display);font-size:1.15rem;font-weight:650;line-height:1.2}.object-card .axis-hint{color:var(--muted);font-size:.78rem}.ref-size{font-family:var(--font-mono);color:var(--blue);align-items:baseline;gap:.35rem;font-size:.72rem;display:inline-flex}.ref-size[hidden]{display:none}.hint-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue);text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;margin-top:.15rem;padding:0;font-size:.62rem;font-weight:600;text-decoration:underline}.hint-btn:hover{color:var(--red-deep)}.hint-btn:disabled{color:var(--muted);cursor:default;text-decoration:none}.slider-row{grid-template-columns:38px minmax(0,1fr) 38px auto;align-items:center;gap:.7rem;padding:.85rem 0 .35rem;display:grid}.step-btn{border:1.5px solid var(--ink);background:var(--paper-2);width:38px;height:38px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:700;line-height:1;display:grid}.step-btn:hover{background:var(--ink);color:var(--paper)}.step-btn:disabled{opacity:.35;cursor:not-allowed;background:var(--paper-2);color:var(--ink)}.size-slider{-webkit-appearance:none;appearance:none;cursor:ew-resize;background:0 0;width:100%;height:26px}.size-slider::-webkit-slider-runnable-track{background:repeating-linear-gradient(90deg, var(--line-strong) 0 1px, transparent 1px 8px), var(--paper-3);border:1px solid var(--line);border-radius:0;height:4px}.size-slider::-moz-range-track{background:var(--paper-3);border:1px solid var(--line);height:4px}.size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--red);border:1.5px solid var(--red-deep);border-radius:1px;width:18px;height:26px;margin-top:-12px;box-shadow:0 2px #1c1a162e}.size-slider::-moz-range-thumb{background:var(--red);border:1.5px solid var(--red-deep);border-radius:1px;width:18px;height:26px}.size-slider:focus-visible{outline-offset:6px}.guess-readout{text-align:right;min-width:120px;font-family:var(--font-mono);line-height:1.1}.guess-readout span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.52rem;font-weight:700;display:block}.guess-readout strong{font-variant-numeric:tabular-nums;color:var(--red-deep);font-size:1.05rem;font-weight:700}.action-row{justify-content:space-between;align-items:center;gap:1rem;padding-top:.45rem;display:flex}.action-row .micro{color:var(--muted);margin:0;font-size:.75rem;line-height:1.4}.btn-lock{min-width:210px}.result-panel,.final-panel{border-top:1.5px solid var(--ink);background:var(--paper-2);padding:1.35rem 1.25rem 1.4rem;animation:.35s both panel-in}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.result-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1.5rem;display:grid}.score-big{font-family:var(--font-display);color:var(--red-deep);align-items:baseline;gap:.35rem;font-weight:650;line-height:.9;display:flex}.score-big .num{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(3.6rem,8vw,5.6rem)}.score-big .of{font-family:var(--font-mono);color:var(--muted);font-size:.9rem}.result-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--red-deep);margin-bottom:.35rem;font-size:.6rem;font-weight:700}.result-stats{gap:.3rem;margin:.8rem 0 0;font-size:.9rem;display:grid}.result-stats div{border-bottom:1px dotted var(--line);justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex}.result-stats dt{color:var(--muted)}.result-stats dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.result-fact{color:var(--ink-soft);border-left:3px solid var(--red);margin:.9rem 0 0;padding-left:.9rem;font-size:.9rem;line-height:1.55}.result-fact .source-link{font-family:var(--font-mono);letter-spacing:.04em;color:var(--red-deep);margin-top:.35rem;font-size:.6rem;display:block}.result-fact .source-link:hover{text-decoration:underline}.result-fact .source{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);margin-top:.25rem;font-size:.6rem;display:block}.result-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.1rem;display:flex}.final-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.final-grade{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05}.final-sub{color:var(--muted);margin:.35rem 0 0;font-size:.95rem}.final-bars{grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin:1.3rem 0 0;display:grid}.final-bar{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);font-size:.58rem}.final-bar .track{background:var(--paper-3);border:1px solid var(--line);height:10px;margin-top:.3rem;display:block;overflow:hidden}.final-bar .fill{background:var(--red);width:0;height:100%;transition:width .7s cubic-bezier(.2,.7,.2,1);display:block}.final-meta{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--muted);flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.1rem;padding-top:.9rem;font-size:.68rem;display:flex}.final-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.1rem;display:flex}.share-feedback{color:var(--green);align-self:center;font-size:.78rem}.streak-note{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);font-size:.64rem}.help-dialog{border:1.5px solid var(--ink);background:var(--paper-2);width:min(560px,100% - 2rem);padding:0;box-shadow:0 30px 70px -30px #1c1a16b3}.help-dialog::backdrop{backdrop-filter:blur(2px);background:#1c1a1673}.help-dialog .dialog-head{border-bottom:1.5px solid var(--ink);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.help-dialog h2{margin:0;font-size:1.4rem}.help-dialog .dialog-body{padding:1.1rem 1.25rem 1.3rem}.help-dialog ol{padding-left:1.1rem}.help-dialog li{margin-bottom:.7rem}.mode-bar{border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem 1.25rem;display:flex}.mode-bar .mode-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.62rem;font-weight:700}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border:1px solid var(--line-strong);background:var(--paper-2);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-radius:999px;padding:.35rem .65rem;font-size:.6rem;font-weight:600}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.archive-banner{border-bottom:1px solid var(--line);background:var(--amber-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;padding:.7rem 1.25rem;font-size:.8rem;display:flex}.archive-banner strong{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.game-loading{text-align:center;min-height:340px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);place-items:center;padding:2rem;font-size:.7rem;display:grid}.game-footnote{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-top:.9rem;font-size:.78rem;display:flex}.section{border-top:1.5px solid var(--ink);padding:clamp(2.6rem,5vw,4.5rem) 0}.section.first{border-top:0}.section-head{grid-template-columns:minmax(0,.4fr) minmax(0,1fr);align-items:start;gap:2rem;margin-bottom:2.2rem;display:grid}.section-head h2{margin:0;font-size:clamp(1.9rem,4vw,2.9rem)}.section-head .head-note{color:var(--muted);max-width:54ch;font-size:.9rem}.section-head .head-note p:last-child{margin-bottom:0}.section-number{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--red-deep);margin-bottom:.5rem;font-size:.62rem;font-weight:700;display:block}.prose{max-width:72ch}.prose h2{margin-top:2.2em;font-size:clamp(1.7rem,3.2vw,2.35rem)}.prose h2:first-child{margin-top:0}.prose h3{margin-top:1.8em;font-size:clamp(1.2rem,2vw,1.45rem)}.prose p,.prose li{color:var(--ink-soft)}.prose a{font-weight:600}.prose blockquote{border-left:3px solid var(--red);background:var(--paper-2);font-family:var(--font-display);margin:1.6rem 0;padding:.9rem 1.2rem;font-size:1.1rem;line-height:1.5}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;width:100%;margin:1.3rem 0;font-size:.9rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .7rem}.prose th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--ink);font-size:.62rem;font-weight:700}.prose tr:last-child td{border-bottom:0}.steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.step-card{background:var(--paper-2);border:1px solid var(--line-strong);counter-increment:step;padding:1.15rem 1.1rem 1.2rem;position:relative}.step-card:before{content:"0" counter(step);font-family:var(--font-mono);letter-spacing:.12em;color:var(--red-deep);margin-bottom:.55rem;font-size:.62rem;font-weight:700;display:block}.step-card h3{margin-bottom:.35rem;font-size:1.22rem}.step-card p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.55}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.two-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.card{background:var(--paper-2);border:1px solid var(--line-strong);flex-direction:column;gap:.55rem;padding:1.2rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.card:hover{border-color:var(--ink);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.card .card-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red-deep);font-size:.58rem;font-weight:700}.card h3{margin:0;font-size:1.35rem}.card p{color:var(--muted);margin:0;font-size:.87rem;line-height:1.55}.card .card-link{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep);margin-top:auto;padding-top:.6rem;font-size:.64rem;font-weight:700;text-decoration:none}.card .card-link:hover{text-decoration:underline}.score-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:clamp(1.5rem,4vw,3rem);display:grid}.table-scroll{border:1px solid var(--line-strong);background:var(--paper-2);-webkit-overflow-scrolling:touch;margin:1.3rem 0;overflow-x:auto}.table-scroll:focus-visible{outline:2.5px solid var(--red);outline-offset:3px}.table-hint{display:none}@media (width<=720px){.table-hint{font-family:var(--font-mono);letter-spacing:.04em;margin:-.7rem 0 1rem;font-size:.58rem;display:block}}.compare-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.86rem}.prose .compare-table{margin:0}.prose .compare-table th,.prose .compare-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .75rem}.prose .compare-table thead th{background:var(--paper-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--ink);font-size:.58rem;font-weight:700}.prose .compare-table td:first-child{color:var(--ink);white-space:nowrap;font-weight:600}.prose .compare-table tr:last-child td{border-bottom:0}.score-table{border-collapse:collapse;background:var(--paper-2);border:1px solid var(--line-strong);width:100%;font-size:.9rem}.score-table th,.score-table td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .8rem}.score-table th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--ink);font-size:.6rem;font-weight:700}.score-table tr:last-child td{border-bottom:0}.score-table td:last-child{font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.callout{border:1.5px solid var(--ink);background:var(--paper-2);box-shadow:5px 5px 0 var(--paper-3);padding:1.2rem 1.25rem}.callout h3{margin-bottom:.4rem;font-size:1.25rem}.callout p{color:var(--ink-soft);font-size:.9rem;line-height:1.6}.callout p:last-child{margin-bottom:0}.callout .callout-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red-deep);margin-bottom:.4rem;font-size:.58rem;font-weight:700}.tip-list{counter-reset:tip;gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.tip-list li{counter-increment:tip;background:var(--paper-2);border:1px solid var(--line);margin:0;padding:.9rem 1rem .9rem 3rem;position:relative}.tip-list li:before{content:counter(tip, decimal-leading-zero);font-family:var(--font-mono);color:var(--red-deep);font-size:.68rem;font-weight:700;position:absolute;top:.85rem;left:.9rem}.tip-list strong{font-family:var(--font-display);margin-bottom:.15rem;font-size:1.1rem;display:block}.tip-list span{color:var(--muted);font-size:.86rem;line-height:1.55}.faq-list{border-top:1.5px solid var(--ink)}.faq-item{border-bottom:1px solid var(--line-strong)}.faq-item summary{cursor:pointer;font-family:var(--font-display);justify-content:space-between;align-items:center;gap:1rem;padding:1rem .2rem;font-size:1.14rem;font-weight:600;line-height:1.3;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--font-mono);color:var(--red-deep);font-size:1.2rem;font-weight:400;transition:transform .2s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item .faq-answer{max-width:74ch;color:var(--ink-soft);padding:0 .2rem 1.1rem;font-size:.92rem;line-height:1.65}.faq-item .faq-answer p:last-child{margin-bottom:0}.lexicon-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.2rem;padding-bottom:.8rem;display:flex}.lexicon-count{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.64rem}.lexicon-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.lex-card{background:var(--paper-2);border:1px solid var(--line-strong);flex-direction:column;min-width:0;padding:.8rem;display:flex}.lex-art{background:linear-gradient(#1c1a160a 1px, transparent 1px), linear-gradient(90deg, #1c1a160a 1px, transparent 1px), var(--paper-3);--art-bg:var(--paper-3);background-size:12px 12px;place-items:center;height:132px;margin-bottom:.6rem;display:grid;overflow:hidden}.lex-art svg{width:auto;max-width:88%;height:100%;max-height:112px;color:var(--ink)}.lex-card .lex-cat{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red-deep);font-size:.53rem;font-weight:700}.lex-card h3{margin:.15rem 0 0;font-size:1.1rem}.lex-card .lex-size{font-family:var(--font-mono);margin-top:.15rem;font-size:.86rem;font-weight:700}.lex-card .lex-fact{color:var(--muted);margin:.4rem 0 0;font-size:.76rem;line-height:1.45}.lex-card .lex-sub{color:var(--muted);font-size:.7rem}.lex-card[hidden]{display:none}.archive-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.archive-item{border:1px solid var(--line-strong);background:var(--paper-2);justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem .9rem;text-decoration:none;display:flex}.archive-item:hover{border-color:var(--ink);background:var(--paper-3);color:var(--ink)}.archive-item .arch-date{font-family:var(--font-display);font-size:1.05rem;font-weight:600;line-height:1.2}.archive-item .arch-meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.54rem}.archive-item .arch-number{font-family:var(--font-mono);color:var(--red-deep);font-size:.68rem}.fact-strip{border:1.5px solid var(--ink);background:var(--paper-2);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.fact-strip>div{border-right:1px solid var(--line);padding:.9rem 1rem}.fact-strip>div:last-child{border-right:0}.fact-strip strong{font-family:var(--font-display);color:var(--red-deep);font-size:1.6rem;line-height:1;display:block}.fact-strip span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;font-size:.54rem;display:block}.note-box{border:1px solid var(--line-strong);background:var(--paper-2);color:var(--muted);padding:1rem 1.1rem;font-size:.85rem;line-height:1.6}.note-box strong{color:var(--ink)}.breadcrumbs{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:.35rem;padding:1.1rem 0 0;font-size:.6rem;display:flex}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--red-deep);text-decoration:underline}.breadcrumbs span[aria-hidden]{color:var(--line-strong)}.toc{border:1px solid var(--line-strong);background:var(--paper-2);margin-top:.4rem;margin-bottom:1.6rem;padding:1rem 1.1rem}.toc-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red-deep);margin-bottom:.55rem;font-size:.6rem;font-weight:700;display:block}.toc-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1.4rem;font-size:.82rem;display:grid}.toc-links a{color:var(--ink-soft);border-bottom:1px dotted #0000;padding:.14rem 0;text-decoration:none}.toc-links a:hover{color:var(--red-deep);border-bottom-color:var(--red);text-decoration:none}.page-head{padding:1.6rem 0 2rem}.page-head h1{max-width:18ch;margin-bottom:.35em;font-size:clamp(2.2rem,5vw,3.8rem)}.page-head .lede{max-width:66ch}.page-meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:.4rem 1rem;margin-top:1.1rem;font-size:.62rem;display:flex}.page-meta span:before{content:"·";color:var(--red);margin-right:.55rem}.page-meta span:first-child:before{content:"";margin:0}.cta-band{border:1.5px solid var(--ink);background:linear-gradient(120deg, #c2452a14, transparent 55%), var(--paper-2);box-shadow:6px 6px 0 var(--paper-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;padding:1.5rem 1.6rem;display:flex}.cta-band h2{margin:0 0 .25rem;font-size:clamp(1.5rem,3vw,2.1rem)}.cta-band p{color:var(--muted);margin:0;font-size:.9rem}.cta-band .btn{flex-shrink:0}.site-footer{padding-bottom:env(safe-area-inset-bottom,0px);border-top:1.5px solid var(--ink);background:var(--paper-3);margin-top:clamp(2rem,5vw,4rem)}.footer-main{grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:2rem;padding:2.2rem 0 1.5rem;display:grid}.footer-brand{font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:.55rem;font-size:1.5rem;font-weight:650;text-decoration:none;display:inline-flex}.footer-brand .brand-mark{width:26px;height:26px;font-size:.8rem}.footer-blurb{color:var(--muted);max-width:40ch;margin:.7rem 0 0;font-size:.82rem;line-height:1.6}.footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;display:grid}.footer-nav h3{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;font-size:.58rem;font-weight:700}.footer-nav a{color:var(--ink-soft);padding:.22rem 0;font-size:.85rem;text-decoration:none;display:block}.footer-nav a:hover{color:var(--red-deep);text-decoration:underline}.footer-bottom{border-top:1px solid var(--line-strong);font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;padding:.9rem 0 1.4rem;font-size:.6rem;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:.4rem 1rem;display:flex}.footer-bottom a{color:var(--muted);text-decoration:none}.footer-bottom a:hover{color:var(--ink);text-decoration:underline}.divider-rule{background:var(--line-strong);border:0;height:1px;margin:2rem 0}.updated-note{font-family:var(--font-mono);letter-spacing:.05em;color:var(--muted);font-size:.6rem}.tag-row{flex-wrap:wrap;gap:.35rem;display:flex}.tag{border:1px solid var(--line-strong);background:var(--paper-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.15rem .45rem;font-size:.54rem;font-weight:600;display:inline-block}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.related-grid a{border:1px solid var(--line-strong);background:var(--paper-2);padding:.9rem 1rem;text-decoration:none;display:block}.related-grid a:hover{border-color:var(--ink);background:var(--paper-3);color:var(--ink)}.related-grid strong{font-family:var(--font-display);font-size:1.1rem;display:block}.related-grid span{color:var(--muted);font-size:.78rem}@media (width<=1040px){.lexicon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.site-nav{display:none}.nav-toggle{display:inline-block}.header-cta{display:none}.masthead-grid{grid-template-columns:1fr;gap:1.8rem}.masthead-aside{display:none}.toc-links{grid-template-columns:1fr}.section-head{grid-template-columns:1fr;gap:.8rem}.steps,.card-grid,.two-grid,.score-grid{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr;gap:1rem}.footer-main{grid-template-columns:1fr;gap:1.5rem}.archive-list,.fact-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.fact-strip>div:nth-child(2){border-right:0}.fact-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=720px){.scene .object-label-svg,.scene .dim-text{display:none}body{background-size:20px 20px,20px 20px,100px 100px,100px 100px;font-size:16px}.wrap,.wrap-narrow{width:min(100% - 1.5rem, var(--wrap))}.header-inner{min-height:60px}.brand{font-size:1.18rem}.masthead{padding-top:1.8rem}.masthead h1{font-size:clamp(2.5rem,11vw,3.6rem)}.game-topbar{flex-wrap:wrap;padding:.8rem .9rem}.game-topbar-actions{order:3;width:100%}.game-hud{flex:1;justify-content:space-between}.game-hud>div{flex:1;padding:.35rem .55rem}.game-steps{padding:.48rem .9rem}.game-step{gap:.2rem;font-size:.52rem}.game-controls{padding:.9rem .9rem 1rem}.object-row{gap:.7rem}.object-card strong{font-size:1rem}.object-card .axis-hint{font-size:.7rem}.slider-row{grid-template-columns:40px minmax(0,1fr) 40px;gap:.55rem}.step-btn{width:40px;height:40px}.guess-readout{text-align:left;grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:.2rem;display:flex}.guess-readout span{display:inline}.action-row{flex-direction:column;align-items:stretch}.btn-lock{width:100%}.board-note{display:none}.result-panel,.final-panel{padding:1.1rem .9rem 1.2rem}.final-bars{gap:.35rem}.fact-strip{grid-template-columns:1fr 1fr}.lexicon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lex-art{height:108px}.lex-art svg{max-height:92px}.archive-list{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}.cta-band{padding:1.2rem}.related-grid{grid-template-columns:1fr}}@media (width<=460px){.masthead-meta{gap:.3rem .7rem;font-size:.58rem}.game-title strong{font-size:.95rem}.game-hud span{font-size:.46rem}.game-hud strong{font-size:.8rem}.object-row{grid-template-columns:1fr;gap:.55rem}.object-card.target{border-top:1px dotted var(--line);padding-top:.55rem}.fact-strip{grid-template-columns:1fr}.fact-strip>div{border-right:0;border-bottom:1px solid var(--line)}.fact-strip>div:last-child{border-bottom:0}.lexicon-grid{grid-template-columns:1fr}.lex-art{height:124px}.footer-nav{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
