
:root{color-scheme:light;--bg:#fff;--plane:#fff;--plane-alt:#f4f6f9;--plane-hover:#edf0f5;--plane-active:#e9efff;--line:#dfe4ec;--line-strong:#c5ccd7;--text:#26313e;--muted:#5d6978;--accent-text:#2948db;--accent-solid:#2948db;--accent-hover:#203ec7;--accent-soft:#edf1ff;--focus:#2948db;--warning-text:#87521d;--warning-bg:#fff6e9;--warning-line:#e8cfab;--error-text:#a43939;--error-bg:#fff1f0;--error-line:#e6c5c3;--scrim:#18233766;--shadow:#18233718;--art-image:url('/design/interlock-atmosphere-light.webp');--art-bg:#eef0f3;--copy-bg:#edf1ff;--copy-ink:#2948db;--font-ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-ui);--type-display:clamp(44px,5.2vw,78px);--type-title:clamp(30px,3vw,43px);--page-width:1440px;--page-gutter:clamp(20px,5vw,72px);--control-height:44px;--control-radius:6px;--surface:var(--plane);--panel:var(--plane);--accent:var(--accent-text);--blue:var(--accent-text);--danger:var(--error-text);font-family:var(--font-ui);font-synthesis:none}
@media(prefers-color-scheme:dark){:root:not([data-appearance]){color-scheme:dark;--bg:#14171c;--plane:#1b2027;--plane-alt:#202630;--plane-hover:#2a323e;--plane-active:#293750;--line:#343c49;--line-strong:#566273;--text:#e4e9f0;--muted:#a2adbd;--accent-text:#a2b4ff;--accent-solid:#365de3;--accent-hover:#466ded;--accent-soft:#26344c;--focus:#9cadff;--warning-text:#e4ba83;--warning-bg:#33271f;--warning-line:#684b31;--error-text:#edacae;--error-bg:#382329;--error-line:#71404a;--scrim:#080c14a8;--shadow:#0005;--art-image:url('/design/interlock-atmosphere-dark.webp');--art-bg:#1d2025;--copy-bg:#26344c;--copy-ink:#b5c4ff}}
html[data-appearance="dark"]{color-scheme:dark;--bg:#14171c;--plane:#1b2027;--plane-alt:#202630;--plane-hover:#2a323e;--plane-active:#293750;--line:#343c49;--line-strong:#566273;--text:#e4e9f0;--muted:#a2adbd;--accent-text:#a2b4ff;--accent-solid:#365de3;--accent-hover:#466ded;--accent-soft:#26344c;--focus:#9cadff;--warning-text:#e4ba83;--warning-bg:#33271f;--warning-line:#684b31;--error-text:#edacae;--error-bg:#382329;--error-line:#71404a;--scrim:#080c14a8;--shadow:#0005;--art-image:url('/design/interlock-atmosphere-dark.webp');--art-bg:#1d2025;--copy-bg:#26344c;--copy-ink:#b5c4ff}
html{scrollbar-gutter:stable}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 var(--font-ui);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
a{color:inherit;text-underline-offset:5px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.44;cursor:default}
:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;top:-100px;left:16px;padding:10px 16px;background:var(--accent-solid);color:#fff!important;z-index:40}
.skip:focus{top:12px}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.13;letter-spacing:-.035em;color:var(--text)}
.eyebrow{font-size:10px;letter-spacing:1.65px;line-height:1.6;font-weight:650;color:var(--muted)}

.interlock-header{width:100%;max-width:var(--page-width);margin:0 auto;padding:22px var(--page-gutter);min-height:88px;display:flex;align-items:center;gap:32px}
.interlock-brand{display:flex;align-items:center;gap:11px;flex-shrink:0;min-height:44px;text-decoration:none;color:var(--text)!important}
.interlock-brand .brand-wordmark{display:block;font-size:14px;font-weight:650;letter-spacing:.9px;line-height:1.4;white-space:nowrap;padding:0}
.interlock-brand .brand-wordmark>span{display:block}
.interlock-brand small{display:block;font-size:7px;font-weight:500;letter-spacing:.7px;line-height:1.5;color:var(--muted);margin-top:2px}
.interlock-brand .mark{color:var(--accent-text);display:grid;place-items:center;flex-shrink:0;width:28px;height:28px}
.interlock-brand .mark svg{width:28px;height:28px}

.public-button,.primary,.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:var(--control-height);padding:10px 16px;border:1px solid var(--accent-solid);border-radius:var(--control-radius);background:var(--accent-solid);color:#fff!important;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}
.public-button:hover,.primary:hover:enabled,.button:hover:enabled{background:var(--accent-hover);border-color:var(--accent-hover)}
.quiet,.cancel,.header-access,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);padding:10px 13px;border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--plane);color:var(--text);font-size:13px;text-decoration:none;transition:background .15s,border-color .15s}
.quiet:hover:enabled,.cancel:hover:enabled,.header-access:hover,.icon-button:hover:enabled{background:var(--plane-hover)}

.appearance-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;flex-shrink:0;border:0;background:transparent;color:var(--muted);cursor:pointer}
.appearance-track{display:block;width:38px;height:23px;position:relative;border:1px solid var(--line-strong);border-radius:14px;background:var(--plane-alt)}
.appearance-thumb{position:absolute;inset:3px auto auto 3px;width:15px;height:15px;border-radius:50%;background:var(--plane);box-shadow:0 1px 3px var(--shadow);transition:transform .18s}
.appearance-track svg{position:absolute;top:5px;width:11px;height:11px;pointer-events:none}
.appearance-sun{left:5px;color:var(--text)}
.appearance-moon{right:4px}
.appearance-toggle[aria-pressed="true"] .appearance-thumb{transform:translateX(15px)}
.appearance-toggle[aria-pressed="true"] .appearance-sun{color:var(--muted)}
.appearance-toggle[aria-pressed="true"] .appearance-moon{color:var(--text)}
.appearance-toggle:hover .appearance-track{border-color:var(--muted)}

@media(max-width:760px){.interlock-header{padding:16px 20px;min-height:76px;gap:16px}}
@media(prefers-reduced-motion:reduce){.appearance-thumb,.public-button,.primary,.button,.quiet,.cancel,.header-access,.icon-button{transition:none!important}}

.signin-dialog{position:fixed;inset:104px max(var(--page-gutter),calc((100vw - var(--page-width))/2 + var(--page-gutter))) auto auto;margin:0;width:400px;max-width:calc(100vw - 40px);max-height:calc(100svh - 124px);overflow:auto;padding:28px;border:1px solid var(--line-strong);border-radius:12px;background:var(--plane);color:var(--text);box-shadow:0 18px 60px var(--shadow)}
.signin-dialog::backdrop{background:var(--scrim)}
.signin-close{position:absolute;top:10px;right:10px;width:44px;padding:0;border:0;background:transparent;font-size:25px;line-height:1}
.passkey-form #auth-title{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:0 34px 12px 0}
.passkey-form p{color:var(--muted);font-size:14px;line-height:1.7}
.passkey-form #auth-description{margin:0}
.passkey-form .button{width:100%;min-height:48px;margin-top:24px;justify-content:space-between;padding:11px 18px}
.passkey-form .cancel{width:100%;margin-top:10px}
.passkey-form .auth-status{min-height:56px;margin:16px 0 8px;font-size:13px}
.passkey-form .auth-status[data-error="true"]{color:var(--error-text)}
.passkey-help{border-top:1px solid var(--line);padding-top:8px}
.passkey-help summary{display:list-item;cursor:pointer;min-height:44px;padding:10px 0;color:var(--muted);font-size:13px}
.passkey-help p{font-size:13px;margin:0 0 8px}
.passkey-help a,.passkey-access{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);font-size:13px;text-decoration:none}
.passkey-help a:hover,.passkey-access:hover{text-decoration:underline}
@media(max-width:760px){.signin-dialog{inset:88px 20px auto;width:calc(100vw - 40px);max-height:calc(100svh - 108px);padding:24px}.passkey-form #auth-title{font-size:25px}}

.auth-shell{display:flex;flex-direction:column;min-height:100svh}
.auth-header-actions{display:flex;align-items:center;gap:16px;margin-left:auto}
.auth-header-actions>a:not(.header-access){display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:none}
.auth-header-actions>a:hover{color:var(--accent-text)}
.auth-header-actions .header-access{font-size:12px;padding:0 14px;gap:12px}
.auth-shell main{width:100%;max-width:var(--page-width);margin:0 auto;flex:1;display:grid;place-items:start center;padding:72px var(--page-gutter)}
.auth-card{width:100%;max-width:400px;padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--plane)}
.auth-card .passkey-form h1{margin-right:0}
.auth-footer{width:100%;max-width:var(--page-width);margin:0 auto;padding:20px var(--page-gutter);display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:var(--muted)}
.auth-footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.auth-header-actions{gap:8px}.auth-header-actions>a:not(.header-access){display:none}.auth-header-actions .header-access{font-size:11px;padding:0 10px;gap:8px}.auth-shell main{padding:32px var(--page-gutter)}.auth-card{padding:24px}.auth-footer{padding:16px var(--page-gutter);gap:8px}}
@media(max-width:360px){.auth-header-actions .header-access{display:none}}
