*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f13;--surface:#1a1a24;--surface-hover:#223;--surface-active:#2a2a3d;--border:#2d2d3f;--text:#e4e4ef;--text-dim:#8888a0;--text-muted:#5c5c72;--accent:#6c5ce7;--accent-glow:#6c5ce74d;--gold:#f6c343;--gold-glow:#f6c34340;--green:#2ed573;--red:#ff4757;--radius:14px;--radius-sm:8px;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.5}body{overscroll-behavior:none;background-color:#0000;background-image:radial-gradient(at 20% 0,#6c5ce726 0%,#0000 50%),radial-gradient(at 80% 15%,#6c5ce71a 0%,#0000 40%),radial-gradient(at 50% 60%,#6450a014 0%,#0000 50%),radial-gradient(at 30% 100%,#c4a03c1f 0%,#0000 40%),radial-gradient(at 80% 100%,#b48c321a 0%,#0000 35%),linear-gradient(#0f0f13 0%,#141420 25%,#1a1828 50%,#1e1a20 75%,#1c1814 100%);background-position:0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box;min-height:100dvh}body:before{content:"";opacity:.025;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 25% 75%,#c88c322e 0%,#0000 45%),radial-gradient(circle at 75% 85%,#b4782826 0%,#0000 40%),radial-gradient(circle at 50% 60%,#6c5ce71f 0%,#0000 45%),radial-gradient(circle at 15% 40%,#8c5adc1a 0%,#0000 40%),radial-gradient(circle at 85% 30%,#dcaa3c14 0%,#0000 35%),radial-gradient(circle at 60% 20%,#6c5ce714 0%,#0000 40%);width:220%;height:220%;animation:8s ease-in-out infinite alternate bgRipple;position:fixed;inset:-60%}@keyframes bgRipple{0%{transform:translate(0%)rotate(0)scale(1)}33%{transform:translate(-3%,2%)rotate(1deg)scale(1.04)}66%{transform:translate(2%,-2%)rotate(-.5deg)scale(.97)}to{transform:translate(-1%,3%)rotate(.5deg)scale(1.02)}}#root{z-index:1;flex-direction:column;max-width:500px;min-height:100dvh;margin:0 auto;display:flex;position:relative}input{font-family:inherit;font-size:inherit;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.fireflies{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.firefly{bottom:-10px;left:var(--start-x);width:var(--size);height:var(--size);background:hsl(var(--glow-hue), 85%, 70%);box-shadow:0 0 6px 2px hsla(var(--glow-hue), 90%, 65%, .6), 0 0 20px 4px hsla(var(--glow-hue), 90%, 60%, .3);animation:fireflyRise var(--duration) ease-out var(--delay) infinite;opacity:0;border-radius:50%;position:absolute}@keyframes fireflyRise{0%{opacity:0;transform:translateY(0)translate(0)scale(1)}10%{opacity:.8}50%{opacity:.6;transform:translateY(-35vh) translateX(var(--drift)) scale(.8)}80%{opacity:.2}to{transform:translateY(-70vh) translateX(calc(var(--drift) * -.5)) scale(.3);opacity:0}}.winner-banner{text-align:center;padding:24px 20px 18px}.winner-banner h1{letter-spacing:-.5px;background:linear-gradient(160deg,#e8c86e 0%,#fff1c9 35%,#d4a843 65%,#f5dfa0 100%);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 20px var(--gold-glow));-webkit-background-clip:text;background-clip:text;margin:0;font-size:24px;font-weight:800}.winner-banner .subtitle{letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);margin-top:4px;font-size:13px;font-weight:500}.no-players-banner{text-align:center;padding:48px 20px}.no-players-banner h1{letter-spacing:-.5px;background:linear-gradient(160deg,#e8c86e 0%,#fff1c9 35%,#d4a843 65%,#f5dfa0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:26px;font-weight:800}.no-players-banner p{letter-spacing:.5px;color:var(--text-dim);font-size:13px;font-weight:500}.settings-bar{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:10px 20px;display:flex}.settings-bar .max-score-btn{letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:6px 0;font-family:inherit;font-size:12px;font-weight:600;transition:color .15s}.settings-bar .max-score-btn:hover{color:var(--text)}.settings-bar .max-score-btn.active{color:var(--accent)}.settings-bar .max-score-input{width:64px;color:var(--text);text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600}.settings-bar .reset-btn{letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:color .15s}.settings-bar .reset-btn:hover{color:var(--red)}.player-list{flex:1;padding:8px 0;overflow-y:auto}.player-row{cursor:pointer;align-items:center;padding:14px 20px;transition:background .12s;display:flex;position:relative}.player-row:hover{background:var(--surface-hover)}.player-row:active{background:var(--surface-active)}.player-row .rank{width:28px;color:var(--text-muted);flex-shrink:0;font-size:14px;font-weight:600}.player-row .name{letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(160deg,#e8c86e 0%,#fff1c9 35%,#d4a843 65%,#f5dfa0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex:1;font-size:20px;font-weight:800;overflow:hidden}.player-row .score-entries{color:var(--text-muted);white-space:nowrap;flex-shrink:1;gap:6px;min-width:0;margin-right:8px;font-size:13px;display:flex;overflow:hidden}.player-row .score-total{letter-spacing:-.5px;text-align:right;cursor:pointer;border-radius:var(--radius-sm);background:linear-gradient(160deg,#e8c86e 0%,#fff1c9 35%,#d4a843 65%,#f5dfa0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;min-width:48px;padding:4px 8px;font-size:24px;font-weight:800}.player-row .score-total:hover{background:var(--surface)}.player-row .progress-bar-bg{background:var(--border);border-radius:1px;height:2px;position:absolute;bottom:0;left:20px;right:20px;overflow:hidden}.player-row .progress-bar-fill{background:var(--accent);border-radius:1px;height:100%;transition:width .4s}.player-row .progress-bar-fill.near-win{background:var(--gold)}.add-player-row{cursor:pointer;align-items:center;padding:14px 20px;transition:background .12s;display:flex}.add-player-row:hover{background:var(--surface-hover)}.add-player-row .plus-icon{width:28px;color:var(--accent);filter:drop-shadow(0 0 6px var(--accent-glow));flex-shrink:0;font-size:18px}.add-player-row .add-text{letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim);font-size:14px;font-weight:600}.add-player-row .name-input{caret-color:var(--accent);flex:1;padding:0;font-size:17px;font-weight:500}.add-player-row .name-input::placeholder{color:var(--text-muted)}.rematch-row{cursor:pointer;align-items:center;gap:10px;padding:14px 20px;transition:background .12s;display:flex}.rematch-row:hover{background:var(--surface-hover)}.rematch-row .rematch-icon{width:28px;color:var(--gold);text-align:center;filter:drop-shadow(0 0 6px var(--gold-glow));flex-shrink:0;font-size:18px}.rematch-row .rematch-text{letter-spacing:.5px;text-transform:uppercase;color:var(--gold);font-size:14px;font-weight:600}.previous-section{margin-top:8px;padding:0 20px}.previous-header{cursor:pointer;border-top:1px solid #ffffff0a;align-items:center;gap:8px;padding:12px 0;display:flex}.previous-header .chevron{color:var(--text-dim);text-align:center;width:16px;font-size:14px;transition:transform .2s}.previous-header .chevron.open{transform:rotate(90deg)}.previous-header .previous-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700}.previous-header .previous-count{color:var(--text-dim);background:#ffffff0d;border:1px solid #ffffff0f;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600}.previous-list{padding-bottom:8px}.previous-row{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 0;transition:background .12s;display:flex}.previous-row:hover{background:var(--surface-hover)}.previous-row:active{background:var(--surface-active)}.previous-row .previous-add-btn{color:var(--accent);text-align:center;flex-shrink:0;width:28px;font-size:18px;font-weight:500}.previous-row .previous-name{color:var(--text-dim);flex:1;font-size:15px}.previous-row .previous-remove-btn{color:var(--red);cursor:pointer;text-align:center;opacity:.5;background:0 0;border:none;flex-shrink:0;width:28px;font-family:inherit;font-size:18px;line-height:1;transition:opacity .12s}.previous-row .previous-remove-btn:hover{opacity:1}.score-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:flex-end;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.score-panel{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:500px;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));animation:.2s slideUp;overflow:hidden}.score-panel .panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.score-panel .panel-header h2{margin:0;font-size:18px;font-weight:600}.score-panel .panel-header .close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:24px;line-height:1}.score-input-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.score-input-row input{text-align:center;background:var(--bg);border-radius:var(--radius-sm);min-width:0;caret-color:var(--accent);letter-spacing:-1px;flex:1;padding:12px;font-size:32px;font-weight:700}.score-input-row input::placeholder{color:var(--text-muted);font-weight:400}.score-input-row .add-score-btn{color:#fff;background:var(--accent);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:14px 24px;font-family:inherit;font-size:15px;font-weight:600;transition:opacity .12s}.score-input-row .add-score-btn:hover{opacity:.85}.score-history-section{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.score-history-section h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:500}.total-edit-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 0;display:flex}.total-edit-row .label{color:var(--text-dim);font-size:14px;font-weight:600}.total-edit-row .total-value{font-size:18px;font-weight:700}.history-entry{align-items:center;padding:6px 0;display:flex}.history-entry .round-label{color:var(--text-muted);width:28px;font-size:13px}.history-entry .entry-input{text-align:right;border-radius:4px;flex:1;padding:4px 8px;font-size:15px}.history-entry .entry-input:focus{background:var(--bg)}.history-entry .delete-entry{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;padding:2px 6px;font-family:inherit;font-size:16px;transition:opacity .12s}.history-entry:hover .delete-entry{opacity:1}.predictions{background:var(--bg);border-radius:var(--radius-sm);margin-top:12px;padding:12px}.predictions .pred-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600}.predictions .pred-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;display:flex}.predictions .pred-row .pred-label{color:var(--text-dim)}.predictions .pred-row .pred-value{color:var(--text);font-weight:600}.predictions .pred-row .pred-value.good{color:var(--green)}.predictions .pred-row .pred-value.bad{color:var(--red)}.delete-player-btn{color:var(--red);cursor:pointer;opacity:.7;background:0 0;border:none;margin-top:8px;padding:8px 0;font-family:inherit;font-size:13px;transition:opacity .12s}.delete-player-btn:hover{opacity:1}.celebration-overlay{z-index:200;cursor:pointer;background:radial-gradient(#0f0f13d9 0%,#000000f7 100%);justify-content:center;align-items:center;animation:.3s celebFadeIn;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes celebFadeIn{0%{opacity:0}to{opacity:1}}.celebration-content{text-align:center;z-index:2;animation:.6s cubic-bezier(.34,1.56,.64,1) both celebBounce}@keyframes celebBounce{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}.celebration-emoji{filter:drop-shadow(0 0 40px #f6c34399);font-size:80px;animation:1s ease-in-out celebSpin}@keyframes celebSpin{0%{transform:rotateY(0)scale(0)}50%{transform:rotateY(360deg)scale(1.3)}to{transform:rotateY(360deg)scale(1)}}.celebration-name{letter-spacing:-2px;background:linear-gradient(135deg, var(--gold) 0%, #fff 40%, var(--gold) 80%);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin:16px 0 8px;font-size:52px;font-weight:800;animation:2s infinite celebShimmer}@keyframes celebShimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.celebration-sub{letter-spacing:12px;text-transform:uppercase;color:var(--gold);text-shadow:0 0 30px var(--gold-glow), 0 0 60px var(--gold-glow);font-size:28px;font-weight:700;animation:1.5s infinite celebPulse}@keyframes celebPulse{0%,to{opacity:1}50%{opacity:.6}}.celebration-tap{bottom:calc(24px + env(safe-area-inset-bottom,0px));text-align:center;color:var(--text-muted);z-index:3;font-size:13px;animation:1s 3s both celebFadeIn;position:absolute;left:0;right:0}.fireworks{z-index:1;pointer-events:none;position:absolute;inset:0}.particle{top:var(--origin-y,50%);left:var(--origin-x,50%);width:var(--size);height:var(--size);background:hsl(var(--hue), 90%, 65%);box-shadow:0 0 8px 3px hsl(var(--hue), 90%, 65%);animation:particleBurstLoop var(--duration) ease-out var(--delay) infinite;border-radius:50%;position:absolute}@keyframes particleBurst{0%{opacity:1;transform:translate(0)scale(1)}70%{opacity:.6}to{transform:translate(var(--x), var(--y)) scale(0);opacity:0}}@keyframes particleBurstLoop{0%{opacity:1;transform:translate(0)scale(1)}70%{opacity:.6}95%{transform:translate(var(--x), var(--y)) scale(0);opacity:0}to{opacity:0;transform:translate(0)scale(0)}}.sparkle-ring{border:3px solid #0000;border-top-color:var(--gold);border-right-color:var(--accent);z-index:1;opacity:.4;border-radius:50%;width:300px;height:300px;margin:-150px 0 0 -150px;animation:3s linear infinite sparkleRotate,.8s ease-out both sparkleGrow;position:absolute;top:50%;left:50%}@keyframes sparkleRotate{to{transform:rotate(360deg)}}@keyframes sparkleGrow{0%{opacity:0;transform:scale(0)rotate(0)}to{opacity:.4;transform:scale(1)rotate(180deg)}}
