@import"https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--paper: #f4ece0;--surface: #fcf8f0;--surface-sunken: #ebe1cf;--ink: #221d15;--ink-soft: #6b6051;--ink-faint: #978b76;--line: #dccfb6;--line-strong: #c7b89a;--accent: #275140;--accent-ink: #214536;--accent-deep: #173529;--accent-soft: #e6ebe1;--accent-line: #bccabc;--oxblood: #8a2f29;--oxblood-ink: #7c2a24;--oxblood-soft: #f1e2dd;--good: #3c7a4f;--good-ink: #2c5d3b;--good-bg: #e7efdf;--bad: #a23529;--bad-ink: #8c2b21;--bad-bg: #f6e5df;--warn: #9a6212;--def-hi: #f2d27d;--def-hi-edge: #e7c25f;--indicator: var(--accent-ink);--stage-A: #2f5d8a;--stage-A-soft: #e1e8f0;--stage-B: #6a4a9c;--stage-B-soft: #e9e3f1;--stage-C: #9a6212;--stage-C-soft: #f1e7d3;--stage-D: #275140;--stage-D-soft: #e6ebe1;--band-gentle: #3c7a4f;--band-moderate: #9a6212;--band-tougher: #a23529;--serif: "Spectral", Georgia, "Times New Roman", serif;--sans: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-300: .75rem;--fs-400: .8125rem;--fs-500: .9375rem;--fs-600: 1.0625rem;--fs-700: 1.25rem;--fs-800: 1.5rem;--fs-900: 2rem;--fs-display: clamp(2.4rem, 5.4vw, 3.5rem);--lh-tight: 1.16;--lh-snug: 1.32;--lh-body: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--radius-sm: 5px;--radius: 9px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(58, 44, 24, .07);--shadow: 0 1px 2px rgba(58, 44, 24, .06), 0 10px 26px rgba(58, 44, 24, .07);--shadow-lg: 0 4px 8px rgba(58, 44, 24, .08), 0 24px 56px rgba(58, 44, 24, .12);--maxw: 1080px;--grain: .5;--ink-on-hi: #221d15;--grid-fill: var(--surface);--grid-block: #2a261f;--grid-line: var(--ink)}:root.theme-dark{--paper: #16171b;--surface: #1f2127;--surface-sunken: #292b32;--ink: #ece9e3;--ink-soft: #abafb8;--ink-faint: #797d86;--line: #2e3037;--line-strong: #40434c;--accent: #2f6650;--accent-ink: #88c6a8;--accent-deep: #3d8568;--accent-soft: #1e2e28;--accent-line: #35463e;--good: #58ac74;--good-ink: #8fd3a5;--good-bg: #1a261d;--bad: #e8806f;--bad-ink: #f3a99d;--bad-bg: #2d1c19;--warn: #cf9438;--stage-A: #5b8cc0;--stage-A-soft: #20303f;--stage-B: #9a7fd0;--stage-B-soft: #29263c;--stage-C: #c79038;--stage-C-soft: #36301f;--stage-D: #4f9276;--stage-D-soft: #1e2e28;--band-gentle: #58ac74;--band-moderate: #c79038;--band-tougher: #e8806f;--grid-fill: #23252b;--grid-block: #0c0d10;--grid-line: #40434c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 26px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .45), 0 24px 56px rgba(0, 0, 0, .65);--grain: .22}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:var(--fs-600);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:calc(.05 * var(--grain));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body>*{position:relative;z-index:1}.nav,.nav-link,.badge,.btn,.stage-pill,.chip,.chip-btn,.bar-label,.cc-type,.hint-label,.home-eyebrow,.stat-num,.stat-label,.tier-tab,.pt-band,.pt-title,.grid-number,.ds-mono,.ref-eyebrow,.pc-hint-btn,.crumb,.field-label,.meta{font-family:var(--sans)}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:var(--lh-tight);color:var(--ink);letter-spacing:-.01em}h1{font-size:var(--fs-900);margin:0 0 var(--space-4)}h2{font-size:var(--fs-800)}h3{font-size:var(--fs-700)}p{text-wrap:pretty}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent-deep)}::selection{background:var(--def-hi);color:var(--ink-on-hi)}:focus-visible{outline:2.5px solid var(--accent-ink);outline-offset:2px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--ink-soft)}.eyebrow,.home-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:var(--fs-300);font-weight:700;color:var(--accent-ink)}.wordmark{font-family:var(--serif);font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}.wordmark .wm-cell{display:inline-block;font-size:.82em;line-height:1;font-weight:700;color:var(--accent-ink);background:var(--surface);border:.08em solid var(--ink);padding:.06em .2em 0;margin-right:.08em;position:relative}.wordmark .wm-cell:after{content:"1";position:absolute;top:.02em;left:.08em;font-family:var(--sans);font-weight:600;font-size:.3em;color:var(--ink-soft);line-height:1}.wordmark .wm-word{letter-spacing:-.01em}.cruci-mark{display:inline-grid;place-items:center;background:var(--surface);color:var(--accent-ink);border:2px solid var(--ink);font-family:var(--serif);font-weight:700;position:relative;aspect-ratio:1;line-height:1}.cruci-mark:after{content:"1";position:absolute;top:6%;left:9%;font-family:var(--sans);font-weight:600;color:var(--ink-soft);font-size:.22em}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) clamp(1rem,4vw,2rem);background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none}.brand .cruci-mark{width:1.9rem;font-size:1.4rem;border-width:1.5px}.brand .cruci-mark:after{content:none}.brand .wordmark{font-size:1.45rem}.nav{display:flex;gap:var(--space-1);align-items:center}.nav-link{padding:.4rem .8rem;border-radius:var(--radius-pill);color:var(--ink-soft);text-decoration:none;font-size:var(--fs-500);font-weight:600;transition:background .12s ease,color .12s ease}.nav-link:hover{background:var(--surface-sunken);color:var(--ink)}.nav-link.active{background:var(--accent);color:#fff}.nav-rest{display:contents}.nav-more{display:none;position:relative}.nav-more-btn{border:0;background:transparent;font-family:inherit;cursor:pointer}.nav-menu{position:absolute;right:0;top:calc(100% + .4rem);display:flex;flex-direction:column;gap:2px;min-width:9.5rem;padding:.3rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);z-index:60}.nav-menu .nav-link{padding:.5rem .8rem}.content{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:clamp(1.2rem,4vw,2.6rem)}.footer{border-top:1px solid var(--line);padding:var(--space-6) var(--space-4);text-align:center;color:var(--ink-soft);font-size:var(--fs-400);font-family:var(--sans)}.footer .wordmark{font-size:1.05rem;opacity:.8}.lede{font-size:var(--fs-700);line-height:var(--lh-snug);color:var(--ink-soft);max-width:60ch;font-weight:400}.btn{font-family:var(--sans);text-decoration:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:.55rem 1.1rem;font-size:var(--fs-500);font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .06s ease;display:inline-flex;align-items:center;gap:.45rem}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep)}.btn-ghost{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover{background:var(--surface-sunken)}.btn-ghost.danger{color:var(--bad-ink);border-color:color-mix(in srgb,var(--bad) 50%,var(--line))}.btn-ghost.danger:hover{background:var(--bad-bg)}.btn-lg{padding:.7rem 1.5rem;font-size:var(--fs-600)}.rule{border:0;border-top:1px solid var(--line);margin:var(--space-6) 0}.rule-strong{border-top:1px solid var(--line-strong)}.theme-oxblood{--accent: #883029;--accent-ink: #7c2b24;--accent-deep: #5e1f1a;--accent-soft: #f1e2dc;--accent-line: #ddbcb4;--stage-D: #883029;--stage-D-soft: #f1e2dc;--indicator: #7c2b24}.theme-inkblue{--accent: #234a74;--accent-ink: #1e3f64;--accent-deep: #152c46;--accent-soft: #e1e7f0;--accent-line: #b7c6da;--stage-D: #234a74;--stage-D-soft: #e1e7f0;--indicator: #1e3f64}@media (max-width: 760px){.topbar{gap:var(--space-2);padding:var(--space-3) var(--space-4)}.nav{gap:0;min-width:0;flex-wrap:nowrap}.nav-link{padding:.35rem .55rem;font-size:var(--fs-400);white-space:nowrap}.nav-rest{display:none}.nav-more{display:block}}@media (max-width: 560px){.brand .wm-word{display:none}.nav-link{padding:.32rem .5rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.competence-board{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);margin:var(--space-5) 0;box-shadow:var(--shadow)}.competence-board>h2{margin:0 0 var(--space-1);font-size:var(--fs-700)}.competence-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.competence-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:.35rem .4rem .35rem .75rem;background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-pill);font-family:var(--sans);font-size:var(--fs-400)}.cc-type{color:var(--ink);font-weight:500}.cc-stage{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;color:#fff;font-weight:700;font-size:var(--fs-400);font-family:var(--sans)}.competence-note{margin:var(--space-4) 0 0;font-size:var(--fs-500);color:var(--ink-soft);font-family:var(--sans)}.stage-A{background:var(--stage-A)}.stage-B{background:var(--stage-B)}.stage-C{background:var(--stage-C)}.stage-D{background:var(--stage-D)}.stage-block{margin:var(--space-7) 0}.stage-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.stage-header h2{margin:0;font-size:var(--fs-800)}.stage-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .75rem;border-radius:var(--radius-pill);color:#fff;font-family:var(--sans);font-size:var(--fs-400);font-weight:700;letter-spacing:.02em}.stage-pill .pill-letter{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:#ffffff47;font-weight:800}.stage-pill.ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.lesson-tile{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease;position:relative}.lesson-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-strong)}.lesson-tile.locked{opacity:.62;box-shadow:none;cursor:not-allowed}.lesson-tile.locked:hover{transform:none}.lesson-tile.complete{border-color:var(--accent-line)}.lesson-tile-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.lesson-tile-head h3{margin:0;font-size:var(--fs-700)}.lesson-num{font-family:var(--mono);color:var(--ink-faint);font-size:var(--fs-400);font-weight:500}.tick{color:var(--good);font-weight:800;font-family:var(--sans)}.lock-ico{color:var(--ink-faint);font-family:var(--sans);font-size:var(--fs-400)}.lesson-blurb{margin:0;font-size:var(--fs-500);color:var(--ink-soft);line-height:var(--lh-snug);flex:1}.lesson-progress{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.bar{flex:1;height:6px;background:var(--surface-sunken);border-radius:var(--radius-pill);overflow:hidden}.bar-fill{height:100%;background:var(--good);border-radius:var(--radius-pill);transition:width .4s ease}.bar-label{font-size:var(--fs-400);color:var(--ink-soft);white-space:nowrap}.crumb{margin-bottom:var(--space-4);font-size:var(--fs-500);color:var(--ink-soft)}.crumb a{color:var(--accent-ink)}.lesson-page-head{margin-bottom:var(--space-5)}.lesson-page-head .stage-pill{margin-bottom:var(--space-3)}.lesson-page-head h1{margin:0 0 var(--space-2)}.clue-stack{display:flex;flex-direction:column;gap:var(--space-5)}.clue-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow);position:relative}.clue-card:before{content:"";position:absolute;top:0;left:var(--space-5);width:34px;height:4px;background:var(--accent);border-radius:0 0 2px 2px}.clue-card.solved{border-color:var(--accent-line);background:linear-gradient(180deg,var(--good-bg),var(--surface) 42%)}.clue-card.solved:before{background:var(--good)}.clue-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.clue-line{margin:0;font-size:var(--fs-800);line-height:var(--lh-snug);font-weight:500}.clue-line .enum{color:var(--ink-faint);font-family:var(--mono);font-size:.7em}.definition{background:linear-gradient(180deg,transparent 8%,var(--def-hi) 8%,var(--def-hi) 88%,transparent 88%);box-shadow:0 0 0 .5px var(--def-hi-edge);color:var(--ink-on-hi);padding:0 .12em;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.indicator-mark{background:transparent;color:inherit;border-bottom:2.5px solid var(--indicator);padding-bottom:1px}.badge{flex-shrink:0;padding:.24rem .6rem;border-radius:var(--radius-pill);font-size:var(--fs-300);font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-line);white-space:nowrap}.answer-strip{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:var(--space-2) 0 var(--space-5)}.cell-wrap{display:inline-flex;align-items:center}.cell{width:2.7rem;height:2.7rem;text-align:center;font-size:var(--fs-700);font-weight:600;text-transform:uppercase;font-family:var(--mono);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);caret-color:var(--accent);transition:border-color .1s ease,box-shadow .1s ease}.cell::placeholder{color:transparent}.cell:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cell.locked{background:var(--surface-sunken);color:var(--ink-soft)}.word-gap{width:.85rem}.answer-strip.correct .cell{border-color:var(--good);background:var(--good-bg);color:var(--good-ink)}.answer-strip.wrong .cell{border-color:var(--bad);animation:shake .26s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.clue-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.solved-flag{color:var(--good-ink);font-weight:700;font-family:var(--sans);font-size:var(--fs-500)}.feedback{margin:var(--space-3) 0 0;font-size:var(--fs-500);font-family:var(--sans)}.feedback.wrong{color:var(--bad-ink)}.device-note{margin:var(--space-3) 0 0;font-size:var(--fs-500);color:var(--ink-soft);font-style:italic}.hint-ladder{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--line-strong)}.hint-ladder>.ladder-title{font-family:var(--sans);font-size:var(--fs-400);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0 0 var(--space-3)}.hint-list{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.hint{padding:.6rem .8rem .6rem 2.4rem;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--line);position:relative}.hint .rung-num{position:absolute;left:.7rem;top:.62rem;width:1.3rem;height:1.3rem;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-family:var(--sans);font-size:var(--fs-300);font-weight:700}.hint.hidden{opacity:1;background:transparent;border-style:dashed;border-color:var(--line)}.hint.hidden .rung-num{background:transparent;color:var(--ink-faint);border:1.5px solid var(--line-strong)}.hint.hidden .hint-text{color:var(--ink-faint)}.hint-label{display:block;font-size:var(--fs-300);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-ink);margin-bottom:1px}.hint-text{font-size:var(--fs-600)}.hint-reveal-btn{margin-top:var(--space-1)}.lesson-complete{margin-top:var(--space-6);padding:var(--space-5);background:var(--good-bg);border:1px solid var(--accent-line);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.lesson-complete p{margin:0}.lesson-complete h3{margin:0 0 .2rem}.puzzle-layout{display:grid;grid-template-columns:auto minmax(280px,1fr);gap:var(--space-6);align-items:start}.mini-grid{--cell: var(--cell-max, 2.7rem);display:grid;gap:1px;background:var(--grid-line, var(--ink));padding:2px;border:2px solid var(--grid-line, var(--ink));border-radius:3px;width:max-content;max-width:100%;outline:none;box-shadow:var(--shadow)}.mini-grid:focus-visible{box-shadow:0 0 0 3px var(--accent-soft),0 0 0 5px var(--accent)}.grid-cell{position:relative;width:var(--cell);height:var(--cell);background:var(--grid-fill, var(--surface));display:grid;place-items:center;font-family:var(--mono);font-weight:600;font-size:calc(var(--cell) * .48);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.grid-cell.black{background:var(--grid-block, #2a261f);cursor:default}.grid-cell.in-entry{background:var(--accent-soft)}.grid-cell.cursor{background:var(--def-hi);color:var(--ink-on-hi);box-shadow:inset 0 0 0 2.5px var(--accent)}.grid-cell.correct{color:var(--good-ink)}.grid-cell.wrong{color:var(--bad)}.grid-cell.wrong:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 2px var(--bad)}.grid-number{position:absolute;top:1px;left:3px;font-size:.62rem;font-weight:600;color:var(--ink-soft);font-family:var(--sans);line-height:1}.grid-letter{pointer-events:none}.puzzle-side{min-width:0}.puzzle-controls{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.clue-group h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--fs-600);font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.puzzle-clue-list{list-style:none;margin:0;padding:0}.puzzle-clue{border-radius:var(--radius-sm)}.puzzle-clue.active{background:var(--accent-soft)}.puzzle-clue-btn{display:flex;gap:var(--space-2);width:100%;text-align:left;background:none;border:none;padding:.4rem .55rem;cursor:pointer;font:inherit;font-size:var(--fs-600);color:inherit}.puzzle-clue.solved .pc-text{color:var(--good-ink)}.pc-num{font-weight:700;color:var(--ink-soft);min-width:1.5rem;font-family:var(--mono)}.pc-text .enum{color:var(--ink-faint);font-family:var(--mono);font-size:.85em}.pc-parse{margin:0 0 var(--space-2) 2.05rem;font-size:var(--fs-400);color:var(--ink-soft);font-style:italic}.pc-hints{display:flex;gap:var(--space-2);margin:.1rem 0 var(--space-2) 2.05rem}.pc-hint-btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-pill);padding:.18rem .7rem;font-size:var(--fs-400);cursor:pointer;color:var(--accent-ink);font-weight:600}.pc-hint-btn:hover{background:var(--accent-soft)}.pc-hint-note{margin:0 0 var(--space-2) 2.05rem;font-size:var(--fs-400);color:var(--ink-soft);font-family:var(--sans)}.puzzle-done{background:var(--good-bg);border:1px solid var(--accent-line);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.field-label{display:block;font-size:var(--fs-400);color:var(--ink-soft);margin-bottom:var(--space-2);font-family:var(--sans);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.analyzer-select{display:block;margin-bottom:var(--space-5)}.analyzer-select select,.search,select.input,input.input{width:100%;max-width:640px;padding:.65rem .85rem;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);font-size:var(--fs-600);background:var(--surface);color:var(--ink);font-family:var(--serif)}.analyzer-stage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow)}.analyzer-clue{font-size:var(--fs-900);margin:0 0 var(--space-4);line-height:var(--lh-snug);font-weight:500}.analyzer-steps{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.analyzer-steps .btn{font-size:var(--fs-400);padding:.35rem .7rem}.analyzer-steps .btn.done{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}.analyzer-readout{display:flex;flex-direction:column;gap:var(--space-3)}.readout-row{display:grid;grid-template-columns:8.5rem 1fr;gap:var(--space-3);align-items:start;padding:var(--space-3) 0;border-top:1px solid var(--line)}.readout-row .rk{font-family:var(--sans);font-size:var(--fs-400);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);padding-top:2px}.readout-row .rv{font-size:var(--fs-600)}.indicator-hits{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.indicator-hits code,.abbr-table code,code.tok{background:var(--surface-sunken);padding:.08rem .4rem;border-radius:4px;font-family:var(--mono);font-size:.85em;color:var(--ink);border:1px solid var(--line)}.ref-section{margin-bottom:var(--space-7)}.ref-section>h2{margin:0 0 var(--space-2)}.indicator-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.indicator-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm)}.indicator-card h3{margin:0 0 .15rem;font-size:var(--fs-700)}.indicator-card .muted{font-size:var(--fs-400);margin:0 0 var(--space-3);font-family:var(--sans);line-height:var(--lh-snug)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-pill);padding:.22rem .65rem;font-size:var(--fs-400)}.abbr-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.abbr-table th,.abbr-table td{text-align:left;padding:.6rem .85rem;border-bottom:1px solid var(--line);font-size:var(--fs-500)}.abbr-table tr:last-child td{border-bottom:0}.abbr-table th{background:var(--surface-sunken);font-family:var(--sans);font-size:var(--fs-300);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700}.abbr-table td:first-child{font-weight:500}.home-hero{text-align:center;padding:var(--space-6) 0 var(--space-2);max-width:760px;margin:0 auto}.home-eyebrow{margin:0 0 var(--space-3)}.home-hero h1{font-size:var(--fs-display);margin:0 0 var(--space-4);line-height:1.05}.home-hero .lede{margin:0 auto var(--space-5)}.home-equation{font-family:var(--serif);font-size:var(--fs-700);font-style:italic;color:var(--ink);margin:0 auto var(--space-5);max-width:40ch}.home-equation .definition,.home-equation .indicator-mark{font-style:normal}.home-cta{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.home-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin:var(--space-7) 0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);text-align:center;box-shadow:var(--shadow-sm)}.stat-num{display:block;font-size:var(--fs-900);font-weight:800;color:var(--accent-ink);font-family:var(--serif);line-height:1}.stat-label{font-size:var(--fs-400);color:var(--ink-soft)}.stat .cc-stage{margin:0 auto .3rem;width:2rem;height:2rem;font-size:var(--fs-600)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin:var(--space-6) 0 var(--space-4)}.section-head h2{margin:0}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.home-card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform .1s ease,box-shadow .1s ease,border-color .1s ease;position:relative;overflow:hidden}.home-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-strong)}.home-card .card-mark{width:2.2rem;height:2.2rem;border:1.5px solid var(--accent);background:var(--surface);display:grid;place-items:center;font-family:var(--mono);font-weight:600;color:var(--accent-ink);border-radius:3px;position:relative}.home-card .card-mark:before{content:"";position:absolute;top:1px;left:2px;font-size:.5rem}.home-card h2{margin:var(--space-1) 0 0;font-size:var(--fs-700)}.home-card p{margin:0;color:var(--ink-soft);font-size:var(--fs-500);line-height:var(--lh-snug)}.home-card .card-go{margin-top:auto;font-family:var(--sans);font-weight:700;font-size:var(--fs-400);color:var(--accent-ink)}.tier-tabs{display:flex;gap:var(--space-3);margin:var(--space-5) 0}.tier-tab{display:flex;flex-direction:column;gap:.1rem;flex:1;text-align:left;padding:var(--space-3) var(--space-4);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-family:var(--sans);transition:border-color .1s ease,background .1s ease}.tier-tab:hover{border-color:var(--line-strong)}.tier-tab.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.tier-label{font-weight:700;font-size:var(--fs-600);color:var(--ink)}.tier-note{font-size:var(--fs-400);color:var(--ink-soft)}.featured{margin-bottom:var(--space-6)}.featured h2,.play-toolbar h2{font-size:var(--fs-700);margin:0 0 var(--space-3)}.featured-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:linear-gradient(110deg,var(--accent-soft),var(--surface) 70%);border:1px solid var(--accent-line);border-radius:var(--radius-lg);padding:var(--space-5);text-decoration:none;color:inherit;box-shadow:var(--shadow)}.featured-card .feat-mini{flex-shrink:0}.featured-card h3{margin:0 0 .2rem;font-size:var(--fs-700)}.featured-card p{margin:0;color:var(--ink-soft);font-size:var(--fs-500)}.featured-go{font-family:var(--sans);font-weight:700;color:var(--accent-ink);white-space:nowrap}.play-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-2)}.band-filter{display:flex;gap:var(--space-2)}.chip-btn{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);padding:.3rem .85rem;font-size:var(--fs-400);cursor:pointer;font-weight:600;color:var(--ink-soft)}.chip-btn:hover{border-color:var(--line-strong)}.chip-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.play-progress-note{margin:var(--space-2) 0 var(--space-4);font-size:var(--fs-500);color:var(--ink-soft);font-family:var(--sans)}.puzzle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.puzzle-tile{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform .1s ease,box-shadow .1s ease}.puzzle-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.puzzle-tile.done{border-color:var(--accent-line);background:linear-gradient(180deg,var(--good-bg),var(--surface) 60%)}.pt-top{display:flex;align-items:center;justify-content:space-between}.pt-title{font-weight:700;font-family:var(--sans);font-size:var(--fs-600)}.pt-tick{color:var(--good);font-weight:800}.pt-band{align-self:flex-start;font-size:var(--fs-300);font-weight:700;padding:.12rem .55rem;border-radius:var(--radius-pill);color:#fff;letter-spacing:.03em;text-transform:uppercase}.band-gentle{background:var(--band-gentle)}.band-moderate{background:var(--band-moderate)}.band-tougher{background:var(--band-tougher)}.pt-meta{font-size:var(--fs-400);color:var(--ink-soft);font-family:var(--sans)}.prose{max-width:68ch}.prose h2{margin-top:var(--space-6)}.prose ol,.prose ul{padding-left:1.3rem}.prose li{margin:.35rem 0}@media (max-width: 760px){.puzzle-layout{grid-template-columns:1fr}.clue-line{font-size:var(--fs-700)}.analyzer-clue{font-size:var(--fs-800)}.readout-row{grid-template-columns:1fr;gap:var(--space-1)}}.home-foot{text-align:center;margin-bottom:var(--space-4)}.home-foot a{font-family:var(--sans)}.home-hero-compact{padding-bottom:var(--space-4)}.daily-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);max-width:42rem;margin:var(--space-4) auto 0}.daily-card h1{margin:0 0 var(--space-2);font-size:var(--fs-800)}.daily-bridges{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;margin-top:var(--space-4)}.streak-chip{display:inline-flex;align-items:center;gap:.3rem;min-height:2.1rem;padding:0 .7rem;flex:none;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-family:var(--sans);font-weight:700;font-size:var(--fs-400);text-decoration:none}.streak-chip:hover{background:var(--surface-sunken)}@media (max-width: 760px){.streak-chip{min-height:2.5rem;padding:0 .85rem}}.page-foot{margin-top:var(--space-7);text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--ink) 46%,transparent);animation:fade-in .16s ease both}.modal-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-7) var(--space-6) var(--space-6);text-align:center;animation:modal-in .18s ease both}.modal-card:focus{outline:none}.pc-dismiss{position:absolute;top:var(--space-2);right:var(--space-3);background:none;border:0;cursor:pointer;line-height:1;font-size:1.6rem;color:var(--ink-faint);padding:.2rem .4rem}.pc-dismiss:hover{color:var(--ink)}.pc-mark{display:grid;place-items:center;width:3.4rem;height:3.4rem;margin:0 auto var(--space-4);border:2px solid var(--accent);border-radius:7px;background:var(--accent-soft);color:var(--accent-ink);font-size:1.7rem;font-weight:800}.pc-card h2{margin:0 0 var(--space-2)}.pc-card>p{margin:0 auto var(--space-5);color:var(--ink-soft);font-size:var(--fs-600);max-width:32ch}.pc-actions{display:flex;flex-direction:column;gap:var(--space-2)}.pc-actions .btn{width:100%;justify-content:center}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-8%;width:8px;height:13px;border-radius:1px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.3,.6,.5,1);animation-fill-mode:forwards}.confetti-piece.wide{width:12px;height:8px}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translate(var(--drift, 0),110vh) rotate(540deg);opacity:.85}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.confetti{display:none}}.topbar-end{display:flex;align-items:center;gap:var(--space-2);min-width:0}.theme-toggle{flex:none;display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.theme-toggle:hover{background:var(--surface-sunken);color:var(--ink);border-color:var(--ink-faint)}.mini-grid{position:relative}.mini-grid:focus-within{box-shadow:0 0 0 3px var(--accent-soft),0 0 0 5px var(--accent)}.grid-input{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;padding:0;border:0;font-size:16px;opacity:0;pointer-events:none;background:transparent;color:transparent;caret-color:transparent}@media (max-width: 760px){.mini-grid{--cell: min(var(--cell-max, 2.7rem), calc((100vw - 3rem) / var(--cols, 7)))}}.daily-newcomer{margin-top:var(--space-3);font-size:var(--fs-500)}.daily-newcomer a{color:var(--accent-ink);font-family:var(--sans)}.par-meter{display:flex;gap:6px;align-items:flex-start;margin:0 0 var(--space-4);min-height:2rem}.par-slot{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.par-dot{width:.9rem;height:.9rem;border-radius:3px;border:1.5px solid var(--line-strong);background:var(--surface)}.par-dot.spent{background:var(--accent);border-color:var(--accent)}.par-dot.over{background:var(--oxblood);border-color:var(--oxblood)}.par-mark{font-family:var(--sans);font-size:var(--fs-300);font-weight:700;font-style:italic;color:var(--ink-soft);line-height:1}.hint-menu{margin-top:var(--space-4);padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-sunken);max-width:26rem}.hint-menu-title{margin:0 0 var(--space-2);font-family:var(--sans);font-size:var(--fs-300);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.hint-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.hint-menu-item{width:100%;min-height:2.6rem;padding:0 var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-family:var(--sans);font-size:var(--fs-500);font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;text-align:left}.hint-menu-item:hover:not(:disabled){border-color:var(--accent)}.hint-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hint-menu-item:disabled{opacity:.5;cursor:default;text-decoration:line-through}.hint-menu-cost{font-family:var(--mono);font-size:var(--fs-400);color:var(--ink-soft)}.daily-hints{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.daily-hints .hint{padding-left:.8rem}.daily-explain{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--line-strong)}.daily-explain .ladder-title{font-family:var(--sans);font-size:var(--fs-400);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0}.daily-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);font-family:var(--sans);font-size:var(--fs-500)}.daily-date{color:var(--ink-soft);font-family:var(--sans);font-size:var(--fs-500);margin:0 0 var(--space-2)}.daily-archive{list-style:none;margin:var(--space-5) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.daily-archive a{display:grid;grid-template-columns:5.5rem 1fr auto;align-items:center;gap:var(--space-3);min-height:3rem;padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;font-family:var(--sans)}.daily-archive a:hover{border-color:var(--accent)}.daily-archive .num{font-weight:700;font-family:var(--serif);font-size:var(--fs-700)}.daily-archive .date{color:var(--ink-soft);font-size:var(--fs-500)}.daily-archive .result{font-size:var(--fs-400);font-weight:700;color:var(--ink-faint);text-align:right}.daily-archive .result.done{color:var(--good-ink)}.daily-archive .result.today{color:var(--accent-ink)}@media (max-width: 480px){.daily-archive a{grid-template-columns:3.6rem 1fr}.daily-archive .result{grid-column:2;text-align:left}}
