:root{--bg: #0f1419;--surface: #1a2332;--surface2: #1f2d3f;--border: #2d3a4f;--text: #e6edf3;--muted: #8b949e;--accent: #58a6ff;--accent-dim: #1f3a5f;--success: #3fb950;--success-dim: #1a3a20;--warning: #d29922;--error: #f85149;--error-dim: #3d1a1a;--radius: 10px;--radius-sm: 6px;--layout-max-width: 1600px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 1.5rem}.header-inner{max-width:var(--layout-max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px;gap:1rem}.brand{display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer}.brand h1{font-size:1.1rem;font-weight:700;margin:0;white-space:nowrap}.subtitle{color:var(--muted);font-size:.75rem;margin:0}.nav{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.nav-link{color:var(--muted);text-decoration:none;padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.9rem;transition:color .15s,background .15s}.nav-link:hover,.nav-link.router-link-active{color:var(--text);background:var(--accent-dim)}.nav-link--admin{color:var(--warning)}.btn-signout{margin-left:.5rem;padding:.35rem .75rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:.875rem;cursor:pointer;transition:color .15s,border-color .15s}.btn-signout:hover{color:var(--error);border-color:var(--error)}.user-email{margin-left:1.5rem;display:inline-flex;align-items:center;font-size:.85rem;color:var(--muted);padding:.2rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;cursor:default}.main{flex:1;padding:2rem;max-width:var(--layout-max-width);width:100%;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.page-title{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:filter .15s}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--danger{background:var(--error)}.btn--ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn--ghost:hover:not(:disabled){filter:none;border-color:var(--accent);color:var(--accent)}.btn--sm{padding:.3rem .65rem;font-size:.8rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-size:.875rem;font-weight:500;color:var(--muted)}.field input,.field textarea,.field select{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.95rem;font-family:inherit;transition:border-color .15s}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent)}.field input:disabled{opacity:.65}.msg-error{color:var(--error);font-size:.875rem;margin:0}.msg-success{padding:.75rem 1rem;background:var(--success-dim);border:1px solid var(--success);border-radius:var(--radius-sm);color:var(--success);font-size:.9rem}.msg-info{padding:.75rem 1rem;background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-size:.9rem}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:.15rem .5rem;border-radius:99px;font-size:.75rem;font-weight:500}.badge--green{background:var(--success-dim);color:var(--success)}.badge--red{background:var(--error-dim);color:var(--error)}.badge--blue{background:var(--accent-dim);color:var(--accent)}code{font-family:SF Mono,Fira Code,monospace;font-size:.85em;background:var(--bg);padding:.2em .4em;border-radius:4px}.markdown-body{line-height:1.7}.markdown-body h1{font-size:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.markdown-body h2{font-size:1.2rem;margin-top:1.5rem}.markdown-body h3{font-size:1rem;margin-top:1rem}.markdown-body pre{background:var(--bg);padding:1rem;border-radius:var(--radius-sm);overflow-x:auto}.markdown-body table{margin:1rem 0}.markdown-body code{background:var(--bg)}.markdown-body a{color:var(--accent)}.markdown-body blockquote{border-left:3px solid var(--accent);margin:0;padding-left:1rem;color:var(--muted)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal.card{scrollbar-gutter:stable}.modal.card .form-grid>.field{min-width:0}.modal.card .field input:not(.rate-limit-value),.modal.card .field select,.modal.card .field textarea{width:100%;max-width:100%}
