html,body,#root{background:#000}.osd-fade{transition:opacity .35s,transform .35s}.osd-digits{font-variant-numeric:tabular-nums;color:#b6ffb0;letter-spacing:.02em;text-shadow:0 0 2px #0a2a0a,2px 2px #000000d9,0 0 18px #7dff7a8c;font-family:NotoTC,Noto Sans TC,ui-sans-serif,system-ui,sans-serif;font-weight:900}.osd-label{color:#fff;text-shadow:1px 1px #000000e6;background:#0000008c;border-radius:4px}.osd-banner{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(90deg,#0a1234eb,#0a1234b8);border:1px solid #ffffff2e;box-shadow:0 10px 30px #00000073}.remote-wrap{transform-origin:100% 100%;scale:var(--remote-scale,1);touch-action:none;filter:drop-shadow(0 18px 30px #0009);transition:transform .55s cubic-bezier(.2,.9,.25,1.15),scale .3s}.remote-open{transform:translateY(-14px)rotate(0)}.remote-peek{transform:translateY(calc(100% - var(--remote-peek,92px))) rotate(-7deg);cursor:pointer}.remote-mini{pointer-events:none;transform:translateY(calc(100% + 40px))rotate(-7deg)}.remote-pill{opacity:.85;background:linear-gradient(#2e2d35 0%,#1b1a20 100%);box-shadow:0 6px 16px #00000073}.remote-pill:hover{opacity:1}.remote-peek:hover{transform:translateY(calc(100% - var(--remote-peek,92px) - 26px)) rotate(-5deg)}.remote-grip{background:#ffffff47;border-radius:999px;width:44px;height:5px;display:block}.remote-handle:hover .remote-grip{background:#ffffff80}.remote-handle:focus-visible{outline-offset:2px;border-radius:12px;outline:2px solid #2ef2ff}.remote-body{background:radial-gradient(120% 60% at 30% 0,#ffffff1f,#0000 60%),linear-gradient(#2e2d35 0%,#1b1a20 55%,#121116 100%);border:2px solid #0c0812;border-radius:40px 40px 34px 34px;box-shadow:inset 0 2px #ffffff1f,inset 0 -6px 12px #00000080}.remote-led{background:#3a0b10;border-radius:999px;width:8px;height:8px;box-shadow:inset 0 0 2px #000}.remote-body:active .remote-led{background:#ff3b4a;box-shadow:0 0 8px #ff3b4a}.remote-key{color:#eeeef2;background:linear-gradient(#45444d,#2c2b32);border:1.5px solid #0c0812;transition:transform 60ms,box-shadow 60ms;box-shadow:inset 0 1px #ffffff2e,0 2px #0c0812}.remote-key:hover{background:linear-gradient(#55545e,#33323a)}.remote-key:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffff1a}.remote-key:focus-visible{outline-offset:2px;outline:2px solid #2ef2ff}.remote-power{color:#fff;background:linear-gradient(#e2363f,#a81822)}.remote-power:hover{background:linear-gradient(#f04650,#b81f2a)}.remote-rocker{background:#00000047;border-radius:24px;padding:3px}.remote-lcd{background:linear-gradient(#0b1a0c,#071007);border:1.5px solid #0c0812;border-radius:8px;box-shadow:inset 0 2px 6px #000c}.duo-pad{-webkit-tap-highlight-color:transparent;background:radial-gradient(120% 50% at 30% 0,#ffffff1a,#0000 60%),linear-gradient(#2e2d35 0%,#1b1a20 55%,#121116 100%)}.duo-key[data-on]{color:#0c0812;background:linear-gradient(#ffe14d,#e0b800)}.duo-encore,.duo-encore[data-on]{color:#0c0812;background:linear-gradient(100deg,#ffd400 0%,#ff8fb1 50%,#8ff6ff 100%)}.duo-encore[data-on]{box-shadow:0 0 12px #ffd400b3}.duo-led{background:#ff3b4a;box-shadow:0 0 8px #ff3b4a}.duo-strip{scrollbar-width:none}.duo-strip::-webkit-scrollbar{display:none}.duo-thumb{-webkit-touch-callout:none;border:2px solid #0c0812}.duo-thumb--on{border-color:#2ef2ff;box-shadow:0 0 0 2px #2ef2ff,0 0 14px #2ef2ff99}.duo-gutter{touch-action:none;background:linear-gradient(#050407,#0b0a0e)}.duo-gutter:after{content:"";background:#ffffff2e;border-radius:2px;width:44px;height:4px;margin:-2px 0 0 -22px;position:absolute;top:50%;left:50%}.crt-off{transform-origin:50%;will-change:transform, filter, opacity;animation:.55s cubic-bezier(.4,0,.2,1) forwards crt-off}@keyframes crt-off{0%{filter:brightness();transform:scale(1)}14%{filter:brightness(2.6);transform:scale(1)}42%{filter:brightness(4)saturate(.2);opacity:1;transform:scaleY(.008)}60%,to{filter:brightness(4)saturate(.2);opacity:0;transform:scaleY(.008)}}.crt-line{justify-content:center;align-items:center;animation:.55s ease-out forwards crt-flash;display:flex}.crt-line:after{content:"";opacity:0;background:#fff;border-radius:2px;width:100%;height:3px;animation:.55s cubic-bezier(.4,0,.2,1) forwards crt-line;box-shadow:0 0 12px 3px #ffffffe6,0 0 42px 12px #aac8ff8c}@keyframes crt-flash{0%{background:#fff0}10%{background:#ffffff4d}32%,to{background:#fff0}}@keyframes crt-line{0%,34%{opacity:0;transform:scale(1)}42%{opacity:1;transform:scale(1)}74%{opacity:1;transform:scale(.012,2.2)}to{opacity:0;transform:scaleX(.004)}}@media (prefers-reduced-motion:reduce){.crt-off{animation:.35s ease-out forwards crt-fade}.crt-line{display:none}}@keyframes crt-fade{to{opacity:0}}.tv-caption{text-shadow:0 2px #000c,0 0 18px #0009;font-family:NotoTC,Noto Sans TC,ui-sans-serif,system-ui,sans-serif}.gate-pulse{animation:2.2s ease-in-out infinite gate-pulse}.new-ticker-crawl{animation:16s linear infinite new-ticker-crawl}@keyframes new-ticker-crawl{0%{transform:translateY(-50%)}to{transform:translate(-50%,-50%)}}@media (prefers-reduced-motion:reduce){.new-ticker-crawl{animation:none}}.intro-subtitle{text-shadow:0 1px 2px #000000e6;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere;font-family:NotoTC,Noto Sans TC,ui-sans-serif,system-ui,sans-serif;animation:.18s ease-out intro-subtitle}@keyframes intro-subtitle{0%{opacity:0}}.gate-chip{color:#fff4d6e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a08128c;border:1.5px solid #fff4d652;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .95rem;font-family:NotoTC,Noto Sans TC,ui-sans-serif,system-ui,sans-serif;font-size:.875rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gate-chip:hover,.gate-chip:focus-visible{color:#fff4d6;background:#0a0812c7;border-color:#ffd400bf}@keyframes gate-pulse{50%{opacity:.45}}.flash-white{animation:.9s ease-out forwards flash-white}@keyframes flash-white{0%{opacity:0}35%{opacity:1}to{opacity:0}}.arrive-flash{animation:1.6s ease-out forwards arrive-flash}@keyframes arrive-flash{0%{opacity:1}to{opacity:0}}.shake{animation:.12s linear infinite shake}@keyframes shake{25%{transform:translate(2px,-1px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,2px)}}.sound-hint-icon{animation:1.4s ease-in-out infinite sound-hint}@keyframes sound-hint{0%,to{transform:scale(1)}50%{transform:scale(1.18)rotate(-6deg)}}.overview{-webkit-backdrop-filter:blur(10px)saturate(1.1);backdrop-filter:blur(10px)saturate(1.1);background:#07050ccc;animation:.2s ease-out overview-in}.overview-panel{animation:.26s cubic-bezier(.2,.8,.2,1) overview-rise}@keyframes overview-in{0%{opacity:0}}@keyframes overview-rise{0%{opacity:0;transform:translateY(18px)scale(.985)}}.overview-search{background:#ffffff0f;border:1.5px solid #fff4d638;border-radius:999px;padding:.5rem .95rem}.overview-search:focus-within{border-color:#ffd400cc}.overview-close{color:#fff4d6;background:#0a081299;border:1.5px solid #fff4d64d;border-radius:999px;place-items:center;width:2.5rem;height:2.5rem;display:grid}.overview-close:hover,.overview-close:focus-visible{border-color:#ffd400}.overview-hero{background:linear-gradient(115deg,#2b2f9e61,#c8234a33 60%,#ffffff0a);border:1.5px solid #fff4d624}.overview-card{border-radius:.9rem;outline:none}.overview-thumb{background:#0b0a0e;transition:box-shadow .18s,transform .18s;box-shadow:0 0 0 1.5px #fff4d61f,0 10px 24px #00000073}.overview-card:hover .overview-thumb,.overview-card:focus-visible .overview-thumb{transform:translateY(-3px);box-shadow:0 0 0 3px #ffd400,0 16px 32px #0000008c}.overview-card--on .overview-thumb{box-shadow:0 0 0 3px #ff2a4d,0 10px 24px #00000073}.overview-osd{letter-spacing:.06em;color:#b6ffb0;text-shadow:0 0 8px #5aff82a6;background:#000000b8;border-radius:6px;padding:1px 7px;font:700 15px/1.4 ui-monospace,DejaVu Sans Mono,monospace}.overview-badge{border-radius:999px;align-items:center;gap:.3rem;padding:1px 8px;font-size:11px;font-weight:900;line-height:1.6;display:inline-flex;box-shadow:0 2px 6px #00000059}.overview-go{opacity:0;background:linear-gradient(#0000,#000c);transition:opacity .18s,transform .18s;transform:translateY(6px)}.overview-card:hover .overview-go,.overview-card:focus-visible .overview-go{opacity:1;transform:none}@media (hover:none){.overview-go{display:none}}.overview-bars{background:linear-gradient(90deg,silver 0 14.3%,#c0c000 0 28.6%,#00c0c0 0 42.9%,#00c000 0 57.2%,#c000c0 0 71.5%,#c00000 0 85.8%,#0000c0 0)}@media (prefers-reduced-motion:reduce){.overview,.overview-panel{animation:none}}.remote-guide{color:#ffd400;box-shadow:inset 0 0 0 1.5px #ffd4008c}
