:root{--text:#374151;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--link:#2563eb;--banner-bg:#eff6ff;--banner-text:#1e3a8a;--banner-border:#dbeafe;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:16px/150% system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:lang(zh-TW){font-family:system-ui,Segoe UI,PingFang TC,Microsoft JhengHei,Noto Sans TC,sans-serif}:lang(zh-CN){font-family:system-ui,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif}@media (prefers-color-scheme:dark){:root{--text:#d1d5db;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--link:#60a5fa;--banner-bg:#172554;--banner-text:#bfdbfe;--banner-border:#1e3a8a}}.mono,.form input.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Mono,SF Mono,Consolas,Menlo,monospace}a,a:visited{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}body{-webkit-text-size-adjust:100%;flex-direction:column;min-height:100dvh;margin:0;display:flex}#root{width:100%;max-width:480px;padding:0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));box-sizing:border-box;flex-direction:column;flex:1;margin:0 auto;display:flex}input,select,button{font-size:16px}button{cursor:pointer;min-height:44px}button:disabled{cursor:not-allowed}select{cursor:pointer}main{flex:1}.app-footer{padding:12px 0 max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--border);text-align:center;font-size:13px}.app-header{border-bottom:1px solid var(--border);justify-content:flex-end;padding:12px 0;display:flex}.lang-switch{border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.lang-icon{fill:none;width:18px;height:18px;stroke:var(--text);stroke-width:1.6px;margin:0 4px 0 6px}.lang-switch button{min-height:32px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:14px}.lang-switch button[aria-pressed=true]{color:#fff;background:#2563eb;font-weight:600}.lang-switch button:not([aria-pressed=true]):hover{color:var(--text-h)}h1{color:var(--text-h);font-weight:500}.form{flex-direction:column;gap:16px;display:flex}.form label{flex-direction:column;gap:4px;display:flex}.form p,.form h2{margin:0}.form h2{margin-top:16px}.form h2+p{margin-top:-8px}.card{border:1px solid var(--border);border-radius:12px;margin-top:16px;padding:16px;overflow:hidden}.card>h2,.card>.form>h2:first-child{border-bottom:1px solid var(--banner-border);background:var(--banner-bg);color:var(--banner-text);margin:-16px -16px 16px;padding:12px 16px;font-size:16px;font-weight:600}.card>.form>h2:first-child{margin-bottom:0}.card>.form>h2:first-child+p{margin-top:0}.card .passkey-list li:last-child{border-bottom:0}.card>dl{margin:0}.form input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px}.form small{color:var(--text);font-size:13px}.form button{color:#fff;background:#2563eb;border:0;border-radius:8px}.form button:disabled{opacity:.6}.error,.form small.error{color:#dc2626}.password-rules{margin:-8px 0 0;padding:0;font-size:13px;list-style:none}.password-rules li.ok{color:#16a34a}h2{color:var(--text-h);margin:24px 0 8px;font-size:18px;font-weight:500}.details{grid-template-columns:auto 1fr;gap:4px 16px;display:grid}.details dt{color:var(--text)}.details dd{color:var(--text-h);margin:0}.passkey-list{margin:0;padding:0;list-style:none}.passkey-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.passkey-list .passkey-info{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.passkey-list small{font-size:13px}.actions{flex-shrink:0;gap:8px;display:flex}.rename-form{flex:1;gap:8px}.rename-form .actions button{flex:1}button.secondary-small{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:8px;padding:0 16px}#root.wide{max-width:960px}.details .contents{display:contents}.actions.wrap{flex-wrap:wrap;margin:16px 0}.actions.wrap button,.account-form .actions button{padding:0 16px}.admin-nav{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 0;display:flex}.admin-nav a{color:var(--text);text-decoration:none}.admin-nav a.active{color:var(--text-h);font-weight:600}.admin-nav .spacer{flex:1}.notice{color:#92400e;background:#fef3c7;border-radius:8px;padding:8px 12px}.notice.success{color:#166534;background:#dcfce7}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}a.button,button.button,.search button,.actions.wrap button:not(.danger){color:#fff;background:#2563eb;border:0;border-radius:8px;align-items:center;min-height:44px;padding:0 16px;text-decoration:none;display:inline-flex}.search{gap:8px;margin-bottom:16px;display:flex}.search input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;flex:1;padding:10px 12px}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:8px}.admin-table th{color:var(--text);font-weight:500}.badges{flex-wrap:wrap;gap:4px;display:inline-flex}.badge{background:var(--border);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px}.badge.ok{color:#166534;background:#dcfce7}.badge.danger{color:#991b1b;background:#fee2e2}.pager{justify-content:center;align-items:center;gap:12px;margin:16px 0;display:flex}.form select{border:1px solid var(--border);background:var(--bg);min-height:44px;color:var(--text-h);border-radius:8px;padding:0 12px}.server-form{border:1px solid var(--border);border-radius:8px;margin:12px 0;padding:12px}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field-row label{flex:180px}.field-row label.narrow{flex:0 110px}.server-form .actions button{padding:0 16px}.hint{color:var(--text);margin-top:16px;font-size:13px}.toggle-group{border:0;margin:0;padding:0}.toggle-group legend{margin-bottom:4px;padding:0}.toggle-row{flex-wrap:wrap;gap:8px;display:flex}.form button.toggle{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 16px;display:inline-flex}.form button.toggle[aria-pressed=true]{color:#fff;background:#2563eb;border-color:#2563eb}button.danger{color:#dc2626;background:0 0;border:1px solid #dc2626;border-radius:8px;padding:0 16px}button.danger:disabled{opacity:.4}
