@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(./nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(./nunito-latin-900-normal-BVB1fGs6.woff2)format("woff2"),url(./nunito-latin-900-normal-CVn49sIn.woff)format("woff")}:root{--bg:#bfe3f2;--ink:#1f2430;--muted:#667085;--card:#fff;--brand:#e2136e;--brand-d:#b80f58;--gold:#ffc83d;--good:#12805c;--warn:#b35c00;--radius:22px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);font-family:Nunito,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;position:fixed;top:0;bottom:0;left:0;right:0}#app{position:fixed;top:0;bottom:0;left:0;right:0}#game{touch-action:none;position:absolute;top:0;bottom:0;left:0;right:0}#game canvas{touch-action:none;outline:none;display:block;width:100%!important;height:100%!important}.hidden{display:none!important}button{font:inherit;color:inherit}#hud{padding:calc(var(--sat) + 10px) calc(var(--sar) + 12px) 0 calc(var(--sal) + 12px);pointer-events:none;align-items:flex-start;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.chip{pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:0;border-radius:999px;align-items:center;gap:8px;max-width:calc(100vw - 120px);min-height:44px;padding:0 14px 0 12px;font-size:15px;font-weight:800;display:inline-flex;box-shadow:0 2px #1f24301a,0 8px 22px #1f24302e}.chip-btn{cursor:pointer}.chip-btn:active{transform:translateY(1px)}#district-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chip-pin{background:var(--brand);border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 3px #e2136e2e}.chip-caret{border-right:2.5px solid var(--muted);border-bottom:2.5px solid var(--muted);flex:none;width:8px;height:8px;transform:rotate(45deg)translate(-2px,-2px)}.chip-warn{color:var(--warn);background:#fff3d6;min-height:36px;font-size:13px}.toast{left:50%;top:calc(var(--sat) + 66px);color:#fff;text-align:center;pointer-events:none;background:#1f2430eb;border-radius:14px;max-width:min(88vw,420px);padding:10px 16px;font-size:14px;font-weight:700;animation:.22s ease-out pop;position:fixed;transform:translate(-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}#controls{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}#stick-zone{left:var(--sal);bottom:var(--sab);pointer-events:auto;touch-action:none;justify-content:flex-start;align-items:flex-end;width:min(52vw,260px);height:min(42vh,280px);padding:0 0 28px 26px;display:flex;position:absolute}#stick-base{background:radial-gradient(circle at 50% 40%,#ffffff8c,#ffffff47);border:2px solid #ffffffd9;border-radius:50%;place-items:center;width:128px;height:128px;transition:transform .12s,background .12s;display:grid;position:relative;box-shadow:0 8px 24px #1f243033,inset 0 -6px 14px #1f24301a}#stick-base.active{background:radial-gradient(circle at 50% 40%,#ffffffbf,#ffffff6b);transform:scale(1.05)}#stick-base:before{content:"";border:1.5px dashed #1f24302e;border-radius:50%;position:absolute;top:14px;bottom:14px;left:14px;right:14px}#stick-knob{background:linear-gradient(180deg, #ff4d9a, var(--brand));will-change:transform;border:3px solid #fff;border-radius:50%;width:58px;height:58px;box-shadow:0 6px 14px #e2136e73,inset 0 -4px 8px #0000001f}.action-btn{right:calc(var(--sar) + 22px);bottom:calc(var(--sab) + 44px);color:#4a2f00;letter-spacing:.2px;pointer-events:auto;cursor:pointer;touch-action:manipulation;background:linear-gradient(#ffd24f,#ffb300);border:4px solid #fff;border-radius:52px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:104px;max-width:150px;height:104px;padding:0 18px;font-size:17px;font-weight:900;animation:1.6s ease-in-out infinite bob;display:flex;position:absolute;box-shadow:0 6px #c98600,0 14px 28px #1f243047}.action-btn:active{animation:none;transform:translateY(4px);box-shadow:0 2px #c98600,0 8px 18px #1f243047}.action-ico{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M4 13l3-7h18l3 7v3H4z' fill='%234a2f00'/%3E%3Cpath d='M6 16h20v11H6z' fill='%234a2f00'/%3E%3Crect x='13' y='19' width='6' height='8' fill='%23ffd24f'/%3E%3C/svg%3E") 50%/contain no-repeat;width:30px;height:30px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}#action-label{white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:15px;overflow:hidden}.hint{left:50%;bottom:calc(var(--sab) + 190px);color:#fff;pointer-events:none;white-space:nowrap;background:#1f2430c7;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:700;animation:.3s ease-out pop;position:absolute;transform:translate(-50%)}.sheet,.drawer{z-index:30;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet-scrim,.drawer-scrim{background:#14182800;transition:background .26s;position:absolute;top:0;bottom:0;left:0;right:0}.sheet.open .sheet-scrim,.drawer.open .drawer-scrim{background:#14182873}.sheet-panel,.drawer-panel{width:min(100%,520px);max-height:86vh;max-height:86dvh;padding-bottom:var(--sab);background:#fbfaf7;border-radius:28px 28px 0 0;flex-direction:column;transition:transform .34s cubic-bezier(.2,.9,.25,1);display:flex;position:relative;overflow:hidden;transform:translateY(104%);box-shadow:0 -12px 40px #14182847}.sheet.open .sheet-panel,.drawer.open .drawer-panel{transform:translateY(0)}.sheet-grip{background:#d6d2c8;border-radius:3px;flex:none;width:44px;height:5px;margin:10px auto 2px}.sheet-close{cursor:pointer;z-index:2;background:#efece5;border:0;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;position:absolute;top:12px;right:12px}.sheet-close:active{background:#e3dfd5}.sheet-head{flex:none;align-items:center;gap:14px;padding:8px 64px 14px 18px;display:flex}.logo-plate{background:#fff;border:1px solid #ece8de;border-radius:20px;flex:none;place-items:center;width:76px;height:76px;padding:8px;display:grid;overflow:hidden;box-shadow:0 4px 14px #1f24301a}.logo-plate img{object-fit:contain;max-width:100%;max-height:100%;display:block}.logo-plate span{color:var(--brand);font-size:26px;font-weight:900}.sheet-titles h2{overflow-wrap:anywhere;margin:0;font-size:21px;font-weight:900;line-height:1.15}.sheet-titles p{color:var(--muted);margin:4px 0 0;font-size:13.5px;font-weight:700}.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex-direction:column;gap:14px;padding:4px 14px 22px;display:flex;overflow-y:auto}.offer-card{border-radius:var(--radius);background:#fff;border:1px solid #eee9de;overflow:hidden;box-shadow:0 6px 18px #1f243012}.offer-banner{aspect-ratio:16/7;object-fit:cover;background:linear-gradient(135deg,#ffe3ef,#fff5d9);width:100%;display:block}.offer-main{padding:14px 16px 6px}.offer-tags{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tag{color:#5b5546;background:#f3efe6;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.tag.good{color:var(--good);background:#dff5ea}.tag.warn{color:var(--warn);background:#fff0d6}.tag.bad{color:#b42318;background:#fde2e2}.tag.brand{color:var(--brand-d);background:#ffe1ee}.offer-title{margin:0;font-size:18px;font-weight:900;line-height:1.2}.offer-value{color:var(--brand);letter-spacing:-.3px;margin:6px 0 0;font-size:26px;font-weight:900}.offer-desc{color:#3a4150;margin:8px 0 0;font-size:14.5px;line-height:1.45}.coupon{background:#fff7fb;border:2px dashed #e9b8cf;border-radius:16px;align-items:center;gap:10px;margin:12px 16px 4px;padding:10px 12px;display:flex}.coupon small{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:11.5px;font-weight:800;display:block}.coupon b{letter-spacing:1.5px;color:var(--brand-d);-webkit-user-select:text;user-select:text;font-size:22px}.coupon button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:44px;margin-left:auto;padding:0 16px;font-weight:800}.coupon button:active{background:var(--brand-d)}.offer-valid{color:var(--muted);margin:8px 16px 0;font-size:13px;font-weight:700}details.terms{border-top:1px solid #f0ece2;margin:8px 16px 0;padding-top:6px}details.terms summary{cursor:pointer;align-items:center;min-height:44px;font-weight:800;list-style:none;display:flex}details.terms summary:after{content:"+";color:var(--muted);margin-left:auto;font-size:22px}details.terms[open] summary:after{content:"–"}.terms-body{color:#3a4150;padding-bottom:10px;font-size:13.5px;line-height:1.5}.terms-body p{margin:0 0 8px}.offer-cta{background:linear-gradient(180deg, #ff2f8c, var(--brand));color:#fff;min-height:52px;box-shadow:0 4px 0 var(--brand-d);border-radius:16px;justify-content:center;align-items:center;margin:8px 16px 16px;font-size:16px;font-weight:900;text-decoration:none;display:flex}.offer-cta:active{box-shadow:0 1px 0 var(--brand-d);transform:translateY(3px)}.empty{text-align:center;color:#4a5160;padding:26px 20px 30px}.empty .empty-art{background:#f3efe6;border-radius:28px;place-items:center;width:96px;height:96px;margin:0 auto 10px;font-size:44px;display:grid}.empty h3{color:var(--ink);margin:0 0 6px;font-size:18px;font-weight:900}.empty p{margin:0;font-size:14.5px;line-height:1.45}.sheet-foot{text-align:center;padding:2px 0 6px}.sheet-foot a{color:var(--muted);font-size:13.5px;font-weight:800}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,#efebe1 25%,#f8f5ee 50%,#efebe1 75%) 0 0/200% 100%;height:150px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.drawer-panel{padding:0 6px 12px}.drawer-panel h2{margin:6px 18px 8px;font-size:20px;font-weight:900}#district-list{gap:8px;margin:0;padding:0 8px 8px;list-style:none;display:grid;overflow-y:auto}#district-list button{cursor:pointer;text-align:left;background:#fff;border:1px solid #eee9de;border-radius:18px;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 14px;display:flex}#district-list button:active{background:#f7f2e8}#district-list img{object-fit:contain;flex:none;width:40px;height:40px}#district-list .sw{border-radius:12px;flex:none;width:40px;height:40px}#district-list .nm{font-size:16px;font-weight:900}#district-list .ct{color:var(--muted);font-size:13px;font-weight:700}#loader{z-index:50;background:radial-gradient(120% 80% at 50% 0,#e9f7ff 0%,#bfe3f2 55%,#a7d6c0 100%);place-items:center;padding:24px;transition:opacity .5s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#loader.done{opacity:0;pointer-events:none}.loader-card{text-align:center;width:min(86vw,360px)}.loader-card h1{color:#17324a;letter-spacing:-.5px;margin:12px 0 4px;font-size:30px;font-weight:900}.loader-card p{color:#3b5a72;min-height:22px;margin:0 0 18px;font-weight:700}.loader-bar{background:#ffffffb3;border-radius:8px;height:12px;overflow:hidden;box-shadow:inset 0 2px 4px #00000014}.loader-bar b{background:linear-gradient(90deg, #ff4d9a, var(--brand));border-radius:8px;width:6%;height:100%;transition:width .25s;display:block}.loader-skyline{justify-content:center;align-items:flex-end;gap:6px;height:74px;display:flex}.loader-skyline i{background:#fff;border-radius:6px 6px 2px 2px;width:28px;animation:1.4s ease-in-out infinite rise;display:block;box-shadow:inset -8px 0 #00000014}.loader-skyline i:first-child{background:#ffd7e8;height:36px;animation-delay:0s}.loader-skyline i:nth-child(2){background:#fff;height:58px;animation-delay:.1s}.loader-skyline i:nth-child(3){background:#ffe9a8;height:46px;animation-delay:.2s}.loader-skyline i:nth-child(4){background:#d6efe9;height:66px;animation-delay:.3s}.loader-skyline i:nth-child(5){background:#e2dcf4;height:40px;animation-delay:.4s}@keyframes rise{0%,to{transform:scaleY(.92)}50%{transform:scaleY(1)}}.btn{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:14px;min-height:48px;margin-top:16px;padding:0 22px;font-size:16px;font-weight:900}@media (max-height:460px) and (orientation:landscape){#stick-base{width:108px;height:108px}#stick-knob{width:50px;height:50px}.action-btn{min-width:88px;height:88px;bottom:calc(var(--sab) + 22px)}.hint{bottom:calc(var(--sab) + 20px)}.sheet-panel{max-height:94dvh}}@media (min-width:900px) and (pointer:fine){.sheet{justify-content:flex-end;align-items:stretch}.sheet-panel{border-radius:28px 0 0 28px;width:440px;height:100%;max-height:none;padding-bottom:0;transform:translate(104%)}.sheet.open .sheet-panel{transform:translate(0)}.sheet-grip{display:none}.drawer{align-items:center}.drawer-panel{opacity:0;border-radius:28px;max-height:80vh;transition:transform .25s,opacity .25s;transform:translateY(30px)}.drawer.open .drawer-panel{opacity:1;transform:none}#stick-zone{opacity:.85}}@media (prefers-reduced-motion:reduce){.action-btn,.loader-skyline i{animation:none}.sheet-panel,.drawer-panel{transition-duration:10ms}}.loader-logo{filter:drop-shadow(0 4px 10px #e2136e40);width:150px;height:auto;margin:0 auto 14px;display:block}.loader-skyline{height:56px}.loader-skyline i:first-child,.loader-skyline i:nth-child(3),.loader-skyline i:nth-child(5){background:#f9c2da}.sheet-panel:before{content:"";z-index:1;background:linear-gradient(90deg,#e2136e,#ff5aa5);height:5px;position:absolute;top:0;left:0;right:0}.bk-foot{color:var(--muted);justify-content:center;align-items:center;gap:8px;padding:6px 0 2px;font-size:12.5px;font-weight:800;display:flex}.bk-foot img{width:auto;height:24px;display:block}
