:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f17;--panel:#141b27;--border:#253044;--text:#e6ebf3;--muted:#8b97ab;--accent:#ffd54a;--danger:#ff6b6b;--ok:#5fd39a;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100vh;margin:0;display:flex}#root{flex-direction:column;flex:1;min-height:0;display:flex}header{border-bottom:1px solid var(--border);align-items:baseline;gap:1rem;padding:1rem 1.5rem;display:flex}header h1{margin:0;font-size:1.25rem}header h1 a{color:inherit;text-decoration:none}header nav a{color:var(--muted);border-bottom:2px solid #0000;padding:.3rem .1rem;text-decoration:none}header nav a:hover{color:var(--text)}header nav a.active{color:var(--text);border-bottom-color:var(--accent)}header .version{color:var(--muted);font-size:.85rem}header nav{align-items:center;gap:.75rem;margin-left:auto;display:flex}main{gap:1.5rem;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem;display:grid}.notice{border:1px solid var(--accent);background:#ffd54a14;border-radius:6px;padding:.75rem 1rem}.notice code{color:var(--accent)}.notice.error{border-color:var(--danger);color:var(--text);background:#ff6b6b14}.notice.error code{color:var(--danger)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.panel h2{color:var(--text);border-bottom:1px solid var(--border);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.05rem;font-weight:600}form.upload{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}form.auth{gap:.75rem;max-width:380px;display:grid}form.auth label{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}form.auth button{justify-self:start}form.auth .field-note{margin:0}input[type=text],input[type=number],input[type=password],select{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:4px;padding:.5rem .65rem}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled,select:disabled{opacity:.55}input[type=number]{width:7rem}button,a.button{background:var(--accent);color:#111;cursor:pointer;border:0;border-radius:4px;padding:.45rem .9rem;font-weight:600}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}button.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}button:disabled{opacity:.5;cursor:default}a.button{font-family:inherit;font-size:.85rem;line-height:1.15;text-decoration:none;display:inline-block}.error{color:var(--danger)}.images{gap:1rem;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1rem}.card h3{margin:0 0 .25rem}.meta{color:var(--muted);flex-wrap:wrap;gap:.75rem;font-size:.9rem;display:flex}.badge{border-radius:999px;padding:.1rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.badge.pending,.badge.solving{color:#cfd8ff;background:#2b3550}.badge.solved{color:var(--ok);background:#5fd39a26}.badge.failed{color:var(--danger);background:#ff6b6b26}.badge.stale{color:var(--accent);background:#ffd54a26}.badge.published{color:#9cc2ff;background:#78aaff26}.export-state.stale{color:var(--accent)}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.hints{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.upload-progress{width:100%;height:.5rem;accent-color:var(--accent);margin-top:.75rem;display:block}.confirm{color:var(--danger);flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.downloads{margin-top:1rem}.downloads img{border:1px solid var(--border);border-radius:4px;width:100%;height:auto}a{color:var(--accent)}form.config{gap:1.5rem;width:100%;max-width:680px;margin:0 auto;display:grid}.field{align-content:start;gap:.35rem;min-width:0;display:grid}.field-label{color:var(--muted);font-size:.9rem}.field-note{color:var(--muted);font-size:.85rem}.field input,.field select{width:100%}.field input[type=number]:invalid{border-color:var(--danger)}.field.checkbox{margin-top:1.1rem}.field.checkbox input[type=checkbox]{width:auto;accent-color:var(--accent);margin-right:.4rem}.row2{grid-template-columns:1fr 1fr;gap:1rem 1.25rem;display:grid}.row2-action{grid-template-columns:1fr auto;align-items:end}.row2+.row2{margin-top:1.1rem}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1.1rem 1.25rem;margin-top:1rem;display:grid}.grid3 .span2{grid-column:span 2}.status-line{align-items:center;gap:.5rem;margin:0 0 1rem;display:flex}.dot{background:var(--border);border-radius:999px;width:.6rem;height:.6rem}.dot.ok{background:var(--ok)}.color-field{position:relative}.swatch{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);text-align:left;border-radius:4px;align-items:center;gap:.6rem;padding:.35rem .5rem;font-weight:500;display:flex}.swatch-chip{border:1px solid #ffffff26;border-radius:3px;flex:none;width:1.5rem;height:1.5rem}.swatch-hex{font-variant-numeric:tabular-nums;letter-spacing:.02em}.swatch-note{color:var(--muted);font-size:.8rem;font-weight:400}.popover{z-index:10;background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:.6rem;min-width:232px;padding:.75rem;display:grid;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 12px 32px #00000073}.popover .react-colorful{width:200px;height:160px}.popover-right{left:auto;right:0}.popover-up{top:auto;bottom:calc(100% + .4rem)}.popover-row{align-items:center;gap:.5rem;display:flex}.popover-row button{white-space:nowrap}.popover-row input{background:var(--bg);width:6.5rem;color:var(--text);border:1px solid var(--border);font:inherit;font-variant-numeric:tabular-nums;border-radius:4px;padding:.35rem .5rem}.preview{border:1px solid var(--border);border-radius:6px;width:100%;height:auto;margin-bottom:.75rem;display:block}@media (width<=640px){.row2,.row2-action{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}}.editor-main{flex-direction:column;flex:1;gap:0;max-width:none;min-height:0;margin:0;padding:0;display:flex}.editor-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.editor-toolbar a{text-decoration:none}.editor-main>.notice{margin:.75rem 1rem 0}.editor-main>.error,.editor-main>.meta{padding:1.5rem}.save-status{color:var(--muted);align-items:center;gap:.5rem;margin-left:auto;font-size:.9rem;display:flex}.save-status.error{color:var(--danger)}.save-status button{padding:.2rem .6rem;font-size:.85rem}.editor-canvas{cursor:grab;background:#000;flex:1;min-height:0;position:relative;overflow:hidden}.editor-canvas.panning{cursor:grabbing}.editor-tooltip{pointer-events:none;background:var(--panel);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:.15rem .5rem;font-size:.85rem;position:absolute}.label-text-editor{z-index:5;color:var(--text);border:1px solid var(--accent);background:#000000d9;border-radius:3px;padding:0 4px;line-height:1.2;position:absolute}.label-text-editor-error{z-index:5;border:1px solid var(--danger);background:#000000d9;border-radius:3px;max-width:22rem;margin:0;padding:.3rem .5rem;font-size:.85rem;position:absolute}body:has(>#root>main.editor-main){height:100dvh}.editor-body{flex:1;grid-template-columns:1fr 320px;min-height:0;display:grid}.editor-body.collapsed{grid-template-columns:1fr 32px}.editor-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.editor-pane>.notice{margin:.75rem 1rem 0}.side-panel{border-left:1px solid var(--border);background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex}.side-panel-head{border-bottom:1px solid var(--border);align-items:center;gap:.25rem;padding:.4rem;display:flex}.side-panel.collapsed .side-panel-head{justify-content:center;padding:.4rem .1rem}.panel-toggle{padding:.25rem .35rem;font-size:1rem;line-height:1.2}.tabs{gap:.25rem;display:flex}.tabs[hidden]{display:none}.tab{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:.35rem .6rem;font-size:.9rem}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.side-panel-body{flex:1;min-width:0;min-height:0;padding:.9rem;overflow:auto}.side-panel-body[hidden]{display:none}.tab-body{align-content:start;gap:.75rem;min-width:0;display:grid}.tab-body input[type=text]{width:100%}.tab-body .meta{gap:.5rem}.tab-actions{flex-wrap:wrap;gap:.5rem;display:flex}.tab-actions button{font-size:.85rem}.tab-actions .confirm{flex:100%;font-size:.85rem}.side-panel .grid3{grid-template-columns:1fr 1fr}.side-panel .grid3 .span2{grid-column:span 2}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{color:var(--muted);border:1px solid var(--border);background:0 0;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:500}.chip:hover{color:var(--text)}.chip[aria-pressed=true]{border-color:var(--accent);color:var(--text);background:#ffd54a1f}.object-list{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.object-row{border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.3rem .4rem;font-size:.9rem;display:grid}.object-row:hover,.object-row:focus-within,.object-row.hovered{background:#8ab4ff1f}.object-row.selected{box-shadow:inset 2px 0 0 var(--accent)}.object-row input[type=checkbox]{accent-color:var(--accent);margin:0}.link-button{color:var(--text);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:500;overflow:hidden}.link-button:hover{color:var(--accent)}.object-kind,.object-radius{color:var(--muted);font-size:.8rem}.object-radius{font-variant-numeric:tabular-nums}.facts{grid-template-columns:auto minmax(0,1fr);gap:.35rem .75rem;margin:0;font-size:.9rem;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.label-toolbar{z-index:6;background:var(--panel);border:1px solid var(--border);white-space:nowrap;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .4rem;display:flex;position:absolute;box-shadow:0 8px 24px #00000073}.label-toolbar button,.label-toolbar select,.label-toolbar input{padding:.2rem .45rem;font-size:.8rem}.label-toolbar input[type=number]{appearance:textfield;width:4.5rem}.label-toolbar input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.label-toolbar input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.label-toolbar .color-field{align-items:center;gap:.3rem;display:flex}.label-toolbar .color-field .field-label{display:none}.label-toolbar .swatch{width:auto;padding:.2rem .4rem}.label-toolbar .swatch-chip{width:1rem;height:1rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.gallery .gallery-frame{aspect-ratio:3/2}.gallery-card{color:inherit;min-width:0;text-decoration:none;display:block}.gallery-picture{margin:0}.gallery-frame{background:#000;border-radius:6px;position:relative;overflow:hidden}.gallery-frame img{object-fit:contain;width:100%;height:100%;display:block}.gallery-frame .overlay{opacity:0;transition:opacity .12s;position:absolute;inset:0}.gallery-frame .overlay.revealed{opacity:1}.gallery-picture figcaption{overflow-wrap:anywhere;padding:.5rem .25rem;font-weight:600}.gallery-empty{color:var(--muted)}.gallery-view{gap:1rem;display:grid}.gallery-view .gallery-frame,.gallery-view .gallery-frame img{max-height:calc(100vh - 8rem)}.gallery-view .actions{align-items:baseline;gap:1rem}@media (width<=640px){.gallery{grid-template-columns:1fr}}
