:root{--bg:#0c0c0e;--bg-elevated:#141416;--text:#ececee;--text-muted:#9b9ba3;--border:#2a2a30;--border-subtle:#1e1e22;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display:"Inter", var(--sans);font:17px/1.55 var(--sans);color:var(--text);background-color:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{min-height:100svh;margin:0}#root{min-height:100svh}a{color:inherit}h1,h2{letter-spacing:-.02em;color:var(--text);margin:0;font-weight:500}p{margin:0}strong{color:var(--text);font-weight:500}.page{flex-direction:column;max-width:72rem;min-height:100svh;margin:0 auto;padding:0 1.5rem;display:flex}.header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem 0;display:flex}.wordmark{letter-spacing:.06em;text-transform:uppercase;color:var(--text);font-size:.9375rem;font-weight:500;text-decoration:none}.nav{gap:1.75rem;font-size:.875rem;display:flex}.nav a,.nav-button{font:inherit;font-size:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none;transition:color .2s}.nav a:hover,.nav-button:hover{color:var(--text)}.nav-button:focus-visible{outline:2px solid var(--text-muted);outline-offset:3px}.portal-main{flex-direction:column;flex:1;justify-content:center;padding:4rem 0 5rem;display:flex}.portal-main--signed-in{justify-content:flex-start;max-width:42rem;padding-top:3rem}.portal-card{border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:2px}.portal-sign-in{width:100%;max-width:26rem;margin:0 auto;padding:2rem 1.75rem}.portal-dashboard{margin-top:2rem;padding:1.75rem 1.5rem}.portal-dashboard h2{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8125rem}.portal-dashboard p{color:var(--text-muted);font-size:.9375rem;line-height:1.5}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.25rem;font-size:.75rem}.portal h1{font-family:var(--display);margin-bottom:.75rem;font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.12}.portal-subtitle{color:var(--text-muted);max-width:28rem;margin-bottom:2rem;font-size:1.0625rem}.portal-form{flex-direction:column;gap:1.25rem;display:flex}.portal-field{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:.5rem;font-size:.8125rem;display:flex}.portal-field input{font:inherit;letter-spacing:normal;text-transform:none;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:2px;padding:.75rem .875rem;font-size:1rem;transition:border-color .2s}.portal-field input::placeholder{color:var(--text-muted)}.portal-field input:focus{border-color:var(--text-muted);outline:none}.portal-error{color:#e8a598;margin:0;font-size:.875rem}.portal-button{font:inherit;letter-spacing:.02em;cursor:pointer;border:none;border-radius:2px;justify-content:center;align-items:center;width:fit-content;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;transition:opacity .2s;display:inline-flex}.portal-button.primary{color:var(--bg);background:var(--text)}.portal-button.primary:hover{opacity:.88}.portal-button.primary:focus-visible{outline:2px solid var(--text-muted);outline-offset:3px}.portal-button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.portal-button.secondary:hover{border-color:var(--text-muted)}.portal-button.secondary:disabled,.portal-button.primary:disabled{opacity:.5;cursor:not-allowed}.portal-signed-in{width:100%}.portal-tabs{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 1.25rem;padding-bottom:.75rem;display:flex}.portal-tab{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:.5rem .875rem;font-size:.875rem;transition:color .2s,border-color .2s,background .2s}.portal-tab:hover{color:var(--text)}.portal-tab--active{color:var(--text);border-color:var(--border);background:var(--bg-elevated)}.portal-tab:focus-visible{outline:2px solid var(--text-muted);outline-offset:2px}.portal-tab-panel{margin-top:0}.portal-tab-lede{color:var(--text-muted);margin-bottom:1rem;font-size:.9375rem;line-height:1.5}.portal-api-keys{margin-top:0}.portal-api-keys-lede{color:var(--text-muted);margin-bottom:1.25rem;font-size:.9375rem;line-height:1.5}.portal-inline-code{background:var(--bg);border:1px solid var(--border-subtle);border-radius:2px;padding:.1em .35em;font-size:.8125rem}.portal-api-keys-form{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.portal-key-reveal{border:1px solid var(--border);background:var(--bg);border-radius:2px;margin-bottom:1.5rem;padding:1rem}.portal-key-reveal-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem;font-size:.8125rem}.portal-key-reveal-value{word-break:break-all;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:2px;margin-bottom:1rem;padding:.75rem;font-size:.8125rem;display:block}.portal-key-reveal-actions{flex-wrap:wrap;gap:.75rem;display:flex}.portal-api-keys-muted{color:var(--text-muted);margin:0;font-size:.875rem}.portal-api-keys-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.portal-api-keys-item{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 0;display:flex}.portal-api-keys-item-title{margin:0 0 .25rem;font-size:.9375rem}.portal-api-keys-item-meta{color:var(--text-muted);margin:0;font-size:.8125rem}.portal-api-keys-prefix{font-family:ui-monospace,monospace}.portal-welcome-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.75rem 0 2.5rem;font-size:.8125rem;display:flex}.footer-link{color:var(--text-muted);text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--text)}@media (width<=640px){.portal-main{padding:3rem 0 4rem}.nav{gap:1.25rem}}.portal-result{white-space:pre;word-break:normal;max-height:32rem;overflow:auto}
