:root{--paper:#f4f2eb;--card:#fffef8;--ink:#153b42;--muted:#6e7c7c;--line:#d8ded7;--accent:#cf702c;--soft:#e8efea;--danger:#b63837;--green:#26744b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{opacity:.55;cursor:wait}button{border:1px solid var(--line);border-radius:9px;padding:9px 13px;background:var(--card);color:var(--ink);min-height:42px}button:hover{border-color:var(--ink)}[hidden]{display:none!important}.skip{position:fixed;left:12px;top:-80px;z-index:100;background:var(--ink);color:#fff;padding:10px}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:rgba(244,242,235,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.header-inner{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:0 24px}.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--card);width:32px;height:32px;border-radius:8px;font-size:17px}.nav-links{display:flex;gap:22px;font-size:13px}.nav-links a{text-decoration:none;min-height:42px;display:flex;align-items:center}.shell{max-width:1160px;margin:auto;padding:28px 24px 40px}.section-line{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:12px}.masthead{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px 0 32px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:750;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;vertical-align:middle;margin-right:7px}h1{font-size:clamp(44px,7vw,76px);line-height:1.18;margin:10px 0 16px;letter-spacing:-.055em}h1 span{color:var(--accent)}h1 i{font-size:.6em;font-style:normal;margin-left:20px;display:inline-block;transform:translateY(-8px);color:var(--accent)}.lead{margin:0;color:var(--muted);font-size:16px;line-height:1.9}.challenge-stamp{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-top:3px solid var(--accent);width:170px;padding:18px 14px;transform:rotate(3deg);background:var(--card)}.challenge-stamp strong{font:700 62px/1.05 Georgia,serif}.challenge-stamp span{font-weight:700;font-size:14px;margin-top:9px}.challenge-stamp small{font-size:10px;color:var(--muted);margin-top:4px}.toolbar{display:flex;justify-content:space-between;gap:12px;margin:0 0 16px}.mode-buttons{display:flex;gap:7px}.mode-buttons .active{background:var(--ink);color:var(--card);border-color:var(--ink)}.notice{padding:12px 15px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;margin-bottom:20px;font-size:13px;background:var(--card);overflow-wrap:anywhere}.notice.error{border-left-color:var(--danger);color:var(--danger)}.notice button{margin-left:12px;min-height:32px;padding:2px 10px}.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr);gap:24px;align-items:start}.journal{padding:28px 32px;border:1px solid var(--line);background:var(--card);box-shadow:0 4px 0 #e7e6df;border-radius:3px 3px 15px 3px;overflow:hidden}.journal-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em;color:var(--muted)}.journal-tag{font-size:12px;font-weight:700;color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:4px}.metadata{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:var(--muted);margin-top:17px;line-height:1.7}.journal h2{font-size:27px;margin:22px 0 14px;letter-spacing:-.03em}.intro{font-weight:600;margin-bottom:26px;padding-bottom:23px;border-bottom:1px solid var(--line)}.story-leg{position:relative;margin:0 0 29px;padding-left:24px;border-left:1px solid var(--line)}.leg-mark{position:absolute;left:-11px;top:2px;font:700 12px/22px Georgia,serif;background:var(--ink);color:white;width:22px;height:22px;border-radius:50%;text-align:center}.story-leg p{margin:0;line-height:2.05;text-align:justify;overflow-wrap:anywhere}.blank{display:inline;padding:1px 3px;border:0;border-bottom:1px dashed var(--accent);border-radius:2px;color:var(--accent);background:#fff3e5;font-weight:800;min-height:0;font-size:inherit;line-height:inherit}.blank.known{background:#e7f1e9;color:var(--green);border-bottom-color:var(--green)}.journal-end{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:18px;font-size:9px;letter-spacing:.13em;color:var(--muted)}.answer-sheet{background:var(--card);border:1px solid var(--line);border-radius:14px;position:sticky;top:88px;max-height:calc(100vh - 105px);overflow:auto;scrollbar-width:thin}.answer-heading{padding:22px 22px 16px;border-bottom:1px solid var(--line)}.answer-heading h2{font-size:20px;margin:5px 0 16px}.progress-track{height:4px;background:var(--soft);border-radius:5px;overflow:hidden}.progress-track div{background:var(--green);width:0;height:100%;transition:width .25s}.answer-heading p{font-size:12px;color:var(--muted);margin:8px 0 0}#fields{padding:3px 18px}.field-row{padding:15px 3px 16px;border-bottom:1px solid var(--line);scroll-margin-top:95px}.field-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.field-top label{font-size:12px;font-weight:800}.field-status{font-size:11px;color:var(--muted)}.field-row.correct .field-status{color:var(--green)}.field-row.incorrect .field-status{color:var(--danger)}.field-row.revealed .field-status{color:var(--accent)}.field-row input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;background:#fafbf7;padding:8px 11px;color:var(--ink);min-width:0}.field-row.correct input{border-color:var(--green)}.field-row.incorrect input{border-color:var(--danger)}.field-row.revealed input{background:#fff4e7;border-color:#dbb28c}.field-tools{display:flex;gap:6px;margin-top:8px}.field-tools button{flex:1;min-height:32px;padding:3px 6px;font-size:11px;background:transparent}.hint-text{font-size:12px;color:var(--muted);padding:9px 10px;background:var(--soft);border-radius:6px;margin:9px 0 0;line-height:1.7}.sheet-actions{padding:18px 22px 8px;display:grid;gap:8px}.primary{background:var(--ink);border-color:var(--ink);color:var(--card);font-weight:700}.save-note{color:var(--muted);font-size:10px;text-align:center;margin:8px 18px 18px}.rules{padding:22px 2px;color:var(--muted)}.rules h2{font-size:15px;color:var(--ink);margin:0 0 8px}.rules p{font-size:12px;line-height:1.9;margin:8px 0}.solution-panel{border:1px solid var(--line);border-radius:10px;padding:22px;background:var(--card);scroll-margin-top:90px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.panel-heading h2{font-size:19px;margin:5px 0}.panel-heading button{font-size:11px}.solution-item{border-top:1px solid var(--line);padding:17px 0}.solution-item h3{font-size:16px;margin:0 0 7px}.solution-item p{font-size:13px;margin:5px 0}.solution-item ul{font-size:12px;color:var(--muted);padding-left:19px}.solution-item a{display:inline-block;font-size:12px;color:var(--green);padding:5px 0}.solution-item small{font-size:11px;color:var(--muted)}footer{margin-top:32px;padding-top:19px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:16px}footer a{text-decoration:none}.mobile-answer{display:none}dialog{max-width:440px;width:calc(100% - 30px);border:1px solid var(--line);border-radius:15px;padding:28px;background:var(--card);color:var(--ink)}dialog::backdrop{background:#102c35aa}dialog h2{font-size:22px;margin-top:0}dialog p{font-size:13px;color:var(--muted)}dialog textarea{width:100%;height:100px;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:13px;resize:none;overflow-wrap:anywhere}dialog .primary{width:100%;margin-top:12px}.dialog-close{position:absolute;right:10px;top:10px;min-height:30px;padding:0 8px;border:0;font-size:24px}@media(max-width:850px){.layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:15px}.journal{padding:24px 23px}.header-inner{padding-inline:18px}.shell{padding-inline:18px}.nav-links{gap:15px}}@media(max-width:700px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.header-inner{min-height:58px;padding-inline:14px}.brand{font-size:14px;gap:7px}.brand-mark{width:28px;height:28px}.nav-links{gap:12px;font-size:11px}.nav-links a:last-child{display:none}.shell{padding:18px 13px 26px}.section-line{font-size:9px}.section-line span:last-child{letter-spacing:0}.masthead{padding:27px 0 24px;gap:12px}h1{font-size:48px}h1 i{margin-left:10px}.lead{font-size:13px}.challenge-stamp{width:105px;padding:13px 8px;flex-shrink:0}.challenge-stamp strong{font-size:43px}.challenge-stamp span{font-size:11px}.challenge-stamp small{font-size:8px}.toolbar{gap:6px;align-items:stretch}.toolbar button{padding:8px 10px;font-size:12px}.mode-buttons{gap:5px}.share-button{font-size:11px!important}.layout{display:block}.journal{padding:22px 18px}.journal h2{font-size:24px}.story-leg{padding-left:18px}.story-leg p{font-size:14px;line-height:2.1}.metadata{gap:5px 12px}.answer-sheet{position:static;max-height:none;margin-top:16px}.field-row{scroll-margin-top:76px}.answer-heading{padding:20px}.rules{padding:20px 5px}.mobile-answer{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:18px;min-width:200px;background:var(--ink);color:white;border-radius:30px;padding:10px 22px;text-decoration:none;font-size:12px;box-shadow:0 5px 20px #153b4233;z-index:25}.solution-panel{padding:19px 16px}.panel-heading{align-items:start}.panel-heading button{max-width:105px}footer{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:350px){h1{font-size:41px}.challenge-stamp{width:88px}.nav-links{gap:8px}.toolbar button{font-size:11px;padding-inline:8px}.journal{padding-inline:15px}}
.natural-controls{padding:14px 0 19px;margin:0 0 24px;border-bottom:1px solid var(--line)}.natural-buttons{display:flex;flex-wrap:wrap;gap:8px}.natural-controls button{font-size:12px}.natural-controls button:first-child{background:var(--ink);color:var(--card)}.natural-controls p{margin:8px 0;font-size:12px;color:var(--green)}.natural-controls small{display:block;font-size:11px;color:var(--muted);line-height:1.8}
.random-options{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin:-5px 0 17px;font-size:12px;color:var(--muted)}.random-options label{display:flex;align-items:center;gap:7px;min-height:40px;cursor:pointer;color:var(--ink)}.random-options input{width:17px;height:17px;accent-color:var(--ink)}.random-options span{font-size:11px}@media(max-width:700px){.random-options{display:block;margin-top:0}.random-options span{display:block;margin-bottom:5px}}
/* Literary casebook. Factual clues remain distinct and fully interactive. */
.trails-account{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 20px;font-size:.85rem}.trails-account>span{font-weight:750}.trails-account a{color:#315b62;text-underline-offset:4px}.genre-picker{display:flex;align-items:center;gap:8px;font-size:.8rem}.genre-picker select{max-width:100%;border:1px solid #b8c7c8;border-radius:9px;padding:9px;background:#fff;color:#213a40;font:inherit}.natural-buttons{flex-wrap:wrap}.scene-frame[hidden],.stream-tools[hidden]{display:none!important}
.journal.literary-mode{background:#15232c;color:#e4ded2;border:1px solid #344550;box-shadow:0 24px 60px #17262b26;background-image:radial-gradient(ellipse at 95% 0,#be803321,transparent 50%),linear-gradient(90deg,#ffffff02 1px,transparent 1px);background-size:auto,42px 42px}.literary-mode .journal-heading,.literary-mode .journal-end{border-color:#46505a;color:#c3b49d}.literary-mode .journal-tag{background:#e0b779;color:#16232b}.literary-mode #story-title{color:#f7e6c8;font-family:Georgia,'Noto Serif SC',Songti SC,SimSun,serif;letter-spacing:.06em}.literary-mode .metadata,.literary-mode .intro{color:#c4c5c3}.literary-mode .natural-controls{background:#ffffff08;border-color:#51606b}.literary-mode .natural-controls small,.literary-mode #natural-quota{color:#c3c9cd}.literary-mode #natural-status{color:#eac58e}.literary-mode .natural-buttons button{border-color:#9b835e;color:#f0d4a4;background:#1c2c35}.literary-mode .natural-buttons button:disabled{opacity:.55}.literary-mode .genre-picker select{border-color:#64717b;background:#1c2c35;color:#f0d4a4}.scene-frame{padding:22px 0 24px;border-bottom:1px solid #44515a}.scene-kicker{display:flex;justify-content:space-between;gap:12px;font-size:.65rem;letter-spacing:.13em;color:#dfb578}.scene-kicker>span:first-child{font-size:.8rem;letter-spacing:.18em}.scene-frame #scene-intro{font:1.12rem/2 Georgia,'Noto Serif SC',Songti SC,SimSun,serif;margin:22px 0 16px;color:#efe4d1}.scene-notice{color:#adb8c0;font-size:.72rem;line-height:1.7}.stream-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.74rem;color:#e7c495}.stream-tools label{display:flex;gap:6px;align-items:center}.stream-tools button{margin-left:auto;font:inherit;padding:5px 10px;border:1px solid #746a58;border-radius:7px;background:transparent;color:#efcd9b}.chapter-track{display:flex;gap:6px;margin-top:16px}.chapter-track button{flex:1;min-width:0;min-height:36px;font:.75rem monospace;border:1px solid #52616b;border-radius:5px;background:#1c2c35;color:#97a7b1}.chapter-track button.complete{background:#dbc094;color:#1c2c35;border-color:#dbc094}.chapter-track button.writing{border-color:#e7c495;color:#efcb91;box-shadow:0 0 15px #e7c49522}.literary-mode .story-leg{padding-top:28px;padding-bottom:28px;border-color:#43525d;scroll-margin-top:90px}.literary-mode .leg-mark{background:#253742;color:#eac58e;border-color:#52616b}.literary-mode .story-leg h3{font:600 1.05rem/1.6 Georgia,'Noto Serif SC',Songti SC,SimSun,serif;color:#eac58e;letter-spacing:.12em;margin:0 0 14px}.literary-mode .story-leg p{margin-top:10px;margin-bottom:10px}.literary-mode .scene-prose{font-family:Georgia,'Noto Serif SC',Songti SC,SimSun,serif;color:#ece3d4;line-height:2}.literary-mode .scene-facts{background:#ffffff05;border-left:2px solid #b2966d;border-radius:0 8px 8px 0;padding:12px 14px;font-size:.9rem;color:#c6d3dc;line-height:1.95}.literary-mode .blank{background:#eac58e12;border-color:#b59564;color:#f5cc88}.literary-mode .blank.known{background:#344c42;color:#b9e2c1}.chapter-waiting{min-height:120px;opacity:.35}.chapter-writing p:last-child:after{content:'▍';color:#e7bf84;animation:trails-cursor 1s steps(2,end) infinite}.literary-mode button:focus-visible,.literary-mode a:focus-visible{outline:3px solid #f1ca8d;outline-offset:4px}@keyframes trails-cursor{50%{opacity:0}}
@media(max-width:600px){.scene-kicker{flex-direction:column;gap:6px}.genre-picker{width:100%}.genre-picker select{flex:1}.literary-mode .scene-facts{padding:10px;font-size:.86rem}.scene-frame #scene-intro{font-size:1.02rem}.stream-tools{gap:8px}.trails-account{gap:10px;font-size:.8rem}.literary-mode .story-leg{padding-top:22px;padding-bottom:22px}}
@media(prefers-reduced-motion:reduce){.chapter-writing p:last-child:after{animation:none}}

.literary-mode .scene-text{font:1rem/2.15 Georgia,"Noto Serif SC",Songti SC,SimSun,serif;color:#ece3d4;text-align:justify}.literary-mode .story-leg:has(.scene-text){border-bottom:0;padding-top:16px;padding-bottom:16px}.literary-mode .story-leg:has(.scene-text) .leg-mark{font-size:.7rem;opacity:.6;background:transparent;border:0}
.trip-quality{font-size:12px;line-height:1.75;white-space:pre-line;color:var(--muted,#626b67);border-left:3px solid var(--accent,#ac6936);padding:8px 12px;margin:16px 0 24px;background:rgba(172,105,54,.055)}
.literary-mode .trip-quality{color:#c4c5c3;border-color:#9b835e;background:#ffffff08}

.creator-entry{margin:12px 0;font-size:14px;font-weight:700}.creator-entry a{display:inline-block;padding:12px 16px;border:1px solid currentColor;border-radius:8px;text-decoration:none}
