:root{
  --gold:#e2b45a; --gold2:#ffdf9a; --wine:#3a0b18; --ink:#140509; --glass:rgba(30,8,14,.62);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#0d0508;color:var(--gold2);font-family:'Courier Prime',monospace;}
#scene-container{position:fixed;inset:0}
.glass{position:fixed;background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(226,180,90,.35);border-radius:4px;box-shadow:0 0 0 3px rgba(58,11,24,.6),0 10px 40px rgba(0,0,0,.5);z-index:5}
.lbl{font-family:'IM Fell English SC',serif;letter-spacing:.2em;font-size:11px;color:var(--gold);opacity:.8}
#hud-left{top:12px;left:12px;padding:8px 14px;min-width:120px}
#credits{font-family:'IM Fell English SC',serif;font-size:34px;line-height:1;color:var(--gold2);text-shadow:0 0 12px rgba(255,200,100,.5)}
#debt{font-size:11px;color:#e88;opacity:.85}
#hud-right{top:12px;right:12px;padding:8px 14px;text-align:right;font-size:13px}
#coords{font-size:12px;max-width:44vw;word-break:break-all}
#tools{left:50%;transform:translateX(-50%);bottom:14px;padding:6px;display:flex;gap:6px;align-items:center;max-width:96vw}
#seek{background:rgba(0,0,0,.4);border:1px solid rgba(226,180,90,.4);color:var(--gold2);font-family:inherit;padding:7px 9px;width:200px;max-width:36vw;outline:none}
button{background:linear-gradient(#5a1424,#2c0710);color:var(--gold2);border:1px solid var(--gold);font-family:'IM Fell English SC',serif;letter-spacing:.08em;padding:7px 11px;cursor:pointer;font-size:14px;border-radius:2px}
button:hover{background:linear-gradient(#7a1c30,#3c0a16);box-shadow:0 0 10px rgba(226,180,90,.4)}
button.big{font-size:20px;padding:9px 22px}
#crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--gold);font-size:20px;z-index:4;pointer-events:none;opacity:.7}
#hint{position:fixed;bottom:64px;left:50%;transform:translateX(-50%);font-size:12px;opacity:.6;z-index:4;pointer-events:none;text-align:center;white-space:nowrap}
#plaque{right:12px;top:90px;width:360px;max-width:calc(100vw - 24px);padding:14px 16px;max-height:calc(100vh - 170px);overflow:auto;animation:rise .4s ease}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
#pName{font-family:'IM Fell English SC',serif;font-size:26px;line-height:1.05;color:var(--gold2)}
#pAddr{font-size:11px;opacity:.6;word-break:break-all;margin:4px 0 8px}
#pStats{font-size:12px;line-height:1.5;border-top:1px dashed rgba(226,180,90,.4);border-bottom:1px dashed rgba(226,180,90,.4);padding:6px 0}
#pDesc{font-family:'IM Fell English',serif;font-style:italic;font-size:15px;margin:8px 0;line-height:1.3;color:#f3dcb0}
.ptitle{font-family:'IM Fell English SC',serif;letter-spacing:.15em;font-size:15px;color:var(--gold);margin-bottom:6px}
.ptitle.small{font-size:12px;margin:6px 0 4px}
#pPay div{font-size:12px;display:flex;align-items:center;gap:4px;margin:3px 0;flex-wrap:wrap}
#pPay img,#result img{width:20px;height:20px;border:1px solid rgba(226,180,90,.5);image-rendering:auto}
#result{margin:10px 0;padding:8px;background:rgba(0,0,0,.35);min-height:44px;font-size:13px;border-left:3px solid var(--gold)}
#result.win{border-color:#9f6;color:#dfffc0}
.row{display:flex;gap:6px;flex-wrap:wrap}
#journal{right:12px;top:90px;width:300px;max-height:60vh;overflow:auto;padding:12px}
#journalList div{padding:6px;border-bottom:1px dashed rgba(226,180,90,.3);cursor:pointer;font-size:12px}
#journalList div:hover{background:rgba(226,180,90,.1)}
.hidden{display:none!important}
#toast{position:fixed;top:80px;left:50%;transform:translateX(-50%);background:var(--glass);border:1px solid var(--gold);padding:8px 14px;font-size:13px;z-index:20;opacity:0;transition:opacity .4s;pointer-events:none;max-width:90vw;text-align:center}
#toast.show{opacity:1}
#flash{position:fixed;inset:0;background:radial-gradient(circle,#ffe7a8,#a0302000);opacity:0;pointer-events:none;z-index:6;transition:opacity .8s}
#intro{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(58,11,24,.85),rgba(5,1,3,.97));}
.introBox{max-width:560px;padding:30px;text-align:center}
.eyebrow{letter-spacing:.4em;font-size:11px;text-transform:uppercase;opacity:.6}
h1{font-family:'IM Fell English SC',serif;font-weight:400;font-size:clamp(40px,9vw,76px);line-height:.95;margin:12px 0;color:var(--gold2);text-shadow:0 0 30px rgba(255,190,90,.45)}
.quote{font-family:'IM Fell English',serif;font-style:italic;font-size:17px;line-height:1.4;color:#f0d6a8}
p.small{font-size:12px;opacity:.75;line-height:1.5}
#joy{position:fixed;left:24px;bottom:80px;width:110px;height:110px;border-radius:50%;border:1px solid rgba(226,180,90,.45);background:rgba(30,8,14,.35);z-index:6;display:none}
#knob{position:absolute;left:35px;top:35px;width:40px;height:40px;border-radius:50%;background:radial-gradient(#ffdf9a,#a0742a)}
body.touch #joy{display:block}
body.touch #crosshair{display:none}
#remix{position:fixed;left:10px;bottom:6px;font-size:11px;color:var(--gold);opacity:.6;z-index:7;text-decoration:none}
#remix:hover{opacity:1}
@media (max-width:640px){
  #plaque{top:auto;bottom:66px;right:6px;left:6px;width:auto;max-height:52vh}
  #pName{font-size:20px}
  #hint{display:none}
  #tools{bottom:8px}
  #seek{width:110px}
  button{padding:6px 8px;font-size:12px}
  #journal{top:80px;right:6px}
}