@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--kapa-dark-0:#e4e4e7;--kapa-dark-1:#a1a1a9;--kapa-dark-2:#717179;--kapa-dark-3:#52525a;--kapa-dark-4:#3f3f45;--kapa-dark-5:#2a2a2e;--kapa-dark-6:#212124;--kapa-dark-7:#17171a;--kapa-dark-8:#0d0d0f;--kapa-dark-9:#050506;--kapa-primary-0:#faf5ff;--kapa-primary-1:#f3e8ff;--kapa-primary-2:#e9d5ff;--kapa-primary-3:#d8b4fe;--kapa-primary-4:#c084fc;--kapa-primary-5:#a855f7;--kapa-primary-6:#9333ea;--kapa-primary-7:#7e22ce;--kapa-primary-8:#6b21a8;--kapa-primary-9:#581c87;--kapa-brand-accent:#9333ea;--kapa-brand-accent-hi:#c084fc;--kapa-success-bg:#061512;--kapa-success-border:#0d2e25;--kapa-success-fg:#34d399;--kapa-warning-bg:#1a1006;--kapa-warning-border:#33200d;--kapa-warning-fg:#fdba74;--kapa-danger-bg:#1a0a0d;--kapa-danger-border:#3d1219;--kapa-danger-fg:#fb7185;--kapa-info-bg:#051314;--kapa-info-border:#0a2629;--kapa-info-fg:#67e8f9;--bg:var(--kapa-dark-9);--surface:var(--kapa-dark-8);--surface-muted:var(--kapa-dark-7);--surface-raised:var(--kapa-dark-6);--border:var(--kapa-dark-6);--border-strong:var(--kapa-dark-5);--border-hover:var(--kapa-dark-4);--fg:var(--kapa-dark-0);--fg-muted:var(--kapa-dark-1);--fg-subtle:var(--kapa-dark-2);--fg-icon:var(--kapa-dark-3);--accent:var(--kapa-primary-6);--accent-hover:var(--kapa-primary-7);--accent-fg:#fff;--accent-soft:#a855f71a;--accent-softer:#a855f70f;--accent-ring:#a855f733;--accent-focus:#a855f759;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--tracking-tight:-.02em;--tracking-tighter:-.03em;--tracking-wide:.04em;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:.875rem;--fs-lg:1rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.75rem;--h1-size:2rem;--h2-size:1.75rem;--h3-size:1.5rem;--h4-size:1.375rem;--h5-size:1rem;--h6-size:.875rem;--line-height:1.4;--fs-display-lg:56px;--fs-display-md:44px;--fs-display-sm:36px;--space-xxs:.5rem;--space-xs:.625rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.25rem;--space-xl:1.5rem;--space-2xl:2rem;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000000f;--shadow-lg:0 10px 15px -3px #0003, 0 4px 6px -4px #00000026;--shadow-xl:0 24px 48px -8px #00000080;--navbar-height:60px;--footer-height:72px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.12s;--dur-base:.22s}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-md);letter-spacing:var(--tracking-tight);font-weight:500;line-height:var(--line-height);font-feature-settings:"salt" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}button,input,select,textarea{letter-spacing:var(--tracking-tight);font-family:inherit}h1,.h1{font-size:var(--h1-size);letter-spacing:var(--tracking-tighter);color:var(--fg);margin:0;font-weight:500;line-height:1.2}h2,.h2{font-size:var(--h2-size);letter-spacing:var(--tracking-tighter);color:var(--fg);margin:0;font-weight:500;line-height:1.25}h3,.h3{font-size:var(--h3-size);letter-spacing:var(--tracking-tight);color:var(--fg);margin:0;font-weight:500;line-height:1.3}h4,.h4{font-size:var(--h4-size);letter-spacing:var(--tracking-tight);color:var(--fg);margin:0;font-weight:500;line-height:1.35}h5,.h5{font-size:var(--h5-size);letter-spacing:var(--tracking-tight);color:var(--fg);margin:0;font-weight:600;line-height:1.4}h6,.h6{font-size:var(--h6-size);letter-spacing:var(--tracking-tight);color:var(--fg);margin:0;font-weight:600;line-height:1.4}.body-lg{font-size:var(--fs-lg);font-weight:500}.body-md{font-size:var(--fs-md);font-weight:500}.body-sm{font-size:var(--fs-sm);color:var(--fg-muted);font-weight:500}.body-xs{font-size:var(--fs-xs);color:var(--fg-muted);font-weight:500}.mono{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:0}.text-fg{color:var(--fg)}.text-muted{color:var(--fg-muted)}.text-subtle{color:var(--fg-subtle)}.text-accent{color:var(--kapa-primary-4)}.text-success{color:var(--kapa-success-fg)}.text-danger{color:var(--kapa-danger-fg)}a{color:var(--kapa-primary-4);text-decoration:none}a:hover{color:var(--kapa-primary-3)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}code,kbd,pre{font-family:var(--font-mono);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 6px;font-size:.85em}.app{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.progress-wrap{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}.progress-inner{align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:14px 24px;display:flex}@media (max-width:560px){.progress-inner{gap:10px;padding:10px 16px}.progress-bar{width:clamp(60px,18vw,120px)}}@media (max-width:380px){.progress-label{display:none}}.progress-mark{color:var(--fg);align-items:center;gap:10px;display:flex}.progress-mark-img{width:auto;height:20px;display:block}.progress-spacer{flex:1}.progress-label{color:var(--fg-muted);letter-spacing:var(--tracking-tight);white-space:nowrap;font-size:12px;font-weight:500}.progress-bar{background:var(--surface-raised);border-radius:2px;width:clamp(120px,30vw,240px);height:3px;overflow:hidden}.progress-fill{background:var(--accent);transform-origin:0;height:100%;transform:scaleX(var(--progress,0));transition:transform .35s var(--ease-out);border-radius:2px}.stage{padding:96px 24px calc(var(--footer-height) + 40px);flex:1;justify-content:center;align-items:flex-start;min-height:100vh;display:flex}.stage-no-footer{padding:96px 24px 40px}@media (max-width:560px){.stage{padding:64px 16px calc(var(--footer-height) + 32px)}.stage-no-footer{padding:40px 16px 24px}}.card{flex-direction:column;gap:28px;width:100%;max-width:520px;display:flex}.card-wide{max-width:680px}.hero h1{letter-spacing:var(--tracking-tighter);color:var(--fg);margin:0 0 8px;font-size:clamp(24px,2.4vw + 16px,30px);font-weight:600;line-height:1.15}.hero p{letter-spacing:var(--tracking-tight);color:var(--fg-muted);margin:0;font-size:15px;font-weight:500;line-height:1.5}.field{flex-direction:column;gap:8px;display:flex}.field-label{letter-spacing:var(--tracking-tight);color:var(--fg);font-size:13px;font-weight:500;line-height:1}.field-required{color:var(--kapa-danger-fg);margin-left:2px}.field-helper{color:var(--fg-subtle);font-size:12px;font-weight:500;line-height:1.4}.field-error{color:var(--kapa-danger-fg);font-size:12px;font-weight:500;line-height:1.4}.input,.select,.textarea{background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;color:var(--fg);letter-spacing:var(--tracking-tight);transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease, box-shadow var(--dur-fast) ease;outline:none;padding:12px;font-size:14px;font-weight:500;line-height:1.4}.input::placeholder,.textarea::placeholder{color:var(--kapa-dark-3)}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--border-hover)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-ring)}.input-prefix{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease, box-shadow var(--dur-fast) ease;align-items:stretch;display:flex;overflow:hidden}.input-prefix:hover{border-color:var(--border-hover)}.input-prefix:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-ring)}.input-prefix .prefix{color:var(--fg-subtle);white-space:nowrap;align-items:center;padding:0 0 0 12px;font-size:13px;font-weight:500;display:inline-flex}.input-prefix .input{box-shadow:none;background:0 0;border:0;padding-left:2px}.input-prefix .input:focus{box-shadow:none}.input-prefix.invalid,.input.invalid{border-color:var(--kapa-danger-fg)}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23717179' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.btn{letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 16px;font-family:inherit;font-size:14px;font-weight:500;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-primary:not(:disabled):hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{color:var(--fg-muted);background:0 0}.btn-ghost:hover{color:var(--fg);background:var(--surface-muted)}.btn-outline{background:var(--surface);border-color:var(--border-strong);color:var(--fg)}.btn-outline:hover{background:var(--surface-muted);border-color:var(--border-hover)}.btn-large{height:48px;padding:0 18px}.btn-kbd{opacity:.7;align-items:center;gap:3px;margin-left:4px;display:inline-flex}.btn-kbd-key{letter-spacing:0;color:currentColor;background:#ffffff1a;border:1px solid #ffffff24;border-radius:4px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.btn-outline .btn-kbd-key,.btn-ghost .btn-kbd-key{background:var(--surface-muted);border-color:var(--border);color:var(--fg-muted)}.btn-kbd-plus{color:currentColor;opacity:.5;font-size:10px;line-height:1}.footer-bar{z-index:20;height:var(--footer-height);background:var(--bg);border-top:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 24px;display:grid;position:fixed;bottom:0;left:0;right:0}.footer-bar-logout{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-subtle);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--dur-fast) ease, background var(--dur-fast) ease;background:0 0;border:0;justify-self:start;padding:12px 4px;font-family:inherit;font-size:11px;font-weight:500;line-height:1}.footer-bar-logout:hover{color:var(--fg-muted);background:var(--surface-muted)}.footer-bar-logout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.footer-bar-actions{justify-self:center;align-items:center;gap:8px;display:flex}.footer-bar-right{justify-self:end}@media (max-width:560px){.footer-bar{grid-template-columns:auto 1fr;padding:0 14px}.footer-bar-right{display:none}.footer-bar-actions{justify-self:end}.footer-bar-logout{padding:12px 4px}.btn-kbd{display:none}.footer-bar-actions .btn{padding:0 12px}}@media (max-width:380px){.footer-bar-logout{padding:12px 2px;font-size:10px}.footer-bar{gap:8px;padding:0 10px}}.opt-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.opt-grid-3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.opt-card{border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border-strong);cursor:pointer;min-height:56px;transition:all var(--dur-fast) ease;letter-spacing:var(--tracking-tight);color:var(--fg);text-align:left;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;width:100%;padding:14px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;display:flex}.opt-card:hover{border-color:var(--border-hover);background:var(--surface)}.opt-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.opt-card.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--fg)}.opt-card .opt-icon{background:var(--surface-raised);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--fg-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.opt-card.selected .opt-icon{background:var(--accent-ring);color:var(--kapa-primary-4)}.seg{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.seg-btn{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--border-strong);height:44px;color:var(--fg);letter-spacing:var(--tracking-tight);cursor:pointer;transition:all var(--dur-fast) ease;padding:0 8px;font-family:inherit;font-size:13px;font-weight:500}.seg-btn:hover{border-color:var(--border-hover);background:var(--surface)}.seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seg-btn.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--kapa-primary-4)}.check-row{background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;min-height:52px;transition:all var(--dur-fast) ease;letter-spacing:var(--tracking-tight);color:var(--fg);-webkit-user-select:none;user-select:none;text-align:left;align-items:center;gap:12px;width:100%;padding:14px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.3;display:flex}.check-row:hover{border-color:var(--border-hover);background:var(--surface)}.check-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check-row.selected{border-color:var(--accent);background:var(--accent-soft)}.check-box{border:1.5px solid var(--border-hover);background:var(--surface);width:18px;height:18px;transition:all var(--dur-fast) ease;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.check-row.selected .check-box{background:var(--accent);border-color:var(--accent)}.check-box svg{color:var(--accent-fg);opacity:0}.check-row.selected .check-box svg{opacity:1}.src-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (max-width:680px){.src-grid{grid-template-columns:repeat(2,1fr)}.opt-grid{grid-template-columns:1fr}.seg{grid-template-columns:repeat(3,1fr)}}.src-card{background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;min-height:64px;transition:all var(--dur-fast) ease;letter-spacing:var(--tracking-tight);color:var(--fg);text-align:left;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;width:100%;padding:12px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;display:flex;position:relative}.src-card:hover{border-color:var(--border-hover);background:var(--surface)}.src-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.src-card.selected{border-color:var(--accent);background:var(--accent-soft)}.src-card.disabled{opacity:.5;cursor:not-allowed}.src-card.preselected{border-color:var(--accent-focus);background:var(--accent-softer);cursor:default}.src-card .src-logo{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;overflow:hidden}.src-card .src-logo img,.src-card .src-logo svg{width:18px;height:18px;display:block}.src-card .src-title{flex:1;min-width:0}.src-card .src-sub{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;font-weight:500;line-height:1.3;overflow:hidden}.src-card .included-tag{color:var(--kapa-primary-4);background:var(--accent-ring);border-radius:var(--radius-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:3px 6px;font-size:10px;font-weight:500;line-height:1}.src-card .check-pill{background:var(--accent);width:18px;height:18px;color:var(--accent-fg);opacity:0;transition:opacity var(--dur-fast) ease;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:8px;right:8px}.src-card.selected .check-pill{opacity:1}.popular-pill{letter-spacing:var(--tracking-wide);text-transform:uppercase;background:var(--accent-ring);color:var(--kapa-primary-3);border-radius:var(--radius-xs);align-items:center;padding:2px 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.dep-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (max-width:560px){.dep-grid{grid-template-columns:1fr}}.dep-card{background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;min-height:72px;transition:all var(--dur-fast) ease;text-align:left;-webkit-user-select:none;user-select:none;width:100%;color:var(--fg);flex-direction:column;gap:4px;padding:14px 40px 14px 14px;font-family:inherit;display:flex;position:relative}.dep-card:hover{border-color:var(--border-hover);background:var(--surface)}.dep-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dep-card.selected{border-color:var(--accent);background:var(--accent-soft)}.dep-card-name{letter-spacing:var(--tracking-tight);color:var(--fg);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:1.3;display:flex}.dep-card-sub{color:var(--fg-muted);letter-spacing:var(--tracking-tight);font-size:12px;font-weight:500;line-height:1.45}.dep-icon{width:16px;height:16px;color:var(--fg-subtle);opacity:.9;transition:color var(--dur-fast) ease, opacity var(--dur-fast) ease;flex-shrink:0}.dep-card:hover .dep-icon{color:var(--fg-muted);opacity:1}.dep-card.selected .dep-icon{color:var(--kapa-primary-4);opacity:1}.dep-card .check-pill{background:var(--accent);width:18px;height:18px;color:var(--accent-fg);opacity:0;transition:opacity var(--dur-fast) ease;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.dep-card.selected .check-pill{opacity:1}.src-counter{color:var(--fg-muted);font-size:12px;font-weight:500}.foot-note{color:var(--fg-subtle);text-align:center;margin-top:8px;font-size:12px;font-weight:500;line-height:1.4}.foot-note a{color:var(--fg-muted)}.foot-note a:hover{color:var(--kapa-primary-3)}.show-more-btn{border:1px dashed var(--border-strong);border-radius:var(--radius-md);height:40px;color:var(--fg-muted);letter-spacing:var(--tracking-tight);cursor:pointer;transition:all var(--dur-fast) ease;background:0 0;align-self:flex-start;align-items:center;gap:6px;margin-top:4px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.show-more-btn:hover{border-color:var(--border-hover);color:var(--fg);background:var(--surface-muted)}.show-more-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sep{background:var(--border);width:100%;height:1px}.sep-labeled{color:var(--fg-subtle);letter-spacing:var(--tracking-wide);text-transform:uppercase;align-items:center;gap:12px;font-size:11px;font-weight:500;line-height:1;display:flex}.sep-labeled:before,.sep-labeled:after{content:"";background:var(--border);flex:1;height:1px}.section-block{flex-direction:column;gap:12px;display:flex}.section-title{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-subtle);font-size:11px;font-weight:500;line-height:1;font-family:var(--font-mono)}.section-title-inline{letter-spacing:var(--tracking-tight);color:var(--fg);font-size:12px;font-weight:500}.source-group{flex-direction:column;gap:10px;display:flex}.step-enter{animation:stepFade .32s var(--ease-out) both}@keyframes stepFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.signup-card{flex-direction:column;gap:18px;width:100%;max-width:400px;display:flex}.signup-header{flex-direction:column;align-items:center;gap:16px;margin-bottom:10px;display:flex}.signup-mark{width:auto;height:40px;display:block}.signup-wordmark{opacity:.92;width:auto;height:22px;display:block}.signup-title{letter-spacing:var(--tracking-tighter);color:var(--fg);text-align:center;margin:0;font-size:26px;font-weight:600;line-height:1.15}.signup-sub{color:var(--fg-muted);text-align:center;margin:0;font-size:14px;font-weight:500;line-height:1.4}.oauth-btn{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border-strong);height:48px;color:var(--fg);letter-spacing:var(--tracking-tight);cursor:pointer;transition:all var(--dur-fast) ease;justify-content:center;align-items:center;gap:10px;width:100%;padding:0 14px;font-family:inherit;font-size:14px;font-weight:500;display:flex}.oauth-btn:hover{background:var(--surface-muted);border-color:var(--border-hover)}.oauth-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.oauth-icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.signup-foot{color:var(--fg-subtle);text-align:center;font-size:12px;font-weight:500;line-height:1.5}.signup-foot a{color:var(--fg-muted);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-decoration-thickness:1px}.signup-foot a:hover{color:var(--fg);-webkit-text-decoration-color:var(--border-hover);text-decoration-color:var(--border-hover)}.oauth-backdrop{z-index:100;background:#000000a6;justify-content:center;align-items:center;animation:.18s both fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.oauth-popup{color:#202124;border-radius:var(--radius-lg);width:440px;max-width:94vw;box-shadow:var(--shadow-xl);letter-spacing:0;animation:popIn .22s var(--ease-out) both;background:#fff;font-family:Google Sans,Inter,Roboto,sans-serif;overflow:hidden}@keyframes popIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.oauth-popup-bar{background:#f1f3f4;border-bottom:1px solid #e8eaed;align-items:center;gap:6px;height:32px;padding:0 12px;display:flex}.oauth-popup-bar .dot{border-radius:50%;width:10px;height:10px}.oauth-popup-bar .url{border-radius:var(--radius-xs);color:#5f6368;background:#fff;flex:1;max-width:260px;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:400}.oauth-popup-body{padding:28px 28px 24px}.oauth-popup h3{color:#202124;margin:0 0 8px;font:400 22px/1.3 Google Sans,Inter,sans-serif}.oauth-popup .oauth-app{color:#5f6368;margin:0 0 20px;font:400 14px/1.4 Inter,Roboto,sans-serif}.oauth-popup .oauth-acct{border-radius:var(--radius-md);cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #dadce0;align-items:center;gap:12px;width:100%;margin-bottom:12px;padding:14px;transition:background .12s;display:flex}.oauth-popup .oauth-acct:hover{background:#f8f9fa}.oauth-popup .oauth-acct:focus-visible{outline-offset:2px;outline:2px solid #1a73e8}.oauth-popup .oauth-ava{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font:500 15px/1 Google Sans,Inter,sans-serif;display:inline-flex}.oauth-popup .oauth-acct-name{color:#202124;font:500 14px/1.2 Inter,Roboto}.oauth-popup .oauth-acct-email{color:#5f6368;margin-top:2px;font:400 13px/1.2 Inter,Roboto}.oauth-popup .oauth-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.oauth-popup .oauth-btn-cancel,.oauth-popup .oauth-btn-continue{border-radius:var(--radius-xs);cursor:pointer;border:0;height:36px;padding:8px 16px;font:500 13px/1 Google Sans,Inter,sans-serif}.oauth-popup .oauth-btn-cancel{color:#1a73e8;background:0 0}.oauth-popup .oauth-btn-cancel:hover{background:#1a73e80a}.oauth-popup .oauth-btn-continue{color:#fff;background:#1a73e8}.oauth-popup .oauth-btn-continue:hover{background:#1765cc}.oauth-popup .oauth-scopes{border-radius:var(--radius-md);color:#5f6368;background:#f8f9fa;margin-top:10px;padding:12px 14px;font:400 12px/1.5 Inter,Roboto}.oauth-popup .oauth-scopes b{color:#202124;font-weight:500}.oauth-popup.gh{color:#1f2328;background:#fff}.oauth-popup.gh .oauth-popup-bar .url{font-family:Inter,-apple-system,sans-serif}.oauth-popup.gh h3{color:#1f2328;font:600 18px/1.3 -apple-system,Segoe UI,Inter,sans-serif}.oauth-popup.gh .gh-head{background:#f6f8fa;border-bottom:1px solid #d0d7de;align-items:center;gap:10px;padding:16px 20px;display:flex}.oauth-popup.gh .gh-head-title{color:#1f2328;font:600 14px/1 -apple-system,Inter,sans-serif}.oauth-popup.gh .gh-body{padding:20px}.oauth-popup.gh .gh-app{border-radius:var(--radius-sm);border:1px solid #d0d7de;align-items:center;gap:12px;margin-bottom:16px;padding:14px;display:flex}.oauth-popup.gh .gh-app-logo{border-radius:var(--radius-md);background:var(--kapa-brand-accent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font:700 16px/1 Inter;display:inline-flex}.oauth-popup.gh .gh-app-name{color:#1f2328;font:600 13px/1.3 -apple-system,Inter,sans-serif}.oauth-popup.gh .gh-app-meta{color:#656d76;margin-top:2px;font:400 12px/1.3 -apple-system,Inter,sans-serif}.oauth-popup.gh .gh-verified{color:#1f883d}.oauth-popup.gh .gh-perms{border-radius:var(--radius-sm);border:1px solid #d0d7de;margin-bottom:16px}.oauth-popup.gh .gh-perm{color:#1f2328;border-bottom:1px solid #d0d7de;align-items:flex-start;gap:10px;padding:12px 14px;font:400 13px/1.4 -apple-system,Inter,sans-serif;display:flex}.oauth-popup.gh .gh-perm:last-child{border-bottom:0}.oauth-popup.gh .gh-perm b{margin-bottom:2px;font-weight:600;display:block}.oauth-popup.gh .gh-perm span{color:#656d76}.oauth-popup.gh .gh-btn{border-radius:var(--radius-sm);cursor:pointer;color:#fff;background:#1f883d;border:1px solid #1b1f2426;width:100%;height:40px;padding:10px 14px;font:600 14px/1 -apple-system,Inter,sans-serif;transition:background .12s}.oauth-popup.gh .gh-btn:hover{background:#1a7f37}.oauth-popup.gh .gh-cancel{color:#0969da;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:8px 12px;font:500 12px/1 -apple-system,Inter,sans-serif}.oauth-popup.gh .gh-cancel:hover{background:#0969da0f}.email-modal{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-strong);width:420px;max-width:94vw;box-shadow:var(--shadow-xl);animation:popIn .22s var(--ease-out) both;flex-direction:column;gap:16px;padding:28px;display:flex}.email-modal h3{letter-spacing:var(--tracking-tighter);margin:0;font-size:18px;font-weight:600;line-height:1.2}.email-modal p{color:var(--fg-muted);margin:0;font-size:13px;font-weight:500;line-height:1.5}.email-modal-actions{justify-content:flex-end;gap:8px;display:flex}.email-code-input{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.3em!important;font-size:20px!important}.prov-stage{min-height:100vh;padding:96px 24px calc(var(--footer-height) + 40px);flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.prov-card{width:100%;max-width:540px;animation:stepFade .42s var(--ease-out) both;flex-direction:column;gap:28px;display:flex}.prov-head{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.prov-logo-img{width:48px;height:48px;display:block}.prov-title{letter-spacing:var(--tracking-tighter);color:var(--fg);margin:0;font-size:26px;font-weight:600;line-height:1.2}.prov-sub{color:var(--fg-muted);max-width:440px;letter-spacing:var(--tracking-tight);margin:0 auto;font-size:14px;font-weight:500;line-height:1.5}.prov-receipt{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.prov-receipt-head{border-bottom:1px solid var(--border);background:var(--surface-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-subtle);font-size:11px;font-weight:500;font-family:var(--font-mono);align-items:center;gap:8px;padding:12px 16px;display:flex}.prov-receipt-head-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.prov-receipt-body{padding:4px 0}.prov-receipt-row{align-items:flex-start;gap:12px;padding:10px 16px;font-size:13px;line-height:1.4;display:flex}.prov-receipt-row+.prov-receipt-row{border-top:1px dashed var(--border)}.prov-receipt-label{color:var(--fg-subtle);letter-spacing:var(--tracking-tight);flex:0 0 112px;font-weight:500}.prov-receipt-value{min-width:0;color:var(--fg);word-break:break-word;flex:1;font-weight:500}@media (max-width:480px){.prov-receipt-row{flex-direction:column;gap:2px;padding:10px 14px}.prov-receipt-label{letter-spacing:var(--tracking-wide);text-transform:uppercase;flex:none;font-size:11px}}.prov-cta-compact{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--fg);transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:flex}.prov-cta-compact:hover{border-color:var(--border-hover);background:var(--surface-muted);color:var(--fg)}.prov-cta-compact:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prov-cta-icon{border-radius:var(--radius-md);background:var(--accent-soft);width:36px;height:36px;color:var(--kapa-primary-4);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.prov-cta-msg{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.prov-cta-msg-title{color:var(--fg);letter-spacing:var(--tracking-tight);font-size:13px;font-weight:600}.prov-cta-msg-sub{color:var(--fg-muted);letter-spacing:var(--tracking-tight);font-size:12px;font-weight:500;line-height:1.4}.prov-cta-arrow{color:var(--fg-subtle);transition:transform var(--dur-fast) ease, color var(--dur-fast) ease;flex-shrink:0}.prov-cta-compact:hover .prov-cta-arrow{color:var(--kapa-primary-4);transform:translate(2px)}@media (max-width:480px){.prov-cta-msg-sub{display:none}}.prov-mail-chip{background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--fg);font-size:12px;font-weight:500;font-family:var(--font-mono);letter-spacing:0;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.tweaks{right:20px;bottom:calc(var(--footer-height) + 16px);z-index:200;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:240px;box-shadow:var(--shadow-lg);letter-spacing:var(--tracking-tight);flex-direction:column;gap:12px;padding:14px;font-size:13px;line-height:1.3;display:flex;position:fixed}.tweaks-head{color:var(--fg);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:11px;font-weight:600;line-height:1;font-family:var(--font-mono);justify-content:space-between;align-items:center;display:flex}.tweaks-head .close{cursor:pointer;color:var(--fg-subtle);background:0 0;border:0;border-radius:4px;padding:2px 6px;font-size:14px}.tweaks-head .close:hover{color:var(--fg)}.tweak-row{flex-direction:column;gap:6px;display:flex}.tweak-label{color:var(--fg-subtle);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:11px;font-weight:500;font-family:var(--font-mono)}.tweak-swatches{gap:8px;display:flex}.swatch{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:transform var(--dur-fast) ease, border-color var(--dur-fast) ease;background:0 0;border:2px solid #0000;padding:0}.swatch:hover{transform:scale(1.08)}.swatch.selected{border-color:var(--fg)}.tweak-check{cursor:pointer;color:var(--fg-muted);align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.tweak-jumpnav{flex-wrap:wrap;gap:4px;display:flex}.tweak-jumpbtn{cursor:pointer;background:var(--surface-muted);color:var(--fg-muted);border:1px solid var(--border-strong);border-radius:4px;padding:4px 8px;font-family:inherit;font-size:11px;font-weight:500}.tweak-jumpbtn.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.focusable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
