
.typhoonmap-app{--tm-primary:#0067e6;--tm-accent:#f08a00;--tm-bg:#f4f8fc;--tm-card:#fff;--tm-text:#082046;--tm-muted:#5b6b80;--tm-border:#dce7f3;--tm-secondary:#eef5fc;--tm-danger:#c81e35;--tm-warning:#f59e0b;--tm-watch:#7c3aed;--tm-flood:#0ea5e9;--tm-info:#0284c7;--tm-calm:#059669;color:var(--tm-text);background:var(--tm-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;border:1px solid var(--tm-border);box-shadow:0 20px 60px rgba(8,32,70,.08);overflow:hidden}.typhoonmap-app *{box-sizing:border-box}.typhoonmap-app a{color:inherit;text-decoration:none}.tm-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--tm-border);box-shadow:0 8px 24px rgba(8,32,70,.08);backdrop-filter:blur(14px)}.tm-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px clamp(16px,3vw,32px)}.tm-brand{display:flex;align-items:center;gap:12px;min-width:0}.tm-brand-icon{width:44px;height:44px;border-radius:999px;object-fit:cover;border:1px solid var(--tm-border);background:#fff}.tm-brand-text{display:flex;flex-direction:column;gap:2px}.tm-brand-text strong{font-size:.92rem;letter-spacing:.16em;color:#061a44;font-weight:900}.tm-brand-text small{font-size:.56rem;letter-spacing:.10em;color:var(--tm-muted);font-weight:800;text-transform:uppercase}.tm-search{display:flex;align-items:center;min-width:220px;max-width:460px;flex:1;border:1px solid var(--tm-border);background:var(--tm-secondary);border-radius:14px;overflow:hidden}.tm-search input{width:100%;border:0;background:transparent;padding:11px 12px;outline:none;color:var(--tm-text);font-size:.92rem}.tm-search button,.tm-alert-btn,.tm-btn{border:0;background:var(--tm-primary);color:#fff;font-weight:800;border-radius:12px;padding:10px 15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.tm-search button{border-radius:0;padding:12px 14px}.tm-alert-btn{font-size:.8rem;white-space:nowrap}.tm-btn:hover,.tm-search button:hover,.tm-alert-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,103,230,.2)}.tm-btn-ghost{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.44);color:#fff}.tm-header-actions{display:flex;align-items:center;gap:7px}.tm-lang{border:1px solid var(--tm-border);background:#fff;color:var(--tm-text);font-weight:900;border-radius:10px;padding:8px 9px;cursor:pointer}.tm-lang.is-active{background:var(--tm-primary);color:#fff;border-color:var(--tm-primary)}.tm-menu-toggle{display:none;border:1px solid var(--tm-border);background:#fff;border-radius:10px;padding:8px 11px;font-weight:900;cursor:pointer}.tm-nav{display:flex;align-items:center;gap:0;overflow-x:auto;background:var(--tm-secondary);border-top:1px solid var(--tm-border);padding:0 clamp(16px,3vw,32px)}.tm-nav a{font-size:.72rem;font-weight:900;letter-spacing:.08em;padding:12px 14px;border-bottom:3px solid transparent;color:#243650;white-space:nowrap;text-transform:uppercase}.tm-nav a:hover,.tm-nav a.is-active{color:var(--tm-primary);border-bottom-color:var(--tm-primary);background:rgba(255,255,255,.48)}.tm-status-strip{display:flex;align-items:center;gap:10px;padding:8px clamp(16px,3vw,32px);font-size:.8rem;border-top:1px solid var(--tm-border);background:rgba(238,245,252,.75)}.tm-live-dot{background:var(--tm-calm);color:#fff;font-weight:900;border-radius:999px;padding:2px 9px;letter-spacing:.08em}.tm-status-strip strong{color:var(--tm-accent)}.tm-status-spacer{margin-left:auto}.tm-subnav{display:flex;overflow-x:auto;background:#f8fbfe;border-bottom:1px solid var(--tm-border);padding:0 clamp(16px,3vw,32px)}.tm-subnav a{padding:13px 16px;font-size:.75rem;font-weight:900;letter-spacing:.10em;color:#2b405e;border-bottom:2px solid transparent;white-space:nowrap}.tm-subnav a:hover{color:var(--tm-primary);border-bottom-color:var(--tm-primary)}.tm-main{padding:clamp(18px,3vw,32px);display:flex;flex-direction:column;gap:22px}.tm-hero{min-height:430px;border-radius:26px;overflow:hidden;background-size:cover;background-position:center;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:20px;padding:clamp(24px,5vw,56px);box-shadow:0 24px 70px rgba(8,32,70,.18);position:relative}.tm-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 18%,rgba(4,164,255,.25),transparent 34%);pointer-events:none}.tm-hero-content,.tm-hero-panel{position:relative;z-index:1}.tm-eyebrow{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.36);color:#dff2ff;border-radius:999px;padding:7px 12px;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.tm-hero h1{font-size:clamp(2.1rem,5vw,4.9rem);line-height:.98;margin:16px 0;color:#fff;letter-spacing:-.05em;max-width:900px}.tm-hero p{font-size:clamp(1rem,1.8vw,1.18rem);color:#d8e9f8;max-width:720px;margin:0 0 24px}.tm-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.tm-hero-panel{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.65);border-radius:24px;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.20)}.tm-hero-panel img{width:100%;height:auto}.tm-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.tm-mini-stats span{background:var(--tm-secondary);border:1px solid var(--tm-border);border-radius:16px;padding:14px;color:var(--tm-muted);font-size:.78rem;font-weight:800}.tm-mini-stats strong{display:block;color:var(--tm-primary);font-size:2rem;line-height:1}.tm-notice{display:flex;gap:12px;align-items:center;justify-content:space-between;border-radius:18px;padding:14px 16px;border:1px solid var(--tm-border);background:#fff}.tm-notice strong{font-weight:900}.tm-notice span{color:var(--tm-muted)}.tm-notice-calm{border-left:5px solid var(--tm-calm)}.tm-notice-warning{border-left:5px solid var(--tm-warning)}.tm-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.tm-layout-main,.tm-sidebar{display:flex;flex-direction:column;gap:22px}.tm-card{background:var(--tm-card);border:1px solid var(--tm-border);border-radius:20px;box-shadow:0 12px 36px rgba(8,32,70,.08);overflow:hidden}.tm-card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--tm-secondary);border-bottom:1px solid var(--tm-border);padding:14px 18px}.tm-card-header h2{font-size:.92rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin:0;color:#173359}.tm-card-header a,.tm-card-header span{font-size:.78rem;color:var(--tm-primary);font-weight:800}.tm-card-caption,.tm-card-footer{padding:11px 18px;border-top:1px solid var(--tm-border);color:var(--tm-muted);font-size:.82rem}.tm-map-frame{height:var(--tm-map-height,460px);min-height:320px;background:#dce7f3}.tm-map-frame iframe{width:100%;height:100%;border:0;display:block}.tm-empty-state{text-align:center;padding:38px 22px;color:var(--tm-muted)}.tm-empty-state h3{color:var(--tm-text);margin:8px 0 5px;font-size:1.15rem}.tm-empty-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:999px;background:var(--tm-secondary);display:flex;align-items:center;justify-content:center;color:var(--tm-primary);font-size:2rem;font-weight:900}.tm-storm-grid,.tm-alert-grid,.tm-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px;padding:18px}.tm-storm-card,.tm-alert-card,.tm-report-item,.tm-signal-card{border:1px solid var(--tm-border);border-radius:16px;padding:16px;background:#fff}.tm-storm-card h3,.tm-alert-card h3{font-size:1.12rem;margin:.35rem 0;color:var(--tm-text)}.tm-storm-card p,.tm-alert-card p,.tm-report-item p,.tm-signal-card p{color:var(--tm-muted);margin:.35rem 0}.tm-storm-top,.tm-alert-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.72rem;color:var(--tm-muted)}.tm-storm-badge,.tm-alert-top span{display:inline-flex;background:rgba(0,103,230,.10);color:var(--tm-primary);border-radius:999px;padding:4px 9px;font-weight:900;text-transform:uppercase}.tm-data-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0}.tm-data-list div{background:var(--tm-secondary);border-radius:12px;padding:10px}.tm-data-list dt{color:var(--tm-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.tm-data-list dd{margin:3px 0 0;font-weight:900;color:var(--tm-text);font-size:.9rem}.tm-muted{color:var(--tm-muted);margin:0}.tm-link{display:inline-flex;margin-top:10px;color:var(--tm-primary)!important;font-weight:900}.tm-side-card{font-size:.92rem}.tm-side-card>.tm-muted,.tm-side-card>.tm-link{padding:16px 18px}.tm-side-card .tm-storm-card{border:0;border-radius:0}.tm-alert-list{display:flex;flex-direction:column;gap:12px;padding:14px}.tm-alert-card{border-left:5px solid var(--tm-info)}.tm-alert-card.is-mini{padding:13px}.tm-sev-calm{border-left-color:var(--tm-calm)}.tm-sev-info{border-left-color:var(--tm-info)}.tm-sev-watch{border-left-color:var(--tm-watch)}.tm-sev-warning{border-left-color:var(--tm-warning)}.tm-sev-danger,.tm-sev-extreme{border-left-color:var(--tm-danger)}.tm-sev-flood{border-left-color:var(--tm-flood)}.tm-safety-list{list-style:none;margin:0;padding:0}.tm-safety-list li{display:flex;gap:11px;align-items:flex-start;padding:14px 18px;border-bottom:1px solid var(--tm-border);color:#193250}.tm-safety-list li:last-child{border-bottom:0}.tm-safety-list span{width:22px;height:22px;flex:0 0 22px;border-radius:999px;background:rgba(0,103,230,.12);color:var(--tm-primary);display:flex;align-items:center;justify-content:center;font-weight:900}.tm-quick-links{display:flex;flex-direction:column}.tm-quick-links a{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--tm-border);font-weight:800;color:#1c385a}.tm-quick-links a:hover{background:var(--tm-secondary);color:var(--tm-primary)}.tm-page-title{background:linear-gradient(135deg,#031b44,#064a8b);color:#fff;border-radius:24px;padding:clamp(24px,4vw,44px);box-shadow:0 16px 48px rgba(8,32,70,.15)}.tm-page-title span{display:inline-block;color:#bfe8ff;text-transform:uppercase;font-weight:900;letter-spacing:.12em;font-size:.78rem}.tm-page-title h1{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:8px 0 10px}.tm-page-title p{max-width:760px;color:#dbeeff;font-size:1.08rem;margin:0}.tm-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}.tm-tool-grid a{background:var(--tm-secondary);border:1px solid var(--tm-border);border-radius:14px;padding:14px;text-align:center;font-weight:900;color:var(--tm-primary)}.tm-signal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;padding:18px}.tm-signal-card{border-top:5px solid var(--tm-info)}.tm-signal-2{border-top-color:var(--tm-watch)}.tm-signal-3{border-top-color:var(--tm-warning)}.tm-signal-4,.tm-signal-5{border-top-color:var(--tm-danger)}.tm-signal-card strong{display:block;font-size:1rem;margin-bottom:6px}.tm-form-card{max-width:760px;margin:0 auto;width:100%}.tm-form{padding:20px;display:grid;gap:14px}.tm-form label{display:grid;gap:6px;font-weight:900;color:#183455}.tm-form input,.tm-form select,.tm-form textarea{width:100%;border:1px solid var(--tm-border);border-radius:14px;padding:12px 13px;background:#fff;color:var(--tm-text);font:inherit}.tm-form textarea{resize:vertical}.tm-form-notice{margin:18px 20px 0;border-left:5px solid var(--tm-calm);background:#ecfdf5;border-radius:12px;padding:12px 14px;font-weight:800;color:#064e3b}.tm-about-hero{text-align:center;background:#fff;border:1px solid var(--tm-border);border-radius:24px;padding:clamp(24px,5vw,56px);box-shadow:0 12px 36px rgba(8,32,70,.08)}.tm-about-hero img{display:block;margin:0 auto 18px;max-width:760px;width:100%;height:auto}.tm-about-hero h1{font-size:clamp(1.8rem,4vw,3.4rem);line-height:1.05;margin:0 auto 14px;max-width:860px}.tm-about-hero p{color:var(--tm-muted);font-size:1.08rem;max-width:760px;margin:0 auto}.tm-footer{background:#fff;border-top:1px solid var(--tm-border)}.tm-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px;padding:26px clamp(16px,3vw,32px)}.tm-footer-logo{max-width:340px;width:100%;height:auto}.tm-footer p{color:var(--tm-muted)}.tm-footer nav,.tm-footer-grid>div:last-child{display:flex;flex-direction:column;gap:8px}.tm-footer h3{margin:0 0 4px;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.tm-footer a{color:var(--tm-primary);font-weight:800}.tm-footer-note{background:var(--tm-secondary);border-top:1px solid var(--tm-border);padding:16px clamp(16px,3vw,32px);font-size:.78rem;color:var(--tm-muted)}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}@media(max-width:980px){.tm-topbar{flex-wrap:wrap}.tm-search{order:3;max-width:none;flex-basis:100%}.tm-menu-toggle{display:inline-flex}.tm-nav{display:none;flex-direction:column;align-items:stretch;padding:0}.tm-nav.is-open{display:flex}.tm-nav a{border-bottom:1px solid var(--tm-border)}.tm-hero{grid-template-columns:1fr}.tm-layout{grid-template-columns:1fr}.tm-sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.tm-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.typhoonmap-app{border-left:0;border-right:0}.tm-brand-text small{display:none}.tm-brand-text strong{font-size:.78rem}.tm-alert-btn{display:none}.tm-main{padding:14px}.tm-hero{padding:24px;min-height:360px;border-radius:20px}.tm-hero h1{font-size:2.15rem}.tm-hero-panel{padding:16px}.tm-mini-stats,.tm-data-list{grid-template-columns:1fr}.tm-sidebar{display:flex}.tm-storm-grid,.tm-alert-grid,.tm-guide-grid,.tm-signal-grid{grid-template-columns:1fr;padding:14px}.tm-footer-grid{grid-template-columns:1fr}.tm-page-title{border-radius:20px}.tm-page-title h1{font-size:2rem}}

/* TyphoonMap Tracker v2 data-map and feed-sync polish */
.tm-data-map-card { margin-top: var(--tm-space, 1rem); }
.tm-leaflet-wrap { height: var(--tm-leaflet-height, 380px); min-height: 260px; background: #dbeafe; position: relative; overflow: hidden; }
.tm-leaflet-map { height: 100%; width: 100%; z-index: 1; }
.tm-storm-marker { background: transparent; border: 0; }
.tm-storm-marker-core { width: 18px; height: 18px; border-radius: 999px; background: var(--tm-accent, #f08a00); border: 3px solid #fff; box-shadow: 0 0 0 4px rgba(240,138,0,.28), 0 8px 22px rgba(2,8,23,.3); position: relative; }
.tm-storm-marker-core:after { content: ''; position: absolute; inset: -9px; border-radius: inherit; border: 1px solid rgba(240,138,0,.45); animation: tm-pulse 1.8s infinite; }
@keyframes tm-pulse { 0% { transform: scale(.7); opacity: .8; } 100% { transform: scale(1.9); opacity: 0; } }
.tm-map-popup { min-width: 210px; }
.tm-map-popup strong { display: block; color: #011a3f; margin-bottom: 4px; }
.tm-map-popup span { display: block; font-size: 12px; color: #475569; }
.tm-map-popup a { color: var(--tm-primary, #0067e6); font-weight: 700; text-decoration: none; }
.tm-empty-compact { padding: 1.5rem; }
.tm-card-source { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid rgba(15,23,42,.08); font-size: .78rem; color: #64748b; }
.typhoonmap-admin code { background: #fff; border: 1px solid #dcdcde; padding: 2px 6px; border-radius: 4px; }

/* Version 3: official sources + track overlays */
.tm-official-card .tm-source-list{display:flex;flex-direction:column;gap:.55rem;padding:var(--tm-gutter,1rem)}
.tm-source-list-expanded{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}
.tm-source-link{display:block;border:1px solid var(--tm-border,#d8e2ef);border-radius:14px;padding:.8rem .9rem;background:linear-gradient(180deg,#fff,#f6f9fd);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.tm-source-link:hover{transform:translateY(-1px);border-color:var(--tm-primary,#0067e6);box-shadow:0 8px 22px rgba(2,35,84,.08)}
.tm-source-link strong{display:block;color:var(--tm-primary,#0067e6);font-size:.85rem;letter-spacing:.02em}
.tm-source-link span{display:block;margin-top:.25rem;color:var(--tm-muted,#667085);font-size:.74rem;line-height:1.35}
.tm-map-popup span{display:block;margin-top:.2rem}
.tm-track-point-dot{width:10px;height:10px;border-radius:999px;background:var(--tm-primary,#0067e6);border:2px solid #fff;box-shadow:0 0 0 2px rgba(0,103,230,.25)}
.tm-track-point-dot.is-forecast{background:var(--tm-accent,#f08a00);box-shadow:0 0 0 2px rgba(240,138,0,.25)}
.tm-leaflet-wrap .leaflet-popup-content{font-size:12px;line-height:1.45}
.tm-leaflet-wrap .leaflet-popup-content strong{font-size:13px;color:#08224a}
.tm-leaflet-wrap .leaflet-popup-content a{color:var(--tm-primary,#0067e6);font-weight:700}


/* Version 3.1: cleaner single-map page layout */
.tm-map-cta-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:linear-gradient(135deg,#ffffff,#f3f8ff);border-left:5px solid var(--tm-primary,#0067e6)}
.tm-map-cta-card h2{margin:.25rem 0 .35rem;color:var(--tm-text,#082046);font-size:1.05rem;line-height:1.25;font-weight:900}
.tm-map-cta-card p{margin:0;color:var(--tm-muted,#5b6b80);max-width:760px}
.tm-eyebrow-light{display:inline-block;color:var(--tm-primary,#0067e6);font-weight:900;text-transform:uppercase;letter-spacing:.10em;font-size:.72rem}
.tm-map-cta-card .tm-btn strong{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;border-radius:999px;background:#fff;color:var(--tm-primary,#0067e6);font-size:.78rem;margin-left:.25rem}
.tm-compact-map-card .tm-muted{display:block;padding:16px 18px 4px!important}
.tm-compact-map-card .tm-link{padding:0 18px 16px!important;margin-top:0}
@media(max-width:760px){.tm-map-cta-card{align-items:flex-start;flex-direction:column}.tm-map-cta-card .tm-btn{width:100%}}


/* Version 4: trust badges, storm detail pages, and regional SEO landing pages */
.tm-storm-card h3 a{color:inherit;text-decoration:none}.tm-storm-card h3 a:hover{color:var(--tm-primary,#0067e6)}
.tm-card-action{display:inline-flex;margin-top:.8rem;font-size:.82rem;font-weight:900;color:var(--tm-primary,#0067e6);text-decoration:none}.tm-card-action:hover{text-decoration:underline}
.tm-source-confidence{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.55rem 0 .75rem;padding:.55rem .7rem;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;font-size:.78rem;font-weight:900;color:#0f274d}.tm-source-confidence small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.tm-source-confidence.has-source{border-color:rgba(0,103,230,.18);background:linear-gradient(135deg,#eef6ff,#fff)}.tm-source-confidence.no-source{border-color:rgba(240,138,0,.22);background:linear-gradient(135deg,#fff7ed,#fff)}
.tm-detail-title{background:linear-gradient(135deg,#062653,#014b8f)!important;color:#fff}.tm-detail-title span,.tm-detail-title p{color:rgba(255,255,255,.82)!important}.tm-detail-title h1{color:#fff!important}.tm-detail-card{overflow:hidden}.tm-detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:var(--tm-gutter,1rem);margin:0}.tm-detail-facts div{background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:.8rem}.tm-detail-facts dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:900}.tm-detail-facts dd{margin:.2rem 0 0;color:#082046;font-weight:900}.tm-detail-body{padding:0 var(--tm-gutter,1rem) var(--tm-gutter,1rem);color:#334155;line-height:1.7}.tm-btn-full{width:100%;justify-content:center;margin-top:.85rem}.tm-tight-list li{padding:.65rem var(--tm-gutter,1rem)}.tm-tight-list li span{font-size:.72rem;background:var(--tm-primary,#0067e6);color:#fff;width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;margin-right:.15rem}
.tm-region-title:not(.tm-page-title-image){background:linear-gradient(135deg,#eaf4ff,#ffffff)!important;border-left:6px solid var(--tm-primary,#0067e6)}.tm-region-title.tm-page-title-image{border-left:0}.tm-region-copy{overflow:hidden}.tm-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:var(--tm-gutter,1rem)}.tm-copy-grid p{margin:0;color:#334155;line-height:1.7;font-size:.96rem}.tm-alert-card .tm-source-confidence{margin-top:.65rem}@media(max-width:760px){.tm-copy-grid{grid-template-columns:1fr}.tm-detail-facts{grid-template-columns:1fr}.tm-source-confidence{align-items:flex-start;flex-direction:column}}

/* v4.1: readable location labels and visible regional navigation polish */
.tm-data-list{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
.tm-data-list .tm-data-location{grid-column:span 2}
.tm-data-list .tm-data-location dd{line-height:1.25;font-size:.86rem}
.tm-map-popup span{display:block;margin-top:4px}
.tm-nav a[href*="asia-pacific-typhoon-map"],.tm-nav a[href*="pagasa-signal-guide"]{color:var(--tm-primary)}
.tm-region-title:not(.tm-page-title-image){background:linear-gradient(135deg,#f8fbff,#ffffff);color:var(--tm-text);border:1px solid var(--tm-border);box-shadow:0 12px 36px rgba(8,32,70,.08)}
.tm-region-title:not(.tm-page-title-image) span{color:#8ab6d9}.tm-region-title:not(.tm-page-title-image) p{color:var(--tm-muted)}
@media(max-width:640px){.tm-data-list .tm-data-location{grid-column:auto}.tm-nav a{font-size:.68rem;padding:11px 12px}}

/* Version 5: homepage trust polish, stronger storm detail pages, regional SEO content */
.tm-btn-secondary{background:#063b78;color:#fff}.tm-btn-soft{background:#eaf4ff;color:var(--tm-primary,#0067e6);border:1px solid rgba(0,103,230,.18)}
.tm-hero-v5 h1{max-width:940px;font-size:clamp(2.05rem,4.4vw,4.35rem);line-height:1.02;letter-spacing:-.045em}.tm-hero-v5 p{font-weight:800;font-size:clamp(1.05rem,1.75vw,1.35rem);color:#eaf6ff}.tm-hero-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tm-hero-trust-row span{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.12);color:#eff9ff;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:900;letter-spacing:.03em}.tm-hero-panel-v5{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.tm-hero-actions-v5{margin-top:16px;display:grid;grid-template-columns:1fr;gap:10px}.tm-hero-actions-v5 .tm-btn{width:100%}
.tm-source-status-strip{display:grid;grid-template-columns:1.05fr 1fr 1.55fr auto;gap:12px;align-items:stretch;background:#fff;border:1px solid var(--tm-border,#dce7f3);border-radius:20px;box-shadow:0 12px 36px rgba(8,32,70,.07);padding:14px}.tm-source-status-strip div{background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid rgba(15,23,42,.06);border-radius:15px;padding:12px}.tm-source-status-strip strong{display:block;color:#082046;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.tm-source-status-strip span{display:block;color:#5b6b80;font-size:.86rem;margin-top:3px;line-height:1.35}.tm-source-status-strip a{display:flex;align-items:center;justify-content:center;background:var(--tm-primary,#0067e6);color:#fff;border-radius:15px;padding:12px 14px;font-weight:900;white-space:nowrap}
.tm-featured-regions .tm-region-pill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:16px}.tm-region-pill{display:block;border:1px solid var(--tm-border,#dce7f3);background:linear-gradient(135deg,#fff,#f4f9ff);border-radius:16px;padding:14px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.tm-region-pill:hover{transform:translateY(-2px);border-color:var(--tm-primary,#0067e6);box-shadow:0 12px 28px rgba(8,32,70,.10)}.tm-region-pill strong{display:block;color:#082046;font-size:1rem}.tm-region-pill span{display:block;color:#5b6b80;font-size:.82rem;line-height:1.4;margin-top:4px}
.tm-empty-state-v5 .tm-empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}.tm-detail-title-v5 .tm-detail-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-top:20px}.tm-detail-kpis div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:12px}.tm-detail-kpis small{display:block;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.72);font-weight:900;font-size:.68rem}.tm-detail-kpis strong{display:block;margin-top:3px;color:#fff;font-size:1rem;line-height:1.2}.tm-track-timeline{list-style:none;margin:0;padding:14px 18px;display:flex;flex-direction:column;gap:10px}.tm-track-timeline li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(15,23,42,.07);border-radius:14px;background:#f8fbff;padding:10px}.tm-track-dot{width:12px;height:12px;border-radius:999px;background:var(--tm-primary,#0067e6);box-shadow:0 0 0 4px rgba(0,103,230,.12)}.tm-track-dot.is-forecast{background:var(--tm-accent,#f08a00);box-shadow:0 0 0 4px rgba(240,138,0,.13)}.tm-track-timeline strong{display:block;color:#082046}.tm-track-timeline small{display:block;color:#5b6b80;font-size:.78rem}.tm-track-timeline code{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:10px;padding:6px 8px;color:#334155;font-weight:800}
.tm-region-copy-v5 .tm-focus-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 var(--tm-gutter,1rem) var(--tm-gutter,1rem)}.tm-focus-list span{background:#eaf4ff;color:var(--tm-primary,#0067e6);border:1px solid rgba(0,103,230,.13);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:900}.tm-checklist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:0;padding:16px;list-style:none}.tm-checklist-grid li{display:flex;gap:10px;align-items:flex-start;background:#f8fbff;border:1px solid rgba(15,23,42,.07);border-radius:15px;padding:13px;color:#243650;font-weight:700}.tm-checklist-grid span{width:24px;height:24px;flex:0 0 24px;border-radius:999px;background:var(--tm-primary,#0067e6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:900}.tm-faq-list{padding:16px;display:flex;flex-direction:column;gap:10px}.tm-faq-list details{border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff;overflow:hidden}.tm-faq-list summary{cursor:pointer;padding:13px 14px;font-weight:900;color:#082046}.tm-faq-list p{margin:0;padding:0 14px 14px;color:#5b6b80;line-height:1.65}.tm-region-safety{overflow:hidden}
@media(max-width:980px){.tm-source-status-strip{grid-template-columns:1fr}.tm-source-status-strip a{width:100%}.tm-hero-panel-v5{align-self:auto}.tm-track-timeline li{grid-template-columns:18px minmax(0,1fr)}}@media(max-width:640px){.tm-hero-v5 h1{font-size:2.05rem}.tm-hero-trust-row span{font-size:.7rem}.tm-detail-kpis{grid-template-columns:1fr}.tm-track-timeline code{grid-column:2;justify-self:start}.tm-empty-state-v5 .tm-btn{width:100%}}

/* v5.2 alert signup / subscriber verification */
.tm-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}
.tm-region-fieldset{border:1px solid var(--tm-border,#d7e2ee);border-radius:14px;padding:14px;margin:8px 0 4px;background:rgba(255,255,255,.72);}
.tm-region-fieldset legend{font-weight:800;font-size:.88rem;color:var(--tm-ink,#0f243d);padding:0 6px;}
.tm-region-fieldset label{display:inline-flex!important;align-items:center;gap:7px;margin:6px 12px 6px 0;font-weight:650;}
.tm-region-fieldset input{width:auto!important;}
.tm-signup-trust{border:1px solid rgba(0,103,230,.18);background:rgba(0,103,230,.06);color:#123452;border-radius:14px;padding:12px 14px;margin:0 0 14px!important;}
.tm-consent-line{font-size:.82rem;line-height:1.55;color:var(--tm-muted,#64748b);margin:6px 0 12px!important;}

/* v5.4 Remixer-style alert signup region picker */
.tm-alert-signup-main{align-items:center;}
.tm-alert-signup-title{max-width:760px;width:100%;margin:0 auto;background:linear-gradient(135deg,#f8fbff,#ffffff);color:var(--tm-text,#082046);border:1px solid var(--tm-border,#dce7f3);border-left:6px solid var(--tm-primary,#0067e6);box-shadow:0 14px 44px rgba(8,32,70,.08);}
.tm-alert-signup-title span{color:#8ab6d9;}
.tm-alert-signup-title p{color:var(--tm-muted,#5b6b80);}
.tm-alert-signup-card{max-width:760px;border-top:5px solid rgba(0,103,230,.42);box-shadow:0 18px 54px rgba(8,32,70,.10);}
.tm-alert-signup-form{padding:28px;}
.tm-alert-signup-form>label{font-size:.95rem;}
.tm-alert-signup-form input[type=email]{border-radius:8px;background:#fff;}
.tm-region-picker{border:0!important;padding:0!important;background:transparent!important;margin:4px 0 0!important;}
.tm-region-picker legend{font-size:1rem!important;letter-spacing:0!important;text-transform:none!important;color:#111827!important;padding:0!important;margin:0 0 2px!important;}
.tm-region-help{margin:0 0 12px!important;color:#5b6b80;font-size:.9rem;}
.tm-region-row,.tm-region-accordion{display:block;border:1px solid var(--tm-border,#dce7f3);border-bottom:0;background:#fff;overflow:hidden;}
.tm-region-row:first-of-type,.tm-region-accordion:first-of-type{border-radius:12px 12px 0 0;}
.tm-region-row:last-child,.tm-region-accordion:last-child{border-bottom:1px solid var(--tm-border,#dce7f3);border-radius:0 0 12px 12px;}
.tm-region-row{padding:12px 16px!important;margin:0!important;font-weight:800!important;}
.tm-region-row input,.tm-region-accordion input,.tm-region-subaccordion input,.tm-consent-check input{width:auto!important;min-width:16px;}
.tm-region-row span,.tm-region-accordion summary span{font-weight:800;color:#132d4d;}
.tm-region-accordion summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:12px 16px;background:#fff;}
.tm-region-accordion summary::-webkit-details-marker,.tm-region-subaccordion summary::-webkit-details-marker{display:none;}
.tm-region-accordion summary:after{content:'⌄';font-size:1.15rem;color:#64748b;transition:transform .15s ease;}
.tm-region-accordion[open]>summary:after{transform:rotate(180deg);}
.tm-region-accordion summary label{display:inline-flex!important;align-items:center;gap:10px;margin:0!important;font-weight:800!important;cursor:pointer;}
.tm-region-panel{border-top:1px solid var(--tm-border,#dce7f3);background:#f8fbff;padding:10px;max-height:330px;overflow-y:auto;}
.tm-region-panel-title{margin:0 0 10px!important;color:#5b6b80;font-size:.78rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase;}
.tm-region-subaccordion{border:1px solid #dce7f3;background:#fff;border-radius:10px;margin:7px 0;overflow:hidden;}
.tm-region-subaccordion summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:.9rem;font-weight:900;color:#132d4d;background:#fff;}
.tm-region-subaccordion summary:after{content:'⌄';color:#64748b;transition:transform .15s ease;}
.tm-region-subaccordion[open]>summary:after{transform:rotate(180deg);}
.tm-region-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:6px;border-top:1px solid #e6eef8;padding:10px;background:#fcfdff;}
.tm-region-check-grid label{display:inline-flex!important;align-items:center;gap:8px;border:1px solid #e2eaf4;background:#fff;border-radius:9px;padding:8px 9px;margin:0!important;font-weight:700!important;color:#253b57;}
.tm-consent-check{display:flex!important;align-items:flex-start!important;grid-template-columns:none!important;gap:10px!important;font-weight:600!important;color:#334155!important;font-size:.88rem;line-height:1.5;}
.tm-consent-check span{display:block;}
.tm-signup-submit{width:100%;border-radius:8px!important;padding:13px 16px!important;}
.tm-browser-notice{display:flex;gap:14px;margin:0 28px 28px;padding:18px;border:1px solid #d5e3f4;background:#eef5ff;border-radius:12px;color:#17375f;}
.tm-browser-notice>span{font-size:1.2rem;line-height:1;}
.tm-browser-notice strong{display:block;color:#0a4fae;margin-bottom:5px;}
.tm-browser-notice p{margin:0 0 12px;color:#41617f;font-size:.92rem;}
.tm-browser-notice .tm-btn{font-size:.82rem;padding:9px 12px!important;opacity:.78;cursor:not-allowed;}
@media(max-width:720px){.tm-alert-signup-form{padding:18px}.tm-browser-notice{margin:0 18px 18px}.tm-region-panel{max-height:360px}.tm-region-check-grid{grid-template-columns:1fr}.tm-region-accordion summary{padding:12px}.tm-alert-signup-title{border-radius:20px}}


/* v5.5 alert signup: remove separate hero and move Remixer-style intro into card */
.tm-alert-signup-main{align-items:center;padding-top:clamp(18px,3vw,34px);}
.tm-alert-signup-title{display:none!important;}
.tm-alert-signup-card{max-width:760px;width:100%;border-top:4px solid rgba(0,103,230,.34);border-radius:16px;box-shadow:0 16px 46px rgba(8,32,70,.10);}
.tm-signup-intro{margin:0 0 18px;padding:0;border:0;background:transparent;}
.tm-signup-intro span{display:block;margin:0 0 10px;color:#6e99bd;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;line-height:1.1;}
.tm-signup-intro h1{margin:0 0 8px;color:#0b2b55;font-size:1.42rem;line-height:1.14;font-weight:900;letter-spacing:-.02em;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.tm-signup-intro p{margin:0;color:#334155;font-size:.95rem;line-height:1.55;max-width:610px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.tm-alert-signup-form{padding:26px 28px 28px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.tm-alert-signup-form>label{display:block;color:#111827;font-size:.86rem;font-weight:850;margin:0 0 16px;letter-spacing:0;}
.tm-alert-signup-form input[type=email]{margin-top:7px;border:1px solid #d5dfec;border-radius:7px;background:#fff;color:#0f172a;font-size:.92rem;padding:11px 12px;}
.tm-signup-trust{font-size:.86rem;line-height:1.45;margin:0 0 15px!important;}
.tm-region-picker legend{font-size:.92rem!important;font-weight:900!important;}
.tm-region-help{font-size:.84rem!important;margin-bottom:11px!important;}
.tm-region-row{padding:11px 14px!important;font-size:.9rem;}
.tm-region-accordion summary{padding:11px 14px;font-size:.9rem;}
.tm-region-panel-title{font-size:.72rem;}
.tm-region-subaccordion summary{font-size:.84rem;padding:9px 11px;}
.tm-region-check-grid label{font-size:.83rem;padding:7px 8px;}
.tm-consent-check{font-size:.82rem!important;}
@media(max-width:720px){.tm-alert-signup-form{padding:20px}.tm-signup-intro h1{font-size:1.28rem}.tm-signup-intro p{font-size:.9rem}}

/* v5.7 inner-page hero image backgrounds */
.tm-page-title-image{position:relative;overflow:hidden;background-size:cover;background-position:center right;background-repeat:no-repeat;min-height:220px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 54px rgba(8,32,70,.18);}
.tm-page-title-image:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 18%,rgba(56,189,248,.22),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.08));pointer-events:none;}
.tm-page-title-image>*{position:relative;z-index:1;}
.tm-page-title-image span{color:#ccecff;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.tm-page-title-image h1{color:#ffffff;text-shadow:0 4px 22px rgba(0,0,0,.50);max-width:880px;}
.tm-page-title-image p{color:#e6f4ff;text-shadow:0 2px 14px rgba(0,0,0,.40);max-width:780px;font-weight:650;}
@media(max-width:720px){.tm-page-title-image{min-height:190px;background-position:center right;padding:24px 20px}.tm-page-title-image h1{font-size:2rem}.tm-page-title-image p{font-size:.95rem}}

/* v5.7.1 fix: keep regional/Storm Surge heroes using the configured image instead of the old light regional background */
.tm-region-title.tm-page-title-image{background-size:cover!important;background-position:center right!important;color:#fff!important;}
.tm-region-title.tm-page-title-image span{color:#d7f3ff!important;text-shadow:0 2px 14px rgba(0,0,0,.55)!important;}
.tm-region-title.tm-page-title-image h1{color:#fff!important;text-shadow:0 5px 28px rgba(0,0,0,.68)!important;}
.tm-region-title.tm-page-title-image p{color:#edf8ff!important;text-shadow:0 3px 18px rgba(0,0,0,.62)!important;}
/* v5.8 storm map source-timing clarity */
.tm-map-popup span:nth-last-child(-n+2) { color: #334155; }
.tm-card-caption strong { color: #0f172a; }

/* v5.8.1 Signal Map sidebar cleanup */
.tm-pagasa-signal-side .tm-card-header h2{color:#0b4aa2;letter-spacing:.08em}.tm-pagasa-signal-list{display:flex;flex-direction:column}.tm-pagasa-signal-row{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--tm-border);background:#fff}.tm-pagasa-signal-row:last-child{border-bottom:0}.tm-pagasa-color-bar{width:5px;min-width:5px;height:14px;border-radius:999px;margin-top:4px;background:#7dbbea}.tm-pagasa-signal-row strong{display:block;font-size:.94rem;line-height:1.1;color:#111827;font-weight:900}.tm-pagasa-signal-row p{margin:4px 0 0;color:#5f6c7b;font-size:.82rem;line-height:1.25}.tm-pagasa-signal-calm .tm-pagasa-color-bar{background:#7dbbea}.tm-pagasa-signal-info .tm-pagasa-color-bar{background:#16b6c6}.tm-pagasa-signal-warning .tm-pagasa-color-bar{background:#f59e0b}.tm-pagasa-signal-danger .tm-pagasa-color-bar{background:#ef4444}.tm-sidebar-alert-signup{border-color:var(--tm-primary);padding:18px;background:#fff}.tm-sidebar-alert-signup h2{font-size:1.05rem;line-height:1.25;margin:0 0 9px;color:#111827;font-weight:900}.tm-sidebar-alert-signup p{font-size:.94rem;line-height:1.45;color:#516071;margin:0 0 15px}.tm-sidebar-alert-signup .tm-signup-free-btn{border-radius:7px;padding:11px 16px;font-size:.9rem;box-shadow:none}.tm-sidebar-alert-signup .tm-signup-free-btn svg{width:15px;height:15px}.tm-compact-map-card .tm-muted{padding-bottom:0}.tm-compact-map-card .tm-link{padding-top:0}

/* v5.9 true Signal Map layout */
.tm-signal-map-card .tm-card-header span{font-size:.78rem;color:var(--tm-primary);font-weight:900}.tm-signal-map-wrap{position:relative;background:#dce7f3;min-height:560px}.tm-signal-leaflet{height:560px;width:100%;z-index:1}.tm-signal-map-fallback{position:absolute;left:18px;bottom:18px;z-index:2;background:rgba(255,255,255,.92);border:1px solid var(--tm-border);border-radius:12px;padding:10px 12px;box-shadow:0 10px 26px rgba(8,32,70,.14);display:flex;flex-direction:column;gap:2px;font-size:.82rem;color:#334155}.tm-signal-map-fallback strong{color:#0f2e57}.tm-province-signal-card{overflow:hidden}.tm-signal-warning-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#eaf3ff;border-bottom:1px solid var(--tm-border);padding:14px 18px}.tm-signal-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:#334155}.tm-signal-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #d6e2ef;background:#fff;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:900;color:#334155;line-height:1}.tm-signal-chip i{width:8px;height:8px;border-radius:999px;background:#94a3b8;display:inline-block}.tm-signal-chip small{font-weight:800;color:#64748b}.tm-signal-chip-5{background:#f4d8ff;border-color:#e9b8fa}.tm-signal-chip-5 i{background:#c026d3}.tm-signal-chip-4{background:#fee2e2;border-color:#fecaca}.tm-signal-chip-4 i{background:#ef4444}.tm-signal-chip-3{background:#ffedd5;border-color:#fed7aa}.tm-signal-chip-3 i{background:#f59e0b}.tm-signal-chip-2{background:#fce7f3;border-color:#fbcfe8}.tm-signal-chip-2 i{background:#db2777}.tm-signal-chip-1{background:#e0f2fe;border-color:#bae6fd}.tm-signal-chip-1 i{background:#7dbbea}.tm-signal-chip-0 i{background:#94a3b8}.tm-province-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:#f8fbff;border-bottom:1px solid var(--tm-border)}.tm-province-table-toolbar h2{margin:0;font-size:1rem;color:#0a4fae;font-weight:900}.tm-province-table-toolbar input{border:1px solid #d5dfec;border-radius:8px;padding:10px 12px;min-width:240px;color:#0f172a;background:#fff}.tm-province-signal-table{background:#fff}.tm-province-table-head,.tm-province-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.75fr) minmax(115px,.55fr) minmax(190px,1fr);align-items:center}.tm-province-table-head{background:#eaf3ff;color:#475569;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;padding:12px 16px;border-bottom:1px solid var(--tm-border)}.tm-province-group{border-bottom:1px solid var(--tm-border)}.tm-province-group summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;background:#f4f8fc;padding:13px 16px;color:#0b4aa2;text-transform:uppercase;letter-spacing:.08em}.tm-province-group summary::-webkit-details-marker{display:none}.tm-province-group summary:before{content:'›';font-size:1.15rem;color:#64748b;transition:transform .15s ease}.tm-province-group[open] summary:before{transform:rotate(90deg)}.tm-province-group summary strong{font-size:.86rem;font-weight:900}.tm-province-group summary span{font-size:.74rem;color:#64748b;text-transform:none;letter-spacing:0}.tm-province-row{width:100%;border:0;border-bottom:1px solid #edf2f7;background:#fff;text-align:left;padding:12px 16px;cursor:pointer;color:#17243a;font:inherit}.tm-province-row:nth-child(even){background:#f8fbff}.tm-province-row:hover{background:#eef6ff}.tm-province-name{font-weight:900;color:#111827}.tm-signal-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #dbe4ef;background:#fff;color:#475569;padding:4px 9px;font-size:.72rem;font-weight:900;white-space:nowrap}.tm-signal-badge-5{background:#f4d8ff;border-color:#e9b8fa;color:#86198f}.tm-signal-badge-4{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.tm-signal-badge-3{background:#ffedd5;border-color:#fed7aa;color:#9a3412}.tm-signal-badge-2{background:#fce7f3;border-color:#fbcfe8;color:#9d174d}.tm-signal-badge-1{background:#e0f2fe;border-color:#bae6fd;color:#075985}.tm-signal-badge-0{background:#fff;color:#475569}.tm-signal-region-selector{padding:18px;border-top:1px solid var(--tm-border);background:#f8fbff}.tm-signal-region-selector h3{margin:0 0 4px;font-size:1rem;color:#0b2b55;font-weight:900}.tm-signal-region-selector p{margin:0 0 12px;color:#64748b;font-size:.86rem}.tm-signal-subaccordion{margin:8px 0!important}.tm-signal-area-grid span{display:block;border:1px solid #e2eaf4;background:#fff;border-radius:9px;padding:8px 9px;font-size:.83rem;font-weight:700;color:#253b57}.tm-map-popup p{margin:8px 0 0!important;color:#64748b;font-size:.82rem}.tm-map-popup span{display:block;margin-top:4px}@media(max-width:960px){.tm-signal-map-wrap,.tm-signal-leaflet{min-height:430px;height:430px}.tm-province-table-head{display:none}.tm-province-row{grid-template-columns:1fr;gap:6px}.tm-province-row span:not(.tm-province-name):before{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:900}.tm-province-row span:nth-child(2):before{content:'Signal'}.tm-province-row span:nth-child(3):before{content:'Population'}.tm-province-row span:nth-child(4):before{content:'Nearest Storm'}.tm-province-table-toolbar{align-items:stretch;flex-direction:column}.tm-province-table-toolbar input{min-width:0;width:100%}}@media(max-width:720px){.tm-signal-map-wrap,.tm-signal-leaflet{min-height:360px;height:360px}.tm-signal-warning-strip{padding:12px}.tm-signal-chip{font-size:.72rem}.tm-signal-chip small{display:none}}


/* v5.9.1 Signal Map corrections: restore warning guide, collapse groups, compact text, remove duplicate browse area spacing */
.typhoonmap-app .tm-layout-main > .tm-card + .tm-card{margin-top:0;}
.typhoonmap-app .tm-signal-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:18px;background:#fff;}
.typhoonmap-app .tm-signal-card{padding:16px 16px 18px;border-radius:14px;border:1px solid var(--tm-border);border-top-width:5px;background:#fff;box-shadow:none;}
.typhoonmap-app .tm-signal-card strong{font-size:.92rem;line-height:1.15;margin-bottom:7px;color:#0b2344;font-weight:900;}
.typhoonmap-app .tm-signal-card p{font-size:.82rem;line-height:1.45;color:#536277;margin:0;}
.typhoonmap-app .tm-province-table-toolbar{padding:12px 14px;}
.typhoonmap-app .tm-province-table-toolbar h2{font-size:.9rem;letter-spacing:.02em;}
.typhoonmap-app .tm-province-table-toolbar input{padding:7px 10px;min-width:210px;font-size:.78rem;}
.typhoonmap-app .tm-province-table-head{font-size:.62rem;padding:9px 12px;}
.typhoonmap-app .tm-province-group summary{padding:9px 12px;}
.typhoonmap-app .tm-province-group summary strong{font-size:.74rem;}
.typhoonmap-app .tm-province-group summary span{font-size:.66rem;}
.typhoonmap-app .tm-province-row{padding:9px 12px;font-size:.78rem;line-height:1.25;}
.typhoonmap-app .tm-province-name{font-size:.79rem;}
.typhoonmap-app .tm-signal-badge{font-size:.64rem;padding:3px 8px;}
.typhoonmap-app .tm-signal-warning-strip{padding:10px 12px;gap:7px;}
.typhoonmap-app .tm-signal-label{font-size:.62rem;}
.typhoonmap-app .tm-signal-chip{font-size:.66rem;padding:5px 8px;gap:5px;}
.typhoonmap-app .tm-signal-chip small{font-size:.63rem;}
.typhoonmap-app .tm-card-header h2{font-size:.8rem;}
.typhoonmap-app .tm-card-header{padding:12px 16px;}
.typhoonmap-app .tm-signal-region-selector{display:none!important;}
@media(max-width:1180px){.typhoonmap-app .tm-signal-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}}
@media(max-width:720px){.typhoonmap-app .tm-signal-grid{grid-template-columns:1fr;padding:14px}.typhoonmap-app .tm-signal-card p{font-size:.8rem}.typhoonmap-app .tm-province-row{font-size:.76rem}}

/* v5.9.2 Signal Map color-system repair
   Single source of truth for Signal Map colors:
   Signal 1 = light blue, Signal 2 = pink, Signal 3 = orange, Signal 4 = red, Signal 5 = purple, None = gray.
   These colors are used for the legend chips, province table badges, sidebar PAGASA bars, and map markers. */
.typhoonmap-app{
  --tm-signal-none:#94a3b8;
  --tm-signal-1:#38bdf8;
  --tm-signal-2:#ec4899;
  --tm-signal-3:#f59e0b;
  --tm-signal-4:#ef4444;
  --tm-signal-5:#c026d3;
}
/* Restore visible colored top borders on the Warning Level Guide. The previous compact override reset the border color. */
.typhoonmap-app .tm-signal-grid .tm-signal-card.tm-signal-1{border-top:5px solid #0ea5e9!important;}
.typhoonmap-app .tm-signal-grid .tm-signal-card.tm-signal-2{border-top:5px solid #7c3aed!important;}
.typhoonmap-app .tm-signal-grid .tm-signal-card.tm-signal-3{border-top:5px solid var(--tm-signal-3)!important;}
.typhoonmap-app .tm-signal-grid .tm-signal-card.tm-signal-4{border-top:5px solid var(--tm-signal-4)!important;}
.typhoonmap-app .tm-signal-grid .tm-signal-card.tm-signal-5{border-top:5px solid var(--tm-signal-5)!important;}
.typhoonmap-app .tm-signal-grid .tm-signal-card{border-left-color:var(--tm-border)!important;border-right-color:var(--tm-border)!important;border-bottom-color:var(--tm-border)!important;}
/* Matching Signal Map legend pills */
.typhoonmap-app .tm-signal-chip-0{background:#fff;border-color:#dbe4ef;color:#475569;}
.typhoonmap-app .tm-signal-chip-0 i{background:var(--tm-signal-none)!important;}
.typhoonmap-app .tm-signal-chip-1{background:#e0f2fe!important;border-color:#bae6fd!important;color:#075985!important;}
.typhoonmap-app .tm-signal-chip-1 i{background:var(--tm-signal-1)!important;}
.typhoonmap-app .tm-signal-chip-2{background:#fce7f3!important;border-color:#fbcfe8!important;color:#9d174d!important;}
.typhoonmap-app .tm-signal-chip-2 i{background:var(--tm-signal-2)!important;}
.typhoonmap-app .tm-signal-chip-3{background:#ffedd5!important;border-color:#fed7aa!important;color:#9a3412!important;}
.typhoonmap-app .tm-signal-chip-3 i{background:var(--tm-signal-3)!important;}
.typhoonmap-app .tm-signal-chip-4{background:#fee2e2!important;border-color:#fecaca!important;color:#991b1b!important;}
.typhoonmap-app .tm-signal-chip-4 i{background:var(--tm-signal-4)!important;}
.typhoonmap-app .tm-signal-chip-5{background:#fae8ff!important;border-color:#f5d0fe!important;color:#86198f!important;}
.typhoonmap-app .tm-signal-chip-5 i{background:var(--tm-signal-5)!important;}
/* Matching province table badges */
.typhoonmap-app .tm-signal-badge-0{background:#fff!important;border-color:#dbe4ef!important;color:#475569!important;}
.typhoonmap-app .tm-signal-badge-1{background:#e0f2fe!important;border-color:#bae6fd!important;color:#075985!important;}
.typhoonmap-app .tm-signal-badge-2{background:#fce7f3!important;border-color:#fbcfe8!important;color:#9d174d!important;}
.typhoonmap-app .tm-signal-badge-3{background:#ffedd5!important;border-color:#fed7aa!important;color:#9a3412!important;}
.typhoonmap-app .tm-signal-badge-4{background:#fee2e2!important;border-color:#fecaca!important;color:#991b1b!important;}
.typhoonmap-app .tm-signal-badge-5{background:#fae8ff!important;border-color:#f5d0fe!important;color:#86198f!important;}
/* Matching PAGASA sidebar signal bars. Signal 4/5 uses a red-to-purple bar because that row covers both levels. */
.typhoonmap-app .tm-pagasa-signal-list .tm-pagasa-signal-row:nth-child(1) .tm-pagasa-color-bar{background:var(--tm-signal-1)!important;}
.typhoonmap-app .tm-pagasa-signal-list .tm-pagasa-signal-row:nth-child(2) .tm-pagasa-color-bar{background:var(--tm-signal-2)!important;}
.typhoonmap-app .tm-pagasa-signal-list .tm-pagasa-signal-row:nth-child(3) .tm-pagasa-color-bar{background:var(--tm-signal-3)!important;}
.typhoonmap-app .tm-pagasa-signal-list .tm-pagasa-signal-row:nth-child(4) .tm-pagasa-color-bar{background:linear-gradient(180deg,var(--tm-signal-4),var(--tm-signal-5))!important;}
/* Keep Signal Map text compact, not oversized. */
.typhoonmap-app .tm-signal-card strong{font-size:.92rem!important;}
.typhoonmap-app .tm-signal-card p{font-size:.82rem!important;line-height:1.45!important;}
.typhoonmap-app .tm-province-row{font-size:.78rem!important;}
.typhoonmap-app .tm-province-table-toolbar h2{font-size:.9rem!important;}


/* v5.9.3 Signal Map CTA + footer link sizing */
.typhoonmap-app .tm-sidebar-alert-signup .tm-signup-free-btn{
  background:var(--tm-signal-1)!important;
  border:1px solid #7dd3fc!important;
  color:#07365f!important;
  box-shadow:0 6px 16px rgba(56,189,248,.22)!important;
}
.typhoonmap-app .tm-sidebar-alert-signup .tm-signup-free-btn:hover{
  background:#7dd3fc!important;
  color:#062746!important;
}
.typhoonmap-app .tm-footer p,
.typhoonmap-app .tm-footer a,
.typhoonmap-app .tm-footer-note p{
  font-size:.78rem!important;
  line-height:1.45!important;
}
.typhoonmap-app .tm-footer h3{
  font-size:.78rem!important;
}
.typhoonmap-app .tm-footer-grid{
  gap:18px!important;
}


/* v5.9.4 permalink-safe UI polish: horizontal GO button + sitewide CTA color */
.typhoonmap-app {
  --tm-cta-blue: var(--tm-signal-1, #38bdf8);
  --tm-cta-blue-hover: #7dd3fc;
  --tm-cta-text: #07365f;
}
.typhoonmap-app .tm-search button{
  min-width:56px!important;
  flex:0 0 56px!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1!important;
  padding:12px 10px!important;
}
.typhoonmap-app .tm-search button,
.typhoonmap-app .tm-btn,
.typhoonmap-app .tm-alert-btn,
.typhoonmap-app .tm-hero-actions a,
.typhoonmap-app .tm-card a.tm-btn,
.typhoonmap-app .tm-form button,
.typhoonmap-app .tm-submit,
.typhoonmap-app .tm-signup-free-btn,
.typhoonmap-app .tm-push-btn,
.typhoonmap-app .tm-landing-btn{
  background:var(--tm-cta-blue)!important;
  border-color:#7dd3fc!important;
  color:var(--tm-cta-text)!important;
  box-shadow:0 6px 16px rgba(56,189,248,.22)!important;
}
.typhoonmap-app .tm-search button:hover,
.typhoonmap-app .tm-btn:hover,
.typhoonmap-app .tm-alert-btn:hover,
.typhoonmap-app .tm-hero-actions a:hover,
.typhoonmap-app .tm-card a.tm-btn:hover,
.typhoonmap-app .tm-form button:hover,
.typhoonmap-app .tm-submit:hover,
.typhoonmap-app .tm-signup-free-btn:hover,
.typhoonmap-app .tm-push-btn:hover,
.typhoonmap-app .tm-landing-btn:hover{
  background:var(--tm-cta-blue-hover)!important;
  color:#062746!important;
  box-shadow:0 10px 24px rgba(56,189,248,.26)!important;
}
.typhoonmap-app .tm-lang button.bg-primary,
.typhoonmap-app .tm-lang .is-active{
  background:var(--tm-cta-blue)!important;
  color:var(--tm-cta-text)!important;
}

/* v6.0 forecast track and signal source polish */
.tm-track-timeline-card .tm-empty-state h3{font-size:1rem}.tm-track-timeline-card .tm-empty-state p{max-width:720px}.tm-province-row[data-signal="1"]{border-left:3px solid #38bdf8}.tm-province-row[data-signal="2"]{border-left:3px solid #ec4899}.tm-province-row[data-signal="3"]{border-left:3px solid #f59e0b}.tm-province-row[data-signal="4"]{border-left:3px solid #ef4444}.tm-province-row[data-signal="5"]{border-left:3px solid #c026d3}


/* v6.1 no-track fallback and diagnostics */
.tm-track-fallback-card .tm-card-header span,
.tm-source-diagnostics-card .tm-card-header span{font-size:.68rem;}
.tm-track-fallback-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:var(--tm-gutter,1rem);padding:var(--tm-gutter,1rem);}
.tm-track-fallback-primary,.tm-track-fallback-secondary{border:1px solid var(--tm-border,#d6e0ea);border-radius:14px;background:rgba(255,255,255,.72);padding:1rem;}
.tm-track-fallback-primary h3,.tm-track-fallback-secondary h3{margin:0 0 .65rem;font-size:.9rem;letter-spacing:.02em;color:var(--tm-navy,#071b3a);}
.tm-diagnostic-list{margin:0 0 .85rem;padding:0;list-style:none;display:grid;gap:.45rem;font-size:.82rem;color:var(--tm-text,#24364d);}
.tm-diagnostic-list li{line-height:1.35;}
.tm-diagnostic-list strong{color:var(--tm-navy,#071b3a);font-weight:800;}
.tm-diagnostic-list-small{font-size:.76rem;}
.tm-official-button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;}
.tm-official-button-grid a{display:flex;align-items:center;justify-content:center;min-height:2.15rem;border:1px solid rgba(13,148,224,.32);border-radius:10px;background:#e0f2fe;color:#075985;font-size:.76rem;font-weight:800;text-align:center;text-decoration:none;}
.tm-official-button-grid a:hover{background:#bae6fd;color:#0c4a6e;}
.tm-diagnostics-details{margin-top:.75rem;border-top:1px solid var(--tm-border,#d6e0ea);padding-top:.65rem;font-size:.76rem;}
.tm-diagnostics-details summary{cursor:pointer;font-weight:800;color:var(--tm-primary,#0067e6);}
.tm-diagnostics-details ul{margin:.5rem 0 0;padding-left:1rem;display:grid;gap:.35rem;color:var(--tm-muted,#4b5b73);}
@media (max-width: 760px){.tm-track-fallback-grid{grid-template-columns:1fr}.tm-official-button-grid{grid-template-columns:1fr}}

/* v6.2 About page rebuild */
.typhoonmap-app .tm-about-page{
  gap:20px;
}
.typhoonmap-app .tm-about-intro{
  max-width:980px;
  margin:0 auto;
  text-align:center;
  padding:10px 16px 0;
}
.typhoonmap-app .tm-about-intro h1{
  margin:0 0 10px;
  color:var(--tm-cta-blue, #38bdf8);
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:900;
}
.typhoonmap-app .tm-about-intro p{
  margin:0 auto;
  max-width:820px;
  color:#40536c;
  font-size:clamp(.98rem,1.3vw,1.14rem);
  line-height:1.6;
}
.typhoonmap-app .tm-about-logo-hero{
  background:#fff;
  border:1px solid var(--tm-border);
  border-radius:24px;
  box-shadow:0 16px 42px rgba(8,32,70,.08);
  padding:clamp(18px,3vw,34px);
  overflow:hidden;
}
.typhoonmap-app .tm-about-logo-hero img{
  display:block;
  width:min(100%,1300px);
  height:auto;
  margin:0 auto;
}
.typhoonmap-app .tm-about-copy-card{
  padding:clamp(22px,3vw,34px);
}
.typhoonmap-app .tm-about-copy{
  max-width:1050px;
  margin:0 auto;
}
.typhoonmap-app .tm-about-copy h2{
  margin:0 0 14px;
  color:#082046;
  font-size:clamp(1.45rem,2.4vw,2.2rem);
  line-height:1.15;
  letter-spacing:-.03em;
  font-weight:900;
}
.typhoonmap-app .tm-about-copy p{
  margin:0 0 14px;
  color:#40536c;
  font-size:1rem;
  line-height:1.72;
}
.typhoonmap-app .tm-about-copy p:last-child{
  margin-bottom:0;
}
.typhoonmap-app .tm-about-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
}
.typhoonmap-app .tm-about-info-card{
  padding:18px;
  border-top-width:5px;
}
.typhoonmap-app .tm-about-info-card h2{
  margin:0 0 10px;
  color:#082046;
  font-size:.98rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}
.typhoonmap-app .tm-about-info-card p,
.typhoonmap-app .tm-about-info-card li{
  color:#40536c;
  font-size:.92rem;
  line-height:1.58;
}
.typhoonmap-app .tm-about-info-card p{
  margin:0;
}
.typhoonmap-app .tm-about-info-card ul{
  margin:0;
  padding-left:1.1rem;
  display:grid;
  gap:6px;
}
.typhoonmap-app .tm-about-border-info{border-top-color:#0ea5e9!important;}
.typhoonmap-app .tm-about-border-watch{border-top-color:#7c3aed!important;}
.typhoonmap-app .tm-about-border-warning{border-top-color:#f59e0b!important;}
.typhoonmap-app .tm-about-border-danger{border-top-color:#ef4444!important;}
.typhoonmap-app .tm-about-border-extreme{border-top-color:#c026d3!important;}
.typhoonmap-app .tm-about-cta-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:4px 0 8px;
}
@media(max-width:640px){
  .typhoonmap-app .tm-about-logo-hero{border-radius:18px;padding:14px;}
  .typhoonmap-app .tm-about-copy-card{padding:18px;}
  .typhoonmap-app .tm-about-card-grid{grid-template-columns:1fr;}
}


/* v6.3 header search: internal site search + stable horizontal Go button */
.typhoonmap-app .tm-search input[name="s"]{
  min-width:0;
}
.typhoonmap-app .tm-search button[type="submit"]{
  width:72px!important;
  min-width:72px!important;
  flex:0 0 72px!important;
  height:100%!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  letter-spacing:0!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

/* v6.4 live map layer toolbar */
.tm-map-layer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-top:1px solid var(--tm-border);background:linear-gradient(180deg,#f8fbff,#eef6fd)}
.tm-layer-toolbar-title{display:flex;flex-direction:column;gap:1px;min-width:170px}.tm-layer-toolbar-title strong{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#0f2a4f;font-weight:900}.tm-layer-toolbar-title span{font-size:.76rem;color:var(--tm-muted)}.tm-layer-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.tm-layer-btn,.tm-layer-link{border:1px solid var(--tm-border);background:#fff;color:#183455;border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:900;letter-spacing:.04em;cursor:pointer;line-height:1.1}.tm-layer-btn:hover,.tm-layer-link:hover{border-color:#38bdf8;color:#005aaf;background:#eff9ff}.tm-layer-btn.is-active{background:#38bdf8;border-color:#38bdf8;color:#05263f;box-shadow:0 8px 18px rgba(56,189,248,.18)}.tm-layer-link{display:inline-flex;align-items:center;color:#0067e6;background:#eef8ff;border-color:#bfe8ff}@media(max-width:760px){.tm-map-layer-toolbar{align-items:flex-start;flex-direction:column}.tm-layer-buttons{justify-content:flex-start}.tm-layer-btn,.tm-layer-link{font-size:.68rem;padding:7px 9px}}

/* v6.6 homepage featured/highest-alert storm card */
.tm-featured-storm-card .tm-card-header h2 {
  letter-spacing: .04em;
}
.tm-featured-storm {
  border-top: 4px solid var(--tm-signal-1, #60a5fa);
  border-radius: var(--tm-card-radius, 14px);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  padding: 14px;
}
.tm-featured-storm.tm-alert-red { border-top-color: var(--tm-signal-4, #dc2626); }
.tm-featured-storm.tm-alert-orange { border-top-color: var(--tm-signal-3, #f97316); }
.tm-featured-storm.tm-alert-yellow { border-top-color: #f59e0b; }
.tm-featured-storm.tm-alert-green { border-top-color: #22c55e; }
.tm-featured-storm.tm-alert-info { border-top-color: var(--tm-signal-1, #60a5fa); }
.tm-featured-eyebrow {
  color: var(--tm-muted, #64748b);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin: 0 0 4px;
  text-transform: uppercase;
}
.tm-featured-storm h3 {
  color: var(--tm-heading, #0f172a);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.08;
  margin: 0 0 8px;
}
.tm-featured-alert {
  align-items: center;
  background: rgba(96, 165, 250, .14);
  border: 1px solid rgba(96, 165, 250, .32);
  border-radius: 999px;
  color: #0f4f8f;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .06em;
  margin: 0 0 10px;
  padding: 5px 9px;
  text-transform: uppercase;
}
.tm-alert-red .tm-featured-alert { background: rgba(220, 38, 38, .10); border-color: rgba(220, 38, 38, .28); color: #991b1b; }
.tm-alert-orange .tm-featured-alert { background: rgba(249, 115, 22, .12); border-color: rgba(249, 115, 22, .30); color: #9a3412; }
.tm-alert-yellow .tm-featured-alert { background: rgba(245, 158, 11, .12); border-color: rgba(245, 158, 11, .32); color: #92400e; }
.tm-alert-green .tm-featured-alert { background: rgba(34, 197, 94, .11); border-color: rgba(34, 197, 94, .30); color: #166534; }
.tm-featured-location {
  color: var(--tm-text, #334155);
  font-size: .78rem;
  line-height: 1.45;
  margin: 0 0 12px;
}
.tm-featured-location strong {
  color: var(--tm-heading, #0f172a);
}
.tm-featured-storm .tm-card-action {
  justify-content: center;
  text-align: center;
  width: 100%;
}


/* v6.8 footer tracker links + homepage cleanup */
.typhoonmap-app .tm-footer-v68 .tm-footer-grid-three{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:start!important;
}
.typhoonmap-app .tm-footer-v68 .tm-footer-column{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0!important;
}
.typhoonmap-app .tm-footer-v68 .tm-footer-column h3{
  border-bottom:1px solid var(--tm-border,#dce7f3)!important;
  color:#0f2a4f!important;
  font-size:.78rem!important;
  font-weight:900!important;
  letter-spacing:.10em!important;
  margin:0 0 5px!important;
  padding-bottom:8px!important;
  text-transform:uppercase!important;
}
.typhoonmap-app .tm-footer-v68 .tm-footer-column a{
  color:var(--tm-primary,#0067e6)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.typhoonmap-app .tm-footer-v68 .tm-footer-column a:hover{
  color:#075985!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.typhoonmap-app .tm-storm-surge-map-card .tm-card-header span{
  color:#075985!important;
}
@media(max-width:760px){
  .typhoonmap-app .tm-footer-v68 .tm-footer-grid-three{
    grid-template-columns:1fr!important;
  }
}

/* v6.11 reports page layout */
.typhoonmap-app .tm-reports-layout{
  align-items:start!important;
}
.typhoonmap-app .tm-recent-reports-card .tm-card-header p,
.typhoonmap-app .tm-reports-header p{
  color:var(--tm-muted,#64748b)!important;
  font-size:.76rem!important;
  line-height:1.45!important;
  margin:5px 0 0!important;
  max-width:760px!important;
}
.typhoonmap-app .tm-report-card-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.typhoonmap-app .tm-public-report-card{
  background:#fff!important;
  border:1px solid var(--tm-border,#dce7f3)!important;
  border-radius:14px!important;
  box-shadow:0 8px 20px rgba(15,42,79,.05)!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  overflow:hidden!important;
}
.typhoonmap-app .tm-public-report-image{
  background:#eaf4ff!important;
  height:138px!important;
  overflow:hidden!important;
  position:relative!important;
}
.typhoonmap-app .tm-public-report-image img{
  height:100%!important;
  object-fit:cover!important;
  width:100%!important;
}
.typhoonmap-app .tm-public-report-image span{
  background:rgba(3,24,52,.82)!important;
  border-radius:999px!important;
  bottom:8px!important;
  color:#fff!important;
  font-size:.68rem!important;
  font-weight:900!important;
  padding:4px 8px!important;
  position:absolute!important;
  right:8px!important;
}
.typhoonmap-app .tm-public-report-body{
  padding:12px!important;
}
.typhoonmap-app .tm-public-report-meta{
  color:var(--tm-muted,#64748b)!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px 8px!important;
  font-size:.66rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  margin-bottom:7px!important;
  text-transform:uppercase!important;
}
.typhoonmap-app .tm-public-report-card h3{
  color:#071833!important;
  font-size:.92rem!important;
  font-weight:900!important;
  line-height:1.2!important;
  margin:0 0 8px!important;
}
.typhoonmap-app .tm-public-report-card p{
  color:#475569!important;
  font-size:.78rem!important;
  line-height:1.45!important;
  margin:8px 0 0!important;
}
.typhoonmap-app .tm-public-report-card .tm-report-storm-name{
  color:#0f4f8f!important;
  font-size:.72rem!important;
  font-weight:800!important;
  margin:0 0 7px!important;
}
.typhoonmap-app .tm-report-type-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin:7px 0!important;
}
.typhoonmap-app .tm-report-type-badges span{
  background:#eef8ff!important;
  border:1px solid #bfdbfe!important;
  border-radius:999px!important;
  color:#075985!important;
  font-size:.64rem!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  padding:4px 7px!important;
}
.typhoonmap-app .tm-submit-report-card{
  border-top:4px solid var(--tm-signal-3,#f59e0b)!important;
}
.typhoonmap-app .tm-report-form label,
.typhoonmap-app .tm-report-form legend{
  color:#111827!important;
  font-size:.78rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  line-height:1.25!important;
}
.typhoonmap-app .tm-report-form label span,
.typhoonmap-app .tm-report-form .tm-required{
  color:#64748b!important;
  font-weight:700!important;
}
.typhoonmap-app .tm-report-form input[type="text"],
.typhoonmap-app .tm-report-form select,
.typhoonmap-app .tm-report-form textarea{
  background:#fff!important;
  border:1px solid #cfd9e6!important;
  border-radius:6px!important;
  color:#10233f!important;
  font-size:.8rem!important;
  margin-top:6px!important;
  padding:9px 10px!important;
  width:100%!important;
}
.typhoonmap-app .tm-report-form textarea{
  min-height:92px!important;
  resize:vertical!important;
}
.typhoonmap-app .tm-report-type-fieldset{
  border:0!important;
  margin:0!important;
  padding:0!important;
}
.typhoonmap-app .tm-report-check-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:8px!important;
}
.typhoonmap-app .tm-report-check-buttons label{
  cursor:pointer!important;
  display:inline-flex!important;
  margin:0!important;
}
.typhoonmap-app .tm-report-check-buttons input{
  height:1px!important;
  opacity:0!important;
  position:absolute!important;
  width:1px!important;
}
.typhoonmap-app .tm-report-check-buttons span{
  background:#fff!important;
  border:1px solid #cfd9e6!important;
  border-radius:6px!important;
  color:#0f172a!important;
  display:inline-flex!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1!important;
  padding:8px 10px!important;
}
.typhoonmap-app .tm-report-check-buttons input:checked + span{
  background:#e0f2fe!important;
  border-color:var(--tm-signal-1,#38bdf8)!important;
  box-shadow:0 0 0 2px rgba(56,189,248,.16)!important;
  color:#075985!important;
}
.typhoonmap-app .tm-report-upload-label input[type="file"]{
  background:#fafcff!important;
  border:1px dashed #cfd9e6!important;
  border-radius:8px!important;
  color:#64748b!important;
  cursor:pointer!important;
  font-size:.72rem!important;
  margin-top:8px!important;
  padding:14px!important;
  width:100%!important;
}
.typhoonmap-app .tm-form-note{
  color:#64748b!important;
  font-size:.70rem!important;
  line-height:1.35!important;
  margin:0!important;
}
.typhoonmap-app .tm-report-submit{
  background:var(--tm-signal-1,#38bdf8)!important;
  border-color:var(--tm-signal-1,#38bdf8)!important;
  color:#05263f!important;
  justify-content:center!important;
  width:100%!important;
}
@media(max-width:1180px){
  .typhoonmap-app .tm-report-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:860px){
  .typhoonmap-app .tm-report-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  .typhoonmap-app .tm-report-card-grid{grid-template-columns:1fr!important;}
}
