:root{color-scheme:light;--on-bg: #fff8ea;--ink: #3b2a14;--card: #f6e7c1;--muted: #6e5938;--primary: #e39b12;--primary-ink: #2a1a06;--secondary: #fff6df;--field: #fffaf0;--good: #1f7a3f;--danger: #9d2424;--danger-ink: #fff;--line: rgba(59, 42, 20, .16);--bar: rgba(16, 12, 40, .94);--bar-ink: #fff6df;--shadow: 0 12px 30px rgba(0, 0, 0, .18);font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif}html[data-theme=esports]{color-scheme:dark;--on-bg: #f6edff;--ink: #f6edff;--card: #241338;--muted: #d2b8ef;--primary: #c084fc;--primary-ink: #1a0b28;--secondary: #311b4e;--field: #140a22;--good: #5eead4;--danger: #fb7185;--danger-ink: #2a0610;--line: rgba(192, 132, 252, .4);--bar: rgba(10, 6, 18, .94);--bar-ink: #f6edff}html[data-theme=pet]{color-scheme:light;--on-bg: #143028;--ink: #143028;--card: #ffffff;--muted: #3d6b58;--primary: #1f9d62;--primary-ink: #ffffff;--secondary: #e7f8ef;--field: #f4fff8;--good: #147a48;--danger: #c2413b;--danger-ink: #fff;--line: rgba(20, 48, 40, .12);--bar: rgba(232, 248, 239, .96);--bar-ink: #143028;--shadow: 0 10px 24px rgba(20, 80, 50, .12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--on-bg);background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.9) 0 1px,transparent 2px),radial-gradient(circle at 78% 22%,rgba(255,255,255,.75) 0 1px,transparent 2px),radial-gradient(circle at 30% 78%,rgba(255,214,90,.18),transparent 28%),linear-gradient(180deg,#241a55,#120c2c 72%)}html[data-theme=esports] body{background:linear-gradient(115deg,rgba(192,132,252,.18),transparent 32%),linear-gradient(245deg,rgba(34,211,238,.16),transparent 28%),#100818}html[data-theme=pet] body{background:radial-gradient(circle at 10% 0%,#fff,transparent 36%),radial-gradient(circle at 100% 20%,#b7f0d2,transparent 32%),#e7f8f1}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-frame,.login,.setup{width:min(720px,100%);margin:0 auto;padding:16px 16px 112px}.setup,.login{padding-top:28px}h1,h2,p{margin:0}h1{font-size:1.8rem;line-height:1.25}h2{font-size:1.25rem}.stack{display:flex;flex-direction:column;gap:12px}.card{background:var(--card);color:var(--ink);border-radius:22px;padding:16px;box-shadow:var(--shadow)}.eyebrow{font-weight:700;letter-spacing:.04em;color:var(--muted)}.muted{color:var(--muted)}.center{text-align:center;padding:24px}.cap{font-weight:800}.prompt{font-size:1.35rem;line-height:1.4}.primary,.secondary,.danger,.ghost,.link-button{min-height:52px;border-radius:16px;border:0;padding:10px 16px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}.primary{background:var(--primary);color:var(--primary-ink)}.secondary{background:var(--secondary);color:var(--ink);border:2px solid var(--line)}.danger{background:var(--danger);color:var(--danger-ink)}.ghost{min-height:44px;background:transparent;color:var(--on-bg);border:2px solid transparent}.link-button{width:100%}.primary small,.secondary small{display:block;font-weight:700}.field{display:flex;flex-direction:column;gap:6px;font-weight:700}.field.slim{min-width:96px}input,select,textarea{min-height:52px;border-radius:14px;border:2px solid var(--line);background:var(--field);color:var(--ink);padding:10px 12px}textarea{min-height:120px}.check{display:flex;gap:10px;align-items:center;min-height:48px;font-weight:700}.check input{width:28px;height:28px;min-height:28px}.row,.tier-row,.boost-row{display:flex;flex-wrap:wrap;gap:8px}.tier-row>button{flex:1 1 30%}.tier-box{border:2px solid var(--line);border-radius:16px;padding:12px}.error{background:#ffe1e1;color:#7a1212;border-radius:14px;padding:12px;font-weight:700}.text-link{margin-left:8px;font-weight:800}.top,.themes{display:flex;justify-content:space-between;gap:8px;align-items:center}.brand{font-weight:900;font-size:1.15rem}.who{opacity:.85}.themes{margin:10px 0 4px}.themes button{flex:1;min-height:44px;border-radius:999px;border:2px solid transparent;background:transparent;color:var(--on-bg);font-weight:800}.themes button.on{background:var(--primary);color:var(--primary-ink)}.theme-note{margin:4px 0 10px;font-size:.95rem}.marquee{overflow:hidden;background:var(--primary);color:var(--primary-ink);border-radius:999px;margin-bottom:12px}.marquee p{display:inline-block;padding:10px 0 10px 100%;white-space:nowrap;font-weight:900;animation:tick 14s linear infinite}@keyframes tick{to{transform:translate(-100%)}}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;overflow-x:auto;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--bar)}.tabbar a{flex:0 0 auto;min-height:48px;padding:0 14px;border-radius:999px;color:var(--bar-ink);text-decoration:none;display:flex;align-items:center;font-weight:800}.tabbar a.active{background:var(--primary);color:var(--primary-ink)}.quest-banner{font-size:1.4rem;font-weight:900}.xp,.pet{display:flex;gap:12px;align-items:center}.xp{color:var(--on-bg)}.xp strong,.xp span{display:block}.ring-bg,.ring-fg{fill:none;stroke-width:8}.ring-bg{stroke:#fff3}.ring-fg{stroke:#22d3ee;stroke-linecap:round;transform:rotate(-90deg);transform-origin:36px 36px}.pet-face{font-size:4rem;line-height:1}.stats{display:flex;gap:10px;padding:0;margin:8px 0 0;list-style:none;font-weight:800}.photo{width:100%;border-radius:16px}.table-wrap{overflow-x:auto;background:var(--card);color:var(--ink);border-radius:18px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}code{font-family:ui-monospace,monospace}.setup ol{padding-left:1.2rem;display:flex;flex-direction:column;gap:8px}@media(prefers-reduced-motion:reduce){.marquee p{animation:none;padding-left:12px}}
