
:root{color-scheme:dark;--bg:#0e0f12;--panel:#121418;--input:#0f1216;--text:#e6e8ec;--muted:#9aa4b1;--border:#262b33;--blue:#1f3fb8;--blue-hover:#18349b;--gold:#f2c94c;font-family:Poppins,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:280px}a{color:var(--gold);text-underline-offset:4px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #8ca5ff;outline-offset:4px}p{line-height:1.65;margin:0 0 16px;overflow-wrap:anywhere}h1,h2,h3{line-height:1.22;margin:0;overflow-wrap:anywhere}h1{font-size:28px;font-weight:600;letter-spacing:-.8px;margin:14px 0}h2{font-size:17px;font-weight:600}h3{font-size:14px;font-weight:600}svg{display:block;flex-shrink:0}.icon{width:20px;height:20px}.muted{color:var(--muted);font-size:13px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:16px;top:-80px;z-index:5;padding:12px;background:var(--bg)}.skip:focus{top:12px}
.shell{min-height:100svh;display:grid;grid-template-columns:minmax(320px,.92fr) minmax(540px,1.08fr)}.hero{position:relative;min-height:760px;padding:44px 48px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;background:var(--panel);overflow:hidden}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/oauth-ui/vinyl.jpg') center center/cover no-repeat;opacity:.7}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,0) 30%,rgba(0,0,0,.82) 100%)}.wordmark{display:flex;align-items:center;gap:10px;font-size:26px;letter-spacing:.5px;font-weight:750;white-space:nowrap;color:var(--text);line-height:1.2}.wordmark img{display:block;width:107px;height:auto;flex:0 0 auto}.wordmark span{font-weight:300;opacity:.85}.hero .wordmark{color:#fff}.hero-copy{max-width:420px;margin-top:220px}.hero-copy h2{font-size:clamp(30px,3.4vw,48px);letter-spacing:-1.4px;font-weight:500;line-height:1.16;margin:18px 0}.hero-copy p{color:#c7cbd1;font-size:14px;max-width:350px}.hero-foot{display:flex;align-items:center;gap:8px;color:#bbbfc8;font-size:11px;margin-top:30px}.hero-foot .icon{width:14px;height:14px}.hero .eyebrow{color:#b5bdcb}
.workspace{min-width:0;display:flex;flex-direction:column;padding:32px clamp(24px,5vw,80px) 22px;min-height:100svh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:36px}.topbar .wordmark{display:none}.topbar a{font-size:12px;color:var(--muted);text-decoration:none}.topbar a:hover{color:var(--text)}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:100px;padding:6px 10px;color:#b8c1ce;font-size:10px;letter-spacing:.15px;white-space:nowrap}.badge .icon{width:12px;height:12px}.main{width:100%;max-width:420px;margin:auto;min-width:0;padding:42px 0}.main.consent{max-width:500px;padding-top:30px;padding-bottom:28px}.main.portal{max-width:600px}.intro{color:var(--muted);font-size:14px;line-height:1.65;margin-bottom:24px}.intro strong{color:var(--text);font-weight:500}.app-bridge{display:flex;align-items:center;gap:13px;margin:0 0 28px}.patt-tile{display:block;flex:0 0 auto;border-radius:14px;width:52px;height:52px;overflow:hidden}.patt-tile img{display:block;width:100%;height:100%;object-fit:contain}.bridge-line{width:32px;height:1px;background:#434c59;position:relative}.bridge-line:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#8b98aa;left:13px;top:-2.5px}.app-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #363d47;border-radius:14px;background:#20252e;color:#dce3ee;font-size:22px;font-weight:600}.app-icon .icon{width:28px;height:28px}.service-logo{display:block;width:32px;height:32px;object-fit:contain}.app-icon.chatgpt .service-logo{width:44px;height:44px}.app-icon.cursor,.app-icon.chatgpt,.app-icon.claude{background:#121418;border-color:#363d47}.app-icon.generic{background:#1b2440;color:#becaff;border-color:#34436e}.client-caption{font-size:12px;color:var(--muted);margin-left:2px;min-width:0;overflow-wrap:anywhere}.client-caption strong{display:block;font-size:14px;color:var(--text);font-weight:500;margin-bottom:2px}.client-label{overflow-wrap:anywhere}
.form{display:flex;flex-direction:column;gap:18px}.field label{display:block;font-size:13px;font-weight:500;color:#b4bdc8;margin-bottom:8px}.field input:not([type=hidden]){display:block;width:100%;min-width:0;height:52px;border:1px solid var(--border);border-radius:12px;padding:14px 16px;color:var(--text);background:var(--input);font-size:16px;transition:border-color .15s}.field input:hover{border-color:#424b5a}.field input:focus{border-color:#6686ff;outline:3px solid rgba(91,126,255,.25);outline-offset:0}.field input::placeholder{color:#6f7782}.field input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px #151a24 inset}.button,button{border:1px solid transparent;border-radius:12px;padding:14px 20px;min-height:48px;background:var(--blue);color:#fff;text-align:center;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:8px;overflow-wrap:anywhere}button:hover,.button:hover{background:var(--blue-hover)}.primary{width:100%;margin-top:5px}.primary .icon{width:17px;height:17px}.secondary{background:transparent;border-color:var(--border);color:var(--text);font-weight:500}.secondary:hover{background:#1c212b;border-color:#444e5e}.danger{background:transparent;border-color:#613c43;color:#ffb8bf;font-size:12px;min-height:44px;padding:10px 14px}.danger:hover{background:#321c22;border-color:#a65a66}.actions{display:flex;gap:10px;margin-top:22px}.actions .primary{flex:1;margin:0}.actions .secondary{min-width:100px}.error{padding:14px 16px;border:1px solid #71333e;background:#28151b;color:#ffc5cc;border-radius:12px;font-size:13px;margin:0 0 22px}.error .icon{display:inline-block;vertical-align:middle;width:16px;height:16px;margin-right:7px}.help{font-size:12px;color:var(--muted);line-height:1.65;margin:18px 0 0}.help a{color:#b7c7ff}.account-row{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--panel);margin:20px 0}.account-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#1c2539;color:#a7bafa;flex-shrink:0}.account-icon .icon{width:17px;height:17px}.account-row>div{min-width:0}.account-row small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.account-row strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.permissions{padding:0;margin:16px 0;list-style:none;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.permissions li{display:flex;align-items:flex-start;gap:12px;padding:16px}.permissions li+li{border-top:1px solid var(--border)}.permission-icon{color:#90a6f8;flex-shrink:0;padding-top:1px}.permission-icon .icon{width:18px;height:18px}.permissions p{font-size:12px;color:var(--muted);line-height:1.6;margin:6px 0 0}.permissions li>div:last-child{min-width:0}.scope-details{color:var(--muted);font-size:11px;margin:12px 0 20px}.scope-details summary{cursor:pointer;min-height:28px;padding:5px 0}.scope-details ul{padding-left:18px}.scope-details strong{font-family:ui-monospace,monospace;font-weight:400;overflow-wrap:anywhere}.notice{display:flex;gap:10px;color:#b4becb;font-size:12px;line-height:1.6;padding:14px 0}.notice .icon{width:16px;height:16px;color:#8b9bb4;margin-top:2px}.notice p{margin:0}.legal-note{font-size:11px;color:var(--muted);line-height:1.65;margin-top:16px}.legal-note a{color:#b7c7ff}.callback-origin{overflow-wrap:anywhere}.requester{font-size:10px;color:var(--muted);overflow-wrap:anywhere;margin-top:20px}.footer{border-top:1px solid var(--border);padding-top:18px;margin-top:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;font-size:10px;color:var(--muted);line-height:1.7}.footer a{color:var(--muted);white-space:nowrap}
.portal-heading{display:flex;align-items:center;gap:12px;margin-bottom:4px}.portal-heading .badge{margin-top:6px}.server-address{padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:22px 0 28px}.server-address label{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}.server-address code{display:block;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;color:#c0cdf9;line-height:1.65;overflow-wrap:anywhere;user-select:all}.list-heading{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;padding-bottom:12px}.connection{padding:20px 0;border-top:1px solid var(--border)}.connection-head{display:flex;align-items:center;gap:12px;min-width:0}.connection-head .app-icon{width:42px;height:42px;border-radius:11px}.connection-head .app-icon .icon{width:23px;height:23px}.connection-head .service-logo{width:26px;height:26px}.connection-head .app-icon.chatgpt .service-logo{width:36px;height:36px}.connection-label{flex:1;min-width:0}.connection h2{font-size:14px;margin-bottom:4px}.connection p{margin:12px 0 14px;font-size:12px;color:var(--muted)}.connection small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.connection .badge{font-size:9px;padding:4px 8px}.logout{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}.logout p{font-size:11px;color:var(--muted);margin:12px 0 0}.empty{padding:28px 20px;text-align:center;border:1px dashed #3b4554;border-radius:14px}.empty>.icon{margin:0 auto 15px;width:28px;height:28px;color:#93a3c3}.empty h2{font-size:16px;margin-bottom:10px}.empty p{font-size:12px;color:var(--muted);margin:0}.status-symbol{width:54px;height:54px;border:1px solid #3d4554;background:var(--panel);border-radius:16px;display:grid;place-items:center;color:#a6b6e3;margin-bottom:26px}.status-symbol .icon{width:25px;height:25px}.status p{font-size:14px;color:var(--muted)}
@media(min-width:1500px){.hero{padding:52px 64px}.workspace{padding-inline:80px}.hero-copy{max-width:470px}}
@media(max-width:1024px){.shell{display:block}.hero{display:none}.workspace{padding:24px 24px 20px;min-height:100svh}.topbar{max-width:600px;width:100%;margin:0 auto}.topbar .wordmark{display:flex;font-size:23px}.topbar>.badge{display:none}.topbar a{font-size:11px}.main{padding:48px 0;max-width:420px}.main.consent{padding-top:36px}.footer{max-width:600px;width:100%;margin-inline:auto}.app-bridge{margin-bottom:26px}}
@media(max-width:480px){.workspace{padding:22px 20px 18px}.main{padding:38px 0}.main.consent,.main.portal{padding:32px 0}.topbar .wordmark{font-size:18px;gap:8px}.topbar .wordmark img{width:84px}h1{font-size:26px}.app-bridge{gap:10px}.app-icon,.patt-tile{width:46px;height:46px;border-radius:12px}.client-caption{font-size:10px}.client-caption strong{font-size:12px}.actions{flex-direction:column}.actions button{width:100%}.actions .secondary{min-height:46px}.permissions li{padding:14px}.footer{display:block;font-size:10px}.footer a{display:block;margin-top:7px}.connection .danger,.logout>.secondary{width:100%}.connection .badge{margin-left:auto}.hero-copy{display:none}.legal-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){button,.button,.app-icon,.patt-tile,.badge,input,.permissions,.account-row{border:1px solid ButtonText}.hero{display:none}.shell{display:block}.topbar .wordmark{display:flex}}
