:root{--bg: #f3f0ea;--card: #ffffff;--card-soft: #f8f5f0;--border: rgba(32, 17, 24, .14);--border-strong: rgba(32, 17, 24, .3);--text: #201118;--text-sec: #5f5058;--text-light: #90838b;--input-bg: #ffffff;--primary: #c9ea16;--primary-hover: #b7d800;--primary-soft: rgba(201, 234, 22, .2);--primary-strong: #566800;--success: #0e7a4b;--warning: #ad5f00;--danger: #cb3649;--accent: #6a48d7;--correct: #199a60;--close: #cd7d0e;--wrong: #a89ba3;--shadow-sm: 0 3px 10px rgba(32, 17, 24, .07);--shadow: 0 12px 30px rgba(32, 17, 24, .08);--shadow-lg: 0 28px 70px rgba(32, 17, 24, .2);--radius: 4px;--radius-sm: 3px;--content-max: 1180px;--page-inline: clamp(16px, 4vw, 52px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}html{font-size:16px}html[data-theme=blast],html[data-theme=blast] body{background-color:#160a13}body{margin:0;min-width:320px;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html:not([data-theme=blast]) body{background:radial-gradient(circle at 10% -6%,rgba(201,234,22,.13),transparent 30rem),radial-gradient(circle at 94% 4%,rgba(106,72,215,.07),transparent 26rem),repeating-linear-gradient(118deg,transparent 0 92px,rgba(32,17,24,.016) 92px 93px),var(--bg)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}::selection{background:#c9ea1673}.page{display:flex;flex-direction:column;height:var(--visual-viewport-height, 100dvh);width:100%;min-width:0;max-width:100%}.page-scroll{flex:1;overflow-y:auto;min-height:0;padding:clamp(20px,3vw,34px) var(--page-inline);padding-bottom:calc(clamp(20px,3vw,34px) + env(safe-area-inset-bottom));width:100%;min-width:0;max-width:100%;display:flex;flex-direction:column;gap:16px;scroll-padding:16px;overscroll-behavior-y:contain}.page-scroll>*{width:min(var(--content-max),100%);min-width:0;max-width:100%;margin-inline:auto}.single-game-board{min-width:0}.guess-board-end{height:1px;overflow-anchor:auto}.header-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px var(--page-inline);padding-top:calc(15px + env(safe-area-inset-top));background:#ffffffe0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);box-shadow:0 4px 18px #2640630a;flex-shrink:0;z-index:10}.header-bar .title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.2rem;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.header-bar .btns{display:flex;gap:8px;align-items:center;min-width:0;flex-shrink:0}.theme-toggle{min-width:38px}.auth-pending{width:112px;height:32px;border-radius:6px;background:linear-gradient(90deg,var(--bg) 25%,var(--border) 50%,var(--bg) 75%);background-size:200% 100%;animation:loading-shimmer 1.2s linear infinite}.page-loading{display:grid;place-items:center;min-height:180px}@keyframes loading-shimmer{to{background-position:-200% 0}}.skip-link{position:fixed;top:-100px;left:12px;z-index:300;padding:9px 16px;border:1px solid var(--border-strong);border-radius:6px;background:var(--card);color:var(--text);font-weight:600;text-decoration:none;transition:top .16s ease}.skip-link:focus{top:12px}.table-skeleton{display:grid;gap:10px;padding:6px 0}.table-skeleton i{height:16px;border-radius:4px;background:linear-gradient(90deg,var(--bg) 25%,var(--border) 50%,var(--bg) 75%);background-size:200% 100%;animation:loading-shimmer 1.2s linear infinite}.table-skeleton i:nth-child(2n){width:82%}.status-bar{padding:10px var(--page-inline);font-size:.95rem;color:var(--text-sec);background:#ffffffc2;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;color:#fff;background:var(--primary);box-shadow:0 5px 12px #256fe22e;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;line-height:1.2;min-height:42px}.btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 8px 16px #256fe23d;transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}.btn:focus-visible,.input:focus-visible,.opt-btn:focus-visible,.room-code-toggle:focus-visible,.menu-card:focus-visible,.confirm-close:focus-visible{outline:3px solid rgba(37,111,226,.28);outline-offset:2px}.btn-sm{padding:7px 12px;font-size:.85rem;min-height:34px}.btn-lg{padding:13px 26px;font-size:1.05rem}.btn-success{background:var(--success)}.btn-success:hover{background:#15803d}.btn-warning{background:var(--warning)}.btn-warning:hover{background:#b45309}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#b91c1c}.btn-accent{background:var(--accent)}.btn-accent:hover{background:#6d28d9}.btn-green{background:var(--success)}.btn-red{background:var(--danger)}.btn-green:hover:not(:disabled){background:#117448}.btn-red:hover:not(:disabled){background:#b92f32}.btn-ghost{background:#ffffffb8;color:var(--text-sec);border-color:var(--border);box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--primary-soft);border-color:#bed2f3;color:var(--primary-hover);box-shadow:none}.btn svg{flex-shrink:0}.difficulty-multi-select{position:relative;min-width:220px}.difficulty-multi-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text-sec);cursor:pointer;list-style:none}.difficulty-multi-select-trigger::-webkit-details-marker{display:none}.difficulty-multi-select[open] .difficulty-multi-select-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.difficulty-multi-select-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.difficulty-multi-select-menu{position:absolute;z-index:220;top:calc(100% + 6px);left:0;right:0;display:grid;gap:2px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-lg)}.difficulty-multi-select-option{display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:8px;min-height:36px;padding:6px 8px;border-radius:var(--radius-sm);color:var(--text-sec);cursor:pointer}.difficulty-multi-select-option:hover{background:var(--card-soft);color:var(--text)}.difficulty-multi-select-option>svg{color:var(--primary)}.language-select{--language-accent: var(--primary-strong);position:relative;flex:0 0 58px;width:58px;height:34px}.language-select-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;height:100%;padding:0 7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text-sec);font-size:.72rem;font-weight:700;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.language-select-button:hover,.language-select.open .language-select-button{border-color:var(--language-accent);background:var(--primary-soft);color:var(--language-accent)}.language-select-button:focus-visible{outline:3px solid var(--primary-soft);outline-offset:2px}.language-chevron{transition:transform .16s ease}.language-select.open .language-chevron{transform:rotate(180deg)}.language-select-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:260;display:grid;gap:3px;width:164px;margin:0;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-lg);list-style:none;animation:language-menu-enter .16s ease-out both}.language-select-option{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%;min-height:38px;padding:7px 9px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-sec);text-align:left;cursor:pointer}.language-select-option:hover,.language-select-option:focus-visible{outline:none;background:var(--card-soft);color:var(--text)}.language-select-option.active{background:var(--primary-soft);color:var(--language-accent);font-weight:700}.language-option-code{color:var(--text-light);font-family:Consolas,monospace;font-size:.7rem;font-weight:700}.language-select-option.active .language-option-code{color:var(--language-accent)}.language-select-option>svg{justify-self:end}@keyframes language-menu-enter{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.card{background:linear-gradient(145deg,#fffffffa,#fafcfff5);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(18px,2.25vw,24px);margin:0 0 14px;box-shadow:var(--shadow);min-width:0;max-width:100%}.page-scroll>.card{margin-bottom:0}.card h3{margin:0 0 12px;font-size:1.08rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.form{display:flex;flex-direction:column;gap:14px;max-width:420px;margin:0 auto}.auth-card{width:min(480px,100%);margin:clamp(10px,6vh,56px) auto}.input,select.input,textarea.input{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;width:100%;background:var(--input-bg);color:var(--text);font-family:inherit;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input:hover:not(:disabled){border-color:var(--border-strong)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #256fe224}.error{color:var(--danger);font-size:.9rem;overflow-wrap:anywhere}.success{color:var(--success);font-size:.9rem;overflow-wrap:anywhere}.muted{color:var(--text-light);font-size:.9rem;overflow-wrap:anywhere}.stats-content{width:min(880px,100%);margin-inline:auto}.stats-error{margin-bottom:12px}.stats-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stats-overview-grid .card{min-width:0}.stats-summary-table{width:100%;table-layout:fixed}.stats-summary-table td.stat-value{width:38%;font-weight:600;text-align:right}.stats-recent-card{overflow:hidden}.stats-recent-table{overflow-x:auto}.stats-recent-table table{min-width:680px}.stats-replay-mobile-list{display:none}.stats-replay-button{min-height:32px;padding:6px 10px}.stats-replay-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.stats-replay-toolbar h3{margin:0}.stats-replay-segments{display:inline-grid;grid-template-columns:repeat(2,minmax(84px,1fr));padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-soft)}.stats-replay-segments button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 12px;border:0;border-radius:calc(var(--radius-sm) - 3px);background:transparent;color:var(--text-sec);cursor:pointer;font:inherit;font-weight:600}.stats-replay-segments button.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow-sm)}.stats-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;color:var(--text-sec);font-size:.9rem}.stats-pagination .btn{width:36px;height:36px;padding:0}.replay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;z-index:220;display:grid;place-items:center;padding:20px;background:#112038a3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.replay-dialog{display:flex;flex-direction:column;width:min(1080px,100%);max-height:calc(100dvh - 40px);overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:var(--shadow-lg)}.replay-heading{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0;padding:clamp(18px,3vw,28px);padding-bottom:16px;border-bottom:1px solid var(--border)}.replay-heading h2{margin:0;font-size:1.2rem;letter-spacing:0}.replay-heading p{margin:5px 0 0;color:var(--text-sec);font-size:.9rem}.replay-dialog-body{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:clamp(18px,3vw,28px);scrollbar-gutter:stable;overscroll-behavior:contain}.replay-answer{width:min(560px,100%);margin-bottom:20px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-soft)}.replay-answer h3,.replay-guesses h3{margin:0 0 10px;font-size:1rem}.replay-guesses{min-width:0}.replay-rounds{display:grid;gap:24px}.replay-round{min-width:0;padding-bottom:24px;border-bottom:1px solid var(--border)}.replay-round:last-child{padding-bottom:0;border-bottom:0}.replay-round-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.replay-round-heading h3{margin:0;font-size:1.05rem}.replay-round .replay-answer{margin-bottom:16px}.replay-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.replay-side{min-width:0;overflow-x:auto}.replay-side h4{display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:.94rem}.replay-side h4>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.replay-round-pagination{display:flex;align-items:center;justify-content:center;gap:14px;min-height:36px}.replay-round-pagination .btn{width:36px;height:36px;padding:0}.replay-round-pagination span{min-width:96px;color:var(--text-sec);font-size:.9rem;text-align:center}.player-search-content{width:min(620px,100%);margin-inline:auto}.admin-list-toolbar{display:grid;grid-template-columns:minmax(240px,560px) auto;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-soft)}.admin-search{position:relative;display:flex;align-items:center;width:100%}.admin-search svg{position:absolute;left:12px;color:var(--text-light);pointer-events:none}.admin-search .input{width:100%;padding-left:38px}.admin-page-size{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--text-sec);white-space:nowrap}.admin-page-size .input{width:82px;padding:9px 10px}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:14px}.admin-pagination-actions{display:flex;align-items:center;gap:8px}.admin-pagination-actions .btn{width:34px;height:34px}.admin-players-card,.admin-users-card{width:min(1160px,100%);margin-inline:auto}.admin-users-card .admin-players-header{justify-content:center;text-align:center}.admin-users-card .admin-players-title h3{justify-content:center}.admin-users-table{margin-top:14px}.admin-users-table table{min-width:880px}.admin-users-table table th,.admin-users-table table td{text-align:center;vertical-align:middle}.admin-user-actions{display:flex;justify-content:center;gap:6px;min-width:230px}.admin-user-actions .btn{min-height:32px;padding:6px 10px;white-space:nowrap}.admin-players-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}.admin-players-title{min-width:0}.admin-players-title h3{justify-content:flex-start;margin:0}.admin-players-title .muted{margin:4px 0 0}.admin-player-add{flex-shrink:0}.admin-players-table{margin-top:14px}.admin-players-table table{min-width:1080px}.admin-players-table table th,.admin-players-table table td{text-align:center;vertical-align:middle}.admin-player-actions{display:flex;align-items:center;justify-content:center;gap:6px;min-width:220px}.admin-player-actions .btn{min-height:32px;padding:6px 10px;font-size:.82rem;white-space:nowrap}.admin-players-card>.muted,.admin-players-card>.error{text-align:center}.leaderboard-player-label{display:inline-flex;align-items:center;gap:6px}.leaderboard-card{width:min(1160px,100%);margin-inline:auto}.leaderboard-card table th,.leaderboard-card table td{text-align:center;vertical-align:middle}.leaderboard-card .leaderboard-player-label{justify-content:center;width:100%}.leaderboard-self-marker{display:inline-grid;place-items:center;min-width:20px;height:20px;padding-inline:4px;border-radius:var(--radius-sm);background:var(--success);color:#fff;font-size:.7rem;font-weight:700;line-height:1}.leaderboard-self-summary{display:flex;align-items:baseline;justify-content:center;gap:10px;width:min(1160px,100%);margin:0 auto 14px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-soft);color:var(--text-sec)}.leaderboard-self-summary strong{color:var(--text);font-size:1.05rem}.leaderboard-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(620px,100%);margin:0 auto 14px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-soft)}.leaderboard-mode-tabs button{min-width:0;padding:9px 12px;border:0;border-radius:calc(var(--radius-sm) - 1px);background:transparent;color:var(--text-sec);cursor:pointer;font:inherit;font-weight:650}.leaderboard-mode-tabs button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm)}.admin-import-card{width:min(1160px,100%);margin-inline:auto}.admin-import-card h3{justify-content:center;text-align:center}.admin-import-card>.muted{text-align:center}.admin-import-card>.btn{display:flex;width:fit-content;margin:12px auto 0!important}.admin-centered-card,.admin-announcements-card{width:min(1160px,100%);margin-inline:auto}.admin-announcements-card>h3{justify-content:center;text-align:center}.admin-announcement-form{display:flex;flex-direction:column;gap:8px}.admin-announcement-form>.btn{width:fit-content;align-self:center;margin-top:4px}.admin-announcement-list{margin-top:12px}.admin-announcement-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.admin-announcement-row>span{min-width:0;overflow-wrap:anywhere}.admin-announcement-row>.btn{flex-shrink:0}.admin-player-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;z-index:210;display:grid;place-items:center;padding:20px;background:#112038a3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-player-dialog{width:min(760px,100%);max-height:min(760px,calc(100dvh - 40px));overflow-y:auto;padding:clamp(18px,3vw,28px);border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:var(--shadow-lg)}.admin-player-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-player-dialog-heading h2{margin:0;font-size:1.15rem;letter-spacing:0}.admin-player-dialog-heading p{margin:5px 0 0;color:var(--text-sec);font-size:.88rem}.admin-player-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-player-field{display:grid;gap:6px;min-width:0}.admin-player-field>span{color:var(--text-sec);font-size:.86rem;font-weight:600}.admin-player-flags{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-soft)}.admin-player-flags label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.admin-player-flags input{width:17px;height:17px;margin:0;accent-color:var(--primary)}.admin-player-submit-error{margin:14px 0 0}.admin-player-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.admin-user-stats-dialog{width:min(660px,100%)}.admin-user-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.admin-user-stats-grid section{min-width:0;padding-top:20px;padding-right:24px}.admin-user-stats-grid section+section{padding-right:0;padding-left:24px;border-left:1px solid var(--border)}.admin-user-stats-grid h3{margin:0 0 12px;font-size:1rem}.admin-user-games-dialog{width:min(820px,100%)}.admin-user-game-tabs{width:min(360px,100%);margin:0 auto 14px}.admin-user-game-list{min-height:220px;border-top:1px solid var(--border)}.admin-user-game-item{display:grid;gap:9px;padding:14px 0;border-bottom:1px solid var(--border)}.admin-user-game-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-user-game-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;color:var(--text-sec)}.admin-user-game-details strong{color:var(--text)}.admin-user-game-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-user-game-footer time{color:var(--text-light);font-size:.84rem}.admin-user-game-footer .btn{min-height:30px;padding:5px 9px}.admin-user-game-empty{padding:34px 0;text-align:center}.admin-user-game-pagination{margin-top:16px}.admin-user-game-pagination>.btn{width:36px;height:36px;padding:0}.game-table-wrap{width:100%;min-width:0;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-soft);-webkit-overflow-scrolling:touch}.game-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:5px;font-size:.9rem}.game-table th{color:var(--text-light);font-weight:600;font-size:.85rem;padding:9px 8px;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.2;position:sticky;top:0;background:var(--card-soft);z-index:1}.game-table td{padding:13px 9px;text-align:center;border-radius:9px;background:var(--card);border:1px solid var(--border);min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.25;box-shadow:0 2px 5px #2640630a}.game-table td.name{font-weight:700}.game-table th:nth-child(1),.game-table td:nth-child(1){width:18%}.game-table th:nth-child(2),.game-table td:nth-child(2){width:14%}.game-table th:nth-child(3),.game-table td:nth-child(3){width:14%}.game-table th:nth-child(4),.game-table td:nth-child(4){width:8%}.game-table th:nth-child(5),.game-table td:nth-child(5){width:12%}.game-table th:nth-child(6),.game-table td:nth-child(6){width:12%}.game-table th:nth-child(7),.game-table td:nth-child(7){width:12%}.game-table th:nth-child(8),.game-table td:nth-child(8){width:10%}.game-table td.correct{background:var(--correct);border-color:var(--correct);color:#fff}.game-table td.close{background:var(--close);border-color:var(--close);color:#fff}.game-table td.wrong{background:var(--wrong);border-color:var(--wrong);color:#fff}.game-table td .dir{display:inline-flex;vertical-align:-2px;margin-left:3px}.game-table td.masked-cell:empty:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}@media(prefers-reduced-motion:no-preference){.game-table tr.row-latest td{animation:cell-reveal .3s ease backwards}.game-table tr.row-latest td:nth-child(2){animation-delay:.06s}.game-table tr.row-latest td:nth-child(3){animation-delay:.12s}.game-table tr.row-latest td:nth-child(4){animation-delay:.18s}.game-table tr.row-latest td:nth-child(5){animation-delay:.24s}.game-table tr.row-latest td:nth-child(6){animation-delay:.3s}.game-table tr.row-latest td:nth-child(7){animation-delay:.36s}.game-table tr.row-latest td:nth-child(8){animation-delay:.42s}.game-table tr.row-correct td.name{animation:cell-reveal .3s ease backwards,win-pulse .5s ease .55s}}@keyframes cell-reveal{0%{opacity:0;transform:translateY(4px) scale(.96)}}@keyframes win-pulse{50%{transform:scale(1.05)}}.game-empty{display:grid;justify-items:center;gap:8px;padding:48px 16px;text-align:center;color:var(--text-light)}.game-empty p{margin:0}.game-empty-title{font-weight:600;color:var(--text)}.game-empty-sub{font-size:.8rem}.game-empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}.guess-legend{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-top:14px;font-size:.8rem;color:var(--text-sec)}.guess-legend span{display:inline-flex;align-items:center;gap:6px}.guess-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;font-style:normal}.guess-legend .legend-correct{background:var(--correct)}.guess-legend .legend-close{background:var(--close)}.guess-legend .legend-wrong{background:var(--wrong)}.guess-legend .legend-arrow{display:inline-grid;place-items:center;background:transparent;color:var(--text-sec);font-weight:700}.guess-progress-dock{display:none}@media(max-width:640px){.guess-progress-dock{display:flex;justify-content:center;margin-bottom:8px}}.guess-progress{display:inline-flex;align-items:center;gap:4px}.guess-progress i{width:8px;height:8px;border:1px solid var(--border-strong);border-radius:50%;background:transparent;font-style:normal}.guess-progress i.used{border-color:var(--primary);background:var(--primary)}.room-player-row{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 0}.room-waiting-card{width:min(920px,100%);margin-inline:auto;text-align:center}.room-waiting-card .room-player-row{justify-content:center}.room-waiting-card .room-player-row>b{flex:0 1 auto;max-width:min(320px,52vw)}.room-waiting-card .room-ready-actions{justify-content:center}.room-waiting-card .room-ready-actions .btn{min-width:min(160px,100%)}.room-player-row>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-ready-actions{display:flex;gap:10px;margin-top:12px}.input-dock{position:relative;flex-shrink:0;border-top:1px solid var(--border);background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -6px 18px #2640630d;padding:12px var(--page-inline);padding-bottom:calc(12px + env(safe-area-inset-bottom))}.input-bar{display:flex;gap:10px;width:100%;min-width:0;max-width:900px;margin:0 auto}.input-bar .input{flex:1;min-width:0;font-size:1.05rem}.input-bar .btn{flex-shrink:0;white-space:nowrap}.guess-input-feedback{width:100%;max-width:900px;min-height:20px;margin:6px auto 0;color:var(--warning);font-size:.82rem;font-variant-numeric:tabular-nums;text-align:right}.autocomplete-list{position:absolute;left:clamp(16px,4vw,48px);right:clamp(16px,4vw,48px);bottom:100%;margin:0 auto 6px;max-width:900px;padding:5px;list-style:none;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 -8px 28px #1a223329;max-height:42dvh;overflow-y:auto;z-index:30}.autocomplete-list li{padding:12px 14px;border-radius:8px;cursor:pointer;font-size:1rem}.autocomplete-list li:hover,.autocomplete-list li.active{background:var(--primary-soft);color:var(--primary-hover)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;background:#11203894;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.overlay-card{background:var(--card);border:1px solid rgba(255,255,255,.55);border-radius:20px;padding:28px clamp(20px,5vw,36px);max-width:520px;width:100%;max-height:88dvh;overflow-y:auto;box-shadow:var(--shadow-lg)}.overlay-card h2{margin:0 0 6px;font-size:1.35rem;text-align:center}.overlay-card>p{text-align:center;margin:6px 0}.overlay-card .answer-name{text-align:center;font-size:1.6rem;font-weight:700;margin:10px 0 14px}.overlay-card .player-info-table{margin:0 0 4px}.overlay-card .btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}.overlay-card-win{border-top:4px solid var(--correct)}.overlay-card-win h2{color:var(--correct)}.overlay-card-lose{border-top:4px solid var(--border-strong)}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;height:100dvh;z-index:200;display:grid;place-items:center;padding:20px;background:#11203899;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.confirm-dialog{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;width:min(440px,100%);padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:var(--shadow-lg)}.confirm-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%}.confirm-dialog.warning .confirm-icon{color:var(--warning);background:#d977061f}.confirm-dialog.danger .confirm-icon{color:var(--danger);background:#dc26261f}.confirm-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.confirm-heading h2{margin:2px 0 0;font-size:1.1rem;letter-spacing:0}.confirm-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;color:var(--text-light);background:transparent;cursor:pointer}.confirm-close:hover{color:var(--text);background:var(--bg)}.confirm-content>p{margin:10px 0 20px;color:var(--text-sec);line-height:1.6}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.confirm-actions .btn{display:inline-flex;align-items:center;gap:7px}.admin-resource-card{display:grid;justify-items:center;gap:14px}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.admin-resource-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;width:100%;text-align:center}.admin-resource-heading h3,.admin-resource-heading p{margin:0}.admin-resource-heading p{margin-top:4px}.resource-version-value{max-width:100%;overflow-wrap:anywhere;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-sec)}.player-info-table{width:100%;border-collapse:collapse;font-size:1rem}.player-info-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.player-info-table td.label{color:var(--text-light);width:42%;white-space:nowrap}.player-info-table td.label svg{vertical-align:-2px;margin-right:8px}.player-info-table td.value{font-weight:600;text-align:right}.player-info-table tr:last-child td{border-bottom:none}.home-page .header-bar .title{font-size:1.28rem}.home-page .header-bar .muted,.home-page .btn{font-size:1.05rem}.home-page .btn-sm{font-size:.95rem}.home-page .page-scroll{gap:0}.home-hero{position:relative;overflow:hidden;text-align:center;padding:clamp(34px,7vh,76px) clamp(20px,5vw,56px) clamp(26px,5vh,52px);border:1px solid rgba(192,211,237,.85);border-radius:22px;background:radial-gradient(circle at 50% 0%,rgba(80,141,231,.2),transparent 52%),linear-gradient(135deg,#fffffff5,#f2f8fff0);box-shadow:var(--shadow)}.home-hero:before,.home-hero:after{position:absolute;content:"";width:180px;height:180px;border:1px solid rgba(37,111,226,.12);border-radius:50%;pointer-events:none}.home-hero:before{top:-116px;left:-68px}.home-hero:after{right:-92px;bottom:-138px}.home-hero h1{position:relative;margin:0 0 9px;font-size:clamp(2.35rem,5vw,3.35rem);line-height:1.1;letter-spacing:.08em;background:linear-gradient(120deg,#174477,#256fe2 55%,#7653d7);-webkit-background-clip:text;background-clip:text;color:transparent}.home-hero p{position:relative;margin:0;color:var(--text-sec);font-size:clamp(1rem,2vw,1.15rem)}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px 0;max-width:900px;margin:0 auto}.menu-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:166px;padding:clamp(24px,4vw,38px) 14px;background:linear-gradient(145deg,#fff,#f7faff);border:1px solid var(--border);border-radius:18px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.menu-card:hover{border-color:var(--menu-color, var(--primary));box-shadow:0 15px 30px #2640631f;transform:translateY(-3px)}.menu-card .menu-icon{width:58px;height:58px;border-radius:17px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--menu-color, var(--primary));background:linear-gradient(135deg,var(--menu-color, var(--primary)),color-mix(in srgb,var(--menu-color, var(--primary)) 78%,#ffffff));box-shadow:0 8px 16px #256fe238;box-shadow:0 8px 16px color-mix(in srgb,var(--menu-color, var(--primary)) 28%,transparent)}.menu-card .menu-label{font-weight:700;font-size:1.08rem}.bottom-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:0 0 clamp(24px,5vh,48px)}.bottom-bar .btn{flex:0 1 auto;min-height:38px;padding:8px 16px;font-size:.95rem}.btn-bilibili{background:#00aeec}.btn-bilibili:hover{background:#0096cc}.btn-github{background:#24292f}.btn-github:hover{background:#3a4149}.single-lobby-subtitle{margin:0 0 4px}.single-difficulty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,360px));justify-content:center;gap:12px;padding:18px 0}.single-difficulty-option{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 22px;align-items:center;gap:12px;min-height:92px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.single-difficulty-option:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow)}.single-difficulty-option.active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.single-difficulty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--diff-color, var(--primary)) 18%,transparent);color:var(--diff-color, var(--primary))}.single-difficulty-copy{display:grid;gap:4px;min-width:0}.single-difficulty-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.single-difficulty-copy small{color:var(--text-light)}.single-difficulty-check{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--border);border-radius:50%;color:#201118}.single-difficulty-option.active .single-difficulty-check{border-color:var(--primary);background:var(--primary)}.single-difficulty-badge{position:absolute;top:9px;right:12px;color:var(--success);font-size:.68rem;font-weight:800}.single-lobby-action{display:flex;justify-content:center;padding:14px 0 4px;border-top:1px solid var(--border)}.game-rules-trigger{position:relative;display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:8px 16px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:.92rem;font-weight:700;line-height:1.5;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}.game-rules-trigger:hover{background:color-mix(in srgb,var(--primary) 30%,transparent)}.game-rules-trigger:hover{color:var(--accent)}.game-rules-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.game-rules-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:grid;place-items:center;width:100%;height:100vh;height:100dvh;padding:20px;background:#110c14ad;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.game-rules-dialog{--rule-accent: var(--primary-strong);position:relative;display:flex;flex-direction:column;width:min(1000px,100%);max-height:calc(100dvh - 40px);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-lg)}.game-rules-dialog:before{position:absolute;top:0;left:0;z-index:1;width:100%;height:3px;content:"";background:linear-gradient(90deg,var(--primary),var(--accent),var(--warning))}.game-rules-dialog-heading{flex:0 0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:22px 26px 18px;border-bottom:1px solid var(--border)}.game-rules-heading-icon{display:grid;place-items:center;width:50px;height:50px;border:1px solid color-mix(in srgb,var(--primary) 48%,var(--border));border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--rule-accent)}.game-rules-heading-copy{min-width:0}.game-rules-kicker{display:block;margin-bottom:2px;color:var(--rule-accent);font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.14em}.game-rules-heading-copy h2{margin:0;font-size:1.4rem;line-height:1.2}.game-rules-heading-copy p{margin:5px 0 0;color:var(--text-sec);font-size:.88rem;line-height:1.55}.game-rules-dialog-body{display:grid;gap:18px;min-width:0;min-height:0;padding:22px 26px 26px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.guess-limit{display:inline-flex;align-items:baseline;gap:6px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border));border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-strong);font-size:1.05rem;white-space:nowrap}.guess-limit span{color:var(--text-sec);font-size:.72rem;font-weight:600}.rule-quick-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);background:var(--card-soft)}.rule-feedback{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:13px 14px}.rule-feedback+.rule-feedback{border-left:1px solid var(--border)}.rule-feedback div{display:grid;gap:2px;min-width:0}.rule-feedback strong{font-size:.85rem;line-height:1.35}.rule-feedback div span{color:var(--text-light);font-size:.73rem;line-height:1.35}.rule-color-swatch{width:12px;height:30px;border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff38}.rule-feedback-correct .rule-color-swatch{background:var(--correct)}.rule-feedback-close .rule-color-swatch{background:var(--close)}.rule-feedback-wrong .rule-color-swatch{background:var(--wrong)}.rule-arrow-pair{display:grid;color:var(--rule-accent)}.rule-sections{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:14px}.rule-panel{min-width:0;padding:20px;border:1px solid var(--border);background:var(--card-soft)}.rule-panel-main{grid-column:1 / -1}.rule-panel-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.rule-panel-title>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--rule-accent)}.rule-panel-title>div{display:grid}.rule-panel-title small{color:var(--text-light);font-family:Consolas,monospace;font-size:.65rem}.rule-panel-title h3{margin:0;font-size:1rem}.rule-panel>p{margin:0 0 14px;color:var(--text-sec);line-height:1.65}.rule-field-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.rule-field-grid>div{display:grid;align-content:start;gap:5px;min-width:0;padding:12px;border-left:3px solid var(--wrong);background:var(--card)}.rule-field-grid>div:nth-child(n+2){border-left-color:var(--close)}.rule-field-grid strong{font-size:.82rem}.rule-field-grid span{color:var(--text-light);font-size:.76rem;line-height:1.5}.rule-result-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.rule-result-notes p{display:flex;align-items:center;min-width:0;margin:0;padding:10px 12px;background:var(--card);color:var(--text-sec);font-size:.82rem}.rule-result-notes strong{color:var(--text)}.rule-result-icon{display:inline-grid;place-items:center;flex:0 0 26px;width:26px;height:26px;margin-right:8px;border-radius:50%;font-size:.72rem;font-weight:800}.rule-result-win{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.rule-result-loss{background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}.rule-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.rule-list li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;color:var(--text-sec);font-size:.84rem;line-height:1.6}.rule-list li>svg{margin-top:4px;color:var(--accent)}.rule-list strong{color:var(--text)}.rule-list-number{display:inline-grid;place-items:center;width:28px;height:24px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning);font-family:Consolas,monospace;font-size:.72rem;font-weight:800}.region-list{display:grid;gap:1px;background:var(--border)}.region-item{display:grid;grid-template-columns:minmax(104px,.42fr) minmax(0,1.58fr);gap:12px;padding:9px 11px;background:var(--card);font-size:.76rem;line-height:1.45}.region-item strong{color:var(--rule-accent)}.region-item span{color:var(--text-light)}.lobby-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);grid-template-areas:"create match" "create join";gap:16px;max-width:980px;margin:0 auto}.lobby-grid>:nth-child(1){grid-area:create}.lobby-grid>:nth-child(2){grid-area:match}.lobby-grid>:nth-child(3){grid-area:join}.presence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.presence-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#fff,#f7faff);box-shadow:var(--shadow);color:var(--text-sec)}.presence-item svg{color:var(--primary)}.presence-item strong{color:var(--text);font-size:1.35rem}.option-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.opt-label{font-size:.9rem;color:var(--text-sec);min-width:88px;font-weight:600}.opt-btn{min-height:38px;padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--card-soft);color:var(--text-sec);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .16s ease}.opt-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600;box-shadow:0 5px 12px #256fe233}.spectator-option{display:inline-flex;align-items:center;gap:9px;min-height:36px;margin:8px 0 0 92px;color:var(--text-sec);font-size:.92rem;cursor:pointer}.spectator-option input{width:17px;height:17px;margin:0;accent-color:var(--primary);cursor:pointer}.room-code-display{font-family:Consolas,JetBrains Mono,monospace;font-size:clamp(2rem,6vw,2.8rem);font-weight:700;letter-spacing:.26em;padding:18px 16px 18px .26em;margin:12px 0;background:var(--card-soft);border-radius:var(--radius);border:1px dashed var(--border-strong);-webkit-user-select:all;user-select:all}.multi-lobby-message-card,.multi-lobby-created-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(760px,100%);margin-inline:auto;text-align:center}.multi-lobby-message-card h3,.multi-lobby-created-card h3{justify-content:center}.multi-lobby-message-card p,.multi-lobby-created-card p{max-width:640px}.multi-lobby-message-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.match-over-extra{display:grid;gap:6px}.match-over-extra p{margin:0;text-align:center}.match-found-dialog{display:grid;justify-items:center;gap:7px;align-content:center;text-align:center}.match-found-dialog h2,.match-found-dialog p{margin:0}.match-found-countdown{margin-top:4px!important;color:var(--primary);font-family:Consolas,monospace;font-size:2.8rem;font-weight:800;line-height:1}.multi-lobby-created-meta{margin:10px 0}.join-room-form{display:grid;grid-template-columns:minmax(0,180px) auto auto;gap:10px;align-items:center}.join-room-form .input{max-width:none!important}.room-actions{display:flex;align-items:center;gap:8px;min-width:0}.room-code-wrap{position:relative;display:inline-flex}.room-code-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:60;display:none;padding:10px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--card);box-shadow:var(--shadow-lg);font-family:Consolas,JetBrains Mono,monospace;font-size:1.25rem;font-weight:700;letter-spacing:.2em;white-space:nowrap;-webkit-user-select:all;user-select:all}@media(max-width:520px){.room-code-pop{display:block}}.room-code-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:106px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text-sec);font:inherit;font-size:.85rem;cursor:pointer}.room-code-toggle:hover{border-color:var(--primary);color:var(--primary)}.room-code-toggle span{width:54px;overflow:hidden;font-family:Consolas,JetBrains Mono,monospace;font-weight:700;letter-spacing:1px;white-space:nowrap}.spinner{width:32px;height:32px;margin:0 auto;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.score-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(14px,4vw,40px);width:min(920px,100%);margin-inline:auto;min-height:78px;padding:14px;font-size:1.1rem}.score-bar .player-name{display:flex;align-items:center;gap:6px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-bar .player-id-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-stats-trigger{display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--primary);cursor:pointer;transition:background .16s ease,color .16s ease}.player-stats-trigger:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-strong)}.player-stats-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.player-stats-trigger:disabled{cursor:default;opacity:.58}.player-stats-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.player-stats-dialog{width:min(620px,100%)}.player-stats-backdrop{z-index:230}.player-stats-dialog-body{padding:0}.player-stats-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0}.player-stats-body section{min-width:0;padding:24px}.player-stats-body section+section{border-left:1px solid var(--border)}.player-stats-body h3{margin:0 0 14px;font-size:1rem}.player-stats-list{display:grid;gap:0;margin:0}.player-stats-list div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--border)}.player-stats-list div:last-child{border-bottom:0}.player-stats-list dt{color:var(--text-sec)}.player-stats-list dd{margin:0;font-weight:700;text-align:right}.score-bar-player-left{justify-content:flex-end;text-align:right}.score-bar-player-right{justify-content:flex-start;text-align:left}.score-bar .score{font-size:2rem;font-weight:700;font-family:Consolas,monospace;flex-shrink:0}.countdown{display:inline-flex;align-items:center;gap:5px;font-family:Consolas,monospace;font-weight:700;font-size:1rem}.countdown.urgent{color:var(--danger)}.boards{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;min-width:0}.boards>*{min-width:0;max-width:100%}@media(min-width:900px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-card{min-height:184px}}@media(max-width:960px){.boards{grid-template-columns:1fr}.boards .player-board-opponent{order:1}.boards .player-board-self{order:2}.lobby-grid{grid-template-columns:1fr;grid-template-areas:none;max-width:760px}.lobby-grid>:nth-child(1),.lobby-grid>:nth-child(2),.lobby-grid>:nth-child(3){grid-area:auto}}@media(max-width:760px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-grid .menu-card:last-child{grid-column:1 / -1;width:calc(50% - 6px);justify-self:center}.presence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-overview-grid{grid-template-columns:1fr}.admin-players-header{align-items:stretch;flex-direction:column}.admin-player-add{width:100%}.admin-list-toolbar{grid-template-columns:1fr;align-items:stretch}.admin-page-size{justify-content:space-between}.admin-pagination{flex-direction:column}.admin-pagination-actions{width:min(280px,100%);justify-content:space-between}}@media(max-width:640px){:root{--page-inline: 14px}.player-stats-body{grid-template-columns:1fr}.player-stats-body section{padding:20px 18px}.player-stats-body section+section{border-top:1px solid var(--border);border-left:0}.page-scroll{padding-block:16px 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));gap:14px}.header-bar{gap:8px;padding-block:12px;padding-top:calc(12px + env(safe-area-inset-top))}.header-bar .title{max-width:50vw;gap:7px;font-size:1.05rem}.header-bar .btns{gap:6px}.header-bar .btns .btn{min-width:36px;padding-inline:9px}.header-bar .btns .theme-toggle{width:36px;padding-inline:0;flex:0 0 36px}.header-bar .btns .language-select{flex-basis:36px;width:36px}.header-bar .btns .language-select-button{padding-inline:0}.header-bar .btns .language-current,.header-bar .btns .language-chevron,.header-bar .btns .btn-text,.home-page .header-bar .muted{display:none}.status-bar{padding-block:9px;font-size:.87rem;line-height:1.45}.game-page.keyboard-active .header-bar,.game-page.keyboard-active .status-bar{display:none}.game-page.keyboard-active .page-scroll{gap:8px;padding-block:8px;scroll-padding-block:8px}.game-page.keyboard-active .score-bar{min-height:50px;padding-block:6px}.card{padding:16px;border-radius:13px}.single-lobby-action{align-items:stretch;flex-direction:column}.single-lobby-action .btn{width:100%}.difficulty-multi-select{min-width:0;width:100%}.card h3{margin-bottom:10px}.btn{min-height:40px;padding:9px 14px}.btn-lg{min-height:44px;padding:11px 19px}.input,select.input,textarea.input{min-height:42px;padding:10px 12px}.leaderboard-card{overflow-x:hidden;padding-inline:8px}.leaderboard-card>div{overflow-x:visible}.leaderboard-card table{width:100%;min-width:0;table-layout:fixed;font-size:.66rem}.leaderboard-card table thead{display:table-header-group}.leaderboard-card table tbody{display:table-row-group}.leaderboard-card table tr{display:table-row}.leaderboard-card table th,.leaderboard-card table td,.leaderboard-card table td:first-child{position:static;display:table-cell;padding:7px 1px;background:var(--card);box-shadow:none;text-align:center;white-space:nowrap;overflow:hidden}.leaderboard-card table th{padding-block:7px;font-size:.55rem;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.leaderboard-card table th:nth-child(1){width:7%}.leaderboard-card table th:nth-child(2){width:31%}.leaderboard-card table th:nth-child(3){width:14%}.leaderboard-card table th:nth-child(4){width:14%}.leaderboard-card table th:nth-child(5){width:16%}.leaderboard-card table th:nth-child(6){width:18%}.leaderboard-card-multi table th:nth-child(1){width:8%}.leaderboard-card-multi table th:nth-child(2){width:36%}.leaderboard-card-multi table th:nth-child(3){width:18%}.leaderboard-card-multi table th:nth-child(4){width:18%}.leaderboard-card-multi table th:nth-child(5){width:20%}.leaderboard-card .leaderboard-player-label{gap:2px;flex-wrap:nowrap;justify-content:center;width:100%}.leaderboard-card .leaderboard-self-marker{min-width:14px;height:14px;padding-inline:2px;font-size:.52rem}.leaderboard-self-summary{flex-wrap:wrap}.leaderboard-mode-tabs button{padding-inline:5px;font-size:.75rem}.home-hero{padding:34px 18px 28px;border-radius:18px}.home-hero h1{font-size:2.35rem}.menu-grid{gap:12px;padding-block:18px}.menu-card{min-height:136px;gap:10px;padding:20px 10px;border-radius:15px}.menu-card .menu-icon{width:48px;height:48px;border-radius:14px}.menu-card .menu-label{font-size:.98rem}.bottom-bar{gap:8px}.bottom-bar .btn{min-width:0;padding-inline:12px;font-size:.88rem}.game-rules-backdrop{padding:10px}.game-rules-dialog{max-height:calc(100dvh - 20px)}.game-rules-dialog-heading{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:18px 14px 14px}.game-rules-heading-icon{display:none}.game-rules-heading-copy p{font-size:.8rem}.game-rules-dialog-heading .guess-limit{grid-column:1 / -1;grid-row:2;justify-self:start;padding:6px 10px;font-size:.92rem}.game-rules-dialog-heading .confirm-close{grid-column:2;grid-row:1;align-self:start}.game-rules-dialog-body{gap:14px;padding:14px}.rule-quick-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-feedback+.rule-feedback{border-left:0}.rule-feedback:nth-child(2n){border-left:1px solid var(--border)}.rule-feedback:nth-child(n+3){border-top:1px solid var(--border)}.rule-sections{grid-template-columns:1fr}.rule-panel-main{grid-column:auto}.rule-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-result-notes{grid-template-columns:1fr}.game-table-wrap{overflow-x:hidden;border-radius:10px}.game-table{min-width:0;table-layout:fixed;border-spacing:2px;font-size:.64rem}.game-table thead{display:table-header-group}.game-table tbody{display:table-row-group}.game-table tr{display:table-row}.game-table th{padding:5px 1px;font-size:.56rem;line-height:1.12;position:static}.game-table td{display:table-cell;min-width:0;padding:6px 2px;border-radius:4px;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.15;vertical-align:middle}.game-table td:before{content:none}.game-table td .dir{margin-left:1px}.game-table td .dir svg{width:9px;height:9px}.boards .card{padding:8px}.input-dock{padding-block:10px}.input-bar{gap:8px}.input-bar .input{min-width:0;font-size:1rem}.input-bar .btn{padding-inline:12px}.autocomplete-list{left:14px;right:14px;max-height:48dvh}.option-row{gap:7px;margin-block:12px}.opt-label{min-width:100%}.opt-btn{min-height:36px;padding-inline:14px}.spectator-option{margin-left:0}.join-room-form{grid-template-columns:1fr 1fr}.join-room-form .input{grid-column:1 / -1}.join-room-form .btn{width:100%}.room-code-display{font-size:clamp(1.7rem,11vw,2.35rem);letter-spacing:.18em;padding-left:.18em}.room-actions{gap:6px}.room-actions .btn,.room-actions .room-code-toggle{flex:0 0 auto}.room-code-toggle{width:86px;padding:0 6px}.room-code-toggle span{width:42px}.score-bar{gap:10px;min-height:68px;padding:10px}.score-bar .score{font-size:1.55rem}.score-bar .player-name{font-size:.9rem}.status-bar>span{min-width:0;overflow-wrap:anywhere}.presence-grid{grid-template-columns:1fr;gap:10px}.presence-item{min-height:58px;padding:10px 14px}.presence-item strong{font-size:1.2rem}.stats-recent-card{padding-inline:14px}.stats-replay-desktop-list{display:none}.stats-replay-mobile-list{display:grid;min-width:0}.stats-replay-mobile-item{display:grid;min-width:0;gap:10px;padding:14px 0;border-bottom:1px solid var(--border)}.stats-replay-mobile-item:first-child{padding-top:2px}.stats-replay-mobile-item:last-child{padding-bottom:2px;border-bottom:0}.stats-replay-mobile-heading,.stats-replay-mobile-footer{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:12px}.stats-replay-mobile-heading strong{min-width:0;overflow-wrap:anywhere}.stats-replay-mobile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;color:var(--text-sec);font-size:.88rem}.stats-replay-mobile-details span{min-width:0;overflow-wrap:anywhere}.stats-replay-mobile-footer time{min-width:0;color:var(--text-light);font-size:.8rem;overflow-wrap:anywhere}.stats-replay-button{min-width:64px;padding-inline:8px}.stats-replay-toolbar{align-items:stretch;flex-direction:column}.stats-replay-segments{width:100%}.replay-sides{grid-template-columns:1fr;gap:20px}.overlay,.confirm-backdrop,.replay-backdrop,.admin-player-backdrop{padding:10px}.overlay-card{max-height:calc(100dvh - 20px);padding:22px 16px;border-radius:18px}.confirm-dialog{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:18px 16px;border-radius:16px}.confirm-icon{width:36px;height:36px}.replay-dialog{max-height:calc(100dvh - 20px);padding:0;border-radius:16px}.replay-heading,.replay-dialog-body{padding:18px 14px}.replay-heading{padding-bottom:14px}.admin-player-dialog{max-height:calc(100dvh - 20px);padding:18px 14px;border-radius:16px}.replay-answer{padding:12px}.admin-player-form-grid{grid-template-columns:1fr;gap:12px}.admin-player-dialog-actions .btn{flex:1}.admin-user-stats-grid{grid-template-columns:1fr}.admin-user-stats-grid section{padding:20px 0 0}.admin-user-stats-grid section+section{margin-top:20px;padding-left:0;border-top:1px solid var(--border);border-left:0}.admin-user-game-details{grid-template-columns:1fr}.admin-user-game-footer{align-items:flex-end;flex-direction:column}.admin-user-actions{flex-wrap:wrap;min-width:180px}.admin-announcement-row{align-items:flex-start;flex-direction:column}.admin-announcement-row>.btn{align-self:flex-end}.overlay-card .btns,.confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.overlay-card .btns .btn,.confirm-actions .btn{width:100%}.room-player-row{flex-wrap:wrap}.room-player-row>b{flex:1 1 140px}.room-ready-actions .btn{flex:1}.room-waiting-card .room-player-row>b{flex:0 1 auto}.room-waiting-card .room-ready-actions .btn{flex:0 0 auto;min-width:0;min-height:36px;padding:8px 14px;font-size:.88rem}.multi-lobby-message-actions{width:100%}.multi-lobby-message-actions .btn{flex:1 1 180px}}@media(max-width:520px){.menu-grid{grid-template-columns:1fr}.menu-grid .menu-card:last-child{grid-column:auto;width:100%}.menu-card{min-height:112px;flex-direction:row;align-items:center;padding:18px}.menu-copy{min-width:0;text-align:left}.menu-description{display:block}.rule-quick-guide{grid-template-columns:1fr}.rule-feedback:nth-child(2n){border-left:0}.rule-feedback:nth-child(n+2){border-top:1px solid var(--border)}.rule-field-grid{grid-template-columns:1fr}.region-item{grid-template-columns:1fr;gap:3px}.room-code-toggle{width:40px;padding-inline:0}.room-code-toggle span{display:none}.score-bar{gap:7px}.score-bar .player-name{font-size:.82rem}.score-bar .score{font-size:1.35rem}}@media(max-width:400px){:root{--page-inline: 10px}.header-bar .title{max-width:calc(100vw - 120px)}.bottom-bar .btn{font-size:.88rem}.menu-card{min-height:102px}.input-bar .btn{padding-inline:10px}.join-room-form .btn{padding-inline:8px}.score-bar .player-name svg{display:none}.game-table{border-spacing:1px;font-size:.58rem}.game-table th{padding:4px 0;font-size:.5rem}.game-table td{padding:5px 1px}.game-table td .dir svg{width:8px;height:8px}.overlay-card .btns,.confirm-actions{grid-template-columns:1fr}.room-ready-actions{flex-direction:column}.room-waiting-card .room-ready-actions{flex-direction:row;flex-wrap:wrap;justify-content:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html:not([data-theme=blast]) body{position:relative}html:not([data-theme=blast]) body:before{position:fixed;top:-25vmax;right:-25vmax;bottom:-25vmax;left:-25vmax;z-index:0;content:"";pointer-events:none;background:radial-gradient(circle at 26% 30%,rgba(201,234,22,.1),transparent 18%),radial-gradient(circle at 74% 64%,rgba(106,72,215,.06),transparent 22%);filter:blur(20px);animation:day-ambient-drift 22s ease-in-out infinite alternate;will-change:transform}html:not([data-theme=blast]) #root{position:relative;z-index:1;isolation:isolate}@keyframes day-ambient-drift{0%{transform:translate3d(-2%,-1%,0) rotate(-2deg) scale(1)}to{transform:translate3d(3%,2%,0) rotate(2deg) scale(1.06)}}@keyframes day-surface-enter{0%{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes day-beam-pulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes day-urgent-pulse{0%,to{opacity:1}50%{opacity:.62}}html:not([data-theme=blast]) *{scrollbar-color:rgba(32,17,24,.26) rgba(32,17,24,.05);scrollbar-width:thin}html:not([data-theme=blast]) *::-webkit-scrollbar{width:8px;height:8px}html:not([data-theme=blast]) *::-webkit-scrollbar-track{background:#2011180d}html:not([data-theme=blast]) *::-webkit-scrollbar-thumb{background:#2011183d;border-radius:0}html:not([data-theme=blast]) a:not([class]){color:var(--accent)}html:not([data-theme=blast]) .page-scroll{background:linear-gradient(90deg,rgba(32,17,24,.02) 1px,transparent 1px) 0 0 / 72px 72px,linear-gradient(rgba(32,17,24,.016) 1px,transparent 1px) 0 0 / 72px 72px}html:not([data-theme=blast]) .page-scroll>*{animation:day-surface-enter .52s cubic-bezier(.2,.72,.25,1) both}html:not([data-theme=blast]) .page-scroll>:nth-child(2){animation-delay:55ms}html:not([data-theme=blast]) .page-scroll>:nth-child(3){animation-delay:.1s}html:not([data-theme=blast]) .page-scroll>:nth-child(4){animation-delay:145ms}html:not([data-theme=blast]) .header-bar{position:relative;background:#ffffffe6;border-bottom-color:#2011181f;box-shadow:0 10px 30px #2011180f}html:not([data-theme=blast]) .header-bar:after{position:absolute;right:var(--page-inline);bottom:-1px;width:clamp(48px,9vw,120px);height:3px;content:"";background:var(--primary);box-shadow:0 2px 10px #8ca80073;animation:day-beam-pulse 2.8s ease-in-out infinite}html:not([data-theme=blast]) .header-bar .title{color:var(--text);font-family:Bahnschrift,Arial Narrow,Microsoft YaHei,sans-serif;font-style:italic;font-weight:800;letter-spacing:.045em;text-transform:uppercase}html:not([data-theme=blast]) .header-bar .title:before{content:"//";color:var(--primary-strong);font-style:normal;letter-spacing:-.18em;margin-right:4px}html:not([data-theme=blast]) .status-bar{background:#ffffffc7;border-bottom-color:#2011181a;color:var(--text-sec)}html:not([data-theme=blast]) .status-bar>svg{color:var(--primary-strong)}html:not([data-theme=blast]) .btn{position:relative;overflow:hidden;border-color:transparent;border-radius:2px;background:var(--primary);color:var(--text);font-family:Bahnschrift,Arial Narrow,Microsoft YaHei,sans-serif;font-weight:750;letter-spacing:.035em;text-transform:uppercase;box-shadow:0 6px 16px #8ca80047;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}html:not([data-theme=blast]) .btn:after{position:absolute;inset:-40% auto -40% -65%;width:42%;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-18deg);transition:left .5s cubic-bezier(.2,.7,.2,1)}html:not([data-theme=blast]) .btn:hover:not(:disabled){background:var(--primary-hover);color:#181009;box-shadow:0 10px 22px #8ca8005c}html:not([data-theme=blast]) .btn:hover:not(:disabled):after,html:not([data-theme=blast]) .btn:focus-visible:after{left:125%}html:not([data-theme=blast]) .btn-ghost{border-color:#20111833;background:#ffffffd1;color:var(--text-sec);box-shadow:none}html:not([data-theme=blast]) .btn-ghost:hover:not(:disabled){border-color:var(--primary-strong);background:var(--primary-soft);color:var(--primary-strong)}html:not([data-theme=blast]) .btn-success,html:not([data-theme=blast]) .btn-green{background:var(--success);color:#fff}html:not([data-theme=blast]) .btn-success:hover:not(:disabled),html:not([data-theme=blast]) .btn-green:hover:not(:disabled){background:#0a6b41;color:#fff}html:not([data-theme=blast]) .btn-warning{background:var(--warning);color:#fff}html:not([data-theme=blast]) .btn-warning:hover:not(:disabled){background:#965200;color:#fff}html:not([data-theme=blast]) .btn-danger,html:not([data-theme=blast]) .btn-red{background:var(--danger);color:#fff}html:not([data-theme=blast]) .btn-danger:hover:not(:disabled),html:not([data-theme=blast]) .btn-red:hover:not(:disabled){background:#b02a3c;color:#fff}html:not([data-theme=blast]) .btn-accent{background:var(--accent);color:#fff}html:not([data-theme=blast]) .btn-accent:hover:not(:disabled){background:#5a39c2;color:#fff}html:not([data-theme=blast]) .btn-bilibili{background:#00aeec;color:#fff}html:not([data-theme=blast]) .btn-bilibili:hover:not(:disabled){background:#0096cc;color:#fff}html:not([data-theme=blast]) .btn-github{background:#24292f;color:#fff}html:not([data-theme=blast]) .btn-github:hover:not(:disabled){background:#3a4149;color:#fff}html:not([data-theme=blast]) .btn:focus-visible,html:not([data-theme=blast]) .input:focus-visible,html:not([data-theme=blast]) .opt-btn:focus-visible,html:not([data-theme=blast]) .room-code-toggle:focus-visible,html:not([data-theme=blast]) .menu-card:focus-visible,html:not([data-theme=blast]) .confirm-close:focus-visible{outline-color:#5668008c}html:not([data-theme=blast]) .card{position:relative;border-color:#2011181f;border-radius:4px;background:linear-gradient(160deg,#fff,#fdfbf7);box-shadow:var(--shadow);transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}html:not([data-theme=blast]) .card:before{position:absolute;top:-1px;left:18px;width:56px;height:3px;content:"";background:var(--primary);box-shadow:0 2px 8px #8ca80059}html:not([data-theme=blast]) .card h3{color:var(--text);font-family:Bahnschrift,Arial Narrow,Microsoft YaHei,sans-serif;font-weight:750;letter-spacing:.025em}html:not([data-theme=blast]) .input,html:not([data-theme=blast]) select.input,html:not([data-theme=blast]) textarea.input{border-color:#20111833;border-radius:2px;background:var(--input-bg);color:var(--text);caret-color:var(--primary-strong)}html:not([data-theme=blast]) .input::placeholder,html:not([data-theme=blast]) textarea.input::placeholder{color:#a2949c}html:not([data-theme=blast]) .input:hover:not(:disabled){border-color:#20111861}html:not([data-theme=blast]) .input:focus{border-color:#8fa800;box-shadow:0 0 0 3px #b7d80038}html:not([data-theme=blast]) .game-table-wrap{border-color:#2011181f;border-radius:2px;background:var(--card-soft)}html:not([data-theme=blast]) .game-table th{color:var(--primary-strong);font-weight:700;letter-spacing:.05em;background:var(--card-soft)}html:not([data-theme=blast]) .game-table td:not(.correct):not(.close):not(.wrong){border-color:#2011181a;border-radius:2px;background:#fff;box-shadow:0 1px 3px #2011180d}html:not([data-theme=blast]) .game-table tbody tr{animation:day-surface-enter .38s cubic-bezier(.2,.72,.25,1) both}html:not([data-theme=blast]) .game-table tbody tr:nth-child(2){animation-delay:45ms}html:not([data-theme=blast]) .game-table tbody tr:nth-child(3){animation-delay:90ms}html:not([data-theme=blast]) .game-table tbody tr:nth-child(4){animation-delay:135ms}html:not([data-theme=blast]) .game-table td.correct,html:not([data-theme=blast]) .game-table td.close{transition:filter .2s ease,transform .2s ease}html:not([data-theme=blast]) .stats-summary-table td:last-child{color:var(--primary-strong)}html:not([data-theme=blast]) .input-dock{border-top-color:#2011181f;background:#fffffff0;box-shadow:0 -10px 28px #20111812}html:not([data-theme=blast]) .autocomplete-list{border-color:#20111829;border-radius:3px;background:#fff;box-shadow:0 -14px 34px #20111829}html:not([data-theme=blast]) .autocomplete-list li{border-radius:2px}html:not([data-theme=blast]) .autocomplete-list li:hover,html:not([data-theme=blast]) .autocomplete-list li.active{background:var(--primary-soft);color:var(--text)}html:not([data-theme=blast]) .overlay,html:not([data-theme=blast]) .confirm-backdrop,html:not([data-theme=blast]) .replay-backdrop,html:not([data-theme=blast]) .admin-player-backdrop{background:#2011186b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:day-backdrop-enter .22s ease-out both}html:not([data-theme=blast]) .overlay-card,html:not([data-theme=blast]) .confirm-dialog,html:not([data-theme=blast]) .replay-dialog,html:not([data-theme=blast]) .admin-player-dialog{border-color:#20111824;border-radius:4px;background:linear-gradient(160deg,#fff,#fbf8f3);color:var(--text);box-shadow:var(--shadow-lg);animation:day-dialog-enter .32s cubic-bezier(.18,.78,.24,1) both}@keyframes day-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes day-dialog-enter{0%{opacity:0;transform:translate3d(0,18px,0) scale(.97)}to{opacity:1;transform:translateZ(0) scale(1)}}html:not([data-theme=blast]) .overlay-card h2,html:not([data-theme=blast]) .confirm-heading h2,html:not([data-theme=blast]) .replay-heading h2,html:not([data-theme=blast]) .admin-player-dialog-heading h2{color:var(--text);font-family:Bahnschrift,Arial Narrow,Microsoft YaHei,sans-serif;font-style:italic;font-weight:800;letter-spacing:.03em}html:not([data-theme=blast]) .replay-answer,html:not([data-theme=blast]) .admin-player-flags{border-color:#2011181f;background:var(--card-soft)}html:not([data-theme=blast]) .home-page .page-scroll{padding-top:clamp(22px,4vw,44px)}html:not([data-theme=blast]) .home-hero{min-height:clamp(300px,44vh,440px);display:flex;flex-direction:column;align-items:center;justify-content:center;border-color:#20111824;border-radius:3px;background:radial-gradient(circle at 74% 40%,rgba(201,234,22,.16),transparent 26rem),radial-gradient(circle at 12% 88%,rgba(106,72,215,.07),transparent 22rem),repeating-linear-gradient(125deg,transparent 0 46px,rgba(32,17,24,.024) 46px 47px),linear-gradient(165deg,#fff,#f7f3ec);box-shadow:0 24px 60px #2011181f;clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,34px 100%,0 calc(100% - 34px))}html:not([data-theme=blast]) .home-hero:before{top:-150px;right:-90px;left:auto;bottom:auto;width:310px;height:310px;border:1px solid rgba(86,104,0,.22);border-radius:0;transform:rotate(45deg);animation:day-hero-orbit 16s linear infinite}html:not([data-theme=blast]) .home-hero:after{top:auto;right:-30px;bottom:32px;width:180px;height:8px;border:0;border-radius:0;background:var(--primary);box-shadow:0 4px 16px #8ca80066;transform:skew(-28deg);animation:day-hero-beam 4.8s ease-in-out infinite}@keyframes day-hero-orbit{0%{transform:rotate(45deg)}to{transform:rotate(405deg)}}@keyframes day-hero-beam{0%,to{opacity:.5;translate:12% 0}50%{opacity:1;translate:-26% 0}}html:not([data-theme=blast]) .hero-kicker{position:relative;margin-bottom:14px;padding:5px 10px;border-left:3px solid var(--primary);color:var(--primary-strong);font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;animation:day-kicker-enter .55s .08s cubic-bezier(.2,.72,.25,1) both}html:not([data-theme=blast]) .home-hero h1{position:relative;margin:0 0 12px;background:none;color:var(--text);font-family:Impact,Bahnschrift,Arial Narrow,Microsoft YaHei,sans-serif;font-size:clamp(3.4rem,7.5vw,5.8rem);font-style:italic;font-weight:900;line-height:.92;letter-spacing:.06em;text-shadow:5px 5px 0 var(--primary);transform:skew(-4deg);animation:day-title-enter .62s .12s cubic-bezier(.18,.8,.24,1) both}@keyframes day-kicker-enter{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes day-title-enter{0%{opacity:0;transform:translate3d(0,20px,0) skew(-8deg);letter-spacing:.14em}to{opacity:1;transform:translateZ(0) skew(-4deg);letter-spacing:.06em}}html:not([data-theme=blast]) .home-hero .hero-subtitle{position:relative;color:var(--text-sec);font-weight:650;letter-spacing:.035em}html:not([data-theme=blast]) .home-hero .muted{position:relative}html:not([data-theme=blast]) .menu-grid{gap:14px;max-width:1100px}html:not([data-theme=blast]) .menu-card{position:relative;align-items:flex-start;justify-content:flex-start;min-height:205px;padding:clamp(20px,2.5vw,26px) 20px;overflow:hidden;border-color:#20111821;border-radius:0;background:linear-gradient(160deg,#fff,#fcfaf5);color:var(--text);box-shadow:0 14px 30px #20111817;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px))}html:not([data-theme=blast]) .menu-card:before{position:absolute;top:0;left:0;width:100%;height:3px;content:"";background:var(--menu-color, var(--primary));box-shadow:0 2px 10px color-mix(in srgb,var(--menu-color, var(--primary)) 30%,transparent)}html:not([data-theme=blast]) .menu-card:after{position:absolute;inset:-60% auto -60% -65%;width:34%;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--menu-color, var(--primary)) 14%,transparent),transparent);transform:skew(-18deg);transition:left .62s cubic-bezier(.2,.72,.25,1)}html:not([data-theme=blast]) .menu-card:hover{border-color:color-mix(in srgb,var(--menu-color, var(--primary)) 55%,#ffffff);background:#fff;box-shadow:0 20px 42px #20111824;transform:translateY(-4px)}html:not([data-theme=blast]) .menu-card:hover:after,html:not([data-theme=blast]) .menu-card:focus-visible:after{left:135%}html:not([data-theme=blast]) .menu-card .menu-icon{width:54px;height:54px;border:1px solid color-mix(in srgb,var(--menu-color, var(--primary)) 52%,#ffffff);border-radius:2px;background:color-mix(in srgb,var(--menu-color, var(--primary)) 14%,#ffffff);color:color-mix(in srgb,var(--menu-color, var(--primary)) 70%,var(--text));box-shadow:none;transform:skew(-4deg);transition:transform .28s ease,box-shadow .28s ease,background .28s ease}html:not([data-theme=blast]) .menu-copy{display:grid;gap:5px}html:not([data-theme=blast]) .menu-card .menu-label{color:var(--text);font-family:Bahnschrift,Arial Narrow,Microsoft YaHei,sans-serif;font-size:1.2rem;font-style:italic;font-weight:800;letter-spacing:.04em}html:not([data-theme=blast]) .menu-description{color:var(--text-sec);font-size:.83rem;line-height:1.45}html:not([data-theme=blast]) .menu-arrow{position:absolute;right:18px;bottom:17px;color:color-mix(in srgb,var(--menu-color, var(--primary)) 70%,var(--text));transition:transform .24s ease}html:not([data-theme=blast]) .bottom-bar .btn{min-height:38px}html:not([data-theme=blast]) .presence-item{border-color:#2011181f;border-radius:3px;background:linear-gradient(160deg,#fff,#fbf8f2);box-shadow:var(--shadow);transition:border-color .22s ease,transform .22s ease,box-shadow .22s ease}html:not([data-theme=blast]) .presence-item svg{color:var(--primary-strong)}html:not([data-theme=blast]) .opt-btn{border-color:#2011182e;border-radius:2px;background:#fff;color:var(--text-sec);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px))}html:not([data-theme=blast]) .opt-btn:hover{border-color:var(--primary-strong);color:var(--primary-strong)}html:not([data-theme=blast]) .opt-btn.active{border-color:var(--primary);background:var(--primary);color:var(--text);box-shadow:0 6px 16px #8ca80040}html:not([data-theme=blast]) .spectator-option input{accent-color:var(--primary-strong)}html:not([data-theme=blast]) .room-code-display{border:1px dashed rgba(86,104,0,.5);border-radius:3px;background:#fff;color:var(--text)}html:not([data-theme=blast]) .room-code-toggle{border-color:#2011182e;border-radius:2px;background:#fff;color:var(--text-sec)}html:not([data-theme=blast]) .room-code-toggle:hover{border-color:var(--primary-strong);color:var(--primary-strong)}html:not([data-theme=blast]) .score-bar{border-color:#20111821;background:linear-gradient(90deg,rgba(201,234,22,.12),transparent 30%,transparent 70%,rgba(201,234,22,.12)),#fff;overflow:hidden}html:not([data-theme=blast]) .score-bar .score{color:var(--text);font-family:Bahnschrift,Consolas,monospace}html:not([data-theme=blast]) .countdown{color:var(--primary-strong)}html:not([data-theme=blast]) .countdown.urgent{color:var(--danger);animation:day-urgent-pulse .9s ease-in-out infinite}html:not([data-theme=blast]) .spinner{border-color:#20111824;border-top-color:var(--primary-strong)}html:not([data-theme=blast]) .stats-replay-segments{border-color:#20111824;border-radius:3px;background:var(--card-soft)}html:not([data-theme=blast]) .stats-replay-segments button{border-radius:2px}html:not([data-theme=blast]) .stats-replay-segments button.active{background:#fff;color:var(--primary-strong);box-shadow:var(--shadow-sm)}html:not([data-theme=blast]) .resource-version-value{border-radius:2px;background:var(--card-soft)}@media(hover:hover)and (pointer:fine){html:not([data-theme=blast]) .card:hover{border-color:#20111833;box-shadow:0 18px 44px #20111821}html:not([data-theme=blast]) .menu-card:hover .menu-icon{background:color-mix(in srgb,var(--menu-color, var(--primary)) 22%,#ffffff);box-shadow:0 8px 18px color-mix(in srgb,var(--menu-color, var(--primary)) 26%,transparent);transform:translateY(-3px) skew(-4deg) rotate(-2deg)}html:not([data-theme=blast]) .menu-card:hover .menu-arrow{transform:translate3d(3px,-3px,0)}html:not([data-theme=blast]) .presence-item:hover{border-color:#56680066;box-shadow:0 16px 34px #20111821;transform:translateY(-2px)}html:not([data-theme=blast]) .game-table td.correct:hover,html:not([data-theme=blast]) .game-table td.close:hover{filter:brightness(1.06);transform:translateY(-1px)}}@media(max-width:640px){html:not([data-theme=blast]) .header-bar:after{right:14px;width:44px}html:not([data-theme=blast]) .header-bar .title:before{margin-right:2px}html:not([data-theme=blast]) .home-page .page-scroll{padding-top:14px}html:not([data-theme=blast]) .home-hero{min-height:260px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}html:not([data-theme=blast]) .home-hero h1{font-size:clamp(2.9rem,16vw,4.2rem);text-shadow:3px 3px 0 var(--primary)}html:not([data-theme=blast]) .hero-kicker{margin-bottom:11px;font-size:.65rem;letter-spacing:.11em}html:not([data-theme=blast]) .home-hero .hero-subtitle{font-size:.94rem}html:not([data-theme=blast]) .menu-grid{gap:10px}html:not([data-theme=blast]) .menu-card{min-height:158px;padding:18px 13px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}html:not([data-theme=blast]) .menu-card .menu-icon{width:43px;height:43px}html:not([data-theme=blast]) .menu-card .menu-label{font-size:1.02rem}html:not([data-theme=blast]) .menu-description{font-size:.72rem}html:not([data-theme=blast]) .menu-arrow{right:12px;bottom:11px;width:15px;height:15px}html:not([data-theme=blast]) .card:before{left:14px;width:44px}}@media(max-width:520px){html:not([data-theme=blast]) .home-hero{min-height:240px;padding-inline:16px}html:not([data-theme=blast]) .home-hero h1{font-size:clamp(2.5rem,15vw,3.6rem)}html:not([data-theme=blast]) .menu-card{min-height:112px;padding:16px 18px;gap:14px}html:not([data-theme=blast]) .menu-card .menu-icon{flex:0 0 auto}html:not([data-theme=blast]) .menu-copy{padding-right:24px}html:not([data-theme=blast]) .menu-arrow{right:14px;bottom:14px}}@media(max-width:400px){html:not([data-theme=blast]) .hero-kicker{font-size:.58rem}html:not([data-theme=blast]) .menu-card{min-height:102px;padding:14px}html:not([data-theme=blast]) .menu-card .menu-icon{width:40px;height:40px}html:not([data-theme=blast]) .menu-copy{padding-right:18px}html:not([data-theme=blast]) .menu-arrow{right:10px;bottom:10px}}@supports not (color: color-mix(in srgb,white,black)){html:not([data-theme=blast]) .menu-card:before{box-shadow:0 2px 10px #2011181f}html:not([data-theme=blast]) .menu-card:hover{border-color:var(--menu-color, var(--primary))}html:not([data-theme=blast]) .menu-card .menu-icon{border-color:var(--menu-color, var(--primary));background:transparent;color:var(--text)}html:not([data-theme=blast]) .menu-arrow{color:var(--text-sec)}}._viewport_1lrni_1{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;z-index:1500;display:grid;width:min(380px,calc(100vw - 28px));gap:8px;pointer-events:none}._toast_1lrni_12{display:grid;grid-template-columns:20px minmax(0,1fr) 28px;align-items:start;min-height:52px;padding:12px 10px 12px 13px;overflow:hidden;border:1px solid var(--border-strong);border-radius:6px;background:var(--card);color:var(--text);box-shadow:var(--shadow-lg);pointer-events:auto;animation:_toast-enter_1lrni_1 .18s ease-out both}._toast_1lrni_12 p{min-width:0;margin:1px 8px 0;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}._icon_1lrni_36{margin-top:1px}._error_1lrni_37 ._icon_1lrni_36{color:var(--danger)}._success_1lrni_38 ._icon_1lrni_36{color:var(--success)}._info_1lrni_39 ._icon_1lrni_36{color:var(--primary)}._error_1lrni_37{border-left:3px solid var(--danger)}._success_1lrni_38{border-left:3px solid var(--success)}._info_1lrni_39{border-left:3px solid var(--primary)}._close_1lrni_45{display:grid;width:28px;height:28px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-light);cursor:pointer;place-items:center}._close_1lrni_45:hover{background:var(--card-soft);color:var(--text)}._close_1lrni_45:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@keyframes _toast-enter_1lrni_1{0%{opacity:0;transform:translate3d(12px,-4px,0)}to{opacity:1;transform:translateZ(0)}}html:not([data-theme=blast]) ._toast_1lrni_12{border-radius:3px;border-color:#20111829}html:not([data-theme=blast]) ._info_1lrni_39 ._icon_1lrni_36{color:var(--primary-strong)}@media(max-width:520px){._viewport_1lrni_1{top:max(8px,env(safe-area-inset-top));right:8px;width:calc(100vw - 16px)}}@media(prefers-reduced-motion:reduce){._toast_1lrni_12{animation:none}}._badge_1um6n_1{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:3px;background:var(--text-light);color:#fff;font-size:.82rem;font-weight:650;letter-spacing:.02em}._green_1um6n_14{background:var(--success)}._amber_1um6n_15{background:var(--warning)}._gray_1um6n_16{background:var(--text-light)}html[data-theme=blast] ._badge_1um6n_1{border-radius:2px;font-weight:700;letter-spacing:.025em}._scroll_mkcd8_1{position:relative;width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}._table_mkcd8_9{width:100%;min-width:620px;border-collapse:collapse;font-size:.98rem}._table_mkcd8_9 th,._table_mkcd8_9 td{padding:12px;border-bottom:1px solid var(--border);text-align:left}._table_mkcd8_9 th{color:var(--text-light);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}._table_mkcd8_9 tbody tr{transition:background .15s ease}._table_mkcd8_9 tbody tr:hover{background:var(--card-soft)}html[data-theme=blast] ._scroll_mkcd8_1{border-color:#ffffff1a;border-radius:2px;background:#190c15}html[data-theme=blast] ._table_mkcd8_9 th{color:var(--primary);background:#d9ff3f09}html[data-theme=blast] ._table_mkcd8_9 th,html[data-theme=blast] ._table_mkcd8_9 td{border-bottom-color:#ffffff17}html[data-theme=blast] ._table_mkcd8_9 tbody tr{transition:background .2s ease,transform .2s ease}html[data-theme=blast] ._table_mkcd8_9 tbody tr:hover{background:#d9ff3f0e}@media(max-width:640px){._table_mkcd8_9 th:first-child,._table_mkcd8_9 td:first-child{position:sticky;left:0;z-index:2;background:var(--card);box-shadow:8px 0 16px #0000001a}._table_mkcd8_9 th:first-child{z-index:3;background:var(--card-soft)}html[data-theme=blast] ._table_mkcd8_9 th:first-child{background:#21101b}html[data-theme=blast] ._table_mkcd8_9 td:first-child{background:#281520}}
