:root{--bg:#0a0b0d;--bg-raised:#111317;--bg-inset:#08090b;--border:#23262c;--border-bright:#34383f;--text:#d5d8dd;--text-dim:#7c828d;--text-bright:#f5f6f8;--accent:#00e87a;--accent-dim:#00b862;--accent-glow:#00e87a2e;--danger:#ff5d5d;--warn:#ffb454;--font-body:"Instrument Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(ellipse 900px 500px at 15% -10%, #00e87a14, transparent 60%), radial-gradient(ellipse 700px 400px at 100% 0%, #00e87a0d, transparent 55%), var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100svh;font-size:15px;line-height:1.5}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{color:var(--text-bright);letter-spacing:-.01em;margin:0;font-weight:600}code,pre,.mono{font-family:var(--font-mono)}a{color:var(--accent)}button,input,select,textarea{font-family:inherit;font-size:inherit}::selection{background:var(--accent-glow);color:var(--text-bright)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-bright);border:2px solid var(--bg);border-radius:6px}.code-panel{background:var(--bg-inset);border:1px solid var(--border);border-radius:10px;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.code-panel-bar{border-bottom:1px solid var(--border);background:var(--bg-raised);flex-shrink:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.code-panel-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;flex-shrink:0}.code-panel-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-dim);font-size:11px}.code-panel-langs{gap:2px;margin-left:auto;display:flex}.code-panel-langs button,.code-panel-copy{font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 10px;font-size:12px}.code-panel-langs button:hover{color:var(--text)}.code-panel-langs button.active{background:var(--accent-glow);color:var(--accent);border-color:#00e87a4d}.code-panel-copy{border:1px solid var(--border-bright)}.code-panel-copy:hover{color:var(--text-bright)}.code-panel-body{font-family:var(--font-mono);color:var(--text);white-space:pre;flex:auto;margin:0;padding:16px;font-size:12.5px;line-height:1.65;overflow:auto}.pg{width:100%;max-width:1320px;margin:0 auto;padding:48px 24px 80px}.pg-hero{text-align:center;margin-bottom:28px}.pg-hero h1{margin-bottom:10px;font-size:40px}.pg-hero p{color:var(--text-dim);max-width:560px;margin:0 auto;font-size:15px}.pg-examples{color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:32px;font-size:13px;display:flex}.pg-examples button{font-family:var(--font-mono);background:var(--bg-raised);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px}.pg-examples button:hover{border-color:var(--accent);color:var(--accent)}.pg-body{grid-template-columns:1fr 480px;align-items:start;gap:20px;display:grid}@media (width<=980px){.pg-body{grid-template-columns:1fr}}.pg-left{border:1px solid var(--border);background:var(--bg-raised);border-radius:12px;padding:20px}.pg-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:14px;padding-bottom:14px;display:flex}.pg-tabs button{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 14px;font-size:13.5px}.pg-tabs button:hover{color:var(--text)}.pg-tabs button.active{background:var(--accent-glow);color:var(--accent);border-color:#00e87a4d}.pg-route{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em;margin-bottom:12px;font-size:11.5px}.pg-form{flex-direction:column;gap:10px;display:flex}.pg-row{gap:8px;display:flex}.pg-row select,.pg-row input,.pg-form>input{border:1px solid var(--border-bright);background:var(--bg-inset);color:var(--text-bright);border-radius:8px;padding:10px 12px}.pg-row input,.pg-form>input{flex:auto;min-width:0}.pg-row select:focus,.pg-row input:focus,.pg-form input:focus,.pg-schema:focus{border-color:var(--accent);outline:none}.pg-field-label{color:var(--text-dim);margin-top:4px;font-size:12px}.pg-schema{font-family:var(--font-mono);border:1px solid var(--border-bright);background:var(--bg-inset);min-height:140px;color:var(--text);resize:vertical;border-radius:8px;padding:12px;font-size:12.5px}.pg-toggle{color:var(--text-dim);align-items:center;gap:8px;font-size:13px;display:flex}.pg-submit{background:var(--accent);color:#04140b;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px;font-weight:600}.pg-submit:hover{background:var(--accent-dim)}.pg-submit:disabled{opacity:.6;cursor:default}.pg-error{color:var(--danger);margin-top:14px;font-size:13.5px}.pg-meta{font-family:var(--font-mono);color:var(--text-dim);gap:14px;margin-top:16px;font-size:12px;display:flex}.pg-meta span{background:var(--bg-inset);border:1px solid var(--border);border-radius:6px;padding:4px 9px}.pg-result{border:1px solid var(--border);border-radius:10px;margin-top:14px;overflow:hidden}.pg-result-bar{background:var(--bg-inset);border-bottom:1px solid var(--border);gap:4px;padding:8px;display:flex}.pg-result-bar button{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 10px;font-size:12px}.pg-result-bar button.active{background:var(--accent-glow);color:var(--accent)}.pg-frame{background:#fff;border:none;width:100%;height:480px}.pg-raw,.pg-markdown{width:100%;height:480px;font-family:var(--font-mono);background:var(--bg-inset);color:var(--text);white-space:pre-wrap;word-break:break-word;border:none;margin:0;padding:16px;font-size:12.5px;line-height:1.6;overflow:auto}.pg-right{height:calc(100vh - 120px);position:sticky;top:88px}.pg-search-result{border-bottom:1px solid var(--border);padding:12px 16px}.pg-search-result:last-child{border-bottom:none}.pg-search-result a{color:var(--accent);font-weight:600}.pg-search-url{color:var(--text-dim);margin:2px 0 6px;font-size:12px}.pg-search-result p{color:var(--text);margin:0;font-size:13px}.tester{grid-template-columns:340px 1fr;align-items:start;gap:20px;max-width:1200px;margin:0 auto;padding:20px;display:grid}@media (width<=800px){.tester{grid-template-columns:1fr}}.tester-inputs{border:1px solid var(--border,#444);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex;position:sticky;top:20px}.field{flex-direction:column;gap:4px;display:flex}.field label{opacity:.7;font-size:12px}.field.inline label{opacity:1;align-items:center;gap:8px;font-size:13px;display:flex}.field input,.field select{border:1px solid var(--border,#444);color:inherit;background:0 0;border-radius:6px;padding:6px 8px;font-family:inherit}.header-row{gap:6px;margin-bottom:4px;display:flex}.header-row input{flex:auto;min-width:0}.header-row button{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;flex:none}.add-row{color:var(--accent,#6c6cff);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-size:13px}.tester-inputs>button[type=submit]{background:var(--accent,#6c6cff);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:8px;padding:10px;font-weight:600}.tester-inputs>button[type=submit]:disabled{opacity:.6;cursor:default}.tester-output{min-height:200px}.hint{opacity:.6;font-size:14px}.status-bar{align-items:center;gap:14px;margin-bottom:10px;font-size:13px;display:flex}.status-bar .ok{color:#4caf50;font-weight:600}.status-bar .fail{color:#ff6b6b;font-weight:600}.status-bar button{border:1px solid var(--border,#444);color:inherit;cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:4px 10px}.sent-body{margin-bottom:10px;font-size:12px}.sent-body pre{background:#80808014;border-radius:6px;padding:8px;overflow-x:auto}.preview-frame{border:1px solid var(--border,#444);background:#fff;border-radius:6px;width:100%;height:400px;margin-bottom:10px}.json-view{border:1px solid var(--border,#444);white-space:pre-wrap;word-break:break-word;background:#80808014;border-radius:6px;max-height:70vh;padding:12px;font-family:ui-monospace,monospace;font-size:12px;overflow:auto}.admin{width:100%;max-width:1100px;margin:0 auto;padding:40px 24px 80px}.admin h1{margin-bottom:6px;font-size:26px}.admin-sub{color:var(--text-dim);max-width:640px;margin-bottom:24px;font-size:13.5px}.model-form{grid-template-columns:1.2fr 1.6fr 1fr 1fr auto;gap:8px;margin-bottom:12px;display:grid}@media (width<=900px){.model-form{grid-template-columns:1fr 1fr}}.model-form input{border:1px solid var(--border-bright);background:var(--bg-inset);color:var(--text-bright);border-radius:8px;padding:9px 11px}.model-form input:focus{border-color:var(--accent);outline:none}.model-form button,.log-filters button{background:var(--accent);color:#04140b;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-weight:600}.model-form button:disabled,.log-filters button:disabled{opacity:.6;cursor:default}.admin-error{color:var(--danger);margin-bottom:12px;font-size:13px}.log-filters{gap:8px;margin-bottom:16px;display:flex}.log-filters select{border:1px solid var(--border-bright);background:var(--bg-inset);color:var(--text);border-radius:8px;padding:8px 10px}.admin-table{border-collapse:collapse;border:1px solid var(--border);border-radius:10px;width:100%;font-size:13px;overflow:hidden}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:var(--bg-raised);border-bottom:1px solid var(--border);padding:10px 12px;font-size:11.5px}.admin-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.admin-table tr:last-child td{border-bottom:none}.admin-table .mono{font-family:var(--font-mono);font-size:12px}.admin-table .dim{color:var(--text-dim)}.admin-empty{text-align:center;color:var(--text-dim);padding:24px}.cap-badge{font-family:var(--font-mono);border:1px solid var(--border-bright);color:var(--text-dim);border-radius:999px;margin-right:4px;padding:2px 7px;font-size:10.5px;display:inline-block}.cap-badge.ok{color:var(--accent);background:var(--accent-glow);border-color:#00e87a66}.status-pill{font-family:var(--font-mono);border:1px solid var(--border-bright);color:var(--text-dim);text-transform:capitalize;border-radius:999px;padding:3px 9px;font-size:11px}.status-pill.passed,.status-pill.info{color:var(--accent);border-color:#00e87a66}.status-pill.failed,.status-pill.error{color:var(--danger);border-color:#ff5d5d66}.status-pill.warn{color:var(--warn);border-color:#ffb45466}.test-error{color:var(--warn);cursor:help;margin-left:6px}.row-actions{gap:6px;display:flex}.row-actions button{border:1px solid var(--border-bright);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:5px 10px;font-size:12px}.row-actions button.danger{color:var(--danger);border-color:#ff5d5d66}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#0a0b0dd9;position:sticky;top:0}.topbar-inner{align-items:center;gap:32px;max-width:1320px;margin:0 auto;padding:14px 24px;display:flex}.brand{flex-shrink:0;align-items:center;gap:8px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-dim));width:18px;height:18px;box-shadow:0 0 14px var(--accent-glow);border-radius:4px}.brand-name{font-family:var(--font-mono);color:var(--text-bright);letter-spacing:-.02em;font-size:16px;font-weight:600}.topnav{flex:auto;gap:4px;display:flex}.topnav a{color:var(--text-dim);border-radius:7px;padding:6px 12px;font-size:13.5px;text-decoration:none}.topnav a:hover{color:var(--text)}.topnav a.active{color:var(--accent);background:var(--accent-glow)}.gh-link{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border-bright);border-radius:7px;flex-shrink:0;padding:6px 12px;font-size:12.5px;text-decoration:none}.gh-link:hover{color:var(--text-bright);border-color:var(--accent)}.app-main{flex-direction:column;flex:auto;display:flex}
