:root{--bg:#f5f1e8;--paper:#fffcf5;--ink:#243d37;--muted:#59645a;--line:#d5d6c8;--green:#184c41;--accent:#a75b36;--soft:#e8eddf;--selected:#e9bd69;--error:#a52328;--size:44px;--font:1rem;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:var(--font)/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}body.dark{--bg:#142922;--paper:#1d352d;--ink:#f3efde;--muted:#c1c9b9;--line:#587063;--green:#a6d6b5;--accent:#efbd87;--soft:#2c483b;--selected:#e9bd69;--error:#ffb6ac;color-scheme:dark}body.large{--font:1.18rem;--size:50px}button,input,select,textarea{font:inherit}button,.filebutton{min-height:44px;border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:var(--paper);color:var(--ink);cursor:pointer;font-size:.92em;font-weight:600}button:hover,.filebutton:hover{border-color:var(--green);background:var(--soft)}button:disabled{opacity:.48;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--green)}input,select,textarea{max-width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:10px;min-height:44px}label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92em}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12}h1{font-size:clamp(2.8rem,6vw,5.4rem);letter-spacing:-.05em;margin:10px 0 20px}h1 em{font-weight:400;color:var(--green)}h2{font-size:2.25em;margin:6px 0 22px}h3{font-size:1.45em;margin:10px 0 16px}p{margin:8px 0 18px}[hidden]{display:none!important}.mast{max-width:1440px;margin:auto;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:.85em}.brand{letter-spacing:.15em;font-weight:750}.brand span,footer span{font-style:italic}.brand .edition{font-style:normal;letter-spacing:.12em;margin-left:24px;color:var(--muted);font-size:.75em}main{max-width:1440px;margin:auto;padding:0 40px}.hero{padding:45px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:30px}.eyebrow{font-size:.72em;letter-spacing:.15em;font-weight:700;color:var(--muted);margin:0 0 10px}.tagline{font-size:1.1em;color:var(--muted)}.hero-note{border-left:1px solid var(--line);padding-left:35px;max-width:350px;font-family:Georgia,serif;font-size:1.2em}.ornament{font-size:3em;line-height:1;color:var(--accent)}.hero-note button{font-family:system-ui,sans-serif;font-size:.72em}.tabs{display:flex;gap:9px;padding:0 0 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs button{background:none;border-color:transparent}.tabs button[aria-current]{background:var(--green);color:var(--paper)}body.dark .tabs button[aria-current]{color:var(--bg)}.panel{padding:32px 0}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:15px}.filters,.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:15px 0}.filters label{flex:1;min-width:180px}.muted,small{color:var(--muted);font-size:.88em}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.card{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:24px;display:flex;flex-direction:column;position:relative;min-width:0}.card h3{font-size:1.5em;margin-top:18px}.card .card-top{display:flex;justify-content:space-between;gap:5px;font-size:.72em;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.card .card-desc{color:var(--muted);font-size:.85em;flex:1}.card button{align-self:start;margin-top:10px}.card.john{border-top:4px solid var(--accent)}.card .badge{font-size:.8em}.progress{display:grid;text-align:right;color:var(--muted);font-size:.9em}.solving{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}.quote-panel,.clue-panel,.assist,.completion,.tutorial,.inventory{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:10px;min-width:0}.quote-grid{display:flex;flex-wrap:wrap;column-gap:14px;row-gap:16px;align-items:end;margin:28px 0;scroll-margin-top:12px}.quote-word{display:inline-flex;gap:3px;max-width:100%;flex-wrap:wrap;align-items:end}.quote-newline{flex-basis:100%;height:0}.punctuation{font:1.3em Georgia,serif;align-self:end;padding-bottom:4px}.cell{display:inline-flex;flex-direction:column;position:relative;width:var(--size);flex-shrink:0}.cell .number{font-size:10px;color:var(--muted);line-height:14px;padding-left:3px;pointer-events:none}.cell input{min-height:var(--size);width:var(--size);height:var(--size);border-radius:3px;padding:0;text-align:center;font-size:1.1rem;font-weight:650;caret-color:var(--ink);text-transform:uppercase;scroll-margin:90px 0;background:var(--bg)}.cell.active input{background:var(--selected);color:#20372e;border-color:#8b5c0a;box-shadow:0 0 0 2px var(--accent)}.cell.revealed input{border-bottom:3px solid var(--green)}.cell.revealed:after{content:'↗';position:absolute;top:0;right:1px;font-size:10px;color:var(--green)}.cell.wrong input{border:2px solid var(--error)}.cell.wrong:after{content:'×';position:absolute;right:0;top:-2px;font-size:12px;color:var(--error);font-weight:800}.clue{padding:18px 8px;border-bottom:1px solid var(--line);scroll-margin:70px 0;border-left:3px solid transparent}.clue.active-clue{border-left-color:var(--accent);background:var(--soft)}.clue p{margin:0 0 10px;font-size:.95em}.clue-label{font-weight:750;margin-right:10px;color:var(--green)}.answer-grid{display:flex;flex-wrap:wrap;gap:3px}.identity{border-top:1px solid var(--line);padding-top:20px}#initials{display:flex;flex-wrap:wrap;gap:4px;font-family:Georgia,serif;font-size:1.1em}#initials span{padding:4px 6px;min-width:24px;border-bottom:1px solid var(--line)}#initials .space{width:12px;border:0}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.7em;color:var(--muted);margin-top:28px}.assist{margin-top:25px;background:var(--soft)}.completion{margin-top:24px;border:2px solid var(--green)}blockquote{white-space:pre-wrap;font-family:Georgia,serif;font-size:1.55em;margin:25px 0}.completion p{overflow-wrap:anywhere}.tutorial{background:var(--soft);margin-bottom:20px}.tutorial p{max-width:70ch}.notice{padding:15px;border:2px solid var(--accent);margin-top:20px;border-radius:7px}.prose{max-width:950px}.prose li{margin:12px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.wide{grid-column:1/-1}textarea{resize:vertical;width:100%}.inventory{margin:20px 0}#inventory{display:flex;flex-wrap:wrap;gap:6px}#inventory span{background:var(--soft);padding:5px 8px;border-radius:4px;font-size:.85em}#inventory .excess{color:var(--error);border:1px solid var(--error)}.check{flex-direction:row;align-items:center;gap:12px}.check input{width:22px;min-height:22px;height:22px}.filebutton{display:inline-flex;position:relative;overflow:hidden}.filebutton input{max-width:230px;font-size:.8em;border:0;padding:0;min-height:24px}.suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.suggestions button{max-width:100%;text-align:left;font-size:.8em}.valid{color:var(--green);font-weight:700}.invalid{color:var(--error)}footer{border-top:1px solid var(--line);padding:30px 0;margin-top:25px;font-size:.8em;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;z-index:10;background:var(--paper);padding:12px}@media(max-width:1000px){.edition{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.solving{grid-template-columns:1fr}.hero-note{max-width:280px}.quote-panel{max-width:100%}.hero{padding-top:30px}}@media(max-width:600px){main{padding:0 16px}.mast{padding:16px;align-items:start;gap:8px;flex-wrap:wrap}.brand{font-size:.9em}.hero{display:block;padding:24px 0 16px}.hero-note{padding-left:0;border-left:0;max-width:100%;font-size:1em}.hero-note .ornament,.hero-note p{display:none}.hero-note button{font-size:.9em}.tagline{margin-bottom:18px}.tabs{gap:2px}.tabs button{padding:9px 10px;font-size:.78em}.panel{padding:24px 0}.cards{grid-template-columns:1fr}.sectionhead{align-items:start;flex-wrap:wrap}.sectionhead h2{font-size:1.9em}.sectionhead .progress{text-align:left}.filters label{min-width:130px}.quote-panel,.clue-panel,.assist,.completion,.tutorial,.inventory{padding:16px}.quote-grid{column-gap:11px;row-gap:13px}.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.cell{--size:44px}body.large .cell{--size:50px}.toolbar{gap:7px}.toolbar button{font-size:.83em;padding:9px 10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(min-width:1001px) and (min-height:850px){.quote-panel{position:sticky;top:16px}}
