@font-face{font-family:Bricolage;src:url(/assets/bricolage-ETsp9OP2.woff2) format("woff2");font-style:normal;font-weight:200 800;font-display:swap;font-stretch:75% 100%}@font-face{font-family:Switzer;src:url(/assets/switzer-500i-BnCze0FC.woff2) format("woff2");font-style:italic;font-weight:500;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/jetbrains-mono-Db4Uuiha.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{color:#111;background:#f6f5f3;font-family:Bricolage,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg-canvas: #f6f5f3;--bg-surface: #f1f0ed;--bg-subtle: #ecebea;--bg-muted: #dfddda;--bg-card: #ffffff;--fg-default: #111111;--fg-muted: rgb(17 17 17 / 70%);--fg-subtle: rgb(17 17 17 / 55%);--fg-placeholder: rgb(17 17 17 / 40%);--fg-inverted: #ffffff;--border-default: #ecebea;--border-strong: #dfddda;--border-input: #dfddda;--border-focus: #111111;--brand-yellow: #ffd900;--brand-yellow-hover: #e6c300;--brand-red: #ed1c24;--brand-red-cta: #b3271c;--status-success: #15704a;--status-success-bg: rgb(21 112 74 / 9%);--status-danger: #b3271c;--status-danger-bg: rgb(179 39 28 / 8%);--shadow-xs: rgb(25 34 35 / 4%) 0 1px 1px -.5px;--shadow-sm: rgb(25 34 35 / 4%) 0 1px 1px -.5px, rgb(25 34 35 / 9%) 0 5px 14px -4px;--radio-1: 4px;--radio-2: 8px;--radio-3: 12px;--duration-fast: .15s;--ease-standard: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;color-scheme:light;background:var(--bg-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{position:relative;min-width:320px;min-height:100vh;min-height:100dvh;margin:0;overflow-x:hidden;background:var(--bg-canvas);color:var(--fg-default);font-size:14px;line-height:1.45}body:before,body:after{position:fixed;pointer-events:none;content:""}body:before{inset:-24%;background:radial-gradient(circle at 17% 52%,rgb(255 217 0 / 52%) 0%,rgb(230 195 0 / 28%) 20%,transparent 44%),radial-gradient(circle at 86% 48%,rgb(255 217 0 / 36%) 0%,rgb(237 28 36 / 17%) 24%,transparent 46%);filter:blur(76px)}body:after{inset:-40%;z-index:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 260 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.62' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");background-size:260px 260px;mix-blend-mode:multiply}button,input,a{font:inherit}#app{position:relative;z-index:1;display:grid;min-height:100vh;min-height:100dvh;padding:32px 24px;place-items:center}.auth-shell{display:grid;width:100%;min-width:0;max-width:520px;gap:18px}.brand{display:flex;align-items:center;justify-content:center;gap:11px}.brand-logo{display:block;width:34px;height:34px;object-fit:contain}.brand-copy{display:grid;gap:1px}.brand-copy strong{font-family:Switzer,sans-serif;font-size:18px;font-style:italic;font-weight:500;letter-spacing:-.02em;line-height:1.1}.brand-copy span{color:var(--fg-subtle);font-size:10px;font-weight:650;letter-spacing:.095em;line-height:1.3;text-transform:uppercase}.frame{width:100%;min-width:0;overflow:hidden;border-radius:var(--radio-3);background:var(--bg-card);box-shadow:var(--shadow-sm)}.heading{padding:26px 28px 12px}.eyebrow{display:inline-flex;min-height:28px;align-items:center;padding:5px 10px;border-radius:999px;color:var(--fg-muted);background:var(--bg-subtle);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:18ch;margin:17px 0 10px;color:var(--fg-default);font-family:Switzer,sans-serif;font-size:28px;font-style:italic;font-weight:500;letter-spacing:-.015em;line-height:1.1}h2{margin-bottom:10px;font-size:14px;font-weight:650;line-height:1.35}.heading p{max-width:58ch;margin-bottom:0;color:var(--fg-muted);line-height:1.55}.content{display:grid;min-width:0;gap:18px;padding:8px 28px 22px}.stack{display:grid;min-width:0;gap:8px}.stack label:not(:first-child){margin-top:6px}label{color:var(--fg-default);font-size:12px;font-weight:650}input{width:100%;height:40px;min-height:40px;padding:8px 12px;border:1px solid var(--border-input);border-radius:var(--radio-2);color:var(--fg-default);background:var(--bg-canvas);font-size:13px;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}input::placeholder{color:var(--fg-placeholder)}input:hover:not(:disabled){border-color:#11111152}input:disabled{color:var(--fg-subtle);background:var(--bg-surface)}.access-code-input{font-family:JetBrains Mono,monospace;font-size:18px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.28em;text-align:center}input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,.qr:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.field-hint{margin:-2px 0 2px;color:var(--fg-subtle);font-size:11px;line-height:1.4}.turnstile-slot{display:grid;width:100%;min-width:0;min-height:65px;align-items:center;justify-content:stretch;overflow:hidden}.button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--radio-2);color:var(--fg-default);background:var(--bg-card);box-shadow:var(--shadow-xs);font-size:13px;font-weight:650;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);-webkit-tap-highlight-color:transparent}.button:hover:not(:disabled){background:var(--bg-surface)}.button:disabled{cursor:default;opacity:.48}.primary{border-color:var(--fg-default);color:var(--fg-inverted);background:var(--fg-default)}.primary:after{content:"→";font-size:15px;font-weight:500;line-height:1}.primary:hover:not(:disabled){border-color:#2a2a2a;background:#2a2a2a}.danger{border-color:#b3271c47;color:var(--status-danger);background:var(--status-danger-bg)}.email-fallback{margin-top:6px;padding-top:14px;border-top:1px solid var(--border-default);color:var(--fg-muted);font-size:12px}.email-fallback summary{color:var(--fg-default);font-size:12px;font-weight:600;cursor:pointer}.email-fallback p{margin:10px 0;line-height:1.5}.email-fallback .button{width:100%}.notice,.warning,.scope{margin-bottom:0;padding:13px 14px;border-radius:var(--radio-2);color:var(--fg-muted);background:var(--bg-surface);font-size:12px;line-height:1.5}.warning{color:var(--status-danger);background:var(--status-danger-bg)}.client-identity,.permissions,.redirect-destination{padding:16px;border:1px solid var(--border-default);border-radius:var(--radio-2);background:var(--bg-card)}.client-identity{display:grid;gap:4px}.client-declared-name{overflow-wrap:anywhere;unicode-bidi:isolate}.redirect-destination{display:grid;gap:9px;background:var(--bg-surface)}.redirect-destination h2,.redirect-destination p{margin-bottom:0}.redirect-destination>p{color:var(--fg-muted);font-size:12px;line-height:1.45}.redirect-summary{display:grid;gap:2px}.redirect-label{color:var(--fg-subtle);font-size:10px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.redirect-host{color:var(--fg-default);font-size:13px}.redirect-uri,.secret{display:block;overflow-wrap:anywhere;padding:10px 11px;border:1px solid var(--border-strong);border-radius:var(--radio-1);color:var(--fg-default);background:var(--bg-card);direction:ltr;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.5;unicode-bidi:isolate;white-space:normal}.permission{display:grid;grid-template-columns:20px 1fr;gap:7px;margin-bottom:10px;color:var(--fg-muted);font-size:12px;line-height:1.45}.permission:last-child{margin-bottom:0}.check{color:var(--status-success);font-weight:800}.actions{display:grid;grid-template-columns:1fr 1.45fr;gap:8px}.status{min-height:18px;margin-bottom:0;color:var(--fg-muted);font-size:12px;line-height:1.45}.status.success{min-height:0;padding:12px 13px;border-radius:var(--radio-2);color:var(--status-success);background:var(--status-success-bg)}.access-request-form{gap:9px;padding:16px;border:1px solid var(--border-default);border-radius:var(--radio-2);background:var(--bg-surface)}.code-guidance{padding:15px 16px;border:1px solid rgb(230 195 0 / 36%);border-left:4px solid var(--brand-yellow-hover);border-radius:var(--radio-2);background:#ffd90017}.code-guidance-copy h2,.code-guidance-copy p{margin-bottom:0}.code-guidance-copy p{margin-top:4px;color:var(--fg-muted);font-size:12px;line-height:1.5}.code-guidance-copy strong{color:var(--fg-default);font-weight:650}.connection-steps{display:grid;gap:0;margin:0;padding:0;list-style:none}.connection-step{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;min-height:67px}.connection-step:not(:last-child):after{position:absolute;top:31px;bottom:4px;left:15px;width:1px;background:var(--border-strong);content:""}.connection-step-number{z-index:1;display:grid;width:32px;height:32px;border:1px solid rgb(230 195 0 / 45%);border-radius:50%;color:var(--fg-default);background:var(--brand-yellow);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;place-items:center}.connection-step div{display:grid;align-content:start;gap:2px;padding-top:1px}.connection-step strong{font-size:13px;line-height:1.35}.connection-step div>span{color:var(--fg-muted);font-size:12px;line-height:1.45}.oauth-entry-notice{border-left:3px solid var(--brand-red-cta)}.orientation-link{width:100%;text-decoration:none}.assurance{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radio-2);background:var(--bg-card)}.assurance-item{display:grid;align-content:start;gap:4px;min-height:112px;padding:14px;border-right:1px solid var(--border-default)}.assurance-item:last-child{border-right:0}.assurance-item strong{color:var(--fg-default);font-size:12px}.assurance-item>span:last-child{color:var(--fg-subtle);font-size:11px;line-height:1.45}.assurance-number{color:var(--brand-red-cta);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.privacy-note{margin-bottom:0;color:var(--fg-subtle);font-size:11px;line-height:1.5}.qr{width:min(240px,100%);padding:10px;border:1px solid var(--border-strong);border-radius:var(--radio-2);background:var(--bg-card);justify-self:center}details{color:var(--fg-muted);font-size:12px}summary{cursor:pointer;font-weight:600}.grant-list{display:grid;gap:10px}.grant{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid var(--border-default);border-radius:var(--radio-2)}.grant h2,.grant p{margin-bottom:2px}.grant p{color:var(--fg-subtle);font-size:11px}.session-controls{display:grid;gap:9px;padding-top:16px;border-top:1px solid var(--border-default)}.session-controls>p{margin-bottom:0;color:var(--fg-subtle);font-size:11px;line-height:1.45}.session-controls .button{justify-self:start}.loading{display:flex;align-items:center;gap:9px;color:var(--fg-muted)}.pulse{width:9px;height:9px;border-radius:50%;background:var(--brand-yellow-hover);box-shadow:0 0 0 4px #ffd9002e;animation:pulse 1.2s ease-in-out infinite}footer{display:flex;justify-content:center;gap:18px;color:var(--fg-subtle);font-size:10px;line-height:1.4}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}@media(max-width:640px){#app{padding:24px 24px 32px;place-items:start center}.auth-shell{gap:16px;margin:auto 0}.heading,.content{padding-right:20px;padding-left:20px}input{font-size:16px}.access-code-input{font-size:18px}.button{min-height:44px}.actions,.grant,.assurance{grid-template-columns:1fr}.assurance-item{grid-template-columns:26px 1fr;gap:3px 7px;min-height:0;border-right:0;border-bottom:1px solid var(--border-default)}.assurance-item:last-child{border-bottom:0}.assurance-item>span:last-child{grid-column:2}.grant{display:grid}footer{display:grid;gap:3px;text-align:center}}@media(max-width:359px){#app{padding-right:14px;padding-left:14px}.heading,.content{padding-right:22px;padding-left:22px}}@media(prefers-reduced-motion:reduce){.pulse,.button,input{animation:none;transition:none}}
