:root{color-scheme:dark;--bg-0: #03040a;--bg-1: #0d1222;--panel: rgba(8, 12, 25, .72);--panel-border: rgba(126, 161, 255, .26);--text: #eaf1ff;--muted: #9ab1d9;--accent: #83b3ff;--danger: #ff8f8f;--shadow: 0 18px 40px rgba(0, 0, 0, .42)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;background:radial-gradient(circle at 18% 15%,#121b35 0%,var(--bg-0) 38%),radial-gradient(circle at 85% 75%,#1e1234 0%,transparent 42%),linear-gradient(165deg,var(--bg-1),var(--bg-0));color:var(--text);font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif}.app-shell{position:relative;width:100%;height:100%;padding:14px;display:grid;grid-template-rows:auto 1fr;gap:14px}.hud-panel{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--panel-border);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.title-wrap{display:grid;gap:3px}.title-wrap h1{margin:0;font-size:1.42rem;letter-spacing:.03em}.title-wrap p{margin:0;color:var(--muted);font-size:.9rem}.hud-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hud-controls button,.file-upload{border:1px solid rgba(131,179,255,.45);background:#17254ab8;color:var(--text);border-radius:9px;padding:8px 11px;font:inherit;font-size:.84rem;cursor:pointer;transition:background .2s ease,transform .2s ease}.hud-controls button:hover,.file-upload:hover{background:#2a4078d9;transform:translateY(-1px)}.hud-controls button:disabled{opacity:.55;cursor:default;transform:none}#history-upload{display:none}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px}.stats-grid div{display:grid;gap:3px;border-radius:10px;border:1px solid rgba(131,179,255,.18);background:#090e1ecc;padding:8px}.stats-grid span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.stats-grid strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-text{margin:0;color:var(--danger);font-size:.84rem}.scene-stage{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(131,179,255,.25);box-shadow:var(--shadow);min-height:420px}.loading-overlay{position:absolute;inset:0;display:grid;place-content:center;font-size:1rem;letter-spacing:.02em;background:#03050f6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.timeline-panel{position:absolute;left:10px;right:10px;bottom:10px;border-radius:10px;border:1px solid rgba(140,173,255,.35);background:#080d1bbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:9px 12px 10px;display:grid;gap:7px}.timeline-top{display:grid;grid-template-columns:1fr auto 1fr;color:var(--muted);font-size:.75rem}.timeline-top span:first-child{text-align:left}.timeline-top span:nth-child(2){text-align:center;color:#d7e6ff;font-weight:600}.timeline-top span:last-child{text-align:right}.timeline-panel input[type=range]{width:100%;accent-color:var(--accent);margin:0}.timeline-labels{position:relative;height:14px}.timeline-labels span{position:absolute;top:0;transform:translate(-50%);font-size:.62rem;line-height:1;white-space:nowrap;color:#b4c9f4b8;text-shadow:0 0 10px rgba(92,141,255,.42)}.timeline-labels span:first-child{transform:translate(0)}.timeline-labels span:last-child{transform:translate(-100%)}.commit-tooltip{position:fixed;width:min(330px,92vw);border-radius:12px;border:1px solid rgba(136,171,255,.42);background:#080c18f5;box-shadow:0 12px 34px #0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px;z-index:30}.commit-tooltip h3{margin:0 0 8px;font-size:1.02rem;color:#a5c5ff}.meta-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--muted);font-size:.78rem}.meta-row strong{color:var(--text)}.commit-tooltip .message{margin:8px 0;color:#dbe5ff;font-size:.84rem;line-height:1.4}.commit-tooltip ul{margin:8px 0 0;padding:0;list-style:none;max-height:140px;overflow:auto;display:grid;gap:4px}.commit-tooltip li{display:flex;justify-content:space-between;gap:8px;font-size:.74rem;color:#c4d4f8}@media(max-width:840px){.app-shell{padding:8px;gap:8px}.hud-panel{padding:10px}.scene-stage{min-height:360px}}
