@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--ease:cubic-bezier(.4, 0, .2, 1);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--accent:#7c3aed;--accent-light:#7c3aed33;--accent-glow:#7c3aed66;--positive:#10b981;--positive-light:#10b98126;--negative:#ef4444;--negative-light:#ef444426}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#0a0a0f;--bg-surface:#12121a;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--bg-modal:#12121afa;--border:#ffffff14;--border-strong:#ffffff26;--text-primary:#f0f0f8;--text-secondary:#f0f0f88c;--text-muted:#f0f0f84d;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-accent:0 0 24px var(--accent-glow)}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#f0f0f8;--bg-surface:#fff;--bg-card:#fffc;--bg-card-hover:#fffffff2;--bg-modal:#fffffffa;--border:#00000014;--border-strong:#00000024;--text-primary:#1a1a2e;--text-secondary:#1a1a2e99;--text-muted:#1a1a2e61;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 4px 20px #0000001a;--shadow-accent:0 0 24px var(--accent-glow);--accent-light:#7c3aed1f;--positive-light:#10b9811f;--negative-light:#ef44441a}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--duration-normal) var(--ease), color var(--duration-normal) var(--ease);font-size:16px}body{background-color:var(--bg-base);color:var(--text-primary);overscroll-behavior:none;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}h1{letter-spacing:-.03em;font-size:1.75rem;font-weight:800}h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}h3{font-size:1rem;font-weight:600}.app{flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto;display:flex;position:relative}.header{align-items:center;gap:var(--space-md);padding:calc(var(--safe-top) + var(--space-md)) var(--space-md) var(--space-md);z-index:10;background:linear-gradient(180deg, var(--bg-base) 80%, transparent 100%);-webkit-backdrop-filter:blur(12px);display:flex;position:sticky;top:0}.header-title{flex-direction:column;flex:1;display:flex}.header-title h1{background:linear-gradient(135deg, var(--text-primary) 0%, #f0f0f899 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.4rem}.header-subtitle{color:var(--text-muted);margin-top:1px;font-size:.75rem;font-weight:400}.undo-redo-bar{gap:var(--space-sm);align-items:center;display:flex}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text-primary)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn:active:not(:disabled){transform:scale(.92)}.scroll-content{padding:var(--space-sm) var(--space-md) calc(var(--safe-bottom) + 100px);gap:var(--space-sm);flex-direction:column;flex:1;display:flex;overflow-y:auto}.player-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);cursor:pointer;transition:all var(--duration-fast) var(--ease);animation:slideIn var(--duration-normal) var(--ease) both;position:relative;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.player-card:before{content:"";background:var(--player-color,var(--accent));opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.player-card:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translateY(-1px)}.player-card:active{transform:translateY(0)scale(.99)}.card-top{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.player-avatar{border-radius:var(--radius-sm);background:var(--player-color-light,var(--accent-light));width:40px;height:40px;color:var(--player-color,var(--accent));flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.player-info{flex:1;min-width:0}.player-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.player-rank{color:var(--text-muted);margin-top:1px;font-size:.7rem}.player-score-big{letter-spacing:-.04em;color:var(--text-primary);text-align:right;transition:transform var(--duration-fast) var(--ease);flex-shrink:0;min-width:60px;font-size:2rem;font-weight:800}.score-bump{animation:scoreBump var(--duration-normal) var(--ease)}@keyframes scoreBump{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.card-actions{gap:var(--space-sm);align-items:center;display:flex}.btn-score{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.btn-score:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.btn-score:active{transform:scale(.88)}.btn-score.positive:hover{background:var(--positive-light);border-color:var(--positive);color:var(--positive)}.btn-score.negative:hover{background:var(--negative-light);border-color:var(--negative);color:var(--negative)}.btn-add-points{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);height:44px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease);letter-spacing:.02em;flex:1;font-family:inherit;font-size:.8rem;font-weight:600}.btn-add-points:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.btn-detail-arrow{width:32px;height:44px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.empty-state{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-2xl) var(--space-lg);text-align:center;flex-direction:column;flex:1;display:flex}.empty-icon{opacity:.3;font-size:3rem}.empty-title{color:var(--text-secondary);font-size:1.1rem;font-weight:600}.empty-subtitle{color:var(--text-muted);font-size:.85rem;line-height:1.5}.fab{bottom:calc(var(--safe-bottom) + 24px);max-width:480px;width:calc(100% - 2 * var(--space-md));z-index:20;pointer-events:none;justify-content:flex-end;display:flex;position:fixed;right:50%;transform:translate(50%)}.fab-btn{pointer-events:all;border-radius:var(--radius-full);background:var(--accent);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow-md), var(--shadow-accent);transition:all var(--duration-fast) var(--ease);border:none;justify-content:center;align-items:center;font-size:1.5rem;font-weight:300;display:flex}.fab-btn:hover{box-shadow:var(--shadow-md), 0 0 32px var(--accent-glow);transform:scale(1.06)}.fab-btn:active{transform:scale(.93)}.modal-overlay{z-index:100;animation:fadeIn var(--duration-fast) var(--ease);-webkit-backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-sheet{background:var(--bg-modal);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:480px;padding:var(--space-lg) var(--space-lg) calc(var(--safe-bottom) + var(--space-lg));animation:slideUp var(--duration-normal) var(--ease);gap:var(--space-lg);flex-direction:column;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-handle{border-radius:var(--radius-full);background:var(--border-strong);width:36px;height:4px;margin:0 auto -8px}.modal-title{color:var(--text-primary);text-align:center;font-size:1.1rem;font-weight:700}.form-group{gap:var(--space-sm);flex-direction:column;display:flex}.form-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:600}.form-input{border-radius:var(--radius-md);border:1px solid var(--border-strong);width:100%;height:52px;color:var(--text-primary);padding:0 var(--space-md);transition:border-color var(--duration-fast) var(--ease);background:#ffffff0a;outline:none;font-family:inherit;font-size:1rem;font-weight:500}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-input::placeholder{color:var(--text-muted)}.number-stepper{align-items:center;gap:var(--space-sm);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:#ffffff0a;height:60px;display:flex;overflow:hidden}.stepper-btn{width:56px;height:100%;color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.stepper-btn:hover{background:var(--bg-card-hover)}.stepper-btn:active{background:var(--border)}.stepper-value{text-align:center;letter-spacing:-.03em;color:var(--text-primary);flex:1;font-size:1.6rem;font-weight:800}.quick-amounts{gap:var(--space-xs);grid-template-columns:repeat(5,1fr);display:grid}.quick-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease);font-family:inherit;font-size:.8rem;font-weight:600}.quick-btn:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.quick-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.btn-group{gap:var(--space-sm);display:flex}.btn{border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;height:52px;transition:all var(--duration-fast) var(--ease);letter-spacing:.01em;flex:1;font-family:inherit;font-size:.95rem;font-weight:600}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.btn-primary:hover{box-shadow:0 4px 20px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-positive{background:var(--positive);border-color:var(--positive);color:#fff;box-shadow:0 2px 12px #10b9814d}.btn-negative{background:var(--negative);border-color:var(--negative);color:#fff;box-shadow:0 2px 12px #ef44444d}.btn-positive:hover{box-shadow:0 4px 20px #10b98166}.btn-negative:hover{box-shadow:0 4px 20px #ef444466}.mode-toggle{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff0a;gap:3px;padding:3px;display:flex;overflow:hidden}.mode-btn{border-radius:calc(var(--radius-md) - 3px);cursor:pointer;height:40px;transition:all var(--duration-fast) var(--ease);color:var(--text-secondary);background:0 0;border:none;flex:1;font-family:inherit;font-size:.85rem;font-weight:600}.mode-btn.active-add{background:var(--positive);color:#fff}.mode-btn.active-remove{background:var(--negative);color:#fff}.detail-view{animation:slideInFromRight var(--duration-normal) var(--ease);flex-direction:column;flex:1;display:flex}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.detail-header{align-items:center;gap:var(--space-md);padding:calc(var(--safe-top) + var(--space-md)) var(--space-md) var(--space-md);z-index:10;background:var(--bg-base);-webkit-backdrop-filter:blur(12px);display:flex;position:sticky;top:0}.detail-hero{padding:var(--space-xl) var(--space-md);align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.detail-avatar{border-radius:var(--radius-lg);width:72px;height:72px;margin-bottom:var(--space-sm);justify-content:center;align-items:center;font-size:1.8rem;font-weight:800;display:flex}.detail-score{letter-spacing:-.05em;font-size:4rem;font-weight:800;line-height:1}.detail-name{color:var(--text-secondary);font-size:1rem;font-weight:500}.history-section{padding:0 var(--space-md) calc(var(--safe-bottom) + 24px);gap:var(--space-sm);flex-direction:column;display:flex}.history-title{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;padding:0 0 var(--space-xs);margin-bottom:var(--space-xs);font-size:.75rem;font-weight:600}.history-empty{text-align:center;color:var(--text-muted);padding:var(--space-xl) 0;font-size:.85rem}.history-item{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);animation:fadeIn var(--duration-normal) var(--ease);display:flex}.history-delta{text-align:right;min-width:52px;font-size:1rem;font-weight:700}.history-delta.positive{color:var(--positive)}.history-delta.negative{color:var(--negative)}.history-info{flex:1}.history-time{color:var(--text-muted);font-size:.75rem}.history-label{color:var(--text-secondary);font-size:.8rem}.history-score-after{color:var(--text-secondary);text-align:right;min-width:36px;font-size:.9rem;font-weight:700}.divider{background:var(--border);height:1px;margin:var(--space-xs) 0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::selection{background:var(--accent-light);color:var(--text-primary)}.btn-danger{border:1px solid var(--border);color:var(--negative);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease);background:0 0;width:100%;height:44px;font-family:inherit;font-size:.85rem;font-weight:600}.btn-danger:hover{background:var(--negative-light);border-color:var(--negative)}.player-history-list{gap:var(--space-xs);flex-direction:column;max-height:180px;padding:2px 0;display:flex;overflow-y:auto}.history-chip-row{align-items:center;gap:var(--space-xs);display:flex}.history-chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);height:38px;color:var(--text-secondary);cursor:pointer;text-align:left;padding:0 var(--space-md);transition:all var(--duration-fast) var(--ease);white-space:nowrap;text-overflow:ellipsis;flex:1;font-family:inherit;font-size:.875rem;font-weight:500;overflow:hidden}.history-chip:hover,.history-chip-active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.history-chip-remove{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:flex}.history-chip-remove:hover{color:var(--negative);background:var(--negative-light);border-color:var(--negative)}.toggle-row{align-items:center;gap:var(--space-md);cursor:pointer;padding:var(--space-xs) 0;-webkit-user-select:none;user-select:none;display:flex}.toggle-label{color:var(--text-secondary);flex:1;font-size:.875rem;font-weight:500}.toggle-switch{border-radius:var(--radius-full);background:var(--border-strong);width:44px;height:26px;transition:background var(--duration-fast) var(--ease);cursor:pointer;flex-shrink:0;position:relative}.toggle-switch.toggle-on{background:var(--accent)}.toggle-thumb{border-radius:var(--radius-full);width:20px;height:20px;transition:transform var(--duration-fast) var(--ease);background:#fff;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.toggle-switch.toggle-on .toggle-thumb{transform:translate(18px)}.reset-option-btn{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;text-align:left;transition:all var(--duration-fast) var(--ease);font-family:inherit;display:flex}.reset-option-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.reset-option-btn:active{transform:scale(.99)}.reset-option-icon{text-align:center;flex-shrink:0;width:36px;font-size:1.5rem}.reset-option-text{flex:1;min-width:0}.reset-option-title{margin-bottom:2px;font-size:.95rem;font-weight:600}.reset-option-desc{color:var(--text-muted);font-size:.78rem}
