:root{--bg: #0f0e0c;--panel: #1a1815;--panel-2: #232019;--line: #322d24;--text: #ece6da;--muted: #9b9281;--accent: #e8b04b;--accent-2: #6db96d;--danger: #d9655a;--radius: 10px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{font-weight:650;margin:0 0 .5em}a{color:var(--accent)}button{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:7px 12px;border-radius:8px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#1a1410;border-color:var(--accent);font-weight:650}button.ghost{background:transparent}button.danger{color:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font:inherit;width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px}textarea{resize:vertical;min-height:64px}label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}.app{max-width:1200px;margin:0 auto;padding:16px}.topbar{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.topbar .brand{font-weight:700;color:var(--accent)}.topbar .spacer{flex:1}.badge{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px}.badge b{color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.row{display:flex;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.muted{color:var(--muted)}.err{color:var(--danger);background:#2a1714;border:1px solid #50261f;padding:8px 10px;border-radius:8px;margin:10px 0}.ok{color:var(--accent-2)}.center{display:grid;place-items:center;min-height:60vh}.workspace{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:16px;align-items:start}.player-wrap{background:#000;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.scene{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:10px}.scene .head{display:flex;align-items:center;gap:8px}.scene .head .num{color:var(--muted);font-size:12px}.scene .head .spacer{flex:1}.scene .iconbtn{padding:2px 8px;font-size:13px}.kindsel{width:auto}.tiny{font-size:12px;padding:4px 8px}.history-item{display:flex;gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:13px}.filebtn{display:inline-block;margin-top:6px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);cursor:pointer;font-size:13px;white-space:nowrap}.filebtn:hover{border-color:var(--accent)}video{width:100%;display:block;background:#000;border-radius:8px}.scroll{max-height:70vh;overflow:auto;padding-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.spin{display:inline-block;animation:spin 1.4s linear infinite}@keyframes kb-zoom-in{0%{transform:scale(1)}to{transform:scale(1.12)}}@keyframes kb-zoom-out{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes indet{0%{transform:translate(-120%)}to{transform:translate(320%)}}.indet{animation:indet 1.2s ease-in-out infinite}.tl-scroll{scrollbar-width:thin;scrollbar-color:#4a4436 var(--panel-2)}.tl-scroll::-webkit-scrollbar{height:10px;width:10px}.tl-scroll::-webkit-scrollbar-track{background:var(--panel-2);border-radius:6px}.tl-scroll::-webkit-scrollbar-thumb{background:#4a4436;border-radius:6px;border:2px solid var(--panel-2)}.tl-scroll::-webkit-scrollbar-thumb:hover{background:#5c5440}
