:root{--bg-0:#dfe9ee;--bg-1:#cfe0e7;--surface:#f4f9fbe0;--surface-solid:#eef4f6;--text:#12404e;--muted:#5d818f;--accent:#07a99c;--accent-bright:#0a9d90;--gold:#e89a2c;--line:#0d506429;--tabbar-h:74px;--font:"Pretendard Variable", Pretendard, -apple-system, system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;background-color:#0000;background-image:radial-gradient(120% 80% at 50% -10%,#c3dde6 0%,#0000 55%),radial-gradient(100% 60% at 88% 0,#c9e1db 0%,#0000 50%),linear-gradient(#e6eff3 0%,#d4e4ea 62%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.app{flex-direction:column;max-width:480px;height:100%;margin:0 auto;display:flex}.app__body{padding:0 16px calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 24px);flex:1;overflow-y:auto}.topsearch{z-index:30;padding:max(12px, env(safe-area-inset-top)) 16px 10px;background:linear-gradient(180deg, var(--bg-1) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0 -16px 12px;position:sticky;top:0}.topsearch__bar{background:var(--surface-solid);border:1px solid var(--line);border-radius:16px;align-items:center;gap:8px;padding:8px 8px 8px 6px;transition:border-color .2s,box-shadow .2s;display:flex}.topsearch__bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2ec4b629}.topsearch__icon{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:transform .15s;display:flex}.topsearch__icon:active{transform:scale(.9)}.topsearch__icon--me{background:#2563eb;box-shadow:0 0 0 3px #2563eb33}.topsearch__icon--pin{background:#ff4d4d1f}.topsearch__icon--pin svg{width:20px;height:26px}.topsearch__bar input{color:var(--text);font-size:16.5px;font-family:var(--font);background:0 0;border:none;outline:none;flex:1;min-width:0}.topsearch__bar input::placeholder{color:var(--muted)}.topsearch__clear{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:6px 8px;font-size:16px}.topsearch__theme{background:var(--bg-1);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;margin-left:2px;font-size:17px;line-height:1;display:flex}.topsearch__theme:active{transform:scale(.9)}.topsearch__drop{background:var(--surface-solid);border:1px solid var(--line);-webkit-overflow-scrolling:touch;border-radius:14px;max-height:62vh;margin:6px 0 0;padding:6px;list-style:none;animation:.22s both fadeUp;overflow-y:auto;box-shadow:0 14px 36px -10px #00000080}.topsearch__drop li{cursor:pointer;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 12px;display:flex}.topsearch__drop li:active{background:#2ec4b624}.ts-pin{flex-shrink:0;font-size:16px}.ts-name{font-size:16px;font-weight:700}.ts-tag{color:var(--accent-bright);background:#2ec4b629;border-radius:99px;margin-left:auto;padding:2px 7px;font-size:12.5px;font-weight:700}.ts-addr{color:var(--muted);flex-basis:100%;padding-left:23px;font-size:14px;font-weight:500}.ts-star{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:2px 4px;font-size:18px;line-height:1}.ts-star.on{color:#ffd166}.topsearch__drop .ts-favlabel{color:var(--accent-bright);cursor:default;padding:9px 12px 3px;font-size:13px;font-weight:800}.topsearch__drop .ts-favlabel:active{background:0 0}.topsearch__drop .empty{color:var(--muted);cursor:default;font-weight:500}.topsearch__drop .ts-hint{color:var(--muted);cursor:default;justify-content:center;padding:8px 12px;font-size:13px;font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.8)}55%{transform:scale(1.22)}to{transform:scale(1.06)translateY(-2px)}}@keyframes drawIn{0%{stroke-dashoffset:var(--dash,1400)}to{stroke-dashoffset:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.page>*{animation:.55s cubic-bezier(.22,1,.36,1) both fadeUp}.page>:nth-child(2){animation-delay:70ms}.page>:nth-child(3){animation-delay:.14s}.page>:nth-child(4){animation-delay:.21s}.page>:nth-child(5){animation-delay:.28s}@media (prefers-reduced-motion:reduce){.page>*,.tab--active .tab__icon{animation:none!important}}.page__head{margin-bottom:18px}.page__head h1{letter-spacing:-.8px;background:linear-gradient(120deg, var(--text) 30%, var(--accent-bright));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:30px;font-weight:800}.page__loc{color:var(--accent-bright);margin:4px 0 0;font-size:14px;font-weight:700}.page__sub{color:var(--muted);margin:5px 0 0;font-size:15px;font-weight:500}.wave-hero{background:linear-gradient(#07a99c0a,#07a99c24);border-radius:20px;margin:0 0 16px;padding:16px 18px 60px;position:relative;overflow:hidden}.wave-hero__text h1{letter-spacing:-.8px;background:linear-gradient(120deg, var(--text) 30%, var(--accent-bright));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:30px;font-weight:800}.wave-hero__ver{z-index:2;position:absolute;top:12px;right:14px}.wave-hero__waves{pointer-events:none;transform-origin:bottom;height:58px;animation:8.5s ease-in-out infinite alternate waveSwell;position:absolute;bottom:-1px;left:0;right:0}.wave-hero__layer{animation:4.5s ease-in-out infinite alternate waveHeave;position:absolute;inset:0}.wave-hero__wave{width:200%;height:100%;animation:9s linear infinite waveX;position:absolute;bottom:0;left:0}.wave-hero__foam{animation:7s linear infinite foamFlow}@keyframes waveX{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes waveHeave{0%{transform:translateY(2.5px)}to{transform:translateY(-3.5px)}}@keyframes waveSwell{0%{transform:scaleY(.93)}to{transform:scaleY(1.07)}}@keyframes foamFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100px}}.wave-hero__boat{z-index:1;pointer-events:none;transform-origin:50% 90%;animation:4.2s ease-in-out infinite alternate boatRock;position:absolute;bottom:30px;right:16px}@keyframes boatRock{0%{transform:rotate(calc(var(--rock,6deg) * -1)) translateY(2px)}to{transform:rotate(var(--rock,6deg)) translateY(-4px)}}.wave-hero__bubbles{pointer-events:none;height:56px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.wave-bubble{background:#ffffffd9;border-radius:50%;animation:linear infinite bubbleRise;position:absolute;bottom:2px;box-shadow:0 0 3px #ffffff80}@keyframes bubbleRise{0%{opacity:0;transform:translateY(8px)scale(.4)}25%{opacity:.9}60%{transform:translate(3px,-22px)scale(.9)}to{opacity:0;transform:translate(-2px,-48px)scale(1.15)}}@media (prefers-reduced-motion:reduce){.wave-hero__waves,.wave-hero__layer,.wave-hero__wave,.wave-hero__foam,.wave-bubble,.wave-hero__boat{animation:none}}.card{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;margin-bottom:14px;padding:18px;position:relative;box-shadow:0 8px 30px -12px #00000080,inset 0 1px #ffffff0a}.card h2{color:var(--muted);letter-spacing:.2px;margin:0 0 12px;font-size:14.5px;font-weight:600}.card--placeholder{background:0 0;border-style:dashed}.wnow{border:1px solid var(--line);background:linear-gradient(135deg,#07b3a52e,#78c8eb42);border-radius:20px;margin-bottom:14px;padding:18px}.wnow__head{align-items:center;gap:16px;margin-bottom:16px;display:flex}.wnow__sky{font-size:54px;line-height:1}.wnow__temp{color:var(--text);letter-spacing:-1px;font-size:40px;font-weight:800}.wnow__desc{color:var(--muted);margin-top:2px;font-size:15px;font-weight:600}.wnow__grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.wnow__item{background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.wnow__item>span{color:var(--muted);font-size:12.5px;font-weight:600}.wnow__item b{color:var(--text);align-items:center;gap:3px;font-size:19px;font-weight:800;display:flex}.wnow__item b small{color:var(--muted);font-size:12px;font-weight:600}.wnow__item em{color:var(--accent-bright);font-size:12px;font-style:normal;font-weight:700}.wnow__arrow{color:var(--accent-bright);font-size:16px;font-style:normal;display:inline-block}.wnow__date{color:var(--accent-bright);margin-bottom:1px;font-size:13px;font-weight:700}.sdbar{-webkit-overflow-scrolling:touch;gap:7px;padding:2px 0 10px;display:flex;overflow-x:auto}.sdbar__chip{cursor:pointer;background:var(--surface-solid);border:1px solid var(--line);border-radius:13px;flex-direction:column;flex:none;align-items:center;gap:2px;min-width:52px;padding:7px 10px;display:flex}.sdbar__chip--on{background:var(--accent);border-color:var(--accent)}.sdbar__chip--on .sdbar__wd,.sdbar__chip--on .sdbar__day{color:#fff}.sdbar__wd{color:var(--muted);font-size:12px;font-weight:700}.sdbar__wd--sun{color:#ff8787}.sdbar__wd--sat{color:#74a9ff}.sdbar__day{color:var(--text);font-size:13.5px;font-weight:800}.fscore{border:1px solid var(--line);border-radius:16px;margin-bottom:14px;padding:13px 15px}.fscore--good{background:#2ec4b61f;border-color:#2ec4b659}.fscore--warn{background:#ffd16624;border-color:#ffd16666}.fscore--danger{background:#ff6b6b24;border-color:#ff6b6b6b}.fscore__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fscore__icon{font-size:16px}.fscore__label{color:var(--text);font-size:16px;font-weight:800}.fscore__nums{color:var(--muted);margin-left:auto;font-size:12.5px;font-weight:600}.fscore__tip{color:var(--text);margin:6px 0 0;font-size:13px;line-height:1.5}.taROW{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.tabox{margin-bottom:0}.tabox__row{flex-wrap:wrap;align-items:baseline;gap:7px;margin-top:7px;font-size:13.5px;display:flex}.tabox__row span{color:var(--muted);font-weight:600}.tabox__row b{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.tabox__row em{color:var(--accent-bright);margin-left:auto;font-size:12px;font-style:normal;font-weight:700}.tabox__grade{color:var(--accent-bright)!important}.tabox__row--events{gap:10px}.tabox__row--events span{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.tabox__row--events b{font-size:13px}.t-high{color:var(--accent-bright)}.t-low{color:var(--gold)}.freco__reason{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.5}.freco__grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.freco__chip{background:var(--surface-solid);border:1px solid var(--line);cursor:pointer;border-radius:13px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;display:flex}.freco__chip:active{border-color:var(--accent)}.freco__img{object-fit:cover;background:linear-gradient(160deg,#78d2e129,#2ec4b60f);border-radius:8px;width:100%;height:46px}.freco__name{color:var(--text);font-size:13.5px;font-weight:800}.freco__tags{gap:4px;display:flex}.freco__tag{border-radius:99px;padding:1px 6px;font-size:10.5px;font-style:normal;font-weight:700}.freco__tag--season{color:var(--accent-bright);background:#2ec4b62e}.freco__tag--tide{color:var(--gold);background:#ffd1662e}.whours{-webkit-overflow-scrolling:touch;gap:8px;display:flex;overflow-x:auto}.whours__cell{background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:4px;padding:10px 12px;display:flex}.whours__t{color:var(--muted);font-size:12px;font-weight:700}.whours__sky{font-size:22px;line-height:1}.whours__temp{color:var(--text);font-size:16px;font-weight:800}.whours__w{color:var(--accent-bright);font-size:11.5px;font-weight:600}.muted{color:var(--muted);margin:0;font-size:15.5px}.ok{color:var(--accent);margin:0;font-size:15.5px}.tide-list{margin:0;padding:0;list-style:none}.tide-row{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:13px 2px;display:grid}.tide-row:last-child{border-bottom:none}.tide-row__type{text-align:center;border-radius:8px;padding:4px 0;font-size:13.5px;font-weight:700}.tide-row--high .tide-row__type{color:var(--accent-bright);background:#2ec4b629}.tide-row--low .tide-row__type{color:var(--gold);background:#ffd16624}.tide-row__time{font-variant-numeric:tabular-nums;letter-spacing:.5px;font-size:19px;font-weight:600}.tide-row__level{color:var(--muted);font-variant-numeric:tabular-nums;font-size:15.5px}.wx-now{gap:18px;font-size:17px;font-weight:600;display:flex}.wx-now--marine{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:16.5px}.wx-now--marine span{color:var(--accent-bright)}.cgauge{align-items:center;gap:10px;margin-top:12px;display:flex}.cgauge__bar{background:#6ec8dc29;border-radius:99px;flex:1;height:8px;overflow:hidden}.cgauge__fill{background:linear-gradient(90deg, var(--accent), var(--gold));border-radius:99px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.cgauge__pct{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14.5px;font-weight:700}.search-bar{background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.search-bar input{color:var(--text);font-size:16px;font-family:var(--font);background:0 0;border:none;outline:none;flex:1}.search-bar input::placeholder{color:var(--muted)}.search-bar{transition:border-color .2s,box-shadow .2s}.search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2ec4b629}.card{transition:transform .18s,box-shadow .18s}.gps-btn{width:100%;color:var(--accent-bright);font-size:16px;font-weight:600;font-family:var(--font);cursor:pointer;background:linear-gradient(135deg,#2ec4b62e,#2ec4b60f);border:1px solid #2ec4b64d;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;padding:13px;display:flex}.gps-btn:active{transform:scale(.99)}.gps-btn--primary{background:linear-gradient(135deg, var(--accent-bright), #1f9e92);color:#04211f;border-color:#0000;margin-bottom:8px;font-weight:700;box-shadow:0 6px 18px #2ec4b647}.tide-src{border-radius:10px;margin:0 0 12px;padding:8px 12px;font-size:14px;font-weight:600;line-height:1.4}.tide-src--model{color:var(--accent-bright);background:#2ec4b61f}.tide-src--fallback{color:#ffc466;background:#ffc46621}.tide-src b{font-weight:800}.spot-list{margin:0;padding:0;list-style:none}.spot-row{border-bottom:1px solid var(--line);cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:14px 4px;display:flex}.spot-row__addr{color:var(--muted);flex-basis:100%;padding-left:22px;font-size:13px;font-weight:500}.spot-row:last-child{border-bottom:none}.spot-row__name{flex:1;font-size:16px;font-weight:600}.spot-row__meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14.5px}.spot-row--active{color:var(--accent-bright)}.spot-row__star{padding:4px;font-size:18px}.spot-row__star--on{color:var(--gold)}.spot-row__star--off{color:var(--muted);opacity:.4}.section-label{color:var(--muted);letter-spacing:.3px;margin:18px 2px 6px;font-size:13.5px;font-weight:600}.region-browse{flex-direction:column;gap:6px;display:flex}.region{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.region__sum{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 16px;font-size:16px;font-weight:700;list-style:none;display:flex}.region__sum::-webkit-details-marker{display:none}.region__sum:after{content:"▾";color:var(--muted);transition:transform .2s}.region[open] .region__sum:after{transform:rotate(180deg)}.region__cnt{color:var(--accent-bright);margin-left:auto;margin-right:10px;font-size:13.5px}.region .spot-list{padding:0 16px 8px}.region .spot-row{border-bottom:1px solid var(--line)}.update-check-btn{margin-top:22px}.update-check__msg{text-align:center;color:var(--muted);margin:4px 0 0;font-size:15px}.update-check__get{background:var(--accent);color:#04211f;font-weight:700;font-family:var(--font);cursor:pointer;border:none;border-radius:8px;margin-left:8px;padding:4px 12px}.app-version{text-align:center;color:var(--muted);opacity:.6;letter-spacing:.3px;margin:18px 0 8px;font-size:13.5px}.tabbar{width:100%;max-width:480px;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(#ebf2f5f0,#dee9eefa);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;right:auto;transform:translate(-50%);box-shadow:0 -6px 20px -12px #0d5a6e66}.tab{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12.5px;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.tab__icon{opacity:.7;font-size:29px;line-height:1;transition:opacity .2s,transform .2s}.map-wrap{isolation:isolate;z-index:0;position:relative}.map-el{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:calc(100dvh - 234px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border:1px solid var(--line);background:#dcebf2;border-radius:16px;min-height:280px;overflow:hidden}.map-gps,.map-hint,.map-confirm{z-index:500;font-family:var(--font);position:absolute}.map-gps{background:linear-gradient(135deg, var(--accent-bright), #1f9e92);color:#04211f;cursor:pointer;border:none;border-radius:12px;padding:9px 13px;font-size:14px;font-weight:700;top:12px;right:12px;box-shadow:0 4px 12px #00000059}.map-hint{text-align:center;color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffeb;border-radius:10px;margin:0;padding:9px 12px;font-size:13.5px;font-weight:600;bottom:14px;left:14px;right:14px;box-shadow:0 2px 10px #0d5a6e2e}.map-hint--err{background:#781e1ed9}.map-pick{pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;width:120px;height:58px;display:flex}.map-pick__pin{filter:drop-shadow(0 2px 3px #00000059);height:34px;display:block}.map-pick__pin svg{display:block}.map-pick__name{color:#fff;white-space:nowrap;background:#ff4d4d;border-radius:6px;margin-bottom:2px;padding:2px 7px;font-size:11px;font-weight:800;box-shadow:0 2px 6px #0000004d}.map-me{pointer-events:none;width:44px;height:44px;position:relative}.map-me__halo{background:#2563eb2e;border:1px solid #2563eb59;border-radius:50%;position:absolute;inset:0}.map-me__dot{background:#2563eb;border:2.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin:-14px 0 0 -14px;display:flex;position:absolute;top:50%;left:50%;box-shadow:0 2px 6px #00000059}.kk-focus{color:#0b2532;white-space:nowrap;cursor:pointer;background:#ff8c42;border-radius:8px;padding:4px 9px;font-size:12px;font-weight:800;transform:translateY(-4px);box-shadow:0 2px 8px #0006}.map-confirm{background:linear-gradient(135deg, var(--accent-bright), #1f9e92);color:#04211f;cursor:pointer;border:none;border-radius:12px;padding:14px;font-size:15.5px;font-weight:800;bottom:14px;left:14px;right:14px;box-shadow:0 6px 18px #2ec4b666}.map-gps{align-items:center;gap:6px;display:flex}.map-gps__icon{background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.map-gps__icon svg{width:14px;height:14px}.copy-addr{border:1px solid var(--line);color:var(--text);cursor:pointer;font-size:13.5px;font-weight:700;font-family:var(--font);background:#ffffff8c;border-radius:99px;margin-top:6px;padding:5px 12px}.copy-addr--done,.copy-addr--near{background:var(--accent-bright);color:#04211f;border-color:#0000}.copy-addr--fail{color:#c0392b}.rr-copied{color:#0f766e;margin-top:6px;font-weight:800}.rr-copied--fail{color:#c0392b}.map-actions{z-index:500;align-items:stretch;gap:8px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.map-actions .map-confirm{flex:1;min-width:0;position:static}.copy-addr--map{color:#0b2532;white-space:normal;background:#fff;border-radius:12px;flex:none;width:96px;margin-top:0;padding:0 8px;font-size:14px;line-height:1.25;box-shadow:0 6px 18px #0000002e}.copy-addr--map.copy-addr--done,.copy-addr--map.copy-addr--near{background:var(--accent-bright);color:#04211f}.pspecies{margin:0 0 14px}.pspecies__head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.pspecies__when{color:var(--muted);font-size:13px;font-weight:700}.pspecies__chips{flex-wrap:wrap;gap:6px;display:flex}.pspecies__chip{border:1px solid var(--line);color:var(--text);font-family:var(--font);cursor:pointer;background:#ffffff8c;border-radius:99px;align-items:center;gap:5px;padding:6px 11px;font-size:14px;font-weight:700;display:inline-flex}.pspecies__chip--official{border-color:var(--accent-bright);background:#2ec4b624}.pspecies__idx{color:#0f766e;font-size:12px;font-weight:800}.pspecies__note{color:var(--muted);margin:7px 2px 0;font-size:12px}.map-confirm__sub{opacity:.8;margin-top:3px;font-size:13px;font-weight:600;display:block}.leaflet-container{font-family:var(--font)}.tab__label{letter-spacing:.2px;font-size:13px}.tab:active .tab__icon{transform:scale(.88)}.tab--active{color:var(--accent-bright)}.tab--active .tab__icon{opacity:1;animation:.38s cubic-bezier(.22,1,.36,1) pop;transform:translateY(-2px)scale(1.06)}.today__head{justify-content:space-between;align-items:flex-start;display:flex}.ver-chip{color:var(--muted);border:1px solid var(--line);font-variant-numeric:tabular-nums;background:#6ec8dc1a;border-radius:99px;flex-shrink:0;padding:3px 10px;font-size:12.5px;font-weight:700}button.ver-chip{cursor:pointer;appearance:none;font-family:inherit;line-height:normal}button.ver-chip:active{background:#6ec8dc38}.upd-toast{z-index:60;color:#eafaf4;white-space:nowrap;pointer-events:none;background:#0d1e1ceb;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;position:fixed;bottom:84px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000059}.today__multtae{flex-direction:column;align-items:center;gap:2px;display:flex}.today__moon{font-size:32px;line-height:1;animation:4.5s ease-in-out infinite floaty}.today__mul{color:var(--gold);background:#ffd1661f;border-radius:10px;padding:2px 10px;font-size:16px;font-weight:800}.daysec{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;margin-bottom:14px;padding:0 18px 18px;animation:.45s both daysecIn;position:relative;box-shadow:0 8px 30px -12px #00000080,inset 0 1px #ffffff0a}@keyframes daysecIn{0%{opacity:0}to{opacity:1}}.daysec__head{z-index:4;border-bottom:2px solid var(--line);background:var(--surface-solid);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:6px;padding:13px 0 11px;display:flex;position:sticky;top:0}.daysec__head--today{border-bottom-color:var(--accent)}.daysec__date{align-items:baseline;gap:6px;display:flex}.daysec__md{color:var(--text);font-size:24px;font-weight:800}.daysec__wd{color:var(--muted);font-size:16px;font-weight:700}.daysec__badge{color:var(--bg-0);background:var(--accent);border-radius:99px;margin-left:2px;padding:2px 9px;font-size:12.5px;font-weight:800}.daysec__astro{align-items:center;gap:7px;font-size:14.5px;display:flex}.daysec__moon{font-size:22px;line-height:1}.daysec__mul{color:var(--gold);background:#ffd1661f;border-radius:9px;padding:2px 9px;font-weight:800}.daysec__lunar{color:var(--muted);font-size:13px}.daysec__range{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:14.5px}.daysec__range b{color:var(--text);font-size:16px;font-weight:800}.daysec__stats{border:1px solid var(--line);background:#6ec8dc0f;border-radius:14px;margin-bottom:8px;padding:12px 14px}.daysec__msg{text-align:center;padding:18px 0}.daysec__retry{font:inherit;cursor:pointer;color:var(--accent,#6ec8dc);background:0 0;border:none;padding:0;text-decoration:underline}.day-sentinel{text-align:center;color:var(--muted);padding:6px 0 18px;font-size:13.5px}.datenav{grid-template-columns:1fr auto 1fr;gap:8px;margin-bottom:14px;display:grid}.datenav button{background:var(--surface-solid);border:1px solid var(--line);color:var(--text);font-size:15.5px;font-weight:600;font-family:var(--font);cursor:pointer;border-radius:12px;padding:10px}.datenav__today--on{background:var(--accent)!important;color:var(--bg-0)!important;border-color:var(--accent)!important}.tl{width:100%;position:relative}.tl__svg{width:100%;height:100%;position:absolute;inset:0}.tl__water{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tl__boat{z-index:5;pointer-events:none;position:absolute;right:16%;transform:translateY(-50%)}.tl__boat-rock{transform-origin:50% 90%;animation:4s ease-in-out infinite alternate boatRock}@media (prefers-reduced-motion:reduce){.tl__boat-rock{animation:none}}.tl__hour{border-top:1px dashed var(--line);position:absolute;left:0;right:0}.tl__hour span{color:var(--muted);background:var(--surface-solid);font-variant-numeric:tabular-nums;padding:0 4px;font-size:12.5px;position:absolute;top:-8px;left:0}.tl__event{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;border-radius:14px;flex-direction:column;gap:1px;padding:6px 11px;display:flex;position:absolute;left:6px;transform:translateY(-50%);box-shadow:0 4px 14px -6px #0009}.tl__event--high{background:#2ec4b633;border:1px solid #2ec4b673}.tl__event--low{background:#ffd16629;border:1px solid #ffd16666}.tl__event-row{align-items:baseline;gap:9px;display:flex}.tl__event-row--sub{gap:7px}.tl__event-type{font-size:16px;font-weight:800}.tl__event--high .tl__event-type{color:var(--accent-bright)}.tl__event--low .tl__event-type{color:var(--gold)}.tl__event-time{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.tl__event-level{color:var(--muted);font-size:13.5px;font-weight:600}.tl__event-delta{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:800}.tl__event--high .tl__event-delta{color:var(--accent-bright)}.tl__event--low .tl__event-delta{color:var(--gold)}.tide-range{text-align:center;color:var(--muted);margin:0 0 10px;font-size:15px}.tide-range b{color:var(--text);font-size:16px;font-weight:800}.tl__astro{color:var(--text);white-space:nowrap;z-index:2;border:1px solid var(--line);background:#ffffffeb;border-radius:12px;align-items:center;gap:10px;padding:3px 9px;font-size:14px;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 5px #0d5a6e26}.tl__astro-item{align-items:center;gap:5px;display:inline-flex}.tl__astro--merged .tl__astro-item:not(:first-child){border-left:1px solid var(--line);padding-left:10px}.tl__astro-icon{font-size:17px}.tl__astro-label{color:var(--muted);font-weight:700}.tl__astro-time{font-variant-numeric:tabular-nums;font-weight:800}.tl__now{z-index:3;border-top:2px solid #ff6b6b;position:absolute;left:0;right:0}.tl__now-label{color:#ff6b6b;background:var(--surface-solid);border-radius:6px;padding:1px 6px;font-size:12.5px;font-weight:700;animation:2.4s ease-in-out infinite nowPulse;position:absolute;top:-10px;left:50%;transform:translate(-50%)}@keyframes nowPulse{0%,to{box-shadow:0 0 #ff6b6b73}50%{box-shadow:0 0 0 6px #ff6b6b00}}.tl__now-next{color:#0b2532;white-space:nowrap;border-radius:7px;padding:3px 8px;font-size:12px;font-weight:800;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.tl__now-next--high{background:#2ec4b6}.tl__now-next--low{background:#ffd166}.tl__curve{animation:.7s both curveFade,2.4s ease-in-out .7s infinite curveGlow}@keyframes curveFade{0%{opacity:0}to{opacity:1}}@keyframes curveGlow{0%,to{stroke:#2ec4b6;stroke-width:2.2px;filter:drop-shadow(0 0 1px #2ec4b680)}50%{stroke:#8bf5e2;stroke-width:3.4px;filter:drop-shadow(0 0 4px #7af0dcf2)}}@media (prefers-reduced-motion:reduce){.tl__curve{animation:.7s both curveFade}}.tl__wxbox{z-index:1;background:var(--surface-solid);border:1px solid var(--line);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:2px;width:96px;padding:7px 11px;display:flex;position:absolute;right:6px;transform:translateY(-50%)}.tl__wxbox:active{border-color:var(--accent)}.tl__wxbox-hr{color:var(--muted);font-size:11.5px;font-weight:700}.tl__wxbox-top{white-space:nowrap;align-items:center;gap:5px;display:flex}.tl__wxbox-sky{font-size:19px;line-height:1}.tl__wxbox-temp{color:var(--text);font-size:17px;font-weight:800}.tl__wxbox-sub{color:var(--accent-bright);white-space:nowrap;gap:7px;font-size:12.5px;font-weight:600;display:flex}.cal{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal__dow{text-align:center;color:var(--muted);padding:4px 0;font-size:13.5px;font-weight:600}.cal__dow--sun{color:#ff8787}.cal__dow--sat{color:#74a9ff}.cal__cell{aspect-ratio:1;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px;display:flex;position:relative}.cal__cell--empty{background:0 0}.cal__cell--spring{background:#2ec4b629}.cal__cell--neap{background:#ffd16624}.cal__cell--mid{background:#ffffff08}.cal__cell--today{border-color:var(--accent-bright)}.cal__day{font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:700}.cal__cell--sun .cal__day{color:#ff8787}.cal__cell--sat .cal__day{color:#74a9ff}.cal__mul{color:var(--muted);font-size:11.5px}.cal__cell--spring .cal__mul{color:var(--accent-bright)}.cal__cell--neap .cal__mul{color:var(--gold)}.cal__legend{justify-content:center;gap:14px;margin-top:12px;font-size:13.5px;display:flex}.cal__legend-item{color:var(--muted);align-items:center;gap:5px;display:flex}.cal__legend-item:before{content:"";border-radius:4px;width:12px;height:12px}.cal__legend-item--spring:before{background:#2ec4b680}.cal__legend-item--neap:before{background:#ffd16680}.update-modal{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030c12d1;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.update-modal__card{text-align:center;background:var(--surface-solid);border:1px solid var(--line);border-radius:22px;width:100%;max-width:340px;padding:28px 22px;box-shadow:0 20px 60px -20px #000000b3}.update-modal__icon{font-size:40px}.update-modal__title{margin:12px 0 6px;font-size:19px;font-weight:800}.update-modal__ver{color:var(--accent-bright);margin:0 0 10px;font-weight:700}.update-modal__notes{color:var(--text);margin:0 0 6px;font-size:15.5px}.update-modal__hint{color:var(--muted);margin:0 0 22px;font-size:14.5px}.upd-progress{margin:6px 0 14px}.upd-bar{background:#6ec8dc2e;border-radius:99px;height:10px;overflow:hidden}.upd-bar__fill{background:linear-gradient(90deg, var(--accent), var(--accent-bright));background-size:200% 100%;border-radius:99px;height:100%;transition:width .25s;animation:1.2s linear infinite shimmer}.upd-progress__pct{color:var(--accent-bright);text-align:center;margin:8px 0 0;font-size:15px;font-weight:700}.upd-progress__warn{color:var(--gold);text-align:center;margin:8px 0 0;font-size:14.5px}.update-modal__btn{background:var(--accent);width:100%;color:var(--bg-0);font-size:16px;font-weight:800;font-family:var(--font);cursor:pointer;border:none;border-radius:14px;margin-bottom:10px;padding:15px}.update-modal__exit{width:100%;color:var(--muted);border:1px solid var(--line);font-size:15.5px;font-family:var(--font);cursor:pointer;background:0 0;border-radius:14px;padding:13px}.update-banner{padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top));background:linear-gradient(135deg,#2ec4b633,#2ec4b614);border-bottom:1px solid #2ec4b64d;justify-content:space-between;align-items:center;gap:12px;display:flex}.update-banner__text{flex-direction:column;gap:2px;min-width:0;display:flex}.update-banner__text strong{color:var(--accent-bright);font-size:15.5px}.update-banner__notes{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.update-banner__actions{flex-shrink:0;gap:8px;display:flex}.update-banner__btn{background:var(--accent);color:var(--bg-0);font-size:14.5px;font-weight:700;font-family:var(--font);cursor:pointer;border:none;border-radius:10px;padding:8px 14px}.update-banner__later{color:var(--muted);font-size:14.5px;font-family:var(--font);cursor:pointer;background:0 0;border:none}.cal__resdot{box-sizing:border-box;color:#fff;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--bg-0), 0 1px 4px #ff6b5b99;background:#ff6b5b;border-radius:99px;justify-content:center;align-items:center;padding:0 4px;font-size:10.5px;font-weight:800;line-height:1;display:flex;position:absolute;top:3px;right:3px}.cal__cell{cursor:pointer}.sheet-backdrop{z-index:50;background:#00000080;flex-direction:column;animation:.2s both fadeUp;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface-solid);border-top:1px solid var(--line);width:100%;max-height:85vh;padding:14px 16px calc(28px + env(safe-area-inset-bottom,24px));border-radius:20px 20px 0 0;margin-top:auto;overflow-y:auto}.sheet__bar{background:var(--line);border-radius:99px;width:40px;height:4px;margin:0 auto 12px}.sheet__title{align-items:center;gap:9px;margin:0 0 12px;font-size:18px;font-weight:800;display:flex}.sheet__holiday{color:#ff8787;background:#ff878724;border-radius:99px;padding:2px 9px;font-size:13px;font-weight:800}.sheet__subtitle{color:var(--muted);margin:4px 0 10px;font-size:14px;font-weight:700}.sheet__empty{padding:10px 0 16px}.sheet-tide{border:1px solid var(--line);background:linear-gradient(160deg,#2ec4b61a,#2ec4b608);border-radius:14px;margin:0 0 16px;padding:11px 13px}.sheet-tide__head{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px;display:flex}.sheet-tide__mul{color:var(--text);font-size:16px;font-weight:800}.sheet-tide__grade{border-radius:99px;padding:2px 9px;font-size:12.5px;font-weight:800}.sheet-tide__grade--spring{color:var(--accent-bright);background:#2ec4b633}.sheet-tide__grade--neap{color:var(--gold);background:#ffd1662e}.sheet-tide__grade--mid{color:var(--muted);background:#8c96a02e}.sheet-tide__range{color:var(--muted);margin-left:auto;font-size:13.5px}.sheet-tide__range b{color:var(--text);font-size:15px;font-weight:800}.sheet-tide__est{color:var(--muted);background:#8c96a02e;border-radius:99px;margin-left:5px;padding:1px 6px;font-size:11px;font-style:normal;font-weight:700}.sheet-tide__events{flex-wrap:wrap;gap:7px 14px;display:flex}.sheet-tide__ev{font-variant-numeric:tabular-nums;color:var(--text);font-size:13.5px;font-weight:600}.sheet-tide__ev b{margin-right:3px;font-weight:800}.sheet-tide__ev em{margin-left:4px;font-style:normal}.sheet-tide__ev--high b{color:var(--accent-bright)}.sheet-tide__ev--low b{color:var(--gold)}.sheet-tide__msg{color:var(--muted);margin:0;font-size:13px}.tide-guide-link{width:100%;color:var(--accent-bright);cursor:pointer;background:#2ec4b614;border:1px solid #2ec4b640;border-radius:12px;margin-top:12px;padding:11px;font-size:14px;font-weight:700}.tide-guide-link:active{background:#2ec4b629}.guide h2{color:var(--text);margin:0 0 10px;font-size:16.5px;font-weight:800}.guide p{color:var(--text);margin:0 0 8px;font-size:14.5px;line-height:1.65}.guide-list{flex-direction:column;gap:9px;margin:6px 0 0;padding-left:2px;list-style:none;display:flex}.guide-list li{color:var(--text);font-size:14px;line-height:1.6}.guide-list b{font-weight:800}.g-spring{color:var(--accent-bright)}.g-neap{color:var(--gold)}.guide-note{color:var(--muted);margin-top:10px;font-size:12.5px;line-height:1.55}.guide-back{color:var(--accent-bright);cursor:pointer;background:0 0;border:none;padding:0 0 6px;font-size:14px;font-weight:700}.sheet__list{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.res-row{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:12px;display:flex}.res-row--canceled{opacity:.55;text-decoration:line-through}.res-row__sp{font-size:16px;font-weight:800}.res-row__meta{color:var(--muted);font-size:14px}.res-row__status{color:var(--accent-bright);margin-left:auto;font-size:12.5px;font-weight:700}.f-label{color:var(--muted);flex-direction:column;gap:5px;margin-bottom:10px;font-size:13.5px;font-weight:700;display:flex}.f-input{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 12px;font-size:16px}.f-textarea{resize:vertical;font-family:inherit}.f-row{gap:10px;display:flex}.f-label--half{flex:1}.f-seg{gap:6px;margin-bottom:12px;display:flex}.f-seg__btn{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:10px;flex:1;padding:9px;font-weight:700}.f-seg__btn--on{background:var(--accent);color:var(--bg-0);border-color:var(--accent)}.f-section{color:var(--text);margin:8px 0 6px;font-size:13px;font-weight:800}.f-leads{gap:6px;margin-bottom:12px;display:flex}.f-lead{border:1px dashed var(--line);color:var(--muted);background:0 0;border-radius:10px;flex:1;padding:9px 6px;font-size:13.5px;font-weight:700}.f-lead--on{border-style:solid;border-color:var(--accent);color:var(--accent-bright);background:#2ec4b629}.f-tide{color:var(--muted);background:#6ec8dc0f;border-radius:10px;margin:4px 0 12px;padding:8px 10px;font-size:13px}.f-actions{gap:10px;display:flex}.f-actions .gps-btn{flex:1}.res-dl{flex-direction:column;gap:8px;margin:0 0 16px;display:flex}.res-dl>div{gap:12px;display:flex}.res-dl dt{color:var(--muted);flex:0 0 56px;font-size:13.5px;font-weight:700}.res-dl dd{margin:0;font-size:15px;font-weight:600}.res-dl a{color:var(--accent-bright);font-weight:800}.f-spot-pick{color:var(--accent-bright);margin-top:3px;font-size:12px;font-weight:700}.f-spotdrop{background:var(--surface-solid);border:1px solid var(--line);border-radius:10px;max-height:200px;margin:-6px 0 12px;padding:4px;list-style:none;overflow-y:auto}.f-spotdrop li{cursor:pointer;border-radius:8px;padding:9px 10px;font-size:15px;font-weight:600}.f-spotdrop li:active{background:#2ec4b624}.f-spotdrop__rg{color:var(--muted);margin-left:4px;font-size:12.5px;font-weight:600}.f-reg{border:1px solid var(--line);background:#6ec8dc12;border-radius:12px;margin:-4px 0 12px;padding:10px 12px}.f-reg--banned{background:#ff6b6b1f;border-color:#ff6b6b80}.f-reg__head{color:var(--text);font-size:14.5px;font-weight:800}.f-reg--banned .f-reg__head{color:#ff8787}.f-reg__body{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:5px;font-size:13.5px;font-weight:600;display:flex}.f-reg__note{color:var(--muted);opacity:.85;margin-top:6px;font-size:11.5px}.daysec__skeleton{background:linear-gradient(100deg,#6ec8dc0a 30%,#6ec8dc1f 50%,#6ec8dc0a 70%) 0 0/200% 100%;border-radius:14px;justify-content:center;align-items:center;height:520px;animation:1.3s linear infinite shimmer;display:flex;position:relative;overflow:hidden}.daysec__skeleton-label{color:var(--muted);font-size:13.5px;font-weight:600}.exit-backdrop{z-index:60;background:#0000008c;justify-content:center;align-items:center;padding:24px;animation:.18s both fadeUp;display:flex;position:fixed;inset:0}.exit-modal{background:var(--surface-solid);border:1px solid var(--line);border-radius:20px;width:100%;max-width:360px;padding:22px 20px 18px;box-shadow:0 20px 50px -12px #0009}.exit-modal__title{text-align:center;margin:0 0 14px;font-size:18px;font-weight:800}.exit-modal__ad{border:1px dashed var(--line);min-height:84px;color:var(--muted);background:#6ec8dc0f;border-radius:14px;justify-content:center;align-items:center;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}.exit-modal__actions{gap:10px;display:flex}.exit-modal__actions .gps-btn{flex:1}.daysec__fishing{border:1px solid var(--line);background:#6ec8dc0d;border-radius:12px;flex-direction:column;gap:6px;margin-bottom:10px;padding:9px 12px;display:flex}.df__top{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.df__label{color:var(--text);font-size:13.5px;font-weight:800}.df__chip{border-radius:99px;padding:3px 10px;font-size:13px;font-weight:800}.df__chip--best{color:#04211f;background:var(--accent-bright)}.df__chip--good{color:#04211f;background:var(--accent)}.df__chip--ok{color:#2a1f04;background:var(--gold)}.df__chip--bad{color:#fff;background:#e8853a}.df__chip--worst{color:#fff;background:#e0556b}.df__pt{color:var(--muted);font-size:12.5px;font-weight:600}.df__pt-link{color:var(--accent-bright);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0 1px;font-family:inherit;font-size:12.5px;font-weight:800;text-decoration:underline}.df__pt-link:active{opacity:.6}.ban-chips{flex-wrap:wrap;gap:7px;display:flex}.ban-chip{color:var(--text);background:#ff6b6b1f;border:1px solid #ff6b6b59;border-radius:99px;padding:6px 11px;font-family:inherit;font-size:13.5px;font-weight:700}.ban-chip:disabled{opacity:.75}.ban-chip--link{cursor:pointer}.ban-chip--link:active{background:#ff6b6b38}.ban-chip em{color:#ff8787;font-size:12.5px;font-style:normal;font-weight:700}.season-chip{color:var(--accent-bright);cursor:pointer;background:#2ec4b624;border:1px solid #2ec4b666;border-radius:99px;padding:6px 12px;font-family:inherit;font-size:13.5px;font-weight:800}.season-chip:active{background:#2ec4b642}.fish-badges{flex-wrap:wrap;gap:7px;margin-bottom:12px;display:flex}.fish-badge{border-radius:99px;padding:4px 11px;font-size:13px;font-weight:800}.fish-badge--season{color:#04211f;background:var(--accent-bright)}.fish-badge--ban{color:#fff;background:#e0556b}.ban-note{color:var(--muted);opacity:.85;margin:10px 0 0;font-size:11.5px}.fish-list{margin:0;padding:0;list-style:none}.fish-row{border-bottom:1px solid var(--line);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:10px;padding:14px 4px;display:flex}.fish-row:active{background:#2ec4b61a}.fish-row__name{font-size:17px;font-weight:800}.fish-row__fam{color:var(--muted);font-size:13px}.fish-row__season{color:var(--accent-bright);margin-left:auto;font-size:13px;font-weight:700}.fish-empty{text-align:center;padding:18px 0}.fish-sci{color:var(--muted);font-size:13px;font-style:italic;font-weight:500}.fish-sub{color:var(--muted);margin:0 0 12px;font-size:14px}.fish-dl{flex-direction:column;gap:10px;margin:14px 0 16px;display:flex}.fish-dl>div{gap:12px;display:flex}.fish-dl dt{color:var(--accent-bright);flex:0 0 52px;font-size:13.5px;font-weight:800}.fish-dl dd{margin:0;font-size:14.5px;line-height:1.5}.fguide{background:linear-gradient(160deg,#2ec4b61a,#2ec4b608);border:1px solid #2ec4b64d;border-radius:14px;margin:16px 0;padding:14px}.fguide__title{color:var(--text);margin-bottom:10px;font-size:15px;font-weight:800}.fguide__row{gap:10px;margin-bottom:8px;display:flex}.fguide__row span{color:var(--accent-bright);flex:0 0 44px;font-size:13px;font-weight:800}.fguide__row p{color:var(--text);margin:0;font-size:14px;line-height:1.55}.fguide__note{color:var(--muted);margin:4px 0 0;font-size:11.5px}.fish-thumb{object-fit:cover;background:linear-gradient(160deg,#6ec8dc29,#2ec4b60f);border-radius:8px;flex-shrink:0;width:52px;height:40px}.fish-thumb--none{justify-content:center;align-items:center;font-size:20px;display:flex}.fish-photo{margin:0 0 14px}.fish-photo img,.fish-photo svg{border-radius:14px;width:100%;display:block}.fish-photo img{object-fit:cover;max-height:240px}.fish-photo svg{background:linear-gradient(165deg,#78d2e12e,#1c96a51a 70%,#146e8224);height:190px;padding:6px 0}.fish-photo__credit{color:var(--muted);text-align:right;margin-top:5px;font-size:11.5px;display:block}.map-regions{-webkit-overflow-scrolling:touch;gap:6px;margin-bottom:10px;display:flex;overflow-x:auto}.map-region{border:1px solid var(--line);background:var(--surface-solid);color:var(--muted);cursor:pointer;border-radius:99px;flex:none;padding:8px 15px;font-family:inherit;font-size:14px;font-weight:700}.map-region.on{background:var(--accent);color:var(--bg-0);border-color:var(--accent)}.map-toolbar{z-index:20;align-items:center;gap:8px;margin-bottom:10px;display:flex;position:relative}.rdd{position:relative}.rdd__btn{color:var(--text);background:var(--surface-solid);border:1px solid var(--line);cursor:pointer;border-radius:99px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #0d5a6e1a}.rdd__chev{color:var(--muted);font-size:11px;font-style:normal;transition:transform .18s}.rdd__chev.open{transform:rotate(180deg)}.rdd__list{z-index:600;background:var(--surface-solid);border:1px solid var(--line);border-radius:14px;min-width:132px;margin:0;padding:6px;list-style:none;animation:.18s both fadeUp;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 38px -10px #0d5a6e59}.rdd__opt{color:var(--text);cursor:pointer;border-radius:9px;padding:10px 12px;font-size:14.5px;font-weight:600}.rdd__opt:active{background:#07a99c24}.rdd__opt.on{background:var(--accent);color:#fff}.map-prov{border:1px solid var(--line);background:var(--surface-solid);border-radius:99px;margin-left:auto;display:inline-flex;overflow:hidden;box-shadow:0 2px 8px #0d5a6e1f}.map-prov__btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 13px;font-family:inherit;font-size:12.5px;font-weight:700}.map-prov__btn.on{background:var(--accent);color:#fff}.nv-cluster{text-align:center;color:#fff;background:#2ec4b6e6;border:2px solid #fff;border-radius:50%;font-size:13px;font-weight:800;box-shadow:0 2px 6px #00000059}.map-el .leaflet-tooltip.spot-label{display:none}.map-el.labels-on .leaflet-tooltip.spot-label{display:block}.leaflet-tooltip.spot-label{color:#eaf6f4;box-shadow:none;white-space:nowrap;cursor:pointer;background:#0b2532e0;border:none;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:700}.leaflet-tooltip.spot-label:before{display:none}.leaflet-tooltip.focus-label{color:#0b2532;white-space:nowrap;cursor:pointer;background:#ff8c42;border:none;border-radius:7px;padding:3px 8px;font-size:12px;font-weight:800;box-shadow:0 2px 8px #00000059}.leaflet-tooltip.focus-label:before{display:none}.topsearch__drop .ts-regions{cursor:default;background:var(--surface-solid);z-index:2;flex-wrap:nowrap;gap:6px;position:sticky;top:0;overflow-x:auto;padding:2px 2px 8px!important;display:flex!important}.ts-region{border:1px solid var(--line);background:var(--bg-1);color:var(--muted);cursor:pointer;border-radius:99px;flex:none;padding:6px 13px;font-family:inherit;font-size:13px;font-weight:700}.ts-region.on{background:var(--accent);color:var(--bg-0);border-color:var(--accent)}:root[data-theme=dark]{--bg-0:#0b2532;--bg-1:#123a4d;--surface:#1e4658c7;--surface-solid:#164053;--text:#f1fafd;--muted:#9cbac6;--accent:#2ec4b6;--accent-bright:#5fe3d4;--gold:#ffd166;--line:#6ec8dc33}:root[data-theme=dark] body{background:radial-gradient(120% 80% at 50% -10%, #1c627066 0%, transparent 55%), radial-gradient(100% 60% at 90% 0%, #2a8a7a44 0%, transparent 50%), linear-gradient(180deg, var(--bg-1) 0%, var(--bg-0) 62%)}:root[data-theme=dark] .tabbar{background:linear-gradient(#081c26d9,#06141cf5);box-shadow:0 -6px 20px -12px #0009}:root[data-theme=dark] .map-el{background:#0a2230}:root[data-theme=dark] .map-hint{box-shadow:none;background:#081c26d9}:root[data-theme=dark] .tl__astro{box-shadow:none;background:#081c26b8}:root[data-theme=dark] .tl__wxbox{box-shadow:none}:root[data-theme=dark] .wnow{background:linear-gradient(135deg,#2ec4b624,#123a4d80)}:root[data-theme=dark] .wave-hero{background:linear-gradient(#2ec4b60d,#2ec4b629)}.camps{padding:0 16px 4px}.camps__head{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.camps__chev{color:#6b7b80;font-size:13px;transition:transform .15s}.camps__chev.open{transform:rotate(180deg)}:root[data-theme=dark] .camps__chev{color:#9cbac6}.camps__row{-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.camp-card{background:var(--card,#fff);text-align:left;border:1px solid #e6eef0;border-radius:12px;flex-direction:column;flex:0 0 140px;align-items:flex-start;padding:8px;display:flex}.camp-card:disabled{opacity:.85}.camp-card__img{object-fit:cover;background:#eef5f6;border-radius:8px;width:100%;height:80px}.camp-card__img--ph{justify-content:center;align-items:center;font-size:28px;display:flex}.camp-card__name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.camp-card__meta{color:#6b7b80;margin-top:2px;font-size:11px}.camp-card__resv{color:#2ec4b6;margin-top:4px;font-size:12px;font-weight:600}:root[data-theme=dark] .camp-card{border-color:#6ec8dc33}:root[data-theme=dark] .camp-card__meta{color:#9cbac6}
