@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#193333;--muted:#71807b;--paper:#f6f7f1;--white:#fffefa;--accent:#ed714b;--line:#e0e5dc;--green:#366c50;--mint:#eaf1df;--font:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--font);padding-bottom:115px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ed714b;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.preview-banner{background:var(--ink);color:#f2f2db;padding:8px 24px;font-size:10px;letter-spacing:1.5px;text-align:center;display:flex;justify-content:center;gap:20px}.preview-banner span{letter-spacing:.2px;opacity:.7}.site-header{max-width:1160px;padding:27px 32px 22px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-size:21px;letter-spacing:-1px;line-height:1.1}.brand-heavy{display:block;font-weight:800;font-size:26px}.brand-dot,.accent{color:var(--accent)}.brand-mark{display:grid;place-items:center;background:var(--accent);color:#fff9df;width:43px;height:46px;font-size:47px;line-height:1;border-radius:15px 15px 15px 3px;transform:rotate(-7deg)}.header-meta{font-size:10px;font-weight:700;letter-spacing:1.6px;display:flex;gap:12px;align-items:center}.region-dot,.status-strip i{width:6px;height:6px;background:var(--green);display:inline-block;border-radius:50%}.header-divider{color:#abb4a6;padding:0 9px}.avatar{border:1px solid #d5decf;background:#ebeedf;display:grid;place-items:center;border-radius:50%;width:42px;height:42px;font-size:11px;font-weight:700}main{max-width:1160px;margin:auto;padding:36px 32px}.heading-row{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green);margin:0 0 14px}h1,h2,h3,p{margin-top:0}h1{font:800 52px/1.1 Manrope,var(--font);letter-spacing:-2.8px;margin-bottom:16px}h2{font:800 19px/1.3 Manrope,var(--font);letter-spacing:-.6px;margin-bottom:0}h3{font:800 19px/1.3 Manrope,var(--font);letter-spacing:-.6px;margin-bottom:8px}.intro{color:var(--muted);font-size:15px;margin-bottom:24px}.hero-art{position:relative;width:260px;height:165px;margin-right:65px}.orbit{position:absolute;width:230px;height:105px;border:1px solid #d6ddc9;border-radius:50%;transform:rotate(-22deg);top:30px}.orbit-two{transform:rotate(35deg)}.bolt{position:absolute;left:80px;top:0;color:var(--accent);font:160px/.9 Georgia,serif;transform:rotate(10deg);text-shadow:9px 7px #f0dfb5}.spark{position:absolute;color:var(--green);font-size:28px}.s1{right:12px;top:2px}.s2{left:8px;bottom:15px}.orbit-label{position:absolute;bottom:0;right:23px;font-size:8px;letter-spacing:2px;color:var(--muted)}.status-strip{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:23px;color:var(--muted);font-size:11px}.status-strip span:first-child{display:flex;align-items:center;gap:8px}.search-row{display:flex;gap:10px;margin-bottom:17px}.search-box{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:13px 16px;flex:1;min-width:0}.search-box input{border:0;background:none;outline:none;width:100%;font-size:13px;color:var(--ink)}.search-box input::placeholder{color:#8d968c}.icon{width:20px;height:20px;display:block;flex-shrink:0}.filter-button{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:0 16px;font-size:12px;font-weight:600}.filter-button span:last-child:not(.filter-word){font-size:11px}.chip-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.chip{flex-shrink:0;padding:9px 16px;border-radius:30px;background:transparent;border:1px solid var(--line);font-size:12px}.chip.active{background:var(--ink);color:var(--white);border-color:var(--ink)}.feed-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;margin-top:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px}.section-heading h2 span{font-size:12px;color:var(--muted);font-weight:500;letter-spacing:0;padding-left:5px}.quiet{color:var(--muted);font-size:11px}.report-card{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:20px;margin-bottom:13px;transition:transform .15s,box-shadow .15s}.report-card:hover{box-shadow:0 5px 22px #19333308}.card-top{display:flex;align-items:center;gap:8px;margin-bottom:14px}.tag{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;font-size:9px;letter-spacing:.6px;font-weight:700;text-transform:uppercase;background:#e9f1e1;color:var(--green)}.tag.update{background:#e9eff3;color:#4d6d89}.tag.check{background:#f0ede5;color:#81765c}.card-time{color:var(--muted);font-size:11px}.save-button{margin-left:auto;background:none;color:#9aa292;padding:3px}.save-button.saved{color:var(--accent)}.save-button.saved svg{fill:#ed714b22}.product-heading{font:800 24px/1.25 Manrope,var(--font);letter-spacing:-.9px;margin:0 0 13px}.store-line{display:flex;align-items:center;gap:10px;margin-bottom:13px}.retailer-logo{width:31px;height:31px;border-radius:9px;border:1px solid #e5e8df;display:grid;place-items:center;background:#faf9f4;color:#c4443c;font-size:22px;font-weight:700;flex-shrink:0}.retailer-logo.walmart{color:#c39c38}.retailer-logo.ross{color:#345b91;font-size:12px;font-style:italic}.retailer-logo.walgreens{font-family:Georgia,serif;color:#cb303e}.store-name{font-size:12px;font-weight:700;display:block}.store-city{font-size:10px;color:var(--muted);display:block}.report-note{font-size:12px;color:#6b786e;margin-bottom:15px;line-height:1.6}.card-meta{display:flex;gap:16px;font-size:10px;color:var(--muted);border-top:1px solid #edf0e7;padding-top:12px;margin-bottom:15px}.card-meta b{color:var(--ink);font-weight:500}.card-actions{display:flex;gap:8px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;border-radius:9px;font-size:12px;min-height:40px;padding:10px 17px}.primary-button{background:var(--ink);color:#fffdf0}.secondary-button{border:1px solid var(--line);background:transparent}.card-actions .primary-button{flex:1}.card-actions .secondary-button{flex:1}.card-actions .icon{width:14px;height:14px}.data-note{text-align:center;color:var(--muted);font-size:10px;line-height:1.7;padding:18px}.mini-map-card{background:#eaf0dc;border:1px solid #dfe6cf;border-radius:17px;overflow:hidden}.mini-map-art{height:150px;position:relative;overflow:hidden;background:repeating-linear-gradient(10deg,transparent 0 31px,#d6dec6 32px 33px,transparent 34px 51px),repeating-linear-gradient(98deg,transparent 0 41px,#d6dec6 42px 43px,transparent 44px 68px)}.mini-map-art:after{content:'';position:absolute;width:160px;height:230px;background:#cfdfda;right:-35px;top:0;transform:rotate(35deg);border-left:8px solid #f5f7e8;border-radius:60px}.map-street{position:absolute;height:8px;background:#fffdf2;border:1px solid #dfe5d2;width:400px;left:-20px;top:90px;transform:rotate(-17deg)}.street2{transform:rotate(60deg);top:50px}.street3{transform:rotate(15deg);top:22px}.map-pin{position:absolute;background:var(--accent);width:19px;height:19px;border:4px solid #fffdf0;border-radius:50%;box-shadow:0 2px 5px #19333333;z-index:1}.pin1{top:58px;left:60px}.pin2{top:110px;left:170px}.pin3{top:30px;left:130px}.water-label{position:absolute;right:18px;bottom:20px;z-index:1;font-size:8px;letter-spacing:2px;color:#829c91}.mini-map-copy{padding:22px}.mini-map-copy h3{font-size:23px}.text-action{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:0;background:none;font-size:12px;font-weight:700}.mini-map-copy .text-action{width:100%;border-top:1px solid #d5dfc8;margin-top:8px;padding-top:15px}.calendar-teaser{margin-top:20px;border:1px solid var(--line);padding:21px;border-radius:17px}.calendar-teaser .section-heading{margin-bottom:7px}.calendar-teaser h3{font-size:15px;margin:0}.calendar-teaser .text-action{width:100%;margin-top:16px}.event-mini{display:flex;align-items:center;gap:12px;margin-top:21px}.date-block{width:43px;height:49px;border:1px solid var(--line);background:#fffdf7;border-radius:8px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.date-block small{font-size:8px;letter-spacing:1px;color:var(--accent);font-weight:700}.date-block b{font-size:20px;line-height:1.2}.event-mini b{font-size:11px}.event-mini small:not(.date-block small){display:block;font-size:9px;color:var(--muted);margin-top:3px}.bottom-nav{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:400px;border:1px solid #dfe4d9;background:#fffefaed;backdrop-filter:blur(16px);box-shadow:0 8px 40px #19333314;display:flex;justify-content:space-around;border-radius:20px;padding:9px 12px;z-index:1000}.bottom-nav button{background:none;color:#8c978b;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;padding:5px 16px;border-radius:12px}.bottom-nav button.active{color:var(--ink);background:#edf1e4}.bottom-nav button.active .icon{stroke-width:2.3}.map-toolbar{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:25px 0 15px}label{display:block;font-size:11px;font-weight:600}select{display:block;margin-top:8px;border:1px solid var(--line);border-radius:9px;background:var(--white);padding:11px;width:100%;color:var(--ink)}#store-map{height:460px;border-radius:18px;border:1px solid var(--line);z-index:0;background:#e9eedf}#map-status{padding:10px 0}.leaflet-popup-content button{background:var(--ink);color:white;padding:8px 12px;border-radius:5px;margin-top:8px}.calendar-controls{display:flex;align-items:center;justify-content:space-between;background:var(--white);padding:15px;border:1px solid var(--line);border-radius:14px 14px 0 0;margin-top:30px}.icon-button{display:grid;place-items:center;background:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font-size:20px;flex-shrink:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--white);border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;overflow:hidden;padding:8px 10px 16px}.weekday{text-align:center;padding:10px 0;font-size:10px;color:var(--muted)}.calendar-day{position:relative;min-height:55px;background:transparent;font-size:12px;border-radius:10px}.calendar-day.has-event:after{content:'';position:absolute;bottom:8px;left:calc(50% - 2px);width:4px;height:4px;background:var(--accent);border-radius:50%}.calendar-day.selected{background:var(--ink);color:white}.calendar-list-heading{margin-top:28px}.event-card{display:flex;gap:15px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px;margin:12px 0}.event-card h3{font-size:15px;margin:8px 0}.event-card p{color:var(--muted);font-size:12px;margin:0}.notice{display:flex;align-items:flex-start;gap:12px;background:#eaf0e4;padding:18px;border-radius:12px;margin-top:24px;color:#64755f}.notice p{font-size:11px;margin:0;line-height:1.7}.preferences-card{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--white);margin:28px 0}.large{width:54px;height:54px;flex-shrink:0}.preferences-card h2{font-size:17px}.preferences-card p{font-size:12px;color:var(--muted);margin:5px 0 0}.preferences-card.compact{gap:15px}.compact h3{font-size:14px;margin:0}.compact .text-action{margin-left:auto}.saved-store{display:flex;align-items:center;gap:12px;background:var(--white);padding:16px;border:1px solid var(--line);border-radius:12px;margin:10px 0}.empty{padding:35px 20px;border:1px dashed #cdd5c5;border-radius:14px;text-align:center;color:var(--muted);font-size:13px}.empty b{color:var(--ink);display:block;margin-bottom:7px}dialog{border:1px solid var(--line);border-radius:22px;padding:27px;background:var(--paper);color:var(--ink);max-width:480px;width:calc(100% - 28px);max-height:85dvh}dialog::backdrop{background:#122a2b70;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:25px}.dialog-heading .eyebrow{margin-bottom:8px}.dialog-heading h2{font-size:23px}dialog label{margin:17px 0}.dialog-actions{display:flex;gap:10px;margin-top:27px}.dialog-actions .primary-button{flex:1}#details-content h2{margin-bottom:18px}#details-content p{font-size:13px}#toast{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fffdf0;border-radius:10px;padding:12px 18px;font-size:12px;z-index:2000;display:none;box-shadow:0 6px 22px #19333333}#toast.visible{display:block}
@media(min-width:800px){#calendar,#you{max-width:720px;margin:auto}#map .section-heading h1{font-size:43px}#map-detail .report-card{max-width:600px}}
@media(max-width:700px){body{padding-bottom:95px}.preview-banner{font-size:8px;letter-spacing:1px;gap:10px;padding:7px 8px}.preview-banner span{font-size:8px}.site-header{padding:20px 22px 17px}.brand{font-size:17px}.brand-heavy{font-size:22px}.brand-mark{width:36px;height:39px;font-size:40px;border-radius:12px 12px 12px 3px}.header-meta{display:none}.avatar{width:35px;height:35px;font-size:10px}main{padding:27px 20px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:13px}h1{font-size:37px;letter-spacing:-1.8px;line-height:1.12;margin-bottom:14px}.heading-row{position:relative}.heading-row>div:first-child{position:relative;z-index:1}.hero-art{position:absolute;right:-12px;width:120px;height:130px;margin:0;top:14px;opacity:.8}.orbit{width:112px;height:65px;top:30px;left:0}.bolt{left:30px;top:20px;font-size:90px;text-shadow:5px 4px #f0dfb5}.s1{font-size:20px;right:0;top:10px}.s2{font-size:17px;bottom:8px;left:7px}.orbit-label{display:none}.intro{font-size:12px;margin-bottom:24px}.status-strip{font-size:9px;padding:11px 0;margin-bottom:20px}.search-box{padding:12px;gap:9px}.search-box input{font-size:11px}.search-box .icon{width:17px}.filter-button{padding:0 13px}.filter-word{display:none}.chip{font-size:11px;padding:8px 14px}.chip-row{gap:7px;margin-right:-20px;padding-right:20px}.feed-layout{display:block;margin-top:24px}.side-column{display:none}.section-heading h2{font-size:18px}.section-heading .quiet{font-size:10px}.report-card{padding:17px;border-radius:15px;margin-bottom:12px}.product-heading{font-size:23px;letter-spacing:-.7px}.card-top{margin-bottom:13px}.card-time{font-size:10px}.store-name{font-size:12px}.report-note{font-size:11px;margin-bottom:13px}.card-meta{font-size:9px;gap:14px;margin-bottom:13px}.primary-button,.secondary-button{font-size:11px;min-height:39px;padding:10px 12px}.bottom-nav{bottom:0;width:100%;border-radius:18px 18px 0 0;border-bottom:0;padding:10px 15px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 25px #19333308}.bottom-nav button{font-size:10px;padding:5px 21px;gap:4px}.bottom-nav .icon{width:21px;height:21px}.data-note{font-size:9px;padding:14px}#store-map{height:51dvh;min-height:310px}.map-toolbar{margin-top:20px}.map-toolbar label{flex:1;font-size:10px}.map-toolbar button{font-size:10px}#map .section-heading{display:block}#map .tag{margin-top:10px}#map h1{font-size:34px}.calendar-controls h2{font-size:17px}.calendar-day{min-height:43px}.calendar-day.has-event:after{bottom:4px}.preferences-card{padding:17px;gap:12px}.preferences-card h2{font-size:15px}.preferences-card p{font-size:11px}.notice{padding:15px}.notice p{font-size:10px}dialog{padding:22px}#toast{bottom:90px;max-width:90%;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
