.bt-page {
  --ink:#10242d;
  --muted:#647983;
  --bg:#f3f7f7;
  --surface:#ffffff;
  --surface-soft:#f7fbfb;
  --line:#dce8e9;
  --navy:#0b2f3a;
  --navy-2:#123f4b;
  --teal:#0d8c93;
  --teal-2:#14aab0;
  --teal-soft:#e3f6f4;
  --good:#16865f;
  --warn:#a56d12;
  --danger:#bd4a4a;
  --shadow:0 20px 60px rgba(15,47,59,.10);
  --shadow-soft:0 10px 30px rgba(15,47,59,.07);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--bg);
}
.bt-page *{box-sizing:border-box}
.bt-page{margin:0;background:radial-gradient(circle at top right,#dff4f2 0,transparent 28rem),var(--bg);color:var(--ink)}
.bt-page button,.bt-page input,.bt-page select{font:inherit}
.bt-page button{cursor:pointer}
.bt-page [hidden]{display:none!important}
.bt-app{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:20px 0 40px}
.bt-hero{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#082833,#0e4b56 62%,#0c737b);color:#fff;padding:28px;box-shadow:var(--shadow)}
.bt-hero:after{content:"";position:absolute;right:-110px;top:-130px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),rgba(255,255,255,0) 68%);pointer-events:none}
.bt-brand-row{display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;z-index:1}
.bt-brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.08rem;font-weight:850;letter-spacing:-.025em}
.bt-brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}
.bt-phase-badge{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#c8f1ee;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 10px}
.bt-hero-copy{max-width:720px;padding:52px 0 26px;position:relative;z-index:1}
.bt-eyebrow,.bt-card-kicker{display:block;font-size:.71rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--teal)}
.bt-hero .bt-eyebrow{color:#94e2df}
.bt-hero h2{margin:8px 0 12px;font-size:clamp(2.4rem,6vw,5.1rem);line-height:.95;letter-spacing:-.065em;max-width:760px}
.bt-hero-copy p{margin:0;max-width:680px;color:#d7e8e9;font-size:clamp(1rem,2vw,1.18rem);line-height:1.65}
.bt-search-card{position:relative;z-index:2;color:var(--ink);background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.35);border-radius:22px;padding:20px;box-shadow:0 18px 45px rgba(0,0,0,.15)}
.bt-location-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.bt-location-field>span,.bt-mode-fieldset legend,.bt-date-field>span{display:block;margin-bottom:8px;font-size:.78rem;font-weight:800;color:#455e68}
.bt-search-input-wrap{display:flex;gap:8px}
.bt-search-input-wrap input,.bt-date-field input{width:100%;min-height:48px;border:1px solid #cfdfe1;border-radius:13px;background:#fff;color:var(--ink);outline:none;padding:0 14px;transition:border-color .15s ease,box-shadow .15s ease}
.bt-search-input-wrap input:focus,.bt-date-field input:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(13,140,147,.1)}
.bt-btn{border:0;border-radius:12px;min-height:46px;padding:0 16px;font-weight:820;transition:transform .13s ease,filter .13s ease,background .13s ease}
.bt-btn:hover{transform:translateY(-1px)}
.bt-btn:disabled{opacity:.55;cursor:wait;transform:none}
.bt-btn-search,.bt-btn-primary{background:var(--teal);color:#fff}
.bt-btn-search:hover,.bt-btn-primary:hover{filter:brightness(.94)}
.bt-btn-ghost{background:#edf6f6;color:#176f74}
.bt-search-options{display:grid;grid-template-columns:1.3fr .55fr auto;gap:12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid #e4eded}
.bt-mode-fieldset{border:0;margin:0;padding:0}
.bt-segmented{display:flex;gap:5px;padding:4px;background:#edf3f4;border-radius:12px;min-height:48px}
.bt-segmented label{flex:1;cursor:pointer}
.bt-segmented input{position:absolute;opacity:0;pointer-events:none}
.bt-segmented span{height:100%;min-height:40px;display:grid;place-items:center;border-radius:9px;color:#6a7f87;font-size:.84rem;font-weight:800}
.bt-segmented input:checked+span{background:#fff;color:#0b5860;box-shadow:0 3px 11px rgba(15,47,59,.10)}
.bt-selected-location{margin-top:13px;min-height:22px;color:var(--muted);font-size:.82rem}
.bt-selected-location strong{color:var(--ink)}
.bt-search-results{margin-top:9px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-soft)}
.bt-location-option{width:100%;display:flex;justify-content:space-between;gap:14px;text-align:left;border:0;border-bottom:1px solid #e8efef;background:#fff;padding:12px 14px;color:var(--ink)}
.bt-location-option:last-child{border-bottom:0}
.bt-location-option:hover{background:#f6fbfb}
.bt-location-option small,.bt-empty{color:var(--muted)}
.bt-empty{padding:13px;margin:0}
.bt-status{margin:16px 0;border-radius:14px;padding:13px 16px;font-size:.86rem;font-weight:720;border:1px solid transparent}
.bt-status.info{display:block;color:#0a6870;background:#e8f7f5;border-color:#c4e7e4}
.bt-status.error{display:block;color:#9e3b3b;background:#fff0f0;border-color:#efcaca}
.bt-results{padding-top:30px}
.bt-result-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 4px 16px}
.bt-result-header h2{margin:5px 0 2px;font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.05em}
.bt-result-header p{margin:0;color:var(--muted)}
.bt-provider-health{display:flex;gap:8px}
.bt-data-pill{padding:7px 10px;border-radius:999px;background:#e9f0f1;color:#61757c;font-size:.72rem;font-weight:830}
.bt-data-pill.ok{background:#e5f6ee;color:#17724f}
.bt-data-pill.warn{background:#fff3d9;color:#96630e}
.bt-hero-result{display:grid;grid-template-columns:1.65fr 1fr;gap:16px;margin-bottom:18px}
.bt-bite-card{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:20px;align-items:center;position:relative;overflow:hidden;min-height:300px;border-radius:26px;padding:26px;background:linear-gradient(135deg,#0b303b,#0b5c65);color:#fff;box-shadow:var(--shadow)}
.bt-bite-card:after{content:"";position:absolute;right:-60px;bottom:-100px;width:280px;height:280px;border-radius:50%;background:rgba(20,170,176,.22)}
.bt-bite-copy,.bt-score-ring,.bt-best-window{position:relative;z-index:1}
.bt-bite-card .bt-card-kicker{color:#8fe3de}
.bt-bite-copy h3{margin:6px 0 8px;font-size:clamp(1.9rem,4vw,3.1rem);letter-spacing:-.055em;line-height:1}
.bt-bite-copy p{margin:0;color:#cfe3e4;line-height:1.55;max-width:460px}
.bt-score-ring{--score:0;width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#2de0d2 calc(var(--score)*1%),rgba(255,255,255,.13) 0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.bt-score-ring:before{content:"";position:absolute;width:126px;height:126px;border-radius:50%;background:#0a3d46;box-shadow:inset 0 0 22px rgba(0,0,0,.18)}
.bt-score-ring-inner{position:relative;display:flex;align-items:baseline;gap:4px;z-index:2}
.bt-score-ring-inner strong{font-size:3.2rem;letter-spacing:-.08em;line-height:1}
.bt-score-ring-inner span{font-size:.85rem;color:#b6d8d9;font-weight:800}
.bt-best-window{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.bt-best-window>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#98c9ca}
.bt-best-window strong{font-size:1.55rem;letter-spacing:-.035em}
.bt-best-window small{color:#b9d4d5}
.bt-outlook-card,.bt-section,.bt-condition-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.bt-outlook-card{border-radius:26px;padding:24px;min-height:300px}
.bt-outlook-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.bt-outlook-heading h3,.bt-section-title-row h3{margin:5px 0 0;font-size:1.35rem;letter-spacing:-.035em}
.bt-safety-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;font-size:.72rem;font-weight:850;white-space:nowrap}
.bt-safety-badge.low{background:#e5f6ee;color:#17724f}.bt-safety-badge.caution{background:#fff2d6;color:#9a6510}.bt-safety-badge.high{background:#ffe8e8;color:#a83e3e}
.bt-mini-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}
.bt-mini-score{padding:14px;border-radius:15px;background:#f4f8f8}
.bt-mini-score span,.bt-mini-score small{display:block;color:var(--muted);font-size:.75rem}
.bt-mini-score strong{display:block;margin:3px 0;font-size:1.8rem;letter-spacing:-.055em}
.bt-safety-summary{margin-top:16px;padding:13px 14px;border-radius:14px;background:#f7fafa;color:#4c626b;font-size:.82rem;line-height:1.5}
.bt-safety-summary ul{margin:0;padding-left:18px}.bt-safety-summary li+li{margin-top:4px}
.bt-safety-disclaimer{margin:12px 1px 0;color:#7d6a46;font-size:.72rem;line-height:1.5}
.bt-section{border-radius:22px;padding:22px;margin-top:18px}
.bt-section-title-row{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:16px}
.bt-section-title-row>p{max-width:380px;margin:0;text-align:right;color:var(--muted);font-size:.8rem;line-height:1.45}
.bt-section-title-row.compact{align-items:flex-start}
.bt-week-strip{display:grid;grid-template-columns:repeat(7,minmax(126px,1fr));gap:10px;overflow-x:auto;padding-bottom:2px}
.bt-day-card{appearance:none;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fbfdfd;color:var(--ink);padding:14px;min-width:126px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.bt-day-card:hover{transform:translateY(-2px);border-color:#b7dfe0;box-shadow:0 9px 22px rgba(15,47,59,.08)}
.bt-day-card.active{background:#0d5962;color:#fff;border-color:#0d5962;box-shadow:0 10px 25px rgba(13,89,98,.22)}
.bt-day-name{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.bt-day-card.active .bt-day-name,.bt-day-card.active .bt-day-date,.bt-day-card.active .bt-day-best{color:#c7e7e7}
.bt-day-date{display:block;margin-top:2px;color:#7a8d94;font-size:.74rem}
.bt-day-score{display:flex;align-items:baseline;gap:3px;margin:11px 0 4px}.bt-day-score strong{font-size:2rem;line-height:1;letter-spacing:-.06em}.bt-day-score span{font-size:.72rem;color:var(--muted)}.bt-day-card.active .bt-day-score span{color:#c7e7e7}
.bt-day-quality{display:block;font-size:.76rem;font-weight:850}.bt-day-best{display:block;margin-top:9px;color:var(--muted);font-size:.7rem}
.bt-windows-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bt-window-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;padding:17px;background:#f9fcfc}
.bt-window-card:first-child{background:linear-gradient(145deg,#e7f8f3,#f9fdfc);border-color:#bce6dc}
.bt-window-rank{display:inline-flex;align-items:center;min-height:25px;padding:0 8px;border-radius:999px;background:#e7f1f2;color:#436a72;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.bt-window-card:first-child .bt-window-rank{background:#d5f1e8;color:#177457}
.bt-window-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:10px}
.bt-window-time{font-size:1.35rem;font-weight:900;letter-spacing:-.045em}
.bt-window-score{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-weight:900}
.bt-window-meta{margin:12px 0 0;color:var(--muted);font-size:.77rem}.bt-window-reasons{margin:9px 0 0;padding-left:17px;font-size:.76rem}.bt-window-reasons li+li{margin-top:3px}
.bt-condition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.bt-condition-card{display:flex;gap:13px;align-items:center;border-radius:18px;padding:17px;min-height:108px}
.bt-condition-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;background:#edf7f6;font-size:1.2rem}
.bt-condition-card div>span{display:block;color:var(--muted);font-size:.73rem}.bt-condition-card strong{display:block;margin:2px 0;font-size:1.35rem;letter-spacing:-.04em}.bt-condition-card small{color:var(--muted);font-size:.71rem}
.bt-hourly-strip{display:grid;grid-template-columns:repeat(24,minmax(54px,1fr));gap:6px;overflow-x:auto;padding-bottom:4px}
.bt-hour-cell{min-width:54px;border-radius:11px;padding:9px 6px;background:#f4f8f8;text-align:center}
.bt-hour-cell.prime{outline:2px solid #27a99f;background:#e8f7f3}
.bt-hour-time{display:block;color:var(--muted);font-size:.65rem}.bt-hour-score{display:block;margin:5px 0 4px;font-size:1.05rem;font-weight:900}.bt-hour-bar{display:block;height:34px;border-radius:5px;background:linear-gradient(to top,#1b9b94 var(--height),#dce9e9 var(--height))}.bt-hour-risk{display:block;margin-top:5px;font-size:.58rem;font-weight:850;color:var(--muted);text-transform:uppercase}
.bt-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bt-detail-card{margin-top:18px}
.bt-detail-list{display:grid;grid-template-columns:1fr auto;margin:0}.bt-detail-list dt,.bt-detail-list dd{margin:0;padding:10px 0;border-bottom:1px solid #edf2f2}.bt-detail-list dt{color:var(--muted)}.bt-detail-list dd{text-align:right;font-weight:760}.bt-detail-list dt:last-of-type,.bt-detail-list dd:last-of-type{border-bottom:0}
.bt-explain-section details,.bt-debug-section details{cursor:pointer}.bt-explain-section summary,.bt-debug-section summary{font-weight:850}.bt-explain-body{padding-top:17px}.bt-explain-body>p{margin:15px 0 0;color:var(--muted);font-size:.8rem;line-height:1.55}
.bt-factor-list{display:grid;gap:10px}.bt-factor-row{display:grid;grid-template-columns:minmax(135px,1fr) 3fr auto;gap:11px;align-items:center}.bt-factor-name strong{display:block;font-size:.82rem}.bt-factor-name small{color:var(--muted);font-size:.69rem}.bt-factor-track{height:8px;border-radius:999px;background:#e6eeee;overflow:hidden}.bt-factor-fill{height:100%;border-radius:999px;background:var(--teal)}.bt-factor-score{font-weight:850}
.bt-debug-section pre{max-height:440px;overflow:auto;margin:14px 0 0;border-radius:15px;padding:15px;background:#0a2832;color:#d3ecec;font-size:.72rem}
.bt-footer{display:flex;justify-content:space-between;gap:20px;padding:24px 5px 0;color:var(--muted);font-size:.72rem}.bt-footer strong{color:#35525b}
@media(max-width:960px){.bt-search-options{grid-template-columns:1fr 1fr}.bt-search-options .bt-btn-primary{grid-column:1/-1}.bt-hero-result{grid-template-columns:1fr}.bt-outlook-card{min-height:auto}.bt-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-week-strip{grid-template-columns:repeat(7,130px)}.bt-two-col{grid-template-columns:1fr}}
@media(max-width:680px){.bt-app{width:min(100% - 16px,1180px);padding-top:8px}.bt-hero{padding:18px;border-radius:20px}.bt-brand-row{align-items:flex-start}.bt-phase-badge{display:none}.bt-hero-copy{padding:38px 0 20px}.bt-hero h1{font-size:clamp(2.5rem,15vw,4rem)}.bt-location-form{grid-template-columns:1fr}.bt-search-input-wrap{display:grid;grid-template-columns:1fr auto}.bt-btn-ghost{width:100%}.bt-search-options{grid-template-columns:1fr}.bt-search-options .bt-btn-primary{grid-column:auto}.bt-result-header{align-items:flex-start;flex-direction:column}.bt-provider-health{width:100%}.bt-data-pill{flex:1;text-align:center}.bt-bite-card{grid-template-columns:1fr 120px;padding:20px;min-height:270px}.bt-score-ring{width:116px;height:116px}.bt-score-ring:before{width:92px;height:92px}.bt-score-ring-inner strong{font-size:2.3rem}.bt-bite-copy h3{font-size:2rem}.bt-best-window{display:grid;grid-template-columns:auto 1fr;gap:4px 10px}.bt-best-window small{grid-column:1/-1}.bt-section{padding:17px;border-radius:18px}.bt-section-title-row{align-items:flex-start;flex-direction:column}.bt-section-title-row>p{text-align:left}.bt-windows-grid{grid-template-columns:1fr}.bt-condition-grid{grid-template-columns:1fr 1fr}.bt-condition-card{padding:13px;min-height:95px}.bt-condition-icon{display:none}.bt-mini-score-grid{grid-template-columns:1fr 1fr}.bt-footer{flex-direction:column}.bt-factor-row{grid-template-columns:1fr auto}.bt-factor-track{grid-column:1/-1;grid-row:2}}
@media(max-width:430px){.bt-search-input-wrap{grid-template-columns:1fr}.bt-segmented span{font-size:.75rem}.bt-bite-card{grid-template-columns:1fr}.bt-score-ring{grid-row:2}.bt-best-window{grid-row:3}.bt-condition-grid{grid-template-columns:1fr}.bt-mini-score-grid{grid-template-columns:1fr 1fr}}

/* Phase 4 — tide & conditions visualisations */
.bt-tide-section{overflow:visible}
.bt-tide-summary-row{display:grid;grid-template-columns:repeat(3,minmax(120px,.7fr)) minmax(280px,2fr);gap:10px;margin-bottom:14px}
.bt-tide-summary-item{padding:12px 14px;border-radius:14px;background:#f4f8f8;border:1px solid #e5eeee}
.bt-tide-summary-item span{display:block;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.bt-tide-summary-item strong{display:block;margin-top:4px;font-size:.94rem;letter-spacing:-.02em}
.bt-tide-events{display:flex;flex-wrap:wrap;align-content:center;gap:7px}
.bt-tide-event{display:inline-flex;align-items:center;gap:5px;min-height:31px;padding:0 9px;border-radius:999px;background:#edf7f6;color:#31646a;border:1px solid #d7ebea;font-size:.69rem;white-space:nowrap}
.bt-tide-event.high{background:#e4f7f4;color:#116f71}.bt-tide-event.low{background:#f2f5f5;color:#566c73}.bt-tide-event.muted{color:var(--muted)}
.bt-chart-shell{position:relative;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fbfdfd,#f5f9f9);padding:12px 12px 4px;overflow:hidden}
.bt-chart-legend{display:flex;flex-wrap:wrap;gap:14px;padding:3px 6px 7px;color:var(--muted);font-size:.68rem;font-weight:760}
.bt-chart-legend span{display:inline-flex;align-items:center;gap:6px}.bt-legend-line{width:20px;height:2px;border-radius:999px;background:var(--teal)}.bt-legend-line.daylight{background:#d2a540}.bt-legend-block{width:18px;height:9px;border-radius:4px;background:rgba(22,134,95,.12);border:1px solid rgba(22,134,95,.18)}
.bt-tide-chart,.bt-conditions-chart{min-width:0;overflow-x:auto}.bt-tide-svg,.bt-conditions-svg{display:block;width:100%;height:auto;min-width:700px}
.bt-svg-grid{stroke:#e6eeee;stroke-width:1}.bt-svg-grid.horizontal{stroke-dasharray:3 5}.bt-svg-axis{fill:#81939a;font-size:11px;font-weight:700}.bt-svg-axis.level{font-size:10px}
.bt-svg-window{fill:rgba(13,140,147,.055)}.bt-svg-window.best{fill:rgba(22,134,95,.105)}
.bt-svg-area{fill:url(#bt-tide-fill)}.bt-svg-tide-line{fill:none;stroke:#0d8c93;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.bt-svg-sun{stroke:#d7ae4d;stroke-width:1.5;stroke-dasharray:4 5}.bt-svg-sun.sunset{stroke:#8c83af}.bt-svg-sun-label{fill:#6e7779;font-size:11px;font-weight:800}
.bt-svg-event circle{fill:#fff;stroke:#0d8c93;stroke-width:3}.bt-svg-event text{fill:#496a70;font-size:10px;font-weight:900}
.bt-svg-now{stroke:#bd4a4a;stroke-width:1.5;stroke-dasharray:3 4}.bt-svg-now-label{fill:#a84343;font-size:9px;font-weight:900}
.bt-svg-hover-line{stroke:#153e48;stroke-width:1.2;stroke-dasharray:3 4;pointer-events:none}.bt-svg-hover-dot{fill:#fff;stroke:#153e48;stroke-width:3;pointer-events:none}.bt-svg-hit{fill:transparent;pointer-events:all;cursor:crosshair}
.bt-chart-tooltip{position:absolute;z-index:8;width:225px;padding:10px 11px;border-radius:12px;background:#0b303b;color:#fff;box-shadow:0 12px 30px rgba(11,47,58,.22);font-size:.68rem;line-height:1.45;pointer-events:none}.bt-chart-tooltip strong,.bt-chart-tooltip span{display:block}.bt-chart-tooltip span{color:#c8dfe0;margin-top:2px}
.bt-chart-note{margin:9px 2px 0;color:#75888f;font-size:.7rem;line-height:1.5}.bt-chart-empty{padding:38px 18px;text-align:center;color:var(--muted);font-size:.82rem}
.bt-conditions-chart-wrap{border:1px solid var(--line);border-radius:18px;background:#fbfdfd;padding:8px;overflow:hidden}
.bt-svg-row-label{fill:#415f67;font-size:12px;font-weight:900}.bt-svg-row-max{fill:#8a9aa0;font-size:9px;font-weight:700}.bt-svg-row-base{stroke:#dce8e9;stroke-width:1}
.bt-svg-metric{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.bt-svg-metric.metric-bite{stroke:#16865f}.bt-svg-metric.metric-wind{stroke:#506e8a}.bt-svg-metric.metric-wave{stroke:#0d8c93}.bt-svg-metric.metric-swell{stroke:#8876a8}
.bt-conditions-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;color:var(--muted);font-size:.7rem}.bt-conditions-legend span{display:inline-flex;align-items:center;gap:6px}.bt-conditions-legend .dot{width:8px;height:8px;border-radius:50%;background:#16865f}.bt-conditions-legend .dot.wind{background:#506e8a}.bt-conditions-legend .dot.wave{background:#0d8c93}.bt-conditions-legend .dot.swell{background:#8876a8}
@media(max-width:960px){.bt-tide-summary-row{grid-template-columns:repeat(3,1fr)}.bt-tide-events{grid-column:1/-1}}
@media(max-width:680px){.bt-tide-summary-row{grid-template-columns:1fr 1fr}.bt-tide-summary-item:first-child{grid-column:1/-1}.bt-tide-events{grid-column:1/-1}.bt-chart-shell{padding:9px 6px 2px}.bt-chart-legend{gap:8px 12px}.bt-tide-svg,.bt-conditions-svg{min-width:720px}.bt-chart-tooltip{width:205px}.bt-conditions-chart-wrap{padding:5px}}

/* Phase 5 — gamification */
.bt-game-intro{margin-top:14px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:15px 17px;border:1px solid #e7ddf5;border-radius:18px;background:linear-gradient(135deg,#fbf8ff,#f7fbfb 55%,#fff9ea)}
.bt-mood-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#fff;border:1px solid #e9e1f1;font-size:1.55rem;box-shadow:0 8px 22px rgba(71,51,100,.06)}
.bt-mood-copy strong{display:block;margin:2px 0 1px;font-size:1.08rem;letter-spacing:-.025em}.bt-mood-copy p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45}
.bt-fun-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;background:#efe8fb;color:#76529c;border:1px solid #e3d5f4;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}

.bt-game-zone{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fcf9ff 52%,#fffaf0 100%);border-color:#e8ddf2}
.bt-game-zone:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-150px;top:-150px;background:radial-gradient(circle,rgba(219,188,85,.14),rgba(219,188,85,0) 70%);pointer-events:none}
.bt-game-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.8fr);gap:14px;position:relative}
.bt-lucky-card,.bt-lucky-fish-card,.bt-excuse-card{border:1px solid #e9e0f0;border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 12px 32px rgba(67,49,83,.045)}
.bt-lucky-card{padding:19px}.bt-lucky-fish-card{padding:19px;text-align:center;background:linear-gradient(180deg,#fff,#fffaf0)}
.bt-game-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bt-game-card-head h4,.bt-lucky-fish-card h4{margin:3px 0 0;font-size:1.14rem;letter-spacing:-.025em}.bt-game-kicker{font-size:.68rem;font-weight:950;color:#7957a0;letter-spacing:.07em}
.bt-rarity{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;background:#f1eaf9;color:#76529c;border:1px solid #e3d6f0;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.bt-rarity.gold{background:#fff2c6;color:#8a6500;border-color:#ecd27d}.bt-rarity.violet{background:#eee6fb;color:#6d46a0}.bt-rarity.teal{background:#e4f7f4;color:#16766f}.bt-rarity.blue{background:#eaf2fb;color:#426784}.bt-rarity.orange{background:#fff0e2;color:#995f31}.bt-rarity.green{background:#edf7e8;color:#587946}.bt-rarity.brown{background:#f4ece5;color:#7f6048}.bt-rarity.slate{background:#edf1f3;color:#5b6b73}
.bt-lucky-reel{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0 13px;padding:11px;border-radius:17px;background:linear-gradient(180deg,#2c2240,#171b2a);border:1px solid #3a3150;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.bt-lucky-reel span{height:72px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#fff,#f7f2fb);font-size:2rem;box-shadow:inset 0 -4px 12px rgba(52,42,67,.08)}
.bt-lucky-reel.spinning span{animation:btReelPulse .18s linear infinite alternate}.bt-lucky-reel.reveal{animation:btReveal .45s ease both}
@keyframes btReelPulse{from{transform:translateY(-2px) scale(.97);filter:blur(.3px)}to{transform:translateY(2px) scale(1.03)}}
@keyframes btReveal{0%{transform:scale(.98)}60%{transform:scale(1.025)}100%{transform:scale(1)}}
.bt-cast-result{min-height:80px;padding:12px 13px;border-radius:14px;background:#faf8fc;border:1px solid #eee8f2}.bt-cast-result strong{display:block;font-size:1rem;letter-spacing:-.02em}.bt-cast-result p{margin:4px 0 6px;color:#556d75;font-size:.78rem;line-height:1.45}.bt-cast-result small{color:#8b7d94;font-size:.65rem;font-weight:800}
.bt-btn-lucky{width:100%;margin-top:11px;background:linear-gradient(135deg,#7a4da1,#b07a37);color:#fff;border:0;box-shadow:0 9px 22px rgba(111,72,137,.18)}.bt-btn-lucky:hover{transform:translateY(-1px)}.bt-game-disclaimer{display:block;margin-top:8px;color:#8c8292;font-size:.62rem;line-height:1.45;text-align:center}
.bt-lucky-fish-icon{width:78px;height:78px;margin:17px auto 8px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9d7,#f4e6a8);font-size:2.4rem;border:1px solid #eadb9e;box-shadow:0 10px 25px rgba(163,132,43,.12)}
.bt-lucky-facts{display:grid;gap:7px;margin:15px 0 10px}.bt-lucky-facts div{display:flex;justify-content:space-between;gap:14px;padding:8px 9px;border-radius:11px;background:#fff;border:1px solid #efe9dd}.bt-lucky-facts dt{color:var(--muted);font-size:.68rem}.bt-lucky-facts dd{margin:0;font-size:.7rem;font-weight:900;text-align:right}.bt-lucky-fish-card>p{margin:10px 0 0;color:#8a806f;font-size:.67rem;line-height:1.45}
.bt-excuse-card{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;margin-top:14px;padding:18px 19px;position:relative;background:linear-gradient(135deg,#f7fbfb,#fff)}
.bt-excuse-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#e8f6f3;font-size:1.7rem}.bt-excuse-copy blockquote{margin:7px 0 12px;padding:0;border:0;color:#203f48;font-size:1rem;font-weight:800;line-height:1.45;letter-spacing:-.015em}.bt-excuse-actions{display:flex;flex-wrap:wrap;gap:8px}.bt-btn-excuse{background:#163e48;color:#fff;border-color:#163e48}.bt-copy-done{background:#e8f7f3!important;color:#16766f!important;border-color:#cdebe5!important}

@media(max-width:820px){.bt-game-grid{grid-template-columns:1fr}.bt-lucky-fish-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon facts" "note note";text-align:left;gap:0 14px}.bt-lucky-fish-card .bt-game-kicker,.bt-lucky-fish-card h4{grid-area:title}.bt-lucky-fish-icon{grid-area:icon;margin:6px 0 0}.bt-lucky-facts{grid-area:facts;margin:8px 0}.bt-lucky-fish-card>p{grid-area:note}}
@media(max-width:620px){.bt-game-intro{grid-template-columns:auto 1fr}.bt-fun-pill{grid-column:1/-1;justify-self:start}.bt-game-card-head{align-items:flex-start}.bt-lucky-reel span{height:62px;font-size:1.7rem}.bt-excuse-card{grid-template-columns:1fr}.bt-excuse-icon{display:none}.bt-excuse-copy blockquote{font-size:.92rem}.bt-lucky-fish-card{display:block;text-align:center}.bt-lucky-fish-icon{margin:14px auto 8px}.bt-lucky-facts{margin:14px 0}}

/* Phase 6 — retention, saved spots & achievements */
.bt-result-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.bt-btn-save{min-height:36px;padding:0 12px;background:#fff8df;color:#7f650e;border:1px solid #eadb9c}.bt-btn-save.saved{background:#edf8f1;color:#23704f;border-color:#cee9da}.bt-btn-save:disabled{cursor:default;opacity:1}
.bt-return-hub{background:linear-gradient(145deg,#fff,#f8fbfb 58%,#fffdf4);border-color:#dce9e8}.bt-return-summary{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:10px;margin-bottom:14px}.bt-streak-card,.bt-stat-card{min-height:94px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:14px;box-shadow:0 8px 22px rgba(15,47,59,.04)}.bt-streak-card{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#fff8e8,#fff)}.bt-streak-fire{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#fff0c7;font-size:1.55rem}.bt-streak-card span,.bt-stat-card span{display:block;color:var(--muted);font-size:.69rem;font-weight:760}.bt-streak-card strong,.bt-stat-card strong{display:block;margin:3px 0;font-size:1.52rem;letter-spacing:-.045em}.bt-streak-card small,.bt-stat-card small{color:#829198;font-size:.66rem}.bt-return-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.bt-dashboard-card{border:1px solid var(--line);border-radius:19px;background:rgba(255,255,255,.92);padding:17px;box-shadow:0 10px 25px rgba(15,47,59,.04)}.bt-dashboard-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:13px}.bt-dashboard-head h4{margin:4px 0 0;font-size:1.05rem;letter-spacing:-.025em}.bt-btn-small{min-height:34px;padding:0 11px;background:#eaf6f4;color:#16736f;font-size:.72rem}.bt-dashboard-empty{margin:5px 0;color:var(--muted);font-size:.76rem;line-height:1.45}.bt-spots-list{display:grid;gap:8px}.bt-spot-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #e5eeee;border-radius:14px;background:#fbfdfd}.bt-spot-main{min-width:0}.bt-spot-name{display:flex;align-items:center;gap:7px;font-weight:850;font-size:.84rem}.bt-spot-name span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bt-spot-meta{display:block;margin-top:3px;color:var(--muted);font-size:.65rem}.bt-spot-score{display:inline-flex;align-items:baseline;gap:2px;margin-top:6px;padding:4px 7px;border-radius:999px;background:#e9f6f2;color:#18725a;font-size:.64rem;font-weight:850}.bt-spot-actions{display:flex;gap:5px}.bt-icon-btn{width:34px;height:34px;padding:0;border:1px solid #dfe9e9;border-radius:10px;background:#fff;color:#41616a;font-weight:900}.bt-icon-btn:hover{background:#f1f8f8}.bt-icon-btn.danger{color:#a34c4c}.bt-compare-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:end}.bt-compare-controls label span{display:block;margin-bottom:6px;color:var(--muted);font-size:.68rem;font-weight:800}.bt-compare-controls select{width:100%;height:42px;border:1px solid #d3e2e3;border-radius:11px;background:#fff;color:var(--ink);padding:0 9px}.bt-vs{display:grid;place-items:center;height:42px;font-size:.7rem;font-weight:950;color:#82652c}.bt-btn-compare{width:100%;margin-top:10px;background:#153e48;color:#fff}.bt-compare-result{margin-top:11px;min-height:74px;border-radius:14px;background:#f7fafa;border:1px solid #e2ecec;padding:11px}.bt-compare-result>p{margin:0;color:var(--muted);font-size:.74rem}.bt-battle-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:9px;align-items:center}.bt-battle-side{padding:9px;border-radius:12px;background:#fff;border:1px solid #e2ebeb;text-align:center}.bt-battle-side.winner{border-color:#b9dfd0;background:#edf8f3}.bt-battle-side strong{display:block;font-size:1.8rem;letter-spacing:-.06em}.bt-battle-side span{display:block;font-size:.72rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-battle-side small{display:block;color:var(--muted);font-size:.62rem;line-height:1.35}.bt-battle-vs{font-size:.68rem;font-weight:950;color:#8a764c}.bt-battle-verdict{margin:9px 0 0!important;text-align:center;color:#31535c!important;font-weight:800!important}.bt-achievements-card{margin-top:14px}.bt-link-button{border:0;background:transparent;padding:4px;color:#8b6767;text-decoration:underline;font-size:.68rem}.bt-achievements-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.bt-achievement{position:relative;min-height:128px;border:1px solid #e5eded;border-radius:15px;padding:11px;background:#fafcfc;overflow:hidden}.bt-achievement.locked{filter:saturate(.35);opacity:.7}.bt-achievement-icon{font-size:1.45rem}.bt-achievement strong{display:block;margin:7px 0 3px;font-size:.76rem}.bt-achievement p{margin:0;color:var(--muted);font-size:.62rem;line-height:1.4}.bt-achievement-progress{position:absolute;left:10px;right:10px;bottom:10px;height:5px;border-radius:99px;background:#e6eeee;overflow:hidden}.bt-achievement-progress i{display:block;height:100%;background:linear-gradient(90deg,#14aab0,#d1a843);border-radius:99px}.bt-achievement-unlocked{position:absolute;right:8px;top:8px;font-size:.57rem;font-weight:950;color:#176d51;background:#e3f5ec;border-radius:999px;padding:4px 6px}.bt-local-note{margin:11px 0 0;color:#7a8b90;font-size:.66rem;line-height:1.45}
@media(max-width:960px){.bt-return-summary{grid-template-columns:repeat(2,1fr)}.bt-return-grid{grid-template-columns:1fr}.bt-achievements-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.bt-result-actions{width:100%;justify-content:flex-start}.bt-return-summary{grid-template-columns:1fr 1fr}.bt-streak-card{grid-column:1/-1}.bt-dashboard-head{align-items:flex-start}.bt-compare-controls{grid-template-columns:1fr}.bt-vs{height:auto}.bt-achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-battle-grid{grid-template-columns:1fr}.bt-battle-vs{display:none}.bt-spot-row{grid-template-columns:1fr}.bt-spot-actions{justify-content:flex-start}}
@media(max-width:430px){.bt-return-summary{grid-template-columns:1fr}.bt-streak-card{grid-column:auto}.bt-achievements-grid{grid-template-columns:1fr 1fr}}

/* Phase 8 — production UX, accessibility and resilient states */
.bt-app :where(button,input,select,summary,a):focus-visible{outline:3px solid #f2c75c;outline-offset:3px}
.bt-app[aria-busy="true"]{cursor:progress}.bt-app[aria-busy="true"] .bt-hero{box-shadow:0 22px 58px rgba(15,47,59,.08)}
.bt-connectivity{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;padding:13px 15px;border:1px solid #f0d5a1;border-radius:14px;background:#fff6df;color:#755313;font-size:.82rem;font-weight:750;line-height:1.45}
.bt-retry-row{display:flex;justify-content:flex-end;margin:8px 0 0}.bt-retry-row .bt-btn{min-height:40px}
.bt-first-run{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#f2f9f8);box-shadow:var(--shadow-soft)}
.bt-first-run-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#dff6f3,#fff5d7);font-size:2rem}.bt-first-run h3{margin:5px 0 6px;font-size:1.25rem;letter-spacing:-.03em}.bt-first-run p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}
.bt-quick-locations{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.bt-quick-locations button{min-height:36px;padding:0 11px;border:1px solid #d6e5e5;border-radius:999px;background:#fff;color:#245861;font-size:.72rem;font-weight:850}.bt-quick-locations button:hover{background:#eaf7f5;border-color:#b8dcd8}
.bt-loading-shell{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}
.bt-skeleton{position:relative;overflow:hidden;border-radius:12px;background:#eaf1f1}.bt-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),transparent);animation:btSkeleton 1.25s ease-in-out infinite}.bt-skeleton-title{width:42%;height:24px;margin-bottom:15px}.bt-skeleton-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}.bt-skeleton-large{height:260px}.bt-skeleton-strip{height:112px;margin-top:14px}
@keyframes btSkeleton{to{transform:translateX(100%)}}
.bt-data-notice{display:flex;align-items:flex-start;gap:11px;margin:0 4px 16px;padding:13px 15px;border:1px solid #ead7aa;border-radius:15px;background:#fff9e8;color:#70541b}.bt-data-notice-icon{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#ffefbf;font-weight:950}.bt-data-notice strong{display:block;font-size:.79rem}.bt-data-notice p{margin:3px 0 0;font-size:.72rem;line-height:1.5;color:#80672d}
.bt-safety-disclaimer a{color:#6d541f;text-decoration:underline;text-underline-offset:2px}
.bt-status{box-shadow:0 8px 20px rgba(15,47,59,.035)}
.bt-status.error{border-left:4px solid #c84d4d}.bt-status.info{border-left:4px solid #1c9998}
.bt-btn[disabled],.bt-app input[disabled],.bt-app select[disabled]{opacity:.58}
.bt-app button{touch-action:manipulation}.bt-location-option{min-height:54px}.bt-icon-btn{min-width:38px;min-height:38px}
.bt-chart-empty{min-height:150px;display:grid;place-items:center;padding:22px;text-align:center;border:1px dashed #d5e3e3;border-radius:14px;color:var(--muted);background:#f8fbfb}
@media(max-width:760px){
  .bt-app{width:min(100% - 18px,1180px);padding-top:12px}.bt-hero{padding:18px;border-radius:22px}.bt-brand-row{align-items:flex-start}.bt-phase-badge{font-size:.61rem}.bt-hero-copy{padding:36px 0 20px}.bt-hero h2{font-size:clamp(2.35rem,14vw,3.75rem)}
  .bt-search-card{padding:14px}.bt-location-form,.bt-search-options{grid-template-columns:1fr}.bt-search-input-wrap{display:grid;grid-template-columns:1fr auto}.bt-search-input-wrap input,.bt-date-field input,.bt-btn{min-height:48px}.bt-btn-ghost#use-location{width:100%}
  .bt-hero-result,.bt-two-col{grid-template-columns:1fr}.bt-bite-card{grid-template-columns:1fr auto;min-height:auto;padding:20px}.bt-score-ring{width:126px;height:126px}.bt-score-ring:before{width:98px;height:98px}.bt-score-ring-inner strong{font-size:2.55rem}.bt-best-window{align-items:flex-start;flex-wrap:wrap}.bt-best-window small{width:100%}
  .bt-section{padding:16px;border-radius:18px}.bt-section-title-row{align-items:flex-start;flex-direction:column}.bt-section-title-row>p{text-align:left;max-width:none}.bt-first-run{grid-template-columns:1fr}.bt-first-run-icon{width:54px;height:54px}.bt-skeleton-grid{grid-template-columns:1fr}.bt-skeleton-large{height:190px}.bt-skeleton-strip{height:90px}
  .bt-data-notice{margin-inline:0}.bt-result-header{align-items:flex-start;flex-direction:column}.bt-provider-health{flex-wrap:wrap}.bt-result-actions{justify-content:flex-start}
}
@media(max-width:470px){
  .bt-search-input-wrap{grid-template-columns:1fr}.bt-search-input-wrap .bt-btn{width:100%}.bt-segmented span{font-size:.74rem}.bt-bite-card{grid-template-columns:1fr}.bt-score-ring{justify-self:start}.bt-mini-score-grid{grid-template-columns:1fr 1fr}.bt-quick-locations{display:grid;grid-template-columns:1fr 1fr}.bt-quick-locations button{min-height:40px}
}
@media(prefers-reduced-motion:reduce){.bt-app *,.bt-app *:before,.bt-app *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.bt-skeleton:after{display:none}}
.bt-data-credit{max-width:880px;margin:14px auto 0;padding:0 8px;color:#7a8c92;font-size:.64rem;line-height:1.5;text-align:center}.bt-data-credit a{color:#416c72;text-decoration:underline;text-underline-offset:2px;font-weight:800}


/* Visual hotfix 2 — app form polish and text contrast */
.bt-page .bt-location-field>span,
.bt-page .bt-mode-fieldset legend,
.bt-page .bt-date-field>span{
  color:#3c5963 !important;
}
.bt-page .bt-search-input-wrap input,
.bt-page .bt-date-field input{
  background:#ffffff !important;
  color:var(--ink) !important;
  border:1px solid #cfdfe1 !important;
  box-shadow:none !important;
}
.bt-page .bt-search-input-wrap input::placeholder{color:#7a8f97 !important;opacity:1;}
.bt-page .bt-date-field input{padding-inline:16px !important;}
.bt-page .bt-date-field input::-webkit-calendar-picker-indicator{opacity:.82;cursor:pointer;}
.bt-page .bt-search-options{
  grid-template-columns:minmax(0,1.1fr) minmax(220px,.46fr) auto;
}
.bt-page .bt-btn-search,
.bt-page .bt-btn-primary{
  background:var(--teal) !important;
  color:#fff !important;
}
.bt-page .bt-btn-ghost{
  background:#edf6f6 !important;
  color:#176f74 !important;
  border:1px solid #d9e9e9;
}
.bt-page .bt-segmented{
  background:#edf3f4 !important;
}
.bt-page .bt-segmented span{color:#6a7f87 !important;}
.bt-page .bt-segmented input:checked+span{
  background:#ffffff !important;
  color:#0b5860 !important;
}
.bt-page .bt-selected-location{
  margin-top:14px;
  min-height:auto;
  padding:10px 14px;
  border-radius:12px;
  background:#f5f9f9;
  border:1px solid #deeaea;
  color:#5f747d !important;
  font-size:.84rem;
  line-height:1.45;
}
.bt-page .bt-selected-location strong{color:var(--ink) !important;}
.bt-page .bt-first-run h3,
.bt-page .bt-section-title-row h3,
.bt-page .bt-result-title h2{
  color:var(--ink) !important;
}
@media(max-width:960px){
  .bt-page .bt-search-options{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .bt-page .bt-search-options{grid-template-columns:1fr;}
}


/* Final touch-up — search UI harmony */
.bt-page input#location-input,
.bt-page .bt-search-input-wrap input[type="search"],
.bt-page .bt-search-input-wrap input[type="text"]{
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important;
  caret-color:var(--ink) !important;
  appearance:none;
}
.bt-page input#location-input::placeholder{color:#7a8f97 !important;opacity:1;}
.bt-page .bt-search-results{max-height:430px;overflow:auto;border-radius:18px;}
.bt-page .bt-search-results::-webkit-scrollbar{width:10px}
.bt-page .bt-search-results::-webkit-scrollbar-thumb{background:#cfdddd;border-radius:99px;border:2px solid #fff}
.bt-page .bt-location-option{align-items:flex-start;padding:14px 18px;}
.bt-page .bt-location-option > span{min-width:0;}
.bt-page .bt-location-option strong{display:block;color:var(--ink);font-size:1rem;line-height:1.25;margin-bottom:4px;}
.bt-page .bt-location-option small{font-size:.82rem;line-height:1.4;}
.bt-page .bt-location-option .bt-location-coords{white-space:nowrap;color:#6e828a;font-size:.8rem;padding-left:10px;}
.bt-page .bt-location-option.is-suggested{background:#eef8f7;box-shadow:inset 3px 0 0 var(--teal);}
.bt-page .bt-location-option.is-suggested strong{color:#0b5860;}
.bt-page .bt-search-input-wrap{align-items:stretch;}
.bt-page .bt-btn-search{min-width:86px;}
.bt-page .bt-date-field input{min-width:210px;}
@media(max-width:760px){
  .bt-page .bt-location-option{padding:13px 14px;display:grid;grid-template-columns:1fr;gap:2px;}
  .bt-page .bt-location-option .bt-location-coords{padding-left:0;}
  .bt-page .bt-date-field input{min-width:0;}
}


/* ============================================================
   BiteTime HARD ISOLATION LAYER
   Purpose: prevent Astra / WordPress global styles from changing
   the interactive application. Scoped strictly to .bt-page .bt-app.
   ============================================================ */

/* Foundation */
.bt-page .bt-app,
.bt-page .bt-app *{
  box-sizing:border-box !important;
}
.bt-page .bt-app{
  color:#10242d !important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-style:normal !important;
  text-shadow:none !important;
}
.bt-page .bt-app :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,em,label,legend,summary,blockquote,dt,dd,a,button,input,select){
  font-family:inherit !important;
  text-shadow:none !important;
}
.bt-page .bt-app :where(h1,h2,h3,h4,h5,h6,p,blockquote,dl,dt,dd){
  text-transform:none !important;
}

/* Native form controls — force a consistent light UI */
.bt-page .bt-app input,
.bt-page .bt-app select,
.bt-page .bt-app button{
  font:inherit !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
.bt-page .bt-app input[type="text"],
.bt-page .bt-app input[type="search"],
.bt-page .bt-app input[type="date"],
.bt-page .bt-app select{
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
  border:1px solid #cfdfe1 !important;
  border-radius:13px !important;
  box-shadow:none !important;
  outline:none !important;
  opacity:1 !important;
}
.bt-page .bt-app input[type="text"]:focus,
.bt-page .bt-app input[type="search"]:focus,
.bt-page .bt-app input[type="date"]:focus,
.bt-page .bt-app select:focus{
  background:#ffffff !important;
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
  border-color:#0d8c93 !important;
  box-shadow:0 0 0 4px rgba(13,140,147,.12) !important;
}
.bt-page .bt-app input::placeholder{
  color:#7a8f97 !important;
  -webkit-text-fill-color:#7a8f97 !important;
  opacity:1 !important;
}
.bt-page .bt-app input:-webkit-autofill,
.bt-page .bt-app input:-webkit-autofill:hover,
.bt-page .bt-app input:-webkit-autofill:focus{
  -webkit-text-fill-color:#10242d !important;
  -webkit-box-shadow:0 0 0 1000px #fff inset !important;
  box-shadow:0 0 0 1000px #fff inset !important;
}
.bt-page .bt-app input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:.82 !important;
  cursor:pointer !important;
}
.bt-page .bt-app .bt-location-field>span,
.bt-page .bt-app .bt-mode-fieldset legend,
.bt-page .bt-app .bt-date-field>span,
.bt-page .bt-app .bt-compare-controls label span{
  color:#3c5963 !important;
}

/* Buttons */
.bt-page .bt-app button{
  appearance:none !important;
  -webkit-appearance:none !important;
  border-radius:12px !important;
  line-height:1.2 !important;
  box-shadow:none;
}
.bt-page .bt-app .bt-btn-search,
.bt-page .bt-app .bt-btn-primary{
  background:#0d8c93 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border:0 !important;
}
.bt-page .bt-app .bt-btn-ghost{
  background:#edf6f6 !important;
  color:#176f74 !important;
  -webkit-text-fill-color:#176f74 !important;
  border:1px solid #d9e9e9 !important;
}
.bt-page .bt-app .bt-btn-small{
  background:#eaf6f4 !important;
  color:#16736f !important;
  -webkit-text-fill-color:#16736f !important;
  border:0 !important;
}
.bt-page .bt-app .bt-btn-save{
  background:#fff8df !important;
  color:#7f650e !important;
  -webkit-text-fill-color:#7f650e !important;
  border:1px solid #eadb9c !important;
}
.bt-page .bt-app .bt-btn-save.saved{
  background:#edf8f1 !important;
  color:#23704f !important;
  -webkit-text-fill-color:#23704f !important;
  border-color:#cee9da !important;
}
.bt-page .bt-app .bt-btn-lucky{
  background:linear-gradient(135deg,#7a4da1,#b07a37) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border:0 !important;
}
.bt-page .bt-app .bt-btn-excuse,
.bt-page .bt-app .bt-btn-compare{
  background:#163e48 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:#163e48 !important;
}
.bt-page .bt-app .bt-icon-btn{
  background:#ffffff !important;
  color:#41616a !important;
  -webkit-text-fill-color:#41616a !important;
  border:1px solid #dfe9e9 !important;
}
.bt-page .bt-app .bt-icon-btn.danger{
  color:#a34c4c !important;
  -webkit-text-fill-color:#a34c4c !important;
}
.bt-page .bt-app .bt-link-button{
  background:transparent !important;
  color:#8b6767 !important;
  -webkit-text-fill-color:#8b6767 !important;
}

/* Search card + search results */
.bt-page .bt-app .bt-search-card{
  background:#ffffff !important;
  color:#10242d !important;
  border:1px solid rgba(255,255,255,.35) !important;
}
.bt-page .bt-app .bt-search-results{
  background:#ffffff !important;
  color:#10242d !important;
  border:1px solid #dce8e9 !important;
}
.bt-page .bt-app .bt-location-option{
  background:#ffffff !important;
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
  border:0 !important;
  border-bottom:1px solid #e8efef !important;
  text-align:left !important;
}
.bt-page .bt-app .bt-location-option:hover,
.bt-page .bt-app .bt-location-option:focus-visible{
  background:#f2f9f8 !important;
}
.bt-page .bt-app .bt-location-option.is-suggested{
  background:#eef8f7 !important;
  box-shadow:inset 3px 0 0 #0d8c93 !important;
}
.bt-page .bt-app .bt-location-option strong{
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}
.bt-page .bt-app .bt-location-option small,
.bt-page .bt-app .bt-empty,
.bt-page .bt-app .bt-location-coords{
  color:#647983 !important;
  -webkit-text-fill-color:#647983 !important;
}
.bt-page .bt-app .bt-selected-location{
  background:#f5f9f9 !important;
  color:#5f747d !important;
  border:1px solid #deeaea !important;
}
.bt-page .bt-app .bt-selected-location strong{
  color:#10242d !important;
}
.bt-page .bt-app .bt-segmented{
  background:#edf3f4 !important;
}
.bt-page .bt-app .bt-segmented span{
  color:#6a7f87 !important;
  background:transparent !important;
}
.bt-page .bt-app .bt-segmented input:checked+span{
  background:#ffffff !important;
  color:#0b5860 !important;
  box-shadow:0 3px 11px rgba(15,47,59,.10) !important;
}

/* Light application surfaces */
.bt-page .bt-app :where(
  .bt-outlook-card,
  .bt-section,
  .bt-condition-card,
  .bt-window-card,
  .bt-first-run,
  .bt-loading-shell,
  .bt-game-intro,
  .bt-game-zone,
  .bt-lucky-card,
  .bt-lucky-fish-card,
  .bt-excuse-card,
  .bt-return-hub,
  .bt-streak-card,
  .bt-stat-card,
  .bt-dashboard-card,
  .bt-spot-row,
  .bt-compare-result,
  .bt-battle-side,
  .bt-achievement,
  .bt-detail-card,
  .bt-conditions-chart-wrap,
  .bt-chart-empty
){
  color:#10242d !important;
  text-shadow:none !important;
}
.bt-page .bt-app :where(
  .bt-outlook-card,
  .bt-section,
  .bt-window-card,
  .bt-first-run,
  .bt-loading-shell,
  .bt-lucky-card,
  .bt-lucky-fish-card,
  .bt-excuse-card,
  .bt-streak-card,
  .bt-stat-card,
  .bt-dashboard-card,
  .bt-spot-row,
  .bt-compare-result,
  .bt-battle-side,
  .bt-achievement,
  .bt-detail-card
) :where(h1,h2,h3,h4,h5,h6,strong,summary,dt,dd,label,legend){
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}
.bt-page .bt-app :where(
  .bt-outlook-card,
  .bt-section,
  .bt-window-card,
  .bt-first-run,
  .bt-loading-shell,
  .bt-lucky-card,
  .bt-lucky-fish-card,
  .bt-excuse-card,
  .bt-streak-card,
  .bt-stat-card,
  .bt-dashboard-card,
  .bt-spot-row,
  .bt-compare-result,
  .bt-battle-side,
  .bt-achievement,
  .bt-detail-card
) p{
  color:#647983 !important;
}
.bt-page .bt-app .bt-card-kicker,
.bt-page .bt-app .bt-eyebrow{
  color:#0d8c93 !important;
  -webkit-text-fill-color:#0d8c93 !important;
}
.bt-page .bt-app .bt-section-title-row h3,
.bt-page .bt-app .bt-outlook-heading h3,
.bt-page .bt-app .bt-first-run h3,
.bt-page .bt-app .bt-dashboard-head h4,
.bt-page .bt-app .bt-game-card-head h4,
.bt-page .bt-app .bt-lucky-fish-card h4,
.bt-page .bt-app .bt-result-header h2{
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}
.bt-page .bt-app .bt-section-title-row>p,
.bt-page .bt-app .bt-result-header p,
.bt-page .bt-app .bt-dashboard-empty,
.bt-page .bt-app .bt-local-note,
.bt-page .bt-app .bt-game-disclaimer,
.bt-page .bt-app .bt-data-credit{
  color:#647983 !important;
}

/* Dark hero copy — but not the white search card */
.bt-page .bt-app .bt-brand,
.bt-page .bt-app .bt-hero-copy h2{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.bt-page .bt-app .bt-hero-copy p{
  color:#d7e8e9 !important;
  -webkit-text-fill-color:#d7e8e9 !important;
}
.bt-page .bt-app .bt-hero .bt-eyebrow{
  color:#94e2df !important;
  -webkit-text-fill-color:#94e2df !important;
}
.bt-page .bt-app .bt-phase-badge{
  color:#c8f1ee !important;
  -webkit-text-fill-color:#c8f1ee !important;
}

/* Bite Score dark card */
.bt-page .bt-app .bt-bite-card{
  color:#ffffff !important;
}
.bt-page .bt-app .bt-bite-card :where(h3,strong){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.bt-page .bt-app .bt-bite-card .bt-card-kicker{
  color:#8fe3de !important;
  -webkit-text-fill-color:#8fe3de !important;
}
.bt-page .bt-app .bt-bite-copy p{
  color:#cfe3e4 !important;
  -webkit-text-fill-color:#cfe3e4 !important;
}
.bt-page .bt-app .bt-score-ring-inner span,
.bt-page .bt-app .bt-best-window small{
  color:#b6d8d9 !important;
  -webkit-text-fill-color:#b6d8d9 !important;
}
.bt-page .bt-app .bt-best-window>span{
  color:#98c9ca !important;
  -webkit-text-fill-color:#98c9ca !important;
}

/* Week cards */
.bt-page .bt-app .bt-day-card{
  background:#fbfdfd !important;
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
  border:1px solid #dce8e9 !important;
}
.bt-page .bt-app .bt-day-card :where(strong,.bt-day-quality){
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}
.bt-page .bt-app .bt-day-name,
.bt-page .bt-app .bt-day-date,
.bt-page .bt-app .bt-day-best,
.bt-page .bt-app .bt-day-score span{
  color:#647983 !important;
  -webkit-text-fill-color:#647983 !important;
}
.bt-page .bt-app .bt-day-card.active{
  background:#0d5962 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:#0d5962 !important;
}
.bt-page .bt-app .bt-day-card.active :where(strong,.bt-day-quality){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.bt-page .bt-app .bt-day-card.active :where(.bt-day-name,.bt-day-date,.bt-day-best,.bt-day-score span){
  color:#c7e7e7 !important;
  -webkit-text-fill-color:#c7e7e7 !important;
}

/* Safety / pills / notices */
.bt-page .bt-app .bt-safety-badge.low{background:#e5f6ee !important;color:#17724f !important;}
.bt-page .bt-app .bt-safety-badge.caution{background:#fff2d6 !important;color:#9a6510 !important;}
.bt-page .bt-app .bt-safety-badge.high{background:#ffe8e8 !important;color:#a83e3e !important;}
.bt-page .bt-app .bt-data-pill{background:#e9f0f1 !important;color:#61757c !important;}
.bt-page .bt-app .bt-data-pill.ok{background:#e5f6ee !important;color:#17724f !important;}
.bt-page .bt-app .bt-data-pill.warn{background:#fff3d9 !important;color:#96630e !important;}
.bt-page .bt-app .bt-status.info{background:#e8f7f5 !important;color:#0a6870 !important;border-color:#c4e7e4 !important;}
.bt-page .bt-app .bt-status.error{background:#fff0f0 !important;color:#9e3b3b !important;border-color:#efcaca !important;}
.bt-page .bt-app .bt-data-notice{background:#fff9e8 !important;color:#70541b !important;}
.bt-page .bt-app .bt-data-notice p{color:#80672d !important;}

/* Condition / details cards */
.bt-page .bt-app .bt-condition-card{
  background:#ffffff !important;
  color:#10242d !important;
}
.bt-page .bt-app .bt-condition-card strong,
.bt-page .bt-app .bt-detail-list dd,
.bt-page .bt-app .bt-factor-name strong,
.bt-page .bt-app .bt-factor-score{
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}
.bt-page .bt-app .bt-condition-card :where(span,small),
.bt-page .bt-app .bt-detail-list dt,
.bt-page .bt-app .bt-factor-name small,
.bt-page .bt-app .bt-explain-body>p{
  color:#647983 !important;
}

/* Retention / My Spots */
.bt-page .bt-app .bt-spot-name,
.bt-page .bt-app .bt-spot-name span,
.bt-page .bt-app .bt-dashboard-head h4,
.bt-page .bt-app .bt-stat-card strong,
.bt-page .bt-app .bt-streak-card strong{
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}
.bt-page .bt-app .bt-spot-meta,
.bt-page .bt-app .bt-stat-card span,
.bt-page .bt-app .bt-stat-card small,
.bt-page .bt-app .bt-streak-card span,
.bt-page .bt-app .bt-streak-card small{
  color:#647983 !important;
}
.bt-page .bt-app .bt-spot-score{
  background:#e9f6f2 !important;
  color:#18725a !important;
  -webkit-text-fill-color:#18725a !important;
}
.bt-page .bt-app .bt-compare-controls select{
  background:#ffffff !important;
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}

/* Gamification — keep fun zone readable */
.bt-page .bt-app .bt-game-zone,
.bt-page .bt-app .bt-game-intro,
.bt-page .bt-app .bt-lucky-card,
.bt-page .bt-app .bt-lucky-fish-card,
.bt-page .bt-app .bt-excuse-card,
.bt-page .bt-app .bt-cast-result{
  color:#10242d !important;
}
.bt-page .bt-app .bt-game-card-head h4,
.bt-page .bt-app .bt-lucky-fish-card h4,
.bt-page .bt-app .bt-cast-result strong,
.bt-page .bt-app .bt-mood-copy strong{
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}
.bt-page .bt-app .bt-game-kicker{
  color:#7957a0 !important;
  -webkit-text-fill-color:#7957a0 !important;
}
.bt-page .bt-app .bt-mood-copy p,
.bt-page .bt-app .bt-cast-result p{
  color:#556d75 !important;
}
.bt-page .bt-app .bt-cast-result small,
.bt-page .bt-app .bt-game-disclaimer{
  color:#8b7d94 !important;
}
.bt-page .bt-app .bt-lucky-reel{
  background:linear-gradient(180deg,#2c2240,#171b2a) !important;
}
.bt-page .bt-app .bt-lucky-reel span{
  background:linear-gradient(180deg,#ffffff,#f7f2fb) !important;
  color:#10242d !important;
  -webkit-text-fill-color:#10242d !important;
}
.bt-page .bt-app .bt-excuse-copy blockquote{
  color:#203f48 !important;
  -webkit-text-fill-color:#203f48 !important;
  background:transparent !important;
}
.bt-page .bt-app .bt-rarity{color:#76529c !important;}
.bt-page .bt-app .bt-rarity.gold{color:#8a6500 !important;}
.bt-page .bt-app .bt-rarity.teal{color:#16766f !important;}
.bt-page .bt-app .bt-rarity.blue{color:#426784 !important;}
.bt-page .bt-app .bt-rarity.orange{color:#995f31 !important;}
.bt-page .bt-app .bt-rarity.green{color:#587946 !important;}
.bt-page .bt-app .bt-rarity.brown{color:#7f6048 !important;}
.bt-page .bt-app .bt-rarity.slate{color:#5b6b73 !important;}

/* Charts / legends */
.bt-page .bt-app .bt-chart-note,
.bt-page .bt-app .bt-chart-legend,
.bt-page .bt-app .bt-conditions-legend,
.bt-page .bt-app .bt-tide-summary-item span,
.bt-page .bt-app .bt-tide-event small{
  color:#647983 !important;
}
.bt-page .bt-app .bt-tide-summary-item strong,
.bt-page .bt-app .bt-tide-event strong{
  color:#10242d !important;
}

/* Accessibility + selection */
.bt-page .bt-app ::selection{
  background:#bdebe7 !important;
  color:#10242d !important;
}
.bt-page .bt-app :where(button,input,select,summary,a):focus-visible{
  outline:3px solid #f2c75c !important;
  outline-offset:3px !important;
}
