:root{--bg-0:oklch(99.2% .004 220);--bg-1:#fff;--bg-2:oklch(96.5% .008 220);--bg-3:oklch(94.5% .01 220);--border:oklch(91.5% .012 220);--border-strong:oklch(86% .014 220);--text-1:oklch(20% .028 235);--text-2:oklch(44% .022 235);--text-3:oklch(60% .016 235);--text-4:oklch(72% .012 235);--primary:oklch(30% .075 235);--primary-hover:oklch(26% .08 235);--primary-fg:#fff;--accent:oklch(62% .095 195);--accent-soft:oklch(95% .025 195);--accent-fg:#fff;--success:oklch(58% .12 155);--success-soft:oklch(95% .035 155);--warn:oklch(68% .13 70);--warn-soft:oklch(96% .045 75);--danger:oklch(55% .17 25);--danger-soft:oklch(96% .035 25);--info:oklch(55% .11 250);--info-soft:oklch(95% .03 250);--accent-strong:oklch(46% .1 195);--success-strong:oklch(42% .11 155);--warn-strong:oklch(48% .11 65);--info-strong:oklch(42% .11 250);--radius-sm:5px;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0f1e320a;--shadow:0 1px 2px #0f1e320a, 0 4px 12px #0f1e320a;--shadow-lg:0 8px 32px #0f1e3214;--sidebar-w:232px;--topbar-h:56px;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", monospace}[data-theme=graphite]{--bg-0:oklch(98.5% .002 240);--bg-1:#fff;--bg-2:oklch(96.5% .004 240);--bg-3:oklch(94.5% .005 240);--border:oklch(91% .005 240);--border-strong:oklch(85% .007 240);--text-1:oklch(20% .012 250);--text-2:oklch(44% .01 250);--text-3:oklch(60% .008 250);--text-4:oklch(72% .006 250);--primary:oklch(26% .012 250);--primary-hover:oklch(22% .014 250);--accent:oklch(60% .11 215);--accent-soft:oklch(95% .03 215);--accent-strong:oklch(46% .1 215)}[data-theme=sage]{--bg-0:oklch(98.5% .008 90);--bg-1:#fff;--bg-2:oklch(96.5% .012 95);--bg-3:oklch(94.5% .014 95);--border:oklch(91% .014 90);--border-strong:oklch(85% .016 90);--text-1:oklch(22% .025 130);--text-2:oklch(46% .02 130);--text-3:oklch(62% .015 130);--text-4:oklch(74% .01 130);--primary:oklch(32% .055 150);--primary-hover:oklch(28% .06 150);--accent:oklch(55% .1 155);--accent-soft:oklch(94% .03 145);--accent-strong:oklch(42% .1 155)}*{box-sizing:border-box}html,body{background:var(--bg-0);color:var(--text-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;padding:0;font-size:16px;line-height:1.55}button,input{font-family:inherit}#root{min-height:100dvh}.sign-page{flex-direction:column;min-height:100dvh;display:flex}.sign-header{border-bottom:1px solid var(--border);background:var(--bg-1);align-items:center;gap:10px;padding:16px 20px;display:flex}.sign-logo{flex:none;width:30px;height:30px;display:block}.sign-wordmark{letter-spacing:-.01em;color:var(--text-1);font-size:15px;font-weight:600}.sign-main{flex-direction:column;flex:1;width:100%;display:flex}.sign-main--centered{justify-content:flex-start;align-items:center;padding:32px 20px 48px}.sign-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow);padding:28px 24px}.sign-eyebrow{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 10px;font-size:12px}.sign-title{font-family:"Source Serif 4", var(--font-sans);color:var(--text-1);margin:0 0 12px;font-size:22px;font-weight:600;line-height:1.25}.sign-lede{color:var(--text-2);margin:0 0 22px;font-size:15px}.sign-field{flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.sign-label{color:var(--text-1);font-size:14px;font-weight:500}.sign-input{appearance:none;width:100%;color:var(--text-1);background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius);padding:13px 14px;font-size:16px}.sign-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.sign-btn{appearance:none;width:100%;color:var(--primary-fg);background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius);cursor:pointer;padding:14px 16px;font-size:16px;font-weight:600}.sign-btn:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.sign-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sign-btn:disabled{opacity:.6;cursor:default}.sign-message{border-radius:var(--radius);background:var(--danger-soft);border:1px solid var(--danger);color:var(--text-1);margin-top:18px;padding:14px;font-size:14px}.sign-confirm-icon{background:var(--success-soft);width:52px;height:52px;color:var(--success-strong);border-radius:50%;place-items:center;margin:0 0 16px;font-size:26px;display:grid}.sign-hint{color:var(--text-3);margin-top:14px;font-size:13px}.sign-embed-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.sign-embed-frame{border:0;flex:1;width:100%;min-height:70vh}.sign-embed-loading{z-index:1;background:var(--bg-0);color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:14px;display:flex;position:absolute;inset:0}.sign-spinner{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite sign-spin}@media (prefers-reduced-motion:reduce){.sign-spinner{animation:none}}@keyframes sign-spin{to{transform:rotate(360deg)}}.sign-embed-foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-1);color:var(--text-2);text-align:center;font-size:13px}.sign-embed-fallback{padding:0 20px calc(12px + env(safe-area-inset-bottom));background:var(--bg-1);color:var(--text-3);text-align:center;margin:0;font-size:12px}.sign-footer{padding:18px 20px calc(18px + env(safe-area-inset-bottom));color:var(--text-3);text-align:center;font-size:12px}.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}
