html{overscroll-behavior-y:contain}body{margin:0;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{min-height:100vh;min-height:100dvh}@supports (padding-top: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.liquid-button{position:relative;overflow:hidden;padding:10px 24px;background:#ffffff14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:99px;color:#fff;font-weight:500;font-size:.9rem;letter-spacing:.5px;cursor:pointer;transition:all .4s cubic-bezier(.23,1,.32,1);box-shadow:0 4px 15px #0000001a;display:flex;align-items:center;justify-content:center;white-space:nowrap}.liquid-button:hover{background:#ffffff26;border-color:#fff6;box-shadow:0 8px 25px #0003}.liquid-button-glow{position:absolute;top:50%;left:50%;width:150%;height:150%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);transform:translate(-50%,-50%) scale(0);transition:transform .6s ease-out;pointer-events:none;z-index:1}:root{--bg: #f0f2f5;--text: #333;--text-secondary: #555;--text-muted: #777;--text-hint: #888;--text-faint: #999;--card-bg: white;--border: #e0e0e0;--border-light: #eee;--shadow: 0 1px 4px rgba(0, 0, 0, .08);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .12);--input-border: #ccc;--input-bg: white;--bar-bg: white;--bar-shadow: 0 -2px 10px rgba(0, 0, 0, .1);--modal-overlay: rgba(0, 0, 0, .4);--modal-shadow: 0 10px 40px rgba(0, 0, 0, .2);--btn-secondary-bg: #e0e0e0;--btn-secondary-text: #333;--male-border: #b3d4fc;--male-badge-bg: #e3f0ff;--male-badge-text: #2c6fbb;--male-player-bg: #d6eaff;--male-player-text: #1a5fb4;--female-border: #f5b7c5;--female-badge-bg: #fce4ec;--female-badge-text: #c2185b;--selected-bg: #eef4fc;--selected-border: #4a90d9;--selected-female-bg: #fce4ec;--selected-female-border: #d63384;--team-a-bg: #eef4fc;--team-b-bg: #fff3e0;--resting-bg: #f5f5f5;--resting-text: #666;--settings-bg: white;--round-title: #4a90d9}[data-theme=dark]{--bg: #1a1a2e;--text: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #909090;--text-hint: #808080;--text-faint: #707070;--card-bg: #25253e;--border: #3a3a5c;--border-light: #33334d;--shadow: 0 1px 4px rgba(0, 0, 0, .3);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .4);--input-border: #4a4a6a;--input-bg: #2e2e4a;--bar-bg: #25253e;--bar-shadow: 0 -2px 10px rgba(0, 0, 0, .4);--modal-overlay: rgba(0, 0, 0, .6);--modal-shadow: 0 10px 40px rgba(0, 0, 0, .5);--btn-secondary-bg: #3a3a5c;--btn-secondary-text: #e0e0e0;--male-border: #2c5f9e;--male-badge-bg: #1e3a5f;--male-badge-text: #7ab3ff;--male-player-bg: #1e3a5f;--male-player-text: #7ab3ff;--female-border: #8e3a5c;--female-badge-bg: #4a1e30;--female-badge-text: #ff8ab0;--selected-bg: #1e2d4a;--selected-border: #4a90d9;--selected-female-bg: #3a1e2e;--selected-female-border: #d63384;--team-a-bg: #1e2d4a;--team-b-bg: #3a2e1e;--resting-bg: #2e2e4a;--resting-text: #999;--settings-bg: #25253e;--round-title: #6aafff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;transition:background .3s,color .3s}.page{animation:pageSlideIn .25s ease-out}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page{max-width:960px;margin:0 auto;padding:16px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--border)}.page-header h1{font-size:1.5rem;flex:1;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}.title-group{flex:1;text-align:center}.title-icon-img{height:36px;width:auto;vertical-align:middle;object-fit:contain;mix-blend-mode:multiply}.subtitle{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-top:2px;letter-spacing:2px}.header-actions{display:flex;gap:8px}.btn{border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;cursor:pointer;transition:all .2s;font-weight:500}.btn:hover{opacity:.85;transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:#4a90d9;color:#fff}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn-icon{padding:6px 10px;font-size:1.1rem;line-height:1;background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn-danger{background:#e74c3c;color:#fff}.btn-sm{padding:4px 10px;font-size:.8rem}.btn-large{padding:10px 24px;font-size:.95rem}.select-controls{margin-bottom:16px}.action-row{display:flex;gap:8px;justify-content:flex-end;margin-bottom:10px}.filter-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.search-input{flex:1;padding:8px 12px;border:1px solid var(--input-border);border-radius:8px;font-size:.95rem;outline:none;background:var(--input-bg);color:var(--text);transition:border-color .2s}.search-input:focus{border-color:#4a90d9;box-shadow:0 0 0 2px #4a90d933}.gender-filter{display:flex;gap:4px}.selected-count{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.control-buttons{display:flex;gap:6px}.settings-row{display:flex;gap:24px;align-items:center;background:var(--settings-bg);padding:12px 16px;border-radius:10px;box-shadow:var(--shadow)}.settings-row label{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--text-secondary)}.settings-row select,.settings-row input[type=number]{padding:6px 10px;border:1px solid var(--input-border);border-radius:6px;font-size:.9rem;width:70px;background:var(--input-bg);color:var(--text)}.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:calc(220px + env(safe-area-inset-bottom,0px))}.member-card{position:relative;background:var(--card-bg);border-radius:12px;padding:12px;cursor:pointer;transition:all .2s;border:2px solid transparent;box-shadow:var(--shadow);overflow:hidden}.member-name{font-size:1.05rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;display:inline-block}.member-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.member-card.male{border-color:var(--male-border)}.member-card.female{border-color:var(--female-border)}.member-card.selected{border-color:var(--selected-border);background:var(--selected-bg);box-shadow:0 0 0 2px var(--selected-border)}.member-card.selected.female{border-color:var(--selected-female-border);background:var(--selected-female-bg);box-shadow:0 0 0 2px var(--selected-female-border)}.member-card-avatar-sm{width:44px;height:44px;border-radius:50%;overflow:hidden;margin:0 auto 6px}.member-card-avatar-sm img{width:100%;height:100%;object-fit:cover}.avatar-placeholder-sm{width:100%;height:100%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text-muted)}.member-card-header{display:flex;justify-content:center;align-items:center;gap:6px;margin-bottom:8px}.gender-badge{font-size:.85rem;padding:2px 6px;border-radius:4px;font-weight:600}.gender-badge.male{background:var(--male-badge-bg);color:var(--male-badge-text)}.gender-badge.female{background:var(--female-badge-bg);color:var(--female-badge-text)}.member-card-wrapper{position:relative}.temp-badge{position:absolute;top:6px;left:6px;font-size:.65rem;background:#ff9800;color:#fff;padding:2px 8px;border-radius:10px;font-weight:600;z-index:10}.btn-temp-remove{position:absolute;top:4px;right:6px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:2px 6px;line-height:1;z-index:10}.btn-temp-remove:hover{color:#e74c3c}.member-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;box-shadow:var(--shadow-hover);z-index:150;min-width:180px;pointer-events:none}.member-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border)}.tooltip-row{font-size:.82rem;color:var(--text-muted);line-height:1.6}.tooltip-row strong{font-size:.95rem;color:var(--text)}.tooltip-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:140}.member-card-footer{text-align:center;font-size:.85rem;padding-top:6px;border-top:1px solid var(--border-light);color:var(--text-hint)}.member-card.selected .member-card-footer{color:var(--selected-border);font-weight:600}.bottom-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bar-bg);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));box-shadow:var(--bar-shadow);display:flex;flex-direction:column;align-items:center;gap:0;z-index:100;max-height:40vh;overflow-y:auto}.bottom-bar-top{width:100%;text-align:center;padding-bottom:8px;border-bottom:1px solid var(--border-light);margin-bottom:8px}.bottom-bar-actions{display:flex;align-items:center;justify-content:center;gap:16px;width:100%}.bottom-bar-info{color:var(--text-secondary);font-size:.9rem;font-weight:500;flex:1;text-align:center}.selected-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding-bottom:8px}.selected-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px 4px 4px;border-radius:20px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s}.selected-chip.male{background:var(--male-badge-bg);color:var(--male-badge-text)}.selected-chip.female{background:var(--female-badge-bg);color:var(--female-badge-text)}.selected-chip:hover{opacity:.7}.chip-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover}.chip-avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;background:#fff6;font-size:.55rem}.chip-remove{font-size:.7rem;opacity:.6;margin-left:2px}.round-nav{display:flex;align-items:center;gap:8px;margin-bottom:16px}.round-nav-label{font-size:1.2rem;font-weight:600;color:var(--text);flex:1;text-align:center}.round-single{min-height:200px}.schedule-main{display:grid;grid-template-columns:1fr 220px;gap:16px;align-items:start}.schedule-main .round-single{margin:0}.player-stats{background:var(--card-bg, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:12px 14px;position:sticky;top:12px}.player-stats h3{margin:0 0 8px;font-size:1rem}.stats-list{list-style:none;padding:0;margin:0;max-height:70vh;overflow-y:auto}.stats-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--border, #e5e7eb);font-size:.9rem}.stats-row:last-child{border-bottom:none}.stats-count{font-weight:600;color:var(--primary, #3b82f6)}@media(max-width:768px){.schedule-main{grid-template-columns:1fr}.player-stats{position:static}.stats-list{max-height:none}}.round-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:20px;padding-bottom:20px}.all-done-message{font-size:1.1rem;font-weight:600;color:#28a745;padding:16px;text-align:center}.rounds-list{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.round-card{background:var(--card-bg);border-radius:14px;padding:24px;box-shadow:var(--shadow);cursor:pointer;transition:all .2s}.round-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-hover)}.round-card.round-done{opacity:.55}.round-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;border-bottom:1px solid var(--border-light);padding-bottom:8px}.round-card h3{font-size:1.3rem;margin:0;color:var(--round-title)}.round-status{font-size:.9rem;font-weight:600;padding:3px 10px;border-radius:12px;-webkit-user-select:none;user-select:none}.round-status.pending{background:var(--team-b-bg);color:#e67e22}.round-status.done{background:#d4edda;color:#28a745}[data-theme=dark] .round-status.pending{color:#f0a050}[data-theme=dark] .round-status.done{background:#1e3a2a;color:#6fcf7f}.schedule-progress{font-size:.9rem;color:var(--text-secondary);margin-bottom:16px;font-weight:500}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.mode-row{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 0;flex-wrap:wrap}.mode-selector{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary, #6b7280);font-weight:500}.level-tabs{display:flex;background:var(--tab-bg, #f3f4f6);border-radius:10px;padding:3px;gap:2px}.level-tab{flex:1;border:none;background:transparent;padding:8px 0;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s}.level-tab:hover{color:var(--text-primary, #111827)}.level-tab.active{background:var(--card-bg, #fff);color:var(--primary, #3b82f6);box-shadow:0 1px 3px #00000014}.mode-tabs{display:inline-flex;background:var(--tab-bg, #f3f4f6);border-radius:999px;padding:3px;gap:2px}.mode-tab{border:none;background:transparent;padding:6px 14px;border-radius:999px;font-size:.85rem;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .15s;white-space:nowrap}.mode-tab:hover{color:var(--text-primary, #111827)}.mode-tab.active{background:var(--card-bg, #fff);color:var(--primary, #3b82f6);box-shadow:0 1px 3px #00000014}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-box{background:var(--card-bg, #fff);border-radius:16px;padding:28px 36px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 10px 40px #0003}.loading-spinner{width:48px;height:48px;border:4px solid var(--border, #e5e7eb);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.loading-text{font-size:1rem;font-weight:600;color:var(--text, #111827)}.loading-sub{font-size:.82rem;color:var(--text-secondary, #6b7280)}@keyframes spin{to{transform:rotate(360deg)}}.summary-modal{min-width:360px;max-width:90vw}.summary-sub{margin:0 0 12px;color:var(--text-secondary, #6b7280);font-size:.9rem}.summary-list{max-height:50vh;overflow-y:auto;margin-bottom:16px}.chips-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:transparent;border:none;cursor:pointer;padding:4px 8px;font-size:.9rem;font-weight:500;color:var(--text-secondary, #6b7280)}.chips-toggle:disabled{cursor:default;opacity:.7}.chips-caret{transition:transform .2s ease;display:inline-block}.chips-caret.open{transform:rotate(180deg)}.mode-warning{background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:8px;padding:8px 12px;font-size:.82rem;margin:6px 0 12px;text-align:center}.mode-hint{font-size:.8rem;color:var(--text-muted, #6b7280);align-self:center}.mode-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;background:var(--primary, #3b82f6);color:#fff}.pair-info{font-size:.8rem;color:var(--text-muted)}.progress-bar{margin-top:6px;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:#4a90d9;border-radius:3px;transition:width .3s}.courts-container{display:flex;flex-direction:column;gap:12px}.court-view{padding:14px;border-radius:10px;cursor:pointer;transition:all .2s}.court-view:hover{background:#4a90d90d}.court-view.court-done{opacity:.5}.court-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.court-view h4{font-size:1rem;color:var(--text-hint);margin:0}.court-status{font-size:.85rem;font-weight:600;padding:2px 8px;border-radius:10px}.court-status.pending{background:var(--team-b-bg);color:#e67e22}.court-status.done{background:#d4edda;color:#28a745}[data-theme=dark] .court-status.pending{color:#f0a050}[data-theme=dark] .court-status.done{background:#1e3a2a;color:#6fcf7f}.court-matchup{display:flex;align-items:center;justify-content:center;gap:16px}.team{display:flex;gap:10px;padding:10px 16px;border-radius:8px;min-width:120px;justify-content:center}.team-a{background:var(--team-a-bg)}.team-b{background:var(--team-b-bg)}.player{font-weight:500;padding:6px 10px;border-radius:8px;font-size:1rem;display:inline-flex;align-items:center;gap:6px}.player-avatar{width:26px;height:26px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;background:#fff6;flex-shrink:0}.player-avatar img{width:100%;height:100%;object-fit:cover}.resting-player{display:inline-flex;align-items:center;gap:6px;background:var(--resting-bg);padding:6px 12px;border-radius:8px;font-size:.95rem;color:var(--resting-text)}.resting-avatar{background:var(--border);color:var(--text-muted)}.player.male{background:var(--male-player-bg);color:var(--male-player-text)}.player.female{background:var(--female-badge-bg);color:var(--female-badge-text)}.vs{font-weight:700;color:var(--text-faint);font-size:1.1rem}.resting-area{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.resting-label{font-size:.85rem;color:var(--text-hint);font-weight:500}.message-bar{background:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:8px;padding:10px 16px;margin-bottom:16px;font-size:.9rem;text-align:center}[data-theme=dark] .message-bar{background:#1e3a2a;color:#a3d9b1;border-color:#2d5a3d}.manage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.manage-card{background:var(--card-bg);border-radius:12px;padding:14px;box-shadow:var(--shadow);border-top:3px solid var(--male-border);display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.manage-card.female{border-top-color:var(--female-border)}.manage-card-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0}.manage-card-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted)}.manage-card-info{display:flex;flex-direction:column;gap:2px}.manage-card-name{font-weight:600;font-size:1rem}.manage-card-detail{font-size:.8rem;color:var(--text-hint)}.manage-card-actions{display:flex;gap:6px;margin-top:auto}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:200}.modal{background:var(--card-bg);border-radius:16px;padding:24px;min-width:320px;max-width:90%;box-shadow:var(--modal-shadow)}.modal h3{margin-bottom:16px;font-size:1.2rem}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:4px;font-weight:500}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid var(--input-border);border-radius:8px;font-size:.95rem;background:var(--input-bg);color:var(--text)}.login-error{color:#e74c3c;font-size:.85rem;margin-top:-6px;margin-bottom:8px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.auth-poster{position:relative;isolation:isolate;width:100%;min-height:100dvh;overflow:hidden;-webkit-user-select:none;user-select:none;background:#b3aca9}.auth-poster-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.2;pointer-events:none}.auth-grid-v,.auth-grid-h{position:absolute;border-color:#605e5d;border-style:dashed}.auth-grid-v{top:0;bottom:0;width:0;border-left-width:2px}.auth-grid-v-left{left:15%}.auth-grid-v-right{right:25%}.auth-grid-h{left:0;right:0;height:0;border-top-width:2px}.auth-grid-h-top{top:25%}.auth-grid-h-bottom{bottom:20%}.auth-poster-main{position:relative;width:100%;max-width:80rem;min-height:100dvh;margin:0 auto}.auth-poster-title-wrap{position:absolute;z-index:20;top:6%;width:100%;pointer-events:none;text-align:center}.auth-poster-title-main,.auth-poster-title-sub{margin:15px 0 0;color:#fff;font-family:Barlow Condensed,Impact,sans-serif;font-style:italic;font-weight:600;line-height:.9;text-transform:uppercase}.auth-poster-title-main{font-size:clamp(5rem,16vw,18rem);letter-spacing:.06em}.auth-poster-title-sub{font-size:clamp(2.4rem,8vw,12rem);letter-spacing:.1em}.auth-poster-racket{position:absolute;z-index:10;left:50%;top:0;width:auto;height:120%;max-width:none;object-fit:contain;pointer-events:none}.auth-poster-note{position:absolute;z-index:30;top:40%;left:55%;display:flex;align-items:flex-end;gap:8px;pointer-events:none}.auth-poster-note-svg{opacity:.7}.auth-poster-note-text{color:#fff;font-family:Barlow Condensed,Impact,sans-serif;font-size:1.25rem;font-weight:700;line-height:.9;letter-spacing:.08em;text-transform:uppercase;opacity:.8;transform:rotate(-12deg)}.auth-poster-note-ball{width:clamp(500px,12vw,700px);height:auto;opacity:.9;transform:rotate(-12deg)}.auth-poster-footer{position:absolute;z-index:30;bottom:5%;width:100%;display:flex;align-items:center;justify-content:center;gap:24px;padding:0 16px;color:#fff}.auth-poster-brand{display:flex;align-items:center;gap:8px;font-family:Barlow Condensed,Impact,sans-serif;font-size:clamp(1.875rem,3vw,3rem);font-style:italic;font-weight:900;letter-spacing:.08em}.auth-poster-model{border-left:2px solid rgba(255,255,255,.4);padding-left:24px;line-height:1}.auth-poster-model-name{font-family:Barlow Condensed,Impact,sans-serif;font-size:clamp(1.5rem,2.4vw,2.25rem);font-style:italic;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.auth-poster-model-sub{font-family:Barlow Condensed,Impact,sans-serif;font-size:clamp(10px,1vw,.875rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fffc}@media(min-width:640px){.auth-poster-title-wrap{top:15%}.auth-poster-note{top:45%;left:60%}.auth-poster-footer{bottom:8%}}@media(min-width:768px){.auth-poster-note-text{font-size:1.875rem}}@media(min-width:1024px){.auth-poster-note{left:55%}.auth-poster-racket{height:130%}}@media(max-width:767px){.auth-poster-note{top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:calc(100vw - 20px);justify-content:center}.auth-poster-note-svg{display:none}.auth-poster-note-ball{width:min(72vw,280px);max-width:calc(100vw - 24px);transform:rotate(-8deg)}}.install-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#4a90d9,#357abd);color:#fff;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:300;box-shadow:0 -2px 12px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-text{font-size:.85rem;font-weight:500}.install-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.install-banner .btn-primary{background:#fff;color:#4a90d9;font-weight:600}.install-dismiss{background:none!important;color:#fffc!important;font-size:1rem;padding:4px 8px!important}.offline-bar{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;background:#e74c3c;color:#fff;text-align:center;padding:6px;font-size:.8rem;font-weight:500;z-index:500;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media(max-width:600px){.page{padding:12px 10px}.page-header{flex-wrap:wrap;gap:8px}.page-header h1{font-size:1.2rem;order:-1;width:100%}.subtitle{text-align:center}.action-row{justify-content:center}.action-row .btn{flex:1}.filter-row{flex-direction:column;gap:8px}.search-input{width:100%}.gender-filter{width:100%;justify-content:stretch}.gender-filter .btn{flex:1}.member-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:calc(180px + env(safe-area-inset-bottom,0px))}.member-card{padding:10px}.member-name{font-size:.95rem}.member-info{font-size:.75rem}.settings-row{display:flex;justify-content:center;gap:8px}.settings-row label{flex-direction:row;align-items:center;gap:8px}.settings-row input[type=number]{width:60px}.court-matchup{flex-direction:column;gap:4px}.team{min-width:unset;width:100%}.round-card{padding:12px}.manage-grid{grid-template-columns:repeat(2,1fr);gap:10px}.manage-card-avatar{width:52px;height:52px}.modal{min-width:unset;width:92%;padding:20px 16px}.bottom-bar{flex-direction:column;gap:4px;padding:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));max-height:45vh}.bottom-bar-actions{flex-wrap:nowrap;gap:8px}.btn-large{flex:1}.bottom-bar-info{font-size:.8rem}.selected-chips{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;gap:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.selected-chip{flex:0 0 auto;font-size:.75rem;padding:3px 8px 3px 3px;white-space:nowrap}.chip-avatar{width:18px;height:18px}.page-header{flex-wrap:nowrap;gap:6px}.page-header h1{font-size:1.1rem;order:0;width:auto;flex:1}.header-actions{gap:4px;flex-shrink:0}.header-actions .btn{font-size:.75rem;padding:6px 8px}.title-group{flex:1;min-width:0}.subtitle{font-size:.65rem;letter-spacing:1px}}.liquid-button{position:relative;overflow:hidden;padding:10px 24px;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:99px;color:#fff;font-weight:600;font-size:.95rem;letter-spacing:.5px;cursor:pointer;transition:all .4s cubic-bezier(.23,1,.32,1);box-shadow:0 4px 15px #0003;display:flex;align-items:center;justify-content:center;white-space:nowrap;text-transform:uppercase}.liquid-button:hover{background:#ffffff40;border-color:#ffffff80;box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.liquid-button-text{position:relative;z-index:2}.liquid-button-glow{position:absolute;top:50%;left:50%;width:150%;height:150%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);transform:translate(-50%,-50%) scale(0);transition:transform .6s ease-out;pointer-events:none;z-index:1}.liquid-button:hover .liquid-button-glow{transform:translate(-50%,-50%) scale(1)}
