*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0e0a;--bg-2:#111611;--bg-3:#1a221a;--bg-card:#131913;--text:#e8f5e8;--text-2:#7a9c7a;--text-3:#3d5c3d;--green:#00e676;--green-dim:#00a152;--amber:#ffca28;--red:#ff5252;--border:#1e2e1e;--border-2:#2a3d2a;--pixel-shadow:3px 3px 0px #000;--font-pixel:"Press Start 2P", monospace;--font-retro:"VT323", monospace;--font-head:"Oswald", sans-serif;--font-body:"Inter", sans-serif}body{font-family:var(--font-body);background:var(--bg);color:var(--text);background-image:linear-gradient(#00e67608 1px,#0000 1px),linear-gradient(90deg,#00e67608 1px,#0000 1px);background-size:20px 20px;min-height:100vh}.btn{font-family:var(--font-head);letter-spacing:.1em;cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:0;align-items:center;gap:.4rem;padding:.65rem 1.4rem;font-size:.8rem;font-weight:600;transition:box-shadow .1s,transform .1s;display:inline-flex}.btn-pixel{box-shadow:var(--pixel-shadow)}.btn-pixel:active{transform:translate(2px,2px);box-shadow:1px 1px #000}.btn-primary{background:var(--green);color:#000;border-color:var(--green)}.btn-primary:hover{background:#00ff8a}.btn-secondary{color:var(--text);border:2px solid var(--border-2);background:0 0}.btn-secondary:hover{border-color:var(--green);color:var(--green)}.btn-ghost{cursor:pointer;font-family:var(--font-body);color:var(--text-2);letter-spacing:.05em;text-underline-offset:3px;background:0 0;border:none;padding:.5rem 0;font-size:.75rem;text-decoration:underline;transition:color .15s}.btn-ghost:hover{color:var(--green)}.toast{background:var(--bg-3);color:var(--green);border:2px solid var(--green);font-family:var(--font-head);letter-spacing:.1em;z-index:9999;pointer-events:none;box-shadow:var(--pixel-shadow);padding:.5rem 1.25rem;font-size:.75rem;animation:.15s steps(3,end) toastIn,.2s 1.8s forwards toastOut;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0}to{opacity:1}}@keyframes toastOut{0%{opacity:1}to{opacity:0}}.splash-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.splash-pixel-grid{pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00e67605 2px 4px);position:absolute;inset:0}.splash-inner{text-align:center;z-index:1;flex-direction:column;align-items:center;gap:1.25rem;display:flex}.splash-eyebrow{font-family:var(--font-head);letter-spacing:.35em;color:var(--green);text-transform:uppercase;font-size:.7rem}.splash-title{font-family:var(--font-pixel);color:var(--text);text-shadow:4px 4px #00e67626;letter-spacing:.05em;font-size:clamp(1.1rem,3vw,1.75rem);line-height:1.6}.splash-rule{border:none;border-top:2px solid var(--green);opacity:.5;width:60px}.splash-tagline{font-family:var(--font-retro);color:var(--text-2);letter-spacing:.05em;font-size:1.3rem}.bp-header{background:var(--bg);border-bottom:2px solid var(--border-2);z-index:500;justify-content:space-between;align-items:center;height:52px;padding:0 1.25rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px #00e67614}.header-logo{font-family:var(--font-pixel);color:var(--green);letter-spacing:.05em;text-shadow:2px 2px #00e67633;white-space:nowrap;font-size:.55rem;line-height:1.4}.header-center{align-items:center;gap:.75rem;display:flex}.header-right,.progress-bar-wrap{align-items:center;gap:.6rem;display:flex}.progress-track{background:var(--bg-3);border:1px solid var(--border-2);width:100px;height:8px;position:relative;overflow:hidden}.progress-bar-fill{background:var(--green);height:100%;transition:width .4s steps(10,end)}.progress-label{font-family:var(--font-retro);color:var(--amber);letter-spacing:.05em;white-space:nowrap;font-size:1.1rem}.header-btn{font-family:var(--font-head);letter-spacing:.1em;cursor:pointer;border:1px solid var(--border-2);color:var(--text-2);white-space:nowrap;background:0 0;padding:.3rem .75rem;font-size:.65rem;font-weight:600;transition:all .15s}.header-btn:hover{border-color:var(--green);color:var(--green)}.header-btn.share{border-color:var(--green-dim);color:var(--green)}.tracker-desktop{display:block}.tracker-mobile{display:none}.tracker-desktop{height:calc(100vh - 52px);margin-top:52px;display:flex;overflow:hidden}.map-fullscreen{background:var(--bg);flex:1;min-width:0;position:relative}.parks-overlay-panel{background:var(--bg-2);border-left:2px solid var(--border-2);scrollbar-width:thin;scrollbar-color:var(--border-2) transparent;flex-shrink:0;width:320px;height:100%;padding:1.25rem 1rem 2rem;overflow:hidden auto}.parks-overlay-panel .park-grid-badge{grid-template-columns:repeat(5,50px);gap:6px}.parks-overlay-panel .badge-card{width:50px}.parks-overlay-panel .badge-circle{width:46px;height:46px}.parks-overlay-panel .badge-label-team{font-size:.42rem}.parks-overlay-panel .badge-label-city{font-size:.65rem}.parks-overlay-panel .badge-stamp-text{font-size:.58rem}.parks-overlay-panel .badge-visit-count{font-size:.4rem}.parks-overlay-panel .division-section{width:274px}.parks-overlay-panel .division-header{padding:.4rem .5rem;font-size:.6rem}.division-list-mobile{padding:1.25rem 1rem 4rem}.mobile-visited-grid{grid-template-columns:repeat(auto-fill,80px)}.filter-tabs{border:2px solid var(--border-2);width:fit-content;margin-bottom:1.5rem;display:flex}.filter-tab{font-family:var(--font-head);letter-spacing:.12em;color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:.45rem 1.1rem;font-size:.72rem;font-weight:600;transition:all .15s}.filter-tab+.filter-tab{border-left:2px solid var(--border-2)}.filter-tab:hover{color:var(--text);background:var(--bg-3)}.filter-tab.active{background:var(--green);color:#000;font-weight:700}.empty-state{font-family:var(--font-retro);color:var(--text-3);text-align:center;letter-spacing:.05em;padding:3rem;font-size:1.15rem}.parks-columns{grid-template-columns:auto 1fr;align-items:start;gap:0 3rem;display:grid}.parks-col-heading{font-family:var(--font-head);letter-spacing:.22em;color:var(--text-3);text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:.5rem;font-size:.62rem}.parks-col-heading .col-count{font-family:var(--font-retro);color:var(--amber);margin-left:.4rem;font-size:1rem}.parks-col-visited{border-left:2px solid var(--border-2);padding-left:2rem}.parks-col-visited .park-grid-badge{grid-template-columns:repeat(auto-fill,80px)}.division-list{flex-direction:column;gap:0;display:flex}.division-section{width:440px;margin-bottom:2rem}.division-header{background:var(--bg-2);border:2px solid var(--border-2);border-left:4px solid var(--division-color,#30363d);cursor:pointer;width:100%;font-family:var(--font-head);letter-spacing:.15em;color:var(--text);text-align:left;white-space:nowrap;justify-content:space-between;align-items:center;margin-bottom:.6rem;padding:.5rem .6rem;font-size:.68rem;transition:background .15s;display:flex}.division-header:hover{background:var(--bg-3)}.division-header-left{align-items:center;gap:.65rem;display:flex}.division-name{text-transform:uppercase}.division-badge{font-family:var(--font-retro);color:var(--amber);font-size:1rem}.chevron{color:var(--text-3);margin-left:.5rem;font-size:.7rem;transition:transform .2s}.chevron.open{transform:rotate(180deg)}.park-grid-badge{grid-template-columns:repeat(5,80px);gap:10px;display:grid}.park-grid-badge.collapsed{visibility:hidden;gap:0;height:0;margin:0;overflow:hidden}.badge-card{cursor:pointer;flex-direction:column;align-items:center;gap:.35rem;width:80px;display:flex}.badge-circle{justify-content:center;align-items:center;width:76px;height:76px;transition:transform .15s,opacity .15s,filter .15s;display:flex;position:relative;overflow:hidden}.badge-card:not(.visited) .badge-circle{filter:grayscale(85%);opacity:.38}.badge-card:hover .badge-circle{filter:grayscale(0%);opacity:1;transform:scale(1.15)}.badge-card.active .badge-circle{filter:grayscale(0%);opacity:1}.badge-logo{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.badge-stamp{pointer-events:none;background:#0a0e0a61;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.badge-stamp-text{font-family:var(--font-retro);color:var(--green);border:1.5px solid var(--green);letter-spacing:.04em;white-space:nowrap;text-shadow:0 0 4px #00e67680;background:#0a0e0ab8;padding:0 3px;font-size:.72rem;transform:rotate(-28deg)}.badge-label{text-align:center;flex-direction:column;align-items:center;gap:1px;width:100%;display:flex}.badge-label-team{font-family:var(--font-head);letter-spacing:.08em;color:var(--text);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:.52rem;font-weight:600;line-height:1.3;overflow:hidden}.badge-label-city{font-family:var(--font-retro);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:.78rem;line-height:1.2;overflow:hidden}.badge-card.visited .badge-label{opacity:.55}.badge-card:hover .badge-label{opacity:1}.badge-visit-count{background:var(--amber);color:#000;font-family:var(--font-head);pointer-events:none;border-radius:0;padding:1px 3px;font-size:.48rem;font-weight:700;line-height:1.4;position:absolute;bottom:4px;right:4px}.map-geo{fill:var(--bg-3);stroke:var(--border-2);stroke-width:.5px;outline:none}.map-pin-visited{filter:drop-shadow(0 0 4px);cursor:pointer}.map-pin-unvisited{opacity:.4;cursor:pointer}.map-pin-visited:hover,.map-pin-unvisited:hover{opacity:1;filter:drop-shadow(0 0 6px var(--green))}.modal-overlay{z-index:1000;background:#000000e0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-2);border:2px solid var(--border-2);width:100%;max-width:460px;max-height:90vh;overflow:hidden auto;box-shadow:6px 6px #000}.modal-header-band{border-bottom:2px solid var(--border-2);justify-content:center;align-items:center;width:100%;height:100px;display:flex;position:relative}.modal-logo{object-fit:contain;width:auto;height:72px}.modal-close{color:#fff9;cursor:pointer;background:0 0;border:none;font-size:1rem;line-height:1;transition:color .15s;position:absolute;top:.6rem;right:.75rem}.modal-close:hover{color:#fff}.modal-body{flex-direction:column;gap:.75rem;padding:1.25rem 1.4rem 1.5rem;display:flex}.modal-park-name{font-family:var(--font-head);letter-spacing:.06em;color:var(--text);text-transform:uppercase;font-size:1.3rem;font-weight:600}.modal-meta{font-family:var(--font-retro);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:1.05rem;display:flex}.modal-meta-dot{opacity:.4}.modal-fun-fact{color:var(--text-2);border-left:3px solid var(--border-2);gap:.5rem;padding-left:.75rem;font-size:.8rem;font-style:italic;line-height:1.65;display:flex}.fun-fact-icon{flex-shrink:0}.modal-divider{border:none;border-top:2px solid var(--border)}.modal-toggle-row{justify-content:space-between;align-items:center;display:flex}.modal-toggle-label{font-family:var(--font-head);letter-spacing:.2em;color:var(--text-2);font-size:.72rem}.toggle-switch{cursor:pointer;width:42px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:var(--bg-3);border:2px solid var(--border-2);transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text-3);width:14px;height:14px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background:var(--green-dim);border-color:var(--green)}.toggle-switch input:checked+.toggle-slider:before{background:var(--green);transform:translate(20px)}.visit-fields{flex-direction:column;gap:.75rem;display:flex}.field-group{flex-direction:column;gap:.3rem;display:flex}.field-group label{font-family:var(--font-head);letter-spacing:.18em;color:var(--text-3);font-size:.62rem}.field-group input,.field-group textarea{background:var(--bg);border:2px solid var(--border-2);color:var(--text);font-family:var(--font-body);resize:vertical;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:0;outline:none;padding:.45rem .6rem;font-size:.85rem;transition:border-color .15s}.field-group input:focus,.field-group textarea:focus{border-color:var(--green)}.field-group textarea{min-height:72px}.modal-save-btn{background:var(--green);color:#000;width:100%;font-family:var(--font-head);letter-spacing:.15em;cursor:pointer;border:none;margin-top:.25rem;padding:.65rem;font-size:.8rem;font-weight:700;transition:filter .15s,transform .1s,box-shadow .1s;box-shadow:3px 3px #00000080}.modal-save-btn:hover{filter:brightness(1.1)}.modal-save-btn:active{transform:translate(2px,2px);box-shadow:1px 1px #00000080}.modal-cancel-btn{width:100%;color:var(--text-2);font-family:var(--font-head);letter-spacing:.12em;border:1px solid var(--border-2);cursor:pointer;background:0 0;padding:.5rem;font-size:.72rem;transition:border-color .15s,color .15s}.modal-cancel-btn:hover{border-color:var(--text-2);color:var(--text)}.visit-log-header{margin-bottom:.5rem}.visit-log-label{font-family:var(--font-head);letter-spacing:.2em;color:var(--text-3);text-transform:uppercase;font-size:.65rem}.visit-log-count{color:var(--amber)}.no-visits-msg{font-family:var(--font-retro);color:var(--text-3);margin-bottom:.75rem;font-size:1rem}.visit-log{flex-direction:column;gap:.6rem;margin-bottom:.75rem;display:flex}.visit-entry{background:var(--bg);border:1px solid var(--border);padding:.6rem .75rem}.visit-entry-top{align-items:baseline;gap:.5rem;display:flex}.visit-entry-date{font-family:var(--font-retro);color:var(--green);font-size:1rem}.visit-entry-opp{font-family:var(--font-head);letter-spacing:.08em;color:var(--amber);text-transform:uppercase;font-size:.62rem}.visit-entry-with{color:var(--text-2);flex:1;font-size:.75rem;font-style:italic}.visit-entry-actions{align-items:center;gap:.25rem;margin-left:auto;display:flex}.visit-edit{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.75rem;line-height:1;transition:color .15s}.visit-edit:hover{color:var(--amber)}.visit-remove{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.65rem;line-height:1;transition:color .15s}.visit-remove:hover{color:var(--red)}.visit-edit-form{background:var(--bg-3);border:1px solid var(--border-2);flex-direction:column;gap:.65rem;padding:.75rem;display:flex}.visit-entry-notes{color:var(--text-2);margin-top:.35rem;font-size:.78rem;font-style:italic;line-height:1.6}.visit-add-form{border:1px solid var(--border-2);background:var(--bg);flex-direction:column;gap:.65rem;padding:.85rem;display:flex}.visit-form-actions{flex-direction:column;gap:.4rem;display:flex}.add-visit-btn{border:1px dashed var(--border-2);width:100%;color:var(--text-3);font-family:var(--font-head);letter-spacing:.15em;cursor:pointer;background:0 0;padding:.55rem;font-size:.68rem;transition:border-color .15s,color .15s}.add-visit-btn:hover{border-color:var(--green);color:var(--green)}@media (width<=768px){.tracker-desktop{display:none}.tracker-mobile{padding-top:52px;display:block}.park-grid-badge{grid-template-columns:repeat(5,64px);gap:8px}.badge-card{width:64px}.badge-circle{width:60px;height:60px}.division-section{width:352px}}@media (width<=420px){.header-logo{font-size:.42rem}.header-center{display:none}.park-grid-badge{grid-template-columns:repeat(5,54px);gap:6px}.badge-card{width:54px}.badge-circle{width:50px;height:50px}.division-section{width:294px}}
