:root{--ink:#173441;--muted:#536c78;--paper:#f3f7f9;--white:#fff;--line:#d5e2e8;--teal:#0e6373;--mint:#9ae8db;--ocean:#102e3d;--orange:#ffd298;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}a{color:var(--teal)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid #d99936;outline-offset:3px}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}.topbar{padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--white);border-bottom:1px solid var(--line)}.brand{font-size:22px;font-weight:650;color:var(--ink);text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:10px}.brand-mark{background:var(--teal);color:var(--mint);height:34px;width:34px;display:grid;place-items:center;border-radius:9px;font-size:32px;line-height:1}.header-actions{display:flex;gap:12px;align-items:center}.button{background:var(--teal);color:white;border:1px solid var(--teal);border-radius:8px;padding:10px 16px;font-weight:600;font-size:14px;min-height:44px}.quiet{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:14px;padding:8px 12px;min-height:40px}.quiet[aria-pressed=true]{background:#e6f3f4;border-color:#639fab;color:#074e5e}.topbar #saved-count{display:inline-block;margin-left:6px;font-weight:700}main{max-width:1480px;margin:0 auto;padding:24px 32px}.intro{display:flex;align-items:center;justify-content:space-between;min-height:172px;padding:28px 32px;border-radius:14px;background:linear-gradient(90deg,rgba(9,32,45,.88),rgba(9,32,45,.18)),url('/assets/reef.webp') center 48%/cover;color:white;gap:24px}.intro h1{font-size:clamp(28px,3.2vw,44px);line-height:1.15;font-weight:600;letter-spacing:-1.2px;margin:0 0 10px}.intro p{font-size:17px;margin:0;color:#e1f0f1}.collection-note{align-self:end;white-space:nowrap;padding:7px 11px;border:1px solid #b2cbce75;border-radius:20px;font-size:13px;background:#0a273d70}.filters{margin:22px 0;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:20px 22px}.date-row,.secondary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.secondary-row{margin-top:15px}.filters label{font-size:14px;font-weight:550;min-width:0}.filters input,.filters select{display:block;margin-top:6px;width:100%;min-width:0;min-height:44px;font-size:15px;border:1px solid #b8ccd5;border-radius:7px;background:#fff;color:var(--ink);padding:9px 10px}.filters input::placeholder{color:#6b828d}.filter-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;font-size:13px;color:var(--muted)}.text-button{border:none;background:transparent;color:var(--teal);font-size:14px;padding:4px 0;white-space:nowrap}.error{border-left:3px solid #ab4327;padding:12px 16px;background:#fcf0ec;margin:12px 0 0;color:#773322;font-size:14px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:26px;align-items:start}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.results-heading h2{font-size:21px;font-weight:600;margin:0;letter-spacing:-.35px}.results-heading p{font-size:13px;color:var(--muted);margin:3px 0 0}.view-buttons{display:flex;gap:6px}.view-buttons button{font-size:13px;white-space:nowrap;padding:7px 10px}.result{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:18px 19px;margin-bottom:12px;transition:border-color .15s}.result:hover{border-color:#82acb8}.result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.result h3{margin:0;font-size:18px;line-height:1.3;font-weight:600}.destination-name{padding:0;border:0;background:none;font:inherit;color:var(--ink);text-align:left}.country{font-size:13px;color:var(--muted);margin-top:5px}.save-button{font-size:13px;color:var(--teal);background:none;border:1px solid var(--line);border-radius:6px;padding:6px 9px;white-space:nowrap;min-height:34px}.save-button[aria-pressed=true]{background:#e3f4f0;border-color:#7daea8}.highlights{font-size:15px;line-height:1.45;margin:11px 0 14px;color:#435f6b}.result-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px}.season-badge{padding:4px 8px;border-radius:5px;background:#e8f5f1;color:#1b655c}.season-badge.partial{background:#fff1dd;color:#7f541c}.temperature{font-size:15px;font-weight:600}.temperature-period{display:block;font-size:12px;color:var(--muted);font-weight:400;text-align:right}.result-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px;border-top:1px solid #e5edf0;padding-top:10px;font-size:13px;color:var(--muted)}.result-bottom button{border:0;background:none;color:var(--teal);font-size:14px;padding:2px 0}.load-more{display:block;width:100%;padding:12px;border:1px solid #b8cfd7;border-radius:8px;background:#e8f0f3;color:var(--ink);font-size:15px;min-height:44px}.empty-state{padding:40px 24px;text-align:center;background:white;border:1px solid var(--line);border-radius:10px}.empty-state h3{font-size:20px;margin:0 0 8px}.empty-state p{font-size:15px;color:var(--muted);margin:0 0 18px}.map-area{position:sticky;top:18px;margin-top:2px;border-radius:12px;overflow:hidden;background:var(--ocean);color:#e5f4f5;box-shadow:0 8px 28px #10333e12}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid #496975;font-size:15px;font-weight:550}.map-heading span:last-child{font-weight:400;color:#b7d4de;font-size:13px}.map-container{min-height:300px;position:relative;padding:10px}.map-container svg{display:block;width:100%;height:auto;overflow:visible}.map-container .land{fill:#315664;stroke:#13333f;stroke-width:.55}.map-container .graticule{fill:none;stroke:#375461;stroke-width:.5;opacity:.7}.map-container .map-pin{fill:var(--mint);stroke:#082732;stroke-width:1.6;cursor:pointer}.map-container .map-pin:hover,.map-container .map-pin:focus{fill:var(--orange);stroke:#fff;stroke-width:2}.map-foot{display:flex;justify-content:space-between;gap:16px;font-size:12px;padding:16px 20px;border-top:1px solid #496975;color:#bfdae3}.map-foot i{width:8px;height:8px;display:inline-block;background:var(--mint);border-radius:50%;margin-right:5px}.map-fallback{padding:40px 24px;color:#c0d6df;text-align:center;font-size:15px}.footer{border-top:1px solid var(--line);margin-top:28px;padding-top:18px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:30px}.footer p{margin:0;max-width:780px}.footer strong{color:#355360;font-weight:600}.workspace.list-only{grid-template-columns:1fr}.workspace.list-only .map-area{display:none}.workspace.list-only #results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workspace.list-only .result{margin:0}.workspace.list-only .empty-state{grid-column:1/-1}dialog{border:1px solid var(--line);padding:0;border-radius:14px;width:min(620px,calc(100% - 28px));max-height:90vh;color:var(--ink);background:white;box-shadow:0 25px 100px #001c3940}dialog::backdrop{background:#09273585;backdrop-filter:blur(3px)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:24px;border-bottom:1px solid var(--line)}.detail-header h2{margin:0;font-size:25px;line-height:1.25;font-weight:600}.detail-header .country{font-size:14px}.close-dialog{background:#edf3f5;border:0;border-radius:50%;width:36px;height:36px;flex:0 0 36px;font-size:24px;line-height:1;color:#315d70}.detail-body{padding:24px}.detail-body h3{font-size:14px;font-weight:650;margin:22px 0 6px;color:#234b5e}.detail-body h3:first-child{margin-top:0}.detail-body p{margin:0;font-size:16px;line-height:1.5}.month-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:14px 0}.month-strip span{text-align:center;padding:6px 1px;font-size:13px;background:#edf2f5;border-radius:4px;color:#597480}.month-strip .recommended{background:#d9eee7;color:#1a6155;font-weight:600}.temperature-box{background:#edf6f7;border-left:3px solid var(--teal);padding:14px 16px}.temperature-box strong{font-size:24px;font-weight:600}.temperature-box .period{font-size:14px;display:block;margin:5px 0 9px;color:#436470}.temperature-box p{font-size:14px}.source-links{display:flex;gap:9px 18px;flex-wrap:wrap}.source-links a{font-size:14px}.detail-actions{display:flex;align-items:center;gap:12px;margin-top:22px}.detail-foot{font-size:12px!important;color:var(--muted);margin-top:20px!important}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#153c4d;color:white;padding:12px 18px;border-radius:9px;font-size:14px;box-shadow:0 8px 28px #09243e33;max-width:calc(100% - 32px);z-index:10;text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1600px){main{padding-top:28px}.intro{min-height:180px}}
@media(max-width:1080px){main{padding:20px}.topbar{padding:14px 20px}.workspace{gap:18px;grid-template-columns:1.05fr 1fr}.results-heading{align-items:flex-start;flex-direction:column}.result{padding:16px}.map-container{min-height:250px}.map-heading,.map-foot{padding:14px}.map-foot{flex-direction:column;gap:5px}}
@media(max-width:780px){.date-row,.secondary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{display:flex;flex-direction:column}.list-area,.map-area{width:100%}.map-area{position:static;order:-1}.map-container{min-height:0}.map-container svg{max-height:340px}.map-foot{flex-direction:row}.results-heading{flex-direction:row;align-items:center}.intro{padding:24px;min-height:150px}.collection-note{font-size:12px}.footer{flex-direction:column;gap:12px}.workspace.list-only #results{grid-template-columns:1fr}.map-heading{padding:14px 18px}.filters{padding:18px}.result{padding:18px}.topbar .button{font-size:13px}.brand{font-size:20px}}
@media(max-width:480px){main{padding:14px}.topbar{padding:12px 14px;flex-wrap:wrap;gap:12px}.header-actions{width:100%;justify-content:space-between}.brand{font-size:22px}.intro{padding:22px;min-height:154px;align-items:flex-start;flex-direction:column;gap:12px}.collection-note{align-self:flex-start}.intro h1{font-size:30px}.intro p{font-size:15px}.date-row,.secondary-row{gap:12px}.date-row label:last-child{grid-column:1/-1}.date-row label:nth-child(3){grid-column:1/-1}.secondary-row{grid-template-columns:1fr}.filter-foot{align-items:flex-start;gap:12px}.filters{padding:16px;margin:16px 0}.filters input,.filters select{font-size:16px}.results-heading{flex-direction:column;align-items:flex-start;gap:10px}.view-buttons{align-self:flex-end}.results-heading h2{font-size:21px}.result{padding:16px}.result h3{font-size:18px}.map-foot{font-size:12px;padding:12px 14px;flex-wrap:wrap}.detail-header,.detail-body{padding:20px}.detail-header h2{font-size:23px}.result-bottom{align-items:flex-start}.temperature-period{max-width:170px}.collection-note{white-space:normal}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.source-method{margin-top:12px;max-width:780px}.source-method summary{color:var(--teal);cursor:pointer;font-size:14px}.source-method p{margin-top:10px}

.wildlife-card{font-size:14px;color:#345a66;line-height:1.5;border-top:1px solid #e5edf0;margin:12px 0 0;padding-top:10px}.wildlife-card>span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.wildlife-overview{padding:12px 14px;border-radius:7px;background:#f2f7f8;margin:12px 0}.wildlife-overview p{font-size:14px!important;margin:0 0 8px!important}.timing-unknown{display:block;font-size:14px;color:#7a591f;margin:8px 0}.window-kind{display:block;font-size:12px;color:var(--muted);margin-top:3px}.comparison-table .wildlife-overview{margin-top:0;padding:0;background:none}

.dive-preferences{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.dive-preferences summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--teal);min-height:32px}.preference-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px;max-width:680px}.filter-helper{font-size:14px;color:var(--muted);margin:10px 0 0;max-width:780px}.dive-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.dive-tags span{background:#eef3f6;color:#385765;border-radius:5px;padding:4px 8px;font-size:14px}.card-tags{margin:-3px 0 13px}.card-tags span{font-size:13px}.evidence-label{display:block;font-size:14px;font-weight:600;color:var(--teal);margin-top:6px}.section-helper{font-size:14px!important;color:var(--muted);margin:7px 0 12px!important}.wildlife-window{padding:14px 0;border-bottom:1px solid var(--line)}.wildlife-window>strong{font-size:16px;display:block}.wildlife-period{display:block;font-size:14px;margin-top:3px}.wildlife-activity{display:block;font-size:14px;color:var(--muted);margin-top:3px}.wildlife-fit{display:inline-block;font-size:14px;background:#e8f5f1;color:#1b655c;padding:4px 8px;border-radius:5px;margin-top:7px}.wildlife-window p{font-size:14px;margin:8px 0!important}.wildlife-months{margin:10px 0}.review-date{display:block;color:var(--muted);font-size:12px;margin:7px 0}.muted{color:var(--muted)}.detail-sources{margin-top:22px;padding:14px;border:1px solid var(--line);border-radius:8px}.detail-sources summary{cursor:pointer;font-size:14px;color:var(--teal);font-weight:600}.destination-notice{background:#fff4e2;border-left:3px solid #b57822;padding:14px;font-size:14px;margin-bottom:16px}.destination-notice p{font-size:14px;margin:6px 0}.card-notice{font-size:14px;color:#83581e;margin:12px 0 0}.comparison-tray{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid #95babd;border-radius:10px;background:#e9f5f3;margin:0 0 16px}.comparison-tray strong{font-size:16px}.comparison-tray p{font-size:14px;color:var(--muted);margin:4px 0}.comparison-actions{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.comparison-picks{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.comparison-picks:empty{display:none}.comparison-picks button{font-size:13px;text-align:left}.card-compare{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.card-compare button{font-size:14px}#comparison-dialog{width:min(1120px,calc(100% - 28px))}.comparison-dates{font-size:14px;color:var(--muted);margin:7px 0 0}.comparison-scroll{overflow:auto;max-height:calc(90vh - 120px)}.comparison-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14px;line-height:1.5}.comparison-table th,.comparison-table td{padding:16px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;text-align:left;overflow-wrap:anywhere}.comparison-table thead th{position:sticky;top:0;z-index:1;background:#ecf5f6;font-size:18px}.comparison-table th:first-child{width:160px;background:#f3f7f9;font-size:14px}.comparison-table td{min-width:230px}.comparison-table p{margin:6px 0}.comparison-table .country{display:block}.comparison-remove{display:block;font-size:14px;margin-top:7px}.comparison-table .period{display:block;color:var(--muted);font-size:13px;margin-top:5px}.comparison-table .wildlife-window:first-child{padding-top:0}.comparison-table .wildlife-window:last-child{border-bottom:0}.comparison-table .source-links a{font-size:13px}.comparison-table .source-links{gap:8px}.comparison-table .destination-notice{margin-top:10px}.comparison-table .wildlife-window>strong{font-size:14px}.comparison-table .evidence-label{font-size:13px}
@media(max-width:780px){.comparison-table{min-width:680px}.comparison-table th:first-child{width:140px}.comparison-tray{align-items:flex-start;flex-wrap:wrap}.comparison-actions{flex-direction:row;flex-wrap:wrap;gap:14px}.comparison-table th,.comparison-table td{padding:13px}.comparison-scroll{max-height:calc(90vh - 155px)}}
@media(max-width:480px){.preference-row{grid-template-columns:1fr;gap:12px}}

.date-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr)}.filter-actions{display:flex;gap:18px;flex-shrink:0}.partial-options{display:block;white-space:normal;text-align:left;min-height:44px;margin-top:12px}.results-heading>div:first-child{min-width:0}.results-heading h2{line-height:1.3}.view-buttons{flex-shrink:0}@media(max-width:780px){.date-row{grid-template-columns:repeat(2,minmax(0,1fr))}.date-row label:last-child{grid-column:1/-1}.filter-foot{flex-wrap:wrap}.filter-actions{flex-wrap:wrap}}

.account-button{white-space:nowrap}.account-status,.import-banner{display:flex;align-items:center;gap:16px;margin:0 0 20px;padding:14px 18px;border:1px solid #badadf;border-radius:12px;background:#edf9f9;color:#244d5a;font-size:.9rem}.account-status[hidden],.import-banner[hidden]{display:none}.import-banner span{flex:1}.account-dialog-body{padding:28px;width:min(440px,calc(100vw - 48px))}.account-dialog-body .detail-header{padding:0;margin-bottom:18px}.account-dialog-body p{line-height:1.55}.account-dialog-body form{display:flex;flex-direction:column;gap:12px}.account-dialog-body form[hidden]{display:none}.account-dialog-body input{width:100%;padding:12px;border:1px solid #b6cbd0;border-radius:8px;font:inherit}.account-dialog-body button[hidden]{display:none}.private-notes{margin-top:26px;padding-top:20px;border-top:1px solid #d5e4e7}.notes-helper{font-size:.875rem;color:#55747f}.private-notes textarea{width:100%;resize:vertical;min-height:130px;padding:14px;border:1px solid #b1ccd1;border-radius:9px;font:inherit;color:#183d49;background:#fff;line-height:1.55}.private-notes textarea:focus{outline:2px solid #167b8a;outline-offset:2px}.note-actions{display:flex;align-items:center;gap:14px;margin-top:12px}.note-actions span{font-size:.875rem;color:#42616d}.button:disabled,.save-button:disabled{opacity:.55;cursor:default}
#send-signin:disabled,[data-save]:disabled{cursor:wait}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.import-banner{flex-wrap:wrap}.import-banner span{flex-basis:100%}.account-dialog-body{padding:20px;width:calc(100vw - 48px)}.note-actions{align-items:flex-start;flex-direction:column}.header-actions{gap:6px}}
#account-dialog{width:auto;max-width:calc(100vw - 32px)}
.date-input{display:block;position:relative;margin-top:6px}.date-input input{margin-top:0}.date-placeholder{position:absolute;top:50%;left:11px;transform:translateY(-50%);pointer-events:none;font-size:15px;font-weight:400;color:#6b828d}.date-input input[data-empty="false"]+.date-placeholder,.date-input:focus-within .date-placeholder{display:none}.date-input input[data-empty="true"]:not(:focus){color:transparent}.date-input input[data-empty="true"]:not(:focus)::-webkit-datetime-edit{opacity:0}.date-input input[data-empty="true"]:not(:focus)::-webkit-date-and-time-value{visibility:hidden}
