@font-face{font-family:Space;src:url(assets/space-grotesk-400.ttf)}@font-face{font-family:Space;src:url(assets/space-grotesk-600.ttf);font-weight:600}
:root{color-scheme:dark;--bg:#090d12;--panel:#10161e;--line:#25303c;--fg:#e5ebf1;--muted:#8795a6;--accent:#c4f575;--amber:#ffb431}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 Space,system-ui,sans-serif}button,input,select{font:inherit}button,select,input[type=text],input[type=search],input[type=number]{color:var(--fg);background:#171f29;border:1px solid var(--line);border-radius:6px;min-height:37px;padding:7px 11px}button{cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}button:hover{background:#263341;border-color:#5c6e80}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.35;cursor:default}input[type=range]{accent-color:var(--accent);min-width:0}input[type=checkbox]{accent-color:var(--accent)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,p{margin:0}h2{font-size:20px;line-height:1.4}h1{font-size:26px;line-height:1.25;margin:18px 0 14px;font-weight:600;letter-spacing:-.6px}h1 span{color:var(--muted)}.muted{color:var(--muted)}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px;background:#0c1117}.brand{display:flex;align-items:center;gap:19px;color:var(--fg);font-size:17px;font-weight:600;letter-spacing:1px;line-height:1.2}.brand:hover{text-decoration:none}.brand img{width:46px;height:46px;filter:brightness(0) invert(1)}.brand small{display:block;font-size:11px;letter-spacing:2px;margin-top:6px;color:var(--muted);font-weight:400}.top-actions{display:flex;align-items:center;gap:8px}.primary,.play{background:var(--accent);color:#162014;border-color:var(--accent);font-weight:600}.primary:hover,.play:hover{background:#dbffa4}.status{font-size:12px;color:var(--muted);margin-right:10px}.status.changed{color:var(--accent)}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1730px;margin:auto}.library{padding:28px 21px;border-right:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:600}.intro{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:22px}.field{display:grid;gap:5px;color:var(--muted);font-size:12px;margin-bottom:14px}.field input,.field select{width:100%}.categories{display:flex;flex-direction:column;gap:5px}.category{display:flex;justify-content:space-between;text-align:left;background:transparent;border:1px solid transparent;font-size:12px;padding:10px 9px;white-space:normal}.category span{color:var(--muted);font-size:10px;padding-left:8px}.category.active{background:#c4f57512;border-color:#c4f57555;color:var(--accent)}.library-foot{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;color:var(--muted);font-size:11px}.library-foot a{display:block;margin-top:14px}.live-dot{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:6px}.stage-area{padding:25px 28px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.section-heading h2{margin-top:5px}.segmented{display:flex;gap:3px;background:#080d12;border:1px solid var(--line);padding:3px;border-radius:7px}.segmented button{min-height:30px;border:0;background:transparent;font-size:12px;padding:5px 12px}.segmented .active{background:#283543;color:#eff9ff}.clip-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.clip-toolbar label{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px}.clip-toolbar select{max-width:340px}.clip-toolbar>button{margin-left:auto}.clip-toolbar .muted{font-size:11px}.previews{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-card{background:radial-gradient(ellipse at center,#19232e 0,#0c1118 80%);border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.preview-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted);padding:15px 17px}.preview-label b{color:var(--fg);margin-left:10px;font-size:11px;letter-spacing:0;font-weight:400}.preview-card canvas{display:block;width:100%;height:205px;object-fit:contain}.preview-foot{display:flex;justify-content:space-between;gap:8px;padding:12px 16px;color:var(--muted);font-size:10px;border-top:1px solid #ffffff08;flex-wrap:wrap}.swatch{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 4px 0 8px}.swatch:first-child{margin-left:0}.white{background:#e5efff}.amber{background:#ffb431}.red{background:#ff3d35}.preview-settings{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:14px;font-size:11px;color:var(--muted)}.preview-settings label{display:flex;align-items:center;gap:6px}.preview-settings input[type=range]{width:70px}.preview-settings button{font-size:11px;min-height:30px}.accuracy-note{font-size:11px;color:var(--muted);margin:10px 0 19px}.timeline,.edit-section{border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:16px 19px;margin-top:16px}.transport{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transport button{min-height:33px}.transport>span{font-variant-numeric:tabular-nums;font-size:12px;min-width:76px;text-align:center}.fps{font-size:11px;color:var(--muted);margin-left:auto;display:flex;align-items:center;gap:7px}.fps input{width:55px;min-height:30px;padding:4px}.transport #export-sequence{font-size:11px;margin-left:10px}#frame-slider{width:100%;margin:14px 0 8px}.timeline p{font-size:10px;color:var(--muted);margin-top:9px}.frame-strip{display:flex;gap:5px;overflow:auto;max-height:45px}.frame-strip button{min-width:32px;min-height:28px;padding:3px 8px;font-size:10px}.frame-strip .active{border-color:var(--accent);color:var(--accent)}.frame-strip .modified:after{content:'•';color:var(--accent);margin-left:2px}.editor-options{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:13px}.editor-options label{font-size:11px;color:var(--muted);display:grid;gap:4px}.editor-options select{font-size:12px}.brightness-label{grid-template-columns:1fr auto!important;min-width:130px;flex:1;max-width:210px}.brightness-label input{grid-column:1/3;width:100%;margin:7px 0 9px}.brightness-label output{color:var(--fg)}.draw-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}.draw-toolbar>button{font-size:11px;min-height:33px}.editor-canvas-wrap{position:relative;border:1px solid #283444;border-radius:6px;background:#090e14;overflow:hidden}#editor{width:100%;height:330px;display:block;touch-action:none;cursor:crosshair}.pixel-info{position:absolute;bottom:7px;left:10px;font-size:10px;color:var(--muted);pointer-events:none;background:#090e14db;padding:2px 5px}.editor-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:10px}.editor-bottom button{min-height:30px;font-size:10px}.import-row,.text-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.import-row button,.text-row button{font-size:11px}.text-row input{flex:1;min-width:100px;max-width:260px;font-size:12px}footer{display:flex;gap:20px;justify-content:space-between;color:var(--muted);font-size:10px;padding:18px 28px;border-top:1px solid var(--line)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#d1f590;color:#182215;padding:12px 20px;border-radius:7px;max-width:min(92vw,600px);z-index:30;box-shadow:0 10px 50px #0008;display:none;font-size:13px}#toast.error{background:#ffc5ab;color:#38170c}.loading{position:fixed;inset:0;background:#090d12e8;display:grid;place-items:center;z-index:25;font-size:15px;color:var(--accent)}.loading[hidden]{display:none}dialog{color:var(--fg);background:var(--panel);border:1px solid #405367;border-radius:12px;width:min(1000px,96vw);max-height:94vh;padding:25px}dialog::backdrop{background:#000b}dialog p{color:var(--muted);font-size:12px;margin:12px 0 18px}.dialog-close{float:right;font-size:22px;padding:0 11px}#calibration{width:100%;height:auto;max-height:55vh;display:block;touch-action:none;background:#070b10}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.article{max-width:980px;margin:40px auto;padding:0 24px 60px}.article h1{font-size:34px}.article h2{margin-top:32px}.article p,.article li{margin-top:12px;color:#b1c0cf}.article table{border-collapse:collapse;width:100%;margin-top:16px}.article th,.article td{border:1px solid var(--line);padding:10px;text-align:left}.article code{color:var(--accent)}.article img{max-width:100%;border-radius:8px;margin-top:16px}
@media(min-width:1500px){.preview-card canvas{height:245px}.workspace{grid-template-columns:280px 1fr}.stage-area{padding:28px 36px}}
@media(max-width:1100px){.topbar{padding:0 18px}.status{display:none}.workspace{grid-template-columns:220px minmax(0,1fr)}.stage-area{padding:22px 18px}.previews{grid-template-columns:1fr}.preview-card canvas{height:180px}.clip-toolbar select{max-width:240px}.preview-card .preview-label{padding-bottom:0}.preview-settings{gap:10px}.section-heading{flex-wrap:wrap}}
@media(max-width:720px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding:16px;gap:13px}.brand{font-size:15px}.brand img{width:35px;height:35px}.top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr 36px}.top-actions button{font-size:11px;padding:6px}.workspace{display:block}.library{padding:20px 16px 15px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px}.library>.eyebrow{grid-column:1/3}.library h1,.intro{display:none}.library .field{margin:0}.search-label{align-self:end}.categories{grid-column:1/3;display:flex;flex-direction:row;overflow-x:auto;padding:4px 0;gap:5px}.category{white-space:nowrap;flex-shrink:0;border-color:var(--line);padding:8px 10px;font-size:11px}.category span{display:none}.library-foot{grid-column:1/3;margin:0;padding:0;border:0;font-size:10px}.library-foot a{display:inline;margin-left:10px}.stage-area{padding:20px 13px}.section-heading{gap:10px;margin-bottom:12px}.section-heading h2{font-size:19px}.clip-toolbar{gap:8px}.clip-toolbar select{max-width:230px}.clip-toolbar>button{margin-left:0}.clip-toolbar .muted{font-size:10px}.segmented button{padding:5px 10px;min-height:33px}.preview-card canvas{height:172px}.previews{gap:10px}.preview-foot{font-size:9px;padding:10px 12px}.preview-label{padding:12px;font-size:9px}.preview-label b{margin-left:5px}.timeline,.edit-section{padding:13px 12px}.fps{margin-left:auto}.transport #export-sequence{margin:3px 0 0}.editor-options{gap:10px}.editor-options select{max-width:280px}.brightness-label{max-width:none!important;flex-basis:100%}.draw-toolbar{gap:5px}.draw-toolbar .segmented{width:100%;justify-content:space-between}#editor{height:300px}.editor-bottom{font-size:10px}.editor-bottom>span{width:100%;order:2}.import-row button{flex:1;font-size:10px}.text-row input{width:100%;max-width:none;flex-basis:100%}footer{flex-wrap:wrap;padding:18px 16px;font-size:9px;gap:8px}dialog{padding:17px}.article{margin-top:20px}.article h1{font-size:26px}.article table{font-size:11px}.article td,.article th{padding:5px}}
@media(max-width:720px){.top-actions{grid-template-columns:repeat(3,minmax(0,1fr)) 36px;min-width:0}.top-actions button{min-width:0;white-space:normal;line-height:1.25;min-height:38px}}
#calibration{max-height:none}

.startup-error-card{width:min(540px,92vw);padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--fg)}.startup-error-card p{margin:15px 0 22px;color:var(--muted)}.startup-error-card a{display:block;margin-top:18px;font-size:13px}.photo-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:var(--muted);font-size:12px}.photo-status[hidden]{display:none}.photo-status button{font-size:12px}
