:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f5f4f1;color:#242420}*{box-sizing:border-box}body{margin:0;padding:64px 24px}main{max-width:640px;margin:auto}.brand{font-size:23px;font-weight:650;margin:0 0 54px}.brand span{font-weight:400;color:#75756e;font-size:13px;margin-left:12px}h1{font-size:38px;line-height:1.25;letter-spacing:-1.3px;margin:0 0 18px}h2{font-size:20px;margin:0 0 15px}p{line-height:1.7}.intro{font-size:17px;color:#66665e;margin-bottom:36px}section{background:#fff;border:1px solid #e4e3dd;border-radius:20px;padding:28px;margin:22px 0}.button,.secondary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:13px 22px;font:inherit;cursor:pointer;text-decoration:none;background:#262923;color:white;min-height:46px}.secondary{background:#eceee7;color:#242420}.button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #4f7252;outline-offset:4px}.account{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e9e9e3;padding-bottom:18px;margin-bottom:24px;font-size:14px;overflow-wrap:anywhere}.quiet{border:0;background:none;color:#666;font:inherit;cursor:pointer;white-space:nowrap}.permission{background:#f6f7f2;padding:18px;border-radius:12px;margin:22px 0;font-size:14px}.permission p{margin-bottom:0;color:#66665e}li{line-height:1.7;margin:7px 0}ul{padding-left:20px}label{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 20px}input{width:18px;height:18px}blockquote{margin:22px 0;padding-left:16px;border-left:3px solid #899b74;line-height:1.8}.hint,footer{font-size:13px;color:#75756e}footer{display:flex;gap:24px;margin-top:32px}footer a{color:inherit}#message{font-size:14px;color:#725222}#message:empty{display:none}[hidden]{display:none!important}@media(prefers-color-scheme:dark){:root{background:#171815;color:#efefe9}section{background:#20211e;border-color:#34352f}.intro,.permission p,.hint,footer,.brand span{color:#a8aa9e}.permission{background:#2b2d26}.button{background:#dce5ce;color:#20241a}.secondary{background:#34382d;color:#efefe9}.account{border-color:#34352f}.quiet{color:#adb09f}#message{color:#d4bb90}}@media(max-width:600px){body{padding:32px 18px}.brand{margin-bottom:36px}h1{font-size:30px}section{padding:22px}}
/* Match the web app's continuous corners; retain border-radius as fallback. */
@supports (corner-shape: squircle) {
  *,
  *::before,
  *::after {
    corner-shape: squircle;
  }
}

/* Account connection surfaces share the product's neutral palette and icon. */
.auth-page{--auth-bg:#f7f7f8;--auth-surface:#fff;--auth-ink:#252528;--auth-muted:#68686f;--auth-line:#e5e5e8;--auth-soft:#f5f5f7;--auth-accent:#6927ba;--auth-success:#28734f;--auth-error:#9a431f;color-scheme:light;background:var(--auth-bg);color:var(--auth-ink);padding:48px 24px 32px;min-height:100vh;-webkit-font-smoothing:antialiased}
.auth-shell{max-width:464px;margin:0 auto}
.language-switch{display:flex;justify-content:flex-end;gap:4px;margin:0 0 18px;font-size:12px}
.language-switch button{font:inherit;min-height:32px;padding:5px 10px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--auth-muted,#68686f);cursor:pointer}
.language-switch button[aria-pressed="true"]{color:var(--auth-ink,#252528);background:var(--auth-surface,#fff);border-color:var(--auth-line,#e5e5e8);font-weight:600}
.language-switch button:focus-visible{outline:3px solid var(--auth-accent,#6927ba);outline-offset:3px}
.language-switch button:hover{background:var(--auth-soft,#f5f5f7)}
.auth-heading{text-align:center;margin-bottom:24px}
.app-brand{display:inline-flex;flex-direction:column;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:19px;font-weight:650;letter-spacing:-.4px;margin-bottom:24px}
.app-brand img{display:block;border-radius:16px;box-shadow:0 2px 7px #2525280b}
.auth-page h1{font-size:28px;line-height:1.35;letter-spacing:-.025em;text-wrap:balance;margin:0 0 12px;font-weight:650;overflow-wrap:anywhere}
.auth-page h2{font-size:19px;line-height:1.45;letter-spacing:-.015em;margin:0 0 8px;font-weight:650;text-wrap:balance}
.auth-page p{line-height:1.65;text-wrap:pretty}
.auth-page .intro{font-size:14px;line-height:1.75;color:var(--auth-muted);margin:0}
.steps{list-style:none;display:flex;align-items:center;justify-content:center;gap:24px;padding:0;margin:0 0 24px;font-size:12px;color:var(--auth-muted)}
.steps li{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
.steps li+li:before{content:"";height:1px;width:24px;background:var(--auth-line);margin-right:4px}
.steps [aria-current="step"]{color:var(--auth-ink);font-weight:600}
.step-number{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border:1px solid var(--auth-line);border-radius:50%;font-size:11px}
.steps [aria-current="step"] .step-number{background:var(--auth-ink);border-color:var(--auth-ink);color:var(--auth-surface)}
.steps .is-complete .step-number{background:var(--auth-soft);color:var(--auth-success);border-color:transparent}
.auth-page .auth-card{background:var(--auth-surface);border:1px solid var(--auth-line);border-radius:16px;padding:28px;margin:0;box-shadow:0 4px 20px #25252803}
.auth-page .card-intro{color:var(--auth-muted);font-size:14px;margin:0 0 24px;line-height:1.7}
#apple-stage{text-align:center}
.apple-control{min-height:40px;margin:24px 0 12px;display:flex;justify-content:center}
.apple-control .apple-auth-button{width:240px!important;max-width:100%;height:40px!important;border-radius:999px!important;corner-shape:round;text-align:left;overflow:hidden}
.apple-control .apple-auth-button:hover{filter:brightness(1.3)}
.auth-page .hint{font-size:12px;color:var(--auth-muted);margin:10px 0;line-height:1.7}
#apple-status:empty{display:none}
.help-details{font-size:12px;color:var(--auth-muted);margin-top:16px}
.auth-page summary{cursor:pointer;list-style:none;min-height:28px;line-height:28px;user-select:none}
.auth-page summary::-webkit-details-marker{display:none}
.auth-page summary:after{content:"⌄";display:inline-block;margin-left:7px;font-size:14px;transition:transform .18s ease-out}
.auth-page details[open]>summary:after{transform:rotate(180deg)}
.help-details p{margin:8px 0 0;text-align:left;background:var(--auth-soft);border-radius:8px;padding:12px}
.auth-page .button{width:100%;display:flex;gap:12px;justify-content:center;min-height:48px;border:1px solid var(--auth-ink);border-radius:9px;padding:12px 16px;background:var(--auth-ink);color:var(--auth-surface);font-size:14px;font-weight:600;transition:background .18s ease-out,opacity .18s ease-out}
.auth-page .button>span[aria-hidden]{font-size:18px;line-height:1}
.auth-page .button:hover:not(:disabled){opacity:.86}
.auth-page .button:active:not(:disabled){opacity:.72}
.auth-page .button:disabled{opacity:.42;cursor:not-allowed}
.auth-page .button[aria-busy="true"]{cursor:progress}
.auth-page :is(button,a,input,summary,[role="button"]):focus-visible{outline:3px solid var(--auth-accent);outline-offset:4px}
.text-button{border:0;padding:4px 0;background:none;color:var(--auth-accent);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.auth-page .account{border-color:var(--auth-line);font-size:12px;color:var(--auth-muted);align-items:center;padding-bottom:16px;margin-bottom:24px}
.verified-label{display:flex;align-items:center;gap:7px;color:var(--auth-success);font-size:12px;font-weight:550;margin:0 0 18px}
.status-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--auth-soft);font-size:12px}
.permission-list{padding:0;margin:22px 0;list-style:none;display:flex;flex-direction:column;gap:18px}
.permission-list li{display:flex;gap:12px;margin:0}
.permission-icon{width:20px;flex:none;line-height:24px;font-size:15px;color:var(--auth-success)}
.permission-list strong,.notes-option strong{display:block;font-size:13px;font-weight:600;line-height:1.6}
.permission-list p{margin:3px 0 0;font-size:12px;color:var(--auth-muted);line-height:1.7}
.notes-option{display:flex;align-items:flex-start;gap:11px;border-top:1px solid var(--auth-line);padding-top:19px;margin:0 0 18px;cursor:pointer}
.notes-option input{margin:3px 0 0;width:17px;height:17px;flex:none;accent-color:var(--auth-accent)}
.notes-option small{display:block;color:var(--auth-muted);font-size:12px;line-height:1.7;margin-top:3px}
.consent-note,.scope-note{font-size:12px;color:var(--auth-muted);line-height:1.7!important}
.consent-note{margin:0 0 22px}
.scope-note{margin:14px 0 0;text-align:center}
.notice{border:1px solid #ebd6c9;background:#fff6ef;border-radius:10px;padding:13px 16px;margin:0 0 18px;color:var(--auth-error)}
#message{font-size:13px;color:inherit;margin:0;overflow-wrap:anywhere}
.notice .text-button{margin-top:6px;color:inherit}
.notice[data-tone="progress"]{color:var(--auth-muted);background:var(--auth-soft);border-color:var(--auth-line)}
.loading-state{height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:13px;color:var(--auth-muted)}
.loading-bar{width:100px;height:5px;border-radius:3px;background:var(--auth-line);animation:breathe 1.3s ease-in-out infinite}
@keyframes breathe{50%{opacity:.35}}
.connected-card{text-align:center}
.success-mark{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;border:1px solid var(--auth-line);border-radius:50%;color:var(--auth-success);font-size:23px;background:var(--auth-soft)}
.try-prompt{margin:28px 0;text-align:left;border-top:1px solid var(--auth-line);padding-top:21px}
.try-prompt>span{font-size:11px;color:var(--auth-muted)}
.try-prompt p{font-size:14px;line-height:1.8;margin:8px 0 0}
.connection-details{text-align:left;border-top:1px solid var(--auth-line);padding-top:15px;font-size:12px;color:var(--auth-muted)}
.connection-details>summary{color:var(--auth-ink);font-weight:500}
.disconnect-button{border:1px solid var(--auth-line);background:var(--auth-surface);border-radius:8px;padding:9px 12px;color:var(--auth-error);font:inherit;cursor:pointer;min-height:38px}
.auth-page .auth-footer{display:flex;align-items:center;justify-content:center;gap:14px;margin:27px 0 0;color:var(--auth-muted);font-size:12px}
.auth-footer a{text-decoration:none;padding:3px 0}
.auth-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-caption{text-align:center;font-size:11px;color:var(--auth-muted);margin:13px 0 0}
.client-details{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 22px;font-size:12px;margin:0 0 24px;padding-bottom:22px;border-bottom:1px solid var(--auth-line)}
.client-details dt{color:var(--auth-muted)}
.client-details dd{margin:0;text-align:right;overflow-wrap:anywhere}
.client-warning{font-size:12px;color:var(--auth-muted);padding:12px 14px;background:var(--auth-soft);border-radius:8px;line-height:1.7;margin-bottom:20px}
.consent-actions{display:flex;gap:10px;margin-top:24px}
.auth-page .cancel-button{border:1px solid var(--auth-line);background:var(--auth-surface);color:var(--auth-ink);font:inherit;font-size:14px;border-radius:9px;min-height:48px;padding:12px 24px;cursor:pointer;flex:none}
.cancel-button:hover{background:var(--auth-soft)}
@media(prefers-color-scheme:dark){.auth-page{--auth-bg:#1b1b1d;--auth-surface:#232326;--auth-ink:#f0f0f3;--auth-muted:#b1b1b8;--auth-line:#3a3a40;--auth-soft:#2d2d32;--auth-accent:#c8a4fa;--auth-success:#8ad5ab;--auth-error:#f1b193;color-scheme:dark}.auth-page .notice{background:#342921;border-color:#644331}.auth-page .notice[data-tone="progress"]{background:var(--auth-soft);border-color:var(--auth-line)}.apple-control .apple-auth-button{outline:1px solid #6b6b70}}
@media(max-width:600px){.auth-page{padding:34px 20px 28px}.auth-page h1{font-size:25px}.auth-page .auth-card{padding:25px 23px}.app-brand{margin-bottom:23px}.auth-heading{margin-bottom:24px}.steps{gap:14px}.steps li+li:before{width:20px;margin-right:0}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){.auth-page *{animation:none!important;transition:none!important}}
