@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2039e8342bda6056-s.0h2amv7e1wlhq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fabcf92ba1ccea36-s.p.0lwj123ije5i..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_268b32d7-module__RkyZsW__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_268b32d7-module__RkyZsW__variable{--font-bebas-neue:"Bebas Neue", "Bebas Neue Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_f02837f5-module__eWygaW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_f02837f5-module__eWygaW__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.0unhoe1q6hp6-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.0-pny06~-x26a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.0cnogfwvi2_o-.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.0x-0vqtj_fzf1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_5a542544-module__-4NGZa__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_5a542544-module__-4NGZa__variable{--font-dm-mono:"DM Mono", "DM Mono Fallback"}
:root{--bg:#111210;--surface:#181a17;--card:#1e211d;--card2:#232620;--border:#2d3229;--accent:#c6f135;--accent-dim:#c6f1351f;--miss:#ff5a3c;--miss-dim:#ff5a3c1f;--hit:#4ecb8d;--amber:#f0a500;--text:#e9ede8;--muted:#818e7f;--muted2:#8a9888;--font-bebas-neue:var(--font-bebas-neue);--font-dm-sans:var(--font-dm-sans);--font-dm-mono:var(--font-dm-mono)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-dm-sans), "DM Sans", sans-serif;max-width:430px;min-height:100%;margin:0 auto;padding-bottom:72px;overflow-x:hidden}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:flex-end;padding:16px 20px 12px;display:flex;position:sticky;top:0}.logo{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:3px;color:var(--text);font-size:30px;line-height:1}.logo em{color:var(--accent);font-style:normal}.tagline{letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:1px;font-size:10px}.hdr-btn{background:var(--accent);color:#0d0f0e;font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:1px;cursor:pointer;border:none;border-radius:10px;padding:8px 18px;font-size:17px;transition:opacity .2s}.hdr-btn:hover{opacity:.85}.nav{background:var(--surface);border-top:1px solid var(--border);z-index:50;width:100%;max-width:430px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-btn{color:var(--muted);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:5px;padding:10px 0 8px;font-size:10px;font-weight:500;transition:color .2s;display:flex}.nav-btn svg{stroke-width:1.8px;width:20px;height:20px}.nav-btn.active{color:var(--accent)}.page{padding:20px 20px 80px;display:none}.page.active{display:block}.slbl{letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:10px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 16px;position:relative;overflow:hidden}.stat-bar{height:2px;position:absolute;top:0;left:0;right:0}.stat-lbl{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px}.stat-val{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;font-size:38px;line-height:1}.stat-sub{color:var(--muted);margin-top:3px;font-size:11px}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;padding:16px}.chart-title{margin-bottom:14px;font-size:13px;font-weight:600}.st-row{gap:8px;display:flex}.st-cell{background:var(--card);border:1px solid var(--border);text-align:center;cursor:pointer;border-radius:12px;flex:1;padding:10px 6px;transition:border-color .15s,background .15s}.st-cell:hover{border-color:var(--accent);background:#c6f1350d}.st-num{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--accent);font-size:22px}.st-bar{background:var(--border);border-radius:2px;height:3px;margin:6px 0 4px;overflow:hidden}.st-fill{background:var(--miss);border-radius:2px;height:100%;transition:width .5s}.st-lbl{color:var(--muted);font-size:10px}.sess-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:10px;overflow:hidden}.sess-hdr{justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.sess-date{font-size:13px;font-weight:500}.sess-loc{color:var(--muted);margin-top:2px;font-size:11px}.sess-avg{text-align:right}.sess-avg-num{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--accent);font-size:32px;line-height:1}.sess-avg-lbl{color:var(--muted);font-size:10px}.sess-pills{flex-wrap:wrap;gap:8px;padding:0 16px 14px;display:flex}.rpill{background:var(--card2);border:1px solid var(--border);border-radius:20px;align-items:center;gap:6px;padding:4px 12px;display:flex}.rpill-score{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;font-size:16px}.rpill-miss{color:var(--miss);font-size:10px}.form-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:20px;padding:16px}.flbl{letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px;display:block}input[type=text],input[type=date],input[type=email],input[type=password]{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-dm-sans), "DM Sans", sans-serif;appearance:none;border-radius:10px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .2s}input:focus{border-color:var(--accent)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.4)sepia()hue-rotate(60deg)}.round-block{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:12px;overflow:hidden}.round-hdr{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.round-hdr-num{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--accent);font-size:18px}.round-del{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:16px}.round-body{padding:16px}.score-display{justify-content:center;align-items:baseline;gap:6px;margin-bottom:6px;display:flex}.score-big{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--text);font-size:60px;line-height:1}.score-denom{color:var(--muted);font-size:20px;font-weight:300}.score-miss-lbl{text-align:center;margin-bottom:12px;font-size:12px}input[type=range]{-webkit-appearance:none;background:var(--border);border-radius:3px;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:3px solid var(--bg);width:30px;height:30px;box-shadow:0 0 0 2px var(--accent);border-radius:50%;transition:background .2s,box-shadow .2s}input[type=range].warn::-webkit-slider-thumb{background:var(--miss);box-shadow:0 0 0 2px var(--miss)}.st-picker{gap:8px;margin-top:14px;display:flex}.st-pick-btn{background:var(--bg);border:1.5px solid var(--border);color:var(--muted);font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:10px 0;font-size:20px;transition:all .15s}.st-pick-btn.on{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.miss-entry{background:var(--card2);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.miss-n{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--miss);flex-shrink:0;width:22px;font-size:18px}.miss-fields{flex-wrap:wrap;flex:1;gap:8px;display:flex}select.miss-sel{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-dm-sans), "DM Sans", sans-serif;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%235e6b5c'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:8px;outline:none;flex:1;min-width:90px;padding:7px 24px 7px 10px;font-size:13px}select.miss-sel:focus{border-color:var(--accent)}.miss-dir-btn{background:var(--miss-dim);color:var(--miss);cursor:pointer;font-size:12px;font-family:var(--font-dm-sans), "DM Sans", sans-serif;white-space:nowrap;border:1px solid #ff5a3c59;border-radius:8px;flex:1;padding:7px 10px;font-weight:500;transition:background .15s}.miss-dir-btn:hover{background:#ff5a3c40}.miss-dir-btn.set{border-color:var(--miss);background:#ff5a3c33}.miss-del{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.add-miss-btn{width:100%;color:var(--miss);cursor:pointer;background:0 0;border:1.5px dashed #ff5a3c59;border-radius:10px;margin-top:8px;padding:10px;font-size:13px;font-weight:500;transition:all .2s}.add-miss-btn:hover{background:var(--miss-dim)}.clean-lbl{color:var(--hit);text-align:center;padding:8px 0 2px;font-size:12px}.add-round-btn{border:1.5px dashed var(--accent);width:100%;color:var(--accent);cursor:pointer;background:#c8e63c12;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;padding:16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.add-round-btn:hover{background:#c8e63c21}.save-btn{background:var(--accent);color:#0d0f0e;width:100%;font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:2px;cursor:pointer;border:none;border-radius:14px;padding:16px;font-size:20px;transition:opacity .2s}.save-btn:hover{opacity:.88}.overlay{z-index:100;background:#000c;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.overlay.open{display:flex}.sheet{background:var(--surface);border-top:1px solid var(--border);border-radius:22px 22px 0 0;width:100%;max-width:430px;max-height:90vh;padding:6px 20px 36px;overflow-y:auto}.sheet-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:10px auto 18px}.sheet-title{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--text);font-size:22px}.sheet-sub{color:var(--muted);margin:4px 0 18px;font-size:13px}.range-vis{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:18px;overflow:hidden}.range-vis svg{width:100%;display:block}.dir-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px;display:grid}.dir-btn{border:1.5px solid var(--border);background:var(--card);color:var(--muted2);cursor:pointer;text-align:center;border-radius:12px;padding:14px 6px;font-size:12px;font-weight:500;transition:all .15s}.dir-btn .di{margin-bottom:5px;font-size:22px;display:block}.dir-btn:hover{border-color:var(--amber);color:var(--amber)}.dir-btn.sel{border-color:var(--miss);background:var(--miss-dim);color:var(--miss)}.confirm-btn{background:var(--accent);color:#0d0f0e;width:100%;font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:2px;cursor:pointer;border:none;border-radius:12px;padding:14px;font-size:18px}.toast{background:var(--accent);color:#0d0f0e;z-index:200;opacity:0;pointer-events:none;border-radius:20px;padding:10px 20px;font-size:13px;font-weight:600;transition:opacity .25s,transform .25s;position:fixed;top:70px;left:50%;transform:translate(-50%)translateY(-6px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.sess-actions{border-top:1px solid var(--border);display:flex}.sess-act-btn{cursor:pointer;letter-spacing:.5px;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.sess-act-btn:first-child{border-right:1px solid var(--border)}.sess-act-btn.edit{color:var(--accent)}.sess-act-btn.edit:hover{background:#c6f13512}.sess-act-btn.del{color:var(--miss)}.sess-act-btn.del:hover{background:#ff5a3c12}.del-confirm{z-index:150;background:#000c;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.del-confirm.open{display:flex}.del-box{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:18px;width:100%;max-width:340px;padding:28px 24px}.del-icon{margin-bottom:12px;font-size:36px}.del-title{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--text);margin-bottom:8px;font-size:22px}.del-sub{color:var(--muted);margin-bottom:22px;font-size:13px;line-height:1.5}.del-btns{gap:10px;display:flex}.del-cancel{border:1px solid var(--border);color:var(--muted2);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:12px;font-size:14px;font-weight:600}.del-go{background:var(--miss);color:#fff;font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:1px;cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px;font-size:18px}.edit-banner{color:var(--accent);background:#c6f1351a;border:1px solid #c6f13540;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;font-size:12px;font-weight:600;display:none}.edit-banner.show{display:flex}.edit-banner-cancel{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.empty{text-align:center;padding:60px 20px}.empty-ico{margin-bottom:14px;font-size:52px}.empty-ttl{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--text);margin-bottom:8px;font-size:24px}.empty-sub{color:var(--muted);font-size:14px;line-height:1.6}.type-toggle{background:var(--card);border:1px solid var(--border);border-radius:12px;gap:0;margin-bottom:20px;padding:4px;display:flex}.type-btn{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:1.5px;cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 8px;font-size:17px;transition:all .2s;display:flex}.type-btn .ti{font-size:15px}.type-btn.active-training{color:var(--hit);background:#4ecb8d26;border:1px solid #4ecb8d59}.type-btn.active-competition{color:var(--amber);background:#f0a50026;border:1px solid #f0a50059}.type-btn.active-style{color:var(--accent);background:#c6f1351a;border:1px solid #c6f13559}.type-badge{letter-spacing:1px;text-transform:uppercase;border-radius:20px;align-items:center;gap:4px;padding:2px 9px;font-size:10px;font-weight:600;display:inline-flex}.type-badge.training{color:var(--hit);background:#4ecb8d1f;border:1px solid #4ecb8d40}.type-badge.competition{color:var(--amber);background:#f0a5001f;border:1px solid #f0a50040}.chart-legend{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;display:flex}.legend-item{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.chart-filter{gap:6px;margin-bottom:12px;display:flex}.cf-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;letter-spacing:.5px;background:0 0;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600;transition:all .15s}.cf-btn.active{border-color:var(--accent);color:var(--accent);background:#c6f13514}.filter-bar{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;padding:12px 14px}.filter-row{flex-wrap:wrap;gap:6px;display:flex}.dir-bar-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:7px 4px;transition:background .15s;display:flex}.dir-bar-row:hover{background:#c6f1350d}.dir-bar-label{color:var(--muted2);flex-shrink:0;width:72px;font-size:12px}.dir-bar-track{background:var(--border);border-radius:5px;flex:1;height:10px;overflow:hidden}.dir-bar-fill{background:var(--miss);border-radius:5px;height:100%;transition:width .4s}.dir-bar-count{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--text);text-align:right;flex-shrink:0;width:28px;font-size:18px}.dir-bar-row:hover .dir-bar-label{color:var(--accent)}.st-overlay{z-index:120;background:#000000d9;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.st-overlay.open{display:flex}.st-sheet{background:var(--surface);border-top:1px solid var(--border);border-radius:22px 22px 0 0;width:100%;max-width:430px;max-height:95vh;padding:6px 20px 36px;overflow-y:auto}.st-sheet-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:10px auto 16px}.st-sheet-hdr{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.st-sheet-title{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--accent);font-size:30px;line-height:1}.st-sheet-close{border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;margin-top:4px;padding:5px 10px;font-size:14px}.st-sheet-sub{color:var(--muted);margin-top:2px;font-size:12px}.st-range-wrap{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:16px;overflow:hidden}.st-range-wrap svg{width:100%;display:block}.st-dir-row{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.st-dir-pill{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:10px;flex:1;min-width:80px;padding:10px 8px}.st-dir-pill.hot{background:#ff5a3c14;border-color:#ff5a3c80}.st-dir-count{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--text);font-size:28px;line-height:1}.st-dir-pill.hot .st-dir-count{color:var(--miss)}.st-dir-name{color:var(--muted);letter-spacing:.5px;margin-top:3px;font-size:10px}.profile-hero{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:16px;margin-bottom:14px;padding:24px 20px 20px;position:relative}.profile-avatar{background:var(--accent);width:72px;height:72px;font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:#0d0f0e;border:3px solid var(--bg);box-shadow:0 0 0 2px var(--accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;font-size:30px;transition:opacity .2s;display:flex}.profile-avatar:hover{opacity:.85}.profile-name{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--text);font-size:26px;line-height:1}.profile-handle{color:var(--muted);letter-spacing:.5px;margin-top:3px;font-size:12px}.profile-since{color:var(--muted);margin-top:8px;font-size:11px}.profile-stats{background:var(--border);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.pstat{background:var(--card);text-align:center;padding:14px 8px}.pstat-val{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--accent);font-size:26px;line-height:1}.pstat-lbl{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-top:3px;font-size:10px}.profile-section{margin-bottom:14px}.profile-section-hdr{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.profile-section-title{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:10px}.info-row{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.info-item{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;padding:13px 16px;transition:background .15s;display:flex}.info-item:last-child{border-bottom:none}.info-item:hover{background:#c6f1350a}.info-item-left{align-items:center;gap:12px;display:flex}.info-item-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;display:flex}.info-item-label{color:var(--text);font-size:13px;font-weight:500}.info-item-sub{color:var(--muted);margin-top:1px;font-size:11px}.info-item-value{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.gun-card{background:var(--card);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:14px 16px;display:flex}.gun-icon{flex-shrink:0;font-size:22px}.gun-info{flex:1;min-width:0}.gun-name{color:var(--text);font-size:14px;font-weight:600}.gun-detail{color:var(--muted);margin-top:2px;font-size:11px}.gun-actions{gap:6px;display:flex}.gun-del-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;padding:4px 8px;font-size:12px;transition:all .15s}.gun-del-btn:hover{border-color:var(--miss);color:var(--miss)}.add-gun-btn{border:1.5px dashed var(--border);width:100%;color:var(--muted2);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.add-gun-btn:hover{border-color:var(--accent);color:var(--accent)}.gun-sheet-overlay,.field-sheet-overlay{z-index:130;background:#000c;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.gun-sheet-overlay.open,.field-sheet-overlay.open{display:flex}.gun-sheet,.field-sheet{background:var(--surface);border-top:1px solid var(--border);border-radius:22px 22px 0 0;width:100%;max-width:430px;padding:6px 20px 40px}.gun-sheet-handle,.field-sheet-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:10px auto 18px}.gun-sheet-title,.field-sheet-title{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;margin-bottom:18px;font-size:22px}.field-sheet-sub{color:var(--muted);margin-top:-12px;margin-bottom:18px;font-size:13px}.btn-cancel{border:1px solid var(--border);width:100%;color:var(--muted);cursor:pointer;background:0 0;border-radius:12px;margin-top:10px;padding:12px;font-size:14px;font-weight:500}.landing{background:var(--bg);color:var(--text);min-height:100vh;padding-bottom:3rem}.landing-hero{text-align:center;padding:3.5rem 1.5rem 2rem}.landing-badge{background:var(--accent-dim);color:var(--accent);letter-spacing:1px;text-transform:uppercase;border:1px solid #c6f13540;border-radius:99px;align-items:center;gap:6px;margin-bottom:1.5rem;padding:4px 14px;font-size:11px;display:inline-flex}.landing-logo{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:4px;color:var(--text);font-size:48px;line-height:1}.landing-logo em{color:var(--accent);font-style:normal}.landing-tagline{letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-top:4px;margin-bottom:1.25rem;font-size:11px}.landing-desc{color:var(--muted);margin-bottom:2rem;font-size:15px;line-height:1.7}.landing-btn-primary{background:var(--accent);font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:2px;cursor:pointer;border:none;border-radius:12px;padding:14px 48px;font-size:20px;transition:opacity .2s;display:inline-block;box-shadow:0 0 0 4px #c6f13533;color:#0d0f0e!important;text-decoration:none!important}.landing-btn-primary:hover{opacity:.88;color:#0d0f0e!important}.landing-signin{color:var(--muted);margin-top:14px;font-size:13px}.landing-signin a{color:var(--accent);font-weight:500;text-decoration:none}.landing-visuals{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 1.25rem;display:grid}.landing-vis-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:14px;padding:1.1rem .75rem}.landing-vis-title{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:1.5px;color:var(--text);margin-bottom:4px;font-size:14px}.landing-vis-card p{color:var(--muted);font-size:11px;line-height:1.5}.landing-mockup{background:var(--card);border:1px solid var(--border);border-radius:14px;margin:1.25rem 1.25rem 0;padding:1.25rem}.landing-mockup-hdr{border-bottom:1px solid var(--border);align-items:center;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.landing-mockup-logo{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:2px;color:var(--text);font-size:17px}.landing-mockup-logo em{color:var(--accent);font-style:normal}.landing-mockup-season{letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-left:auto;font-size:10px}.landing-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1rem;display:grid}.landing-stat{background:var(--card2);border:1px solid var(--border);text-align:center;border-radius:10px;padding:.75rem}.landing-stat-num{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;color:var(--accent);font-size:28px;line-height:1}.landing-stat-lbl{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:2px;font-size:9px}.landing-bars{flex-direction:column;gap:6px;display:flex}.landing-bar-row{align-items:center;gap:8px;display:flex}.landing-bar-lbl{color:var(--muted);flex-shrink:0;width:68px;font-size:11px}.landing-bar-track{background:var(--border);border-radius:3px;flex:1;height:6px}.landing-bar-fill{background:var(--accent);border-radius:3px;height:100%}.landing-bar-fill--miss{background:var(--miss)}.landing-bar-pct{color:var(--muted);text-align:right;width:30px;font-size:11px}.landing-features{padding:1.5rem 1.25rem 0}.landing-feat-label{letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:.85rem;font-size:10px}.landing-feat-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.landing-feat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1rem .85rem}.landing-feat-title{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:1px;color:var(--text);margin-bottom:4px;font-size:14px}.landing-feat-card p{color:var(--muted);font-size:11px;line-height:1.6}.landing-bottom{text-align:center;padding:2rem 1.5rem 0}.landing-bottom p{color:var(--muted);margin-top:14px;font-size:13px}.landing-bottom a{color:var(--accent);text-decoration:none}.auth-page{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-logo{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;letter-spacing:4px;margin-bottom:6px;font-size:48px}.auth-logo em{color:var(--accent);font-style:normal}.auth-tagline{letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:40px;font-size:11px}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:18px;width:100%;max-width:400px;padding:28px 24px}.auth-title{font-family:var(--font-bebas-neue), "Bebas Neue", sans-serif;margin-bottom:20px;font-size:26px}.auth-field{margin-bottom:14px}.auth-error{background:var(--miss-dim);color:var(--miss);border:1px solid #ff5a3c4d;border-radius:10px;margin-bottom:16px;padding:10px 14px;font-size:13px}.auth-toggle{text-align:center;color:var(--muted);margin-top:18px;font-size:13px}.auth-toggle button{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.sign-out-btn{width:100%;color:var(--miss);cursor:pointer;background:0 0;border:1px solid #ff5a3c59;border-radius:12px;margin-top:8px;padding:12px;font-size:13px;font-weight:500;transition:all .2s}.sign-out-btn:hover{background:var(--miss-dim)}
