:root{--bg-app: #FAFAFB;--bg-surface: #FFFFFF;--bg-elev: #FFFFFF;--bg-subtle: #F4F4F5;--bg-hover: #F0F0F2;--bg-active: #E7E7EA;--bg-overlay: rgba(15, 16, 17, .45);--border: #E6E6E8;--border-strong: #D4D4D7;--border-subtle: #EDEDF0;--text: #0F1011;--text-dim: #60646C;--text-mute: #8B8F98;--text-inv: #FFFFFF;--primary: #2647B9;--primary-hover: #1D3AA0;--primary-active: #16308C;--primary-soft: #EEF1FB;--primary-soft-border: #D6DCF4;--primary-text: #1D3AA0;--success: #137E47;--success-soft: #E8F5EE;--success-soft-border: #C2E1CE;--danger: #B5351A;--danger-hover: #9A2B13;--danger-soft: #FCEDE8;--danger-soft-border: #F1CDC2;--warn: #8A5A00;--warn-soft: #FBF3E2;--warn-soft-border: #EFDFB5;--accent: #7A4FCB;--accent-soft: #F1EBFA;--shadow-sm: 0 1px 2px rgba(15, 16, 17, .04), 0 0 0 1px rgba(15, 16, 17, .04);--shadow-md: 0 4px 12px rgba(15, 16, 17, .08), 0 0 0 1px rgba(15, 16, 17, .06);--shadow-lg: 0 16px 48px rgba(15, 16, 17, .14), 0 0 0 1px rgba(15, 16, 17, .06);--shadow-pop: 0 12px 32px rgba(15, 16, 17, .12), 0 0 0 1px rgba(15, 16, 17, .08);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-pill: 999px;--row-h: 44px;--row-px: 16px;--gap-y: 12px;--section-py: 24px;--side-px: 28px;--btn-h: 32px;--input-h: 34px;--font-base: 13px;--font-sm: 12px;--font-xs: 11px;--font-lg: 15px;--font-h1: 22px;--font-h2: 17px;--leading: 1.45;--font-sans: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sidebar-w: 232px;--header-h: 48px}:root[data-density=compact]{--row-h: 36px;--row-px: 12px;--gap-y: 8px;--section-py: 16px;--side-px: 20px;--btn-h: 28px;--input-h: 30px;--font-base: 12px;--font-sm: 11px;--font-xs: 10px;--font-lg: 13px;--font-h1: 19px;--font-h2: 15px}:root[data-theme=dark]{--bg-app: #08090A;--bg-surface: #0E0F11;--bg-elev: #131416;--bg-subtle: #131416;--bg-hover: #1A1B1F;--bg-active: #232428;--bg-overlay: rgba(0, 0, 0, .65);--border: #1F2024;--border-strong: #2A2B30;--border-subtle: #17181B;--text: #F7F8F8;--text-dim: #9CA3AF;--text-mute: #6B7280;--text-inv: #0F1011;--primary: #7184E0;--primary-hover: #8194E8;--primary-active: #5E72D4;--primary-soft: rgba(113, 132, 224, .12);--primary-soft-border: rgba(113, 132, 224, .28);--primary-text: #A5B3EE;--success: #4ADE80;--success-soft: rgba(74, 222, 128, .1);--success-soft-border: rgba(74, 222, 128, .25);--danger: #F87171;--danger-hover: #EF4444;--danger-soft: rgba(248, 113, 113, .1);--danger-soft-border: rgba(248, 113, 113, .25);--warn: #FBBF24;--warn-soft: rgba(251, 191, 36, .1);--warn-soft-border: rgba(251, 191, 36, .25);--accent: #B794F6;--accent-soft: rgba(183, 148, 246, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-md: 0 6px 16px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);--shadow-pop: 0 16px 40px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .08)}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-base);line-height:var(--leading);color:var(--text);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03";display:flex;align-items:center;justify-content:center;padding:24px}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:1px}main.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:28px;max-width:30rem;width:100%}h1{font-size:var(--font-h1);font-weight:600;letter-spacing:-.015em;margin:0 0 4px}p{margin:8px 0}p.subtitle{color:var(--text-dim);font-size:var(--font-sm);margin:0 0 20px}code{font-family:var(--font-mono);font-size:var(--font-xs);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:1px 5px}strong{font-weight:600}button.primary,button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--btn-h);padding:0 14px;border-radius:var(--radius-sm);font-weight:500;font-size:var(--font-sm);border:1px solid transparent;transition:background .08s ease,border-color .08s ease}button.primary{background:var(--primary);color:#fff}button.primary:hover:not(:disabled){background:var(--primary-hover)}button.primary:active{background:var(--primary-active)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--bg-elev);color:var(--text);border-color:var(--border)}button.secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}a,a.secondary{color:var(--primary-text);text-decoration:none}a:hover{text-decoration:underline}a.secondary{display:inline-flex;align-items:center;justify-content:center;height:var(--btn-h);padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:var(--font-sm);font-weight:500}a.secondary:hover{background:var(--bg-hover);text-decoration:none}form{margin-top:16px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}form .actions{display:flex;gap:8px;flex-wrap:wrap}label{display:flex;flex-direction:column;gap:6px;font-size:var(--font-sm);font-weight:500;width:100%}input[type=text]{width:100%;height:var(--input-h);padding:0 10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text)}input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.federation-buttons{display:flex;flex-direction:column;gap:8px;margin-top:12px}.status{margin-top:12px;padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--font-sm)}.status-info{color:var(--text-dim)}.status-error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-soft-border)}.status-ok{color:var(--success);background:var(--success-soft);border:1px solid var(--success-soft-border)}p.notice{color:var(--warn);background:var(--warn-soft);border:1px solid var(--warn-soft-border);padding:8px 12px;border-radius:var(--radius-sm);font-size:var(--font-sm)}ul.passkey-list{list-style:none;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:8px}ul.passkey-list li{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}ul.passkey-list li form{margin:0}.console-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-sm);margin:16px 0}.console-table thead th{text-align:left;font-weight:500;font-size:var(--font-xs);color:var(--text-mute);text-transform:uppercase;letter-spacing:.02em;padding:8px 10px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.console-table tbody td{padding:10px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.console-table form{margin:0;display:inline-block}.badge{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:var(--radius-xs);font-size:var(--font-xs);font-weight:500;background:var(--primary-soft);color:var(--primary-text);border:1px solid var(--primary-soft-border)}nav.menu{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle);display:flex;gap:16px}nav.menu a{font-size:var(--font-sm)}
