:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--bg,linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0b1020 100%));min-width:320px;min-height:100vh;color:var(--text,#e5e7eb);margin:0}a{color:var(--primary,#60a5fa);text-decoration:none}a:hover{opacity:.9}button{border:1px solid var(--border,#ffffff1f);color:inherit;cursor:pointer;background:#ffffff0f;border-radius:10px;padding:.6em 1em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s,transform .15s}button:hover{border-color:#ffffff40;transform:translateY(-1px)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#app{min-height:100%}:root{--bg:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0b1020 100%);--card:#ffffff0f;--border:#ffffff1f;--text:#e5e7eb;--muted:#9ca3af;--primary:#60a5fa;--accent:#34d399}*{box-sizing:border-box}html,body,#app{height:100%}.app{background:var(--bg);min-height:100%;color:var(--text);grid-template-rows:auto auto 1fr auto;padding:24px;display:grid}.brand{text-align:center;margin-bottom:10px}.brand h1{letter-spacing:-.02em;background:linear-gradient(90deg,var(--primary),var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-weight:800}.brand p{color:var(--muted);margin:6px 0 0}.nav{flex-wrap:wrap;justify-content:center;gap:12px;margin:10px auto 18px;display:flex}.nav a{background:var(--card);border:1px solid var(--border);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:10px 14px;text-decoration:none;transition:transform .2s,background .2s,border .2s}.nav a.router-link-active{background:#60a5fa2e;border-color:#60a5fa80}.nav a:hover{border-color:#fff3;transform:translateY(-2px)}.content{width:100%;max-width:1100px;margin:0 auto}.fade-enter-active,.fade-leave-active{transition:opacity .28s,transform .28s}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(6px)}.footer{text-align:center;color:var(--muted);margin-top:20px}
