:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0b;--bg-2:#121212;--bg-3:#1b1b1b;--bg-hover:#242424;--fg:#f4f4f4;--fg-2:#a8a8a8;--fg-3:#6b6b6b;--line:#2a2a2a;--line-2:#3f3f3f;--accent:#fff;--accent-fg:#000;--danger:#ff5f5f;--warn:#e3b556;--ok:#7ddc8a;--font:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--topbar-h:52px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-2:#fafafa;--bg-3:#f1f1f1;--bg-hover:#e8e8e8;--fg:#0b0b0b;--fg-2:#555;--fg-3:#8c8c8c;--line:#ddd;--line-2:#c4c4c4;--accent:#000;--accent-fg:#fff;--danger:#c62828;--warn:#8a5f00;--ok:#1f7a3a}*,:after,:before{box-sizing:border-box;border-radius:0!important}body,html{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}body{min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:20px}h2{font-size:16px}h3{font-size:14px}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-fg)}*{scrollbar-width:thin;scrollbar-color:var(--line-2) var(--bg-3)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-3)}::-webkit-scrollbar-thumb{background:var(--line-2)}::-webkit-scrollbar-thumb:hover{background:var(--fg-3)}::-webkit-scrollbar-corner{background:var(--bg-3)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--fg-2)}.faint{color:var(--fg-3)}.danger-text{color:var(--danger)}.warn-text{color:var(--warn)}.ok-text{color:var(--ok)}.nowrap,.truncate{white-space:nowrap}.truncate{text-overflow:ellipsis;overflow:hidden}.small{font-size:12px}.label,.tiny{font-size:11px}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2);margin-bottom:6px;display:block}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--line);background:var(--bg);z-index:40;align-items:stretch;gap:24px;padding:0 20px;display:flex;position:sticky;top:0}.brand{letter-spacing:.12em;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.brand-mark{background:var(--fg);width:18px;height:18px;position:relative}.brand-mark:after{content:"";background:var(--bg);position:absolute;inset:5px}.nav{align-items:stretch;gap:2px}.nav,.nav a{display:flex}.nav a{color:var(--fg-2);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 12px;font-size:13px}.nav a:hover{color:var(--fg)}.nav a.router-link-active{color:var(--fg);border-bottom-color:var(--fg)}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.page{width:100%;max-width:1560px;margin:0 auto;padding:24px 20px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{color:var(--fg-2);margin-top:4px}.btn{border:1px solid var(--line-2);background:var(--bg);height:36px;color:var(--fg);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--fg-3)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn--primary:hover:not(:disabled){background:var(--accent);opacity:.85}.btn--ghost{background:0 0;border-color:#0000}.btn--danger,.btn--ghost:hover:not(:disabled){border-color:var(--line-2)}.btn--danger{color:var(--danger)}.btn--danger:hover:not(:disabled){border-color:var(--danger)}.btn--sm{height:28px;padding:0 10px;font-size:12px}.btn--lg{height:44px;padding:0 22px;font-size:14px}.btn--block{width:100%}.btn--icon{width:36px;padding:0}.btn--icon.btn--sm{width:28px}.btn-group{display:inline-flex}.btn-group .btn:not(:first-child){margin-left:-1px}.btn-group .btn.is-active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);z-index:1;position:relative}.input,.textarea{border:1px solid var(--line-2);background:var(--bg);width:100%;height:36px;color:var(--fg);outline:none;padding:0 10px;transition:border-color .12s}.input:focus,.textarea:focus{border-color:var(--fg)}.input:disabled,.textarea:disabled{opacity:.5}.input--sm{height:28px;padding:0 8px;font-size:12px}.input--mono{font-family:var(--mono)}.textarea{resize:vertical;height:auto;min-height:120px;padding:10px;line-height:1.5}.selectbox,.selectbox-trigger{width:100%;min-width:0;display:inline-flex;position:relative}.selectbox-trigger{border:1px solid var(--line-2);background:var(--bg);height:36px;color:var(--fg);text-align:left;cursor:pointer;align-items:center;padding:0 30px 0 10px;transition:border-color .12s}.selectbox-trigger:hover:not(:disabled){border-color:var(--fg-3)}.selectbox-trigger:focus-visible{border-color:var(--fg);outline:none}.selectbox.is-open .selectbox-trigger{border-color:var(--fg)}.selectbox-trigger:disabled{opacity:.5;cursor:not-allowed}.selectbox-trigger:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--fg-2);margin-top:-2px;position:absolute;top:50%;right:10px}.selectbox.is-open .selectbox-trigger:after{border-top-color:var(--fg)}.selectbox-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selectbox-value.is-placeholder{color:var(--fg-3)}.selectbox--sm .selectbox-trigger{height:28px;padding:0 26px 0 8px;font-size:12px}.selectbox--sm .selectbox-trigger:after{right:8px}.selectbox-menu{z-index:80;border:1px solid var(--fg);background:var(--bg);overscroll-behavior:contain;margin:0;padding:0;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 0 0 100vmax #0000}.selectbox-option{cursor:pointer;white-space:nowrap;border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:32px;padding:6px 12px;font-size:13px;display:flex}.selectbox-option:last-child{border-bottom:0}.selectbox-option.is-active{background:var(--bg-hover)}.selectbox-option.is-selected{background:var(--accent);color:var(--accent-fg)}.selectbox-option.is-selected.is-active{box-shadow:inset 0 0 0 2px var(--bg)}.selectbox-option.is-disabled{cursor:default;opacity:.5}.selectbox-option-label{text-overflow:ellipsis;overflow:hidden}.selectbox-option-hint{font-family:var(--mono);opacity:.75;margin-left:auto;font-size:11px}.field{flex-direction:column;gap:6px;display:flex}.field-row{gap:12px;display:grid}.field-row--2{grid-template-columns:1fr 1fr}.field-row--3{grid-template-columns:1fr 1fr 1fr}.field-hint{color:var(--fg-3);font-size:12px}.field-error{color:var(--danger);font-size:12px}.switch{border:1px solid var(--line-2);background:var(--bg);cursor:pointer;flex:none;width:34px;height:18px;padding:0;position:relative}.switch:after{content:"";background:var(--fg-3);width:12px;height:12px;transition:transform .12s,background .12s;position:absolute;top:2px;left:2px}.switch.is-on{border-color:var(--fg)}.switch.is-on:after{background:var(--fg);transform:translate(16px)}.switch:disabled{opacity:.4;cursor:not-allowed}.card{border:1px solid var(--line);background:var(--bg-2)}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.card-head h2,.card-head h3{text-transform:uppercase;letter-spacing:.08em;font-size:13px}.card-body{padding:14px}.card-body--flush{padding:0}.card+.card{margin-top:12px}.stack{flex-direction:column;gap:12px}.row,.stack{display:flex}.row{align-items:center;gap:8px}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.divider{background:var(--line);height:1px;margin:12px 0}.kv{grid-template-columns:auto 1fr;gap:4px 14px;font-size:12px;display:grid}.kv dt{color:var(--fg-3)}.kv dd{font-family:var(--mono);margin:0}.badge{border:1px solid var(--line-2);letter-spacing:.04em;text-transform:uppercase;height:20px;color:var(--fg-2);white-space:nowrap;align-items:center;padding:0 6px;font-size:11px;display:inline-flex}.badge--solid{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.badge--warn{color:var(--warn);border-color:var(--warn)}.badge--danger{color:var(--danger);border-color:var(--danger)}.badge--ok{color:var(--ok);border-color:var(--ok)}.avatar{border:1px solid var(--line-2);letter-spacing:.04em;background:var(--bg);flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:inline-flex}.avatar--solid{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.avatar--lg{width:32px;height:32px;font-size:12px}.chip{border:1px solid var(--line);background:var(--bg);white-space:nowrap;align-items:center;gap:6px;height:22px;padding:0 7px;display:inline-flex}.chip,.chip .mono{font-size:11px}.chip--changed{border-color:var(--fg)}.chips{flex-wrap:wrap;gap:4px;display:flex}.table{border-collapse:collapse;width:100%;font-size:13px}.table td,.table th{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:8px 12px}.table th{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2);background:var(--bg-2);font-size:11px;font-weight:500}.table tr:hover td{background:var(--bg-3)}.table td.num{font-family:var(--mono);text-align:right}.table-wrap{border:1px solid var(--line);overflow:auto}.table tr.is-clickable{cursor:pointer}.table tr.is-selected td{background:var(--bg-3)}.tabs{border-bottom:1px solid var(--line);display:flex}.tab{height:38px;color:var(--fg-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 16px;font-weight:500}.tab.is-active,.tab:hover{color:var(--fg)}.tab.is-active{border-bottom-color:var(--fg)}.dropzone{border:1px dashed var(--line-2);text-align:center;cursor:pointer;background:var(--bg);padding:28px 16px;transition:border-color .12s,background .12s;position:relative}.dropzone.is-dragging,.dropzone:hover{border-color:var(--fg);background:var(--bg-3)}.dropzone input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.dropzone strong{margin-bottom:4px;display:block}.dropzone.is-busy{pointer-events:none;opacity:.7}.progress{background:var(--bg-3);border:1px solid var(--line);height:6px;position:relative;overflow:hidden}.progress-bar{background:var(--fg);height:100%;transition:width .3s}.progress.is-indeterminate .progress-bar{width:30%;animation:1.2s linear infinite indeterminate}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.media-frame{border:1px solid var(--line);background:#000;justify-content:center;align-items:center;max-height:420px;display:flex;overflow:hidden}.media-frame img,.media-frame video{max-width:100%;max-height:420px;display:block}.media-compare{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=900px){.media-compare{grid-template-columns:1fr}}.editor-grid{grid-template-columns:minmax(360px,440px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1100px){.editor-grid{grid-template-columns:1fr}}.sticky-col{top:calc(var(--topbar-h) + 16px);position:sticky}.param-group-title{text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2);background:var(--bg-3);border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:10px 14px;font-size:11px}.param-group-title:first-child{border-top:0}.param{border-bottom:1px solid var(--line);grid-template-columns:34px 220px minmax(0,1fr);align-items:start;gap:14px;padding:12px 14px;display:grid}.param:last-child{border-bottom:0}.param.is-off{opacity:.55}.param.is-off .param-control{pointer-events:none}@media (width<=720px){.param{grid-template-columns:34px 1fr}.param-control{grid-column:1/-1}}.param-name{align-items:center;gap:6px;font-weight:600;display:flex}.param-short{color:var(--fg-2);margin-top:2px;font-size:12px}.param-control{flex-direction:column;gap:8px;min-width:0;display:flex}.param-values{align-items:center;gap:8px;display:flex}.param-values .input{width:92px}.param-values .unit{color:var(--fg-3);font-size:12px}.param-note{color:var(--fg-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.param-note.is-collision{color:var(--warn)}.param-note .avatar{width:18px;height:18px;font-size:9px}.range{-webkit-user-select:none;user-select:none;touch-action:none;height:34px;padding:0 7px;position:relative}.range-track{background:var(--line-2);height:2px;position:absolute;top:16px;left:7px;right:7px}.range-fill{background:var(--fg);height:100%;position:absolute;top:0}.range-thumb{background:var(--bg);border:2px solid var(--fg);cursor:ew-resize;z-index:3;outline:none;width:14px;height:14px;margin-left:-7px;position:absolute;top:10px}.range-thumb:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--fg)}.range-thumb.is-active{background:var(--fg)}.range-marker{background:var(--fg-3);z-index:2;cursor:help;width:8px;height:8px;margin-left:-4px;position:absolute;top:22px}.range-marker.is-selected{background:var(--fg);z-index:4;width:10px;height:10px;margin-left:-5px;top:21px}.range-marker.is-own{outline:1px solid var(--bg)}.range-marker.is-inside{background:var(--warn)}.range-marker-label{letter-spacing:.04em;white-space:nowrap;color:var(--fg);pointer-events:none;font-size:9px;font-weight:700;position:absolute;top:12px;left:50%;transform:translate(-50%)}.range-bounds{color:var(--fg-3);font-size:10px;font-family:var(--mono);justify-content:space-between;margin-top:-6px;display:flex}.tip{position:relative}.tip,.tip-btn{display:inline-flex}.tip-btn{border:1px solid var(--line-2);width:16px;height:16px;color:var(--fg-2);cursor:help;background:0 0;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:700}.tip-btn:hover,.tip.is-open .tip-btn{border-color:var(--fg);color:var(--fg)}.tip-panel{background:var(--bg);border:1px solid var(--fg);z-index:30;width:320px;color:var(--fg);padding:12px;font-size:12px;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 6px);left:0}.tip-panel h4{margin-bottom:6px;font-size:12px}.tip-panel p+p{margin-top:6px}.tip-panel .muted{margin-top:8px;display:block}.profile{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.profile.is-selected,.profile:hover{background:var(--bg-3)}.profile.is-selected{box-shadow:inset 3px 0 0 var(--fg)}.profile-name{align-items:center;gap:6px;font-weight:600;display:flex}.profile-meta{color:var(--fg-3);font-size:11px}.profile-score{text-align:right;font-family:var(--mono);font-size:12px}.profile-bar{background:var(--bg-3);width:72px;height:3px;margin-top:4px;margin-left:auto}.profile-bar span{background:var(--warn);height:100%;display:block}.profile-details{border-bottom:1px solid var(--line);background:var(--bg);padding:10px 14px 14px 52px}.timeline{flex-direction:column;display:flex}.timeline-day{text-transform:uppercase;letter-spacing:.1em;color:var(--fg-2);background:var(--bg-3);border-top:1px solid var(--line);top:var(--topbar-h);z-index:2;padding:8px 14px;font-size:11px;position:sticky}.event,.timeline-day{border-bottom:1px solid var(--line)}.event{grid-template-columns:60px 28px 1fr;align-items:start;gap:12px;padding:10px 14px;display:grid}.event-time{font-family:var(--mono);color:var(--fg-3);padding-top:3px;font-size:12px}.event-icon{border:1px solid var(--line-2);justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.event-icon.is-warn{border-color:var(--warn);color:var(--warn)}.event-icon.is-danger{border-color:var(--danger);color:var(--danger)}.event-icon.is-ok{border-color:var(--fg);background:var(--fg);color:var(--bg)}.event-text strong{font-weight:600}.event-details{color:var(--fg-2);margin-top:6px;font-size:12px}.event-details .chips{margin-top:6px}.event-toggle{color:var(--fg-2);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.event-toggle:hover{color:var(--fg)}.change-list{grid-template-columns:auto auto auto 1fr;align-items:center;gap:3px 10px;margin-top:6px;font-size:12px;display:grid}.change-list .arrow{color:var(--fg-3)}.modal-backdrop{z-index:60;background:#0009;justify-content:center;align-items:flex-start;padding:60px 20px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--bg);border:1px solid var(--fg);width:100%;max-width:960px}.modal--sm{max-width:460px}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-body{padding:16px}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.toasts{z-index:100;flex-direction:column;gap:6px;display:flex;position:fixed;bottom:16px;right:16px}.toast{border:1px solid var(--fg);background:var(--bg);min-width:260px;max-width:420px;padding:10px 14px;font-size:13px}.toast--error{border-color:var(--danger);color:var(--danger)}.toast--ok{border-color:var(--ok)}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{border:1px solid var(--line-2);background:var(--bg-2);width:100%;max-width:380px;padding:28px}.auth-corner{gap:8px;display:flex;position:fixed;top:16px;right:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--line);background:var(--bg-2);padding:12px 14px}.stat-value{font-size:24px;font-weight:600;font-family:var(--mono)}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2);font-size:11px}.credentials{border:1px solid var(--fg);background:var(--bg);padding:12px 14px}.credentials .kv dd{font-size:14px}.compare-wrap{overflow:auto}.compare{border-collapse:collapse;min-width:100%;font-size:12px}.compare td,.compare th{border:1px solid var(--line);text-align:left;white-space:nowrap;padding:6px 10px}.compare th{background:var(--bg-3);font-weight:500}.compare td.num{font-family:var(--mono)}.compare td.is-changed{box-shadow:inset 0 0 0 1px var(--fg)}.compare td.is-empty{color:var(--fg-3)}.compare td.is-selected,.compare th.is-selected{background:var(--bg-3)}.empty{text-align:center;color:var(--fg-3);padding:32px 16px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filters .input,.filters .selectbox{width:auto;min-width:160px}.actions-bar{flex-wrap:wrap;gap:8px;display:flex}.actions-bar .btn{flex:1}.theme-icon{border:1.5px solid;width:12px;height:12px;display:inline-block}.theme-icon.is-filled{background:currentColor}
