:root{--bg: #0a0509;--neon: #ff2ecb;--neon-2: #b026ff;--panel: rgba(18, 8, 20, .92);--panel-border: #ff2ecb55;--text: #f6e9f5;--text-dim: #c9a8c4;--success: #37e6a0;--danger: #ff5c7a;--font-display: "Orbitron", "Segoe UI", system-ui, sans-serif;--font-body: "Chakra Petch", "Segoe UI", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden}.desktop{position:relative;min-height:100dvh;background:url(/bg.jpg) center center / cover no-repeat;display:flex;flex-direction:column}.desktop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0a05098c,#0a050940 22%,#0a050900 45%),linear-gradient(0deg,#0a050973,#0a050900 30%);pointer-events:none}.scene-body{position:relative;z-index:2;flex:1;display:flex;padding:20px;padding-top:max(20px,env(safe-area-inset-top));gap:20px;min-height:100%}.model-stage{flex:1;position:relative;min-width:0;min-height:0;pointer-events:none}.model-stage canvas{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:100%;height:100%;display:block;pointer-events:auto;cursor:grab;touch-action:none}.model-stage canvas:active{cursor:grabbing}.icon-dock{display:flex;flex-direction:column;gap:18px;width:84px;flex:0 0 auto}.icon-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:var(--text);text-decoration:none;padding:4px;font:inherit}.icon-glyph{width:64px;height:64px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55));transition:filter .18s,transform .18s}.icon-glyph img{width:100%;height:100%;object-fit:contain;display:block}.icon-btn:hover .icon-glyph,.icon-btn:focus-visible .icon-glyph{transform:translateY(-3px) scale(1.06)}.icon-btn .label{font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;text-align:center;text-shadow:0 1px 4px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.8);line-height:1.2}.hud{position:absolute;top:0;left:0;right:0;height:0;z-index:4;pointer-events:none}.hud-mc,.hud-ca{position:absolute;top:max(28px,calc(env(safe-area-inset-top) + 8px));min-height:56px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 14px;background:#150a17cc;border:1px solid var(--panel-border);border-radius:12px;box-shadow:0 10px 28px -12px #000000b3;backdrop-filter:blur(6px);color:var(--text);pointer-events:auto}.hud-mc{left:118px}.hud-ca{right:20px;flex-direction:row;align-items:center;gap:8px;font:inherit;cursor:pointer}.hud-ca-key{font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:1px;color:var(--neon)}.hud-ca-key.copied{color:var(--success)}.hud-ca:hover{background:#231026e6}.hud-ca.pending{cursor:default}.hud-ca.pending:hover{background:#150a17cc}.hud-label{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:.58rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim)}.hud-tag{font-style:normal;letter-spacing:.6px;color:var(--neon)}.hud-value{font-family:var(--font-display);font-size:1.3rem;font-weight:900;letter-spacing:.5px;line-height:1.1;text-shadow:0 0 14px rgba(255,46,203,.35)}.hud-addr{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem;color:var(--text);white-space:nowrap}.hud-addr .short{display:none}@media(max-width:1100px){.hud-addr .full{display:none}.hud-addr .short{display:inline}}.dialog-wrap{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:center;padding:0 16px max(20px,env(safe-area-inset-bottom));pointer-events:none}.dialog-box{pointer-events:none;max-width:600px;width:100%;background:#150a17;border:1px solid var(--panel-border);border-radius:16px;box-shadow:0 16px 40px -10px #0009;padding:16px 18px;transform:translateY(24px);opacity:0;transition:transform .3s cubic-bezier(.3,1,.4,1),opacity .25s ease;position:relative}.dialog-box.open{transform:translateY(0);opacity:1;pointer-events:auto}.dialog-inner{display:flex;align-items:flex-start;gap:14px}.dialog-portrait{flex:0 0 auto;width:72px;height:72px;object-fit:contain;object-position:top center}.dialog-body{flex:1;min-width:0;padding-top:2px}.dialog-name{font-family:var(--font-display);font-size:.8rem;font-weight:700;color:var(--text);letter-spacing:.8px;margin-bottom:6px;text-transform:uppercase}.dialog-close{position:absolute;top:10px;right:10px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-dim);font-size:.9rem;cursor:pointer}.dialog-close:hover{color:var(--text)}.dialog-text{font-size:.92rem;line-height:1.6;color:var(--text);min-height:3.2em;overflow-wrap:anywhere}.dialog-text .cursor{opacity:.7;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.dialog-copy{display:flex;align-items:center;gap:10px;margin-top:10px;min-width:0}.dialog-copy code{flex:1;min-width:0;font-size:.78rem;color:var(--text-dim);overflow-wrap:anywhere;user-select:all}.dialog-btn,.dev-btn{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--text);background:none;border:1px solid var(--panel-border);border-radius:8px;padding:7px 12px;cursor:pointer;flex:0 0 auto}.dialog-btn:hover,.dev-btn:hover{background:#ffffff0d}.dev-btn:disabled{opacity:.4;cursor:default}@media(max-width:720px){.scene-body{flex-direction:column;padding:14px;gap:14px}.icon-dock{flex-direction:row;width:100%;overflow-x:auto;gap:10px;padding-bottom:4px}.icon-btn{flex:0 0 auto}.hud{position:static;height:auto;display:flex;justify-content:space-between;align-items:stretch;gap:8px}.hud-mc,.hud-ca{position:static;min-height:0;padding:7px 11px;border-radius:10px}.hud-value{font-size:1.02rem}.hud-addr{font-size:.74rem}.model-stage{flex:1;min-height:60vh}.dialog-wrap{padding:0 12px max(14px,env(safe-area-inset-bottom))}.dialog-box{max-width:none;padding:14px}.dialog-portrait{width:60px;height:60px}}.dev-panel{position:fixed;top:100px;right:20px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.dev-toggle{font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:1px;color:var(--text-dim);background:#150a17;border:1px solid var(--panel-border);border-radius:8px;padding:6px 10px;cursor:pointer}.dev-toggle:hover,.dev-toggle[aria-expanded=true]{color:var(--text)}.dev-body{width:260px;background:#150a17;border:1px solid var(--panel-border);border-radius:12px;box-shadow:0 16px 40px -10px #0009;padding:14px;display:flex;flex-direction:column;gap:10px}.dev-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.85rem;gap:8px}.dev-row strong{font-family:var(--font-display);font-size:1.05rem}.dev-dim{color:var(--text-dim);font-size:.78rem}.dev-slider{width:100%;accent-color:var(--text);cursor:pointer}.dev-scale{display:flex;justify-content:space-between;color:var(--text-dim);font-size:.7rem;margin-top:-6px}.dev-buttons{display:flex;gap:8px}.dev-buttons .dev-btn{flex:1;white-space:nowrap}@media(max-width:720px){.dev-panel{top:calc(170px + env(safe-area-inset-top));right:12px}.dev-body{width:min(260px,calc(100vw - 24px))}}::selection{background:var(--neon);color:#1a0a1c}
