:root{--bg:#f4f5f7;--surface:#fff;--text:#1a1a1a;--text-muted:#4a4a4a;--border:#c2c7cf;--primary:#1d4ed8;--primary-text:#fff;--danger:#b91c1c;--danger-text:#fff;--focus:#0b5fff;--error:#b91c1c;--success:#166534;--link:#1a4fc4}@media (prefers-color-scheme:dark){:root{--bg:#121417;--surface:#1d2127;--text:#f1f3f5;--text-muted:#c2c7cf;--border:#3a4049;--primary:#3b82f6;--primary-text:#07122b;--danger:#f87171;--danger-text:#2a0a0a;--focus:#93c5fd;--error:#fca5a5;--success:#86efac;--link:#93c5fd}}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}a{color:var(--link)}.skip-link{background:var(--surface);color:var(--text);border:2px solid var(--focus);z-index:100;border-radius:6px;padding:10px 14px;transition:top .15s;position:absolute;top:-48px;left:8px}.skip-link:focus{top:8px}.app-header{background:var(--surface);border-bottom:1px solid var(--border)}.app-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:12px 20px;display:flex}.brand{font-size:1.1rem;font-weight:700}.header-user{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.user-email{color:var(--text-muted);font-size:.9rem}.app-nav{border-top:1px solid var(--border);background:var(--surface)}.app-nav-inner{flex-wrap:wrap;gap:4px;max-width:1100px;margin:0 auto;padding:0 12px;display:flex}.nav-link{min-height:44px;color:var(--text);border-bottom:3px solid #0000;align-items:center;padding:10px 14px;text-decoration:none;display:inline-flex}.nav-link:hover{text-decoration:underline}.nav-link[aria-current=page]{border-bottom-color:var(--primary);font-weight:700}.main{max-width:1100px;margin:0 auto;padding:24px 20px 64px}.main:focus{outline:none}h1{font-size:1.6rem}h2{margin-top:32px;font-size:1.2rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:460px;margin:32px auto;padding:28px}.field{margin-bottom:16px}label{margin-bottom:6px;font-weight:600;display:block}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;max-width:360px;min-height:44px;padding:10px 12px}select{width:auto}input.mono{max-width:280px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:44px;min-height:44px;color:var(--text);cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600}.btn:hover{border-color:var(--text-muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-text);border-color:#0000}.btn-danger{background:var(--danger);color:var(--danger-text);border-color:#0000}.btn-link{color:var(--link);background:0 0;border:none;padding:10px 4px;text-decoration:underline}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.table-scroll{overflow-x:auto}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;margin-top:12px}caption{text-align:left}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px}thead th{text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);font-size:.85rem}tbody th{font-weight:600}.phrase{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600}.sample{max-width:280px;color:var(--text-muted);font-size:.9rem}.status-line{color:var(--text-muted);padding:8px 0}.login-note{background:var(--bg);border-left:4px solid var(--primary);color:var(--text);border-radius:6px;padding:10px 12px;font-size:.9rem}.error{color:var(--error);font-weight:600}.success{color:var(--success);font-weight:600}.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}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
