@charset "UTF-8";:root{--bg-color: #050505;--text-main: #FFFFFF;--text-sec: rgba(255, 255, 255, .6);--text-muted: rgba(255, 255, 255, .4);--text-on-accent: #FFFFFF;--accent: #FF3B30;--accent-glow: rgba(255, 59, 48, .35);--border-radius: 16px;--glass-bg: rgba(30, 30, 35, .6);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 20px;--glass-saturate: 100%;--card-shadow: 0 8px 32px 0 var(--bg-dark-30);--z-modal: 9999;--z-tooltip: 10000;--overlay-dark: rgba(0, 0, 0, .3);--overlay-tooltip: rgba(20, 20, 25, .96);--modal-backdrop: rgba(0, 0, 0, .55);--shadow-overlay: 0 10px 40px rgba(0, 0, 0, .3);--shadow-tooltip: 0 8px 32px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .1);--toast-bg-success: rgba(30, 35, 30, .92);--toast-bg-warning: rgba(35, 35, 30, .92);--toast-bg-danger: rgba(35, 30, 30, .92);--toast-bg-info: rgba(30, 30, 35, .92);--tile-bg: #FFFFFF;--tile-border: rgba(0, 0, 0, .18);--tile-shadow: 0 1px 2px rgba(0, 0, 0, .35);--color-success: #4CD964;--color-success-solid: #28A745;--color-warning: #EAB308;--color-info: #60A5FA;--color-danger: #FF3B30;--color-success-bg: rgba(76, 217, 100, .15);--color-success-tint: rgba(76, 217, 100, .07);--color-success-glow: rgba(76, 217, 100, .3);--color-warning-bg: rgba(234, 179, 8, .2);--color-info-bg: rgba(96, 165, 250, .18);--color-danger-bg: rgba(255, 59, 48, .15);--surface-01: rgba(255, 255, 255, .03);--surface-02: rgba(255, 255, 255, .05);--surface-03: rgba(255, 255, 255, .08);--surface-04: rgba(255, 255, 255, .1);--surface-05: rgba(255, 255, 255, .15);--color-owner: #BF7FE0;--color-owner-bg: rgba(175, 82, 222, .2);--color-moderator: #FFCC00;--color-moderator-bg: rgba(255, 204, 0, .15);--color-gold: #FFD700;--color-silver: #C0C0C0;--color-bronze: #CD7F32;--ach-career: #FF3B30;--ach-hand: #60A5FA;--ach-yaku: #4CD964;--ach-yakuman: #FFD700;--ach-dora: #FF9F0A;--ach-kan: #C08457;--ach-sanma: #FF6FB5;--ach-dice: #EAB308;--ach-openskill: #BF7FE0;--ach-event: #8B9DFF;--ach-timing: #64D2FF;--c-career: var(--ach-career);--c-hand: var(--ach-hand);--c-yaku: var(--ach-yaku);--c-yakuman: var(--ach-yakuman);--c-dora: var(--ach-dora);--c-kan: var(--ach-kan);--c-sanma: var(--ach-sanma);--c-dice: var(--ach-dice);--c-openskill: var(--ach-openskill);--c-event: var(--ach-event);--c-timing: var(--ach-timing);--hero-tint-1: rgba(255, 59, 48, .16);--hero-tint-2: rgba(255, 255, 255, .03);--color-info-light: #BFDBFE;--color-slate: #94A3B8;--color-tournament: #FF6B00;--surface-dark: #1e1e23;--glow-secondary: #3a3a40;--input-bg: rgba(0, 0, 0, .3);--input-border: rgba(255, 255, 255, .1);--input-border-focus: rgba(255, 255, 255, .2);--toggle-track-off: rgba(255, 255, 255, .18);--toggle-track-border: rgba(255, 255, 255, .12);--toggle-thumb-bg: #FFFFFF;--toggle-thumb-shadow: 0 2px 4px rgba(0, 0, 0, .35);--accent-hover: #D63026;--bg-dark-10: rgba(0, 0, 0, .1);--bg-dark-20: rgba(0, 0, 0, .2);--bg-dark-30: rgba(0, 0, 0, .3);--bg-dark-40: rgba(0, 0, 0, .4);--bg-dark-50: rgba(0, 0, 0, .5);--bg-dark-70: rgba(0, 0, 0, .7);--bg-dark-80: rgba(0, 0, 0, .8);--bg-dark-95: rgba(0, 0, 0, .95);--surface-06: rgba(255, 255, 255, .2);--surface-07: rgba(255, 255, 255, .3);--surface-95: rgba(255, 255, 255, .95);--color-danger-30: rgba(255, 59, 48, .3);--color-danger-40: rgba(255, 59, 48, .4);--color-warning-30: rgba(234, 179, 8, .3);--color-success-30: rgba(76, 217, 100, .3);--color-info-30: rgba(96, 165, 250, .3);--bg-dialog-light: rgba(40, 40, 45, .98);--bg-dialog-dark: rgba(30, 30, 35, .98);--bg-modal: rgba(30, 30, 35, .7);--bg-dropdown: rgba(30, 30, 35, .95);--bg-solid: rgb(30, 30, 35);--glow-danger: rgba(100, 0, 0, .4);color-scheme:dark}[data-theme=light]{color-scheme:light;--bg-color: #F5F6F9;--text-main: #111827;--text-sec: rgba(17, 24, 39, .65);--text-muted: rgba(17, 24, 39, .44);--text-on-accent: #FFFFFF;--accent: #C62828;--accent-glow: rgba(220, 38, 38, .24);--accent-hover: #B71C1C;--glass-bg: rgba(255, 255, 255, .68);--glass-border: rgba(0, 0, 0, .06);--glass-blur: 24px;--glass-saturate: 190%;--card-shadow: 0 1px 1px 0 rgba(255, 255, 255, .95) inset, 0 0 0 1px rgba(255, 255, 255, .5) inset, 0 2px 4px 0 rgba(17, 24, 39, .02), 0 6px 18px -2px rgba(17, 24, 39, .05), 0 16px 36px -4px rgba(17, 24, 39, .04);--overlay-dark: rgba(255, 255, 255, .75);--overlay-tooltip: rgba(255, 255, 255, .96);--modal-backdrop: rgba(0, 0, 0, .38);--shadow-overlay: 0 4px 20px rgba(17, 24, 39, .08);--shadow-tooltip: 0 10px 38px rgba(0, 0, 0, .14), 0 1px 2px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .08);--toast-bg-success: rgba(240, 253, 244, .96);--toast-bg-warning: rgba(254, 252, 232, .96);--toast-bg-danger: rgba(254, 242, 242, .96);--toast-bg-info: rgba(239, 246, 255, .96);--tile-bg: #FFFFFF;--tile-border: rgba(0, 0, 0, .22);--tile-shadow: 0 1px 3px rgba(0, 0, 0, .12);--color-success: #16A34A;--color-success-solid: #16A34A;--color-warning: #D97706;--color-info: #2563EB;--color-danger: #DC2626;--color-success-bg: rgba(22, 163, 74, .12);--color-success-tint: rgba(22, 163, 74, .06);--color-success-glow: rgba(22, 163, 74, .2);--color-warning-bg: rgba(217, 119, 6, .12);--color-info-bg: rgba(37, 99, 235, .12);--color-danger-bg: rgba(220, 38, 38, .12);--surface-01: rgba(0, 0, 0, .02);--surface-02: rgba(0, 0, 0, .035);--surface-03: rgba(0, 0, 0, .055);--surface-04: rgba(0, 0, 0, .075);--surface-05: rgba(0, 0, 0, .11);--surface-06: rgba(0, 0, 0, .16);--surface-07: rgba(0, 0, 0, .22);--surface-95: rgba(0, 0, 0, .88);--color-owner: #7C3AED;--color-owner-bg: rgba(124, 58, 237, .12);--color-moderator: #D97706;--color-moderator-bg: rgba(217, 119, 6, .12);--color-gold: #B45309;--color-silver: #64748B;--color-bronze: #A16207;--ach-career: #C62828;--ach-hand: #2563EB;--ach-yaku: #16A34A;--ach-yakuman: #B45309;--ach-dora: #D97706;--ach-kan: #9A3412;--ach-sanma: #DB2777;--ach-dice: #CA8A04;--ach-openskill: #7C3AED;--ach-event: #4F46E5;--ach-timing: #0284C7;--hero-tint-1: rgba(254, 235, 238, .88);--hero-tint-2: rgba(255, 255, 255, .7);--color-info-light: #1D4ED8;--color-slate: #64748B;--color-tournament: #EA580C;--surface-dark: #F1F3F7;--glow-secondary: rgba(251, 191, 36, .18);--glow-danger: rgba(239, 68, 68, .16);--input-bg: rgba(255, 255, 255, .82);--input-border: rgba(0, 0, 0, .08);--input-border-focus: rgba(198, 40, 40, .4);--toggle-track-off: rgba(0, 0, 0, .16);--toggle-track-border: rgba(0, 0, 0, .1);--toggle-thumb-bg: #FFFFFF;--toggle-thumb-shadow: 0 2px 5px rgba(0, 0, 0, .18), 0 0 1px rgba(0, 0, 0, .15);--bg-dark-10: rgba(0, 0, 0, .03);--bg-dark-20: rgba(0, 0, 0, .05);--bg-dark-30: rgba(0, 0, 0, .07);--bg-dark-40: rgba(0, 0, 0, .1);--bg-dark-50: rgba(0, 0, 0, .14);--bg-dark-70: rgba(0, 0, 0, .22);--bg-dark-80: rgba(0, 0, 0, .32);--bg-dark-95: rgba(0, 0, 0, .88);--color-danger-30: rgba(220, 38, 38, .25);--color-danger-40: rgba(220, 38, 38, .35);--color-warning-30: rgba(217, 119, 6, .25);--color-success-30: rgba(22, 163, 74, .25);--color-info-30: rgba(37, 99, 235, .25);--bg-dialog-light: rgba(255, 255, 255, .92);--bg-dialog-dark: rgba(248, 249, 250, .95);--bg-modal: rgba(255, 255, 255, .82);--bg-dropdown: rgba(255, 255, 255, .92);--bg-solid: rgb(255, 255, 255)}.empty-state{text-align:center;padding:40px 20px}.empty-state__icon{opacity:.3;margin:0 auto 16px;color:var(--text-muted)}.empty-state__text{color:var(--text-sec);font-size:14px;margin:0}.page-loading{padding-top:100px;text-align:center;color:var(--text-sec)}.page-error{margin-top:40px;padding:22px 18px;text-align:left;background:linear-gradient(135deg,var(--color-danger-bg),var(--glass-bg));border:1px solid var(--color-danger-30);border-radius:var(--border-radius);box-shadow:0 12px 36px var(--glow-danger)}.page-error__title{color:var(--color-danger);margin:0 0 8px;font-size:22px;line-height:1.2}.page-error__message{color:var(--text-sec);margin:0;font-size:15px;line-height:1.45}.section-title{font-size:14px;text-transform:uppercase;color:var(--text-sec);margin-left:10px;margin-top:20px;margin-bottom:8px}.section-header-row{display:flex;align-items:center;gap:6px}.section-header-icon{color:var(--text-muted);flex-shrink:0}.info-box{background:var(--surface-01);border:1px solid var(--surface-03);border-radius:16px;padding:20px}.access-notice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--color-info);border-radius:8px;background:var(--color-info-bg);color:var(--color-info-light);font-size:13px;font-weight:500;line-height:1.35}.access-notice--success{border-color:var(--color-success-30);background:var(--color-success-bg);color:var(--color-success)}.access-notice--success .access-notice__icon{color:var(--color-success)}.access-notice--warning{border-color:var(--color-warning);background:var(--color-warning-bg);color:var(--text-main)}.access-notice--warning .access-notice__icon{color:var(--color-warning)}.access-notice__icon{flex-shrink:0;margin-top:1px;color:var(--color-info)}.access-notice__text{min-width:0}.toggle-switch{display:flex;align-items:center;justify-content:space-between;padding:14px;background:var(--surface-02);border:1px solid var(--surface-04);border-radius:14px;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #0000000a}.toggle-switch--disabled{opacity:.5}.toggle-switch__label{font-size:14px;font-weight:500}.toggle-switch__track{width:44px;height:24px;border-radius:12px;position:relative;transition:background .2s cubic-bezier(.25,.1,.25,1);border:1px solid var(--toggle-track-border, transparent);box-sizing:border-box;flex-shrink:0}.toggle-switch__thumb{width:18px;height:18px;border-radius:50%;background:var(--toggle-thumb-bg, #FFFFFF);box-shadow:var(--toggle-thumb-shadow, 0 2px 4px rgba(0, 0, 0, .25));position:absolute;top:2px;transition:left .2s cubic-bezier(.25,.1,.25,1)}.confirm-overlay{position:fixed;inset:0;background:var(--bg-dark-70);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px;animation:fadeIn .2s ease}.confirm-dialog{background:linear-gradient(135deg,var(--bg-dialog-light),var(--bg-dialog-dark));border-radius:16px;padding:24px;max-width:320px;width:100%;box-shadow:0 8px 32px var(--bg-dark-40);animation:scaleUp .2s ease}.confirm-dialog--danger{border:1px solid var(--color-danger-30)}.confirm-dialog--warning{border:1px solid var(--color-warning-30)}.confirm-dialog__head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.confirm-dialog__icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%}.confirm-dialog__icon--danger,.confirm-dialog__icon--success{color:var(--text-on-accent)}.confirm-dialog__icon--danger{background:var(--color-danger)}.confirm-dialog__icon--success{background:var(--color-success-solid)}.confirm-dialog__icon--warning{background:var(--color-warning-bg);color:var(--color-warning)}.confirm-dialog__title{flex:1;margin:0;color:var(--text-main);font-size:18px}.confirm-dialog__close{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.confirm-dialog__close:hover:not(:disabled){color:var(--text-main)}.confirm-dialog__close:disabled{cursor:not-allowed;opacity:.5}.confirm-dialog__message{margin:0 0 20px;color:color-mix(in srgb,var(--text-main) 80%,transparent);font-size:14px;line-height:1.5}.confirm-dialog__action{width:100%}.confirm-dialog__action:disabled{opacity:.5}.complete-profile-dialog__head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.complete-profile-dialog__icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent)}.complete-profile-dialog__title{margin:0;color:var(--text-main);font-size:18px}.complete-profile-dialog__description{margin:0 0 16px;color:var(--text-sec);font-size:14px;line-height:1.5}.complete-profile-dialog__fields{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.complete-profile-dialog__field-label{color:var(--text-muted);font-size:13px}.complete-profile-dialog__input{width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--surface-04);border-radius:8px;background:var(--surface-02);color:var(--text-main);font-size:14px;box-sizing:border-box}.complete-profile-dialog__error{margin:0 0 12px;color:var(--color-danger);font-size:13px}.complete-profile-dialog__action{width:100%}.complete-profile-dialog__action:disabled{opacity:.5}.registration-wizard-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.registration-wizard{width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);overflow:hidden auto;background:linear-gradient(135deg,var(--bg-dialog-light),var(--bg-dialog-dark));border:1px solid var(--surface-04);border-radius:18px;box-shadow:0 10px 40px var(--bg-dark-50);animation:scaleUp .2s ease}.registration-wizard__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid var(--surface-03)}.registration-wizard__event{min-width:0;display:flex;align-items:center;gap:10px}.registration-wizard__event-icon{width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-success);background:var(--color-success-bg);border:1px solid var(--color-success-solid)}.registration-wizard__event-copy{min-width:0}.registration-wizard__eyebrow,.registration-wizard__progress{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;font-weight:700}.registration-wizard__event-name{margin-top:2px;color:var(--text-main);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registration-wizard__close{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.registration-wizard__close:disabled{cursor:not-allowed;opacity:.5}.registration-wizard__progress{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 18px 0}.registration-wizard__dots{display:flex;align-items:center;gap:5px}.registration-wizard__dot{width:6px;height:6px;border-radius:99px;background:var(--surface-04);transition:width .2s,background .2s}.registration-wizard__dot--done{background:var(--color-success-solid)}.registration-wizard__dot--active{width:22px;background:var(--text-main)}.registration-wizard__body{padding:12px 18px 18px}.registration-wizard__title{margin:0 0 6px;color:var(--text-main);font-size:20px;font-weight:800;line-height:1.2}.registration-wizard__description{margin:0 0 16px;color:var(--text-sec);font-size:13px;line-height:1.5}.registration-wizard__field-label{display:block;margin-bottom:7px;color:var(--text-main);font-size:12.5px;font-weight:700}.registration-wizard__field-helper{display:block;margin-top:3px;color:var(--text-sec);font-size:12px;font-weight:500;line-height:1.4}input.registration-wizard__input{margin-bottom:0;border-color:var(--surface-04);border-radius:12px;background:var(--bg-dark-30)}input.registration-wizard__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.registration-wizard__preview{margin-top:10px;padding:8px 10px;border-radius:10px;background:var(--surface-02);border:1px dashed var(--surface-04);color:var(--text-sec);display:flex;align-items:center;gap:8px;font-size:12px}.registration-wizard__preview-avatar{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:800}.registration-wizard__name-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:14px}.registration-wizard__info-banner,.registration-wizard__warning-banner{border-radius:10px;padding:10px 12px;display:flex;align-items:flex-start;gap:8px;color:var(--text-sec);font-size:12px;line-height:1.45}.registration-wizard__info-banner{background:var(--color-info-bg);border:1px solid var(--color-info)}.registration-wizard__info-banner svg{color:var(--color-info);flex-shrink:0;margin-top:1px}.registration-wizard__warning-banner{margin-bottom:14px;background:var(--color-warning-bg);border:1px solid var(--color-warning)}.registration-wizard__warning-banner svg{color:var(--color-warning);flex-shrink:0;margin-top:1px}.registration-wizard__summary{margin-bottom:14px;border:1px solid var(--surface-03);border-radius:12px;overflow:hidden;background:var(--surface-01)}.registration-wizard__summary-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--surface-02)}.registration-wizard__summary-row:last-child{border-bottom:none}.registration-wizard__summary-label{color:var(--text-muted);font-size:11.5px;letter-spacing:.4px;text-transform:uppercase;font-weight:700}.registration-wizard__summary-value{min-width:0;color:var(--text-main);font-size:13px;font-weight:700;text-align:right;overflow-wrap:anywhere}.registration-wizard__error{margin:0 0 12px;color:var(--color-danger);font-size:13px;text-align:center;line-height:1.4}.registration-wizard__primary{margin-top:18px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.registration-wizard__primary:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.registration-wizard__back{width:100%;margin-top:10px;padding:6px;border:none;background:transparent;color:var(--text-muted);font-size:13px;font-family:inherit;cursor:pointer}.registration-wizard__back:disabled{cursor:not-allowed;opacity:.5}@media(max-width:360px){.registration-wizard__name-grid{grid-template-columns:1fr}}.segment-btn.segment-btn--active{background:var(--surface-04);color:var(--text-main);box-shadow:0 4px 10px var(--bg-dark-20)}.tournament-page{display:flex;flex-direction:column;gap:14px;padding-bottom:10px}.tournament-page__header{padding:0 2px}.tournament-page__badge-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tournament-page__header-spacer{flex:1}.tournament-page__club-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tournament-page__club-name{color:var(--text-sec);font-size:13px;font-weight:600}.tournament-page__title{margin:0;color:var(--text-main);font-size:26px;line-height:1.16;font-weight:800;letter-spacing:0;overflow-wrap:anywhere}.tournament-page__emoji{display:inline-block;margin-left:4px;font-size:.9em}.tournament-page__tabs{display:flex;gap:2px;padding:3px;border:1px solid var(--surface-02);border-radius:12px;background:var(--bg-dark-30)}.tournament-page__tab{flex:1 1 auto;min-width:0;min-height:52px;padding:6px 2px;border:none;border-radius:8px;background:transparent;color:var(--text-sec);font:inherit;font-size:10.5px;font-weight:700;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.tournament-page__tab--active{background:var(--surface-04);color:var(--text-main);box-shadow:0 4px 10px var(--bg-dark-20)}.tournament-page__tab--active .tournament-page__tab-icon{color:var(--accent)}.tournament-page__tab--active .tournament-page__tab-count{background:var(--accent);color:var(--text-main)}.tournament-page__tab-label{min-width:0;max-width:100%;display:inline-flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis}.tournament-page__tab-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.tournament-page__tab-count{min-width:18px;padding:1px 6px;border-radius:99px;background:var(--surface-04);color:var(--text-muted);font-size:10px;line-height:1.4}.tournament-page__tab-panel{display:flex;flex-direction:column;gap:12px}.tournament-page__pending-banner{width:100%;min-height:74px;padding:12px 14px;border:1px solid var(--color-warning-30);border-radius:14px;background:linear-gradient(135deg,var(--color-warning-bg),var(--surface-01));color:var(--text-main);font:inherit;display:flex;align-items:center;gap:10px;cursor:pointer;text-align:left}.tournament-page__pending-icon{width:38px;height:38px;border-radius:50%;background:var(--color-warning);color:var(--bg-color);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tournament-page__pending-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tournament-page__pending-copy strong{font-size:14px;line-height:1.2}.tournament-page__pending-copy span{color:var(--text-sec);font-size:12px;line-height:1.3}.tournament-page__date-strip{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;padding:16px 18px}.tournament-page__date-deadline{border-left:1px solid var(--surface-03);padding-left:14px;display:flex;flex-direction:column;justify-content:center;min-width:0}.tournament-page__eyebrow{margin-bottom:6px;color:var(--text-muted);font-size:11px;line-height:1.2;font-weight:700;letter-spacing:0;text-transform:uppercase}.tournament-page__date-days{display:flex;align-items:baseline;gap:6px;color:var(--text-main);font-size:32px;line-height:1;font-weight:800}.tournament-page__date-separator{color:var(--text-muted);font-size:28px;font-weight:800;line-height:1}.tournament-page__deadline-value{color:var(--text-main);font-size:13px;line-height:1.35;font-weight:700}.tournament-page__capacity{padding:14px 16px}.tournament-page__capacity-head,.tournament-page__capacity-label,.tournament-page__capacity-value{display:flex;align-items:center}.tournament-page__capacity-head{justify-content:space-between;gap:12px;margin-bottom:7px}.tournament-page__capacity-label,.tournament-page__capacity-value{gap:6px;color:var(--text-sec);font-size:12px}.tournament-page__capacity-value strong{color:var(--text-main)}.tournament-page__capacity-track{height:6px;border-radius:99px;overflow:hidden;background:var(--surface-03)}.tournament-page__capacity-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--color-warning))}.tournament-page__capacity-meta{margin-top:7px;color:var(--text-muted);font-size:11px;line-height:1.4}.tournament-page__description-card{padding:16px}.tournament-page__description-card p{margin:0;color:var(--text-main);font-size:14px;line-height:1.55;white-space:pre-wrap}.tournament-page__expandable{display:flex;flex-direction:column;gap:6px}.tournament-page__expandable-text--clamped{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.tournament-page__expandable-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;color:var(--text-sec);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.tournament-page__participants-summary{display:flex;align-items:center;gap:12px;padding:12px 14px}.tournament-page__ring{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at center,var(--glass-bg) 48%,transparent 50%),conic-gradient(var(--color-warning) 0 25%,var(--surface-04) 25% 100%);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-main);font-size:12px;font-weight:800}.tournament-page__participants-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tournament-page__participants-copy strong{color:var(--text-main);font-size:14px;line-height:1.25}.tournament-page__participants-copy span{color:var(--text-sec);font-size:11.5px;line-height:1.3}.tournament-page__participants-add{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border-radius:10px;background:var(--accent);color:var(--text-main);font-size:12px;font-weight:800}.tournament-page__organizer-card{display:flex;align-items:center;gap:12px;padding:14px;color:var(--text-main);text-decoration:none;-webkit-tap-highlight-color:transparent}a.tournament-page__organizer-card:hover,a.tournament-page__organizer-card:focus,a.tournament-page__organizer-card:visited{color:var(--text-main);text-decoration:none}.tournament-page__organizer-avatar{width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;font-weight:800}.tournament-page__organizer-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tournament-page__organizer-copy strong,.tournament-page__organizer-copy a{color:var(--text-main);font-size:15px;text-decoration:none}.tournament-page__organizer-copy span{color:var(--text-sec);font-size:12px}.tournament-page__map-card{padding:0;overflow:hidden}.tournament-page__map-embed{display:block;width:100%;height:160px;border:0;border-bottom:1px solid var(--surface-03)}.tournament-page__map-preview{display:block;position:relative;height:120px;border-bottom:1px solid var(--surface-03);background:linear-gradient(135deg,var(--color-success-bg),transparent),repeating-linear-gradient(0deg,var(--surface-03) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,var(--surface-03) 0 1px,transparent 1px 28px),var(--surface-dark)}.tournament-page__map-preview:before,.tournament-page__map-preview:after{content:"";position:absolute;background:var(--surface-04)}.tournament-page__map-preview:before{left:0;right:0;top:52%;height:6px}.tournament-page__map-preview:after{top:0;bottom:0;left:38%;width:5px}.tournament-page__map-pin{position:absolute;top:42%;left:48%;width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);box-shadow:0 4px 16px var(--color-danger-30)}.tournament-page__map-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px}.tournament-page__map-body strong{color:var(--text-main);font-size:14px;line-height:1.4}.tournament-page__map-body span{color:var(--text-sec);font-size:12.5px}.tournament-page__route-btn{margin-top:10px;min-height:38px;border-radius:10px;border:1px solid var(--surface-04);background:var(--surface-02);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:700;text-decoration:none}.tournament-page__tz-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;line-height:1;letter-spacing:.3px;padding:2px 6px;border-radius:4px;border:1px solid var(--surface-03);background:var(--surface-02);color:var(--text-sec);text-transform:uppercase;vertical-align:middle}.tournament-page__schedule-card{padding:16px}.tournament-page__schedule{display:flex;flex-direction:column;gap:18px}.tournament-page__schedule-day{display:flex;align-items:flex-start;gap:12px}.tournament-page__schedule-date{width:38px;height:38px;border-radius:10px;border:1px solid var(--surface-03);background:var(--surface-02);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase}.tournament-page__schedule-date span{color:var(--text-muted);font-size:9px;font-weight:800;line-height:1}.tournament-page__schedule-date strong{margin-top:3px;color:var(--text-main);font-size:14px;line-height:1}.tournament-page__schedule-content{min-width:0;flex:1}.tournament-page__schedule-title{margin-bottom:9px;display:flex;flex-direction:column;gap:1px}.tournament-page__schedule-title strong{color:var(--text-main);font-size:14px;line-height:1.25}.tournament-page__schedule-title span{color:var(--text-sec);font-size:11.5px}.tournament-page__timeline{position:relative;margin-left:5px;padding-left:13px;border-left:2px solid var(--surface-03)}.tournament-page__timeline-item{position:relative;min-height:28px;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:baseline;gap:10px;padding:5px 0}.tournament-page__timeline-item--muted .tournament-page__timeline-dot{background:var(--surface-04)}.tournament-page__timeline-item--muted .tournament-page__timeline-title{color:var(--text-sec)}.tournament-page__timeline-item--milestone .tournament-page__timeline-dot{background:var(--accent);box-shadow:0 0 0 3px var(--color-danger-30)}.tournament-page__timeline-dot{position:absolute;left:-18px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--text-sec)}.tournament-page__timeline-time{color:var(--text-muted);font-size:12px;line-height:1.3;font-weight:800;font-variant-numeric:tabular-nums}.tournament-page__timeline-title{color:var(--text-main);font-size:13.5px;line-height:1.35;font-weight:600}.tournament-page__contact-card{padding:14px 16px}.tournament-page__contact-row{display:flex;align-items:center;gap:10px}.tournament-page__contact-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-info-bg);color:var(--color-info);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tournament-page__contact-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tournament-page__contact-copy strong,.tournament-page__contact-copy .tournament-page__contact-handle{color:var(--text-main);font-size:13.5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}.tournament-page__contact-copy span,.tournament-page__contact-copy small{color:var(--text-sec);font-size:11.5px;line-height:1.35}.tournament-page__contact-handle{font-weight:700;align-self:flex-start;text-decoration-color:var(--surface-05);text-underline-offset:3px}.tournament-page__contact-links{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--surface-03)}.tournament-page__contact-link{display:flex;align-items:center;gap:8px;min-width:0;color:var(--color-info);font-size:13px;text-decoration:none}.tournament-page__contact-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-page__contact-link-icon{flex-shrink:0;color:var(--text-muted)}.tournament-page__contact-payment{margin-top:12px;padding-top:12px;border-top:1px solid var(--surface-03)}.tournament-page__contact-payment-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px}.tournament-page__contact-payment-md{font-size:13.5px;color:var(--text-sec)}.tournament-page__pairings{display:flex;flex-direction:column;gap:10px}.tournament-page__pairings-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:2px 0 4px}.tournament-page__pairings-pager-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:var(--surface-03);color:var(--text-main);cursor:pointer;flex-shrink:0}.tournament-page__pairings-pager-btn:disabled{color:var(--text-muted);cursor:default;opacity:.5}.tournament-page__pairings-pager-label{min-width:92px;text-align:center;color:var(--text-main);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.tournament-page__pairings-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.tournament-page__pairings-table{padding:8px;border-radius:8px;background:var(--surface-02);min-width:0}.tournament-page__pairings-table-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.tournament-page__pairings-table-head strong{color:var(--text-main);font-size:12px;font-weight:700}.tournament-page__pairings-table-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--surface-04);color:var(--text-main);flex-shrink:0}.tournament-page__pairings-seats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tournament-page__pairings-seat{display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:6px;background:var(--surface-01);color:var(--text-main);font-size:12px;min-width:0}.tournament-page__pairings-wind{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;background:var(--surface-04);color:var(--accent);font-size:11px;font-weight:700;flex-shrink:0}.tournament-page__pairings-seat-icon{color:var(--text-muted);flex-shrink:0}.tournament-page__pairings-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.tournament-page__pairings-name.dashed-link{text-underline-offset:2px;padding-bottom:1px}.tournament-page__pairings-meta-chip{display:inline-flex;align-items:center;gap:5px}.tournament-page__pairings-meta-chip svg{flex-shrink:0;opacity:.6}.tournament-page__tables-card{display:flex;flex-direction:column;padding:4px 14px}.tournament-page__tables-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--surface-02);text-decoration:none;color:var(--text-main)}.tournament-page__tables-row:last-child{border-bottom:none}.tournament-page__tables-number{font-size:13.5px;font-weight:700}.tournament-page__tables-status{color:var(--text-sec);font-size:13px;text-align:right}.tournament-manager{display:flex;flex-direction:column;gap:12px}.tournament-manager__summary{display:flex;align-items:center;gap:12px;padding:12px 14px}.tournament-manager__ring{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at center,var(--glass-bg) 48%,transparent 50%),conic-gradient(var(--color-warning) 0 var(--tournament-manager-ring),var(--surface-04) var(--tournament-manager-ring) 100%);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:800}.tournament-manager__summary-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tournament-manager__summary-copy strong{color:var(--text-main);font-size:14px;line-height:1.25}.tournament-manager__summary-copy span{color:var(--text-sec);font-size:11.5px;line-height:1.3}.tournament-manager__add-btn{min-height:38px;padding:8px 11px;border:none;border-radius:10px;background:var(--color-success-solid);color:var(--text-on-accent);font:inherit;font-size:12px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;cursor:pointer;transition:transform .1s,box-shadow .2s}.tournament-manager__add-btn:active{transform:scale(.97)}.tournament-manager__subtabs{display:flex;gap:4px;border-bottom:1px solid var(--surface-03)}.tournament-manager__status-tab{min-height:42px;padding:10px 8px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--text-sec);font:inherit;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.tournament-manager__status-tab--active{color:var(--text-main);border-bottom-color:var(--color-warning)}.tournament-manager__status-tab--active strong{background:var(--color-warning);color:var(--bg-color)}.tournament-manager__status-tab strong{min-width:18px;padding:1px 6px;border-radius:99px;background:var(--surface-04);color:var(--text-muted);font-size:10.5px;line-height:1.3;text-align:center}.tournament-manager__hint{padding:10px 12px;border:1px solid var(--color-info);border-radius:10px;background:var(--color-info-bg);color:var(--text-sec);display:flex;align-items:center;gap:8px;font-size:11.5px;line-height:1.35}.tournament-manager__hint svg{color:var(--color-info);flex-shrink:0}.tournament-manager__rows{display:flex;flex-direction:column;gap:6px}.tournament-manager__order-toggle{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--text-sec);font-size:13px;cursor:pointer}.tournament-manager__row{min-height:48px;padding:6px 10px;border:1px solid var(--surface-03);border-radius:10px;background:var(--surface-01);display:flex;align-items:center;gap:8px}.tournament-manager__rank{flex-shrink:0;min-width:18px;text-align:right;color:var(--text-muted);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.tournament-manager__avatar{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:800}.tournament-manager__row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.tournament-manager__row-copy strong{color:var(--text-main);font-size:13.5px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-manager__row-copy strong.dashed-link{display:inline-block;max-width:100%;text-underline-offset:2px}.tournament-manager__row-copy span{color:var(--text-sec);font-size:11px;line-height:1.25}.tournament-manager__missing-chip{width:fit-content;display:inline-flex;align-items:center;gap:4px;color:var(--color-warning)!important;font-weight:800}.tournament-manager__row-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.tournament-manager__icon-btn{width:36px;height:36px;border:1px solid var(--surface-04);border-radius:10px;background:var(--surface-02);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.tournament-manager__icon-btn--approve{border-color:var(--color-success-solid);background:var(--color-success-solid);color:var(--text-on-accent)}.tournament-manager__icon-btn--reject{border-color:var(--color-danger-30);background:var(--color-danger-bg);color:var(--color-danger)}.tournament-manager__icon-btn:disabled{cursor:not-allowed;opacity:.42}.tournament-leaderboard__subtabs{justify-content:center}.tournament-leaderboard__subtabs .tournament-manager__status-tab{flex:1;justify-content:center;max-width:220px}.tournament-leaderboard__subtabs .tournament-manager__status-tab--active{border-bottom-color:var(--color-success)}.tournament-page__withdraw{margin:8px 0 4px;display:flex;flex-direction:column;align-items:center}.tournament-page__withdraw-btn{width:auto;padding:8px 18px;font-size:13px;font-weight:600;line-height:1;border-radius:999px;background:transparent;border:1px solid var(--surface-05);color:var(--text-sec);transition:background .2s ease,color .2s ease,border-color .2s ease}.tournament-page__withdraw-btn:hover,.tournament-page__withdraw-btn:active{background:var(--color-danger-bg);border-color:var(--color-danger-30);color:var(--color-danger)}.tournament-page__withdraw-error{margin:10px 0 0;color:var(--color-danger);font-size:13px;text-align:center}@media(max-width:360px){.tournament-page__tab{font-size:11px;gap:3px}.tournament-page__date-strip{grid-template-columns:1fr}.tournament-page__date-deadline{border-left:none;border-top:1px solid var(--surface-03);padding:12px 0 0}}.editable-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}.editable-section__title{margin-bottom:6px}.editable-section__edit-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin:-4px -4px 0 0;padding:0;border:none;border-radius:8px;background:var(--surface-03);color:var(--text-sec);cursor:pointer;transition:background .2s ease,color .2s ease}.editable-section__edit-btn:hover{background:var(--surface-04);color:var(--text-main)}.editable-section__overlay-wrap{position:relative}.editable-section__edit-btn--overlay{position:absolute;top:10px;right:10px;z-index:2;margin:0;background:var(--surface-04)}.editable-section__overlay-wrap--editable .tournament-page__capacity-head{padding-right:44px}.editable-section__overlay-wrap--editable .tournament-page__capacity-track{width:calc(100% - 44px)}.editable-section__overlay-wrap--editable .tournament-page__contact-row{padding-right:44px}.editable-section__actions{display:flex;gap:8px;margin-top:14px}.editable-section__save{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:none;border-radius:8px;background:var(--color-success-bg);color:var(--color-success);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s ease}.editable-section__cancel{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:none;border-radius:8px;background:var(--surface-03);color:var(--text-sec);cursor:pointer;transition:opacity .2s ease}.editable-section__save:disabled,.editable-section__cancel:disabled{opacity:.4;cursor:not-allowed}.editor-fields{display:flex;flex-direction:column;gap:12px}.editor-field__label{display:block;margin-bottom:4px;color:var(--text-sec);font-size:12px}.editor-field__input{width:100%;padding:10px 12px;border:1px solid var(--surface-04);border-radius:8px;background:var(--bg-dark-80, rgba(0, 0, 0, .3));color:var(--text-main);font:inherit;font-size:14px;box-sizing:border-box}.editor-field__input:focus{outline:none;border-color:var(--accent)}.editor-field__input::placeholder{color:var(--text-muted)}.editor-field__row{display:flex;gap:10px}.editor-field__row>*{flex:1;min-width:0}.editor-field__hint{margin:6px 0 0;color:var(--text-muted);font-size:12px;line-height:1.4}.tournament-settings{display:flex;flex-direction:column;gap:14px}.tournament-settings__readout{display:flex;align-items:center;justify-content:space-between;gap:12px}.tournament-settings__readout-label{color:var(--text-sec);font-size:14px}.tournament-settings__tag-readout{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.tournament-settings__tag-grid{display:flex;flex-wrap:wrap;gap:8px}.tournament-settings__tag-option{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-01);border-radius:12px;cursor:pointer}.tournament-settings__checkbox-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--text-main)}.tournament-settings__status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tournament-settings__status-round{color:var(--text-sec);font-size:13px}.tournament-settings__actions{display:flex;flex-direction:column;gap:10px;margin-top:12px}.tournament-settings__actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.tournament-settings__generating{display:flex;align-items:center;gap:10px;color:var(--text-sec);font-size:14px;padding:12px 0}.tournament-settings__candidates{display:flex;flex-direction:column;gap:10px}.tournament-settings__candidate{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--surface-04);border-radius:10px;background:var(--surface-01);cursor:pointer}.tournament-settings__candidate--selected{border-color:var(--accent);background:var(--surface-02)}.tournament-settings__candidate-head{display:flex;align-items:center;gap:10px}.tournament-settings__candidate-title{flex:1;font-weight:700;font-size:14px}.tournament-settings__candidate-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0}.tournament-settings__candidate-toggle:hover{background:var(--surface-03);color:var(--text-main)}.tournament-settings__candidate-toggle-icon{transition:transform .15s ease}.tournament-settings__candidate-toggle-icon--open{transform:rotate(180deg)}.tournament-settings__candidate-scores{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-muted);font-size:12px}.tournament-settings__scores-tooltip{flex-shrink:0;color:var(--text-sec)}.schedule-editor{display:flex;flex-direction:column;gap:16px}.schedule-editor__empty{margin:0;color:var(--text-sec);font-size:14px}.schedule-editor__day{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--surface-03);border-radius:12px;background:var(--surface-01)}.schedule-editor__day-head{display:flex;align-items:center;gap:10px}.schedule-editor__day-head .editor-field__input{flex:1;min-width:0}.schedule-editor__day-controls,.schedule-editor__item-controls{display:flex;gap:4px;flex-shrink:0}.schedule-editor__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:var(--surface-03);color:var(--text-sec);cursor:pointer;transition:background .2s ease,color .2s ease}.schedule-editor__icon-btn:hover:not(:disabled){background:var(--surface-04);color:var(--text-main)}.schedule-editor__icon-btn:disabled{opacity:.3;cursor:not-allowed}.schedule-editor__items{display:flex;flex-direction:column;gap:10px;padding-left:12px;border-left:2px solid var(--surface-03)}.schedule-editor__item{display:flex;flex-direction:column;gap:8px}.schedule-editor__item-row{display:flex;align-items:center;gap:8px}.schedule-editor__item-row>.editor-field__input:not(.schedule-editor__time){flex:1;min-width:0}.schedule-editor__item-row>:first-child:not(.schedule-editor__time){flex:1;min-width:0}.schedule-editor__time{width:90px;flex-shrink:0}.schedule-editor__add-item,.schedule-editor__add-day{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border:1px dashed var(--surface-05);border-radius:8px;background:transparent;color:var(--text-sec);font-size:13px;font-weight:600;cursor:pointer}.schedule-editor__add-item:hover,.schedule-editor__add-day:hover{color:var(--text-main);border-color:var(--text-muted)}.markdown-text{color:var(--text-main);font-size:14px;line-height:1.55}.markdown-text>:first-child{margin-top:0}.markdown-text>:last-child{margin-bottom:0}.markdown-text p{margin:0 0 8px}.markdown-text ul,.markdown-text ol{margin:0 0 8px;padding-left:20px}.markdown-text li{margin:2px 0}.markdown-text a{color:var(--color-info)}.markdown-text strong{font-weight:700}.event-page__description-md{margin-bottom:12px;color:var(--text-sec)}.tournament-page__description-md.tournament-page__expandable-text--clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.description-editor{display:flex;flex-direction:column;gap:8px}.description-editor__bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.description-editor__tools,.description-editor__modes{display:flex;gap:4px}.description-editor__tool{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:var(--surface-03);color:var(--text-sec);cursor:pointer;transition:background .2s ease,color .2s ease}.description-editor__tool:hover{background:var(--surface-04);color:var(--text-main)}.description-editor__mode{padding:6px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer}.description-editor__mode--active{background:var(--surface-03);color:var(--text-main)}.description-editor__preview{min-height:80px;padding:12px 14px;border:1px solid var(--surface-04);border-radius:10px;background:var(--bg-dark-80, rgba(0, 0, 0, .3))}.description-editor__preview-empty{margin:0;color:var(--text-muted);font-size:14px}.description-editor__count{align-self:flex-end;color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.flex-center{display:flex;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-col{display:flex;flex-direction:column}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.image-badge{position:absolute;width:22px;height:22px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.92);box-shadow:0 1px 3px #00000047;transition:background .2s ease,color .2s ease}.image-badge:disabled{cursor:progress;opacity:.7}.image-badge--edit{background:#fff;color:#1f2937}.image-badge--edit:hover,.image-badge--edit:active{background:var(--accent);color:#fff}.image-badge--remove{background:#fff;color:#1f2937}.image-badge--remove:hover,.image-badge--remove:active{background:var(--color-danger);color:#fff}.app-error__actions{display:flex;flex-direction:column;align-items:stretch;gap:10px}.app-error__copy{align-self:flex-start;padding:7px 14px;border-radius:8px;border:1px solid var(--surface-05);background:transparent;color:var(--text-sec);font-size:13px;font-weight:600;cursor:pointer}.app-error__detail{display:block;max-height:40vh;overflow:auto;-webkit-overflow-scrolling:touch;padding:10px 12px;border-radius:8px;background:var(--surface-02);border:1px solid var(--glass-border);color:var(--text-sec);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45;white-space:pre-wrap;word-break:break-word;user-select:text;-webkit-user-select:text}*{-webkit-tap-highlight-color:transparent}html{overflow-x:clip;overscroll-behavior-x:none}body{margin:0;background-color:var(--bg-color);color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding-bottom:100px;min-height:100vh;max-width:100vw;overflow-x:clip;overscroll-behavior-x:none;background-attachment:fixed}body.live-game-body,body.tournament-registration-body{padding-bottom:0}body.live-game-body:before,body.live-game-body:after{display:none;animation:none}body:before{content:"";position:fixed;top:-10%;left:-10%;width:60%;height:60%;background:radial-gradient(circle,var(--accent-glow),transparent 70%);filter:blur(60px);z-index:-1;animation:float 10s infinite ease-in-out}body:after{content:"";position:fixed;bottom:-10%;right:-10%;width:70%;height:70%;background:radial-gradient(circle,var(--glow-danger),transparent 70%);filter:blur(60px);z-index:-1;animation:float 15s infinite ease-in-out reverse}[data-theme=light] body:after{background:radial-gradient(circle,var(--glow-secondary),transparent 70%)}@keyframes float{0%{transform:translate(0)}50%{transform:translate(20px,30px)}to{transform:translate(0)}}.portrait-lock{display:flex;position:fixed;inset:0;z-index:9999;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:var(--bg-color);color:var(--text-main);text-align:center}.portrait-lock__title{margin:0;font-size:18px;font-weight:700}.portrait-lock__message{margin:0;font-size:14px;color:var(--text-sec);max-width:280px;line-height:1.5}.toast-container{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:380px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-tooltip);color:var(--text-main);font-size:14px;animation:toast-fade-in .25s cubic-bezier(.16,1,.3,1) forwards;cursor:pointer;transition:opacity .2s ease}.toast:active{opacity:.8}.toast--success{border-left:4px solid var(--color-success);background:var(--toast-bg-success)}.toast--warning{border-left:4px solid var(--color-warning);background:var(--toast-bg-warning)}.toast--danger{border-left:4px solid var(--color-danger);background:var(--toast-bg-danger)}.toast--info{border-left:4px solid var(--color-info);background:var(--toast-bg-info)}.toast__message{flex-grow:1;font-weight:500;line-height:1.4}.toast__close{display:flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;color:var(--text-muted);border-radius:50%;cursor:pointer}.toast__close:hover{color:var(--text-main);background:var(--surface-03)}@keyframes toast-fade-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.game-rules-section{padding:16px;margin-bottom:12px}.sticky-heading{display:flex;align-items:center;justify-content:center;gap:6px;position:sticky;background:var(--overlay-dark);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--surface-04);box-shadow:var(--shadow-overlay);margin-bottom:8px;padding:8px 12px;border-radius:12px}.sticky-heading>h2,.sticky-heading>h3{margin:0;color:var(--text-main);text-align:center}.sticky-heading--section{top:72px;z-index:2}.sticky-heading--group{top:116px;z-index:1}.sticky-heading__title--section{font-size:18px;font-weight:700}.sticky-heading__title--group{font-size:16px;font-weight:650}.rule-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--surface-03);color:var(--text-main);font-size:12px;font-weight:600;line-height:1}.rule-link{color:var(--text-sec);font-size:13px;display:inline-flex;align-items:center;gap:4px;padding:8px 10px;background:var(--surface-02);border-radius:8px}.rule-links{margin:0 16px 16px;display:flex;flex-wrap:wrap;gap:8px}.rule-group{margin-top:14px}.autocomplete-container{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-dropdown);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;margin-top:4px;max-height:200px;overflow-y:auto;box-shadow:0 8px 32px 0 var(--bg-dark-40);z-index:10}.autocomplete-item{padding:12px 16px;color:var(--text-main);cursor:pointer;transition:all .2s;border-bottom:1px solid var(--surface-02);display:flex;justify-content:space-between;align-items:center;gap:8px}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--surface-04)}.autocomplete-item-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.autocomplete-item-name{font-size:15px;font-weight:500;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-item-username{font-size:13px;color:var(--text-sec);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-highlight{background:var(--surface-05);color:var(--surface-95);font-weight:600;border-radius:3px;padding:0 2px}@keyframes kf_1{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes kf_2{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes kf_3{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes kf_4{0%{opacity:0}to{opacity:1}}@keyframes kf_5{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}h1{font-size:32px;font-weight:800;margin:20px 16px 15px;color:var(--text-main);letter-spacing:-.5px}h2{font-size:18px;color:var(--text-sec);margin:0 0 12px;font-weight:500}input{width:100%;padding:16px;margin-bottom:12px;background:var(--bg-dark-30);border:1px solid transparent;border-radius:var(--border-radius);color:var(--text-main);font-size:16px;box-sizing:border-box;transition:all .2s}input:focus{outline:none;border-color:var(--accent);background:var(--bg-dark-50)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.container{padding:0 16px;animation:kf_1 .34s cubic-bezier(.2,.7,.2,1)}@media(prefers-reduced-motion:reduce){.container{animation:kf_2 .2s ease}}.background-glow{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.background-glow__spot{position:absolute;border-radius:50%}.background-glow__spot--accent{top:-10%;right:-20%;width:300px;height:300px;background:var(--accent);filter:blur(120px);opacity:.2}.background-glow__spot--secondary{bottom:10%;left:-10%;width:250px;height:250px;background:var(--glow-secondary);filter:blur(100px);opacity:.3}[data-theme=light] .background-glow__spot--accent{top:-8%;right:-10%;width:420px;height:420px;background:radial-gradient(circle,rgba(239,68,68,.2) 0%,rgba(251,146,60,.12) 45%,transparent 75%);filter:blur(80px);opacity:.9}[data-theme=light] .background-glow__spot--secondary{bottom:15%;left:-10%;width:380px;height:380px;background:radial-gradient(circle,rgba(251,191,36,.16) 0%,rgba(253,186,116,.1) 45%,transparent 75%);filter:blur(80px);opacity:.9}.card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate, 100%));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate, 100%));border:1px solid var(--glass-border);border-radius:var(--border-radius);padding:20px;margin-bottom:16px;box-shadow:var(--card-shadow, 0 8px 32px 0 var(--bg-dark-30))}.btn{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border:none;width:100%;padding:16px;border-radius:var(--border-radius);font-size:17px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px var(--color-danger-30);transition:transform .1s,box-shadow .2s}.btn:active{transform:scale(.97)}.btn-secondary{padding:12px;background:var(--surface-04);border:none;border-radius:10px;color:var(--text-main);font-size:14px;font-weight:600;cursor:pointer}.btn-danger{padding:12px;background:var(--color-danger-bg);border:1px solid var(--color-danger-30);border-radius:10px;color:var(--color-danger);font-size:14px;font-weight:600;cursor:pointer}.btn-danger-solid{padding:12px;background:var(--color-danger);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .2s}.btn-danger-solid:active{transform:scale(.97)}.btn-success{padding:12px;background:var(--color-success-solid);border:none;border-radius:10px;color:var(--text-on-accent);font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .2s}.btn-success:active{transform:scale(.97)}.btn-status{width:100%;box-sizing:border-box;padding:12px;border-radius:12px;font-size:15px;font-weight:600;text-align:center}.date-input{width:100%;padding:12px;background:var(--surface-03);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-main);font-size:14px;color-scheme:dark;box-sizing:border-box}.date-input:focus{outline:none;border-color:var(--accent)}.date-input::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6;cursor:pointer}.date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--surface-02)}.list-item:last-child{border-bottom:none}button.list-item{background:transparent;border:none;border-bottom:1px solid var(--surface-02);color:inherit;font:inherit;text-align:left;width:100%;cursor:pointer}button.list-item:last-child{border-bottom:none}.segmented-control{background:var(--bg-dark-30);border-radius:12px;padding:4px;display:flex;margin-bottom:20px;position:relative;border:1px solid var(--surface-02)}.segment-btn{flex:1;border:none;background:transparent;color:var(--text-sec);padding:10px;font-size:14px;font-weight:600;cursor:pointer;border-radius:8px;transition:all .3s;z-index:2}.segment-btn.active{background:var(--surface-04);color:var(--text-main);box-shadow:0 4px 10px var(--bg-dark-20)}[data-theme=light] .segmented-control{background:#0000000a;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 2px #00000008}[data-theme=light] .segmented-control .segment-btn{color:var(--text-sec)}[data-theme=light] .segmented-control .segment-btn:hover{color:var(--text-main)}[data-theme=light] .segmented-control .segment-btn.active{background:#fffffff2;color:var(--text-main);box-shadow:0 2px 8px -1px #0000001f,0 1px 2px #0000000f,inset 0 1px #fff;border:.5px solid rgba(0,0,0,.04)}.filter-chip{padding:7px 14px;font-size:12px;border-radius:20px;background:var(--surface-02);border:1px solid var(--glass-border);color:var(--text-sec);cursor:pointer;transition:all .2s ease}.filter-chip:hover{color:var(--text-main);border-color:var(--surface-06)}.filter-chip--active{background:var(--color-danger-bg);border-color:var(--accent);color:var(--accent)}.modal-overlay{position:fixed;inset:0;background:var(--modal-backdrop, var(--bg-dark-40));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;justify-content:center;align-items:center;padding:16px;box-sizing:border-box;overscroll-behavior:contain;animation:kf_4 .2s ease}.modal-content{background:var(--bg-modal);backdrop-filter:blur(20px) saturate(var(--glass-saturate, 100%));-webkit-backdrop-filter:blur(20px) saturate(var(--glass-saturate, 100%));border:1px solid var(--surface-04);width:min(400px,100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border-radius:16px;padding:20px;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:0 10px 40px var(--bg-dark-50);animation:kf_3 .2s ease}[data-theme=light] .modal-content{border:1px solid rgba(255,255,255,.85);box-shadow:0 1px #fffffff2 inset,0 0 0 1px #0000000a,0 20px 50px -10px #11182724}.custom-select-container{position:relative}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px 16px;background:var(--bg-dark-30);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--surface-04);border-radius:12px;color:var(--text-main);font-size:16px;font-family:inherit;cursor:pointer;transition:all .2s;text-align:left;box-sizing:border-box;min-height:50px}.custom-select-trigger:hover{background:var(--bg-dark-40)}.custom-select-trigger.custom-select-open{border-color:var(--accent);background:var(--bg-dark-50)}.custom-select-sm{padding:8px 12px;font-size:14px;border-radius:8px}.custom-select-sm.custom-select-open{border-color:var(--accent)}.custom-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-icon{flex-shrink:0;color:var(--text-sec)}.custom-select-chevron{flex-shrink:0;color:var(--text-sec);transition:transform .2s}.custom-select-chevron-rotated{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-solid);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:12px;max-height:220px;overflow-y:auto;box-shadow:0 8px 32px 0 var(--bg-dark-50);z-index:100;animation:kf_5 .15s ease-out}.custom-select-dropdown-up{top:auto;bottom:calc(100% + 4px)}.custom-select-dropdown--portal{position:fixed;z-index:1000}.custom-select-search{position:sticky;top:0;z-index:1;display:flex;align-items:center;position:relative;padding:8px 10px;background:var(--bg-solid);border-bottom:1px solid var(--glass-border)}.custom-select-search__icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--text-muted);flex-shrink:0;pointer-events:none;z-index:2}.custom-select-search__input{width:100%;height:38px;margin:0;padding:8px 12px 8px 34px;background:var(--surface-02);border:1px solid var(--surface-04);border-radius:8px;color:var(--text-main);font-size:14px;font-family:inherit;box-sizing:border-box;transition:all .2s ease}.custom-select-search__input:focus{outline:none;border-color:var(--accent);background:var(--surface-03);box-shadow:0 0 0 2px var(--accent-glow)}.custom-select-search__input::placeholder{color:var(--text-muted)}.custom-select-option{padding:12px 16px;color:var(--text-main);font-size:15px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--surface-02);overflow-wrap:anywhere}.custom-select-option:last-child{border-bottom:none}.custom-select-option:hover{background:var(--surface-04)}.custom-select-option-selected{color:var(--accent);font-weight:500}.custom-select-option--header{cursor:default;color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding-top:10px;padding-bottom:6px;background:var(--surface-01)}.custom-select-option--header:hover{background:var(--surface-01)}.custom-select-option--muted{color:var(--text-sec)}.custom-select-option[aria-disabled=true]{cursor:not-allowed;opacity:.7}.custom-select-option[aria-disabled=true]:hover{background:transparent}.custom-select-option--action{color:var(--text-sec);font-size:14px;font-weight:500}.custom-select-option--action:hover{color:var(--text-main)}.dashed-link{text-decoration:underline;text-decoration-style:dashed;text-decoration-color:var(--surface-07);text-underline-offset:3px;cursor:pointer}a.dashed-link{color:inherit}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge--info{background:var(--color-info-bg);color:var(--color-info)}.badge--owner{background:var(--color-owner-bg);color:var(--color-owner)}.badge--moderator{background:var(--color-moderator-bg);color:var(--color-moderator)}.badge--member{background:var(--surface-04);color:var(--text-sec)}[data-theme=light] .badge--member{background:#0000000b;color:var(--text-sec);border:.5px solid rgba(0,0,0,.04)}.badge--sm{padding:2px 6px;font-size:12px;letter-spacing:.3px;border-radius:4px;text-transform:none}.rule-row{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--surface-02)}.rule-row--last{border-bottom:none}.rule-row__name{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.rule-row__name-text{color:var(--text-main);font-size:14px;line-height:1.35}.rule-row__value{color:var(--text-sec);font-size:14px;line-height:1.35;text-align:right;white-space:pre-line;flex:0 0 auto;max-width:34%;overflow-wrap:anywhere}.rule-row__value-tokens{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.admin-menu-btn{padding:16px}.admin-search-input{width:100%;padding:12px 16px;background:var(--surface-02);border:1px solid var(--surface-04);border-radius:12px;color:var(--text-main);font-size:15px;outline:none;transition:all .2s ease;box-sizing:border-box;margin-bottom:0}.admin-search-input--with-icon{padding-left:40px}.admin-search-input:focus{background:var(--surface-03);border-color:var(--surface-06)}.admin-list-card{padding:16px;background:var(--surface-01);border-radius:12px;margin-bottom:10px;border:1px solid var(--surface-03);position:relative}.admin-action-buttons{position:absolute;top:16px;right:14px;display:flex;gap:8px;z-index:10}.admin-action-buttons.admin-action-buttons--inline{position:static}.admin-icon-btn{padding:8px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.admin-icon-btn--edit{background:var(--surface-03)}.admin-icon-btn--edit:hover{background:var(--surface-05)}.admin-icon-btn--duplicate{background:var(--surface-03)}.admin-icon-btn--duplicate:hover{background:var(--surface-05)}.admin-icon-btn--delete{background:var(--color-danger-bg)}.admin-icon-btn--delete:hover{background:var(--color-danger-30)}.admin-pill-btn{padding:8px 12px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.admin-pill-btn:disabled{opacity:.6;cursor:not-allowed}.admin-pill-btn--success{background:var(--color-success-bg);border-color:var(--color-success-30);color:var(--color-success)}.admin-pill-btn--danger{background:var(--color-danger-bg);border-color:var(--color-danger-30);color:var(--color-danger)}.admin-pill-btn--info{background:var(--color-info-bg);border-color:var(--color-info-30);color:var(--color-info)}.admin-scrollable-list{max-height:400px;overflow-y:auto;margin-top:10px}.admin-section-label{font-size:12px;color:var(--text-sec);margin-bottom:6px;display:block}.admin-info-header{margin-bottom:16px;padding:12px;background:var(--surface-02);border-radius:8px}.admin-delete-box{margin-bottom:16px;padding:16px;background:var(--surface-02);border-radius:12px;border:1px solid var(--surface-04)}.admin-warning-box{padding:12px;background:#ff3b301a;border-radius:8px;font-size:13px;color:var(--text-main);line-height:1.5}.ui-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative;background:var(--surface-03);border:1px solid var(--glass-border);color:var(--text-sec);-webkit-user-select:none;user-select:none;font-size:calc(var(--avatar-size, 36px) * .38)}.ui-avatar--circle{border-radius:50%}.ui-avatar--rounded{border-radius:8px}.ui-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.ui-avatar__initials{font-family:var(--font-serif, Georgia, serif);font-weight:700;line-height:1;color:inherit}.notification-drawer-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2000;display:flex;justify-content:flex-end;animation:notificationOverlayFadeIn .2s ease}@keyframes notificationOverlayFadeIn{0%{opacity:0}to{opacity:1}}.notification-drawer{position:relative;width:100%;max-width:380px;height:100%;background:var(--bg-color);display:flex;flex-direction:column;box-shadow:-4px 0 24px #00000080;border-left:1px solid var(--surface-03);padding-top:max(12px,env(safe-area-inset-top,12px));padding-bottom:max(12px,env(safe-area-inset-bottom,12px));box-sizing:border-box;animation:notificationDrawerSlideIn .25s cubic-bezier(.16,1,.3,1)}.notification-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--surface-02);gap:8px}.notification-drawer__header-left{display:flex;align-items:center;gap:8px;min-width:0}.notification-drawer__title{margin:0;font-size:17px;font-weight:600;color:var(--text-main);white-space:nowrap}.notification-drawer__header-actions{display:flex;align-items:center;gap:8px}.notification-drawer__mark-all{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;padding:0;background:var(--surface-02);border:1px solid var(--surface-03);border-radius:8px;color:var(--text-sec);cursor:pointer;transition:background .2s ease,color .2s ease}.notification-drawer__mark-all span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.notification-drawer__mark-all:hover{background:var(--surface-03);color:var(--text-main)}.notification-drawer__close{background:var(--surface-02);border:none;border-radius:8px;width:30px;height:30px;flex-shrink:0;padding:0;display:flex;align-items:center;justify-content:center;color:var(--text-sec);cursor:pointer;transition:background .2s ease}.notification-drawer__close:hover{background:var(--surface-03);color:var(--text-main)}.notification-drawer__body{flex:1;overflow-y:auto;overscroll-behavior:contain}.notification-drawer__loading{padding:32px;text-align:center;color:var(--text-sec);font-size:14px}.notification-drawer__empty{padding:32px 16px;text-align:center}.notification-drawer__empty-desc{margin:12px 0 0;font-size:13px;color:var(--text-muted);line-height:1.4}.notification-drawer__list{display:flex;flex-direction:column}@keyframes notificationDrawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.notification-item{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--surface-01);text-decoration:none;background:transparent}.notification-item:hover{background:var(--surface-02)}.notification-item--unread{background:var(--surface-01)}.notification-item__icon-wrapper{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-item__icon-wrapper--achievement{background:#eab30826;color:var(--color-gold)}.notification-item__icon-wrapper--system{background:var(--surface-03);color:var(--color-info)}.notification-item__content{flex:1;min-width:0}.notification-item__text{margin:0;font-size:14px;color:var(--text-main);line-height:1.35;word-break:break-word}.notification-item__date{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.notification-item__unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent-glow);flex-shrink:0}@keyframes tabTrophyShine{0%,5%{background-position:-150% 0}65%{background-position:150% 0}80%,to{background-position:150% 0}}.tab-bar{position:fixed;bottom:5px;left:16px;right:16px;width:auto;border-radius:14px;background:var(--bg-dark-30);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--surface-04);box-shadow:0 10px 40px var(--bg-dark-30);display:flex;justify-content:space-between;padding:12px 20px 22px;z-index:100;transition:clip-path .4s cubic-bezier(.4,1.1,.4,1)}.tab-bar[style*=clip-path]{border-color:transparent}.tab-bar__shape{position:absolute;inset:0;pointer-events:none;z-index:0}.tab-bar__shape path{fill:var(--surface-02);stroke:var(--surface-05);stroke-width:1;transition:d .4s cubic-bezier(.4,1.1,.4,1)}[data-theme=light] .tab-bar{background:#ffffffc7;backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);border:1px solid rgba(255,255,255,.85);box-shadow:0 1px #fffffff2 inset,0 0 0 1px #00000008,0 8px 32px -2px #1118271f,0 2px 8px -1px #1118270f}[data-theme=light] .tab-bar .tab-bar__shape path{fill:#ffffffd1;stroke:#ffffffe6}.tab-bar.tab-bar-static{position:static;margin:20px 0;left:auto;right:auto;border-radius:14px}.tab-item{display:flex;flex-direction:column;align-items:center;color:var(--text-sec);font-size:10px;cursor:pointer;transition:transform .34s cubic-bezier(.34,1.56,.5,1),text-shadow .3s ease;position:relative;z-index:1;background:none;border:none;padding:0}.tab-item.active{color:var(--accent);transform:translateY(-2px);text-shadow:0 0 12px var(--accent-glow)}.tab-item.active:after{content:"";position:absolute;bottom:-6px;width:4px;height:4px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent)}.tab-item-label{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:7px;white-space:nowrap;font-size:12px;font-weight:600;line-height:1;color:var(--accent);text-shadow:0 0 10px var(--accent-glow);pointer-events:none}.tab-item-icon-shine{position:relative;display:inline-flex}.tab-item-icon-shine:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 5%,color-mix(in srgb,var(--color-gold) 30%,transparent) 28%,color-mix(in srgb,var(--text-main) 75%,transparent) 50%,color-mix(in srgb,var(--color-gold) 30%,transparent) 72%,transparent 95%);background-size:300% 100%;background-position:-150% 0;animation:tabTrophyShine 7s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6'/><path d='M18 9h1.5a2.5 2.5 0 0 0 0-5H18'/><path d='M4 22h16'/><path d='M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22'/><path d='M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22'/><path d='M18 2H6v7a6 6 0 0 0 12 0V2Z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9H4.5a2.5 2.5 0 0 1 0-5H6'/><path d='M18 9h1.5a2.5 2.5 0 0 0 0-5H18'/><path d='M4 22h16'/><path d='M10 14.66V17c0 .55-.47.98-.97 1.21C7.85 18.75 7 20.24 7 22'/><path d='M14 14.66V17c0 .55.47.98.97 1.21C16.15 18.75 17 20.24 17 22'/><path d='M18 2H6v7a6 6 0 0 0 12 0V2Z'/></svg>");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tab-item.active .tab-item-icon-shine:after{background:linear-gradient(120deg,transparent 5%,color-mix(in srgb,var(--accent) 40%,transparent) 28%,color-mix(in srgb,var(--text-main) 85%,transparent) 50%,color-mix(in srgb,var(--accent) 40%,transparent) 72%,transparent 95%);background-size:300% 100%;background-position:-150% 0}[data-theme=light] .tab-item-icon-shine:after{background:linear-gradient(120deg,transparent 22%,rgba(217,119,6,.75) 42%,rgba(245,158,11,.95) 50%,rgba(217,119,6,.75) 58%,transparent 78%);background-size:300% 100%;background-position:-150% 0;mix-blend-mode:plus-lighter;opacity:1}[data-theme=light] .tab-item.active .tab-item-icon-shine:after{background:linear-gradient(120deg,transparent 22%,color-mix(in srgb,var(--accent) 70%,transparent) 42%,color-mix(in srgb,var(--accent) 95%,transparent) 50%,color-mix(in srgb,var(--accent) 70%,transparent) 58%,transparent 78%);background-size:300% 100%;background-position:-150% 0;mix-blend-mode:plus-lighter;opacity:1}.tab-item-bell{position:relative;display:inline-flex}.tab-item-bell__badge{position:absolute;top:-5px;right:-7px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:8px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;display:flex;align-items:center;justify-content:center;pointer-events:none}.new-game-modal__content{max-width:360px}.new-game-modal__title{margin:0 0 16px;font-size:18px;color:var(--text-main)}.new-game-modal__button-stack{display:flex;flex-direction:column;gap:10px}.new-game-modal__button-inner{display:flex;align-items:center;justify-content:center;gap:8px}.new-game-modal__cancel-btn{background:transparent;border:none;color:var(--text-sec);font-size:14px;padding:10px;cursor:pointer;margin-top:4px}
