:root{--brown:#3b2414;--cream:#f1e6c8;--brass:#c9a24a;--orange:#c0581e;--ink:#2a1a0e}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#1a1008;font-family:'Courier Prime',monospace;color:var(--cream);touch-action:none;user-select:none}
#scene-container{position:fixed;inset:0}
.hidden{display:none!important}
#plaque{position:fixed;top:14px;left:14px;background:linear-gradient(135deg,#e6c46a,#9c7a2c 55%,#d8b660);color:#2a1a0e;padding:8px 16px;border-radius:4px;border:2px solid #6e5418;box-shadow:0 3px 10px #0008,inset 0 1px 0 #fff6;font-family:'DM Serif Display',serif;font-size:20px;letter-spacing:2px;display:flex;flex-direction:column}
#plaque small{font-family:'Courier Prime';font-size:10px;letter-spacing:3px}
#topright{position:fixed;top:14px;right:14px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
#forms{background:var(--cream);color:var(--ink);padding:6px 12px;border:1px solid #8a6a3a;font-size:14px;box-shadow:2px 2px 0 #0006}
#freeBtn.on{background:var(--brass);color:var(--ink)}
#mute,#freeBtn,#inspectBtn,#memoClose,#signIn{font-family:'Courier Prime';font-weight:700;cursor:pointer;border:2px solid #6e5418;background:var(--orange);color:var(--cream);padding:6px 12px;letter-spacing:1px}
#smell{position:fixed;left:14px;bottom:40px;background:#2a1a0ecc;border:1px solid var(--brass);padding:8px 12px;width:210px}
#smell small{display:block;font-size:10px;letter-spacing:3px;color:var(--brass)}
#smellText{font-size:14px}
#smellBar{height:4px;background:#0006;margin-top:6px}#smellBar i{display:block;height:100%;width:50%;background:var(--orange);transition:width 1s}
#badge{position:fixed;right:14px;bottom:40px;background:#fff8e6;color:var(--ink);border-top:10px solid var(--orange);padding:6px 14px;min-width:150px;box-shadow:2px 3px 0 #0007;transform:rotate(2deg)}
#badge small{display:block;font-size:10px;letter-spacing:3px}#badge span{font-family:'DM Serif Display';font-size:18px}
#crosshair{position:fixed;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;border:2px solid #f1e6c8aa}
#crosshair.on{border-color:var(--orange);background:var(--orange);transform:scale(1.4)}
#prompt{position:fixed;left:50%;top:calc(50% + 22px);transform:translateX(-50%);background:#2a1a0edd;padding:3px 10px;font-size:13px;border:1px solid var(--brass);white-space:nowrap}
#prompt:empty{display:none}
#hint{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);font-size:12px;opacity:.7}
#joy{display:none;position:fixed;left:30px;bottom:110px;width:110px;height:110px;border-radius:50%;border:2px solid #c9a24a88;background:#0004}
#joyKnob{position:absolute;left:35px;top:35px;width:40px;height:40px;border-radius:50%;background:#c9a24acc}
#inspectBtn{display:none;position:fixed;right:24px;bottom:120px;padding:14px 16px;border-radius:50%;width:90px;height:90px}
body.touch #joy,body.touch #inspectBtn{display:block}
body.touch #hint{display:none}
body.touch #smell{bottom:250px;width:170px}
#memo{position:fixed;inset:0;background:#000a;display:flex;align-items:center;justify-content:center;z-index:20}
.paper{background:#f4ead0 repeating-linear-gradient(#0000 0 27px,#b8a57822 27px 28px);color:var(--ink);width:min(440px,92vw);padding:26px 28px;box-shadow:0 10px 40px #000;transform:rotate(-1deg);position:relative;animation:drop .35s ease-out}
@keyframes drop{from{transform:translateY(-30px) rotate(-4deg);opacity:0}}
.memohead{font-weight:700;letter-spacing:3px;font-size:13px}
.memometa{font-size:13px;margin-top:8px}
.paper p{font-size:16px;line-height:1.55;min-height:60px}
.stamp{position:absolute;right:22px;top:24px;border:3px solid #a8321e;color:#a8321e;padding:2px 8px;font-weight:700;transform:rotate(12deg);opacity:.75;letter-spacing:2px}
#title{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#5a3a1acc,#120a04 75%),repeating-linear-gradient(45deg,#3b2414 0 20px,#4a2e18 20px 40px)}
.card{text-align:center;padding:30px;max-width:420px}
.emb{font-size:60px;color:var(--brass);text-shadow:0 0 30px #ffcc88}
h1{font-family:'DM Serif Display';font-size:56px;margin:0;font-weight:400;color:var(--cream)}
.sub{letter-spacing:3px;font-size:11px;color:var(--brass)}
.welcome{margin:28px 0 12px;font-weight:700;letter-spacing:4px}
#nameInput{width:100%;padding:10px;font-family:'Courier Prime';font-size:18px;background:#f4ead0;border:2px solid var(--brass);color:var(--ink);text-align:center;margin-bottom:10px}
#signIn{width:100%;padding:12px}
.fine{font-size:11px;opacity:.6}
footer{position:fixed;bottom:0;left:0;right:0;text-align:center;font-size:11px;z-index:40;pointer-events:none}
footer a{color:var(--brass);pointer-events:auto}