:root,:root[data-theme=light]{--bg:#fff;--fg:#111;--muted:#6b6b6b;--border:#e5e5e5;--hover-bg:#f6f6f6;--inv-bg:#111;--inv-fg:#fff;--danger:#c0392b}:root[data-theme=dark]{--bg:#0a0a0a;--fg:#f2f2f2;--muted:#8f8f8f;--border:#262626;--hover-bg:#161616;--inv-bg:#f2f2f2;--inv-fg:#0a0a0a;--danger:#c0392b}*{box-sizing:border-box}html{overflow-x:hidden}body{background:var(--bg);max-width:100vw;min-height:100vh;color:var(--fg);margin:0;font-family:Archivo,system-ui,sans-serif;transition:background .15s,color .15s;overflow-x:hidden}input,textarea,select,button{outline:none;font-family:inherit}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{box-shadow:0 0 0 1px var(--fg);outline:none}input::placeholder,textarea::placeholder{color:currentColor;opacity:.4}button,select{cursor:pointer}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scenario-delete{color:var(--muted);background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px 4px;display:flex}.scenario-delete-icon{flex-shrink:0;transition:transform .6s cubic-bezier(.4,0,.2,1),color .18s}.scenario-delete-label{color:var(--danger);opacity:0;white-space:nowrap;max-width:0;margin-left:0;font-size:12px;font-weight:600;transition:opacity .25s,max-width .25s,margin-left .25s;display:inline-block;overflow:hidden}.scenario-delete:hover .scenario-delete-icon{color:var(--danger);transform:translate(-3px)rotate(180deg)}.scenario-delete:hover .scenario-delete-label{opacity:1;max-width:56px;margin-left:2px}@media (width<=640px){.scenario-delete{padding:8px}.scenario-delete-label{display:none}.scenario-delete:hover .scenario-delete-icon{transform:none}}.field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.plain-input{color:var(--fg);background:0 0;border:none;outline:none;width:100%}.bordered-input{color:var(--fg);border:1px solid var(--border);background:0 0;border-radius:6px;outline:none;padding:12px 14px;font-size:15px}.btn-primary{background:var(--inv-bg);color:var(--inv-fg);white-space:nowrap;border:none;border-radius:6px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.combobox-trigger{min-width:120px;color:var(--fg);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;font-size:13px;transition:border-color .15s;display:flex}.combobox-trigger.combobox-sm{min-width:100px;padding:7px 12px}.combobox-trigger:hover{border-color:var(--muted)}.combobox-value{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.combobox-value.placeholder{color:var(--muted)}.combobox-chevron{flex-shrink:0;transition:transform .2s;display:inline-flex}.combobox-trigger[data-popup-open] .combobox-chevron{transform:rotate(180deg)}.combobox-positioner{z-index:100;outline:none}.combobox-popup{min-width:var(--anchor-width);width:max-content;max-width:320px;max-height:min(320px, var(--available-height));background:var(--bg);border:1px solid var(--border);border-radius:6px;outline:none;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000026}.combobox-search-input{width:100%;color:var(--fg);border:none;border-bottom:1px solid var(--border);background:0 0;outline:none;flex-shrink:0;padding:9px 12px;font-size:13px}.combobox-empty{color:var(--muted);text-align:center;padding:12px 14px;font-size:13px}.combobox-list{margin:0;padding:4px 0;overflow:hidden auto}.combobox-item{color:var(--fg);white-space:nowrap;cursor:pointer;outline:none;justify-content:space-between;align-items:center;gap:16px;padding:9px 14px;font-size:13px;display:flex}.combobox-item[data-highlighted]{background-color:var(--hover-bg)}.combobox-item[data-selected] .combobox-item-label{font-weight:600}.combobox-check{color:var(--fg);flex-shrink:0}.btn-secondary{color:var(--fg);border:1px solid var(--border);background:0 0;border-radius:6px;padding:9px 16px;font-size:13px;font-weight:600}.btn-link{color:var(--muted);background:0 0;border:none;padding:0;font-size:13px}.legal-page{max-width:680px;margin:0 auto;padding:56px 24px 120px}.legal-back{margin-bottom:24px}.legal-header h1{margin:0 0 6px;font-size:24px;font-weight:600}.legal-meta{color:var(--muted);margin:0;font-size:12px}.legal-body{margin-top:28px;font-size:15px;line-height:1.7}.legal-body h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:36px 0 10px;font-size:11px;font-weight:600}.legal-body p{margin:0 0 14px}.legal-body ul,.legal-body ol{margin:0 0 14px;padding-left:1.25em}.legal-body li{margin-bottom:6px}.legal-body a{color:inherit;text-underline-offset:2px;text-decoration:underline}.legal-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.legal-dl{flex-direction:column;gap:14px;margin:0 0 14px;display:flex}.legal-dl div{flex-direction:column;gap:4px;display:flex}.legal-dl dt{font-size:13px;font-weight:600}.legal-dl dd{color:var(--fg);margin:0}.legal-footer-nav{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:24px;margin-top:48px;padding-top:24px;font-size:12px;display:flex}.app-header{z-index:10;border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 32px;display:flex;position:sticky;top:0}.app-header-brand{flex-shrink:0;align-items:center;gap:24px;display:flex}.app-header-actions{flex-shrink:0;align-items:center;gap:16px;margin-left:auto;display:flex}@media (width<=640px){.app-header{column-gap:12px;padding:14px 16px}.app-header-brand{gap:12px}.app-header-actions{gap:10px}}@media (width<=420px){.app-header-status-text{display:none}}.structured-textarea{resize:vertical;width:100%;color:var(--fg);background:0 0;border:none;outline:none;padding:0;font-size:15px;line-height:1.6}.textarea{width:100%;color:var(--fg);border:1px solid var(--border);resize:vertical;background:0 0;border-radius:6px;padding:12px 14px;font-size:15px;line-height:1.6}.textarea-sm{padding:8px 10px;font-size:13px}.textarea-lg{padding:16px 18px;font-size:16px}.export-textarea{background:var(--hover-bg);margin-top:8px;font-size:12.5px}
