:root{--bg:#f3f5f7;--surface:#fff;--surface-2:#f7f8fa;--line:#dfe3e8;--text:#15171a;--muted:#657080;--accent:#4758ff;--accent-soft:#eef0ff;--green:#0f9f6e;--red:#dc3545;--amber:#b77900;--shadow:0 10px 30px rgba(20,28,45,.07);--code:#f1f3f5}html[data-theme=dark]{--bg:#0d0f12;--surface:#15181d;--surface-2:#111419;--line:#292e37;--text:#f1f3f6;--muted:#929cab;--accent:#8290ff;--accent-soft:#20264a;--green:#35d39a;--red:#ff6b76;--amber:#ffc65c;--shadow:0 12px 34px rgba(0,0,0,.25);--code:#0d1014}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}.mono,code,pre{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}.app-header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}.brand-block{display:flex;align-items:center;gap:13px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;font:bold 20px/1 monospace;background:var(--surface-2)}h1,h2,h3,p{margin-top:0}.brand-block h1{font-size:15px;letter-spacing:.055em;margin:0 0 2px}.brand-block p{font-size:12px;color:var(--muted);margin:0}.header-actions,.button-row{display:flex;align-items:center;gap:8px}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer}.workspace{display:grid;grid-template-columns:210px minmax(500px,1fr) minmax(330px, .72fr);max-width:1700px;margin:auto;min-height:calc(100vh - 74px)}.sidebar,.response-panel{position:sticky;top:74px;height:calc(100vh - 74px);overflow:auto}.sidebar{padding:18px 12px;border-right:1px solid var(--line);background:var(--surface)}.nav-link{display:flex;align-items:center;gap:11px;color:var(--muted);text-decoration:none;padding:10px;border-radius:8px;margin:2px 0;font-weight:650}.nav-link span{font:10px monospace;color:var(--muted)}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface-2)}.nav-link.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-note{margin:28px 8px 15px;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px}.sidebar-note strong{font-size:10px;letter-spacing:.1em}.sidebar-note p{color:var(--muted);font-size:11px;margin:5px 0 0}.doc-link{display:block;margin:10px 8px;color:var(--accent);font-size:12px;text-decoration:none}.main-panel{padding:22px;min-width:0}.panel-section{scroll-margin-top:92px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:15px;box-shadow:var(--shadow)}.panel-section.compact{font-size:13px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.section-heading h2,.response-header h2{font-size:17px;margin:2px 0 0}.eyebrow{font:10px/1 monospace;letter-spacing:.12em;color:var(--muted)}.section-copy,.muted{color:var(--muted)}.notice{padding:10px 12px;border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber) 9%,transparent);color:var(--muted);margin-bottom:15px;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.03em}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:8px;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}input[readonly]{color:var(--muted)}.inline-status,.auth-summary{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;background:var(--surface-2);border-radius:8px;margin-top:13px}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font:bold 9px/1 monospace;letter-spacing:.07em;border:1px solid currentColor;white-space:nowrap}.badge.pass{color:var(--green);background:color-mix(in srgb,var(--green) 9%,transparent)}.badge.fail{color:var(--red);background:color-mix(in srgb,var(--red) 9%,transparent)}.badge.warn{color:var(--amber);background:color-mix(in srgb,var(--amber) 9%,transparent)}.badge.unknown{color:var(--muted);background:var(--surface-2)}.button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:8px;padding:10px 13px;font-size:11px;font-weight:800;letter-spacing:.04em;cursor:pointer}.button:hover:not(:disabled){border-color:var(--accent)}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.danger{color:var(--red)}.button.small{padding:7px 9px;font-size:9px}.button.wide{width:100%}.wide-label{margin-top:14px}.copy-field{display:flex}.copy-field input{border-radius:8px 0 0 8px}.copy-field button{border:1px solid var(--line);border-left:0;background:var(--surface-2);color:var(--muted);border-radius:0 8px 8px 0;padding:0 12px;cursor:pointer;font-size:10px;font-weight:800}.result-strip{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-top:15px}.result-strip div{background:var(--surface-2);padding:12px}.result-strip span,.response-stats span{display:block;color:var(--muted);font:9px monospace;letter-spacing:.08em;margin-bottom:5px}.result-strip strong{font:12px monospace}.token-display{padding:18px;border:1px dashed var(--line);border-radius:9px;background:var(--code);margin-bottom:13px}.token-display>span,.token-display small{display:block;color:var(--muted)}.token-display code{display:block;font-size:16px;margin:8px 0;word-break:break-all}.scope-list{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:12px}.scope-row{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}.scope-row:last-child{border-bottom:0}.scope-row small{display:block;color:var(--muted);margin-top:3px}.preset-meta{padding:10px 12px;background:var(--surface-2);border-radius:8px;font-size:12px;margin:9px 0 13px}.request-line{display:grid;grid-template-columns:110px 1fr;gap:10px}.builder-block{margin-top:14px}.builder-heading{display:flex;align-items:center;justify-content:space-between}.builder-heading h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin:0}.text-button{border:0;background:none;color:var(--accent);font-size:10px;font-weight:800;cursor:pointer}.kv-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}.kv-row{display:grid;grid-template-columns:1fr 1.5fr 32px;gap:7px}.kv-row button{border:1px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--muted);cursor:pointer}.hidden{display:none!important}.auth-summary{font-size:12px}.auth-summary strong{color:var(--green)}.checklist{margin-top:12px;border:1px solid var(--line);border-radius:9px;overflow:hidden}.check-row{display:grid;grid-template-columns:1fr 100px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);font:12px monospace}.check-row:last-child{border-bottom:0}.check-row .badge{justify-self:end}.review-box{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}.review-box>div,.review-line{display:flex;justify-content:space-between;align-items:center}.review-box h3{font-size:13px;margin:0}.review-box p{color:var(--muted);font-size:12px;margin:9px 0}.review-line{border-top:1px solid var(--line);padding-top:9px;font:11px monospace}.diagnostic-list{display:grid;grid-template-columns:150px 1fr;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:0}.diagnostic-list dt,.diagnostic-list dd{padding:9px 11px;border-bottom:1px solid var(--line);margin:0}.diagnostic-list dt{font:10px monospace;color:var(--muted);background:var(--surface-2)}.diagnostic-list dd{font:12px monospace;word-break:break-word}.response-panel{border-left:1px solid var(--line);background:var(--surface);padding:18px}.response-header{display:flex;justify-content:space-between;align-items:flex-start}.response-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.response-stats div{border:1px solid var(--line);border-radius:8px;padding:9px}.response-stats strong{font:15px monospace}.tabs{display:flex;border-bottom:1px solid var(--line)}.tab{padding:9px 8px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:9px monospace;cursor:pointer}.tab.active{color:var(--accent);border-color:var(--accent)}.response-view{display:none;white-space:pre-wrap;word-break:break-word;background:var(--code);color:var(--text);border:1px solid var(--line);border-radius:0 0 9px 9px;padding:13px;min-height:330px;max-height:50vh;overflow:auto;font-size:11px;margin:0}.response-view.active{display:block}.event-log{margin-top:18px}.event-log ol{padding:0;list-style:none;border-top:1px solid var(--line);max-height:180px;overflow:auto}.event-log li{padding:8px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.event-log time{font:9px monospace;color:var(--accent);margin-right:6px}#toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);background:var(--text);color:var(--bg);padding:9px 13px;border-radius:7px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1180px){.workspace{grid-template-columns:190px 1fr}.response-panel{position:relative;top:0;height:auto;grid-column:2;border-left:0;border-top:1px solid var(--line)}}@media(max-width:760px){.app-header{height:auto;padding:12px}.header-actions .badge{display:none}.workspace{display:block}.sidebar{position:relative;top:auto;height:auto;border-right:0;border-bottom:1px solid var(--line);overflow:auto}.sidebar nav{display:flex;overflow:auto}.nav-link{min-width:max-content}.sidebar-note,.doc-link{display:none}.main-panel{padding:12px}.response-panel{position:relative;top:auto;height:auto}.form-grid{grid-template-columns:1fr}.request-line{grid-template-columns:1fr}.brand-block p{display:none}}
