:root{--bg:#0b0a0c;--pan:#17141a;--ink:#e9e1d3;--mut:#8f8578;--gold:#c9a24a;--red:#a3222b;--line:#2c2630}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Georgia,'Times New Roman',serif;min-height:100%}
button,select,textarea{font:inherit;color:inherit}
.btn{display:block;width:100%;padding:14px;margin:10px 0;border:1px solid var(--gold);background:var(--gold);color:#140f08;border-radius:4px;font-weight:bold;letter-spacing:.05em;text-transform:uppercase;font-size:14px}
.btn.alt{background:transparent;color:var(--gold)}.btn.sm{display:inline-block;width:auto;padding:8px 16px;margin:0}
.title{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 50% 20%,#3a1418 0%,#0b0a0c 70%);position:relative;overflow:hidden}
.rain{position:absolute;inset:0;background:repeating-linear-gradient(100deg,transparent 0 6px,rgba(255,255,255,.04) 6px 7px);animation:r 0.6s linear infinite}@keyframes r{to{background-position:-40px 120px}}
.tcard{position:relative;text-align:center;max-width:360px}.kick{color:var(--gold);letter-spacing:.3em;text-transform:uppercase;font-size:11px}
h1{font-size:46px;line-height:1;margin:14px 0;font-weight:normal;text-shadow:0 0 30px #a3222b88}h1 span{font-size:26px;font-style:italic;color:var(--gold)}
.tag{font-style:italic;color:#cbbfae}.fine{color:var(--mut);font-size:12px}
.intro{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:32px;background:linear-gradient(#0b0a0c,#1a0e10)}.intro p{font-size:20px;line-height:1.6}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:#0b0a0cf0;border-bottom:1px solid var(--line)}
.top small{display:block;color:var(--mut);font-size:12px}.hint{border:1px solid var(--line);background:var(--pan);padding:8px 12px;border-radius:20px;font-size:13px;color:var(--gold)}
main{padding:14px 16px calc(96px + env(safe-area-inset-bottom))}
.nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#0e0c10;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}
.nav button{flex:1;background:none;border:0;padding:8px 0 10px;font-size:11px;color:var(--mut)}.nav i{display:block;font-style:normal;font-size:20px}.nav .on{color:var(--gold)}
.locs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}.locs button{flex:none;padding:8px 12px;border:1px solid var(--line);background:var(--pan);border-radius:20px;font-size:13px;white-space:nowrap}.locs .on{border-color:var(--gold);color:var(--gold)}
.room{margin:12px 0;padding:16px;background:linear-gradient(160deg,#1d171c,#110e12);border-left:3px solid var(--red)}.room h2{margin:0;font-weight:normal}.room small{color:var(--mut)}
.items,.pres{display:flex;flex-wrap:wrap;gap:8px}.item{padding:12px 14px;border:1px dashed #5a4c3a;background:none;border-radius:4px;text-align:left;font-size:15px}.item.got{border-style:solid;color:var(--mut)}
.h{font-weight:normal;margin:4px 0 10px}.h small{color:var(--mut);font-size:13px}h4{color:var(--gold);text-transform:uppercase;letter-spacing:.15em;font-size:11px;margin:18px 0 8px}
.card{display:block;width:100%;text-align:left;padding:12px 14px;margin:6px 0;background:var(--pan);border:1px solid var(--line);border-radius:4px}.person small{display:block;color:var(--mut)}
.muted{color:var(--mut)}.small{font-size:13px}
#modal{position:fixed;inset:0;background:#000b;z-index:20;display:flex;align-items:flex-end}
.sh{width:100%;max-height:88vh;overflow:auto;background:#151216;border-top:2px solid var(--gold);padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0}
.sh h3{margin:4px 0;font-weight:normal;font-size:22px}.cat{color:var(--red);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.doc{font-family:'Courier New',monospace;font-size:14px;background:#e9e1d3;color:#201a14;padding:14px;border-radius:2px}
.ans{background:#221c20;border-left:3px solid var(--gold);padding:10px 12px;margin:10px 0}
.opt{display:block;width:100%;text-align:left;padding:11px 12px;margin:6px 0;background:var(--pan);border:1px solid var(--line);border-radius:4px}.done{opacity:.55}
.chip{padding:7px 10px;border:1px solid var(--line);background:var(--pan);border-radius:16px;font-size:13px}.chip.on{border-color:var(--gold);background:#3a2e16}
.sus{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.st{padding:8px 2px;border:1px solid var(--line);background:var(--pan);border-radius:4px;font-size:13px}.st small{display:block;font-size:11px;color:var(--mut)}
.s1{opacity:.5}.s2{border-color:#b98a2a}.s3{border-color:var(--red);background:#2a1014}
.tl{border-left:2px solid var(--red);padding-left:10px}.tr{display:flex;gap:10px;padding:5px 0;font-size:14px;border-bottom:1px solid #1f1a20}.tr b{flex:none;width:70px;color:var(--gold);font-weight:normal;font-family:'Courier New',monospace}
textarea{width:100%;min-height:140px;background:var(--pan);border:1px solid var(--line);border-radius:4px;padding:10px}
select{width:100%;padding:12px;background:var(--pan);border:1px solid var(--line);border-radius:4px}
.reveal h2{font-size:32px;font-weight:normal;margin:6px 0;color:var(--gold)}.reveal .big{font-size:28px}.reveal p{line-height:1.6}blockquote{font-style:italic;border-left:3px solid var(--red);margin:14px 0;padding-left:12px}
.toast{position:fixed;left:50%;top:calc(70px + env(safe-area-inset-top));transform:translateX(-50%);background:var(--gold);color:#140f08;padding:8px 14px;border-radius:20px;font-size:13px;z-index:30;pointer-events:none;max-width:90%;text-align:center}
#tip{position:fixed;left:12px;right:12px;z-index:25;background:#f1e7d2;color:#1b140c;padding:12px 14px;border-radius:8px;box-shadow:0 8px 30px #000}#tip p{margin:0 0 8px}#tip div{display:flex;justify-content:space-between;align-items:center}.lnk{background:none;border:0;text-decoration:underline}
.hl{outline:2px solid var(--gold);outline-offset:2px;box-shadow:0 0 18px #c9a24a88}
