@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Noto+Sans+KR:wght@400;500;700&display=swap";:root{--brand-purple: #6b4dd6;--brand-pink: #ff4fa7;--brand-orange: #ff8c3a;--brand-yellow: #ffd93b;--brand-blue: #15a6ff;--brand-indigo: #4d54c8;--brand-green: #8fd93f;--sun: #d95062;--sat: #2f7dde;--sun-muted: #c78b96;--sat-muted: #8ba5d2;--going: #1f9465;--absent: #cf4860;--gender: #3a4f5f;--bg: #fff7ef;--bg-2: #eef7ff;--panel: rgba(255, 255, 255, .9);--panel-strong: #ffffff;--text: #1c1d27;--muted: #596074;--line: #e7d8ef;--line-strong: #dbc6e8;--accent: #2467ff;--accent-soft: #ecf1ff;--warn: #cc4258;--ok: #198b62;--chip-bg: rgba(255, 255, 255, .76);--chip-text: #2f3b56;--overlay: rgba(10, 12, 27, .54);--shadow: 0 18px 36px rgba(68, 39, 95, .12);--font-body: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-display: "Baloo 2", "Noto Sans KR", sans-serif}:root[data-theme=dark]{--sun: #ff8693;--sat: #5cb7ff;--sun-muted: #b57a86;--sat-muted: #6f8dbf;--going: #53cfa2;--absent: #ff8ea1;--gender: #c2cbee;--bg: #0f1222;--bg-2: #131832;--panel: rgba(23, 27, 50, .84);--panel-strong: #1b2140;--text: #f6f3ff;--muted: #bac1dc;--line: #2f3964;--line-strong: #3f4c82;--accent: #4aa9ff;--accent-soft: rgba(74, 169, 255, .14);--warn: #ff7f97;--ok: #57d3a2;--chip-bg: rgba(29, 36, 69, .85);--chip-text: #dce6ff;--overlay: rgba(3, 5, 14, .72);--shadow: 0 22px 42px rgba(1, 3, 13, .48)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at 8% 12%,rgba(255,79,167,.22),transparent 36%),radial-gradient(circle at 85% 10%,rgba(255,140,58,.2),transparent 34%),radial-gradient(circle at 85% 78%,rgba(21,166,255,.2),transparent 36%),radial-gradient(circle at 18% 80%,rgba(143,217,63,.18),transparent 34%),linear-gradient(145deg,var(--bg),var(--bg-2));background-attachment:fixed;transition:background .24s ease,color .18s ease}@keyframes rise-in{0%{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}button,input,select{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.brand-title{font-family:var(--font-display);letter-spacing:.2px}a{color:inherit}ul{margin:0;padding-left:20px}.brand-title{background:linear-gradient(90deg,var(--brand-pink) 0%,var(--brand-orange) 22%,var(--brand-yellow) 42%,var(--brand-blue) 62%,var(--brand-indigo) 80%,var(--brand-green) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}.centered-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;width:min(440px,100%);padding:30px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;gap:16px;text-align:center;animation:rise-in .42s ease}.app-shell{max-width:520px;width:100%;margin:0 auto;padding:18px;padding-bottom:calc(18px + env(safe-area-inset-bottom));display:grid;gap:16px}.top-bar{display:flex;justify-content:space-between;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise-in .46s ease}.brand-block{display:grid;gap:4px}.top-bar h1{font-size:29px;line-height:1}.top-bar p{color:var(--muted);margin-top:6px}.profile-trigger{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line-strong);background:var(--panel-strong);color:var(--text);border-radius:999px;padding:6px 10px 6px 6px;cursor:pointer;transition:transform .15s ease,border-color .18s ease,background .18s ease}.profile-trigger:hover{transform:translateY(-1px);border-color:var(--accent)}.profile-name{font-weight:700;line-height:1}.profile-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--line)}.profile-avatar-fallback{display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(120deg,var(--brand-blue),var(--brand-indigo))}.mode-toggle{border:1px solid var(--line-strong);background:var(--panel-strong);color:var(--text);border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:700;transition:transform .15s ease,border-color .18s ease,background .18s ease,color .18s ease}.mode-toggle:hover{transform:translateY(-1px)}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}.layout.single-column{grid-template-columns:minmax(0,1fr)}.left-column,.right-column{display:grid;gap:16px;align-content:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:12px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:rise-in .52s ease}.panel h3{font-size:22px}.btn{border:1px solid transparent;background:linear-gradient(125deg,var(--brand-pink),var(--brand-orange));color:#fff;border-radius:10px;padding:8px 12px;cursor:pointer;font-weight:700;box-shadow:0 8px 16px #ff4fa73d;transition:transform .15s ease,filter .18s ease,background .18s ease,color .18s ease}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn.ghost{background:var(--panel-strong);color:var(--text);border-color:var(--line-strong);box-shadow:none}.btn.kakao{background:#fee500;border-color:#fee500;color:#191919;box-shadow:none}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-month-title{font-size:16px;white-space:nowrap}.calendar-header-end{display:flex;align-items:center;gap:6px}.calendar-nav-btn{padding:7px 10px;font-size:14px;white-space:nowrap}.calendar-add-btn{white-space:nowrap;padding:7px 10px;font-size:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{border-bottom:1px solid var(--line);margin-bottom:6px}.weekday{text-align:center;font-weight:700;color:var(--muted);padding:8px 0}.weekday.sunday{color:var(--sun)}.weekday.saturday{color:var(--sat)}.day-cell{background:transparent;min-height:78px;padding:8px;text-align:left;display:grid;align-content:start;gap:6px;cursor:pointer;color:var(--text)}.body-grid{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel-strong)}.body-grid .day-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.body-grid .day-cell:nth-child(7n){border-right:0}.body-grid .day-cell:nth-child(n+36){border-bottom:0}.day-cell.muted{opacity:.72}.day-cell.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.day-cell.sunday .day-number{color:var(--sun)}.day-cell.saturday .day-number{color:var(--sat)}.day-number{font-weight:700;color:var(--text)}.event-hint{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:1px 4px;text-align:center}.day-cell.muted .day-number{color:var(--muted)}.day-cell.muted .event-hint{opacity:.7}.day-cell.muted.sunday .day-number{color:var(--sun-muted)}.day-cell.muted.saturday .day-number{color:var(--sat-muted)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.event-count-chip{padding:5px 10px;border-radius:999px;border:1px solid var(--line-strong);background:var(--chip-bg);color:var(--chip-text);font-size:12px;font-weight:700}.empty-state{display:grid;gap:10px}.empty-create-btn{justify-self:start}.event-list{display:grid;gap:16px}.event-date-group{display:grid;gap:8px}.event-date-label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 4px;border-bottom:2px solid var(--line);font-weight:700;font-size:14px;color:var(--muted);transition:color .18s ease,border-color .18s ease}.event-date-label.selected{color:var(--accent);border-bottom-color:var(--accent)}.event-card{border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:var(--panel-strong);transition:transform .16s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;animation:rise-in .52s ease both}.event-card:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0a16361a}.event-card:nth-child(2){animation-delay:40ms}.event-card:nth-child(3){animation-delay:80ms}.event-card:nth-child(4){animation-delay:.12s}.event-card p{color:var(--muted);margin-top:4px;font-size:14px}.event-main{display:grid;gap:8px;width:100%}.event-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-chip{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;border:1px solid var(--line-strong);background:var(--chip-bg);color:var(--chip-text)}.status-chip.going{color:var(--going)}.status-chip.absent{color:var(--absent)}.participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.participant-box{border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--panel)}.attendance-actions{display:grid;gap:8px;min-width:86px;align-self:center}.participant-status{font-weight:700}.participant-status.going{color:var(--going)}.participant-status.absent{color:var(--absent)}.participant-gender-line{color:var(--gender)}.event-form{display:grid;gap:12px}.event-form label{display:grid;gap:6px;font-size:14px}input:not([type=checkbox]):not([type=radio]){width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--panel-strong);color:var(--text)}select{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--panel-strong);color:var(--text)}input[type=radio],input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;margin:0;padding:0;accent-color:var(--accent)}.mode-tabs{display:flex;gap:8px;flex-wrap:wrap}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.time-range-mode{display:flex;gap:14px;flex-wrap:wrap}.time-range-mode label{display:flex;align-items:center;gap:6px;white-space:nowrap;writing-mode:horizontal-tb}.weekday-picker{display:flex;gap:12px;flex-wrap:wrap}.weekday-picker label{display:flex;align-items:center;gap:6px;white-space:nowrap;writing-mode:horizontal-tb}.gender-group{display:flex;gap:14px;flex-wrap:wrap}.gender-group label{display:flex;align-items:center;gap:6px;white-space:nowrap;writing-mode:horizontal-tb}.slot-list{display:grid;gap:8px}.slot-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.slot-row-wide{grid-template-columns:1.1fr .9fr .9fr .9fr auto}.attendee-list{display:grid;gap:4px}.error-text{color:var(--warn);font-size:14px}.success-text{color:var(--ok);font-size:14px}.muted-text{color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:16px;z-index:40;overflow-y:auto}.dialog{width:min(420px,100%);background:var(--panel-strong);border-radius:14px;padding:18px;display:grid;gap:14px;border:1px solid var(--line);color:var(--text);animation:rise-in .26s ease;max-height:min(88dvh,760px);overflow-y:auto}.composer-dialog{width:min(760px,100%)}.profile-settings-dialog{width:min(520px,100%)}.event-editor-dialog{width:min(480px,100%)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-header-actions{display:flex;align-items:center;gap:8px}.profile-mode-toggle{font-size:12px;padding:6px 9px}.dialog-close{border:1px solid var(--line-strong);background:var(--panel-strong);color:var(--text);border-radius:8px;padding:6px 10px;cursor:pointer;font-weight:700}.profile-summary{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--chip-bg)}.dialog p{color:var(--muted)}.dialog form{display:grid;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:0;background:var(--panel-strong);border-top:1px solid var(--line);padding-top:10px;padding-bottom:max(0px,env(safe-area-inset-bottom));z-index:1}.danger-btn{background:linear-gradient(125deg,#ef536f,#ff885e);border-color:#ef536f66;box-shadow:0 8px 16px #ef536f3d}.guest-manager{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:12px;display:grid;gap:10px}.guest-manager-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.guest-input-grid{display:grid;gap:10px}.guest-gender-group{display:grid;gap:6px;font-size:14px}.guest-gender-group>span{font-weight:700}.guest-add-row{display:flex;justify-content:flex-end}.guest-list{display:grid;gap:8px}.guest-item{border:1px solid var(--line);border-radius:10px;padding:8px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--panel-strong)}.guest-item p{margin:0;color:var(--text);font-size:14px}@media(max-width:1024px){.layout{grid-template-columns:1fr}}@media(max-width:640px){.app-shell{padding:12px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.top-bar{grid-template-columns:1fr;display:grid;gap:12px}.top-bar h1{font-size:26px}.day-cell{min-height:64px;padding:6px 5px}.event-hint{font-size:10px}.field-grid,.slot-row,.slot-row-wide{grid-template-columns:1fr}.dialog{width:100%;max-height:calc(100dvh - 10px);border-radius:18px 18px 0 0;margin-top:auto}.overlay{align-items:end;padding:8px}.dialog-header-actions{gap:6px}.calendar-header{flex-wrap:wrap}.calendar-header strong{order:-1;width:100%;text-align:center}.attendance-actions{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.event-card{flex-direction:column}.participant-grid{grid-template-columns:1fr}.guest-item{flex-direction:column;align-items:stretch}}.ec{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--panel-strong);display:grid;gap:10px;transition:transform .16s ease,box-shadow .18s ease;animation:rise-in .52s ease both}.ec:hover{transform:translateY(-1px);box-shadow:0 8px 20px #0a16361a}.ec:nth-child(2){animation-delay:40ms}.ec:nth-child(3){animation-delay:80ms}.ec:nth-child(4){animation-delay:.12s}.ec-header{display:grid;gap:4px}.ec-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.ec-title{font-size:15px;font-weight:700;line-height:1.3}.ec-status-badge{flex-shrink:0;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;border:1px solid var(--line-strong);background:var(--chip-bg);color:var(--chip-text);white-space:nowrap}.ec-status-badge.going{color:var(--going);border-color:var(--going);background:#1f94651a}.ec-status-badge.absent{color:var(--absent);border-color:var(--absent);background:#cf48601a}.ec-meta{color:var(--muted);font-size:13px}.ec-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ec-part{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--panel);display:grid;gap:3px}.ec-part-count{font-weight:700;font-size:13px}.ec-part-count.going{color:var(--going)}.ec-part-count.absent{color:var(--absent)}.ec-part-names{font-size:12px;color:var(--muted);word-break:break-all}.ec-actions{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:10px}.ec-attend-btns{display:flex;gap:6px}.ec-attend-btns .btn{flex:1}.ec-tool-btns{display:flex;gap:6px;justify-content:flex-end}.ec-tool-btns .btn{white-space:nowrap;font-size:13px;padding:6px 10px}.ec-guest-toggle.open{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ec-guest-panel{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel);display:grid;gap:8px;animation:rise-in .22s ease}.ec-guest-input-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ec-guest-nick{flex:1;min-width:90px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--panel-strong);color:var(--text);font:inherit;font-size:14px;transition:border-color .15s}.ec-guest-nick:focus{outline:none;border-color:var(--accent)}.ec-radio{display:flex;align-items:center;gap:4px;font-size:14px;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.ec-guest-add-btn{padding:6px 14px;font-size:13px;white-space:nowrap}.ec-guest-chips{display:flex;flex-wrap:wrap;gap:6px}.ec-guest-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;border:1px solid var(--line-strong);background:var(--chip-bg);color:var(--chip-text);padding:3px 6px 3px 10px;font-size:12px;font-weight:600}.ec-guest-chip.going{border-color:var(--going);color:var(--going)}.ec-guest-chip.absent{border-color:var(--absent);color:var(--absent)}.ec-chip-del{background:transparent;border:none;cursor:pointer;color:inherit;font-size:15px;line-height:1;padding:0 2px;opacity:.55;transition:opacity .15s}.ec-chip-del:hover{opacity:1}.ec-chip-del:disabled{cursor:not-allowed;opacity:.3}.ec-guest-empty{font-size:13px;color:var(--muted)}.ec:not(.ec--past){border-left:3px solid var(--accent);box-shadow:0 3px 14px #2467ff17}.event-date-label.next{font-size:15px;font-weight:800;color:var(--brand-orange);border-bottom-color:var(--brand-orange)}.ec--next{border-left-color:var(--brand-orange);box-shadow:0 4px 22px #ff8c3a38;background:var(--panel-strong)}.ec--next .ec-title{font-size:17px;background:linear-gradient(90deg,var(--brand-pink),var(--brand-orange));-webkit-background-clip:text;background-clip:text;color:transparent}.ec--past{opacity:.38;background:var(--panel);border-color:var(--line);border-left-width:1px;filter:grayscale(.55)}.ec--past *{text-decoration:line-through}.ec--past:hover{transform:none;box-shadow:none}.ec--past .ec-actions .btn{background:var(--panel-strong);color:var(--muted);border-color:var(--line-strong);box-shadow:none}.ec--past .ec-actions .btn:hover{transform:none;filter:none}.schedule-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--overlay);display:flex;flex-direction:column}.schedule-sheet{position:relative;display:flex;flex-direction:column;background:var(--bg);width:100%;height:100%;overflow:hidden}:root:not([data-theme=dark]) .schedule-sheet{background:#f6f7fb}:root:not([data-theme=dark]) .stats-section{background:#ebeef7;border-bottom-color:#d8ddef}:root:not([data-theme=dark]) .stat-card{background:#fff;border-color:#d8ddef}:root:not([data-theme=dark]) .settings-env-card{background:#ebeef7;border-color:#d8ddef}:root:not([data-theme=dark]) .settings-members-card{background:#ebeef7;border-color:#d8ddef}:root:not([data-theme=dark]) .settings-member-chip{background:#fff;border-color:#d8ddef}:root:not([data-theme=dark]) .settings-summary{background:#dde4f5}:root:not([data-theme=dark]) .game-card{background:#fff;border-color:#d8ddef}:root:not([data-theme=dark]) .timetable-session{background:#f6f7fb}:root:not([data-theme=dark]) .timetable-session.current{background:#2467ff0f}:root:not([data-theme=dark]) .schedule-tab-bar{border-bottom-color:#d8ddef}:root:not([data-theme=dark]) .schedule-tab-actions{border-bottom-color:#d8ddef}:root:not([data-theme=dark]) .player-chip{background:#f0f2f9;border-color:#d8ddef}.schedule-loading{flex:1;display:flex;align-items:center;justify-content:center}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.schedule-saving-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:10}.schedule-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 16px 0;flex-shrink:0}.schedule-header-meta{display:flex;flex-direction:column;gap:2px}.schedule-header-title{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--text)}.schedule-header-date{font-size:13px;font-weight:600;color:var(--text)}.schedule-header-sub{font-size:12px;color:var(--muted)}.schedule-header-sub strong{color:var(--accent);font-weight:700}.schedule-close-btn{background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:2px 6px;line-height:1;border-radius:6px;flex-shrink:0}.schedule-close-btn:hover{color:var(--text)}.schedule-tabs{display:flex;flex-direction:column;margin-top:12px;flex-shrink:0}.schedule-tab-bar{display:flex;padding:0 16px;border-bottom:1px solid var(--line)}.schedule-tab-actions{display:flex;align-items:center;gap:6px;padding:6px 16px 8px;justify-content:flex-end;border-bottom:1px solid var(--line)}.schedule-tab{background:none;border:none;padding:10px 14px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.schedule-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.schedule-tab:disabled{opacity:.4;cursor:not-allowed}.schedule-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.settings-tab{display:flex;flex-direction:column;gap:12px;padding:16px}.settings-env-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.settings-env-title{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--text)}.settings-env-icon{font-size:16px}.settings-slider-group{display:flex;flex-direction:column;gap:6px}.settings-slider-label{font-size:13px;color:var(--muted)}.settings-slider-label strong{color:var(--text);font-weight:700}.settings-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--pct, 50%),var(--line) var(--pct, 50%),var(--line) 100%);outline:none;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);box-shadow:0 2px 6px #2467ff66;cursor:pointer}.settings-slider-ticks{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:0 2px}.settings-slider-ticks .active{color:var(--accent);font-weight:700}.settings-summary{background:var(--accent-soft);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.settings-summary-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted)}.settings-summary-row.total{border-top:1px solid var(--line);padding-top:8px;margin-top:2px;font-size:13px;font-weight:700;color:var(--text)}.settings-summary-val{font-weight:600;color:var(--text)}.settings-summary-total{font-size:22px;font-weight:800;color:var(--accent);font-family:var(--font-display)}.btn-generate{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:var(--accent);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.btn-generate:hover{opacity:.9}.btn-generate:active{transform:scale(.98)}.btn-generate:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-generate-icon{font-size:18px;display:inline-block}.btn-generate:not(:disabled):hover .btn-generate-icon{animation:spin .5s linear}.settings-quick-add{background:var(--panel-strong);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.settings-quick-add-title{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.02em}.settings-quick-add-rows{display:flex;flex-direction:column;gap:8px}.settings-quick-add-row{display:flex;align-items:center;gap:10px}.settings-quick-add-gender{font-size:13px;font-weight:700;width:32px;flex-shrink:0}.settings-quick-add-gender.male{color:#4fa3ff}.settings-quick-add-gender.female{color:#ff7fc9}.settings-quick-add-stepper{display:flex;align-items:center;gap:0;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow:hidden;flex:1}.stepper-btn{background:transparent;border:none;color:var(--text);font-size:16px;font-weight:700;width:36px;height:34px;cursor:pointer;transition:background .1s;flex-shrink:0}.stepper-btn:hover:not(:disabled){background:var(--panel)}.stepper-btn:disabled{opacity:.4;cursor:not-allowed}.stepper-val{flex:1;text-align:center;font-size:13px;font-weight:600;color:var(--text)}.settings-quick-add-btn{border:none;border-radius:8px;font-size:13px;font-weight:700;padding:0 16px;height:34px;cursor:pointer;transition:opacity .15s,transform .1s;flex-shrink:0;white-space:nowrap}.settings-quick-add-btn.male{background:#4fa3ff2e;color:#4fa3ff}.settings-quick-add-btn.female{background:#ff4fa72e;color:#ff7fc9}.settings-quick-add-btn:hover:not(:disabled){opacity:.8}.settings-quick-add-btn:active:not(:disabled){transform:scale(.97)}.settings-quick-add-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}:root:not([data-theme=dark]) .settings-quick-add{background:#ebeef7;border-color:#d8ddef}:root:not([data-theme=dark]) .settings-quick-add-stepper{background:#fff;border-color:#d8ddef}:root:not([data-theme=dark]) .settings-quick-add-btn.male{background:#1e78dc1f;color:#1e78dc}:root:not([data-theme=dark]) .settings-quick-add-btn.female{background:#d21e8c1a;color:#d21e8c}.settings-members-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:16px;padding:16px}.settings-members-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--text);margin-bottom:12px;flex-wrap:wrap}.settings-members-icon{font-size:16px}.settings-gender-badges{display:flex;gap:4px;margin-left:auto}.gender-badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.gender-badge.male{background:#15a6ff24;color:#1580cc}.gender-badge.female{background:#ff4fa724;color:#cc2070}.gender-badge.unknown{background:var(--line);color:var(--muted)}:root[data-theme=dark] .gender-badge.male{background:#15a6ff33;color:#5cb7ff}:root[data-theme=dark] .gender-badge.female{background:#ff4fa733;color:#ff7fc9}.settings-members-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.settings-member-chip{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--text)}.member-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.member-dot[data-gender=male]{background:#15a6ff}.member-dot[data-gender=female]{background:#ff4fa7}.member-dot[data-gender=unknown]{background:var(--muted)}.member-name{flex:1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-guest-tag{font-size:10px;background:var(--line);color:var(--muted);border-radius:4px;padding:1px 4px}.settings-warn{margin-top:8px;font-size:12px;color:var(--warn)}.schedule-tab-content{display:flex;flex-direction:column;gap:0}.stats-section{padding:16px;background:var(--panel-strong);border-bottom:1px solid var(--line)}.stats-section-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.stat-card.me{border-color:var(--accent);background:var(--accent-soft)}.stat-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-count{font-size:12px;color:var(--muted)}.stat-count strong{font-size:20px;font-weight:800;color:var(--text);font-family:var(--font-display);line-height:1;margin-right:2px}.stat-label{font-size:10px;letter-spacing:.05em;text-transform:uppercase}.stat-type-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.stat-type-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;letter-spacing:.02em}.stat-type-badge.type-male{background:#15a6ff24;color:#0d7fc7}.stat-type-badge.type-female{background:#ff4fa724;color:#c0196e}.stat-type-badge.type-mixed{background:#6b4dd624;color:#6b4dd6}.stat-type-badge.type-jab{background:#9c641c21;color:#9c641c}:root[data-theme=dark] .stat-type-badge.type-male{background:#15a6ff33;color:#5cb7ff}:root[data-theme=dark] .stat-type-badge.type-female{background:#ff4fa733;color:#ff7fc9}:root[data-theme=dark] .stat-type-badge.type-mixed{background:#6b4dd638;color:#a98bff}:root[data-theme=dark] .stat-type-badge.type-jab{background:#d9963c33;color:#d9963c}.timetable{display:flex;flex-direction:column}.timetable-session{padding:14px 16px;border-bottom:1px solid var(--line);transition:background .2s}.timetable-session.past{opacity:.55}.timetable-session.current{background:#2467ff0a}:root[data-theme=dark] .timetable-session.current{background:#4aa9ff0f}.session-header-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.session-badge-num{background:var(--text);color:var(--bg);font-size:10px;font-weight:700;padding:3px 8px;border-radius:20px;letter-spacing:.04em;white-space:nowrap}.timetable-session.current .session-badge-num{background:var(--accent)}.session-title{font-size:15px;font-weight:700;color:var(--text)}.session-now-badge{margin-left:auto;background:var(--brand-orange);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.05em}.game-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}.timetable-session.past .game-card{background:var(--bg)}.game-card-header{display:flex;align-items:center;gap:6px;margin-bottom:10px}.game-num-badge{font-size:11px;font-weight:700;color:var(--muted);background:var(--line);padding:2px 7px;border-radius:6px}.match-type-badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.02em}.match-type-badge[data-type=male]{background:#15a6ff26;color:#0d7fc7}.match-type-badge[data-type=female]{background:#ff4fa726;color:#c0196e}.match-type-badge[data-type=mixed]{background:#6b4dd626;color:#6b4dd6}.match-type-badge[data-type=jab]{background:#9c641c21;color:#9c641c}:root[data-theme=dark] .match-type-badge[data-type=male]{background:#15a6ff33;color:#5cb7ff}:root[data-theme=dark] .match-type-badge[data-type=female]{background:#ff4fa733;color:#ff7fc9}:root[data-theme=dark] .match-type-badge[data-type=mixed]{background:#6b4dd638;color:#a98bff}:root[data-theme=dark] .match-type-badge[data-type=jab]{background:#d9963c33;color:#d9963c}.court-label{margin-left:auto;font-size:11px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:2px}.court-pin{font-size:10px}.game-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.team-col{display:flex;flex-direction:column;gap:5px}.vs-divider{font-size:11px;font-weight:800;color:var(--muted);text-align:center}.player-chip{display:block;padding:7px 10px;background:var(--bg);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s;text-align:center}.timetable-session.past .player-chip{cursor:default}.timetable-session:not(.past) .player-chip:hover{background:var(--accent-soft);border-color:var(--accent)}.player-chip.me{border-color:var(--brand-orange);background:#ff8c3a14;color:var(--text);font-weight:700}.resting-row{margin-top:10px;display:flex;flex-direction:column;gap:6px}.resting-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.resting-chips{display:flex;flex-wrap:wrap;gap:6px}.resting-chip{padding:4px 12px;background:var(--chip-bg);border:1px solid var(--line);border-radius:20px;font-size:12px;font-weight:500;color:var(--chip-text)}.resting-chip.me{border-color:var(--brand-orange);color:var(--brand-orange);font-weight:700}.gender-tag{display:inline-block;margin-left:3px;font-size:10px;font-weight:700;vertical-align:middle;opacity:.8}.gender-tag--male{color:#5b9cf6}.gender-tag--female{color:#f472b6}.substitute-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:var(--overlay);display:flex;align-items:flex-end;padding:0}.substitute-modal{width:100%;background:var(--panel-strong);border-radius:20px 20px 0 0;padding:20px 16px 32px;display:flex;flex-direction:column;gap:18px;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.substitute-modal-header{display:flex;align-items:center;justify-content:space-between}.substitute-modal-title{font-size:17px;font-weight:800;color:var(--text)}.substitute-close{background:none;border:none;font-size:20px;color:var(--muted);cursor:pointer;padding:2px 8px;border-radius:8px}.substitute-section-label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:8px}.substitute-current-player{display:flex;align-items:center;gap:12px;background:var(--accent);color:#fff;border-radius:12px;padding:12px 16px}.substitute-avatar{width:36px;height:36px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex-shrink:0}.substitute-current-name{font-size:16px;font-weight:700}.substitute-candidates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.substitute-candidate-btn{padding:14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;font-size:15px;font-weight:600;color:var(--text);cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.substitute-candidate-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.substitute-no-candidates{font-size:13px;color:var(--muted);text-align:center;padding:16px 0;margin:0}.substitute-warning{display:flex;align-items:flex-start;gap:8px;background:#ff4f4f14;border:1px solid rgba(255,79,79,.2);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--warn);line-height:1.5}.substitute-warning-icon{flex-shrink:0}.substitute-confirm-step{display:flex;flex-direction:column;gap:16px}.substitute-confirm-swap{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px}.substitute-swap-out{font-size:15px;font-weight:700;color:var(--warn)}.substitute-swap-arrow{font-size:18px;color:var(--muted)}.substitute-swap-in{font-size:15px;font-weight:700;color:var(--accent)}.substitute-confirm-text{font-size:13px;color:var(--muted);text-align:center;margin:0;line-height:1.5}.substitute-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.substitute-action-btn{padding:14px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;border:none}.substitute-action-btn--cancel{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.substitute-action-btn--ok{background:var(--accent);color:#fff}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:24px}.confirm-dialog{background:var(--panel-strong);border-radius:18px;padding:24px 20px 20px;width:100%;max-width:320px;display:flex;flex-direction:column;gap:20px;animation:fadeScaleIn .2s ease-out}@keyframes fadeScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.confirm-message{font-size:15px;font-weight:600;color:var(--text);text-align:center;margin:0;line-height:1.5}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.confirm-btn{padding:13px;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;border:none}.confirm-btn--cancel{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.confirm-btn--ok{background:var(--accent);color:#fff}.schedule-stale-dot{display:inline-block;margin-left:4px;color:var(--brand-orange, #f97316);font-size:10px;vertical-align:middle;animation:blink 1.4s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.tab-regen-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg);border:1px solid var(--line);border-radius:20px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;align-self:center}.tab-regen-btn:hover{background:var(--panel);color:var(--text)}.tab-regen-btn.stale{background:#f973161a;border-color:#f9731659;color:var(--brand-orange, #f97316)}.tab-regen-btn:disabled{opacity:.4;cursor:not-allowed}.tab-share-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg);border:1px solid var(--line);border-radius:20px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;align-self:center}.tab-share-btn:hover{background:#3b82f614;border-color:#3b82f659;color:#3b82f6}.tab-share-btn.copied{background:#22c55e1a;border-color:#22c55e59;color:#22c55e}.tab-reset-btn{display:flex;align-items:center;justify-content:center;padding:6px 12px;background:var(--bg);border:1px solid var(--line);border-radius:20px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;align-self:center}.tab-reset-btn:hover{background:#ef444414;border-color:#ef444459;color:#ef4444}.tab-reset-btn:disabled{opacity:.4;cursor:not-allowed}.tab-stale-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand-orange, #f97316);margin-left:5px;vertical-align:middle;animation:blink 1.4s infinite}.regen-icon{display:inline-block;transition:transform .2s}.regen-icon.spinning{animation:spinOnce .6s linear infinite}@keyframes spinOnce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stale-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f9731614;border-bottom:1px solid rgba(249,115,22,.25);padding:10px 16px;flex-shrink:0}.stale-banner-body{display:flex;align-items:flex-start;gap:8px;min-width:0;flex:1}.stale-banner-icon{color:var(--brand-orange, #f97316);font-size:14px;flex-shrink:0;margin-top:1px}.stale-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.stale-banner-title{font-size:13px;font-weight:600;color:var(--brand-orange, #f97316)}.stale-banner-detail{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stale-added{color:#22c55e;font-weight:500}.stale-removed{color:var(--warn);font-weight:500}.stale-regen-btn{flex-shrink:0;padding:6px 14px;background:var(--brand-orange, #f97316);color:#fff;border:none;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;transition:opacity .15s}.stale-regen-btn:hover{opacity:.85}.stale-regen-btn:disabled{opacity:.4;cursor:not-allowed}:root[data-theme=dark] .stale-banner{background:#f973161f;border-bottom-color:#f973164d}.member-new-tag{font-size:10px;font-weight:700;background:#22c55e26;color:#16a34a;border-radius:4px;padding:1px 5px;flex-shrink:0;letter-spacing:.03em}.member-removed-tag{font-size:10px;font-weight:700;background:#ef44441f;color:#dc2626;border-radius:4px;padding:1px 5px;flex-shrink:0}:root[data-theme=dark] .member-new-tag{background:#22c55e33;color:#4ade80}:root[data-theme=dark] .member-removed-tag{background:#ef44442e;color:#f87171}.settings-member-chip.is-new{border-color:#22c55e59;background:#22c55e0d}.settings-member-chip.is-removed{border-color:#ef444440;background:#ef44440a;opacity:.75}:root[data-theme=dark] .settings-member-chip.is-new{border-color:#4ade8059;background:#4ade8012}:root[data-theme=dark] .settings-member-chip.is-removed{border-color:#f871714d;background:#f871710f}@media(max-width:640px){.ec-parts{grid-template-columns:1fr}.ec-actions{gap:8px}}.top-bar-actions{display:flex;align-items:center;gap:8px}.rankings-nav-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:#ffc1071f;border:1px solid rgba(255,193,7,.35);border-radius:20px;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s;white-space:nowrap}.rankings-nav-btn:hover{background:#ffc10738;border-color:#ffc10799}.score-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.score-team-indicator{display:flex;align-items:center}.score-team-indicator.winner .score-input{border-color:#22c55e;color:#16a34a;font-weight:700}.score-team-indicator.loser .score-input{border-color:var(--line);color:var(--muted)}:root[data-theme=dark] .score-team-indicator.winner .score-input{border-color:#4ade80;color:#4ade80}.score-input{width:44px;height:34px;text-align:center;font-size:16px;font-weight:600;background:var(--bg);border:1.5px solid var(--line);border-radius:8px;color:var(--text);outline:none;transition:border-color .15s;-moz-appearance:textfield}.score-input:focus{border-color:var(--accent)}.score-input::-webkit-inner-spin-button,.score-input::-webkit-outer-spin-button{-webkit-appearance:none}.score-colon{font-size:18px;font-weight:700;color:var(--muted);line-height:1}.score-status{font-size:12px;font-weight:600;margin-left:2px}.score-status.saving{color:var(--muted)}.score-status.ok{color:#22c55e}:root[data-theme=dark] .score-status.ok{color:#4ade80}.score-save-btn{padding:4px 10px;background:var(--accent);border:none;border-radius:6px;font-size:12px;font-weight:600;color:#fff;cursor:pointer;margin-left:4px;transition:opacity .15s}.score-save-btn:hover{opacity:.85}.score-reset-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:6px;font-size:14px;color:var(--muted);cursor:pointer;margin-left:2px;transition:background .15s,color .15s,border-color .15s}.score-reset-btn:hover:not(:disabled){background:#ef444414;border-color:#ef4444;color:#ef4444}:root[data-theme=dark] .score-reset-btn:hover:not(:disabled){background:#f871711f;border-color:#f87171;color:#f87171}.score-reset-btn:disabled{opacity:.4;cursor:default}.rankings-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:60px 24px;color:var(--muted);font-size:15px;text-align:center}.rankings-empty-sub{font-size:13px;color:var(--muted);opacity:.7}.rankings-table-wrap{padding:16px;overflow-x:auto}.rankings-filter-bar{display:flex;justify-content:flex-end;margin-bottom:10px}.rankings-guest-toggle{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.rankings-guest-toggle:hover{background:var(--panel-strong);color:var(--text)}.rankings-guest-toggle.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.rankings-row--guest{opacity:.75;cursor:default}.rankings-table{width:100%;border-collapse:collapse;font-size:14px}.rankings-table th{padding:8px 10px;text-align:center;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;border-bottom:2px solid var(--line)}.rankings-table th.rank-col{width:40px}.rankings-table th.name-col{text-align:left}.rankings-table th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .12s}.rankings-table th.sortable-th:hover{color:var(--text)}.rankings-table th.sort-active{color:var(--accent)}.sort-arrow{display:inline-block;margin-left:3px;font-size:9px;opacity:.5;vertical-align:middle}.sort-active .sort-arrow{opacity:1;color:var(--accent)}.rankings-row td{padding:10px;text-align:center;border-bottom:1px solid var(--line);color:var(--text)}.rankings-row td.rank-col{font-size:16px}.rankings-row td.name-col{text-align:left;font-weight:600}.rankings-row.rank-gold td{background:#ffc10712}.rankings-row.rank-silver td{background:#c0c0c012}.rankings-row.rank-bronze td{background:#cd7f3212}.wins-col{color:#16a34a;font-weight:700}.draws-col{color:var(--muted);font-weight:600}.losses-col{color:#dc2626;font-weight:600}.diff-pos{color:#16a34a;font-weight:700}.diff-neg{color:#dc2626;font-weight:700}:root[data-theme=dark] .wins-col{color:#4ade80}:root[data-theme=dark] .losses-col{color:#f87171}:root[data-theme=dark] .diff-pos{color:#4ade80}:root[data-theme=dark] .diff-neg{color:#f87171}:root[data-theme=dark] .rankings-row.rank-gold td{background:#ffc1071a}:root[data-theme=dark] .rankings-row.rank-silver td{background:#c0c0c014}:root[data-theme=dark] .rankings-row.rank-bronze td{background:#cd7f3217}.rankings-row--clickable{cursor:pointer;transition:background .12s}.rankings-row--clickable:hover td{background:var(--accent-soft)!important}.match-history{padding:12px 16px;display:flex;flex-direction:column;gap:10px}.match-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel-strong)}.match-card--win{border-left:3px solid #22c55e}.match-card--loss{border-left:3px solid #ef4444}.match-card--draw{border-left:3px solid var(--muted)}:root[data-theme=dark] .match-card--win{border-left-color:#4ade80}:root[data-theme=dark] .match-card--loss{border-left-color:#f87171}.match-card-header{display:flex;align-items:center;gap:6px;padding:8px 12px 6px}.match-result-badge{min-width:26px;text-align:center;padding:2px 7px;border-radius:6px;font-size:12px;font-weight:800;letter-spacing:.02em}.result-win{background:#22c55e26;color:#16a34a}.result-loss{background:#ef444421;color:#dc2626}.result-draw{background:#64748b1f;color:var(--muted)}:root[data-theme=dark] .result-win{background:#4ade802e;color:#4ade80}:root[data-theme=dark] .result-loss{background:#f871712e;color:#f87171}.match-date{font-size:12px;font-weight:700;color:var(--text)}.match-session-label{font-size:11px;color:var(--muted)}.match-event-title{font-size:12px;color:var(--muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.match-card-body{display:flex;align-items:center;gap:6px;padding:4px 12px 12px}.match-home-team{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.match-away-team{flex:1;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0}.match-score-block{display:flex;align-items:center;gap:4px;flex-shrink:0}.match-score-num{font-size:18px;font-weight:900;color:var(--text);min-width:20px;text-align:center;line-height:1}.match-player{font-size:13px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:3px}.match-player--me{font-weight:700;color:var(--accent)}
