/* Mechanic: one line through several meanings. Quiet editorial typography. */
:root { --game-accent:#b45d43; --t-accent:#edc4ad; }
html[data-theme="dark"] { --game-accent:#e6a082; }
.site-header { grid-template-columns:1fr auto 1fr; }
.thread-shell { width:min(790px,calc(100% - 40px)); margin:32px auto 0; }
.thread-intro { margin-bottom:24px; align-items:center; }
.thread-intro h1 { font:400 35px/1.15 Georgia,serif; letter-spacing:-.035em; }
.thread-intro .eyebrow { display:none; }
.intro-note { font:11px/1.6 var(--cab-mono); max-width:170px; }
.thread-mark { border:0; font:italic 25px Georgia,serif; width:20px; }
.section-tabs { border-bottom:1px solid var(--t-line); gap:4px; padding-bottom:0; margin-bottom:26px; }
.section-tab { border:0; border-radius:0; background:none; min-height:38px; font-size:12px; }
.section-tab[aria-current="page"] { box-shadow:inset 0 -2px var(--t-ink); background:none; }
.puzzle-card { border:0; border-radius:0; background:none; box-shadow:none; }
.puzzle-top { padding:0 0 16px; border-bottom:1px solid var(--t-line); background:transparent; }
.puzzle-heading,.clue-heading { margin:25px 0; }
.clue-heading h3:not(.encode-heading) { font:400 clamp(38px,7vw,64px)/1.15 Georgia,serif; letter-spacing:-.045em; }
.choice-board { position:relative; isolation:isolate; margin:22px 0; padding:0; }
.choice-row { position:relative; }
.choices { gap:8px; }
.choice { position:relative; z-index:1; min-height:60px; border-radius:2px; background:var(--t-bg); font:600 13px var(--cab-sans); letter-spacing:.035em; border-color:var(--t-line); transition:background-color 120ms,border-color 120ms,transform 80ms; }
.choice:hover:not(:disabled) { border-color:var(--game-accent); }
.choice:active:not(:disabled) { transform:translateY(1px); }
.choice.selected,.choice.target,.choice.locked { box-shadow:inset 0 -3px var(--game-accent); border-color:var(--game-accent); background:var(--t-panel); color:var(--t-ink); }
.thread-trace { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; overflow:visible; }
.thread-trace path { fill:none; stroke:var(--game-accent); stroke-width:1.5; opacity:.55; }
.clue-entry { padding:0; }
.clue-entry input { border-radius:2px; background:transparent; font-size:18px; height:46px; }
.puzzle-actions,.puzzle-bottom { padding:16px 0; }
.action-link,.round-strip span { border-radius:2px; }
.panel-heading h2 { font-family:Georgia,serif; font-size:23px; font-weight:400; }
.thread-footer { margin-top:28px; }
@media(max-width:720px){.site-header{grid-template-columns:auto 1fr}.site-header > nav{grid-row:1;grid-column:2}.site-header > .wordmark{display:none}.thread-shell{width:calc(100% - 28px);margin-top:23px}.thread-intro{margin-bottom:19px}.thread-intro h1{font-size:29px}.intro-note{max-width:128px;font-size:10px}.choice-board{margin-inline:0}.choice{min-height:54px;font-size:11px;padding-inline:3px}.choices{gap:5px}.section-tabs{margin-bottom:22px}.clue-heading h3:not(.encode-heading){font-size:42px}}
@media(max-width:380px){.thread-shell{width:calc(100% - 20px)}.intro-note{display:none}.choice{font-size:10px;letter-spacing:0}.choices{gap:4px}}

/* A live puzzle, not a landing page: protect the board and clue input. */
.thread-intro{display:none}.thread-shell{margin-top:24px;width:min(750px,calc(100% - 40px))}
.section-tabs{margin-bottom:22px}.panel-heading{margin-bottom:14px}.panel-heading h2{font-size:22px}
.clue-heading{margin:0;padding:22px 0 15px}.clue-heading h3:not(.encode-heading){font-size:54px}.clue-heading .encode-heading{font:400 27px/1.3 Georgia,serif}
.puzzle-top{min-height:32px;padding:0 0 10px}.puzzle-controls{padding:15px 0;border-top:1px solid var(--t-line)}
.choice.target::before{display:none}.choice[aria-checked=true]{background:var(--t-panel);color:var(--t-ink);box-shadow:inset 0 -3px var(--game-accent)}
.panel-heading .mode-switch{border:0;border-radius:0;background:none;gap:3px;padding:0}.mode-switch a{border-radius:2px;font-size:12px;padding:8px 12px}
@media(max-width:720px){.site-header{display:flex;flex-wrap:nowrap;justify-content:space-between}.site-header>.wordmark{display:flex;font-size:15px}.thread-mark{display:none}.site-header>nav{margin-left:0;display:flex}.site-header .back-link{font-size:11px}.thread-shell{width:calc(100% - 28px);margin-top:17px}.section-tabs{margin-bottom:20px}.panel-heading{gap:8px;margin-bottom:15px}.panel-heading h2{font-size:21px}.panel-heading p{font-size:11px}.clue-heading{padding:19px 0 12px}.clue-heading h3:not(.encode-heading){font-size:43px}.clue-heading .encode-heading{font-size:23px}.choice-board{margin:10px 0 17px}.choice{min-height:47px}.row-result{min-height:17px}.puzzle-controls{padding:12px 0}.below-board{margin-top:17px}.thread-footer{margin-top:26px}}
