:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173e4b;background:#f8fafb;font-synthesis:none;font-weight:400;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #38b6b0;outline-offset:3px}a{color:#087e8b}button:disabled{opacity:.5;cursor:wait}.app{height:100dvh;min-height:500px;display:flex;flex-direction:column;overflow:hidden}.topbar{height:82px;flex:none;background:#fff;display:flex;align-items:center;padding:0 30px;gap:32px;border-bottom:1px solid #e3ebed;z-index:5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#113e4d;min-width:250px;font-size:24px;font-weight:750;letter-spacing:-1px}.brand-icon{width:44px;height:44px;background:#063f51;border-radius:14px;display:grid;place-items:center;color:#76dfd7;box-shadow:inset 0 0 0 1px #ffffff18}.brand-light{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:2.2px;margin-top:4px;color:#708b94;font-weight:600}.search-wrap{width:min(450px,44vw);position:relative}.search-box{height:45px;border:1px solid #dde7e9;border-radius:10px;background:#f6f9fa;display:flex;align-items:center;gap:12px;padding:0 14px;color:#718a92}.search-box input{min-width:0;width:100%;border:0;outline:0;background:none;font-size:13px;color:#234d59}.search-box input::placeholder{color:#82979d}.search-box kbd{background:#fff;border:1px solid #e1e9eb;padding:2px 5px;border-radius:4px}.search-box button{display:grid;place-items:center;padding:0}.search-results{position:absolute;top:52px;background:#fff;box-shadow:0 12px 35px #123b4a23;width:100%;border-radius:12px;overflow:hidden;border:1px solid #dfe8ea}.search-results>button{padding:14px;display:flex;align-items:center;gap:12px;width:100%;text-align:left}.search-results>button:hover{background:#f0f9f8}.search-results>button>span{flex:1}.search-results strong,.search-results small{display:block}.search-results small{font-size:11px;color:#7c9299;margin-top:4px}.search-results p{padding:14px;font-size:13px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:18px}.top-actions>button{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;min-height:44px}.top-actions b{border-radius:50%;background:#e6f5f3;color:#087f80;padding:3px 6px;font-size:10px}.top-actions .help-button{padding-left:18px;border-left:1px solid #e0e9ec;color:#7b929a}main{position:relative;flex:1;min-height:0}.map-region{position:absolute;top:0;right:0;bottom:0;left:408px;background:#b7dce7}.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.maplibregl-canvas:focus{outline:0}.maplibregl-ctrl-top-right{top:32px;right:17px}.maplibregl-ctrl-group{border-radius:10px!important;box-shadow:0 3px 16px #184a5a18!important}.maplibregl-ctrl-group button{width:42px;height:42px}.maplibregl-ctrl-attrib{font-size:10px!important;background:#ffffffdf!important;max-width:100%}.map-top-label{position:absolute;top:24px;left:24px;background:#fffffff0;border:1px solid #fff;padding:11px 14px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.8px;font-weight:700;color:#557681;box-shadow:0 2px 10px #244b5910}.pulse{width:6px;height:6px;border-radius:50%;background:#0fa49d;box-shadow:0 0 0 4px #16a59d10}.map-tools{position:absolute;right:27px;top:150px;display:grid;gap:10px}.map-tools button{background:#fff;border-radius:10px;box-shadow:0 3px 16px #184a5a18;width:42px;height:42px;display:grid;place-items:center;color:#325d69}.map-hint{position:absolute;bottom:62px;left:50%;transform:translate(-50%);display:flex;gap:9px;align-items:center;white-space:nowrap;background:#fffffff5;padding:13px 20px;border-radius:40px;box-shadow:0 5px 20px #28576b18;font-size:12px;color:#406673}.map-key{position:absolute;bottom:30px;left:24px;font-size:10px;color:#315c6c;display:flex;align-items:center;gap:6px}.map-dot{width:7px;height:7px;border-radius:50%;background:#00848e}.map-dot.custom{margin-left:12px;background:#103f52}.site-marker{width:28px;height:28px;color:#fff;background:#174a60;border:3px solid white;border-radius:50%;box-shadow:0 2px 6px #164d6055;font-size:14px;display:grid;place-items:center}.map-error{position:absolute;top:80px;left:24px;right:90px;background:#fff7e8;color:#805d22;padding:12px;border-radius:8px;font-size:12px;display:flex;gap:12px}.map-error button{margin-left:auto;font-size:18px}.panel{position:absolute;left:0;top:0;bottom:0;width:408px;display:flex;flex-direction:column;background:#fff;z-index:2;box-shadow:6px 0 24px #163d4a09}.panel-handle{display:none}.welcome{padding:42px 32px;overflow-y:auto;height:100%;background:radial-gradient(ellipse at 100% 7%,#eff9f8 0,#fff 45%)}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:700;color:#73929b}.welcome-symbol{width:80px;height:80px;display:flex;align-items:center;color:#07939b;margin-top:35px;background:#ebf8f6;border-radius:50%;justify-content:center}.welcome h1{font-size:40px;line-height:1.17;font-weight:650;letter-spacing:-1.6px;margin:23px 0 17px;color:#133f4e}.welcome>p{font-size:14px;line-height:1.8;color:#718992;margin-bottom:30px}.welcome-steps{border-top:1px solid #e7edef;border-bottom:1px solid #e7edef;padding:14px 0;margin:30px 0}.welcome-steps>div{display:flex;align-items:center;gap:14px}.welcome-steps span{font-size:10px;letter-spacing:1px;color:#0c999d;background:#f0f8f7;border-radius:6px;padding:6px}.welcome-steps p{font-size:12px;color:#4b6d78}.primary{background:#087f89;color:#fff;border:1px solid #087f89;border-radius:9px;padding:14px 17px;min-height:47px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:13px;transition:background .2s}.primary:hover{background:#086875}.welcome>.primary{width:100%}.welcome .small{font-size:10px;text-align:center;margin:10px 0;color:#8ba0a6}.welcome-note{margin-top:34px;display:flex;gap:12px;padding:17px;background:#f6f9fa;border-radius:9px}.welcome-note svg{flex-shrink:0;color:#6f919d;margin-top:2px}.welcome-note p{margin:0;font-size:11px;line-height:1.6;color:#78929a}.point-heading{padding:27px 25px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f2;gap:10px}.point-heading h1{font-size:23px;letter-spacing:-.5px;margin:8px 0;max-width:290px;overflow-wrap:anywhere}.point-heading p{font-size:11px;margin:0;color:#8399a1;display:flex;gap:5px;align-items:center}.icon-button{border:1px solid #e0e9ec;border-radius:10px;width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;background:#fff}.icon-button.saved{color:#098b8c;background:#ecf8f6;border-color:#d1ede8}.panel-scroll{overflow:auto;padding:22px 25px 25px;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#d8e6e9 transparent}.status-card{padding:18px;border-radius:11px;background:#edf8f4;border:1px solid #dceee6;color:#286351}.status-card.caution{background:#fff7e8;border-color:#f4e8ca;color:#805d25}.status-card.unfavorable{background:#fff0ed;border-color:#f5d9d3;color:#a64d3e}.status-card.insufficient{background:#f2f5f7;border-color:#e1e8eb;color:#657f8a}.status-top{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:700;letter-spacing:1.1px}.status-dot{width:5px;height:5px;background:currentColor;border-radius:50%}.status-indicator{margin-left:auto;font-size:7px;opacity:.6}.status-card h2{font-size:20px;letter-spacing:-.4px;line-height:1.3;margin:12px 0 8px}.status-card p{font-size:11px;line-height:1.65;margin:0;opacity:.85}.date-strip{display:flex;gap:5px;overflow:auto;margin:23px 0 17px;padding-bottom:3px;scrollbar-width:none}.date-strip button{min-width:56px;padding:10px 7px;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:7px;border:1px solid #e4ecee;color:#7a929a}.date-strip span{font-size:10px}.date-strip strong{font-size:10px;font-weight:600;white-space:nowrap}.date-strip .active{background:#073f50;color:#fff;border-color:#073f50}.hour-heading{display:flex;justify-content:space-between;align-items:center;color:#81979f;font-size:9px;margin-bottom:8px}.hour-heading>span:first-child{display:flex;gap:5px;align-items:center;color:#547885;font-size:10px}.hour-select{width:100%;border:1px solid #dfe9eb;border-radius:8px;padding:12px 10px;background:#fff;font-size:12px;color:#466b77;min-height:44px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:22px 0 13px}.metric-grid>div{padding:14px 12px 15px 0;position:relative;border-bottom:1px solid #e8eef0}.metric-grid>div:nth-child(2n){padding-left:17px;border-left:1px solid #e8eef0}.metric-grid>div:nth-last-child(-n+2){border-bottom:0}.metric-grid svg{width:17px;height:17px;color:#6c9aa7;margin-bottom:8px}.metric-grid span{display:block;font-size:10px;color:#7a929c;margin-bottom:7px}.metric-grid strong{font-size:23px;letter-spacing:-.5px;font-weight:600;display:block}.metric-grid small{font-size:9px;color:#91a4aa;display:block;margin-top:7px}.panel-tabs{display:flex;border-bottom:1px solid #e3ebee;margin:4px 0 21px;gap:20px}.panel-tabs button{padding:13px 0;font-size:10px;color:#7c959e;white-space:nowrap;border-bottom:2px solid transparent}.panel-tabs .active{border-color:#008d94;color:#087c87;font-weight:650}h3{font-size:13px;font-weight:650;letter-spacing:-.1px;margin:17px 0 13px}.factor{display:flex;gap:10px;margin:12px 0;align-items:flex-start;color:#748992}.factor svg{flex-shrink:0;width:16px;margin-top:2px;color:#71949d}.factor p{font-size:11px;line-height:1.65;margin:0}.factor.caution svg{color:#b69141}.factor.critical{background:#fff2ef;padding:12px;border-radius:8px;color:#9b5344}.factor.critical svg{color:#b95540}.visibility{background:#f5f8fa;border-radius:10px;padding:16px;margin:22px 0 16px}.visibility>div{display:flex;align-items:center;gap:8px}.visibility h3{margin:0;font-size:12px}.visibility svg{color:#7296a5}.visibility p{font-size:11px;line-height:1.65;color:#82969f;margin:10px 0}.text-button{display:flex;align-items:center;gap:6px;padding:0;font-size:10px;color:#14868e;font-weight:600}.subtle{font-size:10px;line-height:1.7;color:#8ca1a8}details{font-size:11px;line-height:1.7;color:#8499a2;padding:13px 0;border-top:1px solid #e7edef;border-bottom:1px solid #e7edef}summary{cursor:pointer;font-size:11px;color:#547482}.secondary{padding:12px 14px;border:1px solid #dae7eb;border-radius:8px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;background:#fff;color:#456d7c;font-weight:500}.full{width:100%}.refresh{display:flex;gap:6px;align-items:center;justify-content:center;width:100%;margin-top:12px;font-size:10px;color:#809aa4;padding:8px;min-height:35px}.safety-note{display:flex;gap:8px;margin-top:20px;align-items:flex-start}.safety-note svg{flex-shrink:0;color:#91a6ae;width:14px;margin-top:1px}.safety-note p{font-size:9px;line-height:1.7;margin:0;color:#91a3aa}.notice{font-size:11px;line-height:1.65;color:#856d3e;background:#fffaee;padding:12px;border-radius:8px;display:flex;align-items:flex-start;gap:8px}.notice svg{flex-shrink:0}.notice.error{background:#fff0ed;color:#a14c3e;flex-direction:column}.notice.error p{margin:0}.notice.error button{text-decoration:underline}.empty-state{text-align:center;padding:35px 10px;color:#7d9aa4}.empty-state h2{font-size:18px;color:#375e6d}.empty-state p{font-size:12px;line-height:1.7}.best-window{display:flex;gap:11px;padding:14px;background:#edf7f6;border-radius:8px;color:#2d7d7f}.best-window svg{flex-shrink:0;margin-top:2px}.best-window h3{margin:0 0 7px;font-size:12px}.best-window p{font-size:10px;line-height:1.65;margin:0;opacity:.75}.chart{margin-top:25px}.chart-heading{display:flex;justify-content:space-between;font-size:10px;color:#78949f}.chart-heading>span:first-child{color:#335d70;font-weight:600}.chart svg{width:100%;height:75px;margin-top:8px}.chart-times{display:flex;justify-content:space-between}.chart-times button{padding:3px 0;font-size:9px;color:#93a6ad}.data-details p{font-size:11px;line-height:1.8;color:#7a939e}.data-details{margin-bottom:22px}.error-text{color:#b15544!important}.offline-banner{background:#fff5dd;color:#83642b;display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 16px;font-size:12px;z-index:4}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:#143f50;color:#fff;border-radius:9px;padding:14px 20px;max-width:90vw;z-index:30;font-size:12px;box-shadow:0 5px 22px #173d4933;display:flex;gap:15px}.toast button{color:#aac8d0;font-size:20px;line-height:16px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d344b66;z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:25px}.modal{background:#fff;border-radius:17px;width:500px;max-height:90dvh;overflow:auto;padding:25px;box-shadow:0 20px 100px #103a4b44}.modal>header{display:flex;justify-content:space-between;align-items:center;gap:15px}.modal>header h2{font-size:20px;letter-spacing:-.5px;margin:0}.modal-intro{font-size:12px;line-height:1.8;color:#8198a1;margin:17px 0 22px}.modal label{display:block;font-size:11px;font-weight:550;color:#527381;margin-bottom:16px}.modal input,.modal textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d9e5e8;border-radius:7px;min-height:43px;background:#fbfdfe;color:#234d5d;resize:vertical}.modal label small{font-size:9px;display:block;margin-top:7px;color:#95a6ad;font-weight:400}.form-row{display:flex;gap:13px}.form-row>label{flex:1;min-width:0}.help-content p{font-size:12px;line-height:1.9;color:#7d949d}.help-content h3{margin:25px 0 10px}.saved-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf1f2;padding:8px 0}.saved-row>button:first-child{display:flex;align-items:center;gap:12px;text-align:left;flex:1;padding:7px 0}.saved-row strong,.saved-row small{display:block}.saved-row strong{font-size:12px}.saved-row small{font-size:10px;color:#8199a4;margin-top:5px}.empty-copy{padding:20px 12px;background:#f7fafb;color:#93a7af;font-size:11px;display:flex;align-items:center;gap:9px;border-radius:9px}.backup-actions{display:flex;gap:10px;margin-top:24px}.backup-actions>*{flex:1}.modal .file-button{display:flex;align-items:center;gap:8px;margin:0;font-weight:500;cursor:pointer}.file-button input{display:none}.small{font-size:10px;color:#8c9fa8;line-height:1.7}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1500px){.topbar{padding:0 38px}.panel{width:440px}.map-region{left:440px}.welcome{padding:48px 40px}.welcome h1{font-size:46px}.panel-scroll{padding:25px 30px}.point-heading{padding:30px}.topbar{gap:85px}}@media(max-width:850px){.topbar{padding:0 18px;gap:18px}.brand{min-width:200px;font-size:22px}.search-wrap{width:auto;flex:1}.top-actions{gap:12px}.top-actions>button>span{display:none}.top-actions .help-button{padding-left:10px}.panel{width:355px}.map-region{left:355px}.welcome{padding:32px 25px}.welcome h1{font-size:36px}.point-heading{padding:22px}.panel-scroll{padding:18px 22px}.map-hint{white-space:normal;width:85%;padding:12px 16px}.map-key{display:none}.panel-tabs{gap:15px}}@media(max-width:640px){.app{min-height:0}.topbar{height:125px;display:grid;grid-template-columns:1fr auto;grid-template-rows:52px 49px;gap:0 12px;padding:7px 16px 11px;padding-top:max(7px,env(safe-area-inset-top))}.brand{font-size:22px;min-width:0;gap:9px}.brand-icon{width:35px;height:35px;border-radius:11px}.brand-icon svg{width:21px}.brand small{font-size:6px;letter-spacing:1.8px;margin-top:2px}.top-actions{grid-column:2;grid-row:1;gap:8px}.top-actions button{padding:8px}.top-actions .help-button{border:0;padding:8px}.search-wrap{grid-column:1 / -1;grid-row:2;width:100%;align-self:end}.search-box{height:42px;border-radius:9px;background:#f6f9fa}.search-box input{font-size:12px}.search-box kbd{display:none}.search-results{top:47px}.map-region{top:0;right:0;bottom:0;left:0}.map-top-label{top:17px;left:16px;font-size:8px;letter-spacing:1.2px;padding:9px 10px}.maplibregl-ctrl-top-right{top:8px;right:6px}.maplibregl-ctrl-group button{width:36px;height:36px}.map-tools{top:111px;right:16px}.map-tools button{width:36px;height:36px}.map-hint{bottom:auto;top:155px;font-size:10px;left:16px;transform:none;width:auto;max-width:calc(100% - 78px);padding:10px 12px;border-radius:8px}.maplibregl-ctrl-bottom-right{bottom:auto!important;top:200px;right:0}.maplibregl-ctrl-attrib{font-size:8px!important;max-width:95vw}.panel{top:auto;bottom:0;width:100%;height:43%;border-radius:20px 20px 0 0;box-shadow:0 -6px 25px #16415c13;padding-bottom:env(safe-area-inset-bottom);transition:height .25s}.panel.expanded{height:92%}.panel-handle{display:flex;align-items:center;justify-content:center;min-height:25px;height:25px;position:relative;flex-shrink:0;width:100%;color:#a0b5bc}.panel-handle>span{position:absolute;left:calc(50% - 17px);top:9px;width:34px;height:4px;border-radius:3px;background:#d7e3e7}.panel-handle>svg{position:absolute;right:22px;top:6px}.point-heading{padding:5px 20px 15px}.point-heading h1{font-size:21px;margin:5px 0}.point-heading .eyebrow{font-size:8px}.panel-scroll{padding:15px 20px 25px}.status-card{padding:15px}.status-card h2{font-size:20px;margin:10px 0 6px}.status-card p{font-size:11px}.metric-grid strong{font-size:23px}.metric-grid small{font-size:10px}.metric-grid span{font-size:11px}.panel-tabs{gap:25px}.panel-tabs button{font-size:11px}.factor p,.data-details p,.visibility p{font-size:12px}.safety-note p{font-size:10px}.welcome-panel{height:43%}.welcome{padding:8px 22px 26px;background:#fff}.welcome>.eyebrow{font-size:8px}.welcome-symbol{display:none}.welcome h1{font-size:28px;line-height:1.15;letter-spacing:-1px;margin:12px 0 10px}.welcome h1 br{display:none}.welcome>p{font-size:12px;line-height:1.65;margin:10px 0 16px;max-width:390px}.welcome-steps{display:none}.welcome .primary{padding:12px}.welcome-note{margin-top:18px}.expanded .welcome h1{font-size:38px;max-width:300px;margin-top:22px}.expanded .welcome-steps{display:block}.expanded .welcome-symbol{display:flex;margin-top:25px}.modal-backdrop{padding:10px;align-items:flex-end}.modal{border-radius:18px 18px 8px 8px;max-height:94dvh;padding:22px;width:100%}.modal input,.modal textarea,.hour-select{font-size:16px}.modal>header h2{font-size:19px}.modal label{font-size:12px}.toast{bottom:18px;width:calc(100% - 32px);padding:13px 16px}.offline-banner{font-size:10px;padding:8px 12px}.date-strip button{min-width:58px}.chart-heading{font-size:11px}.chart-times button{min-height:35px}.point-heading p{font-size:10px}.primary,.secondary{min-height:46px}.backup-actions{gap:7px}.backup-actions .secondary{font-size:10px;padding:10px}.map-key{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}}.query-time{font-size:9px;line-height:1.7;color:#8aa0a8;margin:8px 0 0}.page-main{overflow:auto;background:#f8fbfc}.existing-map{position:absolute;top:0;right:0;bottom:0;left:0}.map-hidden{display:none}.bottom-nav{z-index:6;display:flex;justify-content:center;gap:52px;min-height:65px;flex-shrink:0;border-top:1px solid #e2ecef;background:#fff;padding:7px 18px max(7px,env(safe-area-inset-bottom))}.bottom-nav button{min-width:95px;display:flex;align-items:center;justify-content:center;gap:9px;color:#8aa1aa;font-size:12px;min-height:44px;border-radius:10px;padding:8px 16px}.bottom-nav button[aria-current=page]{color:#087e86;background:#edf8f6;font-weight:650}.only-map-search{visibility:hidden}.assistant-page,.places-page,.place-detail{max-width:1150px;margin:0 auto;padding:48px 42px 26px}.section-kicker{display:flex;align-items:center;gap:7px;letter-spacing:1.7px;font-weight:700;font-size:9px;color:#5a909b}.section-kicker>span{width:6px;height:6px;background:#14a49c;border-radius:50%}.assistant-intro{margin-bottom:30px}.assistant-intro h1,.places-page h1{font-size:47px;letter-spacing:-2px;line-height:1.15;margin:16px 0 14px;color:#143f50;font-weight:650}.assistant-intro h1 em{font-family:Georgia,serif;font-weight:400;color:#078a92;letter-spacing:-1.4px}.assistant-intro>p{font-size:14px;color:#829aa4;line-height:1.8;margin:0}.plan-card{padding:28px 30px;background:#fff;border:1px solid #dfeaec;border-radius:18px;box-shadow:0 7px 24px #29556906}.form-section-heading{display:flex;align-items:center;gap:9px;margin-bottom:14px}.form-section-heading>span{font-size:8px;color:#55a5a8;font-weight:700;letter-spacing:1px}.form-section-heading h2{font-size:12px;letter-spacing:0;margin:0;font-weight:650}.activity-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:27px}.activity-options button{border:1px solid #e0e9ed;border-radius:12px;padding:17px 18px;text-align:left;display:grid;grid-template-columns:35px 1fr;column-gap:7px;color:#537780;position:relative;min-height:78px}.activity-options svg{grid-row:span 2;width:25px;height:25px;align-self:center;color:#6c9ba3}.activity-options span{font-size:12px;font-weight:600;margin-bottom:5px;align-self:end}.activity-options small{font-size:9px;color:#8ca2aa}.activity-options .active{background:#eff9f7;border-color:#7ac7bf;color:#076d73;box-shadow:0 0 0 1px #7ac7bf}.activity-options .active:after{content:"";width:5px;height:5px;border:3px solid #168b8b;border-radius:50%;position:absolute;right:10px;top:10px}.activity-options .active svg{color:#078b8c}.plan-fields{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;border-top:1px solid #edf1f3;padding-top:24px}.date-buttons{display:flex;gap:6px;align-items:stretch}.date-buttons>button{background:#f6f9fa;padding:10px 14px;border-radius:8px;font-size:11px;border:1px solid #e3ebee}.date-buttons>button[aria-pressed=true]{background:#0c4759;color:#fff;border-color:#0c4759}.date-field{display:flex;align-items:center;gap:6px;padding:8px;background:#f8fafb;border:1px solid #e3ebee;border-radius:8px;font-size:10px;color:#7d99a4;min-width:0;flex:1}.date-field input{border:0;background:none;min-width:0;width:100%;color:#496d7a;font-size:10px}.time-fields{display:flex;align-items:center;gap:10px;margin-top:12px}.time-fields>label{display:flex;align-items:center;gap:6px;font-size:9px;color:#89a0aa}.time-fields select{border:1px solid #e3ebee;border-radius:6px;padding:7px;background:#fff;font-size:10px;color:#486e7c}.time-fields>span{color:#a8b9bf;font-size:11px}.time-fields>small{font-size:8px;color:#91a6ae;line-height:1.5;margin-left:auto}.zone-select{display:flex;align-items:center;padding:3px 12px;border:1px solid #e0eaed;border-radius:8px;color:#7c9ca7;background:#fbfdfe}.zone-select select{border:0;background:none;flex:1;min-height:37px;color:#365f6f;outline:0;font-size:12px}.field-note{font-size:10px;line-height:1.8;color:#8da3ac;margin:11px 0 0}.plan-actions{display:flex;gap:13px;margin-top:25px}.plan-actions>.primary{flex:1;justify-content:center}.plan-actions>.primary svg:last-child{margin-left:auto}.plan-actions>.primary svg:first-child{margin-right:auto}.plan-actions>.secondary{min-width:190px;font-size:12px}.cancel-search{margin-top:14px}.discover-section,.recommendation-section{margin-top:42px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-heading h2{font-size:23px;letter-spacing:-.6px;margin:8px 0 0;font-weight:600;line-height:1.3}.section-heading>span{font-size:11px;white-space:nowrap;color:#8ba1aa}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.place-card{position:relative;border-radius:13px;border:1px solid #e2ebee;background:#fff;overflow:hidden;min-width:0;transition:transform .15s,box-shadow .15s}.place-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #1644510c}.place-open{display:block;width:100%;padding:0;text-align:left}.place-visual{height:154px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#68a9b1;background:radial-gradient(ellipse at 80% 20%,#d5edee 0,transparent 55%),linear-gradient(125deg,#edf5f2,#c5e4e8);gap:9px}.place-visual>span{font-size:8px;letter-spacing:2px;opacity:.7}.place-visual>small{position:absolute;bottom:0;left:0;right:0;background:#ffffffb8;color:#557b87;font-size:7px;line-height:1.5;padding:4px 7px;z-index:1}.place-visual img{width:100%;height:100%;object-fit:cover}.place-visual.has-photo{display:block}.place-visual.has-photo>small{background:#063f51a6;color:#fff}.place-visual>small a{color:inherit}.place-card-copy{padding:17px}.place-zone{display:flex;gap:4px;align-items:center;font-size:9px;color:#92a5ad}.place-card h3{display:flex;justify-content:space-between;margin:9px 0 6px;font-size:18px;letter-spacing:-.5px}.place-card h3 svg{color:#8ba7b0}.place-card-copy>p{font-size:9px;color:#8a9fa8;line-height:1.6;margin:0}.place-save{position:absolute;top:10px;right:10px;background:#ffffffec;border-radius:8px;width:31px;height:31px;display:grid;place-items:center;color:#4a7785;box-shadow:0 2px 8px #163f4d12}.place-save.saved{color:#088e88;background:#e9faf6}.assistant-disclaimer{display:flex;align-items:flex-start;gap:12px;border-top:1px solid #e2ecef;margin-top:32px;padding-top:20px;color:#92a7af}.assistant-disclaimer svg{flex-shrink:0;margin-top:3px}.assistant-disclaimer p{font-size:10px;line-height:1.8;margin:0;max-width:780px}.section-description{color:#849ca6;font-size:12px;line-height:1.8;margin-bottom:24px}.analysis-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.analysis-card{padding:21px;border:1px solid #dfe9ec;border-radius:13px;background:#fff;min-width:0}.analysis-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.condition-pill{display:inline-flex;font-size:8px;letter-spacing:.1px;border-radius:5px;padding:6px 8px;background:#f0f4f6;color:#718b97}.condition-pill.favorable{background:#edf8f2;color:#2a8366}.condition-pill.caution{background:#fff6df;color:#96722c}.condition-pill.unfavorable{background:#fff0ed;color:#b46451}.analysis-heading>label{font-size:9px;display:flex;align-items:center;gap:4px;color:#879fa8}.analysis-heading input{accent-color:#0b8387}.analysis-title{display:flex;gap:13px;margin-top:21px;align-items:center}.result-number{font-size:29px;font-weight:300;color:#b9cfd4}.analysis-title small{font-size:8px;color:#8ca1ab}.analysis-title h3{font-size:21px;letter-spacing:-.5px;margin:6px 0}.analysis-title button{padding:0;display:flex;gap:8px;align-items:center;text-align:left}.analysis-card>p{font-size:11px;line-height:1.85;color:#7c97a2}.analysis-facts{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:13px;border-top:1px solid #edf1f3;padding-top:14px;margin:17px 0}.analysis-facts span{font-size:8px;color:#97acb4;line-height:1.5}.analysis-facts strong{display:block;color:#507583;font-size:10px;font-weight:500;margin-top:4px}.analysis-card details{margin-bottom:16px;font-size:10px}.analysis-card details h4{font-size:11px;color:#4b7280;margin-bottom:6px}.analysis-card details p{margin:8px 0}.comparison-box{padding:20px;background:#edf7f6;border:1px solid #d8ece7;border-radius:12px;margin-bottom:20px}.comparison-box>div{display:flex;gap:9px;align-items:center}.comparison-box h3{margin:0}.comparison-box>div>button{margin-left:auto}.comparison-box>p{font-size:11px;line-height:1.8;color:#648b90}.catalog-toolbar{display:flex;align-items:center;gap:24px;margin:25px 0 16px}.catalog-toolbar>label:first-child{display:flex;align-items:center;gap:9px;flex:1;max-width:420px;background:#fff;border:1px solid #dfebee;border-radius:9px;padding:11px 14px;color:#8aa3ad}.catalog-toolbar input[type=text],.catalog-toolbar input:not([type]){border:0;background:none;outline:0;flex:1;min-width:0;font-size:12px;color:#456a77}.documented-toggle{font-size:11px;color:#829ca5;display:flex;align-items:center;gap:7px}.documented-toggle input{accent-color:#0c8d8b}.catalog-count{display:flex;gap:6px;align-items:center;font-size:10px;color:#92a7af;margin:20px 0}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.places-page>.small{margin-top:28px}.detail-back{margin-bottom:20px}.detail-hero{position:relative;border-radius:17px;overflow:hidden}.place-visual.large{height:310px;background:linear-gradient(135deg,#bfdfe4,#0d6277);color:#9bced3}.detail-title{position:absolute;left:30px;bottom:30px;z-index:1;color:#fff}.detail-title .section-kicker{color:#dbf2f1;font-size:9px}.detail-title h1{font-size:43px;letter-spacing:-1.8px;margin:9px 0 13px}.detail-hero:after{content:"";position:absolute;top:25%;right:0;bottom:0;left:0;background:linear-gradient(transparent,#073d51a8);pointer-events:none}.detail-title{z-index:2}.evidence-badge{font-size:9px;background:#ffffff29;border:1px solid #ffffff52;padding:7px 10px;border-radius:6px}.detail-actions{display:flex;gap:12px;margin-top:20px}.detail-actions .primary{min-width:240px}.detail-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:36px;margin:38px 0}.detail-grid h2{font-size:23px;font-weight:600;margin:10px 0 16px;letter-spacing:-.6px}.detail-grid p{font-size:12px;color:#7b96a1;line-height:1.9}.place-facts{margin:24px 0}.place-facts>div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid #e5edef}.place-facts dt{font-size:10px;color:#8ea5ae}.place-facts dd{font-size:11px;line-height:1.7;color:#547986;margin:0}.local-knowledge{background:#eef6f5;border:1px solid #dfeeea;border-radius:13px;padding:24px;align-self:start}.local-knowledge>svg{color:#58a6a4}.local-knowledge h3{font-size:16px;margin-top:14px}.local-knowledge p{font-size:11px;color:#769397}.place-sources{margin-top:35px;padding-top:22px;border-top:1px solid #e0e9ed}.place-sources>p{font-size:11px;line-height:1.8;color:#849da7}.place-sources>a{display:flex;gap:10px;padding:13px 0;text-decoration:none;border-bottom:1px solid #e8eff1;font-size:11px}.place-sources strong,.place-sources small{display:block}.place-sources small{font-size:9px;color:#91a6af;margin-top:5px;line-height:1.6}.community-section{margin-top:38px;padding-top:30px;border-top:1px solid #dfeaec}.community-unavailable{padding:28px;border:1px dashed #d6e6ea;border-radius:12px;color:#81a0aa;background:#f4f9fa;margin:22px 0}.community-unavailable h3{font-size:16px;color:#456f7c}.community-unavailable p{font-size:12px;line-height:1.9;max-width:680px;margin-bottom:0}.community-unavailable svg{color:#89b5bc}.reviews-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:25px 0}.reviews-summary>div{display:flex;gap:10px;align-items:center;color:#e0ad49}.reviews-summary strong{font-size:24px;font-weight:500;color:#285969}.reviews-summary span{font-size:10px;color:#8aa3ad}.review-compose{padding:24px;background:#fff;border:1px solid #dce9ed;border-radius:12px;margin-bottom:20px}.review-compose p{font-size:12px;line-height:1.7;color:#829ca7}.review-compose label,.review-sort{display:block;font-size:11px;color:#6b8b99;margin:14px 0}.review-compose input:not([type=checkbox]),.review-compose select,.review-compose textarea,.modal select{display:block;width:100%;border:1px solid #d8e6eb;border-radius:7px;background:#fbfdfe;padding:11px;color:#315e6d;margin-top:7px;min-height:42px}.review-compose .form-row>label{margin:0 0 14px}.review-compose .consent,.modal .consent{display:flex;gap:8px;align-items:flex-start;font-size:10px;line-height:1.8}.consent input{width:15px;height:15px;margin:3px 0 0;flex-shrink:0;accent-color:#088d8b}.review-sort{display:flex;align-items:center;gap:10px;justify-content:flex-end}.review-sort select{background:#fff;border:1px solid #e0e9ee;border-radius:6px;padding:9px;color:#648491;font-size:11px}.review-card{padding:23px;background:#fff;border:1px solid #e0e9ed;border-radius:11px;margin:12px 0}.review-card header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.review-card header strong{font-size:12px}.review-card header span{color:#d6a63f;letter-spacing:2px}.review-card>small{font-size:10px;color:#97abb4}.review-card>p{font-size:12px;line-height:1.9;color:#7b97a4;white-space:pre-wrap;overflow-wrap:anywhere}.review-card>footer{display:flex;gap:15px;margin-top:15px}.review-card>footer button{font-size:10px;display:flex;gap:6px;color:#8aa3ac;align-items:center;min-height:35px}.review-photos,.photo-previews{display:flex;gap:10px;margin:13px 0}.review-photos img,.photo-previews img{max-width:160px;height:110px;object-fit:cover;border-radius:7px}.photo-previews>div{display:flex;flex-direction:column}.photo-previews button{font-size:10px;padding:7px;color:#849da7}.community-message{padding:13px;background:#eef8f5;border:1px solid #deeee7;border-radius:8px;font-size:12px;color:#527d79;line-height:1.8}.review-observation{font-size:10px!important;color:#8398a0!important;background:#f4f8fa;padding:9px;border-radius:5px}.saved-page-list{display:grid;gap:10px;margin-top:25px}.saved-page-list>button{display:flex;align-items:center;gap:12px;padding:18px;border:1px solid #dfebee;background:#fff;border-radius:9px;text-align:left}.saved-page-list>button>span{margin-left:auto;font-size:10px;color:#8aa7b1}.marker-name{display:none;position:absolute;left:27px;top:-1px;white-space:nowrap;background:#ffffffed;border:1px solid #e1ebee;padding:6px 9px;border-radius:6px;font-size:10px;color:#285d70;box-shadow:0 1px 5px #204b6015;pointer-events:none}.site-marker:hover .marker-name,.site-marker:focus .marker-name{display:block}.map-community-actions{position:absolute;left:430px;bottom:44px;display:flex;gap:7px;z-index:2;flex-wrap:wrap;max-width:calc(100% - 480px)}.map-community-actions button{background:#fff;border:1px solid #d8e7eb;box-shadow:0 2px 10px #173e5015;border-radius:8px;padding:11px 14px;font-size:10px;display:flex;gap:6px;align-items:center;color:#5b8391}@media(min-width:1500px){.map-community-actions{left:462px}}@media(max-width:850px){.assistant-page,.places-page,.place-detail{padding:35px 25px}.plan-card{padding:23px}.plan-fields{gap:20px}.activity-options button{padding:14px 10px;grid-template-columns:25px 1fr;gap:5px}.activity-options svg{width:22px}.activity-options span{font-size:11px}.activity-options small{font-size:8px}.catalog-grid{grid-template-columns:repeat(2,1fr)}.map-community-actions{left:375px;max-width:calc(100% - 400px)}.detail-grid{gap:22px}}@media(max-width:640px){.view-home .topbar,.view-places .topbar,.view-place .topbar,.view-saved .topbar{height:67px;grid-template-rows:1fr;padding-bottom:7px}.only-map-search{display:none}.bottom-nav{gap:0;justify-content:space-around;min-height:62px;padding-top:5px;padding-bottom:max(5px,env(safe-area-inset-bottom))}.bottom-nav button{min-width:0;flex:1;max-width:95px;flex-direction:column;gap:4px;padding:5px 8px;font-size:9px;border-radius:8px;min-height:48px}.bottom-nav button[aria-current=page]{background:transparent;color:#087f86}.bottom-nav svg{width:20px;height:20px}.assistant-page,.places-page,.place-detail{padding:29px 19px 25px}.assistant-intro{margin-bottom:24px}.section-kicker{font-size:8px;letter-spacing:1.6px}.assistant-intro h1,.places-page h1{font-size:36px;letter-spacing:-1.5px;margin:13px 0 12px}.assistant-intro>p{font-size:12px;line-height:1.8;max-width:340px}.plan-card{padding:18px 16px;border-radius:14px}.form-section-heading{margin-bottom:13px}.form-section-heading h2{font-size:12px}.activity-options{gap:7px;margin-bottom:22px}.activity-options button{display:flex;flex-direction:column;align-items:flex-start;padding:15px 9px 12px;min-height:105px;border-radius:9px;gap:9px}.activity-options svg{width:23px;height:23px}.activity-options span{font-size:10px;line-height:1.5;margin:0}.activity-options small{display:none}.activity-options .active:after{right:6px;top:7px;width:4px;height:4px;border-width:2px}.plan-fields{grid-template-columns:1fr;gap:22px;padding-top:21px}.date-buttons>button{font-size:11px;padding:12px 13px}.date-field{font-size:11px;padding:8px}.date-field input{font-size:12px}.time-fields{margin-top:12px;gap:9px}.time-fields>label{font-size:10px}.time-fields select{font-size:13px;min-height:36px;padding:7px}.time-fields>small{font-size:8px}.zone-select select{font-size:13px;min-height:40px}.field-note{font-size:10px}.plan-actions{flex-direction:column;gap:9px;margin-top:20px}.plan-actions>.secondary{font-size:12px}.primary{font-size:12px}.plan-actions .primary svg:first-child{margin-right:0}.plan-actions .primary svg:last-child{margin-left:0}.discover-section,.recommendation-section{margin-top:32px}.section-heading{gap:10px;align-items:flex-start;margin-bottom:17px}.section-heading h2{font-size:20px;letter-spacing:-.6px}.section-heading .text-button{font-size:9px;white-space:nowrap;margin-top:19px}.section-heading>span{font-size:9px}.featured-grid{display:flex;overflow:auto;gap:12px;padding-bottom:5px;scroll-snap-type:x mandatory}.featured-grid .place-card{min-width:245px;scroll-snap-align:start}.place-visual{height:145px}.place-card-copy{padding:15px}.place-card h3{font-size:18px}.place-zone{font-size:9px}.place-card-copy>p{font-size:10px}.assistant-disclaimer{margin-top:22px;padding-top:18px;gap:9px}.assistant-disclaimer p{font-size:9px}.analysis-list{grid-template-columns:1fr}.analysis-card{padding:18px}.analysis-title{margin-top:17px}.analysis-card>p{font-size:12px}.analysis-facts{grid-template-columns:1.4fr .85fr .7fr}.analysis-facts span{font-size:9px}.analysis-facts strong{font-size:10px}.analysis-card details{font-size:11px}.analysis-heading>label{font-size:10px;min-height:35px}.analysis-card .text-button{min-height:36px;font-size:11px}.condition-pill{font-size:9px}.catalog-toolbar{flex-direction:column;align-items:stretch;gap:14px;margin-top:22px}.catalog-toolbar>label:first-child{max-width:none;min-height:45px}.catalog-toolbar input:not([type=checkbox]){font-size:16px}.documented-toggle{font-size:11px;min-height:30px}.catalog-count{font-size:9px;line-height:1.7;align-items:flex-start}.catalog-count svg{flex-shrink:0;margin-top:2px}.catalog-grid{grid-template-columns:1fr 1fr;gap:10px}.catalog-grid .place-visual{height:112px}.catalog-grid .place-card-copy{padding:12px}.catalog-grid .place-card h3{font-size:16px;line-height:1.3}.catalog-grid .place-card-copy>p{font-size:8px}.catalog-grid .place-zone{font-size:8px}.catalog-grid .place-visual>small{font-size:6px;padding:3px 5px}.catalog-grid .place-save{width:28px;height:28px;right:7px;top:7px}.detail-hero{border-radius:12px}.place-visual.large{height:245px}.detail-title{left:18px;bottom:27px}.detail-title h1{font-size:35px;letter-spacing:-1px}.detail-title .section-kicker,.evidence-badge{font-size:8px}.detail-actions{flex-direction:column;margin-top:15px;gap:8px}.detail-grid{grid-template-columns:1fr;gap:22px;margin:30px 0}.detail-grid h2{font-size:22px}.place-facts>div{grid-template-columns:95px 1fr;gap:10px}.place-facts dt{font-size:10px}.place-facts dd{font-size:11px}.local-knowledge{padding:20px}.local-knowledge p{font-size:12px}.community-section{margin-top:28px;padding-top:25px}.community-unavailable{padding:21px;margin:18px 0}.community-unavailable p{font-size:12px}.reviews-summary{align-items:flex-start}.reviews-summary>div{flex-wrap:wrap;gap:8px}.reviews-summary strong{font-size:20px}.reviews-summary .primary{font-size:11px;padding:10px;white-space:nowrap}.review-compose{padding:18px}.review-compose input:not([type=checkbox]),.review-compose textarea,.review-compose select,.modal select{font-size:16px}.review-card{padding:18px}.review-card header{font-size:11px}.review-photos img,.photo-previews img{max-width:130px;height:95px}.review-sort select{font-size:12px}.map-community-actions{left:16px;right:65px;max-width:none;bottom:auto;top:13px;gap:6px}.map-community-actions button{font-size:9px;padding:10px 11px;min-height:36px}.existing-map:has(.map-community-actions) .map-top-label{display:none}.view-map .panel{height:44%}.view-map .panel.expanded{height:93%}.marker-name{display:none}.site-marker:focus .marker-name{display:block}.places-page>p{font-size:12px;line-height:1.9}.saved-page-list>button{padding:16px;font-size:12px}.saved-page-list>button>span{font-size:9px}.review-compose .consent{font-size:10px}.place-sources>p{font-size:11px}.place-sources>a{font-size:11px}.place-sources small{font-size:9px}}.map-region.labels-visible .marker-name{display:block}.map-region>.map-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.moderation-item{padding:16px 0;border-bottom:1px solid #dce8ec;overflow-wrap:anywhere}.moderation-photo{max-width:100%;max-height:240px;object-fit:contain}.moderation-item .consent{margin:16px 0}
