:root{--ink:#f4fbff;--gold:#f3ce78;--line:#b9e9fa66;--glass:linear-gradient(135deg,#8dc7d845,#073951ad 55%,#adc5d64a);--blue:#0c4861}*{box-sizing:border-box}body{margin:0;background:#052e43 url('tropical-backdrop.png') center top/100% 100% no-repeat;color:var(--ink);font:16px 'DM Sans',sans-serif;min-height:100dvh}body:before{content:'';position:fixed;inset:0;background:linear-gradient(#071f3e22,#00334900 35%,#021e3680);pointer-events:none;z-index:-1}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--glass);border-radius:22px;padding:12px 18px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px 2px #ffffffe0,0 7px 20px #001c3f44;transition:transform .18s,box-shadow .18s}button:hover{box-shadow:inset 0 1px 3px #fff,0 0 20px #a0e8ff40;transform:translateY(-2px)}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.ui-icon{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}header{max-width:1380px;margin:auto;height:145px;padding:25px 45px 16px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;text-decoration:none;color:#fff;gap:20px;filter:drop-shadow(0 3px 5px #001b37);font:500 29px 'Manrope',sans-serif;letter-spacing:7px}.brand small{display:block;font-size:18px;letter-spacing:9px;margin-top:5px}.brand em{display:block;font:400 10px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:15px;font-style:normal}.brandmark{width:77px;height:77px;stroke:var(--gold);stroke-width:4;fill:none;flex-shrink:0}.hawaii-word{margin-left:auto;font:italic 47px Georgia,serif;color:white;text-shadow:0 3px 10px #011d3d}.hawaii-word small{display:block;font:400 11px 'DM Sans',sans-serif;letter-spacing:2px;text-align:center;margin-top:8px}.iconbtn{width:65px;height:65px;border-radius:50%;display:grid;place-items:center;padding:16px}.primary-nav{display:flex;gap:14px;max-width:1130px;margin:14px auto 24px;padding:0 32px}.primary-nav button{flex:1;display:flex;align-items:center;justify-content:center;gap:15px;border-radius:45px;font-size:23px;height:69px}.primary-nav button .ui-icon{width:32px;height:32px}.primary-nav button.active{background:linear-gradient(135deg,#fff8c1,#f7c961 50%,#f0ce7f);color:#102526;border-color:#fff5d1;box-shadow:inset 0 0 12px #fff,0 0 19px #ffd98488,0 5px 25px #001d3f55;font-weight:700}.primary-nav .nav-search{flex:0 0 69px;padding:18px}.primary-nav .nav-search .ui-icon{width:29px;height:29px}#trip-count{background:#ffffff22;border:1px solid #ffffff35;padding:1px 6px;border-radius:7px;font-size:12px}main{max-width:1440px;margin:0 auto;position:relative;padding:0 32px}.maparea{position:relative;height:70dvh;min-height:580px;max-height:880px;background:#003b5722;border-radius:35px;isolation:isolate;overflow:hidden}#map{position:absolute;inset:0;background:#043d59}.maparea:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#032e4355 0%,transparent 25%,transparent 70%,#013b5388 100%);z-index:2}.discovery-row{position:absolute;top:10px;left:12px;right:12px;z-index:5;display:flex;gap:14px}.maptitle{display:flex;align-items:center;gap:20px;flex:1;text-align:left;border-radius:30px;padding:12px;max-width:640px}.discovery-thumbnail{width:88px;height:88px;flex-shrink:0;border-radius:18px;background:url('tropical-backdrop.png') center 5%/210% auto;box-shadow:inset 0 0 1px #fff}.summary-copy{display:grid;gap:7px}.summary-copy small{font-size:12px;letter-spacing:4px;color:#b4d7e6}.summary-copy strong{font:800 31px 'Manrope',sans-serif;letter-spacing:-1px}.summary-copy>span{font-size:16px}.maptitle>.ui-icon{margin-left:auto;width:46px;height:46px;border:1px solid #cee9ff66;border-radius:50%;padding:8px}.favorites-tile{display:flex;align-items:center;gap:13px;width:220px;border-radius:30px;font-size:19px;padding:12px;text-align:left;line-height:1.3}.favorite-icon{width:68px;height:88px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#00a7c4,#073c68)}.favorite-icon .ui-icon{width:38px;height:38px}.favorites-tile>.ui-icon{width:22px}.maplibregl-ctrl-top-left{top:145px;left:16px}.maplibregl-ctrl-group{background:var(--glass)!important;backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:26px!important;overflow:hidden;box-shadow:inset 0 1px 2px #fff,0 4px 15px #002f5b66!important}.maplibregl-ctrl-group button{width:48px;height:48px;background:transparent!important;box-shadow:none;border:0;border-radius:0}.maplibregl-ctrl-icon{filter:invert(1)}.maplibregl-ctrl-attrib{font-size:10px;background:#082f41b0!important;color:#c4dfeb!important}.maplibregl-ctrl-attrib a{color:#c4dfeb!important}.maplibregl-ctrl-bottom-right{z-index:6}.mapactions{position:absolute;bottom:43px;left:30px;right:30px;display:flex;justify-content:center;gap:12px;z-index:5}.mapactions button{display:flex;align-items:center;justify-content:center;gap:12px;border-radius:28px;padding:14px 20px;font-size:18px}.mapactions button.active{background:linear-gradient(135deg,#6b7f5370,#4b6130a8);color:#ffe5a3;border:1px solid #ffe9b8;box-shadow:inset 0 0 8px #ffdfb1,0 0 15px #ffbf54b3}#locate{min-width:215px}.location-switch{width:42px;height:25px;background:#65858f;border:1px solid #a8dbed;border-radius:20px;position:relative}.location-switch:after{content:'';width:19px;height:19px;background:white;border-radius:50%;position:absolute;left:3px;top:2px;box-shadow:0 0 7px #b4eaff}#locate.enabled .location-switch{background:#23b4f1}#locate.enabled .location-switch:after{left:19px}.compass-button{position:absolute;right:26px;bottom:130px;z-index:5;width:70px;height:83px;border-radius:50%;padding:7px;display:grid;place-items:center;gap:0;box-shadow:inset 0 0 10px #d4e9ff88,0 5px 20px #00233744}.compass-button span{font-size:16px}.compass-button .ui-icon{width:34px;height:34px;transform:rotate(-45deg);fill:#d9f3ff}#region-shortcuts{position:absolute;left:18px;right:100px;bottom:130px;z-index:5;display:flex;justify-content:center;flex-wrap:wrap;gap:6px}#region-shortcuts button{font-size:12px;border-radius:30px;padding:6px 12px;background:#03364d99;box-shadow:0 2px 5px #001b3955}#region-shortcuts button.active{color:var(--gold);border-color:var(--gold)}.mapnote{position:absolute;bottom:12px;left:18px;z-index:5;font-size:11px;color:#c7dce6;max-width:60%;text-shadow:0 2px 3px #002337}.tour-map-marker{width:44px;height:55px;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none;overflow:visible;cursor:pointer}.island-pin{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:white;background:radial-gradient(circle at 35% 20%,#ffffff88,var(--pin) 35%,#082634 90%);border:2px solid #dbfffa;box-shadow:inset 0 0 7px #a1fff3,0 0 14px var(--pin),0 7px 9px #002331bb;position:relative}.island-pin:after{content:'';position:absolute;width:8px;height:8px;border:2px solid #e7ffff;border-radius:50%;background:var(--pin);bottom:-13px;box-shadow:0 0 9px var(--pin)}.island-pin .ui-icon{width:24px;height:24px}.discovery-cluster{width:43px;height:43px;border:1px solid #cdeeff;border-radius:50%;background:radial-gradient(circle at 35% 20%,#67b4c6,#07536b 55%,#042f44);color:#fff;box-shadow:inset 0 0 6px #c0fff4,0 0 14px #2bedff55;display:flex;align-items:center;justify-content:center;font-size:16px;gap:3px}.discovery-cluster span{font-size:12px;color:#ffd882}.discovery-cluster:hover{transform:scale(1.14)}.stoplabel{position:absolute;top:56px;left:50%;transform:translateX(-50%);min-width:100px;max-width:165px;font-size:12px;line-height:1.3;color:white;text-shadow:0 2px 4px #000,0 0 5px #000;font-weight:700}.your-location{width:20px;height:20px;border:3px solid white;border-radius:50%;background:#16bfff;box-shadow:0 0 0 8px #4bcaff44}.discovery-tools{max-width:1030px;margin:16px auto 0}.search{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:28px;background:var(--glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px 2px #fff,0 8px 25px #001d3f44;padding:0 24px;height:74px}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;padding:15px 0;font-size:19px}.search input::placeholder{color:#d2e5ec}.category-nav{display:flex;justify-content:space-between;gap:15px;padding:28px 0 10px}.category-nav button{display:flex;align-items:center;flex-direction:column;gap:12px;background:none;border:0;box-shadow:none;backdrop-filter:none;flex:1;padding:0;font-size:14px;white-space:nowrap}.category-orb{width:76px;height:76px;border:1px solid #d1efed;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 15px #c9e7cd88,0 8px 20px #001e3899;background:radial-gradient(circle at 30% 20%,#83aaa655,#173d3fcc);color:#fff}.category-orb .ui-icon{width:33px;height:33px}.food{color:#ff9b4c;background:radial-gradient(circle at 30% 20%,#92a9a655,#20392bcc)}.adventure{color:#beffd6;background:radial-gradient(circle at 30% 20%,#81ccaa88,#034b33cc)}.tours{color:#b6e7ff;background:radial-gradient(circle at 30% 20%,#67c5e88a,#075384cc)}.shopping{color:#e6adff;background:radial-gradient(circle at 30% 20%,#a3a7ee88,#454188cc)}.relax{color:#ffe49d;background:radial-gradient(circle at 30% 20%,#baa47688,#5a532ccc)}.category-nav button.active .category-orb{box-shadow:inset 0 0 18px #fff8cd,0 0 22px #ffd57288;border-color:#ffdf95}.island-motto{text-align:center;font-size:11px;letter-spacing:4px;color:#e3e9d5;padding:12px 0 26px;margin:0}#sidebar{position:absolute;top:135px;left:52px;width:410px;max-height:calc(70dvh - 190px);overflow-y:auto;z-index:12;padding:20px;border:1px solid #abdff266;border-radius:25px;background:linear-gradient(130deg,#11516ae8,#022a42ed);backdrop-filter:blur(25px);box-shadow:0 20px 60px #00172888}#sidebar[hidden]{display:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-head button{padding:0 10px;font-size:25px;background:none;box-shadow:none;border:0}.eyebrow{color:#f2d286;font-size:12px;letter-spacing:2px;font-weight:600}.controls{display:flex;gap:8px;margin:16px 0}select{color:#e5f2f7;background:#07384e;border:1px solid #90ccdf66;border-radius:12px;padding:10px;min-width:0}.controls select{width:50%;font-size:14px}h2{font:700 27px 'Manrope',sans-serif}h3{font:700 18px 'Manrope',sans-serif;margin:0 0 7px}.card{display:block;text-align:left;width:100%;margin-bottom:12px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#7eacbc33,#082e4688);box-shadow:inset 0 1px 1px #b0cfd677}.card .meta{font-size:11px;letter-spacing:.7px;color:#c2dce5;text-transform:uppercase;margin-bottom:10px}.card p{font-size:14px;line-height:1.6;color:#d1e5ec;margin:8px 0}.cardfoot{display:flex;gap:13px;flex-wrap:wrap;font-size:12px;color:#a9d1e0}.typeicon{float:right;font-size:24px;color:var(--gold)}.featured{padding:0;overflow:hidden}.featured img{display:block;width:100%;height:135px;object-fit:cover}.featured .inner{padding:18px}.sectionhead{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin:16px 0}.sectionhead span{color:#b6d6e3}.source,.muted{font-size:13px;color:#bad5e1;line-height:1.6}.source{margin-top:20px}.empty{padding:22px;border:1px solid #8ac4d344;border-radius:16px;background:#06334a;line-height:1.7}.primary{background:linear-gradient(130deg,#ffe4a5,#cda652);color:#152c35;font-weight:700;border-color:#ffe5ab}.routeheader{padding:17px;background:#164958;border-radius:16px;margin-bottom:16px;border:1px solid #cfb36c66}.routeheader p{font-size:14px;line-height:1.6}.routeheader button{padding:7px 10px;font-size:13px}.triprow{border:1px solid #9cc6d366;border-radius:17px;padding:16px;margin:12px 0}.triprow h3{margin:8px 0}.triprow .actions button{font-size:13px;padding:7px 10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions a{display:inline-flex;text-decoration:none;color:inherit;padding:11px 15px;border:1px solid var(--line);border-radius:18px}.actions button{font-size:14px}.links a{color:#83d9ff}dialog{width:calc(100% - 32px);max-width:580px;max-height:88dvh;overflow-y:auto;color:white;border:1px solid #bae4f3a6;border-radius:28px;padding:30px;background:linear-gradient(135deg,#20687dea,#062d45f2);backdrop-filter:blur(28px);box-shadow:inset 0 1px 2px #fff,0 30px 100px #00162b99}dialog::backdrop{background:#00182b99;backdrop-filter:blur(6px)}.close{position:absolute;top:12px;right:12px;font-size:26px;padding:1px 10px;border:0;background:none;box-shadow:none}.detailmeta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.badge{font-size:12px;padding:6px 9px;border-radius:9px;background:#194a59;color:#f0d390}.story{padding:20px;border:1px solid #d9c18177;border-radius:18px;background:#133d50;margin:18px 0}.story p{line-height:1.7}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);margin-bottom:8px}.setting p{font-size:14px;color:#bfdde8;line-height:1.5;margin:8px 0}.setting input{width:25px;height:25px;accent-color:#d7b25d}.always{white-space:nowrap;color:#ffe1a0;font-size:12px}.tourlist{padding-left:24px}.tourlist li{margin:12px 0}.tourlist button{padding:5px 0;text-align:left;border:0;background:none;box-shadow:none;font-weight:600}.tourlist small{display:block;color:#b7d6e4;margin-top:4px}.menu-links{display:grid;gap:12px}.menu-links button{text-align:left;font-size:17px;border-radius:17px}#fact{position:fixed;right:28px;bottom:25px;width:365px;z-index:30;padding:24px;border:1px solid #f6d389;border-radius:25px;background:linear-gradient(135deg,#1d6585ec,#052c47f5);backdrop-filter:blur(24px);box-shadow:inset 0 1px 3px #fff,0 0 25px #edb75244,0 15px 60px #001c37aa;animation:fact-in .35s ease}#fact[hidden]{display:none}#fact h3{margin-top:13px;color:#fff0c9}#fact p{line-height:1.65}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#092f47ee;border:1px solid #8fc3d2;border-radius:18px;padding:14px 20px;z-index:50;display:none;max-width:90%;font-size:14px;backdrop-filter:blur(15px)}#gpsbar{position:absolute;right:120px;bottom:126px;z-index:6;padding:8px 12px;background:#062f46dd;border-radius:15px;font-size:12px}#next-stop{position:absolute;top:150px;left:92px;z-index:7;background:linear-gradient(135deg,#1c6579dd,#07354ce8);border:1px solid #f2ca7f;border-radius:21px;padding:16px;max-width:330px;backdrop-filter:blur(18px)}#next-stop[hidden]{display:none}#next-stop strong{display:block;margin:6px 0 12px}#next-stop a{background:#ebce88;color:#0a293b;text-decoration:none;border-radius:12px;padding:8px 12px;font-size:14px}#next-stop button{font-size:14px;padding:8px 10px}@keyframes fact-in{from{opacity:0;transform:translateY(25px) scale(.96)}to{opacity:1;transform:none}}@media(min-width:1400px){body{background-size:100% auto}.maparea{max-height:930px}}@media(max-width:800px){body{background-size:auto 100%;background-position:center top}header{height:116px;padding:20px 20px 12px;gap:10px}.brand{font-size:17px;letter-spacing:3px;gap:11px}.brandmark{width:51px;height:51px}.brand small{font-size:11px;letter-spacing:4px;margin-top:3px}.brand em{font-size:7px;letter-spacing:1.4px;margin-top:10px}.hawaii-word{font-size:30px}.hawaii-word small{font-size:8px;letter-spacing:1px}.iconbtn{width:44px;height:44px;padding:11px}.iconbtn .ui-icon{width:22px;height:22px}.primary-nav{padding:0 18px;gap:7px;margin:8px auto 18px}.primary-nav button{font-size:16px;height:53px;gap:8px;padding:8px 10px}.primary-nav button .ui-icon{width:24px;height:24px}.primary-nav .nav-search{flex-basis:49px;padding:12px}.primary-nav .nav-search .ui-icon{width:22px}main{padding:0 12px}.maparea{height:76dvh;min-height:570px;max-height:900px;border-radius:25px}.discovery-row{top:5px;left:0;right:0;gap:9px}.maptitle{gap:10px;padding:9px;border-radius:22px}.discovery-thumbnail{width:61px;height:78px;border-radius:15px}.summary-copy{gap:5px}.summary-copy small{font-size:9px;letter-spacing:2px}.summary-copy strong{font-size:24px;letter-spacing:-.8px}.summary-copy>span{font-size:12px}.maptitle>.ui-icon{width:30px;height:30px;padding:6px}.favorites-tile{width:130px;padding:9px;gap:9px;font-size:15px;border-radius:22px}.favorite-icon{width:38px;height:78px;border-radius:14px}.favorite-icon .ui-icon{width:26px}.favorites-tile>.ui-icon{display:none}.maplibregl-ctrl-top-left{top:126px;left:10px}.maplibregl-ctrl-group button{width:40px;height:45px}.mapactions{left:4px;right:4px;bottom:33px;gap:6px}.mapactions button{font-size:14px;gap:6px;padding:10px 12px;height:52px}.mapactions .ui-icon{width:21px;height:21px}#locate{min-width:143px}.location-switch{width:33px;height:21px}.location-switch:after{height:15px;width:15px}#locate.enabled .location-switch:after{left:14px}.compass-button{width:59px;height:69px;right:15px;bottom:99px}#region-shortcuts{left:6px;right:80px;bottom:100px;gap:4px}#region-shortcuts button{font-size:11px;padding:5px 9px}.mapnote{font-size:9px;bottom:7px;left:10px;max-width:65%}.maplibregl-ctrl-attrib{font-size:8px}.discovery-tools{margin-top:10px}.search{height:62px;padding:0 18px;gap:12px;border-radius:25px}.search input{font-size:16px}.search .ui-icon{width:25px}.category-nav{gap:6px;padding:24px 0 12px;display:grid;grid-template-columns:repeat(6,1fr)}.category-nav button{font-size:11px;white-space:normal;line-height:1.35;gap:9px}.category-orb{width:56px;height:56px}.category-orb .ui-icon{width:26px;height:26px}.island-motto{font-size:9px;letter-spacing:2.4px;padding:18px 0 32px}#sidebar{position:fixed;top:190px;bottom:25px;left:12px;right:12px;width:auto;max-height:none;border-radius:24px;padding:18px;z-index:20}#fact{right:12px;bottom:18px;width:calc(100% - 24px);z-index:35}dialog{padding:26px 20px}#next-stop{top:128px;left:66px;max-width:235px;padding:13px}#next-stop strong{font-size:15px}#gpsbar{right:80px;bottom:156px;font-size:11px}}
@media(max-width:470px){.hawaii-word{display:none}.iconbtn{margin-left:auto}.brand{font-size:18px}.favorites-tile{width:108px;font-size:13px}.favorite-icon{display:none}.maptitle>.ui-icon{display:none}.summary-copy strong{font-size:22px}.summary-copy>span{font-size:11px}.mapactions button{font-size:12px;padding:9px 10px}#locate{min-width:129px}.mapactions button .ui-icon{width:18px}#fit{padding:9px}.category-orb{width:49px;height:49px}.category-nav button{font-size:10px}#trip-count{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.maparea:after{animation:sea-light 12s ease-in-out infinite alternate}.category-orb{transition:transform .25s,box-shadow .25s}.category-nav button:hover .category-orb{transform:translateY(-5px);box-shadow:inset 0 0 15px #c9e7cd88,0 0 20px #a7ecfb77}.island-pin{animation:marker-glow 4s ease-in-out infinite alternate}@keyframes sea-light{to{opacity:.6}}@keyframes marker-glow{to{box-shadow:inset 0 0 8px #fff,0 0 20px var(--pin),0 7px 9px #002331bb}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
#routing-panel{position:absolute;z-index:12;right:18px;top:185px;width:min(370px,calc(100% - 36px));max-height:calc(100% - 300px);overflow:auto;padding:22px;border:1px solid #bcebf599;border-radius:24px;background:#103e50ed;backdrop-filter:blur(22px);box-shadow:0 10px 40px #001e3e88;color:white}#routing-panel label,#routing-panel strong{display:block}#routing-panel select{width:100%;margin:12px 0;background:#164757;color:white}#routing-panel .turn-instruction{font-size:20px;font-weight:700;margin:12px 0;color:#ffe39c}#routing-panel small{display:block;font-size:12px;line-height:1.5;margin-top:10px}#routing-panel li{margin:14px 0}#routing-panel summary{cursor:pointer;padding:12px 0}#routing-panel .actions{flex-wrap:wrap}@media(max-width:600px){#routing-panel{top:160px;max-height:calc(100% - 255px);padding:18px}}
.talking-points{margin:26px 0}.talking-points>details{margin:12px 0;border:1px solid #90d2d64d;border-radius:17px;background:#0b344547;padding:16px}.talking-points summary{cursor:pointer;list-style-position:outside;margin-left:14px}.talking-points summary strong,.talking-points summary span{display:block}.talking-points summary strong{font-size:18px;color:#ffe7ac}.talking-points summary span{margin-top:7px;font-size:15px;line-height:1.5;color:#d4e9eb}.talking-points p{font-size:16px;line-height:1.7}.talking-points a{color:#9ae9f4}.talking-points .deeper{margin-top:20px;border-left:3px solid #efc872;padding:12px}

.watch-learn{margin:26px 0;padding:20px;border:1px solid rgba(112,224,218,.35);border-radius:24px;background:linear-gradient(145deg,rgba(5,95,105,.58),rgba(8,35,55,.68))}.watch-learn h3{font-size:25px;margin:6px 0 10px;color:#ffe4a2}.video-intro,.video-note{font-size:13px;line-height:1.55;color:#c8e8e9}.video-card{padding:17px;margin:12px 0;border:1px solid rgba(255,225,165,.22);border-radius:18px;background:rgba(5,24,37,.42)}.video-tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7ee6dd}.video-card h4{font-size:18px;line-height:1.3;margin:8px 0}.video-card p{font-size:14px;line-height:1.6;margin:8px 0}.video-credit{font-size:11px;color:#bad0d8;margin:10px 0}.video-link{display:inline-flex;gap:9px;align-items:center;padding:11px 14px;border-radius:30px;background:linear-gradient(135deg,#ffe7a3,#e4b960);color:#172c2e!important;font-weight:700;text-decoration:none;font-size:13px;min-height:44px}.video-link:focus-visible{outline:3px solid #76f5ef;outline-offset:3px}.video-more{border-top:1px solid #ffffff25;padding-top:12px;margin-top:14px}.video-more summary{cursor:pointer;color:#ffe4a2;font-size:14px;padding:8px 0}.video-note{font-size:11px;margin-bottom:0}

.sponsor-credit{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px 14px;margin:14px auto 0;padding:12px 20px;max-width:620px;background:rgba(4,43,56,.42);border-color:#e8cc8655;box-shadow:none;border-radius:20px}.sponsor-credit>span{font-size:9px;letter-spacing:1.7px;color:#c7dcdb}.sponsor-credit strong{font-size:15px;font-weight:500;color:#ffe3a2}.sponsor-credit small{font-size:11px;color:#c7dcdb}.sponsor-card{border-color:#e8cc8677;background:linear-gradient(135deg,#57716c66,#103b4bb0)}.sponsor-card .meta{color:#f3d394}.sponsor-thanks{line-height:1.7}.sponsor-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:24px 0}.sponsor-actions a{color:#b4f2f2;font-size:14px}
/* Translucent glass reveals the actual scene beneath the popup. */
#detail,#settings-dialog{background:linear-gradient(125deg,rgba(58,117,145,.40),rgba(12,49,69,.48) 55%,rgba(140,168,186,.32));backdrop-filter:blur(18px) saturate(.72);-webkit-backdrop-filter:blur(18px) saturate(.72);border:1px solid #d1edf2a6;box-shadow:inset 0 1px 2px #ffffffb0,0 24px 80px #00172877;text-shadow:0 1px 3px #00182788}dialog::backdrop{background:rgba(2,22,35,.12);backdrop-filter:none;-webkit-backdrop-filter:none}#detail .story,#detail .talking-points>details{background:rgba(5,31,47,.30)}#detail .watch-learn{background:linear-gradient(145deg,rgba(5,95,105,.23),rgba(8,35,55,.27))}#detail .video-card{background:rgba(5,24,37,.24)}#fact{background:linear-gradient(125deg,rgba(58,117,145,.42),rgba(12,49,69,.50));backdrop-filter:blur(18px) saturate(.72);-webkit-backdrop-filter:blur(18px) saturate(.72)}
/* Island editorial typography: expressive titles, calm reading text. */
#detail h2,#settings-dialog h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(30px,4vw,42px);line-height:1.12;letter-spacing:-.025em;color:#fff0cd;text-wrap:balance;margin:22px 0 16px}#detail h2:after{content:'';display:block;width:55px;height:3px;margin-top:18px;border-radius:100%;background:linear-gradient(90deg,#f1d48f,#7adbd6);box-shadow:0 0 12px #f0d28c33}.card h3,.triprow h3,#next-stop strong{font-family:'Manrope','DM Sans',sans-serif;font-weight:800;letter-spacing:-.035em;line-height:1.2}.tourcard h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:28px;color:#fff0cd;letter-spacing:-.025em}.eyebrow,.meta{font-family:'Manrope','DM Sans',sans-serif;font-weight:700;letter-spacing:.15em;font-size:10px;color:#f5d797}.watch-learn h3{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:31px;letter-spacing:-.02em}.video-card h4{font-family:'Manrope','DM Sans',sans-serif;font-weight:700;letter-spacing:-.025em;font-size:19px}.talking-points summary strong{font-family:'Manrope','DM Sans',sans-serif;font-weight:800;letter-spacing:-.025em;color:#ffe5a7;font-size:18px}#detail p,#settings-dialog p{font-family:'DM Sans',sans-serif;line-height:1.7;letter-spacing:.005em}.primary-nav button{font-family:'Manrope','DM Sans',sans-serif;font-weight:600;letter-spacing:-.035em}.category-nav button{font-family:'Manrope','DM Sans',sans-serif;font-weight:600;letter-spacing:-.015em}.island-motto{font-family:'Manrope','DM Sans',sans-serif;letter-spacing:.25em;font-weight:500}#fact h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:28px;line-height:1.15;letter-spacing:-.025em;color:#fff0cd}@media(max-width:600px){#detail h2{font-size:32px}.talking-points summary strong{font-size:17px}.tourcard h3{font-size:25px}}
/* Place photography and layered learning; retain the approved glass surface. */
.place-photo{margin:0;overflow:hidden;background:#123e4d}.place-photo img{display:block;width:100%;height:100%;object-fit:cover}.photo-card,.photo-tour{aspect-ratio:16/9;border-radius:20px 20px 0 0}.photo-place-card{padding:0!important;overflow:hidden;text-align:left}.place-card-body{padding:19px}.photo-hero{margin:-4px -4px 24px;border-radius:22px;background:transparent}.photo-hero img{height:clamp(190px,32vw,310px);border-radius:22px;object-fit:cover}.photo-hero figcaption{padding:10px 3px;font:11px/1.6 var(--body-font, sans-serif);color:#d3e2e7}.photo-hero a{color:#bcecf2}.photo-fact{height:110px;border-radius:13px;margin:12px 0}.photo-trip{height:150px;border-radius:16px;margin-bottom:14px}.photo-details{font-size:13px;margin:22px 0;overflow-wrap:anywhere}.place-chapters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.place-chapters a{padding:12px 14px;border:1px solid #d6bd7466;background:#06384b66;border-radius:30px;color:#ffe0a1;text-decoration:none;font-size:13px}.place-history,.visit-guide{padding:24px 0;border-top:1px solid #d1e4e633;scroll-margin-top:18px}.place-history h3,.visit-guide h3{font-family:Georgia,serif;font-size:27px;margin:10px 0 20px}.history-lead{color:#ffe0a1;font-weight:600}.place-history details{margin:13px 0;padding:15px 18px;border:1px solid #b5dce53b;border-radius:18px;background:#072e4047}.place-history summary{cursor:pointer;color:#ffe0a1;font-weight:600;line-height:1.5}.place-history details p{line-height:1.75}.history-timeline{border-left:2px solid #dabd7066;padding-left:16px}.notice-this{border-left:3px solid #eaca79;padding:12px 18px;background:#d8b9630a}.visit-guide dl{margin:0}.visit-guide dl>div{padding:13px 0;border-bottom:1px solid #b5dce522}.visit-guide dt{color:#ffe0a1;font-size:13px;font-weight:700;margin-bottom:6px}.visit-guide dd{margin:0;line-height:1.7}.history-library{display:grid;gap:14px}.history-stop{display:flex;gap:15px;padding:12px;align-items:center;text-align:left;border-radius:20px}.history-stop>.place-photo{width:95px;height:95px;border-radius:13px;flex-shrink:0}.history-stop>span{display:grid;gap:7px}.history-stop strong{font-family:Georgia,serif;font-size:20px}.history-stop small{color:#f3d38c}.history-stop>span>span{font-size:13px;line-height:1.5;color:#d3e2e7}.tourcard .photo-tour{margin-bottom:18px}.photo-hero figcaption a,.photo-details a{overflow-wrap:anywhere}@media(max-width:480px){.place-card-body{padding:16px}.photo-hero img{height:210px}.history-stop>.place-photo{width:74px;height:85px}.place-history h3,.visit-guide h3{font-size:25px}}
.photo-mini-credit{padding:5px 10px;font-size:9px;line-height:1.5;color:#dce9eb;background:#0a283d;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.photo-card,.photo-tour{aspect-ratio:auto}.photo-card img,.photo-tour img{aspect-ratio:16/9}.photo-library .photo-mini-credit,.photo-fact .photo-mini-credit,.photo-trip .photo-mini-credit{display:none}.photo-fact img,.photo-trip img{height:calc(100% - 0px)}
.park-film{width:100%;aspect-ratio:16/10;border:0;border-radius:14px;margin-top:14px;background:#082a37}.video-card button.video-link{display:inline-flex;width:auto;min-height:44px;margin-right:12px}
.place-notice{padding:17px;border:1px solid #f4c87588;border-radius:16px;background:#4c341b88;margin:18px 0}.place-notice strong{color:#ffdda0}.place-notice small{display:block;margin-top:12px;color:#d5e0df}
.connected-places{margin:24px 0;border-top:1px solid #b5dce533;padding-top:24px}.connected-places h3{font:27px Georgia,serif}.connected-places .history-stop{width:100%;margin-bottom:12px}

.place-history a,.visit-guide a,.place-notice a{color:#bcecf2;text-underline-offset:4px}
/* Place photography: an actual browsable album, with full-view images and readable credits. */
.gallery-hero{margin:0 0 24px}.gallery-cover{display:block;position:relative;width:100%;padding:0;overflow:hidden;border-radius:22px;background:#062b3b}.gallery-cover>img{display:block;width:100%;height:260px;object-fit:cover}.gallery-count{position:absolute;bottom:14px;left:14px;padding:9px 14px;background:#052a3dd9;backdrop-filter:blur(10px);border:1px solid #eac97788;border-radius:30px;color:#fff0cb;font-size:13px}.gallery-preview{display:flex;gap:8px;margin-top:9px}.gallery-preview button{flex:1;padding:0;height:78px;border-radius:12px;overflow:hidden}.gallery-preview img{width:100%;height:100%;object-fit:cover}.gallery-hero-credit{font-size:10px;line-height:1.6;color:#d0dfe5;margin-top:10px;overflow-wrap:anywhere}.gallery-hero-credit a,.place-gallery a,.photo-viewer a{color:#c5edf4}.place-gallery{padding:25px 0;border-top:1px solid #d1e4e633;scroll-margin-top:18px}.place-gallery h3{font:27px Georgia,serif;margin:12px 0}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-tile{overflow:hidden;padding:0;text-align:left;border-radius:17px;min-width:0}.gallery-tile img{display:block;width:100%;height:140px;object-fit:cover}.gallery-tile span{display:block;padding:12px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.photo-viewer{width:min(950px,96vw);max-height:94dvh;padding:18px;border-radius:24px;border:1px solid #accddd8a;background:linear-gradient(145deg,#183e4df2,#041c2bf7);color:#f6fbfc;overflow:auto}.photo-viewer::backdrop{background:#00111bdb;backdrop-filter:blur(15px)}.photo-viewer header{display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:600}.photo-viewer header button,.photo-viewer nav button{min-width:48px;min-height:48px}.photo-viewer figure{margin:16px 0}.photo-viewer figure>img{display:block;width:100%;height:min(55dvh,580px);object-fit:contain;background:#031c27;border-radius:14px}.photo-viewer figcaption{padding:14px 2px;line-height:1.6}.photo-viewer figcaption>div{margin-top:8px;font-size:11px;color:#cbdde3;overflow-wrap:anywhere}.photo-viewer nav{display:flex;justify-content:center;align-items:center;gap:25px}.viewer-thumbnails{display:flex;gap:9px;margin:15px auto 0;overflow:auto}.viewer-thumbnails button{width:85px;height:64px;flex-shrink:0;padding:0;border-radius:9px;overflow:hidden}.viewer-thumbnails button[aria-pressed=true]{outline:2px solid #f3ce78;outline-offset:2px}.viewer-thumbnails img{width:100%;height:100%;object-fit:cover}.operator-photos{padding:20px;background:#123d4c66;border-radius:18px;margin-bottom:20px}@media(max-width:480px){.gallery-cover>img{height:220px}.gallery-preview button{height:65px}.gallery-grid{gap:8px}.gallery-tile img{height:115px}.photo-viewer{padding:13px}.photo-viewer figure>img{height:43dvh}}

#detail>.close,#detail-content>.close{z-index:5;min-width:44px;min-height:44px;border-radius:50%;background:#072937dd;border:1px solid #d3eceb88;color:white;box-shadow:0 3px 16px #001a2d55;backdrop-filter:blur(12px)}

/* iPhone photo browsing: native scrolling, safe areas and continuous swipe gestures. */
.hero-photo-rail,.photo-swipe-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y}.hero-photo-rail::-webkit-scrollbar,.photo-swipe-rail::-webkit-scrollbar{display:none}.hero-photo-rail>.gallery-cover{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always}.gallery-hint{font-size:12px;color:#dfedea;text-align:center;margin:10px 0}.photo-swipe-rail{width:100%}.photo-swipe-rail>.photo-slide{flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always;margin:0}.photo-viewer{font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif;padding:0;background:#071923;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;overflow:auto}.photo-viewer header{padding:calc(14px + env(safe-area-inset-top)) 18px 14px;min-height:70px}.photo-viewer figure>img{border-radius:0;height:58dvh;background:#071923;object-fit:contain}.photo-viewer figcaption{padding:16px 20px;font-size:14px}.photo-viewer figcaption details{font-size:11px;color:#b9cfda;margin-top:10px}.photo-viewer nav{margin:10px 0}.viewer-thumbnails{padding:7px 20px calc(12px + env(safe-area-inset-bottom));margin:0}.photo-viewer header button{background:#ffffff20;border:0;font-size:24px}.photo-viewer nav button{background:transparent;border:0;font-size:36px;box-shadow:none}@media(min-width:700px){.photo-viewer{width:min(1100px,94vw);height:auto;max-height:94dvh;border-radius:24px}.photo-viewer figure>img{height:55dvh}}

#detail{font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif}.place-chapters{position:sticky;top:0;z-index:3;display:flex;gap:6px;padding:10px 4px;background:#123642de;backdrop-filter:blur(18px);overflow-x:auto;scrollbar-width:none}.place-chapters a{white-space:nowrap;padding:10px 14px;border-radius:24px;font-size:13px;background:#ffffff14;text-decoration:none;min-height:44px;display:flex;align-items:center}.hero-photo-rail,.photo-swipe-rail{cursor:grab}.hero-photo-rail:active,.photo-swipe-rail:active{cursor:grabbing}.hero-photo-rail img{pointer-events:none}.story-lesson h3{font:600 24px/1.25 -apple-system,BlinkMacSystemFont,sans-serif}.lesson-chapter{padding:22px 0;border-bottom:1px solid #b8d8df33}.lesson-chapter p{font-size:16px;line-height:1.8}.lesson-meta{display:flex;gap:10px;flex-wrap:wrap;color:#ffe2a7;font-size:12px}.lesson-chapter img{width:100%;height:190px;object-fit:cover;border-radius:16px;margin:14px 0}.lesson-sources a{display:block;margin:10px 0}.lesson-question{padding:20px;background:#112f4266;border-radius:18px;margin:22px 0}.lesson-question summary{color:#ffe2a7;font-weight:600}.lesson-question p{line-height:1.7}

.lesson-contents{display:grid;gap:8px;margin:20px 0 28px}.lesson-contents a{display:flex;align-items:center;gap:13px;padding:12px 14px;min-height:44px;color:#f4e4b6;background:rgba(9,33,43,.32);border:1px solid rgba(255,255,255,.16);border-radius:14px;text-decoration:none;font-size:15px}.lesson-contents span{font-size:12px;color:#9fdedc}.lesson-chapter{scroll-margin-top:80px}.lesson-chapter h4{font-size:21px;line-height:1.3;margin:7px 0 12px;color:#fff1cf}.lesson-chapter p{font-size:17px;line-height:1.75;margin:0}.lesson-sources{display:grid;gap:10px;margin-top:24px}.lesson-sources a{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}.lesson-meta{color:#bdd9df;font-size:14px}

.gallery-grid{display:flex!important;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:12px}.gallery-grid .gallery-tile{flex:0 0 78%;max-width:360px;scroll-snap-align:start}.gallery-tile img{height:190px;object-fit:cover}.gallery-tile span{font-size:14px;line-height:1.4}.gallery-cover img{user-select:none;-webkit-user-drag:none}

.place-chapters{flex-wrap:nowrap}.place-history,.place-gallery,.visit-guide,.watch-learn{scroll-margin-top:80px}.lesson-chapter{scroll-margin-top:80px}

#fact{width:min(360px,calc(100vw - 24px));padding:8px 44px 8px 10px;bottom:calc(16px + env(safe-area-inset-bottom));right:12px;border-radius:22px;max-height:220px;overflow:hidden;box-shadow:0 8px 28px #001f3955;animation:fact-in .28s ease}#fact .fact-story{display:grid;gap:6px;width:100%;padding:10px 8px;border:0;box-shadow:none;background:transparent;text-align:left;color:#f8faf8;border-radius:14px}#fact .fact-kicker{font:600 9px/1.3 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.08em;color:#f2d99e}#fact .fact-story strong{font:600 16px/1.25 -apple-system,BlinkMacSystemFont,sans-serif}#fact .fact-teaser{font:14px/1.45 -apple-system,BlinkMacSystemFont,sans-serif;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#fact .fact-more{font-size:11px;color:#c8eae6}#fact .fact-dismiss{position:absolute;right:3px;top:3px;min-height:44px;min-width:44px;padding:0;border:0;background:transparent;box-shadow:none;font-size:24px;color:#edf5f6}@media(max-width:800px){#fact{left:auto;right:12px;width:calc(100% - 24px)}}@media(prefers-reduced-motion:reduce){#fact{animation:none}}

body.gps-pending #map .maplibregl-canvas{visibility:hidden}body.gps-pending .maparea::before{content:'Finding your location…';position:absolute;inset:0;display:grid;place-items:center;color:#fff1ca;background:#063b49;z-index:1;pointer-events:none}

/* Paid phone layout: deliberate rows, legible type, and unobstructed map controls. */
@media (max-width:800px) {
  body{background-size:auto 100dvh;background-attachment:fixed;}
  header{height:94px;padding:16px 18px 10px;gap:12px;}
  .brand{font-size:17px;letter-spacing:3px;gap:12px;min-width:0;}
  .brandmark{width:48px;height:48px;}
  .brand small{font-size:11px;letter-spacing:4px;margin-top:4px;}
  .brand em{font-size:7px;letter-spacing:1.3px;margin-top:8px;white-space:nowrap;}
  .hawaii-word{display:none;}
  .iconbtn{margin-left:auto;width:44px;height:44px;flex:0 0 44px;}
  .primary-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 44px;gap:6px;padding:0 12px;margin:8px auto 14px;}
  .primary-nav button{min-width:0;height:46px;font-size:14px;gap:5px;padding:8px 6px;white-space:nowrap;border-radius:24px;}
  .primary-nav button .ui-icon{width:20px;height:20px;}
  .primary-nav .nav-search{height:46px;width:44px;padding:10px;}
  #trip-count{display:none;}
  main{padding:0 12px;}
  .maparea{height:clamp(430px,58dvh,540px);min-height:430px;max-height:540px;border-radius:22px;}
  .discovery-row{top:10px;left:10px;right:10px;gap:8px;height:64px;}
  .maptitle{min-width:0;gap:0;padding:10px 12px;border-radius:16px;}
  .discovery-thumbnail,.maptitle>.ui-icon{display:none;}
  .summary-copy{min-width:0;gap:3px;}
  .summary-copy small{font-size:9px;letter-spacing:1.8px;}
  .summary-copy strong{font-size:19px;line-height:1.2;letter-spacing:-.4px;white-space:nowrap;}
  .summary-copy>span{font-size:10px;line-height:1.35;}
  .favorites-tile{flex:0 0 82px;width:82px;min-height:44px;justify-content:center;text-align:center;padding:8px;font-size:12px;line-height:1.35;border-radius:16px;}
  .favorite-icon,.favorites-tile>.ui-icon{display:none;}
  #region-shortcuts{top:84px;bottom:auto;left:10px;right:10px;display:flex;justify-content:flex-start;flex-wrap:nowrap;gap:5px;overflow-x:auto;scrollbar-width:none;padding:0 0 3px;}
  #region-shortcuts::-webkit-scrollbar{display:none;}
  #region-shortcuts button{flex:0 0 auto;min-width:44px;min-height:44px;padding:8px 9px;font-size:11px;line-height:1;border-radius:22px;}
  .mapnote{top:135px;bottom:auto;left:12px;right:12px;max-width:none;font-size:10px;line-height:1.3;pointer-events:none;}
  .maplibregl-ctrl-top-left{top:156px;left:2px;}
  .maplibregl-ctrl-group button{width:44px;height:44px;}
  .mapactions{left:10px;right:10px;bottom:34px;display:flex;justify-content:center;gap:6px;}
  .mapactions button{flex:1 1 0;min-width:44px;min-height:44px;height:44px;padding:7px 5px;font-size:12px;line-height:1;gap:4px;white-space:nowrap;}
  .mapactions button .ui-icon{width:18px;height:18px;}
  #locate{flex:0 0 44px;grid-column:auto;min-width:44px;width:44px;font-size:0;padding:10px;}
  #locate>.ui-icon{width:23px;height:23px;}
  #locate .location-switch{display:none;}
  #locate.enabled{color:#ffe4a5;border-color:#ffe4a5;background:#12687b;}
  #three-d-view{flex:0 0 44px;}
  #driving-view{flex:1.3 1 0;}
  #fit{flex:0 0 68px;min-width:68px;padding:7px 5px;font-size:11px;}
  .compass-button{bottom:94px;right:12px;width:44px;height:52px;border-radius:22px;padding:4px;}
  .compass-button span{font-size:10px;}
  .compass-button .ui-icon{width:25px;height:25px;}
  .maplibregl-ctrl-attrib{font-size:8px;line-height:14px;max-width:calc(100vw - 28px);}
  #gpsbar{bottom:94px;right:64px;left:64px;max-width:none;font-size:11px;text-align:center;}
  #next-stop{top:164px;left:66px;right:12px;max-width:none;padding:12px;}
  #next-stop .actions button{min-height:44px;}
  .discovery-tools{margin:14px auto 0;}
  .search{height:52px;padding:0 16px;gap:10px;border-radius:18px;}
  .search input{font-size:15px;}
  .search .ui-icon{width:22px;height:22px;}
  .category-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;padding:20px 8px 8px;}
  .category-nav button{min-height:76px;min-width:44px;font-size:12px;line-height:1.3;gap:7px;white-space:normal;}
  .category-orb{width:48px;height:48px;}
  .category-orb .ui-icon{width:25px;height:25px;}
  .sponsor-credit{margin:14px 0 0;padding:14px 16px;border-radius:18px;gap:6px;}
  .sponsor-credit>span{width:100%;font-size:9px;letter-spacing:1.5px;}
  .sponsor-credit strong{font-size:14px;}
  .sponsor-credit small{font-size:11px;}
  .island-motto{font-size:9px;letter-spacing:1.8px;line-height:1.5;padding:18px 8px 24px;}
  #sidebar{top:max(16px,env(safe-area-inset-top));bottom:max(16px,env(safe-area-inset-bottom));left:12px;right:12px;padding:18px;border-radius:22px;}
  .drawer-head{min-height:44px;}
  .drawer-head button,.close{min-width:44px;min-height:44px;}
  .controls select{min-height:44px;font-size:14px;}
  .card{padding:16px;}
  .card h3{font-size:20px;line-height:1.25;}
  .card p{font-size:15px;line-height:1.6;}
  dialog{width:calc(100% - 24px);padding:22px 18px;border-radius:22px;max-height:calc(100dvh - 32px);}
  #detail h2,#settings-dialog h2{font-size:30px;line-height:1.2;margin:28px 0 16px;}
  #detail p,#settings-dialog p{font-size:15px;line-height:1.65;}
  .actions button,.actions a,.menu-links button,.tourlist button{min-height:44px;}
  .video-link{min-height:44px;}
  .setting{gap:12px;}
  #fact{left:12px;right:12px;bottom:max(16px,env(safe-area-inset-bottom));width:auto;padding:20px;max-height:70dvh;overflow-y:auto;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

@media(max-width:800px){.mapnote{width:fit-content;max-width:calc(100% - 24px);padding:4px 7px;border-radius:7px;background:#07384ed9;color:#eef8fa;text-shadow:none;}}

#fact{padding:8px 44px 8px 10px;max-height:220px;overflow:hidden;left:12px;right:12px}

/* Keep the live GPS dot above tour pins and reserve the phone safe area. */
.your-location{z-index:100!important;pointer-events:none}
@media(max-width:800px){header{height:calc(94px + env(safe-area-inset-top));padding-top:calc(16px + env(safe-area-inset-top))}body{padding-bottom:env(safe-area-inset-bottom)}body.live-gps .discovery-row,body.live-gps #region-shortcuts,body.live-gps .mapnote{display:none}.maparea{isolation:isolate}}

@media(orientation:landscape) and (max-height:600px){
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
header{height:60px;padding:8px 18px;}.brand{font-size:15px;letter-spacing:2px}.brandmark{width:38px;height:38px}.brand small{font-size:9px}.brand em,.hawaii-word{display:none}
.primary-nav{position:absolute;top:8px;right:78px;width:340px;margin:0;gap:6px;padding:0}.primary-nav button{height:44px;font-size:13px;padding:8px}.primary-nav .nav-search{width:44px;height:44px}
main{padding:0 12px}.maparea{height:calc(100dvh - 72px);min-height:250px;max-height:none}.discovery-row{height:58px;top:8px}.maptitle{padding:8px 14px}.summary-copy strong{font-size:18px}.summary-copy span{font-size:10px}.discovery-thumbnail{display:none}.favorites-tile{font-size:12px}.maplibregl-ctrl-top-left{top:80px}.mapactions{bottom:25px}.mapactions button{height:44px;min-height:44px;font-size:12px}.compass-button{width:44px;height:52px;bottom:85px}#gpsbar{bottom:85px}.discovery-tools{margin-top:10px}#fact{width:340px;left:auto;right:max(12px,env(safe-area-inset-right))}
}
body.live-gps .discovery-row,body.live-gps #region-shortcuts,body.live-gps .mapnote{display:none}
/* Equal edge columns center the brand independently of the menu button. */
header{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;justify-items:center;gap:10px}
header .brand{grid-column:2;justify-content:center;min-width:0;text-align:center;gap:10px}
header .iconbtn{grid-column:3;margin-left:0;justify-self:center}
header .hawaii-word{display:none}
@media(max-width:800px){header{padding-left:12px;padding-right:12px}.brand{font-size:15px;letter-spacing:2px}.brand small{letter-spacing:3px}.brandmark{width:40px;height:40px}.brand em{font-size:6px;letter-spacing:.9px}}
@media(orientation:landscape) and (max-height:600px){header{height:68px}.primary-nav{position:relative;top:auto;right:auto;width:auto;max-width:540px;margin:0 auto 8px}.maparea{height:calc(100dvh - 130px);min-height:200px}}
header .media-logo{width:62px;height:36px;object-fit:contain;filter:drop-shadow(0 1px 4px #062b35)}
@media(max-width:800px){header .brand{font-size:15px;letter-spacing:1.8px;gap:8px}header .brand small{font-size:11px;letter-spacing:4px}header .brand em{font-size:6px;letter-spacing:.6px}}

html,body{width:100%;max-width:100%;overflow-x:hidden}button,a,input,select{touch-action:manipulation}input,select,textarea{font-size:16px!important}
/* A fixed full-screen backdrop remains continuous through long pages. */
html{background:#052e43}body{background:none!important;isolation:isolate;min-height:100dvh}body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#062e4220,#062e4200 50%,#062e4260),url(tropical-backdrop.png) center/cover no-repeat;transform:none}
