@font-face{font-display:swap;font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;src:url(./space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;src:url(./space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:Space Grotesk Variable;font-style:normal;font-weight:300 700;src:url(./space-grotesk-latin-wght-normal.BhU9QXUp.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;font-family:JetBrains Mono Variable;font-style:normal;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{color-scheme:light dark;--foam:#fff8e8;--foam-raised:#fffdf5;--navy:#122b3a;--navy-soft:#49616d;--coral:#ff5c4d;--coral-ink:#2d1010;--line:#c8c3b2;--quiet:#ebe5d4;--shadow:0 22px 60px rgba(31,48,55,.13);--radius-small:12px;--radius:20px;--radius-large:30px;--brand-wave:var(--navy);font-family:Space Grotesk Variable,system-ui,sans-serif;font-synthesis:none}@media(prefers-color-scheme:dark){:root{--foam:#0d202a;--foam-raised:#142b36;--navy:#f6f1df;--navy-soft:#aab9bd;--coral:#ff6d5f;--coral-ink:#30110f;--line:#35505a;--quiet:#1b3440;--shadow:0 22px 70px rgba(0,0,0,.28);--brand-wave:var(--navy)}}*{box-sizing:border-box}html{background:var(--foam);color:var(--navy);text-rendering:optimizeLegibility}body,html{min-width:320px}body{background-color:var(--foam);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--navy) 10%,transparent) 1px,transparent 0);background-size:20px 20px;margin:0;min-height:100dvh;overflow-x:clip}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--coral);outline-offset:3px}button:disabled{cursor:wait;opacity:.68}.sr-only{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important}.app-shell{display:flex;flex-direction:column;margin:0 auto;min-height:100dvh;padding:0 16px;width:min(100%,1080px)}.site-header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;min-height:72px;position:relative;z-index:10}.header-back-btn{align-items:center;background:var(--foam-raised);border:1.5px solid var(--navy);border-radius:20px;box-shadow:2px 2px 0 var(--navy);color:var(--navy);cursor:pointer;display:inline-flex;font-family:JetBrains Mono Variable,monospace;font-size:.78rem;font-weight:760;gap:6px;padding:6px 14px;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.header-back-btn:hover{background:var(--quiet);transform:translateY(-1px)}.header-back-btn:active{box-shadow:1px 1px 0 var(--navy);transform:translate(1px,1px)}.brand-lockup{align-items:center;display:inline-flex;font-size:1.25rem;font-weight:760;gap:8px;letter-spacing:-.05em}.brand-mark{color:var(--coral);height:31px;overflow:visible;width:31px}main{flex:1}.eyebrow{color:var(--coral);font-family:JetBrains Mono Variable,monospace;font-size:.72rem;font-weight:760;letter-spacing:.12em;margin:0 0 12px;text-transform:uppercase}.location-prompt{align-items:flex-start;display:flex;flex-direction:column;isolation:isolate;min-height:calc(100dvh - 155px);overflow:visible;padding:clamp(46px,9vh,98px) 0 36px;position:relative}.location-prompt:before{aspect-ratio:1;background:var(--coral);box-shadow:inset 0 0 0 20px color-mix(in srgb,var(--foam) 18%,transparent);right:calc(50% - 50vw - clamp(32px,5vw,96px));top:25px;width:clamp(260px,68vw,560px)}.location-prompt:after,.location-prompt:before{border-radius:50%;content:"";position:absolute;z-index:-1}.location-prompt:after{background:var(--navy);box-shadow:0 20px color-mix(in srgb,var(--navy) 55%,transparent),0 40px color-mix(in srgb,var(--navy) 20%,transparent);height:11px;right:calc(50% - 54vw);top:min(430px,55vh);transform:rotate(-4deg);width:min(72vw,900px)}.prompt-copy{max-width:720px}.prompt-copy h1{font-size:clamp(3.75rem,14.5vw,8.9rem);font-weight:790;letter-spacing:-.085em;line-height:.79;margin:0;max-width:740px;text-wrap:balance}.prompt-copy h1 span{color:var(--coral);-webkit-text-stroke:1.5px var(--navy);text-shadow:3px 3px 0 var(--navy)}.intro{color:var(--navy-soft);font-size:clamp(1rem,3vw,1.22rem);line-height:1.42;margin:28px 0 30px;width:min(100%,420px)}.fatal-state button,.locate-button,.nerd-state button,.share-button{align-items:center;background:var(--coral);border:2px solid var(--navy);border-radius:var(--radius-small);box-shadow:5px 5px 0 var(--navy);color:var(--coral-ink);cursor:pointer;display:inline-flex;font-weight:760;gap:10px;justify-content:center;min-height:54px;padding:0 18px;transition:transform .15s ease,box-shadow .15s ease}.locate-button{font-size:1rem;width:min(100%,360px)}.locate-button svg:last-child{margin-left:auto}.fatal-state button:active,.locate-button:active,.nerd-state button:active,.share-button:active{box-shadow:1px 1px 0 var(--navy);transform:translate(4px,4px)}.text-button{background:transparent;border:0;border-bottom:1px solid;color:var(--navy-soft);cursor:pointer;margin:20px 0 0 6px;padding:0}.city-search{margin-top:24px;position:relative;width:min(100%,430px);z-index:2}.city-search label{display:block;font-size:.8rem;font-weight:720;margin:0 0 7px}.search-input{align-items:center;background:var(--foam-raised);border:1px solid var(--line);border-radius:var(--radius-small);display:flex;gap:9px;min-height:50px;padding:0 7px 0 14px}.search-input input{background:transparent;border:0;color:var(--navy);flex:1;min-width:0;outline:0}.search-input input::-moz-placeholder{color:color-mix(in srgb,var(--navy-soft) 78%,transparent)}.search-input input::placeholder{color:color-mix(in srgb,var(--navy-soft) 78%,transparent)}.search-input button{background:var(--navy);border:0;border-radius:8px;color:var(--foam-raised);cursor:pointer;display:grid;height:38px;place-items:center;width:38px}.city-results{background:var(--foam-raised);border:1px solid var(--line);border-radius:var(--radius-small);box-shadow:var(--shadow);margin-top:7px;padding:6px}.city-results button{background:transparent;border:0;border-radius:8px;color:var(--navy);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:10px;text-align:left;width:100%}.city-results button:hover{background:var(--quiet)}.city-results small{color:var(--navy-soft);text-align:right}.inline-message{color:var(--navy-soft);font-size:.9rem;margin:16px 0 0;width:min(100%,430px)}.mode-row{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px;margin:0 0 24px;padding:0 0 18px;width:100%}.mode-row>span{color:var(--navy-soft);font-family:JetBrains Mono Variable,monospace;font-size:.72rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.mode-switch-track{background:var(--foam-raised);border:1.5px solid var(--navy);border-radius:var(--radius-small);box-shadow:3px 3px 0 var(--navy);display:grid;gap:0;grid-template-columns:repeat(3,1fr);padding:4px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.active-indicator{background:var(--coral);border:1.5px solid var(--navy);border-radius:8px;box-shadow:2px 2px 0 var(--navy);height:calc(100% - 8px);left:4px;pointer-events:none;position:absolute;top:4px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);width:calc(33.33333% - 2.66667px);z-index:1}.mode-btn{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--navy-soft);cursor:pointer;display:inline-flex;font-family:Space Grotesk Variable,system-ui,sans-serif;font-size:clamp(.68rem,1.4vw,.78rem);font-weight:760;gap:6px;justify-content:center;min-height:40px;padding:4px 6px;position:relative;text-align:center;transition:color .2s ease;white-space:nowrap;z-index:2}.mode-btn .mode-label-short{display:none}.mode-btn .mode-label-full{display:inline}.mode-btn:hover{color:var(--navy)}.mode-btn.active{color:var(--coral-ink);font-weight:850}.mode-btn .mode-icon{flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.mode-btn.active .mode-icon{transform:scale(1.2) rotate(-6deg)}@media(max-width:640px){.mode-btn .mode-label-full{display:none}.mode-btn .mode-label-short{display:inline}.mode-btn{font-size:.74rem;gap:4px;min-height:38px;padding:4px 2px}}.loading-forecast{align-content:center;display:grid;min-height:calc(100dvh - 155px);padding:52px 0;place-items:center;text-align:center}.loading-orbit{aspect-ratio:1;border:2px solid var(--line);border-radius:50%;display:grid;place-items:center;position:relative;width:190px}.loading-orbit span{animation:orbit 1.2s linear infinite;border:7px solid transparent;border-radius:50%;border-top:7px solid var(--coral);inset:-7px;position:absolute}.loading-orbit strong{font-size:1.25rem;line-height:1.1}.skeleton-lines{display:grid;gap:9px;margin-top:38px;width:min(82vw,330px)}.skeleton-lines i{background:var(--quiet);border-radius:5px;height:12px;overflow:hidden}.skeleton-lines i:nth-child(2){width:72%}.skeleton-lines i:nth-child(3){width:49%}.loading-forecast p{color:var(--navy-soft);font-size:.9rem;max-width:340px}.result-panel{animation:verdict-in .42s cubic-bezier(.2,.8,.2,1) both;padding:clamp(22px,4vw,42px) 0 34px}.verdict-head{align-items:flex-end;display:flex;gap:16px;justify-content:space-between}.verdict-head h1{font-size:clamp(3.1rem,11vw,7.4rem);font-weight:790;letter-spacing:-.075em;line-height:.82;margin:0;max-width:760px;text-wrap:balance}.score-stamp{align-items:center;aspect-ratio:1;background:var(--coral);border:2px solid var(--navy);border-radius:50%;color:var(--coral-ink);display:grid;gap:3px;grid-template-columns:auto auto;min-width:118px;place-content:center;transform:rotate(7deg);width:118px}.score-stamp strong{font-family:JetBrains Mono Variable,monospace;font-size:2rem;letter-spacing:-.08em}.score-stamp small{font-size:.58rem;font-weight:760;line-height:1.05;max-width:42px;text-transform:uppercase}.verdict-reason{color:var(--navy-soft);font-size:clamp(1rem,3vw,1.25rem);margin:22px 0 32px}.nerd-now-strip{background:var(--line);display:grid;gap:1px;grid-template-columns:1fr 1fr}.nerd-now-strip>div{background:var(--quiet);display:grid;gap:4px;min-width:0;padding:12px 14px}.nerd-now-strip span{align-items:center;color:var(--navy-soft);display:inline-flex;font-family:JetBrains Mono Variable,monospace;font-size:.62rem;font-weight:760;gap:5px;letter-spacing:.08em}.nerd-now-strip span svg{color:var(--coral)}.nerd-now-strip strong{font-family:JetBrains Mono Variable,monospace;font-size:.9rem}.nerd-now-strip small{color:var(--navy-soft);font-family:Space Grotesk Variable,system-ui,sans-serif;font-size:.78rem}.beach-choice{border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:24px 0}.beach-name>span,.big-numbers span{color:var(--navy-soft);font-family:JetBrains Mono Variable,monospace;font-size:.62rem;font-weight:760;letter-spacing:.1em}.beach-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:4px 0 6px}.beach-name h2{font-size:clamp(1.55rem,5vw,2.7rem);letter-spacing:-.045em;line-height:1;margin:0}.maps-button{align-items:center;background:var(--coral);border:1.5px solid var(--navy);border-radius:20px;box-shadow:2px 2px 0 var(--navy);color:var(--coral-ink);display:inline-flex;font-family:JetBrains Mono Variable,monospace;font-size:.76rem;font-weight:760;gap:6px;padding:6px 13px;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;white-space:nowrap}.maps-button:hover{background:color-mix(in srgb,var(--coral) 90%,#000);box-shadow:3px 3px 0 var(--navy);transform:translateY(-1px)}.maps-button:active{box-shadow:1px 1px 0 var(--navy);transform:translate(1px,1px)}.beach-name p{color:var(--navy-soft);font-size:.85rem;gap:6px;margin:0}.beach-name p,.panel-top-nav{align-items:center;display:flex}.panel-top-nav{justify-content:space-between;margin-bottom:14px}.back-link-btn{align-items:center;background:var(--foam-raised);border:1px solid var(--line);border-radius:20px;box-shadow:2px 2px 0 var(--navy);color:var(--navy);cursor:pointer;display:inline-flex;font-family:JetBrains Mono Variable,monospace;font-size:.78rem;font-weight:700;gap:6px;padding:6px 13px;transition:transform .12s ease,background .12s ease}.back-link-btn:hover{background:var(--quiet);transform:translateY(-1px)}.forecast-rail{margin:0 0 26px}.rail-heading{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.rail-heading .eyebrow{margin-bottom:5px}.rail-heading h2{font-size:clamp(1.25rem,4vw,1.75rem);letter-spacing:-.045em;margin:0}.rail-heading>span{color:var(--navy-soft);font-size:.76rem}.rail-scroller{display:flex;gap:8px;overflow-x:auto;padding:8px 4px 16px;scrollbar-color:var(--coral) transparent;scrollbar-width:thin}.forecast-day{align-items:flex-start;background:var(--foam-raised);border:1px solid var(--line);border-radius:var(--radius-small);color:var(--navy);cursor:pointer;display:flex;flex:0 0 148px;flex-direction:column;min-height:164px;padding:12px 13px 14px;position:relative;text-align:left;transition:transform .15s ease,border-color .15s ease,background .15s ease}.forecast-day.tilt-1{transform:rotate(.8deg)}.forecast-day.tilt-2{transform:rotate(-.55deg)}.forecast-day.tilt-3{transform:rotate(.45deg)}.forecast-day.tilt-1:hover,.forecast-day.tilt-2:hover,.forecast-day.tilt-3:hover,.forecast-day:hover{transform:translateY(-3px) rotate(-1deg)}.forecast-day:hover{border-color:var(--coral)}.forecast-day.selected{background:color-mix(in srgb,var(--coral) 12%,var(--foam-raised));border:2px solid var(--coral);box-shadow:5px 5px 0 var(--navy);transform:translateY(-4px) rotate(-1deg)}.forecast-day.weekend{background:color-mix(in srgb,var(--coral) 5%,var(--foam-raised));border-top:4px solid var(--navy);padding-top:9px}.forecast-day.weekend.selected{border-top-color:var(--coral)}.forecast-day.pending{background:var(--quiet);color:var(--navy-soft)}.forecast-day-topline{align-items:flex-start;display:flex;gap:6px;justify-content:space-between;min-height:22px;width:100%}.forecast-day-date-wrap{display:grid;gap:4px}.forecast-day-date{font-family:JetBrains Mono Variable,monospace;font-size:.66rem;font-weight:760;line-height:1.15}.forecast-day-rain{color:#2563eb;display:inline-block;margin-left:3px;vertical-align:middle}.forecast-day-weekend{color:var(--coral);font-family:JetBrains Mono Variable,monospace;font-size:.48rem;font-weight:850;letter-spacing:.09em;line-height:1}.forecast-day-rank,.forecast-day-selected{background:var(--navy);border-radius:5px;color:var(--foam-raised);font-family:JetBrains Mono Variable,monospace;font-size:.52rem;font-weight:800;line-height:1;padding:3px 5px;white-space:nowrap}.forecast-day-selected{background:var(--coral);color:var(--coral-ink)}.forecast-day-score{align-items:baseline;color:var(--coral);display:flex;gap:4px;margin-top:10px;min-height:25px}.forecast-day-score strong{color:var(--navy);font-family:JetBrains Mono Variable,monospace;font-size:1.08rem;letter-spacing:-.08em}.forecast-day-score small{color:var(--navy-soft);font-family:JetBrains Mono Variable,monospace;font-size:.56rem;font-weight:760}.forecast-day-temperature{color:var(--navy);font-family:JetBrains Mono Variable,monospace;font-size:2.55rem;letter-spacing:-.13em;line-height:.95;margin-top:1px;text-shadow:2px 2px 0 color-mix(in srgb,var(--coral) 58%,transparent);transform-origin:left bottom;width:-moz-max-content;width:max-content}.forecast-day.tilt-0 .forecast-day-temperature{transform:rotate(-4deg) skew(-5deg)}.forecast-day.tilt-1 .forecast-day-temperature{transform:rotate(3deg) skew(-4deg)}.forecast-day.tilt-2 .forecast-day-temperature{transform:rotate(-2deg) skew(-7deg)}.forecast-day.tilt-3 .forecast-day-temperature{transform:rotate(4deg) skew(-3deg)}.forecast-day-verdict{color:var(--navy-soft);font-size:.58rem;font-weight:760;line-height:1.1;margin-top:8px;max-width:102px}.forecast-day-arrow{bottom:12px;color:var(--coral);position:absolute;right:11px}.pending-icon{color:var(--navy-soft)}.no-forecast-day{align-content:center;display:grid;min-height:calc(100dvh - 155px);padding:48px 0;place-items:center;text-align:center}.no-forecast-day>svg{color:var(--coral);margin-bottom:24px}.no-forecast-day .eyebrow{margin-bottom:10px}.no-forecast-day h1{font-size:clamp(2.6rem,9vw,5.5rem);letter-spacing:-.075em;line-height:.86;margin:0;max-width:580px}.no-forecast-day>p:not(.eyebrow){color:var(--navy-soft);line-height:1.45;margin:20px 0;max-width:420px}.no-forecast-day>div{align-items:center;color:var(--navy-soft);display:inline-flex;font-size:.8rem;gap:7px}.weather-summary-head{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-top:28px}.weather-summary-head .eyebrow{margin:0}.weather-summary-head strong{color:var(--navy-soft);font-size:.8rem}.big-numbers{background:var(--line);border:1px solid var(--line);border-radius:4px;display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin:10px 0 24px;overflow:hidden}.big-numbers>div{background:var(--foam);display:flex;flex-direction:column;justify-content:space-between;min-height:105px;min-width:0;padding:11px 14px;position:relative}.big-numbers .metric-header{align-items:flex-start;display:flex;gap:6px;justify-content:space-between;width:100%}.big-numbers .metric-label-group{align-items:center;color:var(--navy-soft);display:inline-flex;font-size:.7rem;font-weight:800;gap:6px;letter-spacing:.03em}.big-numbers .metric-label-group svg{color:var(--coral)}.big-numbers .metric-mood,.big-numbers .metric-stamp,.big-numbers .water-mood{background:color-mix(in srgb,var(--foam-raised) 96%,transparent);border:1.5px solid var(--coral);border-radius:4px;box-shadow:1.5px 1.5px 0 var(--navy);color:var(--coral);display:inline-block;font-family:JetBrains Mono Variable,monospace;font-size:clamp(.54rem,.75vw,.66rem);font-weight:850;letter-spacing:-.01em;line-height:1.18;max-width:140px;padding:3px 6px;text-align:right;text-transform:uppercase;transform:rotate(-1.5deg);white-space:pre-line;word-break:break-word}.big-numbers .metric-value-group{align-items:baseline;display:flex;gap:3px;margin-top:6px}.big-numbers .metric-value-group strong{color:var(--navy);font-family:JetBrains Mono Variable,monospace;font-size:clamp(1.6rem,3.8vw,2.4rem);letter-spacing:-.06em;line-height:.9}.big-numbers .metric-value-group small{color:var(--navy-soft);font-family:JetBrains Mono Variable,monospace;font-size:.65rem;font-weight:780}.big-numbers .wind-value{align-items:baseline;display:inline-flex;gap:4px;white-space:nowrap}.big-numbers .wind-value small{align-self:baseline;color:var(--navy-soft);font-family:JetBrains Mono Variable,monospace;font-size:.55rem;font-weight:760;letter-spacing:0}.data-note,.share-status{color:var(--navy-soft);font-size:.8rem;margin:14px 0 0}.result-actions{align-items:center;display:flex;gap:12px;margin-top:22px}.share-button{box-shadow:4px 4px 0 var(--navy);flex:1}.icon-button,.play-button{background:var(--foam-raised);border:1px solid var(--line);border-radius:var(--radius-small);cursor:pointer;display:grid;height:54px;place-items:center;width:54px}.nerd-panel{padding:clamp(34px,6vw,66px) 0 32px}.nerd-intro{align-items:end;display:grid;gap:40px;grid-template-columns:1.4fr .8fr;margin-bottom:26px;max-width:900px}.nerd-intro h1{font-size:clamp(3.5rem,10vw,7rem);letter-spacing:-.075em;line-height:.82;margin:0}.nerd-intro>p{color:var(--navy-soft);line-height:1.45;margin:0}.nerd-now-strip{border:1px solid var(--line);border-radius:var(--radius-small);margin:0 auto 18px;overflow:hidden;width:min(100%,720px)}.nerd-state{align-items:center;background:var(--foam-raised);border:1px solid var(--line);border-radius:var(--radius-large);display:flex;gap:10px;justify-content:center;min-height:420px}.nerd-state.error{flex-direction:column;padding:30px;text-align:center}.fatal-state button,.nerd-state button{min-height:46px}.map-shell{background:var(--navy);border:2px solid var(--navy);border-radius:var(--radius-large);box-shadow:7px 7px 0 var(--coral);margin:0 auto;overflow:hidden;width:min(100%,720px)}.map-stage{background:#eda;cursor:crosshair;max-height:min(66dvh,760px);overflow:auto;position:relative;touch-action:pan-x pan-y pinch-zoom;width:100%}.map-stage>img{display:block;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.map-loading{background:color-mix(in srgb,var(--foam) 68%,transparent);display:grid;inset:0;place-items:center;position:absolute}.map-marker{pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:3}.map-marker.you{background:var(--coral);border:3px solid #fff;border-radius:50%;box-shadow:0 3px 10px #00000059;color:#231512;display:grid;height:28px;place-items:center;width:28px}.map-marker.beach{background:#122b3a;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #00000080;height:10px;width:10px}.map-marker.inspected{border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #122b3a;height:23px;width:23px}.map-caption{align-items:center;background:var(--navy);color:var(--foam-raised);display:flex;font-size:.8rem;gap:16px;justify-content:space-between;min-height:52px;padding:8px 14px}.map-caption span{color:color-mix(in srgb,var(--foam-raised) 65%,transparent);font-family:JetBrains Mono Variable,monospace}.timeline-controls{align-items:center;display:flex;gap:14px;margin:24px auto 0;width:min(100%,720px)}.timeline-controls input{accent-color:var(--coral);flex:1}.heat-legend{align-items:center;color:var(--navy-soft);display:grid;font-family:JetBrains Mono Variable,monospace;font-size:.62rem;gap:3px;grid-template-columns:auto repeat(7,1fr) auto;margin:14px auto 0;width:min(100%,650px)}.heat-legend i{border-radius:2px;height:9px}.heat-legend i:first-of-type{background:#feb}.heat-legend i:nth-of-type(2){background:#fd9}.heat-legend i:nth-of-type(3){background:#fa7}.heat-legend i:nth-of-type(4){background:#f75}.heat-legend i:nth-of-type(5){background:#f44}.heat-legend i:nth-of-type(6){background:#f23}.heat-legend i:nth-of-type(7){background:#d13}.inspect-card{align-items:center;background:var(--foam-raised);border:1px solid var(--line);border-radius:var(--radius-small);display:grid;gap:12px;grid-template-columns:auto 1fr auto;margin:18px auto 0;min-height:72px;padding:12px 16px;width:min(100%,720px)}.inspect-card svg{color:var(--coral)}.inspect-card div{display:grid}.inspect-card span{color:var(--navy-soft);font-size:.68rem}.inspect-card code{color:var(--navy-soft);font-family:JetBrains Mono Variable,monospace;font-size:.72rem}.nerd-disclaimer{color:var(--navy-soft);font-size:.76rem;line-height:1.45;margin:14px auto 0;width:min(100%,720px)}.fatal-state{align-content:center;display:grid;min-height:calc(100dvh - 155px);place-items:center;text-align:center}.fatal-state h1{font-size:2rem;letter-spacing:-.05em;margin:16px 0 4px}.fatal-state p{margin:0 0 22px;max-width:420px}.fatal-state p,footer{color:var(--navy-soft)}footer{border-top:1px solid var(--line);display:flex;font-size:.7rem;gap:20px;justify-content:space-between;padding:18px 0 24px}footer p{margin:0;text-align:right}footer a{color:inherit}.spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes orbit{to{transform:rotate(1turn)}}@keyframes verdict-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(min-width:760px){.app-shell{padding:0 28px}.location-prompt{justify-content:center}.result-panel{padding-left:4vw;padding-right:4vw}}@media(max-width:640px){.brand-lockup span{display:none}.prompt-copy h1{font-size:clamp(3.45rem,18vw,5.4rem)}.location-prompt:before{top:60px}.mode-row{align-items:stretch;flex-direction:column}.mode-row>span{display:none}.mode-switch{display:grid;grid-template-columns:.9fr 1.3fr}.mode-switch button{font-size:.74rem;justify-content:center;padding:0 6px}.verdict-head{align-items:flex-start}.score-stamp{min-width:86px;width:86px}.score-stamp strong{font-size:1.45rem}.score-stamp small{font-size:.48rem}.big-numbers{grid-template-columns:1fr 1fr}.nerd-intro{gap:16px;grid-template-columns:1fr}.nerd-intro>p{max-width:380px}.nerd-now-strip{grid-template-columns:1fr}.map-shell{border-radius:var(--radius);box-shadow:4px 4px 0 var(--coral)}.map-stage{max-height:63dvh}.inspect-card{grid-template-columns:auto 1fr}.inspect-card code{grid-column:2}footer{flex-direction:column}footer p{text-align:left}}@media(max-width:370px){.mode-switch button svg{display:none}.verdict-head h1{font-size:2.7rem}.score-stamp{min-width:76px;width:76px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.share-modal-backdrop{animation:fadeIn .15s ease;backdrop-filter:blur(8px);background:#0f172ab3;display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:999}.share-modal-content{background:var(--foam-raised);border:2px solid var(--navy);border-radius:var(--radius);box-shadow:8px 8px 0 var(--coral);display:grid;gap:18px;padding:22px;width:min(100%,520px)}.share-modal-header{align-items:center;display:flex;justify-content:space-between}.share-title-wrap{align-items:center;color:var(--navy);display:flex;gap:8px}.share-title-wrap h3{font-size:1.2rem;letter-spacing:-.03em;margin:0}.share-close-btn{align-items:center;background:var(--quiet);border:none;border-radius:8px;color:var(--navy);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:background .15s ease}.share-close-btn:hover{background:var(--coral);color:var(--coral-ink)}.share-card-preview-wrap{background:var(--foam);border:1px solid var(--line);border-radius:var(--radius-small);overflow:hidden;position:relative;width:100%}.share-card-img{display:block;height:auto;-o-object-fit:contain;object-fit:contain;width:100%}.share-card-loading{color:var(--navy-soft);font-size:.9rem;padding:40px 20px;text-align:center}.share-actions-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.share-btn{align-items:center;border:1.5px solid var(--navy);border-radius:10px;cursor:pointer;display:flex;font-family:JetBrains Mono Variable,monospace;font-size:.82rem;font-weight:700;gap:8px;justify-content:center;padding:12px 14px;transition:transform .12s ease,box-shadow .12s ease}.share-btn:hover{box-shadow:3px 3px 0 var(--navy);transform:translateY(-2px)}.share-btn.whatsapp{background:#25d366;border-color:#128c7e;color:#fff}.share-btn.telegram{background:#08c;border-color:#069;color:#fff}.share-btn.copy{background:var(--quiet);color:var(--navy)}.share-btn.download{background:var(--navy);color:var(--foam-raised)}.share-native-btn{background:color-mix(in srgb,var(--coral) 10%,transparent);border:2px dashed var(--coral);border-radius:10px;color:var(--navy);display:flex;font-family:Space Grotesk Variable,sans-serif;font-size:.9rem;font-weight:700;justify-content:center;padding:12px;width:100%}.share-native-btn,.share-trigger-btn{align-items:center;cursor:pointer;gap:8px}.share-trigger-btn{background:var(--coral);border:1.5px solid var(--navy);border-radius:10px;box-shadow:3px 3px 0 var(--navy);color:var(--coral-ink);display:inline-flex;font-family:JetBrains Mono Variable,monospace;font-size:.8rem;font-weight:800;letter-spacing:.02em;margin-top:14px;padding:10px 16px;transition:transform .12s ease,box-shadow .12s ease}.share-trigger-btn:hover{box-shadow:5px 5px 0 var(--navy);transform:translateY(-2px)}
