:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--r-sm:6px;--r-md:10px;--r-lg:14px;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-16:1rem;--fs-20:1.25rem;--fs-24:1.5rem;--sidebar-w:232px;--bg:#f5f7fa;--surface:#fff;--surface-2:#f0f3f7;--border:#e1e6ed;--border-strong:#c9d1dc;--text:#16202c;--text-2:#475467;--text-3:#7a8698;--accent:#0f6e8c;--accent-hover:#0b5a73;--accent-soft:#e3f1f6;--accent-text:#0b5a73;--ok:#157f4a;--ok-soft:#e2f4ea;--warn:#9a5b00;--warn-soft:#fdf1dc;--danger:#b42318;--danger-soft:#fde8e6;--sidebar-bg:#0e2a36;--sidebar-text:#d6e4ea;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--shadow-lg:0 12px 32px #1018282e;--focus:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0d141b;--surface:#141d26;--surface-2:#1b2631;--border:#253341;--border-strong:#34475a;--text:#e6edf3;--text-2:#a9b6c3;--text-3:#7d8b99;--accent:#3ba7c9;--accent-hover:#5bbbd9;--accent-soft:#15313d;--accent-text:#7ccbe4;--ok:#4cc38a;--ok-soft:#12301f;--warn:#e5a33b;--warn-soft:#33270f;--danger:#f2766b;--danger-soft:#3a1714;--sidebar-bg:#091117;--shadow:0 1px 2px #0006;--shadow-lg:0 12px 32px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-14);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0;line-height:1.25}h1{font-size:var(--fs-24);font-weight:700}h2{font-size:var(--fs-16);font-weight:650}h3{font-size:var(--fs-14);font-weight:650}p{margin:0}a{color:var(--accent-text)}button,input,textarea,select{font:inherit;color:inherit}code,.mono{font-family:var(--font-mono);font-size:.9em}:focus-visible{box-shadow:var(--focus);outline:none}.muted{color:var(--text-3)}.text-2{color:var(--text-2)}.small{font-size:var(--fs-12)}.row{align-items:center;gap:var(--s-2);display:flex}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.stack{gap:var(--s-3);flex-direction:column;display:flex}.stack-lg{gap:var(--s-5);flex-direction:column;display:flex}.spacer{flex:1}.grow{flex:1;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pre{white-space:pre-wrap;word-break:break-word}.shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100%;display:grid}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:var(--s-4) var(--s-3);flex-direction:column;gap:2px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-4);color:#fff;font-weight:700;font-size:var(--fs-16);display:flex}.brand-mark{background:#0f6e8c;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.nav-section{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.06em;color:#d6e4ea8c;padding:var(--s-4) var(--s-2) var(--s-1)}.nav-link{align-items:center;gap:var(--s-2);padding:7px var(--s-2);border-radius:var(--r-sm);color:var(--sidebar-text);text-decoration:none;display:flex}.nav-link:hover{background:#ffffff12}.nav-link.active{color:#fff;background:#3ba7c938}.sidebar-foot{padding:var(--s-3) var(--s-2) 0;font-size:var(--fs-13);border-top:1px solid #ffffff1a;margin-top:auto}.sidebar-foot button{color:var(--sidebar-text);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.main{padding:var(--s-5) var(--s-6);width:100%;min-width:0}.page-head{align-items:flex-end;gap:var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.page-head p{color:var(--text-2);margin-top:var(--s-1)}.topbar-mobile{display:none}@media (max-width:860px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr;align-content:start}.sidebar{z-index:40;width:260px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-lg);transform:none}.topbar-mobile{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--sidebar-bg);color:#fff;z-index:30;display:flex;position:sticky;top:0}.topbar-mobile button{color:#fff;background:0 0;border:0;padding:4px}.main{padding:var(--s-4)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}.card-pad{padding:var(--s-4)}.card-head{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);display:flex}.grid-cards{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.empty{text-align:center;padding:var(--s-6) var(--s-4);color:var(--text-2)}.empty svg{color:var(--text-3);margin-bottom:var(--s-2)}.btn{height:34px;padding:0 var(--s-3);border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;font-weight:550;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{height:28px;padding:0 var(--s-2);font-size:var(--fs-13)}.btn.icon{width:34px;padding:0}.btn.sm.icon{width:28px}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field>span{font-size:var(--fs-13);color:var(--text-2);font-weight:600}.field .hint{font-size:var(--fs-12);color:var(--text-3);font-weight:400}.input,.select,.textarea{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:34px;padding:7px 10px}.textarea{resize:vertical;min-height:84px;line-height:1.5}.textarea.code{font-family:var(--font-mono);font-size:var(--fs-13)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:var(--focus);outline:none}.form-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.badge{font-size:var(--fs-12);background:var(--surface-2);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent-text)}.table-wrap{overflow-x:auto}table.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-size:var(--fs-12);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);white-space:nowrap;font-weight:600}.table td{padding:var(--s-3);border-bottom:1px solid var(--border);vertical-align:top}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.overlay{z-index:50;background:#09111773;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--bg);width:min(680px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.drawer-head{align-items:center;gap:var(--s-2);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border);background:var(--surface);display:flex}.drawer-body{padding:var(--s-5);gap:var(--s-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-foot{gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--border);background:var(--surface);display:flex}.overlay.center{padding:var(--s-4);justify-content:center;align-items:center}.modal{background:var(--surface);border-radius:var(--r-lg);width:min(480px,100%);box-shadow:var(--shadow-lg);padding:var(--s-5);gap:var(--s-4);flex-direction:column;display:flex}.alert{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-13);border:1px solid}.alert.warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent);color:var(--warn)}.alert.danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger)}.alert.ok{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 30%, transparent);color:var(--ok)}.alert.info{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent-text)}.alert ul{margin:4px 0 0;padding-left:18px}.toasts{bottom:var(--s-4);right:var(--s-4);z-index:60;gap:var(--s-2);flex-direction:column;display:flex;position:fixed}.toast{background:var(--text);color:var(--bg);border-radius:var(--r-md);box-shadow:var(--shadow-lg);max-width:380px;padding:10px 14px}.toast.error{background:var(--danger);color:#fff}.list-editor{flex-direction:column;gap:6px;display:flex}.list-editor .item{gap:6px;display:flex}.tabs{border-bottom:1px solid var(--border);margin-bottom:var(--s-4);flex-wrap:wrap;gap:2px;display:flex}.tab{cursor:pointer;color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 14px;font-weight:550;display:inline-flex}.tab.active{color:var(--accent-text);border-bottom-color:var(--accent)}.camp-card{gap:var(--s-3);padding:var(--s-4);cursor:pointer;text-align:left;flex-direction:column;display:flex}.camp-card:hover{border-color:var(--border-strong)}.stats{gap:var(--s-4);display:flex}.stat b{font-size:var(--fs-20);font-variant-numeric:tabular-nums;display:block}.stat span{font-size:var(--fs-12);color:var(--text-3)}.prompt-layout{gap:var(--s-4);grid-template-columns:260px 1fr;align-items:start;display:grid}.version-list{flex-direction:column;display:flex}.version-item{padding:var(--s-3);border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;display:flex}.version-item:last-child{border-bottom:0}.version-item:hover{background:var(--surface-2)}.version-item.active{background:var(--accent-soft)}.prompt-text{min-height:480px}@media (max-width:860px){.prompt-layout{grid-template-columns:1fr}}.output-block{background:var(--surface-2);border-radius:var(--r-md);padding:var(--s-3);font-family:var(--font-mono);font-size:var(--fs-12);white-space:pre-wrap;word-break:break-word;max-height:520px;overflow:auto}.kv{gap:6px var(--s-3);font-size:var(--fs-13);grid-template-columns:150px 1fr;display:grid}.kv dt{color:var(--text-3)}.kv dd{margin:0}.login-wrap{min-height:100%;padding:var(--s-4);background:radial-gradient(900px 500px at 80% -10%, var(--accent-soft), transparent 60%), var(--bg);place-items:center;display:grid}.login{width:min(380px,100%);padding:var(--s-6) var(--s-5);gap:var(--s-4);flex-direction:column;display:flex}.filters{gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.filters>*{flex:180px;max-width:280px}@media (max-width:640px){.page-head{flex-direction:column;align-items:stretch}.page-head>.btn{width:100%}.tab{font-size:var(--fs-13);padding:8px 10px}.filters>*{flex-basis:100%;max-width:none}.kv{grid-template-columns:110px 1fr}.card-head.row.wrap>.spacer{display:none}.drawer-body,.drawer-head,.drawer-foot{padding-left:var(--s-4);padding-right:var(--s-4)}.modal{padding:var(--s-4)}.table.cards thead{display:none}.table.cards,.table.cards tbody,.table.cards tr,.table.cards td{width:100%;display:block}.table.cards tr{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border)}.table.cards tr:last-child{border-bottom:0}.table.cards td{justify-content:space-between;align-items:center;gap:var(--s-3);text-align:right;border:0;min-height:26px;padding:3px 0;display:flex}.table.cards td:before{content:attr(data-label);color:var(--text-3);font-size:var(--fs-12);text-align:left;flex-shrink:0}.table.cards td:not([data-label]):before{content:none}.table.cards td.cell-title{text-align:left;padding-bottom:6px;display:block}.table.cards td.cell-full{text-align:left;display:block}.table.cards td.cell-full:before{margin-bottom:4px;display:block}.table.cards td .row{flex-wrap:wrap;justify-content:flex-end}.table.cards td.cell-full .row{justify-content:stretch}.table.cards td.cell-full .row .select{flex:1}.table.cards tr.clickable:hover td{background:0 0}}
