:root{--bg:#0d1022;--bg-soft:#151a33;--bg-card:#1b2142;--border:#2b3364;--text:#e8ecff;--text-dim:#9aa3c7;--accent:#ffcf40;--accent-2:#6c8cff;--g1:#9aa3b2;--g2:#6ecb63;--g3:#4da3ff;--g4:#3ecfc0;--g5:#f0a03c;--g6:#b06cf5;--g7:#ffcf40;--g8:#ff5c5c;--g9:#ff8ee3}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif}body{background-image:radial-gradient(ellipse 80% 50% at 50% -10%,#232c5e66,transparent),radial-gradient(ellipse 60% 40% at 90% 110%,#3a1d5e55,transparent);min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.container{max-width:1080px;margin:0 auto;padding:0 16px 64px}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px}body.roll-active .site-footer{display:none}.grade-1{--gc:var(--g1)}.grade-2{--gc:var(--g2)}.grade-3{--gc:var(--g3)}.grade-4{--gc:var(--g4)}.grade-5{--gc:var(--g5)}.grade-6{--gc:var(--g6)}.grade-7{--gc:var(--g7)}.grade-8{--gc:var(--g8)}.grade-9{--gc:var(--g9)}.app-shell[data-v-4a053255]{display:flex;flex-direction:column;min-height:100vh}.app-shell>main[data-v-4a053255]{flex:1;width:100%}.site-header[data-v-4a053255]{position:sticky;top:0;z-index:10;background:#10142cee;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.header-inner[data-v-4a053255]{max-width:1080px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.logo[data-v-4a053255]{font-weight:800;font-size:1.15rem;letter-spacing:.02em}.logo-star[data-v-4a053255]{color:var(--accent);text-shadow:0 0 10px var(--accent)}nav[data-v-4a053255]{display:flex;gap:6px}nav a[data-v-4a053255]{padding:7px 14px;border-radius:8px;color:var(--text-dim);font-weight:600;transition:all .15s}nav a[data-v-4a053255]:hover{color:var(--text);background:var(--bg-soft)}nav a.router-link-active[data-v-4a053255]{color:var(--bg);background:var(--accent)}.site-footer[data-v-4a053255]{border-top:1px solid var(--border);color:var(--text-dim);font-size:.8rem;text-align:center;padding:18px 16px 26px}.site-footer a[data-v-4a053255]{color:var(--accent-2)}
