:root{--gold: #d8b36a;--gold-dim: rgba(216, 179, 106, .35);--paper: #ece3cf;--ink: #0a0d11;--panel: rgba(12, 16, 21, .72)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:#07090c;color:var(--paper);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;-webkit-font-smoothing:antialiased}#app{position:fixed;inset:0}#scene-container,#scene-container canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}#vignette{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at 50% 45%,#0000 42%,#00000057 78%,#0000009e)}.hidden{display:none!important}#hud{position:absolute;inset:0;pointer-events:none;z-index:10}#name-chip{position:absolute;top:18px;left:18px;display:flex;align-items:center;gap:8px;padding:7px 14px;background:var(--panel);border:1px solid rgba(216,179,106,.28);border-radius:999px;font-size:13px;letter-spacing:.08em;color:var(--paper);backdrop-filter:blur(6px)}#name-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}#toast{position:absolute;top:76px;left:50%;transform:translate(-50%) translateY(-6px);padding:9px 20px;background:var(--panel);border:1px solid rgba(216,179,106,.3);border-radius:10px;font-size:14px;letter-spacing:.06em;color:var(--paper);opacity:0;transition:opacity .45s ease,transform .45s ease;white-space:nowrap;backdrop-filter:blur(6px)}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#hint{position:absolute;left:18px;bottom:20px;font-size:12px;line-height:1.7;color:#ece3cf80;letter-spacing:.04em;transition:opacity .6s ease;max-width:46vw}#actions{position:absolute;left:50%;bottom:22px;transform:translate(-50%);display:flex;gap:10px;pointer-events:auto}#actions button{display:flex;align-items:center;gap:8px;padding:11px 22px;font-size:15px;letter-spacing:.18em;font-family:inherit;color:var(--paper);background:#0c1015ad;border:1px solid rgba(216,179,106,.3);border-radius:10px;cursor:pointer;backdrop-filter:blur(8px);transition:border-color .2s ease,background .2s ease,transform .1s ease;user-select:none}#actions button:hover{border-color:#d8b36ab3;background:#1a2028cc}#actions button:active{transform:scale(.96)}#actions button kbd{font-family:inherit;font-size:10px;color:#ece3cf66;border:1px solid rgba(236,227,207,.2);border-radius:4px;padding:1px 5px}#actions button.active{border-color:var(--gold);box-shadow:0 0 16px #d8b36a40 inset}#mute-btn{position:absolute;right:18px;bottom:20px;width:42px;height:42px;font-size:17px;line-height:1;color:var(--paper);background:var(--panel);border:1px solid rgba(216,179,106,.28);border-radius:50%;cursor:pointer;pointer-events:auto;backdrop-filter:blur(6px);transition:border-color .2s ease}#mute-btn:hover{border-color:#d8b36ab3}.npc-label{font-size:12px;letter-spacing:.12em;color:#f0e7d4e0;background:#080c1073;border:1px solid rgba(216,179,106,.22);border-radius:999px;padding:2px 10px;white-space:nowrap;pointer-events:none;transform:translateY(-6px);text-shadow:0 1px 4px rgba(0,0,0,.6);transition:opacity .4s ease}#beads-panel{position:absolute;right:18px;bottom:76px;width:316px;z-index:12;background:var(--panel);border:1px solid rgba(216,179,106,.3);border-radius:14px;padding:12px 12px 10px;backdrop-filter:blur(10px);box-shadow:0 10px 40px #00000080}.beads-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;font-size:13px;letter-spacing:.14em}.beads-title{color:var(--gold)}#beads-count{color:#ece3cf99;font-size:12px;letter-spacing:.06em}#beads-close{width:26px;height:26px;border:none;border-radius:50%;background:#ffffff0f;color:#ece3cfb3;font-size:16px;line-height:1;cursor:pointer}#beads-close:hover{background:#ffffff24}#beads-canvas{display:block;width:100%;max-width:292px;margin:0 auto;cursor:grab;touch-action:none}#beads-canvas:active{cursor:grabbing}.beads-tip{text-align:center;font-size:11px;color:#ece3cf66;letter-spacing:.08em;margin-top:2px}#cover{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 38%,#141c24,#07090c 68%);transition:opacity 1.1s ease,visibility 1.1s ease}#cover.hidden{opacity:0;visibility:hidden;pointer-events:none;display:flex!important}.cover-inner{text-align:center;padding:0 24px}.cover-mark{font-size:12px;letter-spacing:.55em;color:#d8b36aa6;margin-bottom:26px;text-indent:.55em}#cover h1{font-family:Songti SC,STSong,"Noto Serif SC",SimSun,serif;font-size:clamp(52px,9vw,78px);font-weight:600;letter-spacing:.32em;text-indent:.32em;color:#e9ddc2;text-shadow:0 0 42px rgba(216,179,106,.28);margin-bottom:26px}.cover-sub{font-size:15px;letter-spacing:.28em;text-indent:.28em;color:#ece3cf9e;margin-bottom:52px}#enter-btn{font-family:inherit;font-size:16px;letter-spacing:.5em;text-indent:.5em;color:#e9ddc2;background:transparent;border:1px solid rgba(216,179,106,.55);border-radius:4px;padding:14px 52px;cursor:pointer;transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}#enter-btn:hover{background:#d8b36a1a;border-color:var(--gold);box-shadow:0 0 30px #d8b36a2e}.cover-foot{margin-top:46px;font-size:11px;letter-spacing:.18em;color:#ece3cf47}#loading{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#07090c;transition:opacity .7s ease,visibility .7s ease}#loading.hidden{opacity:0;visibility:hidden;display:flex!important}.loading-inner{text-align:center;width:min(320px,70vw)}.loading-title{font-family:Songti SC,STSong,"Noto Serif SC",serif;font-size:18px;letter-spacing:.42em;text-indent:.42em;color:#ece3cfb8;margin-bottom:22px}.loading-bar{height:2px;background:#ece3cf1a;border-radius:2px;overflow:hidden}#loading-fill{width:0%;height:100%;background:linear-gradient(90deg,rgba(216,179,106,.4),var(--gold));transition:width .15s linear}#loading-pct{margin-top:12px;font-size:11px;letter-spacing:.2em;color:#ece3cf52}@media (max-width: 720px){#actions button{padding:10px 14px;font-size:14px;letter-spacing:.1em}#actions button kbd,#hint{display:none}#beads-panel{width:min(300px,calc(100vw - 24px));right:12px;bottom:84px}#name-chip{top:12px;left:12px}#mute-btn{right:12px;bottom:20px}}
