@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,Geist,DM Sans,sans-serif;color:#20272c;background:#f3f5f6;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;--petrol:#285d9d;--sage:#78848a;--cream:#f3f5f6;--coral:#c84245;--mustard:#efc447;--ink:#20272c;--muted:#69747a;--paper:#fff;--line:#d9dfe3}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream)}button,a{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible{outline:3px solid #d77860;outline-offset:3px}a{color:inherit;text-decoration:none}.app-shell{max-width:1760px;margin:auto;min-height:100vh;padding:0 42px 58px}.topbar{height:58px;display:flex;align-items:center;gap:26px;border-bottom:1px solid #dcd2b9}.brand{display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:0}.brand-mark{width:31px;height:31px;border-radius:10px;background:#d7e2cf;color:var(--petrol);display:grid;place-items:center}.brand-word{font:800 21px Manrope;letter-spacing:-1.2px;color:var(--petrol)}.brand-word>span{color:var(--coral)}.place-tag{display:flex;align-items:center;gap:6px;color:#526c61;font-size:11px;font-weight:600}.place-tag svg{color:#d77860}.place-tag i{font-style:normal;color:#b8a77e}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.icon-button{width:33px;height:33px;border-radius:50%;border:1px solid #dcd4c0;background:#f9f4e9;display:grid;place-items:center;color:#5e756b}.profile-chip{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:0;color:var(--petrol);font-size:11px;font-weight:700}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#dfc49b;color:#614b36;font-weight:800}.map-home{max-width:1510px;margin:0 auto}.map-title-row{height:64px;display:flex;align-items:center;justify-content:space-between;gap:15px}.map-kicker{font-size:9px;letter-spacing:1.25px;font-weight:800;color:#74877a;display:block}.map-title-row h1{font:750 19px Manrope;letter-spacing:-.55px;margin:2px 0 0;color:var(--petrol)}.recency{display:flex;align-items:center;gap:8px;background:#eee6d3a8;padding:7px 11px;border-radius:20px;color:#49645a}.recency-dot{width:8px;height:8px;border-radius:50%;background:#aab3a5;border:2px solid #f9f2e2;box-shadow:0 0 0 1px #9da99c}.recency b,.recency small{display:block}.recency b{font-size:10px}.recency small{font-size:8px;color:#829087;margin-top:2px}.map-frame{height:min(68vh,690px);min-height:440px;position:relative;background:#d9dfcb;border:1px solid #c3c3a8;border-radius:16px;overflow:hidden;box-shadow:0 13px 30px #24454018,inset 0 0 0 5px #f5efdf}.map-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;touch-action:none;cursor:grab}.site-map{display:block;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%;transition:transform .12s ease-out;-webkit-user-select:none;user-select:none}.map-interactive{cursor:pointer;outline:none}.parking-space .spot-outline{fill:#f0e4c5;stroke:#faf4e2;stroke-width:4;filter:drop-shadow(0 3px 2px #24433d42)}.parking-space .spot-fill{fill:#d8d8c7;stroke:#839289;stroke-width:2}.parking-space.free .spot-fill{fill:#b9d3a7;stroke:#4e8b67}.parking-space.taken .spot-fill{fill:#e59a83;stroke:#bc5c4d}.space-endline{fill:none;stroke:#fff8e7;stroke-width:2;opacity:.8}.spot-number{font:800 13px DM Sans;fill:#24463f;text-anchor:middle;pointer-events:none}.spot-status-dot{fill:#a4aea3;stroke:#f6efdd;stroke-width:2}.parking-space.free .spot-status-dot{fill:#367e5b}.parking-space.taken .spot-status-dot{fill:#b74f43}.parking-space:hover .spot-outline,.parking-space:focus .spot-outline{stroke:#e67858;stroke-width:6}.trailer-hit{filter:drop-shadow(0 4px 2px #28463e38);cursor:pointer}.trailer-hit:hover{filter:drop-shadow(0 0 5px #fff0b5) drop-shadow(0 5px 3px #28463e48)}.trailer-label{font:800 10px DM Sans;fill:#5b4935;letter-spacing:.4px;pointer-events:none}.landmark-label{font:800 9px DM Sans;fill:#546d5c;letter-spacing:.8px}.street-name{font:800 13px DM Sans;fill:#f5efdf;letter-spacing:2.6px}.access-caption{font:800 8px DM Sans;fill:#496352;letter-spacing:.5px}.north-label{font:800 11px DM Sans;fill:#43665e}.pedestrian-crossing{opacity:.85}.map-controls{position:absolute;right:13px;top:14px;display:flex;flex-direction:column;gap:5px}.map-controls button{width:34px;height:34px;border:1px solid #ddd7c4;background:#fff8e9ed;border-radius:10px;display:grid;place-items:center;color:#365e54;box-shadow:0 2px 8px #22423c17}.map-status{position:absolute;left:15px;top:14px;background:#fff9edeb;border:1px solid #e2d7bd;border-radius:18px;padding:8px 11px;display:flex;align-items:center;gap:7px;color:#3d5f51;font-size:10px;box-shadow:0 2px 7px #22423c12}.map-status b{color:#bea66e}.status-swatch{width:9px;height:9px;border-radius:50%;background:#b3baad;border:2px solid #edf0e1;box-shadow:0 0 0 1px #9ba697}.map-hint{position:absolute;left:15px;bottom:15px;border-radius:16px;background:#214e4be8;color:#fff5de;padding:9px 12px;display:flex;align-items:center;gap:10px;font-size:8px;font-weight:700;letter-spacing:.8px;box-shadow:0 3px 12px #1c3e3a2b}.map-hint-arrow{font-size:16px;color:#e5ba68}.mini-legend{position:absolute;right:15px;bottom:15px;display:flex;align-items:center;gap:11px;padding:8px 10px;background:#fff9edeb;border:1px solid #e2d7bd;border-radius:15px;color:#52675d;font-size:8px;box-shadow:0 2px 7px #22423c12}.mini-legend span{display:flex;align-items:center;gap:4px}.mini-legend i{width:8px;height:8px;border-radius:3px}.legend-free{background:#93bd83}.legend-taken{background:#d77d68}.legend-unknown{background:#b6beb2}.report-row{display:flex;align-items:center;gap:20px;padding:13px 2px 0}.report-intro{display:flex;align-items:center;gap:8px;white-space:nowrap}.report-spark{width:28px;height:28px;border-radius:10px;background:#f0dfb7;color:#a87d2d;display:grid;place-items:center}.report-intro b,.report-intro small{display:block}.report-intro b{font-size:11px;color:#35584e}.report-intro small{font-size:8px;color:#839087;margin-top:2px}.action-strip{display:flex;gap:7px;flex:1}.report-action{height:35px;flex:1;min-width:0;border:1px solid #ded5c0;background:#faf5e9;border-radius:11px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:700;white-space:nowrap;transition:transform .14s,box-shadow .14s}.report-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #35564b1a}.report-action.coral{color:#a95242;background:#f8e7dc;border-color:#e8c9b6}.report-action.petrol{color:#315e57;background:#e0ebe1;border-color:#c6d7c4}.report-action.sage{color:#5a755d;background:#e9ecdb;border-color:#d6ddc8}.report-action.mustard{color:#917033;background:#f3ecd5;border-color:#e7dcb9}.estimate-note{text-align:center;color:#9a9c89;font-size:8px;margin:8px 0 0}.footer{max-width:1510px;margin:12px auto 0;border-top:1px solid #ded5c0;padding:9px 2px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.footer-brand{display:flex;align-items:center;gap:6px}.small-mark{width:24px;height:24px;border-radius:8px}.footer-brand b{font:800 11px Manrope;color:var(--petrol)}.footer-brand small{display:block;font-size:8px;color:#899286}.footer-identity{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.brand-placeholder{border:1px dashed #cabfa4;color:#718075;border-radius:4px;padding:3px 7px;font-size:8px;font-weight:700}.identity-join{font-size:9px;color:#a09478}.footer-identity>small{font-size:8px;color:#859087}.footer-sponsor{font-size:8px;letter-spacing:.8px;color:#a49a7f}.app-nav{position:fixed;z-index:4;left:50%;bottom:14px;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:5px;background:#204a46;color:#e8edda;border:1px solid #557066;border-radius:17px;box-shadow:0 9px 24px #193e3838}.app-nav button{height:34px;min-width:74px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;background:transparent;color:#e4e9d8;font-size:9px;font-weight:600;padding:0 10px}.app-nav button.nav-active{background:#e9dfc2;color:#244d46}.subpage{max-width:760px;min-height:64vh;margin:45px auto 70px;padding:25px 0 40px}.subpage-heading{display:flex;gap:13px;align-items:center;margin-bottom:22px}.subpage-heading h1,.profile-hero h1{font:750 22px Manrope;color:var(--petrol);margin:3px 0}.subpage-heading p,.profile-hero p{font-size:11px;color:#738479;margin:5px 0 0}.sub-icon{width:43px;height:43px;border-radius:14px;background:#e9dfc2;color:#a27c35;display:grid;place-items:center}.ranking-period{display:flex;gap:7px;padding:4px;background:#e9e2d0;border-radius:10px;margin-bottom:14px;max-width:380px}.ranking-period button{flex:1;border:0;background:transparent;padding:8px;border-radius:8px;font-size:10px;color:#748176}.ranking-period .period-active{background:#faf5e9;color:#3e7658;font-weight:700;box-shadow:0 1px 5px #263a2610}.ranking-row{display:flex;align-items:center;gap:10px;padding:13px 7px;border-bottom:1px solid #e3dac4}.rank-number{width:23px;height:23px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;color:#89938c;background:#e9e7dc}.rank-number.gold{background:#f3e2ae;color:#97702d}.rank-number.silver{background:#e1e5dd;color:#718179}.rank-number.bronze{background:#f0d9c8;color:#a87958}.list-avatar{width:34px;height:34px;font-size:12px}.rank-user{flex:1;min-width:0}.rank-user b,.rank-user small{display:block}.rank-user b{font-size:11px;color:#31544b}.rank-user small{font-size:9px;color:#89938a;margin-top:3px}.ranking-row>strong{font:700 11px Manrope;color:#4c5a50}.ranking-row>strong small{font:500 9px DM Sans;color:#8d978e}.subtle-note{font-size:10px;color:#899287;margin:16px 0}.achievement-row{display:flex;align-items:center;gap:12px;padding:15px 7px;border-bottom:1px solid #e3dac4}.badge-icon{width:38px;height:38px;border-radius:13px;background:#e8e6da;color:#929a91;display:grid;place-items:center}.badge-icon svg{width:18px}.badge-icon.earned{background:#dcead8;color:#4e865d}.achievement-progress{font-size:9px;color:#6e8a72}.profile-hero{display:flex;align-items:center;gap:13px}.profile-hero>div{flex:1}.profile-avatar{width:51px;height:51px;font-size:19px}.outline-button{border:1px solid #d7cdb5;background:#f9f4e8;border-radius:10px;padding:9px 12px;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:700;color:#4a695c}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#ebe5d4;border-radius:13px;margin:22px 0;padding:15px;text-align:center}.profile-stats>div+div{border-left:1px solid #d8ceba}.profile-stats strong,.profile-stats small{display:block}.profile-stats strong{font:750 22px Manrope;color:#397651}.profile-stats small{font-size:9px;color:#778379;margin-top:3px}.profile-note{display:flex;gap:9px;align-items:center;color:#617967;font-size:10px;background:#e6ecda;padding:12px;border-radius:11px}.profile-section{border-top:1px solid #ded5c0;margin-top:22px;padding-top:17px}.profile-section h2{font:700 13px Manrope;margin:0;color:#31584d}.profile-section p{font-size:10px;color:#89938a}.sheet-backdrop{position:fixed;z-index:6;top:0;right:0;bottom:0;left:0;background:#173a3480;display:flex;align-items:flex-end;justify-content:center}.detail-sheet{width:min(100%,590px);background:#fbf5e7;border:1px solid #e4d5b5;border-radius:22px 22px 0 0;padding:11px 22px 24px;position:relative;box-shadow:0 -8px 30px #15221e2b}.sheet-handle{width:35px;height:4px;border-radius:8px;background:#d4c9af;margin:0 auto 17px}.sheet-close{position:absolute;right:17px;top:14px;border:0;background:#eee7d7;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:#61736a}.detail-sheet h2{font:750 18px Manrope;color:#234e48;margin:6px 0}.detail-sheet p{font-size:11px;color:#7d887b}.sheet-actions{display:flex;gap:8px;margin-top:15px}.sheet-actions button{flex:1;border:1px solid #dcd2bd;background:#f5efe2;border-radius:10px;padding:10px 5px;display:flex;justify-content:center;align-items:center;gap:5px;font-size:9px;font-weight:700;color:#476451}.detail-disclaimer{display:block;text-align:center;font-size:8px;color:#9a9a89;margin-top:10px}.modal-backdrop{align-items:center;padding:20px}.login-modal{position:relative;width:min(100%,390px);background:#fbf5e7;border:1px solid #e2d6bc;border-radius:20px;padding:26px;box-shadow:0 20px 60px #13251e35}.login-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#dce8d7;color:#43805a}.login-modal h2{font:750 20px Manrope;margin:13px 0 5px;color:#234e48}.login-modal>p{font-size:11px;line-height:1.55;color:#879087;margin:0 0 16px}.login-modal label{display:block;font-size:10px;font-weight:700;color:#61736a;margin:11px 0}.login-modal input{display:block;width:100%;margin-top:5px;border:1px solid #ded5c0;border-radius:9px;padding:11px 12px;font:12px DM Sans;background:#fffaf0;outline-color:#80a985}.primary-button{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;background:#397b52;color:#fff;border:0;border-radius:10px;padding:12px;font-weight:700;font-size:12px;margin-top:14px}.form-disclaimer{display:block;text-align:center;color:#9aa29a;font-size:9px;margin-top:11px}.toast{position:fixed;z-index:8;bottom:68px;left:50%;transform:translate(-50%);background:#214a43;color:#fff7e7;border-radius:30px;padding:10px 16px;display:flex;align-items:center;gap:8px;font-size:10px;box-shadow:0 8px 26px #21312725;white-space:nowrap}@media (max-width:900px){.app-shell{padding:0 18px 58px}.map-frame{height:min(68vh,640px);min-height:420px}.report-row{gap:11px}.report-intro{min-width:133px}.report-action{padding:0 7px;font-size:9px}.footer-sponsor{display:none}}@media (max-width:640px){body{padding-bottom:72px}.app-shell{padding:0 9px 78px}.topbar{height:47px;gap:12px;border:0}.brand{gap:5px}.brand-mark{width:27px;height:27px;border-radius:8px}.brand-word{font-size:18px}.place-tag{gap:4px;font-size:9px}.place-tag svg{width:12px}.top-actions{gap:8px}.icon-button{width:29px;height:29px}.profile-chip{gap:0}.profile-chip .avatar{width:27px;height:27px}.profile-name{display:none}.map-title-row{height:45px;padding:0 2px}.map-title-row h1{font-size:15px;margin-top:1px}.map-kicker{font-size:7px;letter-spacing:1px}.recency{padding:5px 8px;gap:6px;border-radius:12px}.recency-dot{width:7px;height:7px}.recency b{font-size:8px}.recency small{display:none}.map-frame{height:calc(100svh - 224px);min-height:370px;max-height:620px;border-radius:12px;box-shadow:inset 0 0 0 3px #f5efdf}.site-map{object-fit:cover}.map-controls{right:9px;top:9px;gap:4px}.map-controls button{width:29px;height:29px;border-radius:9px}.map-status{left:9px;top:9px;padding:6px 8px;font-size:8px}.status-swatch{width:8px;height:8px}.map-hint{left:9px;bottom:9px;padding:7px 9px;font-size:7px;gap:6px}.mini-legend{right:9px;bottom:9px;gap:7px;padding:6px 7px;font-size:7px}.mini-legend span{gap:3px}.mini-legend i{width:7px;height:7px}.report-row{display:block;padding:7px 1px 0}.report-intro{display:none}.action-strip{gap:5px}.report-action{height:38px;flex-direction:column;gap:2px;padding:3px 1px;border-radius:9px;font-size:7px}.report-action svg{width:14px;height:14px}.estimate-note{font-size:7px;margin:5px 0 0}.footer{margin-top:5px;padding-top:6px;justify-content:center}.footer-brand,.footer-sponsor{display:none}.footer-identity{gap:4px}.brand-placeholder{font-size:7px;padding:3px 5px}.footer-identity>small{font-size:7px}.app-nav{left:8px;right:8px;bottom:7px;transform:none;justify-content:space-around;border-radius:15px;padding:4px;gap:1px}.app-nav button{flex:1;min-width:0;height:38px;flex-direction:column;gap:2px;padding:0;font-size:7px;border-radius:11px}.app-nav button svg{width:15px;height:15px}.subpage{min-height:72vh;margin:22px 4px 60px;padding:17px 3px}.subpage-heading h1,.profile-hero h1{font-size:18px}.ranking-row{padding:11px 4px}.achievement-row{gap:9px;padding:12px 4px}.achievement-progress{font-size:8px}.profile-hero{gap:9px}.profile-hero .outline-button{padding:8px;font-size:9px}.detail-sheet{padding-left:16px;padding-right:16px}.sheet-actions button{font-size:8px}.toast{bottom:64px;font-size:9px}}@media (max-width:380px){.map-frame{height:calc(100svh - 211px);min-height:340px}.recency{padding:5px 6px}.recency b,.map-status{font-size:7px}.report-action{font-size:6.5px}.mini-legend{gap:5px;font-size:6px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}.status-lines b,.status-lines small{display:block}.status-lines b{color:#56705f;font-weight:700}.status-lines small{margin-top:3px;font-size:8px;color:#879080}@media (max-width:640px){.map-status{border-radius:12px;padding:6px 8px}.status-lines b{font-size:7px}.status-lines small{font-size:6px;margin-top:2px}}html,body{min-height:100%;overflow-x:clip}body{overflow-y:auto}.app-shell{min-height:100svh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.map-frame{height:clamp(390px,74svh,780px);min-height:0}.map-viewport{touch-action:pan-y;overscroll-behavior:contain}.app-nav{bottom:max(14px,env(safe-area-inset-bottom))}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;align-items:center;justify-content:center;padding:24px;overflow-y:auto;background:#142c2894;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.detail-sheet{position:relative;flex:none;width:min(100%,540px);max-height:min(82dvh,720px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #e4d5b5;border-radius:22px;padding:26px 24px calc(22px + env(safe-area-inset-bottom));margin:auto}.sheet-handle{display:none}.sheet-close{z-index:1}.login-modal{max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(26px + env(safe-area-inset-bottom))}.map-controls{z-index:2}.map-status,.map-hint,.mini-legend{z-index:1}.site-map{pointer-events:auto}.report-row{position:sticky;z-index:3;bottom:calc(62px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(245,239,223,.94),var(--cream) 35%);padding:8px 3px 5px}.footer{padding-bottom:8px}@media (max-width:900px){.app-shell{padding-left:18px;padding-right:18px}.map-frame{height:clamp(420px,68svh,760px)}.report-row{bottom:calc(62px + env(safe-area-inset-bottom))}}@media (max-width:640px){.app-shell{padding-left:9px;padding-right:9px;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.map-frame{height:clamp(360px,58svh,540px);max-height:calc(100svh - 265px);min-height:min(360px,calc(100svh - 265px))}.map-viewport{touch-action:pan-y}.map-hint{display:none}.mini-legend{right:8px;bottom:8px}.report-row{position:sticky;bottom:calc(49px + env(safe-area-inset-bottom));padding:6px 2px 4px;background:linear-gradient(180deg,rgba(245,239,223,.96),var(--cream) 35%)}.action-strip{gap:5px}.report-action{height:42px;min-height:42px;flex-direction:column;justify-content:center;gap:2px;padding:3px 2px;font-size:8px}.report-action svg{width:16px;height:16px}.app-nav{left:8px;right:8px;bottom:max(5px,env(safe-area-inset-bottom));transform:none;padding:4px}.app-nav button{height:40px}.sheet-backdrop{align-items:flex-end;padding:0;overflow:hidden}.detail-sheet{width:100%;max-height:min(86dvh,calc(100dvh - env(safe-area-inset-top) - 8px));padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;margin:0;box-shadow:0 -8px 30px #15221e38}.sheet-handle{display:block;margin:0 auto 18px}.detail-sheet h2{margin-top:5px}.sheet-actions{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));padding:10px 0 calc(8px + env(safe-area-inset-bottom));margin:12px 0 -8px;background:#fbf5e7}.sheet-actions button{min-height:44px}.login-modal{max-height:calc(100dvh - env(safe-area-inset-top) - 10px);padding-bottom:calc(24px + env(safe-area-inset-bottom))}}@media (max-width:390px){.map-title-row h1{font-size:14px}.recency{padding:5px 7px}.recency b{font-size:7px}.map-frame{height:clamp(345px,56svh,500px);max-height:calc(100svh - 255px);min-height:min(345px,calc(100svh - 255px))}.report-action{font-size:7px}.map-status{max-width:calc(100% - 84px)}.status-lines b{font-size:6.5px}.status-lines small{font-size:5.8px}}.map-viewport{overscroll-behavior:auto}:root{font-family:Inter,Geist,DM Sans,system-ui,sans-serif;color:#263338;background:#f4f5f2;--petrol:#263f43;--sage:#70837a;--cream:#f4f5f2;--coral:#c56f58;--mustard:#b7924d;--ink:#263338;--muted:#68777a;--paper:#fff;--line:#d9dfdc}body{background:#f4f5f2;color:#263338;font-family:Inter,Geist,DM Sans,system-ui,sans-serif}.brand-word,.map-title-row h1,.subpage-heading h1,.profile-hero h1,.detail-sheet h2,.login-modal h2{font-family:Inter,Geist,system-ui,sans-serif;letter-spacing:-.035em}.map-frame{height:clamp(560px,78svh,920px);min-height:560px;max-width:1280px;margin:0 auto;background:#f3f2ed;border:1px solid #cbd1cf;border-radius:12px;box-shadow:0 12px 34px #26333812,inset 0 0 0 1px #fff}.map-viewport{touch-action:pan-y;cursor:grab;background:#f3f2ed}.map-viewport:active{cursor:grabbing}.site-map.professional-map{object-fit:contain;transition:transform .12s ease-out}.parking-space .spot-outline{fill:none;stroke:#f5f6f2;stroke-width:5;filter:none}.parking-space .spot-fill{fill:#c4c9c6;fill-opacity:.28;stroke:none}.parking-space.free .spot-fill{fill:#6db28c;fill-opacity:.82;stroke:none}.parking-space.taken .spot-fill{fill:#d77c70;fill-opacity:.88;stroke:none}.spot-number{font:700 21px Inter,system-ui,sans-serif;fill:#fff;text-anchor:middle;paint-order:stroke;stroke:#334246;stroke-width:2px;stroke-linejoin:round}.spot-status-dot{fill:#dfe3df;stroke:#687375;stroke-width:1.5}.parking-space.free .spot-status-dot{fill:#23805b}.parking-space.taken .spot-status-dot{fill:#a74238}.parking-space:hover .spot-outline,.parking-space:focus .spot-outline{stroke:#ffd36f;stroke-width:7}.trailer-label{font:700 9px Inter,system-ui,sans-serif;fill:#334246;letter-spacing:.1px}.landmark-label{font:700 10px Inter,system-ui,sans-serif;fill:#f2f3ee;letter-spacing:.35px}.street-name{font:600 12px Inter,system-ui,sans-serif;fill:#eef0eb;letter-spacing:1.2px}.road-access-label{font:700 8px Inter,system-ui,sans-serif;fill:#fff;letter-spacing:.6px}.access-caption{font:700 8px Inter,system-ui,sans-serif;fill:#3c4b4c;letter-spacing:.4px}.north-label{font:700 10px Inter,system-ui,sans-serif;fill:#455456}.topbar{border-color:#d9dfdc}.brand-mark{background:#e2eae7;color:#28464a}.brand-word{color:#263f43}.brand-word>span{color:#c56f58}.map-title-row{min-height:74px}.map-title-row h1{font-size:22px;color:#25383c}.map-kicker{font-size:9px;letter-spacing:1.3px;color:#738083}.recency{border:1px solid #dce2df;background:#fff;border-radius:8px;box-shadow:0 2px 6px #2633380a}.map-status,.mini-legend{border-radius:8px;background:#fff;border-color:#d7ddda;box-shadow:0 2px 8px #18282b18;color:#435154}.map-status b{color:#687477}.map-hint{border-radius:8px;background:#263f43;font-size:9px;letter-spacing:.2px}.report-row{max-width:1280px;margin:0 auto}.report-action{height:42px;border-radius:8px;border-color:#d8dfdc;background:#fff;font-size:11px;box-shadow:0 1px 3px #26333808}.report-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px #26333812}.footer{border-color:#d9dfdc}.app-nav{background:#263f43;border-color:#455f62;border-radius:12px;box-shadow:0 8px 26px #1f333333}.app-nav button.nav-active{background:#fff;color:#263f43}.sheet-backdrop{background:#141f227a}.detail-sheet,.login-modal{background:#fff;border-color:#e0e5e2;border-radius:14px;color:#263338}.sheet-close{border-radius:8px;background:#f0f2ef}.sheet-actions button{border-radius:8px;background:#f6f7f5;border-color:#dce1de;color:#36484b;font-size:11px}.primary-button{background:#315f58;border-radius:8px}@media (max-width:900px){.map-frame{height:clamp(520px,70svh,760px);min-height:520px}.map-title-row{min-height:68px}}@media (max-width:640px){.map-frame{height:clamp(500px,68svh,700px);min-height:500px;max-height:none;border-radius:10px}.site-map.professional-map{object-fit:contain}.map-title-row{min-height:58px}.map-title-row h1{font-size:18px}.map-status{font-size:9px}.report-action{font-size:8px}.app-nav{border-radius:12px}.map-hint{letter-spacing:0}}:root{--brand-blue:#285d9d;--brand-blue-strong:#1e4c83;--brand-yellow:#efc447;--brand-red:#c84245;--neutral-ink:#20272c;--neutral-muted:#69747a;--surface-white:#fff;--surface-gray:#f3f5f6;--border-gray:#d9dfe3;--space-free:#4e9b70;--space-occupied:#c84245;--space-unknown:#9ca5aa;--space-uncertain:#d5a52c;--petrol:var(--brand-blue);--sage:#78848a;--cream:var(--surface-gray);--coral:var(--brand-red);--mustard:var(--brand-yellow);--ink:var(--neutral-ink);--muted:var(--neutral-muted);--paper:var(--surface-white);--line:var(--border-gray);color:var(--neutral-ink);background:var(--surface-gray)}body{background:var(--surface-gray);color:var(--neutral-ink)}button:focus-visible{outline-color:var(--brand-blue)}.brand-mark{background:#e8f0f8;color:var(--brand-blue)}.brand-word,.profile-chip{color:var(--brand-blue-strong)}.place-tag svg,.icon-button,.map-controls button{color:var(--brand-blue)}.place-tag{color:var(--neutral-muted)}.topbar,.footer{border-color:var(--border-gray)}.map-title-row h1,.subpage-heading h1,.profile-hero h1{color:var(--neutral-ink)}.map-kicker,.map-title-row .map-kicker{color:var(--neutral-muted)}.recency{border-color:var(--border-gray);color:var(--neutral-ink)}.recency-dot{background:var(--brand-yellow)}.map-status,.mini-legend{color:var(--neutral-ink);border-color:var(--border-gray)}.map-status b{color:var(--neutral-ink)}.map-hint{background:var(--brand-blue-strong);color:#fff}.map-hint-arrow{color:var(--brand-yellow)}.map-hint-selecting{background:var(--brand-yellow);color:var(--neutral-ink)}.legend-free{background:var(--space-free)}.legend-taken{background:var(--space-occupied)}.legend-unknown{background:var(--space-unknown)}.legend-uncertain{background:var(--space-uncertain)}.parking-space.free .spot-fill{fill:var(--space-free)}.parking-space.taken .spot-fill{fill:var(--space-occupied)}.parking-space.unknown .spot-fill{fill:var(--space-unknown)}.parking-space.uncertain .spot-fill{fill:var(--space-uncertain);fill-opacity:.9}.parking-space.free .spot-status-dot{fill:var(--space-free)}.parking-space.taken .spot-status-dot{fill:var(--space-occupied)}.parking-space.unknown .spot-status-dot{fill:var(--space-unknown)}.parking-space.uncertain .spot-status-dot{fill:var(--space-uncertain)}.parking-space:hover .spot-outline,.parking-space:focus .spot-outline{stroke:var(--brand-yellow)}.report-action{background:var(--surface-white);border-color:var(--border-gray);color:var(--neutral-ink)}.report-action.coral{color:#286245;background:#edf5ef;border-color:#c7ddce}.report-action.petrol{color:#684f06;background:#fff8de;border-color:#efdc98}.report-action.sage{color:#46535b;background:#f0f3f5;border-color:#d8e0e4}.report-action.mustard{color:#8c292d;background:#fff0ef;border-color:#edc8c6}.report-action:hover,.report-action:focus-visible{transform:translateY(-2px);box-shadow:0 6px 16px #1d32451c;border-color:var(--brand-blue)}.report-action:active{transform:translateY(0) scale(.97)}.report-action.is-selected{outline:2px solid var(--brand-blue);outline-offset:1px;box-shadow:0 0 0 4px #285d9d20}.app-nav{background:var(--brand-blue-strong);border-color:#4673a3}.app-nav button.nav-active{background:var(--brand-yellow);color:#20272c}.primary-button{background:var(--brand-blue-strong)}.footer-identity{color:var(--neutral-ink)}.edil-logo-text{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid var(--border-gray);border-radius:5px;color:var(--brand-blue-strong);font-size:10px;font-weight:700;letter-spacing:.1px}.coredot-logo{position:relative;display:inline-block;width:92px;height:28px;overflow:hidden;vertical-align:middle}.coredot-logo img{position:absolute;left:-8px;top:-50px;width:108px;height:auto;max-width:none}.footer-identity>small{flex-basis:100%;text-align:center;color:var(--neutral-muted)}.footer-sponsor{color:var(--neutral-muted)}.sheet-close{color:var(--brand-blue-strong);background:#edf2f7}.action-confirm-backdrop{z-index:1100}.action-confirm{position:relative;width:min(100%,430px);padding:30px;border:1px solid var(--border-gray);border-radius:14px;background:var(--surface-white);box-shadow:0 24px 72px #13212a35;color:var(--neutral-ink)}.action-confirm .sheet-close{top:14px;right:14px}.action-confirm-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:17px;border-radius:12px;background:#fff3c9;color:#745a0c}.action-confirm h2{margin:8px 0;font-size:20px;color:var(--neutral-ink)}.action-confirm p{margin:0;color:var(--neutral-muted);font-size:13px;line-height:1.55}.action-confirm-buttons{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.action-confirm-buttons button{min-height:42px;padding:0 16px;border:1px solid var(--border-gray);border-radius:8px;font-size:12px;font-weight:650}.confirm-secondary{background:#fff;color:var(--neutral-ink)}.confirm-primary{background:var(--brand-yellow);border-color:#e3b932!important;color:#252a2d}.confirm-primary:hover{background:#e3b932}.sheet-actions button{transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}.sheet-actions button:hover,.sheet-actions button:focus-visible{border-color:var(--brand-blue);background:#edf3f9;box-shadow:0 3px 10px #285d9d20;transform:translateY(-1px)}.sheet-actions button:active{transform:scale(.97)}.sheet-actions button.is-selected{border-color:var(--brand-blue);background:#e8f0f8;box-shadow:0 0 0 2px #285d9d25}.mini-legend i{width:9px;height:9px;border-radius:3px}.map-controls button{background:#fff;border-color:var(--border-gray)}@media (max-width:640px){.mini-legend{left:8px;right:8px;max-width:calc(100% - 16px);flex-wrap:wrap;justify-content:center;gap:5px 9px}.mini-legend span{font-size:7px}.action-confirm{width:calc(100% - 28px);padding:25px 20px}.action-confirm h2{font-size:18px}.action-confirm-buttons button{flex:1;padding:0 8px}.coredot-logo{width:84px}.coredot-logo img{width:100px;left:-8px}}:root{--page-blue:#1e4d83;--page-blue-deep:#163b66;--page-blue-light:#2c67a8}html,body{background:var(--page-blue-deep)}.app-shell{background:linear-gradient(158deg,var(--page-blue-light) 0%,var(--page-blue) 48%,var(--page-blue-deep) 100%);color:#fff}.topbar{border-color:#ffffff35}.brand-mark{background:var(--brand-yellow);color:#1b3d64}.brand-word,.profile-chip{color:#fff}.brand-word>span{color:var(--brand-yellow)}.place-tag{color:#e5eef7}.place-tag svg{color:var(--brand-yellow)}.place-tag i{color:#a9c8e6}.icon-button{background:#ffffff16;border-color:#ffffff48;color:#fff}.profile-chip{color:#fff}.avatar{background:var(--brand-yellow);color:#26323a}.map-home .map-kicker{color:#c9ddf0}.map-title-row h1{color:#fff}.recency{background:#fff;border-color:#d7e2eb;color:var(--neutral-ink)}.map-frame{border:1px solid #ffffff82;box-shadow:0 18px 42px #0d2b4c45,inset 0 0 0 3px #ffffff25}.map-status,.mini-legend{background:#fff;border-color:#d8e1e8}.map-controls button{background:#fff;border-color:#d5dfe6}.report-row,.report-intro b{color:#fff}.report-intro small{color:#d0deeb}.report-spark{background:var(--brand-yellow);color:#263746}.action-strip{gap:9px}.report-action{min-height:44px;box-shadow:0 4px 12px #0d2b4c24}.report-action.coral{background:#edf5ef;color:#286245;border-color:#bad7c4}.report-action.petrol{background:#fff5cc;color:#574309;border-color:#edd67b}.report-action.sage{background:#eaf0f4;color:#304b62;border-color:#c8d5df}.report-action.mustard{background:#fff0ef;color:#932f32;border-color:#edc3c1}.estimate-note{color:#d0deeb}.footer{border-color:#ffffff38}.footer-brand b{color:#fff}.footer-brand small{color:#d0deeb}.footer-identity{color:#fff}.footer-identity>small{color:#d0deeb}.edil-logo-text{background:#ffffff12;border-color:#ffffff54;color:#fff}.identity-join{color:#d0deeb}.footer-sponsor{color:#c8d8e7}.app-nav{background:#102a49;border-color:#58728d}.app-nav button{color:#e8f0f7}.app-nav button.nav-active{background:var(--brand-yellow);color:#1d2c38}.subpage{padding:28px 28px 40px;border:1px solid #dbe3e8;border-radius:16px;background:#fff;box-shadow:0 18px 42px #0d2b4c24}.subpage-heading h1,.profile-hero h1{color:var(--neutral-ink)}.subpage-heading .map-kicker,.profile-hero .map-kicker{color:var(--brand-blue)}.sub-icon{background:#fff4cb;color:#6d5209}.ranking-period{background:#eef2f4}.ranking-period .period-active{background:#fff;color:var(--brand-blue-strong)}.profile-stats{background:#edf2f6}.profile-stats strong{color:var(--brand-blue)}.profile-note{background:#edf4f8;color:#385a70}.badge-icon.earned{background:#e6f2e9;color:#367451}.report-row{background:transparent}.coredot-logo{background:#102a49;border-radius:4px}.map-frame .mini-legend{color:#263238}.action-confirm{color:var(--neutral-ink)}@media (max-width:900px){.app-shell{padding-left:20px;padding-right:20px}.subpage{padding:24px}}@media (max-width:640px){.app-shell{padding:0 10px calc(84px + env(safe-area-inset-bottom));min-height:100svh}.topbar{height:54px;gap:10px}.brand-mark{width:30px;height:30px}.brand-word{font-size:20px}.place-tag{font-size:9px}.top-actions{gap:8px}.icon-button{width:32px;height:32px}.map-title-row{height:auto;min-height:68px;padding:8px 3px;gap:8px}.map-title-row h1{font-size:18px}.map-title-row .map-kicker{font-size:8px}.recency{max-width:48%;padding:7px 9px;gap:6px}.recency b{font-size:8px}.recency small{display:block;font-size:7px}.map-frame{height:clamp(390px,54svh,580px);min-height:390px;max-height:none;border-radius:12px}.site-map.professional-map{object-fit:contain}.map-status{left:8px;top:8px;max-width:calc(100% - 56px);padding:7px 9px}.status-lines b{font-size:8px}.status-lines small{font-size:7px}.map-controls{right:8px;top:8px}.map-controls button{width:32px;height:32px}.mini-legend{left:7px;right:7px;bottom:7px;gap:5px 8px;padding:6px 8px}.mini-legend span{font-size:7px}.map-hint{left:8px;bottom:49px;padding:8px 10px;font-size:8px}.report-row{position:sticky;z-index:3;bottom:calc(52px + env(safe-area-inset-bottom));margin:0 -2px;padding:8px 2px 5px;background:linear-gradient(180deg,#1e4d83f2,#1e4d83 45%)}.report-intro{display:none}.action-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-action{height:44px;min-height:44px;flex-direction:row;justify-content:flex-start;gap:8px;padding:0 10px;border-radius:9px;font-size:9px;white-space:normal;text-align:left}.report-action svg{width:17px;height:17px;flex:none}.estimate-note{padding:0 5px;font-size:8px}.footer{margin-top:12px;padding:10px 2px 8px}.footer-identity{gap:5px}.footer-identity>small{font-size:7px}.app-nav{left:10px;right:10px;bottom:max(5px,env(safe-area-inset-bottom));padding:5px;border-radius:13px}.app-nav button{height:44px;font-size:8px}.app-nav button svg{width:17px;height:17px}.subpage{min-height:70vh;margin:18px 2px 56px;padding:21px 16px 30px;border-radius:14px}.profile-hero .outline-button{background:#f3f6f8;color:var(--brand-blue-strong)}.action-confirm-backdrop{padding:12px}}@media (max-width:380px){.app-shell{padding-left:8px;padding-right:8px}.place-tag{font-size:8px}.map-title-row h1{font-size:17px}.recency{max-width:45%}.recency small{display:none}.report-action{padding:0 8px;font-size:8px}.map-frame{height:clamp(380px,52svh,520px);min-height:380px}}.app-shell{padding-left:42px;padding-right:42px}.map-home{width:100%;max-width:1640px;margin:0 auto}.map-title-row{align-items:flex-end;margin:0 auto 14px;max-width:1580px}.map-title-row h1{font-size:clamp(24px,2.2vw,34px);letter-spacing:-.045em}.map-title-row .map-kicker{font-size:10px;letter-spacing:.12em}.map-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:stretch;gap:18px;max-width:1580px;margin:0 auto}.map-main{display:flex;min-width:0;flex-direction:column}.map-frame{width:100%;height:min(77svh,900px);min-height:560px;max-width:none;margin:0}.estimate-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0 0;color:#e0eaf4;font-size:10px}.estimate-note svg{color:var(--brand-yellow)}.map-info-panel{display:flex;min-width:0;flex-direction:column;gap:15px;padding:20px;border:1px solid #dbe5ed;border-radius:18px;background:#f8fbff;color:var(--neutral-ink);box-shadow:0 18px 42px #0d2b4c2e}.panel-heading{padding-bottom:13px;border-bottom:1px solid #e1e7eb}.panel-kicker{display:flex;align-items:center;gap:6px;color:var(--brand-blue);font-size:9px;font-weight:750;letter-spacing:.09em}.panel-heading h2{margin:8px 0 4px;font-size:20px;line-height:1.2;letter-spacing:-.035em;color:#1e2a31}.panel-heading p{margin:0;color:#697780;font-size:11px;line-height:1.45}.availability-card{overflow:hidden;padding:15px;border:1px solid #2a65a2;border-radius:14px;background:linear-gradient(145deg,#2d70b5,#1b477d);color:#fff;box-shadow:0 8px 20px #1e4d8324}.availability-topline{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#e4edf6;font-size:10px;font-weight:600}.live-indicator{display:flex;align-items:center;gap:5px;color:#ffdf78;font-size:7px;font-weight:800;letter-spacing:.07em}.live-indicator i{width:6px;height:6px;border-radius:50%;background:var(--brand-yellow);box-shadow:0 0 0 3px #efc4472c}.availability-total{display:flex;align-items:baseline;gap:9px;margin:12px 0 13px}.availability-total strong{color:#fff;font-size:44px;line-height:1;font-weight:750;letter-spacing:-.06em}.availability-total span{color:#e6eef7;font-size:11px}.availability-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid #ffffff33;border-radius:10px;background:#ffffff12}.availability-stats>div{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 3px}.availability-stats>div+div{border-left:1px solid #ffffff30}.availability-stats b{font-size:17px;line-height:1.1;color:#fff}.availability-stats span{display:flex;align-items:center;gap:4px;color:#e9f0f7;font-size:8px;white-space:nowrap}.availability-stats i{width:7px;height:7px;flex:none;border-radius:50%}.last-report{display:flex;align-items:center;gap:7px;margin-top:11px;color:#e6eef7;font-size:9px}.last-report svg{flex:none;color:#ffdf78}.quick-report-panel{padding:14px;border:1px solid #e0e7ec;border-radius:13px;background:#fff}.quick-report-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px}.quick-report-icon{display:grid;width:34px;height:34px;flex:none;place-items:center;border-radius:10px;background:#fff1bd;color:#765b08}.quick-report-heading h3{margin:0;color:#26333b;font-size:13px;font-weight:750}.quick-report-heading p{margin:3px 0 0;color:#737f86;font-size:9px}.quick-report-panel .action-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.quick-report-panel .report-action{width:100%;min-width:0;height:48px;min-height:48px;justify-content:flex-start;gap:7px;padding:0 9px;border-radius:10px;font-size:9px;white-space:normal}.quick-report-panel .report-action svg{width:17px;height:17px;flex:none}.panel-help{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border-radius:10px;background:#eaf1f7;color:#4e6372;font-size:9px;line-height:1.5}.panel-help svg{flex:none;margin-top:1px;color:var(--brand-blue)}.map-status{gap:7px}.map-status .status-swatch{background:var(--space-unknown);border-color:#fff}.mini-legend{gap:8px}@media (min-width:1024px){.app-shell{padding-left:176px;padding-right:42px}.app-nav{position:fixed;top:50%;bottom:auto;left:20px;z-index:40;display:flex;width:138px;flex-direction:column;align-items:stretch;gap:5px;padding:9px;transform:translateY(-50%);border:1px solid #ffffff30;border-radius:16px;background:#102b4aef;box-shadow:0 18px 40px #0d29454d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-nav button{width:100%;height:44px;min-width:0;justify-content:flex-start;gap:11px;padding:0 12px;border-radius:10px;color:#e5edf5;font-size:11px}.app-nav button.nav-active{background:var(--brand-yellow);color:#26323a}}@media (max-width:1100px){.map-dashboard{grid-template-columns:minmax(0,1fr);gap:12px}.map-frame{height:clamp(500px,64svh,720px);min-height:500px}.map-info-panel{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px;padding:16px}.panel-heading{grid-column:1/-1;padding-bottom:10px}.availability-card,.quick-report-panel{height:100%}.panel-help{grid-column:1/-1}}@media (max-width:640px){.app-shell{padding-left:10px;padding-right:10px}.map-home{max-width:100%}.map-title-row{align-items:center;margin-bottom:7px}.map-title-row h1{font-size:20px}.map-title-row .map-kicker{font-size:8px;letter-spacing:.08em}.map-dashboard{gap:9px}.map-frame{height:clamp(390px,52svh,540px);min-height:390px}.estimate-note{margin:7px 2px 1px;font-size:8px;text-align:center}.map-info-panel{display:flex;gap:11px;padding:14px;border-radius:15px}.panel-heading{padding-bottom:10px}.panel-heading h2{font-size:17px}.availability-card{height:auto;padding:13px}.availability-total{margin:9px 0 11px}.availability-total strong{font-size:38px}.availability-stats>div{padding:8px 2px}.quick-report-panel{padding:12px}.quick-report-panel .action-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.quick-report-panel .report-action{height:48px;min-height:48px;padding:0 9px;font-size:9px}.panel-help{font-size:9px}}@media (max-width:380px){.map-title-row h1{font-size:18px}.map-title-row .map-kicker{font-size:7px}.recency{max-width:43%;padding:6px 7px}.recency b{font-size:7px}.recency small{font-size:6px}.map-frame{height:clamp(380px,50svh,500px);min-height:380px}.map-info-panel{padding:12px}.availability-topline{font-size:9px}.availability-total strong{font-size:34px}.availability-stats span{font-size:7px}.quick-report-panel .report-action{font-size:8px;gap:6px;padding:0 7px}}@media (max-width:640px){.map-frame{height:min(52svh,460px);min-height:300px;max-height:460px}.map-info-panel{display:flex;gap:9px;padding:10px;border-radius:13px}.availability-card,.quick-report-panel{height:auto;min-height:0}.availability-card{padding:11px}.availability-total{margin:8px 0 9px}.availability-total strong{font-size:34px}.availability-stats>div{padding:7px 2px}.quick-report-panel{padding:10px}.quick-report-heading{margin-bottom:8px}.quick-report-panel .report-action{height:auto;min-height:44px;padding:7px 8px}.panel-help{padding:8px 9px}}@media (max-width:390px){.map-frame{height:min(48svh,420px);min-height:290px;max-height:420px}.map-info-panel{gap:8px;padding:9px}.availability-total strong{font-size:31px}}
