@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&family=Inter:wght@400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@700;900&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f5f6f8;background:radial-gradient(at top,#1a1f2a 0%,#05070b 70%);font-family:Inter,system-ui,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:0 0;overflow:hidden}button{font-family:inherit}.timer{color:#f5f6f8;background:linear-gradient(#11141b 0%,#0a0c11 100%);border:1px solid #2a2f3a;border-radius:16px;flex-direction:column;align-items:center;gap:1.25rem;min-width:360px;padding:2rem 2.5rem;transition:box-shadow .2s,border-color .2s;display:flex}.timer.is-warning{border-color:#f5a623;box-shadow:0 0 0 4px #f5a62326}.timer.is-expired{border-color:#e94c4c;animation:1s steps(2,end) infinite timer-flash;box-shadow:0 0 0 4px #e94c4c40}@keyframes timer-flash{0%,to{background:linear-gradient(#11141b 0%,#0a0c11 100%)}50%{background:linear-gradient(#2a0e0e 0%,#160606 100%)}}.timer__header{text-align:center;width:100%}.timer__title{letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;font-size:1.25rem}.timer__title-input{text-align:center;width:100%;color:inherit;background:0 0;border:none;border-bottom:2px solid #4a5160;padding:.25rem 0;font-size:1.25rem}.timer__display{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-family:Noto Serif SC,Cambria,Times New Roman,serif;font-size:clamp(4rem,12vw,7.5rem);font-weight:700;line-height:1}.timer.is-warning .timer__display{color:#f5a623}.timer.is-expired .timer__display{color:#e94c4c}.timer__controls{gap:.75rem;display:flex}.timer__btn{color:#f5f6f8;cursor:pointer;background:#1a1f2a;border:1px solid #3a4150;border-radius:999px;padding:.6rem 1.4rem;font-size:.95rem;transition:transform 80ms,background .12s}.timer__btn:hover{background:#232a37}.timer__btn:active{transform:scale(.97)}.timer__btn--primary{color:#0a0c11;background:#f5f6f8;border-color:#f5f6f8}.timer__duration{color:#aab0bd;border:1px dashed #2a2f3a;border-radius:10px;gap:1rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.timer__duration legend{padding:0 .4rem}.timer__duration label{align-items:center;gap:.4rem;display:inline-flex}.timer__duration input{color:#f5f6f8;font-variant-numeric:tabular-nums;background:#0a0c11;border:1px solid #2a2f3a;border-radius:6px;width:3.5rem;padding:.25rem .5rem}.timer--presentation{min-width:unset;background:0 0;border:none;border-radius:0;gap:2rem;width:100%;padding:0}.timer--presentation .timer__title{letter-spacing:.12em;color:#f5f6f8;font-family:Noto Serif SC,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700}.timer--presentation .timer__title-input{letter-spacing:.12em;font-family:Noto Serif SC,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700}.timer--presentation .timer__display{font-size:clamp(7rem,22vw,18rem)}.timer--presentation .timer__controls{gap:1.25rem}.timer--presentation .timer__btn{padding:.8rem 2.2rem;font-size:1.1rem}.vote{color:#f5f6f8;background:#0a0c11;border:1px solid #2a2f3a;border-radius:16px;flex-direction:column;gap:1rem;min-width:360px;padding:1.5rem;display:flex}.vote__heading{letter-spacing:.12em;color:#aab0bd;text-transform:uppercase;margin:0;font-size:.9rem}.vote__topbar{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.vote__online{color:#4caf7d;letter-spacing:.05em;align-items:center;gap:.4rem;font-size:.78rem;display:inline-flex}.vote__online-dot{background:#4caf7d;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 6px #4caf7d}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.vote__teams{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.vote__team{border:2px solid var(--team-color);text-align:center;background:color-mix(in srgb, var(--team-color) 8%, transparent);border-radius:12px;padding:1rem;transition:transform .15s,box-shadow .15s}.vote__team.is-leading{box-shadow:0 8px 28px color-mix(in srgb, var(--team-color) 35%, transparent);transform:translateY(-2px)}.vote__team-name{letter-spacing:.15em;color:var(--team-color);font-size:1.1rem;font-weight:700}.vote__count{font-variant-numeric:tabular-nums;font-family:Noto Serif SC,serif;font-size:3.5rem;font-weight:700;line-height:1.1}.vote__buttons{justify-content:center;gap:.5rem;display:flex}.vote__btn{border:1px solid var(--team-color);color:var(--team-color);cursor:pointer;background:0 0;border-radius:999px;padding:.4rem 1rem;font-size:1rem;font-weight:600}.vote__btn:disabled{opacity:.4;cursor:not-allowed}.vote__btn--plus{background:var(--team-color);color:#0a0c11}.vote__actions{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.vote__qr-btn{color:#aab0bd;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;padding:.4rem .9rem;font-size:.8rem}.vote__qr-btn:hover{color:#f5f6f8;border-color:#f5f6f8}.vote__reset{color:#aab0bd;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;align-self:flex-end;padding:.4rem .9rem;font-size:.8rem}.vote__reset:hover{color:#f5f6f8;border-color:#f5f6f8}.vote__lock-btn{color:#aab0bd;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;padding:.4rem .9rem;font-size:.8rem;transition:color .12s,border-color .12s,background .12s}.vote__lock-btn:hover{color:#f5f6f8;border-color:#f5f6f8}.vote__lock-btn.is-locked{color:#e94c4c;border-color:#e94c4c}.vote__lock-btn.is-locked:hover{background:#e94c4c1f}.vote__toggle-btn{color:#aab0bd;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;padding:.4rem .9rem;font-size:.8rem;transition:color .12s,border-color .12s,background .12s}.vote__toggle-btn.is-active{color:#f5f6f8;background:#f5f6f814;border-color:#f5f6f8}.qr-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#05070bd1;justify-content:center;align-items:center;animation:.18s qr-fade-in;display:flex;position:fixed;inset:0}@keyframes qr-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.qr-card{background:#11141b;border:1px solid #2a2f3a;border-radius:20px;flex-direction:column;align-items:center;gap:1.5rem;width:90%;max-width:360px;padding:2.5rem;display:flex}.qr-card__title{letter-spacing:.12em;color:#f5f6f8;margin:0;font-size:1.1rem}.qr-card__sub{color:#aab0bd;text-align:center;margin:0;font-size:.82rem;line-height:1.6}.qr-card__canvas{background:#fff;border-radius:12px;padding:12px}.qr-card__close{color:#aab0bd;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;padding:.5rem 1.4rem;font-size:.9rem}.qr-card__close:hover{color:#f5f6f8;border-color:#f5f6f8}.qr-card__newtab{text-align:center;color:#f5f6f8;letter-spacing:.06em;border:1px solid #3a4150;border-radius:999px;padding:.45rem 1.2rem;font-size:.88rem;text-decoration:none;transition:border-color .12s,color .12s;display:block}.qr-card__newtab:hover{color:#fff;border-color:#f5f6f8}.board{flex-direction:column;gap:1.5rem;max-width:1200px;margin:0 auto;padding:2rem;display:flex}.board__motion-input{color:#f5f6f8;text-align:center;background:0 0;border:none;border-bottom:2px dashed #2a2f3a;width:100%;padding:.5rem 0;font-family:Noto Serif SC,serif;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:700}.board__motion-input:focus{border-bottom-color:#f5a623;outline:none}.board__nav{color:#aab0bd;justify-content:space-between;align-items:center;gap:1rem;display:flex}.board__nav button{color:#f5f6f8;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;padding:.5rem 1rem}.board__nav button:disabled{opacity:.35;cursor:not-allowed}.board__nav-label{letter-spacing:.2em;text-transform:uppercase;font-size:.85rem}.board__main{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.5rem;display:grid}@media (width<=900px){.board__main{grid-template-columns:1fr}}.board__rounds{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.board__rounds button{color:#aab0bd;cursor:pointer;background:0 0;border:1px solid #2a2f3a;border-radius:999px;padding:.4rem .8rem;font-size:.85rem}.board__rounds button.is-active{color:#0a0c11;background:#f5f6f8;border-color:#f5f6f8}.board--presentation{flex-direction:column;justify-content:center;align-items:center;gap:3rem;max-width:100%;min-height:100vh;padding:4vh 6vw 7rem;display:flex}.board__pres-votes{width:100%;max-width:700px;animation:.3s pres-reveal}@keyframes pres-reveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.board__pres-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#11141be6;border:1px solid #2a2f3a;border-radius:999px;align-items:center;gap:.6rem;padding:.5rem 1rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.board__pres-label{color:#aab0bd;letter-spacing:.15em;padding:0 .4rem;font-size:.8rem}.board__pres-btn{color:#f5f6f8;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3a4150;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;transition:background .12s}.board__pres-btn:hover{background:#232a37}.board__pres-btn:disabled{opacity:.3;cursor:not-allowed}.board__pres-btn--exit{color:#e94c4c;border-color:#e94c4c}.board__pres-btn--exit:hover{background:#e94c4c1f}.board__pres-launch{color:#0a0c11;cursor:pointer;background:#f5f6f8;border:1px solid #f5f6f8;border-radius:999px;margin-left:auto;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600;transition:opacity .12s}.board__pres-launch:hover{opacity:.85}.board__reset-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;margin-left:auto;padding:.5rem .9rem;font-size:.8rem;transition:color .12s,border-color .12s}.board__reset-btn:hover{color:#e94c4c;border-color:#e94c4c}.voter{color:#f5f6f8;background:radial-gradient(at top,#1a1f2a 0%,#05070b 70%);flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;min-height:100vh;padding:2rem;font-family:Inter,system-ui,PingFang SC,Microsoft YaHei,sans-serif;display:flex}.voter__heading{letter-spacing:.15em;color:#aab0bd;text-transform:uppercase;margin:0;font-size:clamp(1.2rem,4vw,1.8rem)}.voter__motion{text-align:center;color:#f5f6f8;max-width:480px;font-family:Noto Serif SC,serif;font-size:clamp(1.1rem,3.5vw,1.6rem);font-weight:700;line-height:1.5}.voter__teams{grid-template-columns:1fr 1fr;gap:1.25rem;width:100%;max-width:520px;display:grid}.voter__btn{aspect-ratio:1;border:3px solid var(--color);background:color-mix(in srgb, var(--color) 10%, transparent);color:var(--color);letter-spacing:.1em;cursor:pointer;border-radius:20px;justify-content:center;align-items:center;font-family:Noto Serif SC,serif;font-size:clamp(2rem,10vw,3.5rem);font-weight:900;transition:transform .1s,background .12s,box-shadow .12s;display:flex}.voter__btn:hover{background:color-mix(in srgb, var(--color) 20%, transparent)}.voter__btn:active{box-shadow:0 0 0 6px color-mix(in srgb, var(--color) 25%, transparent);transform:scale(.95)}.voter__btn:disabled{opacity:.35;cursor:not-allowed}.voter__feedback{letter-spacing:.1em;color:#aab0bd;text-align:center;min-height:2rem;font-size:1.2rem;transition:opacity .3s}.voter__feedback.visible{color:#4caf7d}.voter__already{text-align:center;background:#11141b;border:1px solid #2a2f3a;border-radius:20px;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem;display:flex}.voter__already-title{letter-spacing:.1em;color:#aab0bd;margin:0;font-size:1.3rem}.voter__already-team{letter-spacing:.15em;margin:0;font-family:Noto Serif SC,serif;font-size:2.5rem;font-weight:900}.voter__change-btn{color:#aab0bd;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;margin-top:.5rem;padding:.5rem 1.4rem;font-size:.9rem;transition:color .12s,border-color .12s}.voter__change-btn:hover{color:#f5f6f8;border-color:#f5f6f8}.voter__cancel-btn{color:#aab0bd;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:999px;padding:.5rem 1.4rem;font-size:.9rem}.voter__locked-notice{color:#e94c4c;letter-spacing:.04em;margin-top:.5rem;font-size:.85rem}.voter__btn--selected{box-shadow:0 0 0 3px var(--color);background:color-mix(in srgb, var(--color) 30%, transparent)!important}.pres-waiting{color:#4a5160;letter-spacing:.2em;flex-direction:column;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;display:flex;overflow:hidden}.pres-root{background:radial-gradient(at top,#1a1f2a 0%,#05070b 70%);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;height:100vh;padding:3vh 6vw;display:flex;overflow:hidden}.pres-timer{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.pres-title{letter-spacing:.12em;color:#f5f6f8;text-align:center;margin:0;font-family:Noto Serif SC,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700}.pres-display{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#f5f6f8;font-family:Noto Serif SC,serif;font-size:clamp(8rem,24vw,20rem);font-weight:900;line-height:1;transition:color .3s}.pres-timer.is-warning .pres-display{color:#f5a623}.pres-timer.is-expired .pres-display{color:#e94c4c;animation:1s steps(2,end) infinite pres-flash}@keyframes pres-flash{0%,to{opacity:1}50%{opacity:.35}}.pres-votes{grid-template-columns:1fr 1fr;gap:2rem;width:100%;max-width:640px;animation:.35s pres-reveal;display:grid}.pres-vote-team{border:2px solid var(--color);background:color-mix(in srgb, var(--color) 8%, transparent);border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.pres-vote-name{letter-spacing:.15em;color:var(--color);font-family:Noto Serif SC,serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:700}.pres-vote-count{font-variant-numeric:tabular-nums;color:#f5f6f8;font-family:Noto Serif SC,serif;font-size:clamp(3rem,8vw,5rem);font-weight:900}.pres-motion{letter-spacing:.1em;color:#aab0bd;text-align:center;max-width:800px;margin:0;font-family:Noto Serif SC,serif;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:500}.pres-logo{object-fit:contain;border-radius:10px;width:72px;height:72px;margin-bottom:1rem}.pres-logo--corner{z-index:10;object-fit:contain;filter:contrast(12)brightness(1.1);mix-blend-mode:screen;border-radius:0;width:140px;height:140px;margin-bottom:0;position:fixed;top:1.25rem;right:1.5rem}
