:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1e222b;--line: #2a2f3a;--text: #e6e8ec;--muted: #9aa3b2;--accent: #ff8a3d;--accent-dim: #3a2416;--good: #4ade80;--bad: #f87171;--warn: #fbbf24;--radius: 10px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:8px 14px;border-radius:var(--radius);cursor:pointer}button:hover:not(:disabled){border-color:#3c4454;background:#242935}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1008;font-weight:600}button.primary:hover:not(:disabled){background:#ff9d5c;border-color:#ff9d5c}button.ghost{background:transparent}button.danger{color:var(--bad);border-color:#4a2a2a}button.small{padding:4px 10px;font-size:13px}input[type=text],input[type=email],input[type=password],input[type=number],textarea{width:100%;background:#0d0f13;border:1px solid var(--line);border-radius:var(--radius);padding:9px 11px}input:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;min-height:72px}label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.field{margin-bottom:14px}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.error{color:var(--bad);font-size:14px;margin:10px 0}.notice{color:var(--warn);font-size:14px}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px}.brand .dot{width:11px;height:11px;border-radius:3px;background:var(--accent)}.auth .tagline{color:var(--muted);font-size:14px;margin:10px 0 22px}.auth button[type=submit]{width:100%;margin-top:4px}.auth .switch{margin-top:16px;text-align:center;font-size:14px}.auth .switch button{background:none;border:none;color:var(--accent);padding:0;text-decoration:underline}.topbar{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:10}.balance{background:var(--accent-dim);border:1px solid #4a3220;color:var(--accent);padding:5px 11px;border-radius:999px;font-size:13px;font-weight:600}.balance.empty{background:#2a1d1d;border-color:#4a2a2a;color:var(--bad)}.layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 57px)}.sidebar{border-right:1px solid var(--line);padding:16px;background:var(--panel)}.main{padding:24px;min-width:0}.cast-item{width:100%;text-align:left;background:none;border:1px solid transparent;padding:9px 11px;margin-bottom:4px;border-radius:var(--radius)}.cast-item:hover{background:var(--panel-2)}.cast-item.active{background:var(--accent-dim);border-color:#4a3220;color:var(--accent)}.cast-item .sub{font-size:12px;color:var(--muted);display:block}.cast-item.active .sub{color:#c8956a}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:18px}.panel h2{margin:0 0 4px;font-size:17px}.panel h3{margin:0 0 12px;font-size:15px}.panel .hint{color:var(--muted);font-size:13px;margin:0 0 18px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state h2{color:var(--text);margin-bottom:8px}.anim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.anim-card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.anim-card header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.anim-card header strong{font-size:14px}.preview{background:repeating-conic-gradient(#20242d,#20242d 25%,#171a21 0%,#171a21 50%) 50% / 16px 16px;border-radius:8px;height:150px;display:grid;place-items:center;margin-bottom:10px;overflow:hidden}.preview img{max-width:100%;max-height:150px;image-rendering:pixelated}.preview .none{color:var(--muted);font-size:13px}.pill{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.pill.done{color:var(--good);border-color:#234b32}.pill.running{color:var(--warn);border-color:#4a3a18}.pill.failed{color:var(--bad);border-color:#4a2a2a}.pill.queued{color:var(--muted)}.anim-row{border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:10px;background:var(--panel-2)}.anim-row.off{opacity:.55}.anim-row .head{display:flex;align-items:center;gap:10px}.anim-row .head label{margin:0;color:var(--text);font-size:14px;display:flex;align-items:center;gap:8px;cursor:pointer}.anim-row .nums{display:flex;gap:10px;margin-top:10px}.anim-row .nums>div{flex:1}.anim-row .nums input{padding:6px 9px}.log{background:#0a0c10;border:1px solid var(--line);border-radius:var(--radius);padding:12px;max-height:260px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;white-space:pre-wrap;word-break:break-word;color:#c6ccd6;margin:0}.quote{display:flex;align-items:baseline;gap:10px;padding:12px 14px;background:var(--accent-dim);border:1px solid #4a3220;border-radius:var(--radius);margin-bottom:14px}.quote .n{font-size:24px;font-weight:700;color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.key-reveal{background:#0a0c10;border:1px dashed var(--accent);border-radius:var(--radius);padding:12px;margin:12px 0;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}@media(max-width:760px){.layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line)}.main{padding:16px}}.demo-banner{display:flex;gap:12px;align-items:baseline;padding:10px 20px;background:#2a1f0c;border-bottom:1px solid #5a4418;font-size:13px;line-height:1.45;color:#e8d5a8}.demo-banner strong{color:var(--warn);text-transform:uppercase;letter-spacing:.08em;font-size:11px;border:1px solid #5a4418;border-radius:999px;padding:2px 9px;flex:none}.demo-note{background:#2a1f0c;border:1px solid #5a4418;border-radius:var(--radius);padding:11px 13px;font-size:13px;line-height:1.45;color:#e8d5a8;margin-bottom:18px}.demo-note strong{color:var(--warn)}
