.app-shell[data-v-f346b0d8]{min-height:100vh;display:flex;flex-direction:column}.app-header[data-v-f346b0d8]{position:sticky;top:0;z-index:10;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.header-inner[data-v-f346b0d8]{max-width:960px;margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;gap:1rem}.brand[data-v-f346b0d8]{display:flex;align-items:baseline;gap:.35rem;text-decoration:none;color:var(--text);font-weight:700;margin-right:auto}.brand[data-v-f346b0d8]:hover{text-decoration:none}.brand-num[data-v-f346b0d8]{font-size:1.35rem;color:var(--primary)}.brand-text[data-v-f346b0d8]{font-size:.95rem}.nav[data-v-f346b0d8]{display:flex;gap:.25rem}.nav-link[data-v-f346b0d8]{padding:.4rem .75rem;border-radius:6px;color:var(--text-muted);font-weight:500;text-decoration:none}.nav-link[data-v-f346b0d8]:hover{color:var(--text);background:#0000000a;text-decoration:none}.nav-link.router-link-active[data-v-f346b0d8]{color:var(--primary);background:#1d4ed814}.header-progress[data-v-f346b0d8]{font-size:.85rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.app-main[data-v-f346b0d8]{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.app-main--wide[data-v-f346b0d8]{max-width:72rem}.app-footer[data-v-f346b0d8]{border-top:1px solid var(--border);padding:1rem 1.25rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.app-footer p[data-v-f346b0d8]{margin:0;max-width:560px;margin-inline:auto}@media(max-width:520px){.brand-text[data-v-f346b0d8]{display:none}}:root{--bg: #f4f6f8;--surface: #ffffff;--text: #111827;--text-muted: #6b7280;--border: #e5e7eb;--primary: #1d4ed8;--primary-hover: #1e40af;--success: #059669;--warning: #d97706;--danger: #dc2626;--radius: 12px;--shadow: 0 1px 3px rgb(0 0 0 / 8%), 0 8px 24px rgb(0 0 0 / 6%);--font: "Segoe UI", system-ui, -apple-system, sans-serif;--max-width: 720px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{line-height:1.25;margin:0 0 .5em}p{margin:0 0 1em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1.1rem;border-radius:8px;border:1px solid transparent;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-decoration:none}.btn:hover{text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){color:var(--text);background:#0000000a}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
