.login-page[data-v-a2dac171]{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 0%,rgba(55,142,213,.08),transparent 40%),var(--bg-deep)}.login-card[data-v-a2dac171]{width:380px;padding:40px 36px 36px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#1b2938,var(--surface));border:1px solid var(--border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center}.brand-mark[data-v-a2dac171]{width:44px;height:44px;border:1px solid var(--border);border-radius:50%;position:relative;margin-bottom:14px}.brand-mark[data-v-a2dac171]:before,.brand-mark[data-v-a2dac171]:after{content:"";position:absolute;inset:8px 3px;border:1px solid var(--primary);border-radius:50%;transform:rotate(50deg);opacity:.7}.brand-mark[data-v-a2dac171]:after{transform:rotate(-50deg)}.brand-mark i[data-v-a2dac171]:first-child{width:5px;height:5px;background:var(--primary);border-radius:50%;position:absolute;top:4px;left:17px}.brand-mark i[data-v-a2dac171]:last-child{width:4px;height:4px;background:var(--success);border-radius:50%;position:absolute;bottom:6px;right:6px}.eyebrow[data-v-a2dac171]{color:var(--primary);font:700 10px/1 var(--font-numeric);letter-spacing:.2em;margin-bottom:8px}h1[data-v-a2dac171]{font-size:20px;font-weight:700}.subtitle[data-v-a2dac171]{margin:8px 0 24px;font-size:13px;color:var(--text-muted)}.field[data-v-a2dac171]{width:100%;height:46px;padding:0 14px;margin-bottom:14px;font-size:15px}.error[data-v-a2dac171]{align-self:flex-start;margin-bottom:12px;font-size:13px;color:var(--danger)}.login-btn[data-v-a2dac171]{width:100%;height:46px;margin-top:4px}.first-run[data-v-7c8b82b9]{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 0%,rgba(55,142,213,.08),transparent 40%),var(--bg-deep)}.card[data-v-7c8b82b9]{width:min(480px,88vw);padding:40px 36px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#1b2938,var(--surface));border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center}h1[data-v-7c8b82b9]{font-size:22px;font-weight:700;margin-bottom:18px}.desc[data-v-7c8b82b9]{font-size:14px;color:var(--text-secondary);line-height:1.8}.error[data-v-7c8b82b9]{margin-top:14px;font-size:13px;color:var(--danger)}.create-btn[data-v-7c8b82b9]{margin-top:24px;width:100%;height:46px;border-radius:var(--radius-md);font-size:15px;font-weight:700;background:var(--primary);color:#091521}.create-btn[data-v-7c8b82b9]:disabled{opacity:.5}.hint[data-v-7c8b82b9]{margin-top:14px;font-size:12px;color:var(--text-muted)}.topbar[data-v-bc8cace5]{flex:0 0 auto;display:flex;align-items:center;gap:20px;height:68px;padding:0 20px;background:var(--bg-deep);border-bottom:1px solid var(--border-soft)}.eyebrow[data-v-bc8cace5]{color:var(--primary);font-size:10px;font-weight:600;letter-spacing:.14em;margin-bottom:3px}.class-switch[data-v-bc8cace5]{display:flex;align-items:baseline;gap:10px;padding:4px 14px;border-radius:var(--radius-md)}.class-switch[data-v-bc8cace5]:hover{background:var(--primary-soft)}.class-name[data-v-bc8cace5]{font-size:22px;font-weight:700;letter-spacing:.01em;white-space:nowrap;color:var(--text-primary)}.switch-hint[data-v-bc8cace5]{font-size:11px;color:var(--text-muted)}.class-switch:hover .switch-hint[data-v-bc8cace5]{color:var(--primary)}.session-strip[data-v-bc8cace5]{margin-left:auto;height:48px;display:flex;align-items:center;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:0 14px}.session-item[data-v-bc8cace5]{display:flex;align-items:center;gap:9px;min-width:108px}.session-item div[data-v-bc8cace5]{display:flex;flex-direction:column;gap:2px}.session-item small[data-v-bc8cace5]{color:var(--text-muted);font-size:10px;white-space:nowrap}.session-item strong[data-v-bc8cace5]{font-size:13px;font-weight:500;white-space:nowrap}.session-divider[data-v-bc8cace5]{width:1px;height:24px;background:var(--border);margin:0 12px}.date-item[data-v-bc8cace5]{min-width:0}.top-actions[data-v-bc8cace5]{display:flex;gap:10px}.top-actions .ghost-btn[data-v-bc8cace5]{height:40px;padding:0 16px;font-size:14px}.top-actions .logout[data-v-bc8cace5]:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.seat-panel[data-v-7e23fb36]{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:#172331db;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.panel-head[data-v-7e23fb36]{flex:none;height:56px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-soft)}.panel-title[data-v-7e23fb36]{font-size:14px;font-weight:600}.panel-caption[data-v-7e23fb36]{font-size:11px;color:var(--text-muted);margin-top:3px}.legend[data-v-7e23fb36]{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:7px}.legend-dot[data-v-7e23fb36]{width:6px;height:6px;background:var(--success);border-radius:50%;box-shadow:0 0 0 4px #45c6a114}.seat-empty[data-v-7e23fb36]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.seat-empty-title[data-v-7e23fb36]{font-size:20px;font-weight:600;color:var(--text-secondary)}.seat-empty-sub[data-v-7e23fb36]{font-size:13px;color:var(--text-muted)}.field-map[data-v-7e23fb36]{position:relative;flex:1;min-height:0;padding:14px 16px 26px;overflow:hidden}.field-map[data-v-7e23fb36]:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(99,137,168,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(99,137,168,.022) 1px,transparent 1px);background-size:48px 48px}.field-contour[data-v-7e23fb36]{position:absolute;border:1px solid rgba(93,169,233,.04);border-radius:50%;pointer-events:none}.contour-one[data-v-7e23fb36]{width:62%;height:34%;left:8%;top:20%;transform:rotate(-8deg)}.contour-two[data-v-7e23fb36]{width:56%;height:28%;left:14%;top:31%;transform:rotate(12deg)}.seat-grid[data-v-7e23fb36]{position:relative;z-index:2;display:grid;gap:8px 9px;height:100%}.student-seat[data-v-7e23fb36]{min-width:0;min-height:0;background:linear-gradient(145deg,#ffffff05,#ffffff01);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:4px 8px 4px 12px;position:relative;overflow:hidden}.student-seat[data-v-7e23fb36]:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--group);opacity:.62}.student-seat.empty[data-v-7e23fb36]{background:transparent;border-style:dashed;border-color:var(--border-soft)}.student-seat.empty[data-v-7e23fb36]:before{display:none}.student-seat.inactive[data-v-7e23fb36]{opacity:.45}.student-name[data-v-7e23fb36]{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(13px,min(.95vw,2.1vh),17px);font-weight:600;letter-spacing:.015em;color:var(--text-primary)}.student-meta[data-v-7e23fb36]{font-family:var(--font-numeric);font-size:9px;font-weight:600;letter-spacing:.05em;margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb,var(--group),var(--text-muted) 38%)}.student-charge[data-v-7e23fb36]{position:absolute;width:5px;height:5px;top:7px;right:7px;background:var(--group);border-radius:50%;opacity:0}.student-seat.participated .student-charge[data-v-7e23fb36]{opacity:.8;box-shadow:0 0 6px color-mix(in srgb,var(--group),transparent 55%)}.student-seat.flash[data-v-7e23fb36]{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft),inset 0 0 24px #5da9e90f}.student-seat.scan-lit[data-v-7e23fb36]{position:relative;z-index:2;background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft),0 0 20px #5da9e966;transition:none}.student-seat.picked[data-v-7e23fb36]{position:relative;z-index:2;background:var(--primary-soft);border-color:var(--primary);box-shadow:0 0 0 5px var(--primary-soft),0 0 30px #5da9e980}@keyframes group-flash-anim-7e23fb36{0%,to{box-shadow:none}50%{box-shadow:0 0 0 4px var(--warning-soft),0 0 18px #e6ae5859}}.student-seat.group-flash[data-v-7e23fb36]{animation:group-flash-anim-7e23fb36 .9s ease-in-out 3}@media(prefers-reduced-motion:reduce){.student-seat.group-flash[data-v-7e23fb36]{animation:none}}.teacher-zone[data-v-7e23fb36]{position:absolute;z-index:3;bottom:5px;left:50%;transform:translate(-50%);color:var(--text-muted);font-size:8px;letter-spacing:.18em;display:flex;align-items:center;gap:8px}.teacher-zone span[data-v-7e23fb36],.teacher-zone[data-v-7e23fb36]:after{content:"";width:72px;height:1px;background:linear-gradient(90deg,transparent,var(--primary));opacity:.38}.teacher-zone[data-v-7e23fb36]:after{background:linear-gradient(90deg,var(--primary),transparent)}.unseated-hint[data-v-7e23fb36]{position:absolute;right:14px;bottom:10px;z-index:4;padding:5px 12px;border-radius:999px;background:#0d141dd9;border:1px solid var(--border);color:var(--text-secondary);font-size:12px;pointer-events:none}.group-panel[data-v-a0ba4498]{display:flex;flex-direction:column;min-height:0;background:#172331db;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.panel-head[data-v-a0ba4498]{flex:none;height:56px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-soft)}.panel-title[data-v-a0ba4498]{font-size:14px;font-weight:600}.panel-caption[data-v-a0ba4498]{font-size:11px;color:var(--text-muted);margin-top:3px}.text-action[data-v-a0ba4498]{color:var(--text-muted);font-size:11px;display:flex;align-items:center}.text-action[data-v-a0ba4498]:hover{color:var(--primary)}.group-list[data-v-a0ba4498]{flex:1;min-height:0;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column}.empty[data-v-a0ba4498]{padding:20px;color:var(--text-muted);font-size:13px;text-align:center}.group-row[data-v-a0ba4498]{flex:1 0 62px;max-height:84px;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;padding:0 8px;gap:10px}.group-row[data-v-a0ba4498]:last-child{border-bottom:0}.rank[data-v-a0ba4498]{width:26px;font-family:var(--font-numeric);font-size:12px;font-weight:600;color:var(--text-muted)}.group-row.first .rank[data-v-a0ba4498]{color:var(--warning)}.group-data[data-v-a0ba4498]{flex:1;min-width:0}.group-line[data-v-a0ba4498]{display:flex;align-items:baseline;gap:8px}.group-line strong[data-v-a0ba4498]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-line span[data-v-a0ba4498]{color:var(--text-muted);font-size:10px;white-space:nowrap}.field-meter[data-v-a0ba4498]{margin-top:9px;padding-right:4px}.group-score[data-v-a0ba4498]{text-align:right;width:52px;flex:none}.group-score strong[data-v-a0ba4498]{display:block;font-family:var(--font-numeric);font-size:19px;font-weight:600;line-height:1;color:var(--text-primary)}.group-score small[data-v-a0ba4498]{color:var(--text-muted);font-family:var(--font-numeric);font-size:8px;font-weight:600;letter-spacing:.1em}.match-field[data-v-a0ba4498]{flex:none;margin:8px 10px 10px;padding:12px 14px 10px;background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-md)}.match-head[data-v-a0ba4498]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.match-head span[data-v-a0ba4498]{font-size:11px;font-weight:600}.match-head small[data-v-a0ba4498]{color:var(--text-muted);font-size:9px}.match-row[data-v-a0ba4498]{height:28px;display:flex;align-items:center;gap:8px}.match-team[data-v-a0ba4498]{font-family:var(--font-numeric);font-size:10px;font-weight:600;width:64px;display:flex;gap:6px;align-items:center;white-space:nowrap;overflow:hidden}.match-team.right[data-v-a0ba4498]{justify-content:flex-end}.match-team i[data-v-a0ba4498]{width:5px;height:5px;flex:none;background:var(--group);border-radius:50%;box-shadow:0 0 7px color-mix(in srgb,var(--group),transparent 40%)}.match-team.right[data-v-a0ba4498]{color:var(--text-secondary)}.free-team[data-v-a0ba4498]{width:auto}.flux-link[data-v-a0ba4498]{flex:1;display:flex;align-items:center;color:var(--text-muted);gap:5px}.flux-link span[data-v-a0ba4498]{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.flux-link b[data-v-a0ba4498]{font-family:var(--font-numeric);font-size:7px;font-weight:500;border:1px solid var(--border);border-radius:50%;min-width:20px;height:20px;padding:0 3px;display:grid;place-items:center}.bottombar[data-v-676b3c73]{flex:0 0 auto;display:flex;align-items:center;gap:14px;height:64px;padding:0 16px;background:var(--bg-deep);border-top:1px solid var(--border-soft)}.btn-cluster[data-v-676b3c73]{display:flex;gap:10px;flex:0 0 auto}.random-btn[data-v-676b3c73]{min-width:132px;height:44px;border-radius:var(--radius-md);font-size:15px;font-weight:700;background:var(--primary);color:#091521}.random-btn[data-v-676b3c73]:hover:not(:disabled){background:#73b8ef}.undo-btn[data-v-676b3c73]{min-width:96px;height:44px;border-radius:var(--radius-md);font-size:15px;font-weight:700;background:var(--danger-soft);border:1px solid rgba(226,114,114,.45);color:var(--danger)}.undo-btn[data-v-676b3c73]:hover:not(:disabled){background:#e2727233}.tool-btn[data-v-676b3c73]{min-width:84px;height:44px;border-radius:var(--radius-md);font-size:15px;font-weight:600;background:var(--surface-soft);border:1px solid var(--border);color:var(--text-secondary)}.tool-btn[data-v-676b3c73]:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-muted)}.tool-btn.on[data-v-676b3c73]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.group-scores[data-v-676b3c73]{flex:1;min-width:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;overflow:hidden;max-height:52px}.group-chip[data-v-676b3c73]{display:inline-flex;align-items:center;padding:5px 12px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface-soft);white-space:nowrap;transition:box-shadow var(--tr),border-color var(--tr)}.group-chip .dot[data-v-676b3c73]{width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--group);box-shadow:0 0 6px color-mix(in srgb,var(--group),transparent 50%)}.group-chip b[data-v-676b3c73]{font-family:var(--font-numeric);margin-left:5px;color:var(--text-primary)}.group-chip.flash[data-v-676b3c73]{border-color:var(--warning);box-shadow:0 0 0 4px var(--warning-soft)}.lesson-btn[data-v-676b3c73]{min-width:110px;height:44px;border-radius:var(--radius-md);font-size:15px;color:var(--text-muted);flex:0 0 auto;display:flex;align-items:center;justify-content:center}.lesson-btn.end[data-v-676b3c73]{background:var(--danger);color:#200b0b;font-weight:700}.lesson-btn.end[data-v-676b3c73]:hover:not(:disabled){filter:brightness(1.1)}.overlay[data-v-ec9d438a]{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#050a10c2;backdrop-filter:blur(2px)}.modal[data-v-ec9d438a]{width:min(660px,92vw);background:linear-gradient(180deg,#1b2938,var(--surface));border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px 26px 26px;position:relative;box-shadow:var(--shadow-lg);overflow:hidden}.modal[data-v-ec9d438a]:before{content:"";position:absolute;width:200px;height:200px;right:-70px;top:-70px;border:1px solid rgba(93,169,233,.09);border-radius:50%;pointer-events:none}.modal-head[data-v-ec9d438a]{display:flex;align-items:flex-start;margin-bottom:18px}.identity[data-v-ec9d438a]{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.identity-orbit[data-v-ec9d438a]{width:52px;height:52px;flex:none;border:1px solid var(--border);border-radius:50%;position:relative;background:var(--surface-soft)}.identity-orbit[data-v-ec9d438a]:before{content:"";position:absolute;inset:9px;border:1px solid var(--border);border-radius:50%}.identity-orbit span[data-v-ec9d438a]{position:absolute;width:7px;height:7px;background:var(--group);border-radius:50%;top:5px;left:22px;box-shadow:0 0 10px color-mix(in srgb,var(--group),transparent 30%)}.identity-text[data-v-ec9d438a]{display:flex;flex-direction:column;gap:3px;min-width:0}.identity-text small[data-v-ec9d438a]{color:var(--text-muted);font-size:10px}.identity-text strong[data-v-ec9d438a]{font-size:22px;font-weight:700;letter-spacing:.02em}.identity-group[data-v-ec9d438a]{margin-left:auto;padding:4px 12px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface-soft);white-space:nowrap}.close-x[data-v-ec9d438a]{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);color:var(--text-muted);display:grid;place-items:center;font-size:13px}.close-x[data-v-ec9d438a]:hover{color:var(--text-primary);border-color:var(--text-muted)}.tabs[data-v-ec9d438a]{display:flex;gap:8px;margin-bottom:16px}.tab[data-v-ec9d438a]{flex:1;height:40px;border-radius:var(--radius-md);font-size:14px;font-weight:600;background:var(--surface-soft);border:1px solid var(--border-soft);color:var(--text-muted)}.tab.on[data-v-ec9d438a]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.tab.discipline.on[data-v-ec9d438a]{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.effect-block[data-v-ec9d438a]{margin-bottom:16px}.block-label[data-v-ec9d438a]{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.08em;margin-bottom:8px}.target-options[data-v-ec9d438a]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.target-option[data-v-ec9d438a]{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;text-align:left;background:var(--surface-soft);display:flex;flex-direction:column;gap:3px}.target-option small[data-v-ec9d438a]{color:var(--text-muted);font-size:10px}.target-option strong[data-v-ec9d438a]{font-size:14px;font-weight:600;color:var(--text-primary)}.target-option.is-active[data-v-ec9d438a]{border-color:var(--primary);background:var(--primary-soft)}.target-option.attack.is-active[data-v-ec9d438a]{border-color:var(--danger);background:var(--danger-soft)}.target-option.compact[data-v-ec9d438a]{padding:7px 12px;flex-direction:row;font-size:13px;font-weight:600}.free-picks[data-v-ec9d438a]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.effect-hint[data-v-ec9d438a]{margin-top:8px;font-size:12px;color:var(--danger);font-weight:600}.score-options[data-v-ec9d438a]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.score-option[data-v-ec9d438a]{min-height:108px;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(160deg,#ffffff05,#ffffff01);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px}.score-option[data-v-ec9d438a]:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.score-option[data-v-ec9d438a]:active:not(:disabled){transform:scale(.97)}.score-icon[data-v-ec9d438a]{width:9px;height:9px;border-radius:50%;background:var(--text-muted)}.score-option[data-action=correct] .score-icon[data-v-ec9d438a]{background:var(--success)}.score-option[data-action=excellent] .score-icon[data-v-ec9d438a]{background:var(--warning)}.score-option strong[data-v-ec9d438a]{font-size:17px;font-weight:700}.score-delta[data-v-ec9d438a]{font-family:var(--font-numeric);font-size:15px;font-weight:600;color:var(--primary)}.score-option:hover:not(:disabled) .score-delta[data-v-ec9d438a]{color:var(--primary-strong)}.score-team[data-v-ec9d438a]{font-size:11px;font-weight:600;color:var(--text-secondary)}.score-option.discipline[data-v-ec9d438a]:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.score-option.discipline .score-delta[data-v-ec9d438a]{color:var(--danger)}.overlay[data-v-e006029a]{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#050a10c2;backdrop-filter:blur(2px)}.modal[data-v-e006029a]{width:min(620px,92vw);background:linear-gradient(180deg,#1b2938,var(--surface));border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px 26px 26px;position:relative;box-shadow:var(--shadow-lg);overflow:hidden}.modal-head[data-v-e006029a]{display:flex;align-items:flex-start;margin-bottom:6px}.identity[data-v-e006029a]{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.identity-orbit[data-v-e006029a]{width:52px;height:52px;flex:none;border:1px solid var(--border);border-radius:50%;position:relative;background:var(--surface-soft)}.identity-orbit[data-v-e006029a]:before{content:"";position:absolute;inset:9px;border:1px solid var(--border);border-radius:50%}.identity-orbit span[data-v-e006029a]{position:absolute;width:7px;height:7px;background:var(--group);border-radius:50%;top:5px;left:22px;box-shadow:0 0 10px color-mix(in srgb,var(--group),transparent 30%)}.identity-text[data-v-e006029a]{display:flex;flex-direction:column;gap:3px}.identity-text small[data-v-e006029a]{color:var(--text-muted);font-size:10px}.identity-text strong[data-v-e006029a]{font-size:22px;font-weight:700}.identity-group[data-v-e006029a]{margin-left:auto;padding:4px 12px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--surface-soft);white-space:nowrap}.hint[data-v-e006029a]{font-size:12px;color:var(--text-muted);margin-bottom:16px}.effect-block[data-v-e006029a]{margin-bottom:16px}.block-label[data-v-e006029a]{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.08em;margin-bottom:8px}.target-options[data-v-e006029a]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.target-option[data-v-e006029a]{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;text-align:left;background:var(--surface-soft);display:flex;flex-direction:column;gap:3px}.target-option small[data-v-e006029a]{color:var(--text-muted);font-size:10px}.target-option strong[data-v-e006029a]{font-size:14px;font-weight:600;color:var(--text-primary)}.target-option.is-active[data-v-e006029a]{border-color:var(--primary);background:var(--primary-soft)}.target-option.attack.is-active[data-v-e006029a]{border-color:var(--danger);background:var(--danger-soft)}.target-option.compact[data-v-e006029a]{padding:7px 12px;flex-direction:row;font-size:13px;font-weight:600}.free-picks[data-v-e006029a]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.score-options[data-v-e006029a]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.score-option[data-v-e006029a]{min-height:96px;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(160deg,#ffffff05,#ffffff01);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px}.score-option[data-v-e006029a]:active:not(:disabled){transform:scale(.97)}.score-option strong[data-v-e006029a]{font-size:17px;font-weight:700}.score-delta[data-v-e006029a]{font-family:var(--font-numeric);font-size:15px;font-weight:600;color:var(--primary)}.score-team[data-v-e006029a]{font-size:11px;font-weight:600;color:var(--text-secondary)}.score-option.correct[data-v-e006029a]:hover:not(:disabled){border-color:var(--success);background:var(--success-soft)}.score-option.correct .score-delta[data-v-e006029a]{color:var(--success)}.score-option.wrong[data-v-e006029a]:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.score-option.wrong .score-delta[data-v-e006029a]{color:var(--danger)}.score-option.skip[data-v-e006029a]:hover:not(:disabled){border-color:var(--text-muted)}.score-option.skip .score-delta[data-v-e006029a]{color:var(--text-muted)}.overlay[data-v-a4ed6403]{position:fixed;inset:0;z-index:38;display:flex;align-items:center;justify-content:center;background:#050a10c2;backdrop-filter:blur(2px)}.panel[data-v-a4ed6403]{width:min(980px,92vw);max-height:86vh;overflow:auto;padding:22px 26px 24px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#1b2938,var(--surface));border:1px solid var(--border);box-shadow:var(--shadow-lg)}.panel-head[data-v-a4ed6403]{display:flex;align-items:center;justify-content:space-between}.panel-title[data-v-a4ed6403]{font-size:17px;font-weight:700}.close-btn[data-v-a4ed6403]{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);color:var(--text-muted);font-size:12px}.close-btn[data-v-a4ed6403]:hover{color:var(--text-primary);border-color:var(--text-muted)}.sub[data-v-a4ed6403]{margin:6px 0 16px;font-size:12px;color:var(--text-muted)}.rows[data-v-a4ed6403]{display:flex;flex-direction:column;gap:10px}.row[data-v-a4ed6403]{display:grid;grid-template-columns:120px 64px 1fr 200px 220px;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--border-soft);font-size:14px}.gname[data-v-a4ed6403]{font-weight:600;white-space:nowrap;color:var(--text-primary)}.dot[data-v-a4ed6403]{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%}.cover[data-v-a4ed6403]{font-family:var(--font-numeric);font-weight:600;text-align:center}.bar[data-v-a4ed6403]{height:5px;border-radius:999px;background:var(--border-soft);overflow:hidden}.bar-fill[data-v-a4ed6403]{height:100%;border-radius:999px;transition:width .4s}.next[data-v-a4ed6403]{color:var(--warning);font-weight:600;white-space:nowrap;font-size:12px}.next.done[data-v-a4ed6403]{color:var(--success)}.stages[data-v-a4ed6403]{font-size:11px;color:var(--text-muted);white-space:nowrap}.overlay[data-v-318d531b]{position:fixed;inset:0;z-index:38;display:flex;align-items:center;justify-content:center;background:#050a10c2;backdrop-filter:blur(2px)}.panel[data-v-318d531b]{width:min(720px,90vw);max-height:86vh;overflow:auto;padding:22px 26px 24px;border-radius:var(--radius-xl);background:linear-gradient(180deg,#1b2938,var(--surface));border:1px solid var(--border);box-shadow:var(--shadow-lg)}.panel-head[data-v-318d531b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-title[data-v-318d531b]{font-size:17px;font-weight:700}.close-btn[data-v-318d531b]{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);color:var(--text-muted);font-size:12px}.close-btn[data-v-318d531b]:hover{color:var(--text-primary);border-color:var(--text-muted)}.rows[data-v-318d531b]{display:flex;flex-direction:column;gap:8px}.row[data-v-318d531b]{display:grid;grid-template-columns:52px 1fr 110px 120px;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--border-soft);font-size:15px}.row.top[data-v-318d531b]{border-color:#e6ae5880;background:#e6ae580f}.rank[data-v-318d531b]{font-family:var(--font-numeric);font-weight:700;font-size:18px;color:var(--text-muted);text-align:center}.row.top .rank[data-v-318d531b]{color:var(--warning)}.gname[data-v-318d531b]{font-weight:600;white-space:nowrap}.dot[data-v-318d531b]{display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%}.score[data-v-318d531b]{font-family:var(--font-numeric);font-weight:600;text-align:right}.cover[data-v-318d531b]{color:var(--text-muted);font-size:12px;text-align:right}.toast[data-v-1173c7ab]{position:fixed;top:82px;right:26px;z-index:50;width:320px;min-height:96px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;align-items:center;padding:0 16px;gap:13px;box-shadow:var(--shadow-toast);overflow:hidden;pointer-events:none}.feedback-ripple[data-v-1173c7ab]{position:absolute;right:-20px;top:-22px;width:84px;height:84px;border:1px solid rgba(93,169,233,.1);border-radius:50%}.feedback-charge[data-v-1173c7ab]{flex:none;width:34px;height:34px;border:1px solid var(--success);border-radius:50%;color:var(--success);display:grid;place-items:center;font-family:var(--font-numeric);font-weight:700;font-size:16px;background:var(--success-soft)}.toast.stage .feedback-charge[data-v-1173c7ab]{border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.toast.cool .feedback-charge[data-v-1173c7ab]{border-color:var(--text-muted);color:var(--text-muted);background:#6e80901a}.toast.info .feedback-charge[data-v-1173c7ab]{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.feedback-text[data-v-1173c7ab]{min-width:0}.toast-line[data-v-1173c7ab]{font-size:13px;line-height:1.55;color:var(--text-secondary)}.toast-line.main[data-v-1173c7ab]{font-size:16px;font-weight:700;color:var(--text-primary)}.pop-enter-active[data-v-1173c7ab]{transition:all .18s ease-out}.pop-leave-active[data-v-1173c7ab]{transition:all .25s ease-in}.pop-enter-from[data-v-1173c7ab]{opacity:0;transform:translateY(-10px) scale(.96)}.pop-leave-to[data-v-1173c7ab]{opacity:0;transform:translateY(-8px)}.management[data-v-c0d5d990]{height:100%;overflow-y:auto;padding:28px 32px 40px;background:radial-gradient(circle at 42% 0%,rgba(55,142,213,.07),transparent 35%),var(--bg)}.management-head[data-v-c0d5d990]{display:flex;align-items:flex-end;justify-content:space-between;max-width:1240px;margin:0 auto 22px}.eyebrow[data-v-c0d5d990]{color:var(--primary);font:600 11px/1 var(--font-numeric);letter-spacing:.2em;margin-bottom:6px}.management-head h1[data-v-c0d5d990]{font-size:26px;font-weight:700}.module-grid[data-v-c0d5d990]{max-width:1240px;margin:0 auto 22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.module-card[data-v-c0d5d990]{height:96px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;align-items:center;padding:0 18px;gap:14px;text-align:left}.module-card[data-v-c0d5d990]:hover{border-color:var(--text-muted)}.module-icon[data-v-c0d5d990]{width:22px;height:22px;flex:none;fill:none;stroke:var(--primary);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.module-text[data-v-c0d5d990]{flex:1;min-width:0}.module-text strong[data-v-c0d5d990]{font-size:15px;font-weight:600}.module-text p[data-v-c0d5d990]{color:var(--text-muted);font-size:11px;margin-top:4px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.module-arrow[data-v-c0d5d990]{color:var(--text-muted);font-size:14px;flex:none}.module-card:hover .module-arrow[data-v-c0d5d990]{color:var(--primary)}.setting-card[data-v-c0d5d990]{max-width:1240px;margin:0 auto 18px;padding:22px 24px}.setting-card h2[data-v-c0d5d990]{font-size:17px;font-weight:700;margin-bottom:8px}.hint[data-v-c0d5d990]{font-size:13px;color:var(--text-muted);margin-bottom:14px;line-height:1.6}.row[data-v-c0d5d990]{display:flex;gap:10px;margin-bottom:10px;align-items:center}.btn-primary.small[data-v-c0d5d990]{height:38px;padding:0 16px;font-size:14px}.name-input[data-v-c0d5d990]{flex:0 0 260px;height:38px;padding:0 12px;font-size:15px}.tip[data-v-c0d5d990]{font-size:13px;color:var(--success)}.density-row[data-v-c0d5d990]{display:flex;gap:12px}.density-btn[data-v-c0d5d990]{flex:0 0 180px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);display:flex;flex-direction:column;align-items:flex-start;gap:4px}.density-btn.active[data-v-c0d5d990]{border-color:var(--primary);background:var(--primary-soft)}.density-label[data-v-c0d5d990]{font-size:15px;font-weight:700}.density-desc[data-v-c0d5d990]{font-size:11px;color:var(--text-muted)}.bonus-row[data-v-c0d5d990]{flex-wrap:wrap}.bonus-class[data-v-c0d5d990]{font-size:15px;font-weight:700;min-width:90px}.bonus-row label[data-v-c0d5d990]{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.num-input[data-v-c0d5d990]{width:68px;height:34px;padding:0 8px;font-size:14px}.students-page[data-v-bc7a5d56]{height:100%;overflow:auto;padding:24px 32px;background:#f2f4f8}.page-head[data-v-bc7a5d56]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-head h1[data-v-bc7a5d56]{font-size:32px}.head-actions[data-v-bc7a5d56]{display:flex;gap:10px}.class-tabs[data-v-bc7a5d56]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.tab-btn[data-v-bc7a5d56]{padding:10px 26px;border-radius:10px;font-size:20px;background:#fff;border:2px solid #cfd6dd;color:#2c3e50}.tab-btn.on[data-v-bc7a5d56]{background:#2c3e50;color:#fff;border-color:#2c3e50}.stats[data-v-bc7a5d56]{margin-left:12px;font-size:18px;color:#666}.toolbar[data-v-bc7a5d56]{display:flex;align-items:center;gap:12px;margin-bottom:14px}.hint-inline[data-v-bc7a5d56]{font-size:15px;color:#999}.primary-btn[data-v-bc7a5d56]{padding:12px 26px;border-radius:10px;font-size:19px;font-weight:600;background:#1abc9c;color:#fff;cursor:pointer}.primary-btn[data-v-bc7a5d56]:disabled,.primary-btn.disabled[data-v-bc7a5d56]{opacity:.5;cursor:not-allowed}.primary-btn.small[data-v-bc7a5d56]{padding:8px 18px;font-size:17px}.file-btn[data-v-bc7a5d56]{display:inline-flex;align-items:center}.ghost-btn[data-v-bc7a5d56]{padding:12px 22px;border-radius:10px;font-size:18px;background:#ecf0f1;color:#2c3e50}.add-row[data-v-bc7a5d56]{display:flex;gap:10px;margin-bottom:14px;align-items:center}.name-input[data-v-bc7a5d56]{height:48px;padding:0 14px;border:2px solid #cfd6dd;border-radius:8px;font-size:19px}.name-input.small[data-v-bc7a5d56]{height:40px;width:140px;font-size:17px}.name-input[data-v-bc7a5d56]:focus{outline:none;border-color:#1abc9c}.group-select[data-v-bc7a5d56]{height:48px;padding:0 10px;border:2px solid #cfd6dd;border-radius:8px;font-size:18px;background:#fff}.state[data-v-bc7a5d56]{padding:40px;text-align:center;font-size:20px;color:#888}.error-state p[data-v-bc7a5d56]{color:#c0392b;margin-bottom:12px}.roster-table[data-v-bc7a5d56],.preview-table[data-v-bc7a5d56]{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #00000014}th[data-v-bc7a5d56],td[data-v-bc7a5d56]{padding:10px 14px;font-size:17px;text-align:left;border-bottom:1px solid #eef1f4}th[data-v-bc7a5d56]{background:#f7f9fb;font-weight:700}tr.inactive td[data-v-bc7a5d56]{color:#b2bec3}.ops[data-v-bc7a5d56]{white-space:nowrap}.mini-btn[data-v-bc7a5d56]{padding:6px 14px;margin-right:6px;border-radius:8px;font-size:15px;background:#3498db;color:#fff}.mini-btn.ghost[data-v-bc7a5d56]{background:#ecf0f1;color:#555}.edit-cell[data-v-bc7a5d56]{display:inline-flex;gap:6px;align-items:center}.tip[data-v-bc7a5d56]{margin-bottom:10px;font-size:17px;color:#27ae60}.op-error[data-v-bc7a5d56]{margin-bottom:10px;font-size:17px;color:#e74c3c}.overlay[data-v-bc7a5d56]{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000073}.delete-panel[data-v-bc7a5d56]{background:#fff;border-radius:16px;padding:28px 32px;width:min(480px,90vw);box-shadow:0 8px 40px #00000040}.delete-panel h2[data-v-bc7a5d56]{font-size:22px;margin-bottom:12px;color:#2c3e50}.delete-q[data-v-bc7a5d56]{font-size:19px;font-weight:600;margin-bottom:8px}.delete-hint[data-v-bc7a5d56]{font-size:15px;color:#777;margin-bottom:20px}.delete-actions[data-v-bc7a5d56]{display:flex;gap:12px;justify-content:flex-end}.danger-btn[data-v-bc7a5d56]{padding:10px 24px;border-radius:10px;font-size:17px;font-weight:600;background:#e74c3c;color:#fff}.danger-btn[data-v-bc7a5d56]:disabled{opacity:.45}.mini-btn.danger[data-v-bc7a5d56]{background:#fdf1f0;color:#c0392b;border:1px solid #e6b0aa}.import-panel[data-v-bc7a5d56]{width:min(720px,90vw);max-height:86vh;overflow:auto;padding:28px 32px;border-radius:16px;background:#fff}.import-panel h2[data-v-bc7a5d56]{font-size:26px;margin-bottom:8px}.file-line[data-v-bc7a5d56]{font-size:15px;color:#888;margin-bottom:14px}.summary[data-v-bc7a5d56]{font-size:19px;margin-bottom:12px}.summary .bad[data-v-bc7a5d56]{color:#e74c3c;font-weight:700}.error-list[data-v-bc7a5d56]{max-height:180px;overflow:auto;margin-bottom:12px;padding:12px 16px;border-radius:10px;background:#fdedec;font-size:16px;color:#c0392b;line-height:1.8}.blocked[data-v-bc7a5d56]{margin-bottom:12px;font-size:17px;color:#b7791f}.preview-table-wrap[data-v-bc7a5d56]{max-height:320px;overflow:auto;margin-bottom:14px}.import-actions[data-v-bc7a5d56]{display:flex;gap:12px}.groups-page[data-v-4dda3b7c]{height:100%;overflow:auto;padding:24px 32px;background:#f2f4f8}.page-head[data-v-4dda3b7c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-head h1[data-v-4dda3b7c]{font-size:28px}.head-actions[data-v-4dda3b7c]{display:flex;gap:10px}.class-tabs[data-v-4dda3b7c]{display:flex;gap:10px;margin-bottom:14px}.tab-btn[data-v-4dda3b7c]{padding:10px 26px;border-radius:10px;font-size:20px;background:#fff;border:2px solid #cfd6dd;color:#2c3e50}.tab-btn.on[data-v-4dda3b7c]{background:#2c3e50;color:#fff;border-color:#2c3e50}.toolbar[data-v-4dda3b7c]{margin-bottom:14px}.add-row[data-v-4dda3b7c]{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.primary-btn[data-v-4dda3b7c]{padding:12px 26px;border-radius:10px;font-size:19px;font-weight:600;background:#1abc9c;color:#fff}.primary-btn[data-v-4dda3b7c]:disabled{opacity:.5}.primary-btn.small[data-v-4dda3b7c]{padding:8px 18px;font-size:17px}.ghost-btn[data-v-4dda3b7c]{padding:12px 22px;border-radius:10px;font-size:18px;background:#ecf0f1;color:#2c3e50}.name-input[data-v-4dda3b7c]{height:48px;padding:0 14px;border:2px solid #cfd6dd;border-radius:8px;font-size:19px}.name-input.small[data-v-4dda3b7c]{height:40px;width:160px;font-size:17px}.name-input[data-v-4dda3b7c]:focus{outline:none;border-color:#1abc9c}.group-cards[data-v-4dda3b7c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:24px}.group-card[data-v-4dda3b7c]{padding:16px 18px;border-radius:14px;background:#fff;box-shadow:0 1px 4px #00000014}.group-head[data-v-4dda3b7c]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.dot[data-v-4dda3b7c]{width:16px;height:16px;border-radius:50%;flex:0 0 auto}.group-name[data-v-4dda3b7c]{font-size:22px;font-weight:700;flex:1}.count[data-v-4dda3b7c]{font-size:17px;color:#888}.palette[data-v-4dda3b7c]{display:flex;gap:8px}.palette.row[data-v-4dda3b7c]{margin-bottom:12px}.swatch[data-v-4dda3b7c]{width:34px;height:34px;border-radius:8px;border:3px solid transparent}.swatch.on[data-v-4dda3b7c]{border-color:#2c3e50}.group-ops[data-v-4dda3b7c]{display:flex;gap:8px;flex-wrap:wrap}.mini-btn[data-v-4dda3b7c]{padding:8px 16px;border-radius:8px;font-size:16px;background:#3498db;color:#fff}.mini-btn.ghost[data-v-4dda3b7c]{background:#ecf0f1;color:#555}.mini-btn.danger[data-v-4dda3b7c]{background:#e74c3c}.mini-btn[data-v-4dda3b7c]:disabled{opacity:.45}.member-list[data-v-4dda3b7c]{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.member-chip[data-v-4dda3b7c]{padding:6px 14px;border-radius:999px;background:#f2f4f8;font-size:16px}.empty-members[data-v-4dda3b7c]{font-size:16px;color:#aaa}.edit-cell[data-v-4dda3b7c]{display:inline-flex;gap:6px;align-items:center;flex:1}.section-title[data-v-4dda3b7c]{font-size:24px;margin-bottom:6px}.hint[data-v-4dda3b7c]{font-size:16px;color:#888;margin-bottom:12px}.assign-table[data-v-4dda3b7c]{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #00000014}th[data-v-4dda3b7c],td[data-v-4dda3b7c]{padding:10px 14px;font-size:17px;text-align:left;border-bottom:1px solid #eef1f4}th[data-v-4dda3b7c]{background:#f7f9fb;font-weight:700}tr.inactive td[data-v-4dda3b7c]{color:#b2bec3}.group-select[data-v-4dda3b7c]{height:44px;min-width:160px;padding:0 10px;border:2px solid #cfd6dd;border-radius:8px;font-size:17px;background:#fff}.state[data-v-4dda3b7c]{padding:32px;text-align:center;font-size:19px;color:#888}.error-state p[data-v-4dda3b7c]{color:#c0392b;margin-bottom:12px}.tip[data-v-4dda3b7c]{margin-bottom:10px;font-size:17px;color:#27ae60}.op-error[data-v-4dda3b7c]{margin-bottom:10px;font-size:17px;color:#e74c3c}.seats-page[data-v-809d5e12]{height:100%;overflow:auto;padding:24px 32px;background:#f2f4f8}.page-head[data-v-809d5e12]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-head h1[data-v-809d5e12]{font-size:26px}.head-actions[data-v-809d5e12]{display:flex;gap:10px}.class-tabs[data-v-809d5e12]{display:flex;gap:10px;margin-bottom:12px}.tab-btn[data-v-809d5e12]{padding:10px 26px;border-radius:10px;font-size:20px;background:#fff;border:2px solid #cfd6dd;color:#2c3e50}.tab-btn.on[data-v-809d5e12]{background:#2c3e50;color:#fff;border-color:#2c3e50}.layout-bar[data-v-809d5e12]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 18px;margin-bottom:12px;background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014;font-size:17px}.layout-current[data-v-809d5e12]{font-weight:700;color:#2c3e50}.layout-bar label[data-v-809d5e12]{display:flex;align-items:center;gap:8px;color:#555}.layout-input[data-v-809d5e12]{width:72px;height:42px;padding:0 10px;border:2px solid #cfd6dd;border-radius:8px;font-size:18px;text-align:center}.layout-input[data-v-809d5e12]:focus{outline:none;border-color:#1abc9c}.layout-err[data-v-809d5e12]{font-size:15px;color:#e74c3c;font-weight:600}.stats-bar[data-v-809d5e12]{display:flex;align-items:center;gap:22px;margin-bottom:12px;font-size:19px;color:#444}.selection-bar[data-v-809d5e12]{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding:12px 18px;border-radius:12px;background:#eaf3fb;border:2px solid #3498db;font-size:19px;color:#2c3e50}.layout[data-v-809d5e12]{display:flex;gap:20px;align-items:flex-start}.seat-grid[data-v-809d5e12]{flex:1;display:grid;gap:10px}.seat-card[data-v-809d5e12]{min-height:76px;padding:8px 6px;border-radius:12px;border-top:6px solid #dfe3e8;background:#fff;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:19px;font-weight:700;color:#2c3e50}.seat-card .group[data-v-809d5e12]{font-size:13px;font-weight:500;color:#888}.seat-card.empty[data-v-809d5e12]{background:#f7f9fb;color:#b2bec3;font-weight:500}.seat-card.selected[data-v-809d5e12]{outline:4px solid #3498db;outline-offset:2px;background:#eaf3fb}.seat-card.inactive .name[data-v-809d5e12]{color:#b2bec3}.empty-mark[data-v-809d5e12]{font-size:16px}.unseated-panel[data-v-809d5e12]{flex:0 0 280px;padding:16px 18px;border-radius:14px;background:#fff;box-shadow:0 1px 4px #00000014}.unseated-panel h2[data-v-809d5e12]{font-size:20px;margin-bottom:6px}.unseated-panel h2.mt[data-v-809d5e12]{margin-top:18px}.hint[data-v-809d5e12]{font-size:14px;color:#999;margin-bottom:10px}.unseated-list[data-v-809d5e12]{display:flex;flex-wrap:wrap;gap:8px}.unseated-chip[data-v-809d5e12]{padding:10px 16px;border-radius:999px;border:2px solid #cfd6dd;background:#fff;font-size:17px}.unseated-chip.selected[data-v-809d5e12]{border-color:#3498db;background:#eaf3fb}.u-group[data-v-809d5e12]{margin-left:6px;font-size:13px;color:#999}.primary-btn[data-v-809d5e12]{padding:12px 26px;border-radius:10px;font-size:19px;font-weight:600;background:#1abc9c;color:#fff}.primary-btn.small[data-v-809d5e12]{padding:8px 18px;font-size:17px}.primary-btn[data-v-809d5e12]:disabled{opacity:.5}.ghost-btn[data-v-809d5e12]{padding:12px 22px;border-radius:10px;font-size:18px;background:#ecf0f1;color:#2c3e50}.mini-btn[data-v-809d5e12]{padding:8px 16px;border-radius:8px;font-size:16px;background:#3498db;color:#fff}.mini-btn.ghost[data-v-809d5e12]{background:#ecf0f1;color:#555}.mini-btn.danger[data-v-809d5e12]{background:#e74c3c}.mini-btn[data-v-809d5e12]:disabled{opacity:.45}.state[data-v-809d5e12]{padding:32px;text-align:center;font-size:19px;color:#888}.state.small[data-v-809d5e12]{padding:12px;font-size:15px}.error-state p[data-v-809d5e12]{color:#c0392b;margin-bottom:12px}.tip[data-v-809d5e12]{margin-bottom:10px;font-size:17px;color:#27ae60}.op-error[data-v-809d5e12]{margin-bottom:10px;font-size:17px;color:#e74c3c}.backup-page[data-v-fe04afdf]{height:100%;overflow:auto;padding:24px 32px;background:#f2f4f8}.page-head[data-v-fe04afdf]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-head h1[data-v-fe04afdf]{font-size:28px}.head-actions[data-v-fe04afdf]{display:flex;gap:10px}.card[data-v-fe04afdf]{padding:20px 24px;border-radius:14px;background:#fff;box-shadow:0 1px 4px #00000014;margin-bottom:18px;max-width:760px}.card h2[data-v-fe04afdf]{font-size:22px;margin-bottom:8px}.card h3[data-v-fe04afdf]{font-size:19px;margin:14px 0 8px}.hint[data-v-fe04afdf]{font-size:15px;color:#777;margin-bottom:14px;line-height:1.6}.warn[data-v-fe04afdf]{color:#b3541e}.strong[data-v-fe04afdf]{font-weight:700}.primary-btn[data-v-fe04afdf]{padding:14px 30px;border-radius:10px;font-size:20px;font-weight:600;background:#1abc9c;color:#fff}.primary-btn[data-v-fe04afdf]:disabled{opacity:.5}.ghost-btn[data-v-fe04afdf]{padding:12px 22px;border-radius:10px;font-size:18px;background:#ecf0f1;color:#2c3e50}.danger-btn[data-v-fe04afdf]{padding:12px 26px;border-radius:10px;font-size:19px;font-weight:600;background:#e74c3c;color:#fff}.danger-btn[data-v-fe04afdf]:disabled{opacity:.45}.file-btn[data-v-fe04afdf]{display:inline-block;padding:12px 26px;border-radius:10px;font-size:19px;background:#3498db;color:#fff;cursor:pointer}.file-btn.disabled[data-v-fe04afdf]{opacity:.5;pointer-events:none}.hidden-input[data-v-fe04afdf]{display:none}.file-name[data-v-fe04afdf]{margin-left:12px;font-size:16px;color:#555}.state-inline[data-v-fe04afdf]{margin-left:12px;font-size:16px;color:#888}.summary[data-v-fe04afdf]{list-style:none;padding:0;margin:0 0 12px}.summary li[data-v-fe04afdf]{font-size:17px;padding:4px 0;color:#2c3e50}.confirm-row[data-v-fe04afdf]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.confirm-label[data-v-fe04afdf]{font-size:18px}.confirm-input[data-v-fe04afdf]{width:140px;height:48px;padding:0 14px;border:2px solid #cfd6dd;border-radius:8px;font-size:19px}.confirm-input[data-v-fe04afdf]:focus{outline:none;border-color:#e74c3c}.tip[data-v-fe04afdf]{margin-bottom:10px;font-size:17px;color:#27ae60}.op-error[data-v-fe04afdf]{margin-bottom:10px;font-size:17px;color:#e74c3c}.danger-zone[data-v-fe04afdf]{border:2px solid #e74c3c;background:#fdf6f5}.danger-zone h2[data-v-fe04afdf]{color:#c0392b}.danger-outline-btn[data-v-fe04afdf]{padding:12px 26px;border-radius:10px;font-size:19px;font-weight:600;background:#fff;color:#c0392b;border:2px solid #c0392b}.danger-outline-btn[data-v-fe04afdf]:disabled{opacity:.45}.reset-box[data-v-fe04afdf]{margin-top:14px}.seasons-page[data-v-bcec69a0]{height:100%;overflow:auto;padding:24px 32px;background:#f2f4f8}.page-head[data-v-bcec69a0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-head h1[data-v-bcec69a0]{font-size:26px}.head-actions[data-v-bcec69a0]{display:flex;gap:10px}.class-tabs[data-v-bcec69a0]{display:flex;gap:10px;margin-bottom:14px}.tab-btn[data-v-bcec69a0]{padding:10px 26px;border-radius:10px;font-size:20px;background:#fff;border:2px solid #cfd6dd;color:#2c3e50}.tab-btn.on[data-v-bcec69a0]{background:#2c3e50;color:#fff;border-color:#2c3e50}.card[data-v-bcec69a0]{padding:20px 24px;border-radius:14px;background:#fff;box-shadow:0 1px 4px #00000014;margin-bottom:18px;max-width:820px}.card h2[data-v-bcec69a0]{font-size:22px;margin-bottom:12px}.card h3[data-v-bcec69a0]{font-size:18px;margin:14px 0 8px}.card h4[data-v-bcec69a0]{font-size:17px;margin:14px 0 8px}.hint[data-v-bcec69a0]{font-size:15px;color:#777;margin-bottom:14px}.current-row[data-v-bcec69a0]{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.season-name[data-v-bcec69a0]{font-size:26px;font-weight:800;color:#2c3e50}.season-meta[data-v-bcec69a0]{font-size:17px;color:#888;flex:1}.preview[data-v-bcec69a0]{margin-top:16px;padding:16px 18px;border-radius:12px;background:#f7f9fb}.summary-list[data-v-bcec69a0]{list-style:none;padding:0;margin:0 0 8px}.summary-list li[data-v-bcec69a0]{font-size:16px;padding:3px 0;color:#2c3e50}.group-final[data-v-bcec69a0]{margin:8px 0}.final-row[data-v-bcec69a0]{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:18px}.rank[data-v-bcec69a0]{width:40px;font-weight:700;color:#888}.dot[data-v-bcec69a0]{width:14px;height:14px;border-radius:50%}.gname[data-v-bcec69a0]{flex:1;font-weight:600}.gscore[data-v-bcec69a0]{font-weight:700;color:#2c3e50}.warn[data-v-bcec69a0]{font-size:16px;color:#b3541e;line-height:1.7;margin:12px 0}.confirm-row[data-v-bcec69a0],.create-row[data-v-bcec69a0]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.rule-row[data-v-bcec69a0]{display:flex;align-items:center;gap:18px;margin-top:14px}.rule-label[data-v-bcec69a0]{font-size:17px;font-weight:700;color:#2c3e50}.rule-opt[data-v-bcec69a0]{font-size:17px;display:flex;align-items:center;gap:6px}.duel-config[data-v-bcec69a0]{margin-top:16px;padding:16px 18px;border-radius:12px;background:#fdf9ec}.pair-row[data-v-bcec69a0]{display:flex;align-items:center;gap:12px;margin:8px 0;font-size:18px}.pair-row.readonly[data-v-bcec69a0]{font-weight:700;color:#2c3e50}.pair-vs[data-v-bcec69a0]{color:#888}.pair-select[data-v-bcec69a0]{height:44px;padding:0 10px;border:2px solid #cfd6dd;border-radius:8px;font-size:17px;min-width:150px;background:#fff}.week-label[data-v-bcec69a0]{font-weight:700;color:#2c3e50;min-width:70px}.week-tag[data-v-bcec69a0]{padding:2px 10px;border-radius:999px;font-size:14px;background:#ecf0f1;color:#888}.week-tag.custom[data-v-bcec69a0]{background:#8e44ad;color:#fff}.week-tag.lock[data-v-bcec69a0]{background:#f5b7b1;color:#943126}.name-input[data-v-bcec69a0]{height:50px;padding:0 14px;border:2px solid #cfd6dd;border-radius:8px;font-size:19px;min-width:220px}.name-input[data-v-bcec69a0]:focus{outline:none;border-color:#1abc9c}.history-row[data-v-bcec69a0]{margin-bottom:8px}.history-btn[data-v-bcec69a0]{padding:12px 20px;border-radius:10px;background:#ecf0f1;font-size:18px;color:#2c3e50;text-align:left;width:100%}.student-table[data-v-bcec69a0]{width:100%;border-collapse:collapse;background:#fff}.student-table th[data-v-bcec69a0],.student-table td[data-v-bcec69a0]{padding:8px 12px;font-size:16px;text-align:left;border-bottom:1px solid #eef1f4}.student-table th[data-v-bcec69a0]{background:#f7f9fb}.primary-btn[data-v-bcec69a0]{padding:12px 26px;border-radius:10px;font-size:19px;font-weight:600;background:#1abc9c;color:#fff}.primary-btn.small[data-v-bcec69a0]{padding:8px 18px;font-size:17px}.primary-btn[data-v-bcec69a0]:disabled{opacity:.5}.danger-btn[data-v-bcec69a0]{padding:12px 26px;border-radius:10px;font-size:19px;font-weight:600;background:#e74c3c;color:#fff}.danger-btn[data-v-bcec69a0]:disabled{opacity:.5}.ghost-btn[data-v-bcec69a0]{padding:12px 22px;border-radius:10px;font-size:18px;background:#ecf0f1;color:#2c3e50}.ghost-btn.small[data-v-bcec69a0]{padding:8px 16px;font-size:16px}.state[data-v-bcec69a0]{padding:32px;text-align:center;font-size:19px;color:#888}.state.small[data-v-bcec69a0]{padding:12px;font-size:15px}.error-state p[data-v-bcec69a0]{color:#c0392b;margin-bottom:12px}.tip[data-v-bcec69a0]{margin-bottom:10px;font-size:17px;color:#27ae60}.op-error[data-v-bcec69a0]{margin-bottom:10px;font-size:17px;color:#e74c3c}.boot[data-v-57258ab0]{height:100%;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-muted);background:var(--bg-deep)}.error-state[data-v-57258ab0]{flex-direction:column;gap:8px}.error-title[data-v-57258ab0]{font-size:22px;font-weight:700;color:var(--danger)}.error-sub[data-v-57258ab0]{font-size:14px;color:var(--text-muted)}.retry-btn[data-v-57258ab0]{margin-top:14px;padding:10px 32px;border-radius:var(--radius-md);font-size:15px;font-weight:700;background:var(--primary);color:#091521}.board-layout[data-v-57258ab0]{height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 42% 0%,rgba(55,142,213,.07),transparent 35%),var(--bg)}.board-main[data-v-57258ab0]{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1fr);gap:14px;padding:14px 16px}.lock-banner[data-v-57258ab0]{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 16px;background:var(--warning-soft);border-bottom:1px solid rgba(230,174,88,.4)}.lock-text[data-v-57258ab0]{font-size:16px;font-weight:600;color:var(--warning)}.start-btn[data-v-57258ab0]{padding:8px 28px;border-radius:var(--radius-md);font-size:15px;font-weight:700;background:var(--success);color:#08160f}.start-btn[data-v-57258ab0]:active:not(:disabled){filter:brightness(1.12)}.season-lock[data-v-57258ab0]{background:var(--danger-soft);border-bottom-color:#e2727273}.season-lock .lock-text[data-v-57258ab0]{color:var(--danger)}.season-btn[data-v-57258ab0]{background:var(--warning)}.switch-flash[data-v-57258ab0]{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:700;color:var(--text-primary);background:#0d141deb;pointer-events:none}.notice[data-v-57258ab0]{position:fixed;left:50%;bottom:110px;transform:translate(-50%);z-index:55;padding:12px 26px;border-radius:var(--radius-md);font-size:16px;color:var(--text-primary);background:#1c2a39f2;border:1px solid var(--border);box-shadow:var(--shadow-toast);pointer-events:none}.fade-enter-active[data-v-57258ab0],.fade-leave-active[data-v-57258ab0]{transition:opacity .2s}.fade-enter-from[data-v-57258ab0],.fade-leave-to[data-v-57258ab0]{opacity:0}:root{--bg-deep: #0d141d;--bg: #111b27;--surface: #172331;--surface-raised: #1c2a39;--surface-soft: #14202c;--border: #29394a;--border-soft: #223141;--text-primary: #eef4f8;--text-secondary: #9cacba;--text-muted: #6e8090;--primary: #5da9e9;--primary-strong: #378ed5;--primary-soft: rgba(93, 169, 233, .12);--accent: #49c0b0;--success: #45c6a1;--success-soft: rgba(69, 198, 161, .12);--warning: #e6ae58;--warning-soft: rgba(230, 174, 88, .12);--danger: #e27272;--danger-soft: rgba(226, 114, 114, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-panel: 0 1px 3px rgba(0, 0, 0, .28);--shadow-lg: 0 28px 80px rgba(0, 0, 0, .42);--shadow-toast: 0 16px 45px rgba(0, 0, 0, .32);--font-ui: "Noto Sans SC", "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;--font-numeric: "Space Grotesk", "Noto Sans SC", "Microsoft YaHei", sans-serif;--tr-fast: .14s ease;--tr: .18s ease}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:var(--font-ui);background:var(--bg-deep);color:var(--text-primary);user-select:none;-webkit-user-select:none;touch-action:manipulation;overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit;border:none;cursor:pointer;touch-action:manipulation;color:inherit;background:none;transition:border-color var(--tr),background var(--tr),transform var(--tr),opacity var(--tr)}button:disabled{opacity:.38;cursor:default}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input,select{font-family:inherit;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}input:focus,select:focus{outline:none;border-color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--radius-md);font-size:15px;font-weight:600;border:1px solid transparent}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary,.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--radius-md);font-size:15px;font-weight:700;background:var(--primary);color:#091521}.btn-primary:hover:not(:disabled),.primary-btn:hover:not(:disabled){background:#73b8ef}.primary-btn.small{height:38px;padding:0 14px;font-size:14px}.primary-btn.file-btn{cursor:pointer}.primary-btn.file-btn.disabled{opacity:.45;pointer-events:none}.btn-ghost,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--radius-md);font-size:15px;font-weight:600;background:var(--surface-soft);border:1px solid var(--border);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled),.ghost-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-muted)}.btn-danger,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--radius-md);font-size:15px;font-weight:700;background:var(--danger);color:#200b0b}.danger-btn:disabled{opacity:.45}.danger-outline-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;border-radius:var(--radius-md);font-size:15px;font-weight:700;background:transparent;border:1px solid var(--danger);color:var(--danger)}.danger-outline-btn:hover:not(:disabled){background:var(--danger-soft)}.mini-btn{height:30px;padding:0 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;background:var(--surface-raised);border:1px solid var(--border);color:var(--text-secondary)}.mini-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-muted)}.mini-btn.ghost{background:transparent}.mini-btn.danger{background:var(--danger-soft);color:var(--danger);border-color:#e2727266}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel)}.modal-backdrop-common{position:fixed;inset:0;background:#050a10c2}.signal-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px #45c6a11a;flex:none}.signal-dot.off{background:var(--text-muted);box-shadow:0 0 0 5px #6e80901a}.badge{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-raised);border:1px solid var(--border);color:var(--text-secondary)}.field-meter{position:relative}.field-meter__line{height:2px;background:var(--border);position:relative;border-radius:1px}.field-meter__fill{height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--group, var(--primary)),transparent 25%),var(--group, var(--primary)));border-radius:1px;transition:width .4s ease}.field-meter__node{position:absolute;width:5px;height:5px;top:50%;margin-top:-2.5px;border:1px solid var(--text-muted);background:var(--surface);border-radius:50%;transform:translate(-50%)}.field-meter__node.is-on{background:var(--group, var(--primary));border-color:var(--group, var(--primary));box-shadow:0 0 7px color-mix(in srgb,var(--group, var(--primary)),transparent 50%)}.state{display:flex;align-items:center;justify-content:center;min-height:160px;color:var(--text-muted);font-size:16px}.tip{color:var(--success);font-size:14px}.op-error{color:var(--danger);font-size:14px}
