.info{max-width:520px;margin:0 auto;color:var(--ink);overflow-wrap:anywhere}.info h1{margin-top:8px}.info-card{background:var(--paper);border-radius:20px;padding:20px;margin:16px 0}.info-card h2,.info-card h3{margin-top:0}.info-place{width:100%;height:180px;object-fit:cover;border-radius:14px}.info-pills{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.info button,.info input,.info select,.info a{min-height:44px}.info button,.info input,.info select,.info textarea{font:inherit;border-radius:14px;border:1px solid var(--fog);padding:10px 12px;max-width:100%;box-sizing:border-box}.info button{cursor:pointer;background:var(--paper);color:var(--ink)}.info button:disabled{opacity:.6;cursor:wait}.info-pills button{border-radius:999px;border-color:var(--teal);color:var(--teal)}.info-pills button[aria-pressed=true]{background:var(--teal);color:var(--paper)}.info label{display:grid;gap:8px;margin:16px 0}.info input,.info textarea,.info select{width:100%;background:var(--paper);color:var(--ink)}.info textarea{min-height:100px}.info .info-check{display:flex;align-items:center;gap:12px;min-height:44px}.info-check input{width:24px;min-height:24px;height:24px}.info a{display:inline-flex;align-items:center;padding:6px 8px;color:var(--ocean);box-sizing:border-box}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-grid .info-tile{background:var(--paper);border-radius:20px;padding:16px;min-height:80px}.info dt{font-weight:650;margin-top:12px}.info dd{margin:4px 0}.info-banner{background:var(--sand);padding:16px;border-radius:14px;font-weight:650}.info-note{white-space:pre-wrap}.info :focus-visible{outline:3px solid var(--ocean);outline-offset:3px}
.info-map{height:340px;min-height:280px;background:#eef4f5;border-radius:14px;overflow:hidden;position:relative;z-index:0}.info-map:has(svg[viewBox]){height:auto}.info-map svg[viewBox]{display:block;width:100%;max-height:340px}.info-map p{margin:8px 12px;font-size:13px}.info-anchor{font-size:28px;text-align:center;line-height:44px}.info-place-row{background:var(--paper);border-radius:14px;margin:10px 0;padding:8px}.info-place-row button{width:100%;text-align:left;border:0;line-height:1.6}.info details{margin:12px 0}.info summary{min-height:44px;display:flex;align-items:center;font-weight:650;cursor:pointer}.info-weather{padding:12px;background:var(--bg);border-radius:14px}.info footer{font-size:12px;color:var(--fog);margin:24px 0}.info-source{overflow-wrap:anywhere}.info-source button{min-height:44px}.info .leaflet-control-attribution{font-size:11px}

/* Compact Local Info controls; other info views retain their existing layout. */
.info-local h1{margin:8px 0}
.info-update{display:flex;align-items:center;justify-content:flex-end;gap:4px;color:var(--fog);font-size:12px;min-height:44px}
.info-update p{margin:0;text-align:right}
.info-update button{flex:0 0 44px;width:44px;padding:0;border:0;background:transparent;color:var(--fog);font-size:24px}
.info-local .info-ports,.info-local .info-categories{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;gap:6px;margin:0;padding:4px 0;scroll-padding-inline:4px}
.info-ports button,.info-categories button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
.info-local .info-ports button{height:36px;min-height:36px;padding:6px 12px}
.info-local .info-tabs{position:sticky;top:var(--topbar-h,64px);z-index:10;display:flex;flex-wrap:nowrap;gap:0;padding:4px;margin:4px 0 8px;background:var(--paper);border-radius:999px;box-shadow:0 1px 4px #18273318}
.info-local .info-tabs button{flex:1 1 0;min-width:0;min-height:40px;height:40px;padding:6px 2px;border:0;font-size:14px;white-space:nowrap}
.info-map-panel{position:relative;isolation:isolate}
.info-local .info-map-panel .info-categories{position:absolute;top:0;left:0;right:0;z-index:2;padding:6px;background:rgb(255 255 255 / 85%);backdrop-filter:blur(8px);border-radius:14px 14px 0 0}
.info-map-panel [data-map].info-map{height:calc(100dvh - var(--info-map-top,240px) - var(--ticker-h,40px) - var(--nav-h,64px) - env(safe-area-inset-bottom));min-height:360px}
.info-map-panel .leaflet-top{top:62px}
.info-map-panel .info-map svg[viewBox]{margin-top:62px;max-height:calc(100% - 100px)}

/* Keep a finger-sized hit area around the compact category pin. */
.info-map-marker{display:flex;align-items:center;justify-content:center;background:transparent;border:0}
.info-map-marker span{display:block;width:14px;height:14px;box-sizing:border-box;border:2px solid #fff;border-radius:50%}
.leaflet-tile{outline:1px solid transparent;image-rendering:-webkit-optimize-contrast}
/* Leaflet positions images independently of the global responsive image rule. */
.leaflet-container img,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important}
.leaflet-container .leaflet-tile{width:256px;height:256px}

/* Info screens follow the shared white-card / teal-control system. */
.info-card{box-shadow:0 4px 18px #063e5610;border:1px solid #e7edef}
.info h2,.info h3{color:var(--ticker)}
.info-row-copy{flex:1;min-width:0;text-align:left}
.info-place-row button{display:flex;align-items:center;gap:12px;color:var(--fog);font-weight:400}
.info-place-row strong{color:var(--ticker)}
.info-place-row button>.ec-icon,.info-place-row button>span:first-child{color:var(--teal)}
.info-port-heading{display:flex;justify-content:space-between;gap:12px;margin-top:14px}
.info-port-heading h2{margin-bottom:4px}.info-port-heading p{font-size:13px}
.info-weather-summary{max-width:48%;text-align:right;color:var(--ocean)}
.info-weather-summary>.ec-icon{color:#e8a000}.info-weather-summary .info-weather{background:none;padding:0;font-size:12px}
.info-weather-summary .info-weather:not(:first-of-type){display:none}
.info-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 24px}
.info-category-grid button{display:flex;flex-direction:column;gap:8px;min-height:84px;padding:10px 4px;border:0;background:#eaf5f7;color:var(--teal);font-size:12px}
.info-category-grid [data-nearby=safety]{color:var(--alert)}
.info-quick-row{display:flex;gap:12px;align-items:center;padding:12px 0;color:var(--ocean)}
.info-quick-row p{margin:0;color:var(--fog);font-size:14px}
.info-profile{display:flex;gap:18px;align-items:center;padding:20px 0;color:var(--ticker)}
.info-avatar{width:80px;height:80px;flex:none;border-radius:50%;background:#e5f5f3;color:var(--teal);display:grid;place-items:center}
.info-profile p{font-size:14px;margin:4px 0}.info-profile button{padding:0;border:0;color:var(--ocean);background:transparent}
.info-settings form{gap:0;padding:8px 16px}.info-settings details{margin:0;border-bottom:1px solid #e7edef}
.info-settings summary{gap:12px;padding:8px 0;color:var(--ticker);font-size:14px;list-style:none}
.info-settings summary span{flex:1}.info-settings summary::-webkit-details-marker{display:none}
.info-settings details[open] summary>.ec-icon:last-child{transform:rotate(90deg)}
.info-settings .info-signout{width:100%;color:var(--alert);border:1px solid #efb9b6;background:var(--paper);margin:20px 0}
.info-announcement{border-bottom:1px solid #e7edef;padding:16px 0;background:var(--paper)}
.info-announcement>a{display:flex;gap:14px;color:var(--ticker);text-decoration:none;align-items:center;padding:0}
.info-announcement strong,.info-announcement time,.info-preview{display:block}
.info-announcement time,.info-preview{font-size:13px;color:var(--fog);font-weight:400}
.info-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:4px 0}
.info-announcement-icon{color:var(--teal)}.tone-safety{color:#da8500}.tone-crew{color:var(--alert)}.tone-official_source{color:var(--ocean)}.tone-unconfirmed{color:var(--fog)}
.info-admin-row{grid-template-columns:auto 1fr;align-items:center}.info-admin-row>.ec-icon{color:var(--teal)}
.info-admin-row>label,.info-admin-row>button{grid-column:2}
.event-info-panel details{border-bottom:1px solid #e7edef;padding:8px 0}.event-info-panel summary{min-height:44px;cursor:pointer;font-weight:700}
.event-info-table{overflow-x:auto}.event-info-table th,.event-info-table td{padding:10px 6px;text-align:left}
.info-radar .feed-tabs,.event-info-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:6px;border-radius:22px;margin:0 0 12px}
.info-radar .feed-tabs button,.event-info-tabs button{flex:1;min-height:44px;border:0;border-radius:999px;background:#edf5f7;color:var(--ocean);padding:8px 12px}
.info-radar .feed-tabs button[aria-pressed=true],.event-info-tabs button[aria-pressed=true]{background:var(--teal);color:white}
html{scroll-padding-top:var(--info-scroll-top,80px);scroll-padding-bottom:calc(var(--ticker-h) + var(--nav-h) + 16px)}
.info-sticky-marker{display:block;height:0;pointer-events:none}
.info-sticky,.info-local .info-guide-controls{position:sticky;top:var(--topbar-h,64px);z-index:9;background:var(--bg);padding-top:4px;padding-bottom:4px}
.info-sticky.is-stuck{box-shadow:0 5px 8px -6px #063e5650}
.info-local .info-tabs{position:static;box-shadow:none;margin:0;background:#edf5f7}
.info-local .info-ports button,.info-local .info-tabs button{min-height:44px;height:44px}
.info-local .info-categories,.info-local .info-map-panel .info-categories,.event-faq-controls{position:sticky;top:calc(var(--topbar-h,64px) + var(--info-controls-h,0px));z-index:8;background:var(--bg);backdrop-filter:none;border-radius:0;padding:6px 0}
.info-map-panel{isolation:auto}.info-map-panel .leaflet-top{top:0}
.info-map-panel .info-map svg[viewBox]{margin-top:0}
.event-faq-controls{margin:-1px -1px 12px;padding:8px 1px}
.info-overview{padding:12px}.info-overview .info-place{height:180px}
.info-overview summary{gap:10px;color:var(--ocean);font-size:14px}
.info-overview .info-quick-row{border-bottom:1px solid #e7edef;font-size:14px}
.info-currency summary>.ec-icon:last-child{margin-left:auto}
.info-currency[open] summary>.ec-icon:last-child{transform:rotate(90deg)}

.info-radar .feed-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin}
.info-radar .feed-tabs button{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;min-width:44px}

/* Shared glass surfaces retain each feature’s layout and interactions. */
.info-card,.info-place-row,.info-weather,.info-grid .info-tile,.info-announcement,.info-local .info-tabs,.info-sticky,.info-local .info-guide-controls,.info-local .info-categories,.info-local .info-map-panel .info-categories,.event-faq-controls,.event-info-tabs,.info-radar .feed-tabs{background:var(--glass);color:var(--ink);border:var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}

/* Review polish: compact controls without standalone bars. */
.info-local .info-guide-controls>.info-update{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0 4px;min-height:44px}.info-local .info-update p{font-size:11px;line-height:1.3}

/* Settings tools keep touch targets usable on narrow phones. */
.info-settings [data-update-status],.info-settings [data-test-status]{font-size:14px;line-height:1.5}
.info-settings [data-apply-update]{background:var(--teal);color:var(--paper)}
.info-settings .settings-test-member{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}
.settings-test-member>span{min-width:0;overflow-wrap:anywhere}.settings-test-member>button{flex-shrink:0;min-height:44px}
.info-settings .settings-section>button{margin-bottom:12px;min-height:44px}

/* Port guide additions; shared ec-* presentation belongs to kit.css. */
.info-local .port-tile{display:flex;flex-direction:column;justify-content:center;gap:3px;width:100%;min-height:92px;text-align:left;background-size:cover;background-position:center;color:#fff;border:0;border-radius:18px;padding:10px 16px;margin:0 0 12px}
.port-tile strong{font-size:21px}.port-tile small{font-size:12px;line-height:1.3}
.port-glance{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;font-size:13px}
.port-glance span{flex:1 1 110px}.port-glance button{min-height:44px}
.info-local .info-category-grid{display:flex;grid-template-columns:none;flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:12px 0;top:calc(var(--topbar-h,64px) + var(--info-controls-h,0px))}
.info-local .info-category-grid button{flex:0 0 auto;flex-direction:row;align-items:center;min-height:44px;padding:8px 12px;white-space:nowrap}
.info-local .port-place{text-align:left;padding:0;overflow:hidden;min-width:0;width:100%}
.port-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#d7f3ef,#c3d8ee);color:#146878}
.port-placeholder[data-kind=food]{background:linear-gradient(135deg,#ffebca,#edc7b2);color:#8a471d}
.port-placeholder[data-kind=shopping]{background:linear-gradient(135deg,#f7dce9,#e2d4f2);color:#913d71}
.port-placeholder[data-kind=safety]{background:linear-gradient(135deg,#f8ddd7,#f1e9cc);color:#a14a38}
.port-placeholder .ec-icon{width:36px;height:36px}
.port-place .ec-card-body{display:block}.port-place strong,.port-place small{display:block;overflow-wrap:anywhere}
.info-local [data-content],.info-local .info-overview{min-width:0}

/* Frosted text surfaces; image tiles retain their own backgrounds. */
.info-update,.info-local .info-guide-controls>.info-update,.port-glance,.info-local .port-place{background:var(--glass);color:var(--ink);border:var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}
