:root{color-scheme:dark;--bg:#15211f;--panel:#1c2b28;--line:#ffffff1a;--text:#e8e5d8;--muted:#a4b5aa;--gold:#e2bf80;--paper:#ede8d9;--ink:#283d34;font-family:system-ui,"Microsoft YaHei",sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a,input,summary,textarea{touch-action:manipulation}button{cursor:pointer;background:#ffffff08;border:1px solid var(--line);color:inherit;padding:11px 16px;border-radius:5px;min-height:44px}button:hover{border-color:var(--gold);background:#e2bf8010}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--gold);color:#24382d;border-color:var(--gold);font-weight:650}a{color:inherit}input,select,textarea{background:#101c19;color:var(--text);border:1px solid #617468;border-radius:4px;padding:12px;max-width:100%;min-height:44px}input[type=checkbox],input[type=radio]{min-height:20px;accent-color:#ad8451}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #e4b85b;outline-offset:3px}.skip{position:fixed;left:10px;top:-80px;z-index:99}.skip:focus{top:10px;background:#000;padding:12px}h1,h2,h3,p{margin-top:0}p{line-height:1.95}small,.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase}.welcome{min-height:100svh;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(90deg,#111e1cec,#111e1c5c),url('assets/exterior-photo.jpg') center/cover}.welcome-copy{padding:12vh 9vw;align-self:center}.welcome h1{font-family:serif;font-size:clamp(70px,9vw,140px);font-weight:400;letter-spacing:.16em;line-height:1.25;margin:20px 0}.welcome .subtitle{font-family:serif;font-size:24px;letter-spacing:3px}.welcome p{max-width:420px;color:#d9dfd5}.welcome .actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.welcome .edition{font-size:12px;color:#a4b5aa}.welcome-note{align-self:end;padding:5vw;max-width:450px;margin-left:auto;font-family:serif;letter-spacing:2px;color:#eae3c9}.topbar{display:flex;align-items:center;justify-content:space-between;padding:17px 28px;border-bottom:1px solid var(--line);gap:15px}.brand{display:flex;align-items:center;gap:15px}.brand strong{font:28px serif;letter-spacing:6px}.brand span{font-size:11px;letter-spacing:2px;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}.top-actions button{font-size:13px}.chapter-bar{padding:14px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.chapter-bar h2{font:19px serif;margin:0}.chapter-bar small{font-size:12px}.tabs{display:flex;gap:5px;padding:12px 24px;border-bottom:1px solid var(--line);overflow:auto}.tabs button{white-space:nowrap;border-color:transparent;display:flex;gap:9px;align-items:center}.tabs button.active{background:#d6b47618;color:var(--gold);border-bottom-color:var(--gold)}.tabs .num{font:11px monospace;opacity:.55}.workspace{display:grid;grid-template-columns:275px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100svh - 190px)}.cabinet{border-right:1px solid var(--line);padding:24px 18px}.search{display:flex;gap:6px;margin:0 0 15px}.search input{width:100%;min-width:0}.search button{padding:10px}.search-label{font-size:11px;letter-spacing:2px;display:block;margin-bottom:12px;color:var(--muted)}.library-count{font-size:12px;margin:20px 0 12px;color:var(--muted)}.folder{display:flex;flex-direction:column;gap:4px}.folder button{text-align:left;display:flex;gap:10px;align-items:start;border-color:transparent;line-height:1.6;padding:10px;font-size:13px}.folder button span{font:11px monospace;padding-top:3px;color:var(--gold)}.folder button.active{background:#ffffff0b;border-left:2px solid var(--gold)}.folder button.unread:after{content:'•';color:var(--gold);margin-left:auto}.content{min-width:0;padding:32px 40px 70px}.content-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px;align-items:center}.content-top .path{font:11px monospace;color:var(--muted);letter-spacing:1px}.tool-buttons{display:flex;gap:6px}.tool-buttons button{font-size:12px;padding:8px 12px}.paper{color:var(--ink);background:var(--paper);padding:40px 48px;max-width:920px;margin:auto;box-shadow:0 12px 45px #0002;border-radius:2px}.paper .doc-label{font-size:10px;letter-spacing:3px;color:#7f7868;border-bottom:1px solid #857f652b;padding-bottom:15px}.paper h1{font:500 clamp(22px,3vw,32px)/1.6 serif;letter-spacing:1px;margin:25px 0 12px}.paper .metadata{display:flex;gap:15px;flex-wrap:wrap;font:11px monospace;color:#746e60;margin-bottom:30px}.paper p{font-size:15px;line-height:2.05;white-space:pre-wrap}.paper small,.paper .muted{color:#746e60}.paper .document-footer{margin-top:36px;padding-top:18px;border-top:1px solid #857f6540;font:11px monospace;color:#807c70}.paper button{color:var(--ink);border-color:#adab98}.paper input{background:#faf7ec;color:var(--ink);border-color:#a4a08b}.site-paper{padding:0;background:#f6f3e9}.site-mast{padding:22px 30px;background:#e8eedf;border-bottom:3px solid #56725d;display:flex;justify-content:space-between;align-items:center}.site-mast strong{font:23px serif;letter-spacing:4px;color:#355e4b}.site-mast small{font-size:10px}.site-banner{width:100%;height:185px;object-fit:cover;filter:saturate(.6)}.site-body{padding:25px 38px}.site-nav{padding:10px 30px;background:#dce4d5;font-size:12px;word-spacing:16px;letter-spacing:3px}.forum-paper{background:#eeeae0}.forum-paper .doc-label{color:#8c553d}.forum-post{border-left:3px solid #b6ad98;padding:0 0 0 22px;margin:24px 0}.post-author{font:11px monospace;color:#857662;margin-bottom:12px}.phone-paper{max-width:650px;background:#e5eadf;border-radius:24px;border:8px solid #0d1715;padding:30px}.phone-status{font:12px monospace;display:flex;justify-content:space-between;padding-bottom:24px}.bubble{padding:18px 22px;background:#fafbf4;border-radius:4px 16px 16px 16px;margin:20px 0;box-shadow:0 2px 6px #00005}.bubble:nth-child(even){margin-left:30px;background:#cdddc7}.phone-paper h1{font-size:24px}.empty{max-width:650px;margin:35px auto}.empty h1{font:34px serif;font-weight:400}.empty p{color:var(--muted)}.landing-card{border:1px solid var(--line);padding:20px;border-radius:6px;margin:12px 0}.landing-card button{width:100%;text-align:left}.landing-card small{display:block;margin-bottom:6px}.landing-hero{width:100%;max-height:250px;object-fit:cover;filter:saturate(.65);border-radius:4px;margin-bottom:25px}.puzzle{margin:30px 0;border-top:1px dashed #958d78;padding-top:25px}.puzzle label{display:block;margin-bottom:8px;font-size:13px}.puzzle .input-row{display:flex;gap:8px}.puzzle input{min-width:0;flex:1}.puzzle .hint-link{display:block;margin-top:10px;border:0;padding:5px 0;text-decoration:underline;font-size:12px;opacity:.75}.calendar{padding:20px;background:#fbf6e5;border:1px solid #c5bea8;margin:20px 0}.calendar-head{display:flex;justify-content:space-between;font-family:serif;align-items:center;margin-bottom:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-grid span{text-align:center;position:relative;padding:10px 2px;font:15px serif}.calendar-grid .circled{border:1px solid #a65245;border-radius:50%;color:#8f322d}.calendar-grid sup{position:absolute;top:0;right:0;background:#d5d6ac;font:10px monospace;padding:1px 3px}.media{margin:24px 0;background:#18231f;color:#e9e3d5;padding:16px;border-radius:4px}.media video{display:block;width:100%;max-height:500px;background:#101815}.media audio{width:100%;margin:10px 0}.media p{font-size:12px;margin:10px 0 0;color:#c8cdbd}.media .media-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.media button{color:#e9e3d5;border-color:#627568}.media-fallback{font-size:12px;color:#c1bcb1}.report-card{padding:24px;border:1px solid var(--line);margin-bottom:20px;border-radius:6px;background:#ffffff03}.report-card h3{font-size:18px;line-height:1.7}.report-card fieldset{border:0;margin:0;padding:0}.report-card legend{font-size:12px;color:var(--muted);margin-bottom:10px}.option{display:flex;gap:12px;padding:12px;margin:6px 0;background:#ffffff04;border:1px solid transparent;align-items:flex-start;line-height:1.8;border-radius:4px}.option:has(input:checked){border-color:var(--gold);background:#e2bf8010}.option input{flex-shrink:0}.cites{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:15px 0;max-height:300px;overflow:auto}.cites label{display:flex;gap:8px;align-items:center;font-size:12px;padding:5px}.report-card summary{padding:15px 0;cursor:pointer;font-size:13px;color:var(--gold)}.report-card .result{color:var(--gold);font-size:13px}.report-card.done{border-left:3px solid #9da780}.done p{color:#bcc8b3}.report-footer{padding:24px 0;display:flex;flex-wrap:wrap;gap:12px}.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.person{border:1px solid var(--line);padding:20px;background:#ffffff03;border-radius:5px}.person h3{font:22px serif}.person p{font-size:12px;color:var(--muted);margin:0}.notes{width:100%;min-height:200px;line-height:1.9;margin:18px 0}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare-grid .paper{padding:24px;width:100%}.compare-grid .paper h1{font-size:21px}.compare-grid .paper p{font-size:14px}.compare-controls{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 25px}.compare-controls select{max-width:100%}.history p{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.ending{max-width:780px;margin:auto;padding:70px 30px}.ending h1{font:48px serif;letter-spacing:6px}.ending p{line-height:2.2}.stats{display:flex;gap:25px;flex-wrap:wrap;padding:25px 0;margin:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats strong{font:32px serif;display:block;color:var(--gold)}.stats small{display:block;margin-top:6px}.actions{display:flex;gap:10px;flex-wrap:wrap}.badge{background:#e2bf80;color:#24382d;border-radius:12px;font-size:10px;padding:2px 6px;margin-left:5px}dialog{border:1px solid #68715e;background:#1c2b28;color:var(--text);border-radius:9px;padding:0;max-width:650px;width:calc(100% - 28px);max-height:85svh;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#07110dcc;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}.dialog-head h2{font:23px serif;margin:0}.dialog-head button{padding:5px 15px;font-size:25px}#dialog-body{padding:25px;overflow-wrap:anywhere}.hint-level{margin:12px 0;border:1px solid var(--line);padding:15px}.hint-level p{font-size:14px;margin:0}.hint-level button{width:100%}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.settings-row input[type=checkbox]{width:22px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#e5d5b5;color:#23392b;z-index:100;max-width:90vw;width:max-content;padding:14px 23px;border-radius:5px;box-shadow:0 6px 30px #0005;font-size:14px;display:none}#toast.visible{display:block}.large-text .paper p{font-size:18px}.large-text .bubble{font-size:18px}.file-input{width:100%;margin:15px 0}.danger{color:#efb3a6}.index-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.index-grid button{font:11px monospace;padding:10px 5px}.index-grid .unknown{opacity:.35}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.content{padding:40px 65px}.paper{padding:48px 60px}}@media(max-width:900px){.workspace{grid-template-columns:220px minmax(0,1fr)}.content{padding:25px 20px}.paper{padding:25px}.compare-grid{grid-template-columns:1fr}.welcome{grid-template-columns:1fr}.welcome-copy{padding:10vh 10vw}.welcome-note{display:none}.topbar{padding:14px 18px}.brand span{display:none}.site-body{padding:22px}.cites{grid-template-columns:1fr}}@media(max-width:620px){.topbar{padding:12px;flex-wrap:wrap}.brand strong{font-size:24px}.top-actions{margin-left:auto;gap:4px}.top-actions button{padding:7px 10px}.chapter-bar{padding:13px}.chapter-bar small{display:none}.tabs{padding:8px}.tabs button{font-size:13px;padding:9px 11px}.tabs .num{display:none}.workspace{display:block}.cabinet{border-right:0;border-bottom:1px solid var(--line);padding:15px}.folder{max-height:180px;overflow:auto}.library-count{margin:10px 0}.content{padding:20px 12px 50px}.paper{padding:24px 20px}.phone-paper{padding:20px 15px}.site-paper{padding:0}.site-body{padding:22px 20px}.content-top{align-items:start}.tool-buttons{flex-wrap:wrap;justify-content:flex-end}.tool-buttons button{padding:7px 9px}.paper h1{font-size:24px}.welcome-copy{padding:8vh 8vw}.welcome h1{font-size:90px}.report-card{padding:18px 13px}.option{font-size:14px;padding:10px 8px}.index-grid{grid-template-columns:repeat(6,1fr)}.ending{padding:45px 22px}.ending h1{font-size:37px}.calendar-grid span{padding:8px 2px}.input-row{flex-wrap:wrap}.puzzle input{width:100%}.site-mast{padding:20px}.site-mast strong{font-size:21px}.site-nav{letter-spacing:1px;word-spacing:8px;padding:10px 20px}}
.compare-grid{align-items:start}.compare-grid .paper{margin:0}.drawer-toggle{display:none}.stickers{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0 25px;font-family:serif}.stickers i,.stickers b{font-style:normal;font-weight:400;display:grid;place-items:center;width:35px;height:35px;background:#d9d6a9;border:1px solid #bab48d;color:#455746;box-shadow:1px 2px 3px #0001}.stickers i{border-radius:50%}.stickers em{font-size:13px;margin-left:10px;color:#956652}.paper p.handnote{font:15px/1.8 cursive;margin:20px 0 0;color:#795b45}.evidence-photo{margin:20px 0}.evidence-photo button{padding:0;border:0;display:block;overflow:hidden}.evidence-photo img{width:100%;height:auto;display:block}.evidence-photo figcaption{font-size:11px;color:#766f63;margin-top:8px}@media(min-width:621px){.folder{max-height:calc(100svh - 350px);overflow:auto}.cabinet{position:sticky;top:0;max-height:100svh;overflow:auto;align-self:start}}@media(max-width:620px){.drawer-toggle{display:block;width:100%;font-size:12px;margin-top:10px}.cabinet:not(.expanded)>.folder{display:none}.cabinet.expanded>.folder{margin-top:10px}.search-results .landing-card{margin-bottom:4px;padding:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.welcome{background-image:linear-gradient(90deg,#111e1ccc,#111e1c20),url('../cover.png');background-position:center,center 65%}
.evidence-photo button{width:100%;cursor:zoom-in;border-radius:3px;background:#d3d8d0}
.photo-site img{height:260px;object-fit:cover;object-position:center 68%}
.photo-evidence button{aspect-ratio:3/2}.photo-evidence img{height:100%;object-fit:cover;transform:scale(2)}
.site-paper>.photo-site{margin:0}.site-paper>.photo-site figcaption{padding:9px 30px;margin:0;border-bottom:1px solid #857f652b}
.photo-open{display:block;margin-top:4px;opacity:.8}.empty .photo-site figcaption{color:#a4b5aa}
.photo-dialog{max-width:1100px}.photo-detail{margin:0}.photo-full{display:block;width:100%;height:auto;max-height:60svh;object-fit:contain;background:#0d1715}
.photo-detail figcaption,.photo-credit{font-size:12px;color:#bdc9bc;margin-top:10px}.photo-note{font-size:13px;color:#c4cebf;margin:15px 0}
.photo-original{display:inline-block;padding:10px 0;color:#e4c186}.photo-credit a{color:inherit}.photo-fallback{font-size:13px}
@media(max-width:620px){.photo-site img{height:200px}.photo-dialog #dialog-body{padding:15px}.site-paper>.photo-site figcaption{padding:9px 20px}}
.media-caption{min-height:3.8em;white-space:pre-line;border-left:2px solid #ad8451;padding:8px 12px;font-size:15px!important;color:#e9e4d8!important}
.selection-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0;padding-bottom:12px;border-bottom:1px solid #82745e44}
.selection-tools button{color:#3c5145;border-color:#82745e66;font-size:12px;min-height:40px}
.selection-tools small{color:#655d50;font-size:11px}.prose{overflow-wrap:anywhere}
.content-update{padding:14px 24px;background:#263b32;color:#e5e9df;border-bottom:1px solid #788979;display:flex;gap:18px;align-items:center}
.content-update p{margin:0;flex:1;font-size:13px}.content-update button{flex-shrink:0}
@media(max-width:620px){.content-update{display:block;padding:14px 20px}.content-update button{margin-top:10px}.selection-tools small{flex-basis:100%}}
