:root{--bg: #0e0a1a;--bg-soft: #191230;--card: #201741;--card-2: #2a1d55;--line: rgba(255, 255, 255, .14);--text: #fdfcff;--muted: #a99fd0;--brand: #ff3d71;--brand-2: #8b5cff;--azure: #2fa8ff;--lime: #2ee88a;--amber: #ffc233;--candy: #ff7ac6;--ink: #fdfcff;--overlay: rgba(255, 255, 255, .12);--overlay-soft: rgba(255, 255, 255, .07);--press: rgba(0, 0, 0, .35);--blob: .34;--toast-bg: #fff;--toast-text: #17102b;--radius: 20px;--radius-lg: 28px;--shadow: 0 18px 44px rgba(0, 0, 0, .5);--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:dark}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg: #f5f2ff;--bg-soft: #ffffff;--card: #ffffff;--card-2: #f6f2ff;--line: rgba(35, 18, 74, .14);--text: #1c1235;--muted: #6f668f;--brand: #f4256a;--brand-2: #6c3dff;--azure: #0f7fe0;--lime: #14b86a;--amber: #d98a00;--ink: #ffffff;--overlay: rgba(35, 18, 74, .08);--overlay-soft: rgba(35, 18, 74, .05);--press: rgba(35, 18, 74, .18);--blob: .16;--toast-bg: #221542;--toast-text: #ffffff;--shadow: 0 16px 36px rgba(48, 26, 100, .14);color-scheme:light}}:root[data-theme=light]{--bg: #f5f2ff;--bg-soft: #ffffff;--card: #ffffff;--card-2: #f6f2ff;--line: rgba(35, 18, 74, .14);--text: #1c1235;--muted: #6f668f;--brand: #f4256a;--brand-2: #6c3dff;--azure: #0f7fe0;--lime: #14b86a;--amber: #d98a00;--ink: #ffffff;--overlay: rgba(35, 18, 74, .08);--overlay-soft: rgba(35, 18, 74, .05);--press: rgba(35, 18, 74, .18);--blob: .16;--toast-bg: #221542;--toast-text: #ffffff;--shadow: 0 16px 36px rgba(48, 26, 100, .14);color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:16px;line-height:1.55;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(38vw 38vw at 12% 8%,rgba(255,61,113,1),transparent 62%),radial-gradient(42vw 42vw at 92% 4%,rgba(139,92,255,.95),transparent 62%),radial-gradient(34vw 34vw at 78% 82%,rgba(47,168,255,.7),transparent 62%),radial-gradient(30vw 30vw at 8% 92%,rgba(255,194,51,.55),transparent 62%);opacity:var(--blob);filter:blur(6px);pointer-events:none;z-index:0;animation:drift 18s ease-in-out infinite alternate}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(2.5%,-2%,0) scale(1.08)}}#root{position:relative;z-index:1}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}input,textarea{-webkit-appearance:none}.app{min-height:100%;max-width:560px;margin:0 auto;padding:20px 18px calc(28px + var(--safe-b));display:flex;flex-direction:column;gap:18px}h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.03em}h1{font-size:36px;font-weight:900}h2{font-size:25px;font-weight:900}h3{font-size:19px;font-weight:800}.display{font-size:46px;font-weight:900;letter-spacing:-.045em}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.center{text-align:center}.rainbow{background:linear-gradient(96deg,#ff3d71,#ff7ac6 38%,#8b5cff 68%,#2fa8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.wrap{flex-wrap:wrap}.grow{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spacer{flex:1}.card{background:linear-gradient(165deg,var(--card),var(--card-2));border:2px solid var(--line);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow)}.card.tight{padding:14px}.card.flat{box-shadow:none;background:var(--bg-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 22px;border-radius:999px;font-weight:900;font-size:17px;letter-spacing:-.01em;background:var(--card-2);color:var(--text);border:2px solid var(--line);box-shadow:0 4px 0 var(--press);transition:transform .1s ease,box-shadow .1s ease,filter .12s;width:100%}.btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--press)}.btn:disabled{opacity:.4;pointer-events:none}.btn-primary{background:linear-gradient(120deg,#ff3d71,#ff7ac6 46%,#8b5cff);border:none;color:#fff;box-shadow:0 5px #6d2ad0,0 14px 26px #8b5cff59}.btn-primary:active{transform:translateY(5px);box-shadow:0 0 #6d2ad0,0 6px 14px #8b5cff4d}.btn-ghost{background:transparent;box-shadow:none;border-color:transparent}.btn-ghost:active{transform:scale(.96)}.btn-sm{min-height:44px;font-size:14px;padding:0 16px;width:auto;box-shadow:0 3px 0 var(--press)}.btn-danger{color:#ff85a1}@media (prefers-color-scheme: light){:root:not([data-theme=dark]) .btn-danger{color:#c81742}}:root[data-theme=light] .btn-danger{color:#c81742}.input{width:100%;min-height:56px;padding:0 16px;border-radius:18px;background:var(--bg-soft);border:2px solid var(--line);outline:none;font-weight:700}.input:focus{border-color:var(--brand);box-shadow:0 0 0 4px #ff3d712e}.code-input{text-align:center;font-size:34px;font-weight:900;letter-spacing:.32em;padding-left:.32em;min-height:74px}.option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:64px;padding:12px 16px;border-radius:20px;background:var(--bg-soft);border:2px solid var(--line);box-shadow:0 3px 0 var(--press);font-weight:800;transition:transform .1s,border-color .12s,background .12s,box-shadow .1s}.option:active{transform:translateY(3px);box-shadow:0 0 0 var(--press)}.option.selected{border-color:var(--brand);background:linear-gradient(100deg,#ff3d7142,#8b5cff38);box-shadow:0 3px #a3204a}.option.dim{opacity:.4}.option .idx{width:30px;height:30px;flex:0 0 30px;border-radius:10px;display:grid;place-items:center;background:var(--overlay);font-size:13px;font-weight:900}.option.selected .idx{background:var(--brand);color:#fff}.avatar{border-radius:50%;flex:0 0 auto;display:block}.pchip{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 6px;background:var(--bg-soft);border:2px solid var(--line);border-radius:999px;font-weight:800;font-size:14px}.pchip.off{opacity:.38}.pchip.done{border-color:var(--lime);background:#2ee88a24}.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--overlay);border:1.5px solid var(--line);font-size:12px;font-weight:800;color:var(--text)}.tag-brand{background:#ff3d7129;border-color:var(--brand);color:var(--brand)}.app>.tag,.card>.tag{align-self:flex-start}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.tilt{transform:rotate(-2.5deg)}.tilt-r{transform:rotate(2deg)}.timer-bar{height:10px;border-radius:999px;background:var(--overlay);overflow:hidden;border:1.5px solid var(--line)}.timer-fill{height:100%;background:linear-gradient(90deg,#2ee88a,#ffc233 55%,#ff3d71);transition:width .25s linear}.timer-fill.warn{background:linear-gradient(90deg,#ff3d71,#ff7ac6);animation:pulse .7s ease-in-out infinite}.count-big{font-size:108px;font-weight:900;letter-spacing:-.06em;line-height:1}.team-card{border-radius:22px;padding:14px;border:2px solid var(--line)}.vs{font-size:13px;font-weight:900;letter-spacing:.2em;color:var(--muted);text-align:center;padding:6px 0}@keyframes pop{0%{transform:scale(.8);opacity:0}55%{transform:scale(1.07)}78%{transform:scale(.97)}to{transform:scale(1);opacity:1}}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.pop{animation:pop .42s cubic-bezier(.2,1.4,.35,1) both}.slide-up{animation:slideUp .3s cubic-bezier(.2,1.1,.4,1) both}.pulse{animation:pulse 1.1s ease-in-out infinite}.shake{animation:shake .3s ease}.wiggle{animation:wiggle 2.4s ease-in-out infinite}.bob{animation:bob 2.6s ease-in-out infinite}.d1{animation-delay:.06s}.d2{animation-delay:.12s}.d3{animation-delay:.18s}.d4{animation-delay:.24s}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.game-item{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:14px;border-radius:22px;background:var(--bg-soft);border:2px solid var(--line);box-shadow:0 3px 0 var(--press);transition:transform .1s,box-shadow .1s}.game-item:active{transform:translateY(3px);box-shadow:0 0 0 var(--press)}.game-item.disabled{opacity:.38}.cat-bar{width:8px;align-self:stretch;border-radius:99px;flex:0 0 8px}.cat-blob{width:46px;height:46px;flex:0 0 46px;border-radius:16px;display:grid;place-items:center;font-weight:900;font-size:18px;color:#1a0f2e}.code-hero{font-size:52px;font-weight:900;letter-spacing:.14em;padding-left:.14em;background:linear-gradient(100deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}.sticky-bar{position:sticky;bottom:0;padding-top:10px;padding-bottom:var(--safe-b);background:linear-gradient(180deg,transparent,var(--bg) 34%)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(24px + var(--safe-b));z-index:50;background:var(--toast-bg);color:var(--toast-text);font-weight:800;padding:12px 20px;border-radius:999px;box-shadow:var(--shadow);max-width:90vw;text-align:center}.divider{height:2px;background:var(--line);margin:4px 0;border-radius:2px}.scroll-x{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.scroll-x::-webkit-scrollbar{display:none}.link{color:var(--muted);text-decoration:underline;font-size:14px}.qr{background:#fff;padding:10px;border-radius:18px;display:block;border:3px solid var(--line)}.hint{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:18px;border:2px solid;font-weight:900}.hint-act{background:linear-gradient(100deg,#ff3d7138,#8b5cff2e);border-color:var(--brand);color:var(--text)}.hint-wait{background:var(--overlay-soft);border-color:var(--line);color:var(--muted)}.hint-watch{background:#2fa8ff24;border-color:var(--azure);color:var(--text)}.secret-card{background:linear-gradient(160deg,var(--card-2),var(--card));border-color:var(--brand-2)!important}.recap-card{background:linear-gradient(165deg,var(--card),var(--bg));border:2px solid var(--line);border-radius:26px;padding:22px}.theme-toggle{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--overlay);border:1.5px solid var(--line);color:var(--text)}
