*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:#121214;color:#ededed;overflow:hidden}@media(max-width:768px){body{overflow:auto}}h1{font-size:2rem;font-weight:700;letter-spacing:2px;color:#4caf50;text-transform:uppercase}#root,.app-container{display:flex;width:100vw;height:100vh;position:relative}@media(min-width:769px){.app-container{flex-direction:row}}@media(max-width:768px){.app-container{flex-direction:column;width:100%;height:auto}}.left-tab{flex:0 0 50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#0f0f11,#08080a);border-right:1px solid rgba(255,255,255,.05);padding:4rem 2rem 2rem;transition:background-color .2s;-webkit-user-select:none;user-select:none;cursor:pointer;overflow:hidden}@media(min-width:769px){.left-tab{flex:0 0 50%;padding:16rem 2rem 5rem;border-right:1px solid rgba(255,255,255,.05);border-bottom:none}}@media(max-width:768px){.left-tab{flex:0 0 auto;min-height:40vh;max-height:50vh;padding:3rem 1rem 2rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.05);overflow-y:auto}}.left-tab:active{background:linear-gradient(135deg,#252529,#1a1a1f)}.right-tab{flex:0 0 50%;display:flex;align-items:stretch;background:#050505;padding-top:1.5rem;overflow:hidden;height:100%;position:relative}@media(min-width:769px){.right-tab{flex:0 0 50%;flex-direction:row;height:100%;overflow:hidden}}@media(max-width:768px){.right-tab{flex:1;flex-direction:column;height:auto;overflow-y:auto;padding-top:1rem}}.controls-col{flex:0 0 60%;display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem 2rem 2rem;border-right:1px solid rgba(255,255,255,.05);overflow-y:auto;font-size:1.05em;gap:.5rem;position:relative}@media(min-width:769px){.controls-col{flex:0 0 60%;padding:16rem 1.5rem 3rem 2rem;border-right:1px solid rgba(255,255,255,.05);border-bottom:none}}@media(max-width:768px){.controls-col{flex:0 0 auto;padding:1rem 1.5rem 2rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.05)}}.presets-col{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:.5rem 1.5rem 0;overflow-y:auto;gap:1rem;height:100%;min-height:0}@media(max-width:768px){.presets-col{padding:1rem 1.5rem;height:auto;min-height:auto}}.mobile-container{display:flex;flex-direction:column;background:#050505;color:#fff;height:100vh;width:100vw;overflow:hidden;padding:1rem;box-sizing:border-box}.mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem;flex:0 0 auto}.ghost-mitts-title-h1{font-size:2.1rem;font-weight:800;letter-spacing:-.04em;background:linear-gradient(to right,#fff,#999);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}.settings-toggle-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease-in-out;padding:0}.settings-toggle-btn:active{transform:scale(.92);background:#ffffff1f}.mobile-display-tab{background:linear-gradient(135deg,#121214,#09090b);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:2rem 1.5rem;margin-bottom:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 32px #0006;flex:0 0 auto!important;min-height:140px!important;max-height:220px!important}.mobile-totals-footer{text-align:center;font-size:.85rem;color:#666;margin-top:auto;padding:.75rem 0;letter-spacing:.02em;flex:0 0 auto}.mobile-settings-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:1000;display:flex;justify-content:center;align-items:flex-end}.mobile-settings-container{background:#0a0a0c;border-top:1px solid rgba(255,255,255,.1);border-radius:24px 24px 0 0;width:100%;height:90vh;display:flex;flex-direction:column;box-shadow:0 -10px 40px #00000080;animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.mobile-settings-header h2{font-size:1.4rem;font-weight:700;margin:0;color:#fff}.mobile-settings-close-btn{background:#ffffff14;border:none;border-radius:12px;padding:.5rem 1rem;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s}.mobile-settings-close-btn:active{background:#ffffff26}.mobile-settings-body{flex:1;overflow-y:auto;padding:1.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2rem}@media(max-width:768px){.mobile-container .controls-col{border-bottom:none;padding:.5rem;width:100%;gap:1.5rem}}.streak-header-btn{background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;padding:0;color:#fff6}.streak-header-btn:hover{color:#ff7b54;transform:scale(1.1)}.streak-header-btn:active{transform:scale(.95)}.streak-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .25s ease-out}.streak-modal-content{background:#0e0e12f7;border:1px solid rgba(255,255,255,.1);border-radius:24px;width:92%;max-width:520px;padding:1.75rem;box-shadow:0 24px 64px #000000b3,0 0 0 1px #ffffff0a;animation:slideUpFade .3s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.streak-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem}.streak-header-left{display:flex;align-items:center;gap:.8rem}.streak-header-left h2{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(to right,#fff,#bbb);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.streak-fire-icon{font-size:1.7rem;animation:pulse 1.5s infinite ease-in-out}.streak-modal-close{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#888;font-size:1.4rem;cursor:pointer;line-height:1;padding:.15rem .55rem .25rem;transition:all .2s}.streak-modal-close:hover{color:#fff;background:#ffffff1a}.streak-stats-row{display:flex;gap:.6rem;margin-bottom:1.4rem}.streak-stat-box{flex:1;background:linear-gradient(135deg,#ffffff0d,#ffffff03);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:.9rem .5rem;text-align:center;box-sizing:border-box}.streak-stat-num{font-size:1.75rem;font-weight:800;color:#0f6;text-shadow:0 0 16px rgba(0,255,102,.35);line-height:1;margin-bottom:.25rem}.streak-stat-label{font-size:.68rem;color:#777;text-transform:uppercase;letter-spacing:.07em}.streak-grid-container{width:100%;display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.25rem}.streak-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.streak-cell{aspect-ratio:1;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#666;font-weight:600;position:relative;transition:all .2s ease}.streak-cell.active-1{background:#0f63;border-color:#0f66;color:#0f6}.streak-cell.active-2{background:#00ff6673;border-color:#00ff66b3;color:#fff}.streak-cell.active-3{background:#0f6;border-color:#0f6;color:#000;font-weight:700;box-shadow:0 0 10px #00ff6680}.streak-cell.today{outline:2px solid #ffaa00;outline-offset:1px}.streak-legend{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:.75rem;color:#666;margin-top:.5rem}.streak-legend-cell{width:12px;height:12px;border-radius:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.title-ghost,.title-mitts{position:absolute;top:2rem;font-size:clamp(4rem,12vw,10.5rem);font-weight:800;letter-spacing:-4px;line-height:1;z-index:10;pointer-events:none;white-space:nowrap}.title-ghost{right:50%;color:#aaa;padding-right:.05em}.title-mitts{left:50%;color:#333;padding-left:.05em}@media(max-width:768px){.title-ghost,.title-mitts{top:.5rem;font-size:clamp(2rem,8vw,4rem)}.title-ghost{right:auto;left:1rem}.title-mitts{left:auto;right:1rem}}.idle-text{font-size:clamp(1.2rem,3vw,2rem);color:#444;font-weight:600;letter-spacing:2px;text-transform:uppercase}.toggle-container{position:relative;display:flex;align-items:center;background-color:#1a1a1a;border-radius:999px;padding:4px;margin-bottom:2.5rem;width:100%;max-width:280px;flex-shrink:0;box-sizing:border-box}.toggle-glider{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background-color:#ededed;border-radius:999px;box-shadow:0 2px 8px #ffffff1f;transition:transform .24s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:1}.toggle-glider.time{transform:translate(0)}.toggle-glider.combos{transform:translate(100%)}.toggle-btn{position:relative;z-index:2;flex:1;padding:.6rem 1rem;border-radius:999px;border:none;background:transparent;color:#777;font-size:.95rem;font-weight:600;cursor:pointer;transition:color .2s ease;-webkit-user-select:none;user-select:none}.toggle-btn.active{color:#121214;background:transparent;box-shadow:none}.mode-settings-wrapper{width:100%;min-height:82px;display:flex;flex-direction:column;justify-content:flex-end}.mode-panel-animate{animation:modeFadeIn .22s cubic-bezier(.4,0,.2,1) forwards}@keyframes modeFadeIn{0%{opacity:0;transform:translateY(4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.controls{display:flex;flex-direction:column;align-items:stretch;gap:1.8rem;width:100%;max-width:280px}.input-group{display:flex;flex-direction:column;width:100%;gap:.5rem}.input-label{font-size:.8rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:1px}.styled-input{width:100%;padding:1.1rem;border-radius:12px;border:1px solid #333;background:#111;color:#fff;font-size:1.8rem;text-align:center;outline:none;transition:border-color .2s;font-weight:700}.styled-input:focus{border-color:#666}.styled-input::-webkit-outer-spin-button,.styled-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.styled-input[type=number]{-moz-appearance:textfield;appearance:textfield}.time-inputs{display:flex;width:100%;gap:1rem}.combos-input-group{align-items:center}.combos-styled-input{max-width:140px;width:100%}.button-group{width:100%;display:flex;flex-direction:column;gap:.8rem}.start-btn,.reset-btn,.pause-btn{width:100%;padding:1.1rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .1s,background-color .15s,opacity .15s;text-transform:uppercase;letter-spacing:1px}.start-btn{border:none;background-color:#4caf50;color:#fff}.start-btn:hover{background-color:#45a049}.start-btn:active{transform:scale(.97)}.reset-btn{border:1px solid #e53935;background-color:transparent;color:#e53935}.reset-btn:hover{background-color:#e539351a}.reset-btn:active{transform:scale(.97)}.pause-btn{border:1px solid #ff9800;background-color:transparent;color:#ff9800}.pause-btn:hover{background-color:#ff98001a}.pause-btn:active{transform:scale(.97)}.speed-container{width:100%;display:flex;flex-direction:column;gap:.8rem;padding-bottom:2rem;border-bottom:1px solid #1e1e1e;margin-bottom:1rem}.speed-header{display:flex;justify-content:space-between;align-items:center}.speed-label{font-size:.75rem;font-weight:700;letter-spacing:2px;color:#444;text-transform:uppercase}.speed-value{font-size:.9rem;font-weight:700;color:#aaa;font-variant-numeric:tabular-nums}.speed-interactive{display:flex;align-items:center;gap:.4rem}.speed-input-text{background:transparent;border:1px solid #333;color:#fff;padding:2px 8px;border-radius:4px;font-size:.9rem;width:70px;text-align:center;outline:none;font-weight:700;font-family:inherit}.speed-input-text:focus{border-color:#4caf50;box-shadow:0 0 5px #4caf5033}.speed-slider-wrapper{position:relative;width:100%;padding:10px 0 45px}.speed-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:#1a1a1a;border-radius:2px;outline:none;position:relative;z-index:2}.speed-marker{position:absolute;top:38px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:1}.speed-marker-chevron{color:#666;margin-bottom:2px;opacity:.8}.speed-marker-label{font-size:.65rem;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#4caf50;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 0 10px #4caf504d}.speed-slider::-webkit-slider-thumb:hover{transform:scale(1.2);background:#45a049}.speed-slider::-moz-range-thumb{width:16px;height:16px;background:#4caf50;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 0 10px #4caf504d}.speed-slider::-moz-range-thumb:hover{transform:scale(1.2);background:#45a049}.presets-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.8rem;border-bottom:1px solid #1e1e1e;width:100%;margin-bottom:1rem}.presets-label{font-size:.75rem;font-weight:700;letter-spacing:2px;color:#444;text-transform:uppercase;padding:0;border-bottom:none;width:auto}.preset-selector-wrapper{position:relative}.preset-dropdown{appearance:none;background-color:#1a1a1a;color:#eee;border:1px solid #333;padding:.45rem 2.2rem .45rem 1rem;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;outline:none;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:.9rem}.preset-dropdown:hover{border-color:#555;background-color:#222}.preset-dropdown:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.preset-dropdown option{background-color:#1a1a1a;color:#eee}.punch-list{display:flex;flex-direction:column;gap:.6rem;width:100%}.punch-row{display:flex;align-items:center;gap:.9rem;padding:.6rem .8rem;border-radius:10px;background:#0d0d0d;border:1px solid #1a1a1a;transition:border-color .15s}.punch-row:hover{border-color:#333}.punch-num{font-size:1.4rem;font-weight:800;color:#555;width:1.4rem;text-align:center;flex-shrink:0}.punch-info{display:flex;flex-direction:column;gap:.1rem}.punch-name{font-size:.95rem;font-weight:600;color:#ccc}.punch-name-select{appearance:none;background:transparent;border:none;color:#ccc;font-size:.9rem;font-weight:600;cursor:pointer;outline:none;font-family:inherit;padding:0 1.2rem 0 0;max-width:150px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23444' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;background-size:.75rem}.punch-name-select:focus{color:#fff}.punch-name-select option{background:#1a1a1a;color:#eee}.punch-row--locked{opacity:.7}.punch-remove-btn{margin-left:auto;background:transparent;border:none;color:#444;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .2rem;transition:color .15s;flex-shrink:0}.punch-remove-btn:hover{color:#e53935}.punch-add-btn{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .8rem;border-radius:10px;background:transparent;border:1px dashed #2a2a2a;cursor:pointer;color:#444;font-family:inherit;transition:all .2s ease}.punch-add-btn:hover{border-color:#4caf50;color:#4caf50;background:#4caf500d}.punch-add-icon{font-size:1.1rem;font-weight:700;line-height:1}.punch-add-label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;flex:1}.punch-add-cap{font-size:.72rem;font-weight:600;opacity:.5}.punch-cap-notice{width:100%;text-align:center;font-size:.75rem;color:#333;padding:.4rem 0;letter-spacing:1px;text-transform:uppercase}.generation-settings-toggle{width:100%;border:1px solid #333;border-radius:10px;background:#111;color:#ddd;padding:.6rem .8rem;font-family:inherit;font-size:.82rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;transition:all .15s ease;margin-top:.4rem}.generation-settings-toggle:hover{border-color:#4caf50;color:#fff}.generation-modal-backdrop{position:fixed;inset:0;background:#0000009e;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1.5rem}.generation-modal{width:min(920px,100%);max-height:min(820px,92vh);background:linear-gradient(180deg,#0f0f12,#09090b);border:1px solid #232323;border-radius:14px;box-shadow:0 24px 80px #0000008c;display:flex;flex-direction:column;overflow:hidden}.generation-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid #1e1e1e}.generation-modal-title{margin:0;color:#ececec;font-size:.95rem;letter-spacing:.7px;text-transform:uppercase}.generation-modal-close{border:none;background:transparent;color:#777;font-size:1.35rem;line-height:1;cursor:pointer;padding:.1rem .3rem}.generation-modal-close:hover{color:#fff}.generation-modal-body{padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;scrollbar-width:thin;scrollbar-color:#2f2f38 transparent}.generation-modal-body::-webkit-scrollbar{width:6px}.generation-modal-body::-webkit-scrollbar-track{background:transparent}.generation-modal-body::-webkit-scrollbar-thumb{background:#282830;border-radius:999px;transition:background .2s ease}.generation-modal-body::-webkit-scrollbar-thumb:hover{background:#4caf50}.customize-display-section{display:flex;flex-direction:column;gap:.8rem}.customize-section-title{margin:0;color:#bbb;font-size:.78rem;letter-spacing:.8px;text-transform:uppercase;font-weight:700}.customize-voice-row{display:flex;align-items:center;gap:1rem}.customize-toggle-label{display:flex;align-items:center;gap:.6rem;color:#ccc;font-size:.85rem;cursor:pointer;white-space:nowrap}.customize-toggle-label input[type=checkbox]{accent-color:#4CAF50;width:16px;height:16px;cursor:pointer}.customize-voice-hint{color:#666;font-size:.78rem}.customize-display-mode-row{display:flex;align-items:center;gap:1rem}.customize-mode-label{color:#888;font-size:.8rem;font-weight:600;white-space:nowrap}.customize-mode-buttons{display:flex;border:1px solid #333;border-radius:8px;overflow:hidden}.customize-mode-btn{background:#0d0d0f;border:none;border-right:1px solid #333;color:#888;font-family:inherit;font-size:.78rem;font-weight:600;padding:.4rem .85rem;cursor:pointer;transition:all .15s ease}.customize-mode-btn:last-child{border-right:none}.customize-mode-btn:hover:not(.active){background:#1a1a1f;color:#ccc}.customize-mode-btn.active{background:#4caf50;color:#fff}.customize-general-section{display:flex;flex-direction:column;gap:.6rem}.customize-length-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.customize-field-label{display:flex;flex-direction:column;gap:.4rem;color:#888;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.customize-number-input,.customize-weight-input{background:#0d0d0f;border:1px solid #2a2a2a;border-radius:8px;color:#fff;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;font-weight:600;outline:none;transition:border-color .15s ease}.customize-number-input:focus,.customize-weight-input:focus{border-color:#4caf50}.customize-bias-section{display:flex;flex-direction:column;gap:.6rem}.customize-bias-header{display:flex;justify-content:space-between;align-items:center}.customize-bias-val{color:#4caf50;font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums}.customize-range{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:#1a1a1e;border-radius:3px;outline:none;cursor:pointer}.customize-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#4caf50;border-radius:50%;cursor:pointer;box-shadow:0 0 8px #4caf5066;transition:transform .15s ease}.customize-range::-webkit-slider-thumb:hover{transform:scale(1.15)}.customize-range::-moz-range-thumb{width:18px;height:18px;background:#4caf50;border:none;border-radius:50%;cursor:pointer;box-shadow:0 0 8px #4caf5066}.chart-card{border:1px solid #232323;border-radius:10px;background:#0d0d0f;padding:.9rem;display:flex;flex-direction:column;gap:.6rem}.chart-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.chart-card-header h4{margin:0;color:#e6e6e6;font-size:.82rem;letter-spacing:.5px;text-transform:uppercase}.chart-meta{color:#777;font-size:.72rem;font-weight:600;letter-spacing:.3px}.distribution-svg{width:100%;height:auto;max-height:200px;border-radius:8px;background:#09090b;touch-action:none}.chart-axis-line{stroke:#2a2a30;stroke-width:1}.curve-stroke{fill:none;stroke:#4caf50;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.curve-stroke-alt{stroke:#4caf50}.curve-fill{fill:#4caf5026}.curve-fill-alt{fill:#4caf501f}.curve-point{fill:#4caf50;stroke:#0d0d0f;stroke-width:2;cursor:grab;transition:r .15s ease,fill .15s ease}.curve-point:hover,.curve-point.active{fill:#81c784;cursor:grabbing;filter:drop-shadow(0 0 6px rgba(76,175,80,.8))}.axis-label{fill:#888;font-size:11px;font-weight:600;text-anchor:middle;font-family:inherit}.prob-label{fill:#aaa;font-size:10px;font-weight:600;text-anchor:middle;font-family:inherit}.chart-hint{color:#666;font-size:.72rem;font-style:italic;text-align:center;margin-top:.2rem}.length-variance-control{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem}.length-variance-control label{display:flex;justify-content:space-between;align-items:center;color:#aaa;font-size:.78rem}.slider-hint{color:#666;font-size:.72rem;font-style:italic}.customize-moves-section{display:flex;flex-direction:column;gap:.6rem}.customize-moves-table-container{max-height:280px;overflow-y:auto;border:1px solid #232323;border-radius:8px;background:#09090b;scrollbar-width:thin;scrollbar-color:#2f2f38 transparent}.customize-moves-table-container::-webkit-scrollbar{width:6px}.customize-moves-table-container::-webkit-scrollbar-track{background:transparent}.customize-moves-table-container::-webkit-scrollbar-thumb{background:#282830;border-radius:999px;transition:background .2s ease}.customize-moves-table-container::-webkit-scrollbar-thumb:hover{background:#4caf50}.customize-moves-table{width:100%;border-collapse:collapse;font-size:.82rem}.customize-moves-table th{position:sticky;top:0;background:#121216;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:.72rem;padding:.6rem .8rem;text-align:left;border-bottom:1px solid #232323;z-index:1}.customize-moves-table td{padding:.5rem .8rem;border-bottom:1px solid #1a1a1f;color:#ccc}.customize-moves-table tr:last-child td{border-bottom:none}.customize-moves-table tr:hover{background:#ffffff05}.move-key-cell{width:40px;color:#666;font-weight:700}.move-name-cell{font-weight:600}.move-weight-cell{width:140px}.move-weight-cell .customize-weight-input{width:100%;padding:.35rem .6rem;font-size:.82rem}.move-custom-display-cell{width:90px;text-align:center}.move-custom-display-cell input[type=checkbox]{accent-color:#4CAF50;width:16px;height:16px;cursor:pointer}.customize-footer-actions{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid #1e1e1e}.customize-reset-btn{background:transparent;border:1px solid #333;border-radius:8px;color:#999;font-family:inherit;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.5rem 1rem;cursor:pointer;transition:all .15s ease}.customize-reset-btn:hover{border-color:#ff5252;color:#ff5252}.auth-panel{width:100%;max-width:280px;margin-top:auto;margin-left:auto;margin-right:auto;padding-top:1rem}.auth-secondary-btn,.auth-submit{width:100%;border-radius:10px;border:1px solid #2f2f2f;background:#111;color:#ddd;padding:.65rem .8rem;font-family:inherit;font-size:.82rem;font-weight:700;letter-spacing:.7px;text-transform:uppercase;cursor:pointer}.auth-secondary-btn:hover,.auth-submit:hover{border-color:#4caf50;color:#fff}.auth-link-prompt{border:none;background:transparent;color:#6e6e6e;font-size:.75rem;letter-spacing:.4px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;width:100%;text-align:center}.auth-link-prompt:hover{color:#afafaf}.auth-connection{margin-top:.45rem;text-align:center;font-size:.68rem;letter-spacing:.6px;text-transform:uppercase}.auth-connection.ok{color:#4caf50}.auth-connection.down{color:#ef9a9a}.auth-connection.pending{color:#777}.auth-logged-in{display:flex;flex-direction:column;gap:.55rem}.auth-user{font-size:.78rem;color:#7b7b7b;text-align:center}.auth-modal-backdrop{position:fixed;inset:0;background:#0009;z-index:2200;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-modal{width:min(420px,100%);background:#0d0d10;border:1px solid #262626;border-radius:12px;padding:.9rem;display:flex;flex-direction:column;gap:.8rem}.auth-form-viewport{overflow:hidden;width:100%}.auth-form-track{display:flex;width:200%;transition:transform .22s ease}.auth-form-track.login{transform:translate(0)}.auth-form-track.register{transform:translate(-50%)}.auth-form-page{width:50%;box-sizing:border-box;padding-right:.2rem;display:flex;flex-direction:column;gap:.6rem}.auth-mode-copy{margin:0;color:#727272;font-size:.75rem}.auth-modal-top{display:flex;align-items:center;justify-content:space-between}.auth-modal-top h3{margin:0;font-size:.9rem;color:#eee;text-transform:uppercase;letter-spacing:.7px}.auth-close{background:transparent;border:none;color:#888;font-size:1.35rem;cursor:pointer}.auth-close:hover{color:#fff}.auth-switch-row{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.auth-switch-btn{border-radius:8px;border:1px solid #2a2a2a;background:#111;color:#999;padding:.45rem;cursor:pointer;text-transform:uppercase;font-size:.72rem;font-weight:700}.auth-switch-btn.active{border-color:#4caf50;color:#e8f5e9}.auth-form-row{display:flex;flex-direction:column;gap:.3rem}.auth-form-row label{color:#666;font-size:.72rem;letter-spacing:.8px;text-transform:uppercase;font-weight:700}.auth-input{border-radius:8px;border:1px solid #2f2f2f;background:#121214;color:#fff;padding:.65rem .75rem;outline:none}.auth-input:focus{border-color:#4caf50}.auth-error{border:1px solid rgba(229,57,53,.4);background:#e5393514;color:#ef9a9a;border-radius:8px;padding:.5rem .6rem;font-size:.76rem}.time-display{font-size:clamp(4rem,12vw,11rem);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-2px;color:#fff;line-height:1}.combo-count-display{color:#fff;line-height:1}.combo-subtext{font-size:clamp(.8rem,1.8vw,1.1rem);color:#666;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;margin-top:.2rem;margin-bottom:.2rem}.display-wrapper{display:flex;flex-direction:column;align-items:center;gap:.75rem}.current-combo{font-weight:700;color:#ff5e5e;text-align:center;letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 24px rgba(255,94,94,.25);line-height:1.3;max-width:90%;animation:strikePop .16s cubic-bezier(.2,.9,.3,1) forwards}.current-combo.combo-size-large{font-size:clamp(1.8rem,4.5vw,3rem);line-height:1.3}.current-combo.combo-size-medium{font-size:clamp(1.35rem,3.2vw,2.1rem);line-height:1.25;letter-spacing:1.5px}.current-combo.combo-size-compact{font-size:clamp(1rem,2.2vw,1.55rem);line-height:1.2;letter-spacing:1px;max-width:95%}@keyframes strikePop{0%{opacity:.5;transform:scale(.94)}65%{opacity:1;transform:scale(1.02)}to{transform:scale(1)}}.practice-totals{font-size:.85rem;color:#555;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap;text-align:center;display:flex;justify-content:center;align-items:center}.left-bottom-bar{margin-top:auto;width:100%;display:flex;justify-content:center;align-items:center;padding:0 1rem}.countdown-wrapper{animation:fadeIn .2s ease-out;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.countdown-number{font-size:clamp(6rem,15vw,13rem);font-weight:900;color:#fa0;text-shadow:0 0 40px rgba(255,170,0,.45);animation:countdownPulse 1s ease-in-out infinite;line-height:1}.countdown-number.fight{color:#0f6;text-shadow:0 0 50px rgba(0,255,102,.6);transform:scale(1.15);animation:fightPulse .6s ease-out infinite}.countdown-subtext{font-size:clamp(1rem,2.5vw,1.4rem);color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.15em;opacity:.8}@keyframes countdownPulse{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.05);opacity:1}to{transform:scale(.95);opacity:.8}}@keyframes fightPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}
