:root{--bg:#0b0e11;--surface:#14181d;--surface-alt:#1c2128;--border:#2a313a;--text:#eaf2ec;--text-muted:#8b98a5;--primary:#4aff8c;--primary-pressed:#2ecc71;--secondary:#ffb020;--danger:#ff5c5c;--shadow:#000;--chart-1:#26a85c;--chart-track:#1f3a2b;--font-pixel:"Pixelify Sans", "Courier New", monospace;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-code:"Roboto Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-pixel);margin:0;font-weight:600;line-height:1.25}h1{font-size:28px}h2{font-size:20px}h3{font-size:16px}a{color:var(--primary)}:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.muted{color:var(--text-muted)}.caption{color:var(--text-muted);font-size:12px}.danger-text{color:var(--danger)}.label{font:600 12px/1.2 var(--font-pixel);letter-spacing:.5px;text-transform:uppercase;margin-bottom:var(--space-xs);display:block}.section-title{font:600 14px/1.2 var(--font-pixel);color:var(--primary);letter-spacing:2px;text-transform:uppercase}.btn{--fill:var(--primary);--fg:var(--bg);--edge:var(--primary);font:600 14px/1 var(--font-pixel);letter-spacing:.5px;color:var(--fg);background:var(--fill);border:2px solid var(--edge);box-shadow:4px 4px 0 var(--shadow);cursor:pointer;white-space:nowrap;border-radius:0;justify-content:center;align-items:center;gap:10px;padding:11px 18px;text-decoration:none;transition:transform 60ms,box-shadow 60ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:none;transform:translate(4px,4px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--secondary{--fill:var(--secondary);--edge:var(--secondary)}.btn--outline{--fill:transparent;--fg:var(--text);--edge:var(--text)}.btn--danger{--fill:var(--danger);--edge:var(--danger)}.btn--ghost{--fill:transparent;--fg:var(--text-muted);--edge:transparent;box-shadow:none}.btn--small{padding:7px 12px;font-size:12px}.btn--block{width:100%}.icon-btn{background:var(--surface-alt);border:2px solid var(--border);width:34px;height:34px;color:var(--text);cursor:pointer;flex:none;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){border-color:var(--text-muted)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn--danger{color:var(--danger)}.input,.textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:0;padding:11px 12px}.input:focus,.textarea:focus{border-color:var(--primary);outline:none}.input:disabled{color:var(--text-muted);border-color:var(--surface-alt)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.textarea{resize:vertical;min-height:88px}.textarea--code{font:13px/1.6 var(--font-code);tab-size:2;white-space:pre;overflow-wrap:normal;overflow-x:auto}.input-number{text-align:center;width:64px;padding-inline:4px}.field{display:block}.field+.field{margin-top:var(--space-md)}.field__hint{margin-top:var(--space-xs)}.field__error{margin-top:var(--space-xs);color:var(--danger);font-size:13px}.search{position:relative}.search svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{padding-left:38px}.card{background:var(--surface);border:2px solid var(--border);box-shadow:4px 4px 0 var(--shadow);padding:var(--space-md)}.card--link{color:inherit;cursor:pointer;text-decoration:none;display:block}.card--link:hover{border-color:var(--text-muted)}.chip{color:var(--text);background:var(--surface);border:2px solid var(--border);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.chip[aria-pressed=true]{color:var(--bg);background:var(--primary);border-color:var(--primary)}.chips{gap:var(--space-sm);flex-wrap:wrap;display:flex}.tag{font:600 11px/1.6 var(--font-pixel);letter-spacing:.5px;border:2px solid var(--border);color:var(--text-muted);white-space:nowrap;padding:2px 8px;display:inline-block}.tag--warn{border-color:var(--secondary);color:var(--secondary)}.tag--ok{border-color:var(--primary);color:var(--primary)}.banner{padding:var(--space-md);background:var(--surface);border:2px solid var(--danger);color:var(--danger)}.banner--info{border-color:var(--secondary);color:var(--text)}.spinner{border:4px solid var(--surface-alt);border-top-color:var(--primary);width:28px;height:28px;animation:.8s steps(8,end) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-state{place-items:center;gap:var(--space-md);padding:64px var(--space-lg);text-align:center;display:grid}.app{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{gap:var(--space-lg);height:100vh;padding:var(--space-lg) var(--space-md);background:var(--surface);border-right:2px solid var(--border);flex-direction:column;display:flex;position:sticky;top:0}.brand{font:700 18px/1.1 var(--font-pixel);align-items:center;gap:10px;display:flex}.brand small{font:500 11px/1.4 var(--font-pixel);color:var(--secondary);letter-spacing:2px;display:block}.nav{gap:var(--space-sm);display:grid}.nav a{font:600 14px/1 var(--font-pixel);color:var(--text);border:2px solid #0000;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.nav a:hover{border-color:var(--border)}.nav a.active{color:var(--bg);background:var(--primary);border-color:var(--primary)}.sidebar__user{gap:var(--space-sm);overflow-wrap:anywhere;margin-top:auto;font-size:13px;display:grid}.avatar{border:2px solid var(--border);object-fit:cover;background:var(--surface-alt);width:36px;height:36px}.main{padding:var(--space-xl);min-width:0}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.page-header p{margin:var(--space-xs) 0 0}.toolbar{gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.toolbar .search{flex:260px;max-width:420px}.list{gap:var(--space-md);display:grid}.grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.row{align-items:center;gap:var(--space-md);display:flex}.row__body{flex:1;min-width:0}.row__title{font-weight:500}.row__meta{gap:var(--space-sm);flex-wrap:wrap;margin-top:6px;display:flex}.thumb{background:var(--bg);border:2px solid var(--border);flex:none;place-items:center;width:48px;height:48px;display:grid}.thumb img{object-fit:contain;width:100%;height:100%}.editor{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.editor__form{gap:var(--space-xl);padding-bottom:96px;display:grid}.editor__aside{top:var(--space-xl);position:sticky}.section{gap:var(--space-md);display:grid}.section__head{gap:2px;display:grid}.two-col{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.actionbar{z-index:5;align-items:center;gap:var(--space-md);margin:0 calc(-1 * var(--space-xl));padding:var(--space-md) var(--space-xl);background:var(--surface);border-top:2px solid var(--border);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.actionbar__status{margin-right:auto;font-size:13px}.dot{background:var(--secondary);width:8px;height:8px;margin-right:8px;display:inline-block}.step{gap:var(--space-md);display:grid}.step__head{align-items:center;gap:var(--space-xs);display:flex}.step__head .section-title{margin-right:auto}.dropzone{min-height:140px;padding:var(--space-md);background:var(--bg);border:2px dashed var(--border);text-align:center;cursor:pointer;place-items:center;display:grid;position:relative}.dropzone:hover,.dropzone--over{border-color:var(--primary)}.dropzone--filled{cursor:default;border-style:solid;padding:0}.dropzone img{max-width:100%;max-height:320px;display:block}.dropzone__overlay{background:#0b0e11b3;place-items:center;display:grid;position:absolute;inset:0}.dropzone--square{flex:none;width:120px;height:120px;min-height:120px}.dropzone--square img{object-fit:contain;width:100%;height:100%;padding:var(--space-sm)}.spec-row{gap:var(--space-sm);grid-template-columns:1fr 1fr auto;display:grid}.modal-backdrop{z-index:50;padding:var(--space-lg);background:#000000a6;place-items:center;display:grid;position:fixed;inset:0}.modal{gap:var(--space-md);width:min(520px,100%);max-height:calc(100vh - 48px);padding:var(--space-lg);background:var(--surface);border:2px solid var(--border);box-shadow:6px 6px 0 var(--shadow);flex-direction:column;display:flex}.modal--tall{height:min(640px,100vh - 48px)}.modal__scroll{gap:var(--space-sm);flex:1;align-content:start;display:grid;overflow-y:auto}.modal__actions{justify-content:flex-end;gap:var(--space-md);display:flex}.pick{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm);font:inherit;text-align:left;color:var(--text);background:var(--bg);border:2px solid var(--border);cursor:pointer;display:flex}.pick:hover:not(:disabled){border-color:var(--primary)}.pick:disabled{opacity:.5;cursor:default}.pick .thumb{width:40px;height:40px}.toasts{right:var(--space-lg);bottom:var(--space-lg);z-index:60;gap:var(--space-sm);display:grid;position:fixed}.toast{background:var(--surface-alt);border:2px solid var(--primary);box-shadow:4px 4px 0 var(--shadow);padding:12px 16px;font-size:14px}.toast--error{border-color:var(--danger)}.phone{background:var(--bg);border:2px solid var(--border);width:100%;max-width:360px;box-shadow:6px 6px 0 var(--shadow);flex-direction:column;height:min(720px,100vh - 140px);margin-inline:auto;display:flex}.phone__bar{border-bottom:2px solid var(--border);font:600 13px/1 var(--font-pixel);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.phone__screen{flex:1;align-content:start;gap:12px;padding:16px;font-size:14px;display:grid;overflow-y:auto}.phone__screen h2{font-size:18px}.phone__screen pre{font:12px/1.5 var(--font-code);background:var(--surface);border:2px solid var(--border);white-space:pre;margin:0;padding:12px;overflow-x:auto}.phone__nav{border-top:2px solid var(--border);justify-content:space-between;gap:8px;padding:10px 14px;display:flex}.phone__image{background:var(--surface);border:2px solid var(--border)}.phone__image img{width:100%;display:block}.placeholder{color:var(--text-muted);border:2px dashed var(--border);padding:12px;font-style:italic}.login{min-height:100vh;padding:var(--space-lg);place-items:center;display:grid}.login .card{gap:var(--space-lg);width:min(420px,100%);padding:var(--space-xl);text-align:center;justify-items:center;display:grid}@media (width<=1100px){.editor{grid-template-columns:minmax(0,1fr)}.editor__aside{position:static}}@media (width<=760px){.app{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:2px solid var(--border);flex-flow:wrap;align-items:center;height:auto;position:static}.nav{grid-auto-flow:column}.sidebar__user{margin:0 0 0 auto}.main{padding:var(--space-md)}.actionbar{margin:0 calc(-1 * var(--space-md));padding:var(--space-md)}.two-col,.spec-row{grid-template-columns:1fr}}.primary{color:var(--primary)}.stat-tiles{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.stat-tile__value{font:600 24px/1.2 var(--font-body)}.stat-tile--hero .stat-tile__value{font-size:48px}.stat-tile__label{color:var(--text-muted);font-size:12px}.chart{position:relative}.chart svg{display:block;overflow:visible}.chart__grid{stroke:var(--border);stroke-width:1px}.chart__axis{fill:var(--text-muted);font:11px var(--font-body);font-variant-numeric:tabular-nums}.chart__bar{fill:var(--chart-1)}.chart__bar--hover{fill:var(--primary)}.chart__hit{fill:#0000;cursor:default;outline:none}.chart__tooltip{pointer-events:none;background:var(--surface-alt);border:1px solid var(--border);white-space:nowrap;padding:6px 10px;font-size:12px;position:absolute;top:0;transform:translate(-50%)}.chart__tooltip strong{font-size:14px;display:block}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 8px;font-weight:500}.data-table td{border-bottom:1px solid var(--surface-alt);padding:6px 8px}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.meter{vertical-align:middle;background:var(--chart-track);border-radius:4px;width:80px;height:8px;margin-right:8px;display:inline-block;overflow:hidden}.meter>span{background:var(--chart-1);border-radius:4px;height:100%;display:block}.link-button{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0}.link-button:hover{text-decoration:underline}
