:root{color-scheme:dark;font-family:Segoe UI Variable Text,Segoe UI,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#ffffffe0;background:#181818;letter-spacing:0;--app-bg: #181818;--surface-1: rgba(29, 29, 29, .94);--surface-2: #252525;--surface-3: #2d2d2d;--field: #2a2a2a;--border-subtle: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .13);--text-primary: rgba(255, 255, 255, .92);--text-secondary: rgba(255, 255, 255, .62);--text-muted: rgba(255, 255, 255, .38);--accent: #d95322;--accent-hover: #e9602b;--accent-rgb: 217, 83, 34;--good: #65c686;--danger: #ff7777;--info: #8fb6c9;--shadow-deep: 0 24px 80px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .03);--radius-sm: 6px;--radius-md: 9px;--radius-lg: 13px;--font-ui: "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display: "Segoe UI Variable Display", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-small: "Segoe UI Variable Small", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "Cascadia Mono", Consolas, ui-monospace, "SFMono-Regular", Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--focus-ring: rgba(255, 255, 255, .72);--dur-fast: .1s;--dur-base: .16s;--dur-slow: .22s;--ease-out: cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--app-bg);font-family:var(--font-ui);font-size:13px;line-height:1.35;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input{font:inherit}button,a.button{min-height:44px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#ffffff10;color:var(--text-primary);padding:10px 14px;cursor:pointer;text-decoration:none;transition:background var(--dur-base) ease,border-color var(--dur-base) ease,color var(--dur-base) ease}button:hover,a.button:hover{border-color:#ffffff38;background:#ffffff17}button:active,a.button:active{transform:translateY(1px)}button:disabled,input:disabled{cursor:progress;opacity:.58}button:focus-visible,input:focus-visible,a.button:focus-visible,a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.primary,.auth-submit{border-color:transparent;background:var(--accent);color:#fff;font-size:19px;line-height:24px;font-weight:700}.primary:hover,.auth-submit:hover{border-color:transparent;background:var(--accent-hover)}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--app-bg)}.landing-nav{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,72px);border-bottom:1px solid var(--border-subtle);background:#181818f0}.landing-nav nav{display:flex;align-items:center;gap:10px}.landing-hero{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-5);max-width:640px;margin:0 auto;width:100%;padding:var(--space-6) clamp(20px,5vw,72px)}.landing-hero h1{margin:0;max-width:22ch;font-family:var(--font-display);font-size:32px;line-height:38px;font-weight:600;letter-spacing:0}.hero-actions{display:flex;align-items:center;gap:10px}.landing-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5) clamp(20px,5vw,72px) var(--space-6);border-top:1px solid var(--border-subtle);color:var(--text-secondary)}.landing-footer button{min-height:0;padding:4px 2px;border:0;background:transparent;color:var(--info)}.landing-footer span{color:var(--text-muted)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:34px 18px;background:var(--app-bg)}.auth-card{position:relative;width:min(100%,440px);padding:30px 28px 26px;border:1px solid var(--border-strong);border-radius:20px;background:var(--surface-1);box-shadow:var(--shadow-deep)}.auth-card-compact{width:min(100%,430px)}.mcp-consent-card{width:min(100%,580px)}.companion-consent-card{width:min(100%,620px)}.legal-card{width:min(100%,68ch)}.mcp-consent-state,.mcp-client-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin-bottom:18px;padding:14px;border:1px solid var(--border-strong);border-radius:14px;background:#ffffff09;color:var(--text-secondary)}.mcp-consent-state strong,.mcp-client-row strong{display:block;margin-bottom:4px;color:var(--text-primary);font-size:14px}.mcp-consent-state p,.mcp-client-row small{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.45}.mcp-client-row>span{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:rgba(var(--accent-rgb),.16);color:#ffb18e}.consent-summary{margin:0 0 18px;color:var(--text-primary);font-size:14px;line-height:21px}.mcp-invalid-actions,.recovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mcp-invalid-actions .button,.recovery-actions .button{text-align:center}.mcp-consent-section{margin:0 0 16px}.mcp-consent-section h3{margin:0 0 9px;color:var(--text-primary);font-size:13px;letter-spacing:0}.mcp-consent-section ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.neutral-list li{display:grid;grid-template-columns:14px 1fr;gap:8px;align-items:start;color:#fffc;font-size:13px;line-height:1.45}.neutral-list li:before{content:"";width:6px;height:6px;margin-top:6px;border-radius:50%;background:var(--text-secondary)}.mcp-consent-section li code{display:block;margin-top:2px;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere}.mcp-boundary{padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#00000026}.mcp-boundary p{margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.5}.mcp-boundary p+p{margin-top:9px}.mcp-request-facts{display:grid;gap:8px;margin:0}.mcp-request-facts div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:start;font-size:12px}.mcp-request-facts dt{color:var(--text-secondary)}.mcp-request-facts dd{margin:0;display:flex;align-items:center;gap:6px;color:var(--text-secondary);overflow-wrap:anywhere}.mcp-consent-actions{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(190px,1.3fr);gap:10px;margin-top:18px}.companion-status-panel{margin:0 0 18px;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#ffffff09}.companion-status-panel.is-pending{border-color:rgba(var(--accent-rgb),.42)}.companion-status-panel.is-terminal{border-color:#ff77774d}.companion-status-panel.is-activated{border-color:#65c6864d}.companion-status-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.companion-status-heading h3{margin:2px 0 0;color:var(--text-primary);font-size:13px}.companion-status-pill{flex:0 0 auto;max-width:100%;padding:5px 8px;border:1px solid var(--border-strong);border-radius:999px;background:#ffffff0f;color:var(--text-primary);font-size:12px;font-weight:700;line-height:1.25}.companion-status-panel.is-pending .companion-status-pill{border-color:rgba(var(--accent-rgb),.45);color:#ffb18e}.companion-status-panel.is-terminal .companion-status-pill{border-color:#ff777761;color:#ffc0c0}.companion-status-panel.is-activated .companion-status-pill{border-color:#65c68661;color:#c7f4d4}.companion-status-panel p,.companion-auth-note{margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.5}.companion-enrollment-facts .mcp-request-facts{gap:10px}.companion-enrollment-facts .mcp-request-facts div{grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr);align-items:start}.companion-enrollment-facts dd small{display:block;margin-top:4px;color:var(--text-secondary);font-size:12px}.companion-enrollment-facts code,.companion-owner-row code{color:var(--text-primary);font-family:var(--font-mono);font-size:12px;overflow-wrap:anywhere}.companion-fingerprint{display:block;word-break:break-all;line-height:1.5;letter-spacing:.02em}.companion-enrollment-boundary{margin-bottom:16px}.companion-confirmation{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;margin:0 0 12px;color:var(--text-secondary);font-size:12px;line-height:1.45;cursor:pointer}.companion-confirmation input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--text-primary)}.companion-decision-actions{margin-top:10px}.companion-recovery-note,.companion-flow-message{margin:0 0 12px;padding:11px 12px;border:1px solid rgba(143,182,201,.25);border-radius:var(--radius-md);background:#8fb6c913;color:#dceef7db;font-size:12px;line-height:1.45}.companion-recovery-note{margin-top:12px}.companion-auth-note{margin-top:14px;color:var(--text-secondary);font-size:12px}.auth-notification-region{display:grid;gap:8px;margin:0 0 18px}.ui-inline-message{display:grid;grid-template-columns:26px 1fr 26px;gap:10px;align-items:start;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:12px;background:#ffffff0b}.ui-inline-message-icon{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;background:#ffffff12}.ui-inline-message-copy{min-width:0}.ui-inline-message-copy strong{display:block;margin-bottom:2px;color:var(--text-primary);font-size:12.5px;line-height:1.25}.ui-inline-message p{margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.4}.ui-inline-message-success{border-color:#65c68657}.ui-inline-message-success .ui-inline-message-icon{background:#65c68629;color:#8fe0aa}.ui-inline-message-error{border-color:#ff77775c}.ui-inline-message-error .ui-inline-message-icon{background:#ff777729;color:#ffb0b0}.ui-inline-message-close{display:grid;min-height:26px;width:26px;place-items:center;border-radius:50%;padding:0;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-secondary)}.ui-inline-message-close:hover{border-color:#fff3;background:#ffffff1a;color:var(--text-primary)}.ui-async-button{display:inline-flex;align-items:center;justify-content:center}.ui-async-button.ui-full-width{width:100%}.ui-async-button-cell{display:inline-grid}.ui-async-button-state{grid-area:1 / 1;display:inline-flex;align-items:center;justify-content:center;gap:8px;visibility:hidden}.ui-async-button-state.is-visible{visibility:visible}.ui-spin{animation:ui-spin 1s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-variant-primary{border-color:transparent;background:var(--accent);color:#fff;font-size:19px;line-height:24px;font-weight:700}.ui-variant-primary:hover{border-color:transparent;background:var(--accent-hover)}.ui-variant-secondary{background:var(--surface-3);color:var(--text-primary)}.ui-variant-danger{border-color:#f776;background:transparent;color:#ffb0b0}.ui-copy-button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:12px}.ui-copy-button:hover{background:#ffffff0f;color:var(--text-primary)}.ui-copy-button.is-copied{border-color:#65c68666;color:#8fe0aa}.ui-copy-button-label{white-space:nowrap}.ui-disclosure{margin:0 0 18px}.ui-disclosure-summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;color:var(--text-secondary);font-size:12px;font-weight:600;padding:4px 0}.ui-disclosure-summary::-webkit-details-marker{display:none}.ui-disclosure-chevron{transition:transform var(--dur-base) var(--ease-out)}.ui-disclosure[open]>.ui-disclosure-summary .ui-disclosure-chevron{transform:rotate(180deg)}.ui-disclosure-content{margin-top:12px}.ui-result-text{margin:0 0 16px;color:var(--text-secondary);line-height:1.5}.auth-header{margin-bottom:22px}.brand-mark{display:inline-flex;min-height:0;border:0;background:transparent;padding:0}.brand-mark:hover{background:transparent}.suite-brand{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:0}.suite-brand img,.brand-mark .suite-brand img{width:34px;height:34px;flex:0 0 34px}.auth-header h2{margin:18px 0 8px;color:var(--text-primary);font-family:var(--font-display);font-size:24px;line-height:1.14;letter-spacing:0}.auth-header p,.state,.reset-instruction{margin:0 0 16px;color:var(--text-secondary);line-height:1.5}.legal-card .state{font-size:14px;line-height:1.6}.oauth-buttons,.auth-form{display:grid;gap:12px}.oauth-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--surface-3);color:#ffffffe6}.oauth-button:disabled{border-color:#ffffff1c;background:#272727}.oauth-icon{width:18px;height:18px;flex:0 0 auto}.oauth-icon.google{border-radius:50%;background:conic-gradient(#4285f4 0,#4285f4 25%,#34a853 0,#34a853 50%,#fbbc05 0,#fbbc05 75%,#ea4335 0)}.oauth-icon.microsoft{border-radius:2px;background:linear-gradient(#f25022 0,#f25022 0) 0 0 / 8px 8px no-repeat,linear-gradient(#7fba00 0,#7fba00 0) 10px 0 / 8px 8px no-repeat,linear-gradient(#00a4ef 0,#00a4ef 0) 0 10px / 8px 8px no-repeat,linear-gradient(#ffb900 0,#ffb900 0) 10px 10px / 8px 8px no-repeat}.auth-divider{margin:18px 0;display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#ffffff13}.auth-form label{display:grid;gap:7px;color:#ffffffb8;font-size:12px;font-weight:600}.auth-form input{width:100%;height:44px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--field);color:var(--text-primary);padding:0 12px;box-shadow:inset 0 1px #ffffff09}.auth-form input::placeholder{color:var(--text-secondary)}.password-field{position:relative;display:block}.password-field input{padding-right:46px}.password-visibility-toggle{position:absolute;top:50%;right:7px;display:grid;width:30px;min-height:30px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#ffffff8f;transform:translateY(-50%)}.password-visibility-toggle:hover{background:#ffffff14;color:var(--text-primary)}.password-visibility-toggle:disabled{cursor:progress}.password-visibility-toggle svg{display:block;pointer-events:none}.auth-form input[aria-invalid=true]{border-color:#ff777775;box-shadow:inset 0 1px #ffffff09,0 0 0 3px #ff77771a}.password-strength{display:grid;gap:7px;margin-top:-5px}.password-strength>span{height:7px;overflow:hidden;border-radius:999px;background:#ffffff14}.password-strength i{display:block;height:100%;border-radius:inherit}.password-strength p,.password-match{margin:-2px 0 2px;color:var(--text-secondary);font-size:12px;line-height:1.35}.password-strength strong{color:var(--text-primary)}.password-strength.is-empty i{background:transparent}.password-strength.is-weak i{background:#f77}.password-strength.is-good i{background:#f0b24a}.password-strength.is-strong i{background:var(--info)}.password-strength.is-excellent i{background:#65c686}.password-match.is-match{color:#c7f4d4}.password-match.is-mismatch{color:#ffc0c0}.auth-links,.auth-footer{display:flex;justify-content:center;gap:8px;color:var(--text-secondary)}.auth-footer{margin:18px 0 0;flex-wrap:wrap}.auth-links button,.auth-footer button{min-height:0;padding:0;border:0;background:transparent;color:var(--info)}.oauth-autostart-panel,.oauth-callback-panel{display:grid;grid-template-columns:38px 1fr;gap:13px;align-items:center;margin:0 0 18px;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#ffffff0a}.oauth-callback-panel{margin-top:4px}.oauth-autostart-panel small{display:block;margin-bottom:4px;color:var(--text-secondary);font-size:12px;font-weight:700}.oauth-autostart-panel strong,.oauth-callback-panel strong{display:block;color:var(--text-primary);font-size:14px}.oauth-autostart-panel span,.oauth-callback-panel span{display:block;margin-top:4px;color:var(--text-secondary);font-size:12px;line-height:1.38}.oauth-autostart-panel b{display:block;height:3px;margin-top:12px;border-radius:999px;overflow:hidden;background:#ffffff17}.oauth-autostart-panel b:after{content:"";display:block;width:46%;height:100%;border-radius:inherit;background:var(--text-secondary);animation:auth-progress 1.35s ease-in-out infinite}.oauth-loader{position:relative;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--surface-2);border:2px solid rgba(255,255,255,.14);border-top-color:var(--text-secondary);animation:oauth-spin 1s linear infinite}.oauth-loader i{display:none}.recovery-actions .button{min-width:0}.handoff-panel{display:grid;gap:14px;padding:16px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#ffffff09}.handoff-icon{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#65c68629;color:var(--good)}.handoff-icon svg{position:relative;z-index:1;width:20px;height:20px;fill:currentColor}.handoff-icon-active:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:1px solid rgba(101,198,134,.36);border-radius:16px;animation:handoff-pulse 1.55s ease-out infinite}.handoff-panel strong{display:block;font-size:15px;color:var(--text-primary)}.handoff-panel p{margin:8px 0 2px;color:var(--text-primary);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.handoff-value{padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0000002e;font-family:var(--font-mono);font-size:12px}.handoff-panel small{display:block;color:var(--text-secondary);font-size:12px;line-height:1.45}.handoff-actions{display:grid;grid-template-columns:1fr auto;gap:10px}.handoff-panel .handoff-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}@keyframes oauth-spin{to{transform:rotate(360deg)}}@keyframes auth-progress{0%{transform:translate(-115%)}to{transform:translate(245%)}}@keyframes handoff-pulse{0%{opacity:.72;transform:scale(.88)}to{opacity:0;transform:scale(1.18)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-property:opacity,color,background-color,border-color!important;transition-duration:.1s!important;scroll-behavior:auto!important}.oauth-loader{animation:none!important;border-top-color:var(--text-secondary)}}@media(max-width:640px){.auth-links button,.auth-footer button,.landing-footer button{min-height:44px;display:inline-flex;align-items:center}}@media(max-width:800px){.landing-nav,.landing-nav nav{flex-wrap:wrap}.landing-nav nav,.hero-actions{width:100%}.auth-card{padding:26px 22px;border-radius:18px}.oauth-autostart-panel,.oauth-callback-panel,.mcp-consent-actions,.mcp-invalid-actions,.recovery-actions,.handoff-actions{grid-template-columns:1fr}.mcp-request-facts div{grid-template-columns:1fr;gap:2px}.companion-enrollment-facts .mcp-request-facts div{grid-template-columns:1fr}.companion-status-heading{flex-direction:column;align-items:flex-start}}
