/* DiveScanner Dive Buddy - profile builder (v1).
   Self-contained styles for the /dive-buddy page. No !important; own classes
   so nothing leaks from or into the main site. Mobile-first. */

/* The main site hides elements with the `hidden` attribute via a page-global
   helper. This page needs the same so the nav sign-in button hides once signed
   in - scoped to beat .nav-signin's own display without any !important. */
[hidden]{display:none}
.nav-signin[hidden],.nav-account[hidden]{display:none}

.buddy-wrap{max-width:460px;margin:0 auto;padding:18px 14px 40px}

/* signed-out gate */
.buddy-gate{margin:24px auto 0;max-width:420px;background:#fff;border:1px solid var(--border);border-radius:24px;padding:30px 24px;text-align:center;box-shadow:0 12px 34px rgba(3,20,35,.1)}
.buddy-gate .bg-ic{width:72px;height:72px;border-radius:22px;margin:0 auto 16px;background:linear-gradient(160deg,#0d3d6b,#12a4c8);display:flex;align-items:center;justify-content:center;font-size:34px}
.buddy-gate h1{font-size:23px;font-weight:800;margin:0 0 8px;color:var(--navy)}
.buddy-gate p{font-size:14px;color:var(--text-m,#5b6b7b);line-height:1.55;margin:0 0 20px}
.buddy-gate .bg-btn{background:var(--teal);color:var(--navy);border:none;border-radius:26px;padding:14px 28px;font-size:16px;font-weight:800;font-family:inherit;cursor:pointer}

/* step card */
.buddy-card{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:0 16px 44px rgba(3,20,35,.12);overflow:hidden;position:relative}
.bc-top{padding:16px 20px 0;display:flex;align-items:center;gap:9px;user-select:none;-webkit-user-select:none}
.bc-top .bc-mask{width:26px;height:26px;border-radius:8px;object-fit:cover;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}
.bc-top b{font-size:14px;font-weight:800;color:var(--navy)}
.bc-step{margin-left:auto;font-size:11px;font-weight:800;color:#8494a2}
.bc-dots{display:flex;gap:6px;padding:14px 20px 0}
.bc-dot{height:6px;border-radius:6px;background:#e3e8ee;flex:1;transition:background .2s}
.bc-dot.on{background:var(--teal)}
.bc-body{padding:16px 22px 22px;min-height:390px;display:flex;flex-direction:column}
.bc-emoji{font-size:34px;line-height:1;margin-bottom:10px}
.bc-emoji svg{width:52px;height:52px;display:block}
.bc-body h2{font-size:22px;font-weight:800;margin:0 0 6px;letter-spacing:-.3px;color:var(--ink,#0b1b2b)}
/* display headings/labels are not editable text - no I-beam cursor, not selectable */
.bc-body h2,.bc-sub,.bc-grouplab,.bc-hint,.tr-head h1,.tr-head p,.tr-name b,.tr-name small,.disc-trip,.disc-hint{-webkit-user-select:none;user-select:none;cursor:default}
.bc-sub{font-size:13.5px;color:#5b6b7b;margin:0 0 18px;line-height:1.5}
.bc-self{display:inline-block;margin-left:6px;font-size:10px;font-weight:800;color:var(--amber,#92400E);background:var(--amber-bg,#FEF3C7);padding:2px 8px;border-radius:10px;vertical-align:middle}

/* chips */
.bc-chips{display:flex;flex-wrap:wrap;gap:10px}
.bc-chip{padding:11px 16px;border-radius:22px;border:1.5px solid var(--border);font-size:14px;font-weight:600;background:var(--surface);color:#33475b;cursor:pointer;font-family:inherit;transition:all .12s}
.bc-chip:hover{border-color:var(--teal-b)}
.bc-chip.on{background:var(--teal);border-color:var(--teal);color:var(--navy);box-shadow:0 4px 12px rgba(66,245,230,.4)}

/* text input */
.bc-input{width:100%;border:1.5px solid var(--border);border-radius:12px;padding:13px 14px;font-size:16px;color:var(--ink,#0b1b2b);background:#fff;font-family:inherit;outline:none;transition:border-color .12s}
.bc-input:focus{border-color:var(--teal)}
.bc-hint{font-size:12px;color:#8494a2;margin-top:8px}

/* "Elsewhere" free-text destination - hidden until the chip is chosen */
.disc-other{margin-top:10px;display:none}
.disc-other.show{display:block}

/* flexible-dates toggle */
.disc-flex{display:flex;align-items:center;gap:10px;margin:10px 2px 4px;padding:12px 14px;border:1.5px solid var(--border);border-radius:14px;background:#f6fbfd;cursor:pointer;font-size:14px;color:var(--navy);font-weight:600}
.disc-flex input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--teal-b,#12a99b)}
.disc-flex small{display:block;font-weight:500;color:#5a7784;font-size:12px;margin-top:2px}

/* photo */
.bc-photo{display:flex;flex-direction:column;align-items:center;gap:14px;margin:4px 0 6px}
.bc-ring{width:120px;height:120px;border-radius:50%;background:linear-gradient(150deg,#e7fff9,#d5f2ff);border:3px dashed var(--teal-b);display:flex;align-items:center;justify-content:center;font-size:44px;overflow:hidden;background-size:cover;background-position:center}
.bc-src{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.bc-src button{font-size:12.5px;color:#33475b;border:1.5px solid var(--border);border-radius:22px;padding:9px 14px;font-weight:700;background:#fff;cursor:pointer;font-family:inherit}
.bc-src button:hover{border-color:var(--teal-b)}

/* toggles */
.bc-flag{display:flex;align-items:center;gap:12px;border:1.5px solid var(--border);border-radius:14px;padding:14px;margin-top:12px;cursor:pointer}
.bc-flag.on{border-color:var(--teal);background:var(--teal-l)}
.bc-tg{width:44px;height:26px;border-radius:20px;background:#cfd8e0;position:relative;flex:none;transition:background .15s}
.bc-tg::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .15s}
.bc-flag.on .bc-tg{background:var(--teal)}
.bc-flag.on .bc-tg::after{left:20px}
.bc-flag b{font-size:15px;font-weight:700;color:var(--ink,#0b1b2b)}
.bc-flag small{display:block;font-size:12px;color:#5b6b7b;font-weight:500}

/* social warning */
.bc-warn{font-size:12px;color:var(--amber,#92400E);background:var(--amber-bg,#FEF3C7);border-radius:8px;padding:10px 12px;margin-top:10px;line-height:1.45}
.ver-age{display:flex;align-items:flex-start;gap:9px;margin-top:12px;font-size:12.5px;line-height:1.45;color:#3d5163;cursor:pointer}
.ver-age input{width:17px;height:17px;margin:1px 0 0;flex:0 0 auto;accent-color:#0f9f9b;cursor:pointer}

.bc-grouplab{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#33475b;margin:18px 0 9px}

/* nav */
.bc-nav{display:flex;align-items:center;gap:12px;margin-top:20px}
.bc-dives-block{margin:4px 0 22px;padding-bottom:6px}
.bc-looking-dives{margin-top:6px;margin-bottom:18px;padding-bottom:4px}
.pf-draft{display:flex;align-items:center;gap:12px;background:var(--teal-l);border:1px solid var(--teal-b);border-radius:14px;padding:12px 14px;margin:0 0 14px}
.pf-draft b{display:block;font-size:14px;color:var(--navy);font-weight:800}
.pf-draft small{display:block;font-size:12px;color:#0b3b41;font-weight:600;margin-top:2px}
.pf-draft .bc-next{flex:none;width:auto;padding:10px 16px;margin:0}
.bc-back{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--border);background:#fff;color:#8494a2;font-size:22px;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer}
.bc-back[disabled]{opacity:.4;cursor:default}
.bc-next{flex:1;background:var(--teal);color:var(--navy);border:none;border-radius:26px;padding:14px;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}
.bc-skip{text-align:center;font-size:12px;color:#8494a2;font-weight:700;margin-top:12px;cursor:pointer;background:none;border:none;font-family:inherit;width:100%}

/* completeness meter */
.bc-meter{height:7px;border-radius:6px;background:#e3e8ee;margin:0 0 6px;overflow:hidden}
.bc-meter i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--teal),var(--teal-h));transition:width .3s}
.bc-meter-lab{font-size:11px;font-weight:800;color:var(--teal-h);margin:0 0 14px}

/* ---- friends ---- */
.fr-invite{display:flex;align-items:center;gap:13px;background:var(--teal-l);border:1px solid var(--teal-b);border-radius:16px;padding:14px;margin-bottom:12px}
.fr-invite .fr-ic{width:46px;height:46px;border-radius:14px;background:linear-gradient(160deg,#1aa7c4,#0d3d6b);display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}
.fr-invite b{font-size:14.5px;color:var(--navy);font-weight:800}
.fr-invite small{display:block;font-size:12px;color:#0b3b41;font-weight:600;margin-top:2px;line-height:1.45}
.fr-search{display:flex;gap:9px;margin-bottom:16px}
.fr-find{flex:none;background:var(--navy);color:#fff;border:none;border-radius:10px;padding:0 18px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit}
.fr-hint{font-size:12.5px;color:#8494a2;font-weight:600;margin:10px 2px}
/* Filter box above the buddy list, so a long list can be narrowed by typing. */
.fr-filter{margin:16px 0 2px}
.fr-filter .bc-input{width:100%}
.fr-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:11px 13px;margin-top:10px}
.fr-av{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:#fff;background:linear-gradient(160deg,#1aa7c4,#0d3d6b)}
.fr-row-main{flex:1;min-width:0}
.fr-row-main b{font-size:14.5px;color:var(--navy);font-weight:800}
.fr-row-main small{display:block;font-size:12px;color:#5b6b7b;font-weight:600}
.fr-vf{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#1a9bd8;color:#fff;font-size:10px;vertical-align:middle}
.fr-actions{display:flex;gap:8px;flex:none}
.fr-accept,.fr-req{background:var(--teal);color:var(--navy);border:none;border-radius:20px;padding:9px 15px;font-size:12.5px;font-weight:800;cursor:pointer;font-family:inherit}
.fr-req:disabled{opacity:.55;cursor:default;background:#d7e3ea;color:var(--sub)}
.fr-decline{background:#fff;color:#b42318;border:1px solid #f1c6c1;border-radius:20px;padding:9px 13px;font-size:12.5px;font-weight:800;cursor:pointer;font-family:inherit}
/* Buddies: Friends / Divers sub-lists + "add to a list" chips */
.tr-cnt{display:inline-block;margin-left:5px;font-size:11px;background:rgba(13,61,107,.12);border-radius:10px;padding:1px 7px}
.fr-add2{display:flex;gap:6px;flex:none}
.fr-addl{background:#eef4f8;color:#33475b;border:1px solid #d3e0e8;border-radius:16px;padding:8px 11px;font-size:11.5px;font-weight:800;cursor:pointer;font-family:inherit}
.fr-addl:hover{border-color:var(--teal-b)}
.fr-msg-b{background:var(--teal);color:var(--navy);border:none;border-radius:50%;width:36px;height:36px;font-size:16px;cursor:pointer;font-family:inherit}

/* ---- profile badges + streak ---- */
.pf-streak{background:#fff4e0;color:#a35a00;font-size:12px;font-weight:800;padding:6px 11px;border-radius:20px;white-space:nowrap}
.pf-sec-h{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#33475b;margin:20px 0 12px;display:flex;align-items:center}
/* Account actions at the foot of the profile: sign out, then delete. */
.pf-danger{display:block;text-align:center;margin-top:12px;padding:12px;font-size:13.5px;font-weight:700;color:#b42318;text-decoration:none}
/* Quiet screen while a saved sign-in is being restored. */
.bgv-boot{min-height:60vh;display:flex;align-items:center;justify-content:center}
.pf-danger:hover{text-decoration:underline}
.pf-cnt{margin-left:auto;font-size:11px;color:#8494a2;text-transform:none;letter-spacing:0}
.pf-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.pf-badge{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:13px 6px;text-align:center}
.pf-badge .pb-ic{font-size:26px;line-height:1}
.pf-badge b{display:block;font-size:12.5px;font-weight:800;color:var(--navy);margin-top:6px}
.pf-badge small{display:block;font-size:10px;color:#8494a2;font-weight:700;margin-top:1px}
.pf-badge.locked{opacity:.38}

/* ---- verification (profile home + get-verified) ---- */
.ver-tick{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#1a9bd8;color:#fff;font-size:14px;vertical-align:middle}
.ver-badge{display:inline-flex;align-items:center;gap:7px;background:#e7f5fd;border:1px solid #b6e0f5;color:#0b5d86;font-size:14px;font-weight:800;padding:11px 16px;border-radius:14px;margin:4px 0 4px}
.ver-pending{display:inline-flex;align-items:center;gap:7px;background:var(--amber-bg,#FEF3C7);border:1px solid #f5dea3;color:var(--amber,#92400E);font-size:14px;font-weight:800;padding:11px 16px;border-radius:14px;margin:4px 0}
.ver-cta{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px;margin:4px 0 12px}
.ver-cta .ver-ic-sm{width:44px;height:44px;border-radius:13px;background:linear-gradient(160deg,#1a9bd8,#0d3d6b);display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}
.ver-cta b{font-size:14.5px;color:var(--navy);font-weight:800}
.ver-cta small{display:block;font-size:12px;color:#5b6b7b;font-weight:600;margin-top:2px}
.ver-ic{width:60px;height:60px;border-radius:18px;background:linear-gradient(160deg,#1a9bd8,#0d3d6b);display:flex;align-items:center;justify-content:center;font-size:29px;margin:4px 0 12px}
.bc-ver-upload{border:2px dashed var(--teal-b);background:var(--teal-l);border-radius:16px;padding:16px;text-align:center;cursor:pointer;margin-top:4px}
.bc-ver-up-in b{display:block;font-size:14px;color:var(--navy);font-weight:800;margin-top:6px}
.bc-ver-up-in small{display:block;font-size:12px;color:#5b6b7b;font-weight:600;margin-top:3px}
.bc-ver-up-in{font-size:28px}
.bc-ghost{background:var(--surface);color:var(--navy);border:1px solid var(--border)}

/* ---- app shell: top bar (wordmark + profile avatar) ---- */
/* Dive Buddy carries ONE mark. The DiveScanner site bar is hidden on this page
   so the app does not show two logos and two menus stacked on each other. */
/* Phone: the app carries one mark, so the DiveScanner site bar is hidden and
   two logos never stack. Landscape tablet and desktop keep the site bar, so
   they behave like the rest of the website. */
/* Phone: the site header is hidden, so the app column owns the whole screen. */
/* Dive Buddy is its own screen. Hide every DiveScanner site chrome here so
   the page never looks like a website menu wrapped around the app. site-chrome
   loads after buddy.css and uses nav.ds-site-nav at the same specificity, so
   the Dive Buddy rule must name that class to win. */
.buddy-app-page{padding-bottom:0!important}
.buddy-app-page nav,
.buddy-app-page nav.ds-site-nav,
.buddy-app-page footer,
.buddy-app-page footer.ds-site-footer,
.buddy-app-page .ds-tabbar,
.buddy-app-page .ds-b2t,
.buddy-app-page .ds-more-scrim,
.buddy-app-page .ds-more-sheet{display:none!important}
@media (max-width:899px){
  html, body.buddy-app-page{height:100%;overflow:hidden}
  body.buddy-app-page .buddy-wrap{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;padding-bottom:10px}
  /* Gate and signed-in body both live under #buddyApp - this is the only
     scroll surface when the wrap is locked to the phone height. */
  body.buddy-app-page .buddy-wrap > #buddyApp{overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
}
/* Full-height column on every screen so the tab bar sits at the bottom, even
   when Home or Chats is short. */
.buddy-wrap{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:10px}
.buddy-wrap > #buddyApp{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.buddy-topbar{display:flex;align-items:center;gap:10px;padding:2px 4px 12px;position:relative;z-index:80;overflow:visible}
.btop-back{display:inline-flex;align-items:center;gap:3px;flex:none;background:var(--teal-l);color:var(--navy);font-size:12px;font-weight:800;text-decoration:none;padding:7px 10px 7px 6px;border-radius:20px;line-height:1}
.btop-back svg{width:16px;height:16px;display:block}
/* The menu that drops from the avatar. Anchored to the bar's top-right so it
   sits under the photo the diver just tapped. */
.btop-menu{position:absolute;top:100%;right:4px;z-index:90;min-width:186px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 30px rgba(13,61,107,.16);padding:6px;display:flex;flex-direction:column}
.btop-menu[hidden]{display:none}
.btm-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;border-radius:10px;padding:11px 12px;font-family:inherit;font-size:14.5px;font-weight:700;color:var(--navy);cursor:pointer;text-decoration:none}
.btm-item:hover{background:#f1f6fa}
.btm-danger{color:#b42318}
.btm-ic{width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center}
.btm-ic svg{width:20px;height:20px;display:block}
.btop-logo{font-size:20px;font-weight:900;color:var(--navy);letter-spacing:-.3px;line-height:1.05;user-select:none;-webkit-user-select:none}
.btop-logo b{color:var(--teal-b,#12a99b)}
.btop-by{display:block;font-size:10.5px;font-weight:700;letter-spacing:.4px;color:#93a5b4;margin-top:2px}
.btop-av{margin-left:auto;width:auto;height:auto;border-radius:12px;padding:0;border:2px solid transparent;background:none;cursor:pointer;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.btop-av.on{border-color:transparent}
.btop-av.on .btop-avc{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal)}
.btop-avc{width:34px;height:34px;border-radius:50%;background:#eaf7f4;border:1px solid var(--teal-b,#12a99b);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--navy);overflow:hidden;background-size:cover;background-position:center}
.btop-avlab{font-size:10px;font-weight:800;color:#8aa8c4;line-height:1;letter-spacing:.1px}
.btop-av.on .btop-avlab{color:var(--navy)}
.btop-av.av-ic .btop-avc img,.btop-av.av-ic .btop-avc svg{width:80%;height:80%;object-fit:contain}

/* ---- app shell: bottom tab bar ---- */
.buddy-body{flex:1 1 auto;min-height:0;padding-bottom:10px;overflow:auto;-webkit-overflow-scrolling:touch}
.buddy-tabbar{position:sticky;bottom:0;display:flex;background:#fff;border:1px solid var(--border);border-radius:18px;padding:8px 6px;margin-top:14px;box-shadow:0 -4px 20px rgba(3,20,35,.06)}
.bt-tab{flex:1;text-align:center;font-size:10px;font-weight:800;color:#8aa8c4;background:none;border:none;font-family:inherit;cursor:pointer;padding:4px 0}
.bt-tab .bt-ic{display:flex;align-items:center;justify-content:center;width:40px;height:30px;margin:0 auto 1px;border-radius:14px;font-size:22px;line-height:1;transition:background .15s}
.bt-tab .bt-ic svg{width:26px;height:26px;display:block}
.bt-tab.on{color:var(--navy)}
.bt-tab.on .bt-ic{background:#d6f5f1}

/* ---- match: "Your matches" strip + section headings ---- */
.mt-sec-h{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#33475b;margin:14px 2px 10px}
.mt-strip{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:6px;-webkit-overflow-scrolling:touch}
.mt-match{flex:none;width:64px;background:none;border:none;font-family:inherit;cursor:pointer;text-align:center;padding:0}
.mt-av{width:58px;height:58px;border-radius:50%;margin:0 auto 5px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#fff;background:linear-gradient(160deg,#1aa7c4,#0d3d6b);border:2px solid var(--teal);background-size:cover;background-position:center;overflow:hidden}
.mt-av.av-ic{background:#eaf7f4}
.mt-av.av-ic img,.mt-av.av-ic svg{width:80%;height:80%;object-fit:contain}
.mt-nm{display:block;font-size:11.5px;font-weight:800;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- discover: trip header ---- */
.disc-trip{display:flex;align-items:center;gap:10px;background:var(--teal-l);border:1px solid var(--teal-b);border-radius:14px;padding:11px 14px;margin-bottom:14px;font-size:13.5px;font-weight:800;color:var(--navy)}
.disc-change{margin-left:auto;background:#fff;border:1px solid var(--teal-b);color:var(--navy);border-radius:20px;font-size:12px;font-weight:800;padding:6px 12px;cursor:pointer;font-family:inherit}
.disc-searchlink{display:block;text-align:center;margin:-6px 0 14px;font-size:13px;font-weight:800;color:#0b1b2b;text-decoration:none;padding:8px;border:1px solid var(--teal-b);border-radius:12px;background:var(--teal-l)}
.disc-searchlink:hover{background:#dbfaf5}

/* ---- discover: swipe card ---- */
.disc-card{background:#fff;border:1px solid var(--border);border-radius:26px;overflow:hidden;box-shadow:0 14px 34px rgba(3,20,35,.16)}
.disc-photo{height:320px;background:linear-gradient(160deg,#1aa7c4,#0d3d6b);background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end}
.disc-big{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-size:92px}
.disc-lvl{position:absolute;top:14px;right:14px;background:var(--teal);color:var(--navy);font-size:11px;font-weight:800;padding:6px 12px;border-radius:20px}
.disc-solo{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);color:var(--navy);font-size:11px;font-weight:800;padding:6px 11px;border-radius:20px}
.disc-verified{position:absolute;top:48px;right:14px;background:#1a9bd8;color:#fff;font-size:11px;font-weight:800;padding:6px 11px;border-radius:20px}
.disc-cap{width:100%;background:linear-gradient(transparent,rgba(3,20,35,.86));padding:52px 16px 14px;color:#fff}
.disc-cap h3{margin:0;font-size:23px;font-weight:800}
.disc-meta{font-size:12.5px;opacity:.94;margin-top:3px}
.disc-tags{padding:12px 15px;display:flex;flex-wrap:wrap;gap:7px}
.disc-tags span{font-size:11.5px;font-weight:700;color:#0b3b41;background:var(--teal-l);border:1px solid var(--teal-b);border-radius:20px;padding:5px 10px}
.disc-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin:16px 0 6px}
.disc-b{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 8px 20px rgba(3,20,35,.18);background:#fff;border:2px solid #e3e8ee;cursor:pointer;font-family:inherit}
.disc-b.pass{color:#98a4b0}
.disc-b.star{color:#ffb020;border-color:#ffe4a8;font-size:24px}
.disc-b.like{color:#fff;background:linear-gradient(150deg,#3aa7ea,#1878c9);border:none;font-size:28px}
.disc-hint{text-align:center;font-size:12px;color:#8494a2;font-weight:700;margin-top:8px}

/* wide-screen side panel next to the deck (Match) - hidden on phone, shown past 900px */
.buddy-side{display:none}
.side-trip-row{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.side-trip-row b{font-size:15px;color:#0d3d6b}
.side-trip-row small{color:#66798d;font-size:12.5px}
.side-trip-link{font-size:12.5px;font-weight:700;color:#0f9f9b;text-decoration:none}
.side-trip-link:hover{text-decoration:underline}
/* "Up next" queue and the wide-screen feed host: phone keeps the single column,
   both appear only past the 900px breakpoint. */
.disc-upnext,.disc-feedhost{display:none}
.un-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.un-c{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff;padding:0;
  font-family:inherit;cursor:pointer;text-align:left;display:block}
.un-c:hover{border-color:var(--teal-b)}
.un-im{display:flex;align-items:center;justify-content:center;height:104px;position:relative;
  background:linear-gradient(160deg,#dcf1fb,#eaf7f4);background-size:cover;background-position:center}
.un-im svg{width:44px;height:44px}
.un-big{font-size:30px}
.un-v{position:absolute;left:7px;bottom:7px;background:rgba(255,255,255,.93);color:#0d3d6b;
  font-size:10px;font-weight:800;padding:3px 7px;border-radius:9px}
.un-bd{display:block;padding:8px 10px 10px}
.un-bd b{display:block;font-size:13.5px;color:var(--navy)}
.un-bd small{display:block;font-size:11.5px;color:#7b8d9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- discover: empty / notify ---- */
.disc-empty{text-align:center;padding:34px 16px}
.disc-empty .de-ic{width:88px;height:88px;border-radius:50%;margin:0 auto 16px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:42px}
.disc-empty h2{font-size:22px;font-weight:800;color:var(--navy);margin:0 0 8px}
.disc-empty p{font-size:14px;color:#5b6b7b;line-height:1.55;margin:0 auto 18px;max-width:300px}

/* ---- match ---- */
.disc-match{text-align:center;padding:34px 16px;background:radial-gradient(400px 300px at 50% 26%,#fff0f5,#fff);border-radius:26px}
.dm-avs{display:flex;align-items:center;justify-content:center;margin:6px 0 18px}
.dm-av{width:88px;height:88px;border-radius:50%;background:linear-gradient(160deg,#1aa7c4,#0d3d6b);display:flex;align-items:center;justify-content:center;font-size:38px;color:#fff;border:4px solid #fff;box-shadow:0 8px 20px rgba(3,20,35,.2)}
.dm-av.b{margin-left:-22px;background:linear-gradient(160deg,#ff9a6b,#ff5c8a);font-weight:800}
.dm-heart{position:relative;z-index:2;width:52px;height:52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 -18px;box-shadow:0 6px 16px rgba(24,120,201,.4);color:#1878c9}
.disc-match h1{font-size:26px;margin:0 0 6px;font-weight:800;color:var(--navy)}
.disc-match p{font-size:14px;color:#5b6b7b;line-height:1.55;max-width:280px;margin:0 auto 10px}
.dm-go{background:linear-gradient(150deg,#3aa7ea,#1878c9);color:#fff;border:none;border-radius:26px;padding:14px 30px;font-size:16px;font-weight:800;cursor:pointer;font-family:inherit}

/* ---- spinner ---- */
.disc-load{text-align:center;padding:60px 16px;color:#8494a2}
.dl-spin{width:38px;height:38px;border-radius:50%;border:3px solid #e3e8ee;border-top-color:var(--teal);margin:0 auto 14px;animation:bcspin .8s linear infinite}
.disc-load p{font-size:14px;font-weight:700}
@keyframes bcspin{to{transform:rotate(360deg)}}

/* ---- home feed: dive moments row ---- */
.mom-hint{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:#5b6f83;margin:2px 2px 9px}
.mom-hint em{font-style:normal;margin-left:auto;font-size:10.5px;font-weight:800;color:var(--teal-b,#12a99b);background:var(--teal-l);border-radius:9px;padding:3px 8px}
.mom-empty{font-size:12px;color:#8a9bab;line-height:1.45;margin:10px 2px 0}

/* Instagram-style full photo / Dive Moment viewer */
.st-ov{position:fixed;inset:0;z-index:5000;width:100%;height:100%;height:100dvh;background:#000;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0)}
.st-ticks{display:flex;gap:4px;padding:8px 10px 0}
.st-ticks i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.28)}
.st-ticks i.on,.st-ticks i.done{background:#fff}
.st-top{display:flex;align-items:center;gap:10px;padding:10px 12px 8px;z-index:2}
.st-top b{flex:1;color:#fff;font-size:15px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-x{flex:none;background:#fff;color:#04222f;border:none;border-radius:16px;padding:7px 12px;font-size:13px;font-weight:800;font-family:inherit;cursor:pointer}
.st-media{flex:1 1 auto;min-height:0;width:100%;position:relative}
.st-media img,.st-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.st-hit{position:absolute;top:52px;bottom:0;width:28%;background:none;border:none;padding:0;z-index:1}
.st-hit-l{left:0}
.st-hit-r{right:0}
.fc-hint{font-size:12px;font-weight:600;color:#12a99b;background:var(--teal-l);border-radius:10px;padding:8px 11px;margin:2px 0 0}
.mom-row{display:flex;gap:13px;overflow-x:auto;padding:2px 2px 12px;-webkit-overflow-scrolling:touch;user-select:none;-webkit-user-select:none}
.mom{width:64px;flex:none;text-align:center;user-select:none;-webkit-user-select:none;border:none;background:none;padding:0;font:inherit;cursor:pointer}
.mom.add{cursor:pointer}
.mom-ring,.mom-ring i,.mom small{user-select:none;-webkit-user-select:none}
.mom-ring{width:64px;height:64px;border-radius:50%;padding:3px;background:conic-gradient(from 210deg,var(--teal),var(--coral),var(--pink),var(--teal));display:flex}
.mom-ring i{flex:1;border-radius:50%;background:var(--navy) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;border:3px solid #fff;font-style:normal}
.mom.add .mom-ring{background:var(--border)}
.mom.add .mom-ring i{background:var(--surface);color:var(--teal-h);font-size:26px}
.mom small{display:block;font-size:11px;color:#5b6b7b;font-weight:700;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- home feed: composer ---- */
.feed-composer{width:100%;display:flex;align-items:center;gap:11px;background:#fff;border:1.5px solid var(--teal-b);border-radius:16px;padding:12px 14px;cursor:pointer;font-family:inherit;margin-bottom:14px}
.fc-av{width:36px;height:36px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:#fff;background:linear-gradient(160deg,#1aa7c4,#0d3d6b)}
.fc-ph{color:#8494a2;font-size:14px;font-weight:600;text-align:left;flex:1}
.fc-go{background:var(--teal);color:var(--navy);border-radius:20px;font-size:12px;font-weight:800;padding:7px 13px}
.feed-form{background:#fff;border:1px solid var(--border);border-radius:18px;padding:15px;margin-bottom:14px}
/* clean photo-first composer */
.fc-head{display:flex;align-items:center;margin-bottom:12px}
.fc-head b{font-size:16px;font-weight:800;color:var(--navy)}
.fc-x{margin-left:auto;background:none;border:none;color:#9fb0bc;font-size:22px;line-height:1;cursor:pointer;font-family:inherit;padding:0 2px}
.fc-add{display:block;width:100%;border:2px dashed var(--teal-b);background:var(--teal-l);border-radius:16px;padding:30px 16px;text-align:center;cursor:pointer;font-family:inherit}
.fc-add-ic{font-size:30px;color:var(--navy);line-height:1}
.fc-add b{display:block;font-size:15px;font-weight:800;color:var(--navy);margin-top:8px}
.fc-add small{display:block;font-size:12px;color:#5f7688;font-weight:600;margin-top:3px}
.fc-thought{display:block;text-align:center;font-size:12.5px;font-weight:800;color:#12a99b;margin-top:14px;cursor:pointer}
.fc-cap{position:relative;margin-top:13px}
.fc-cap .fc-bulb{position:absolute;right:9px;top:9px;width:28px;height:28px;border-radius:8px;background:var(--teal-l);border:1px solid var(--teal-b);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;font-family:inherit}
.fc-text{width:100%;border:1.5px solid var(--border);border-radius:12px;padding:12px 42px 12px 12px;font-size:15px;font-family:inherit;color:var(--ink,#0b1b2b);outline:none;resize:none;min-height:56px}
.fc-text:focus{border-color:var(--teal)}
.fc-rows{margin-top:11px}
.fc-orow{display:flex;align-items:center;gap:11px;padding:12px 2px;border-top:1px solid var(--border);font-size:14px;font-weight:700;color:var(--navy);cursor:pointer}
.fc-orow .fc-oi{font-size:17px;flex:none}
.fc-orow .fc-ot{flex:1}
.fc-dest{border:none;background:none;font-size:13px;font-weight:700;color:#5f7688;font-family:inherit;text-align:right;max-width:150px}
.fc-tg{appearance:none;-webkit-appearance:none;width:40px;height:23px;border-radius:20px;background:#d7e0e6;position:relative;flex:none;cursor:pointer;transition:background .15s}
.fc-tg::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.fc-tg:checked{background:var(--teal)}
.fc-tg:checked::after{left:19px}
.fc-photo{position:relative;aspect-ratio:4/5;max-height:60vh;border-radius:12px;background:#eef3f6 center/cover no-repeat;margin-top:10px;touch-action:pan-y;-webkit-user-select:none;user-select:none}
video.fc-photo{width:100%;aspect-ratio:4/5;object-fit:cover;background:#000;display:block}
/* underwater colour fix - advertised promo + swipeable strength presets */
.fx-promo{display:flex;align-items:center;gap:9px;background:linear-gradient(135deg,#e7fff9,#dff3ff);border:1px solid var(--teal-b);border-radius:13px;padding:10px 12px;margin-top:10px}
.fx-promo-i{font-size:20px;flex:none}
.fx-promo small{font-size:12px;font-weight:700;color:var(--navy);line-height:1.35}
.fx-badge{position:absolute;top:10px;left:10px;background:rgba(13,61,107,.82);color:#fff;font-size:11px;font-weight:800;padding:5px 11px;border-radius:20px}
/* The hint sits on a translucent pill so it stays readable on any photo, light
 * coral included, instead of relying on a text shadow alone. */
.fx-swipe{position:absolute;left:0;right:0;bottom:11px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.fx-swipe span{display:inline-flex;align-items:center;gap:8px;background:rgba(6,22,38,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:12.5px;font-weight:800;border-radius:999px;padding:7px 15px}
.fx{background:var(--teal-l);border:1px solid var(--teal-b);border-radius:12px;padding:11px 13px;margin-top:10px}
.fx-lab{font-size:12.5px;font-weight:800;color:var(--navy);margin-bottom:9px}
.fx-presets{display:flex;gap:9px;overflow-x:auto;padding:1px 1px 3px;-webkit-overflow-scrolling:touch}
.fx-pre{flex:none;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-align:center}
.fx-sw{display:block;width:54px;height:54px;border-radius:12px;border:2px solid transparent;background:#cfe0ea center/cover no-repeat}
.fx-pre.on .fx-sw{border-color:var(--teal);box-shadow:0 0 0 3px rgba(66,245,230,.35)}
.fx-pre small{display:block;font-size:10.5px;font-weight:800;color:#4a6577;margin-top:5px}
.fx-pre.on small{color:var(--navy)}
.fx-dots{display:flex;justify-content:center;gap:6px;margin-top:9px}
.fx-dots i{width:6px;height:6px;border-radius:50%;background:#bcd0dc;transition:width .15s}
.fx-dots i.on{background:var(--teal-h);width:16px;border-radius:6px}
.fx-soon{font-size:12px;color:#5b6b7b;font-weight:600;margin:8px 0 0;text-align:center}
.fc-row{display:flex;gap:9px;margin-top:10px}
.fc-dest{flex:1;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--ink,#0b1b2b);background:#fff}
.fc-photo-btn{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;color:#33475b;cursor:pointer;font-family:inherit}
.fc-moment{display:flex;align-items:center;gap:8px;font-size:13px;color:#33475b;font-weight:600;margin-top:11px}
.fc-actions{display:flex;gap:10px;margin-top:14px}
.fc-cancel{flex:none;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 18px;font-size:14px;font-weight:800;color:var(--navy);cursor:pointer;font-family:inherit}
.fc-post{width:100%;background:var(--teal);color:var(--navy);border:none;border-radius:22px;padding:13px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit;margin-top:15px}

/* ---- home feed: posts ---- */
.feed-list{display:flex;flex-direction:column;gap:14px}
.feed-empty{text-align:center;color:#8494a2;font-size:14px;font-weight:600;padding:24px 10px;line-height:1.5}
.post{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden}
.post-hd{display:flex;align-items:center;gap:10px;padding:13px 14px 0}
.post-av{width:40px;height:40px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;background:linear-gradient(160deg,#ff9a6b,#ff5c8a)}
.post-hd b{font-size:14.5px;font-weight:800;color:var(--navy)}
.post-hd small{display:block;font-size:11.5px;color:#5b6b7b;font-weight:600}
.post-vf{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#1a9bd8;color:#fff;font-size:10px;vertical-align:middle}
.post-who{min-width:0}
.post-more{margin-left:auto;flex:none;border:none;background:none;color:#8aa0b2;font-size:22px;line-height:1;padding:2px 8px;border-radius:10px;cursor:pointer;font-family:inherit}
.post-more:hover{background:var(--surface);color:var(--navy)}
.post-txt{padding:10px 15px 8px;font-size:14px;line-height:1.5;color:#1c2b39;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.post-pic{aspect-ratio:4/5;width:100%;border:none;padding:0;display:block;background:#eef3f6 center/cover no-repeat;cursor:zoom-in}
video.post-vid{width:100%;aspect-ratio:4/5;max-height:560px;background:#000;display:block;object-fit:cover}
.mom-ring i.mom-vid{background:var(--navy);color:#fff;font-size:20px}
.post-act{display:flex;align-items:center;gap:16px;padding:12px 15px;color:#5b6b7b;font-size:13px;font-weight:800}
.post-like{background:none;border:none;color:#8494a2;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:5px}
.post-like.on{color:var(--pink)}
.post-join{margin-left:auto;background:linear-gradient(150deg,var(--pink),var(--coral));color:#fff;border-radius:20px;padding:8px 15px;font-size:12.5px;font-weight:800;cursor:pointer}
/* weekly dive question (seeded engagement card) */
.qw{background:#fff;border:1px solid var(--border);color:var(--navy);border-radius:18px;padding:15px 15px 16px;margin-bottom:13px;box-shadow:0 3px 12px rgba(20,60,90,.06)}
.qw-lab{font-size:10.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#5a7488}
.qw-q{font-size:16.5px;font-weight:800;margin:6px 0 12px;line-height:1.3;color:var(--navy)}
.qw-opts{display:flex;flex-wrap:wrap;gap:7px}
.qw-opt{background:var(--teal-l);border:1px solid var(--teal-b);color:var(--navy);border-radius:18px;padding:8px 13px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer}
.qw-opt.on{background:var(--teal);color:#08243b;border-color:var(--teal)}
/* one-tap prompt chips under the composer */
.cmp-lab{font-size:11px;font-weight:800;color:#5a7488;text-transform:uppercase;letter-spacing:.4px;margin:2px 2px 8px}
.pchips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.pchip{background:#fff;border:1.5px solid var(--teal-b);color:var(--navy);border-radius:16px;padding:8px 12px;font-size:12.5px;font-weight:800;font-family:inherit;cursor:pointer}
.pchip:hover{background:var(--teal-l)}

/* fun dive quizzes - vertical panel + full-screen quiz sheet */
.qz-panel{background:linear-gradient(160deg,rgba(255,255,255,.75),rgba(231,255,249,.6));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.85);border-radius:20px;padding:8px;margin-bottom:13px;box-shadow:0 8px 22px rgba(20,60,90,.10)}
.qz-row{display:flex;align-items:center;gap:12px;width:100%;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);border-radius:14px;padding:12px 13px;text-align:left;font-family:inherit;cursor:pointer;transition:transform .1s}
.qz-row+.qz-row{margin-top:7px}
.qz-row:hover{transform:translateX(2px)}
.qz-ico{width:42px;height:42px;flex:none;border-radius:12px;background:var(--teal-l);border:1px solid var(--teal-b);display:flex;align-items:center;justify-content:center;font-size:23px}
.qz-rmid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.qz-ttl{font-size:14px;font-weight:800;line-height:1.2;color:var(--navy)}
.qz-sub{font-size:11px;font-weight:600;color:#4a6577}
.qz-go{flex:none;color:#12a99b;font-size:20px;font-weight:800}

/* dive journal - guided, no-typing composer */
.jr-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:15px 15px 16px;margin-bottom:13px;box-shadow:0 8px 22px rgba(3,20,35,.06)}
.jr-card.jr-collapsed{padding:14px 15px}
.jr-head{display:flex;align-items:center;gap:11px;width:100%;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-align:left}
.jr-bk{font-size:20px;flex:none}
.jr-htx{display:flex;flex-direction:column}
.jr-head b{font-size:15px;color:var(--navy);font-weight:800}
.jr-head small{font-size:11.5px;color:#5f7688;font-weight:600;margin-top:1px}
.jr-chev{margin-left:auto;color:#12a99b;font-size:15px;font-weight:800}
.jr-sub{font-size:12px;color:#5f7688;font-weight:600;margin:11px 0 12px}
.jr-starts{display:flex;flex-direction:column;gap:8px}
.jr-start{display:flex;align-items:center;gap:11px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:12px 13px;font-size:14px;font-weight:800;color:var(--navy);font-family:inherit;cursor:pointer;text-align:left;transition:transform .1s}
.jr-start:hover{transform:translateX(2px);border-color:var(--teal-b)}
.jr-si{font-size:18px}
.jr-ar{margin-left:auto;color:#12a99b;font-size:18px}
.jr-back{background:none;border:none;color:#5f7688;font-size:13.5px;font-weight:800;font-family:inherit;cursor:pointer;padding:0 0 8px}
.jr-lead{font-size:15px;font-weight:800;color:var(--navy);margin:2px 0 11px}
.jr-bubs{display:flex;flex-wrap:wrap;gap:8px}
.jr-bub{background:var(--teal-l);border:1px solid var(--teal-b);color:var(--navy);border-radius:22px;padding:10px 14px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .1s}
.jr-bub:hover{transform:translateY(-1px)}
.jr-bub.on{background:var(--teal);border-color:var(--teal)}
.jr-thumb{width:100%;aspect-ratio:4/5;max-height:44vh;background:#e7eef4 center/cover no-repeat;border-radius:14px;margin-top:12px}
.jr-actions{display:flex;gap:9px;margin-top:14px;align-items:stretch}
.jr-photo{flex:1;border:1.5px dashed var(--teal-b);background:var(--teal-l);border-radius:12px;padding:11px;text-align:center;font-size:12.5px;font-weight:800;color:var(--navy);font-family:inherit;cursor:pointer}
.jr-post{flex:none;background:var(--teal);color:var(--navy);border:none;border-radius:22px;padding:11px 24px;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer}
.jr-post:disabled{opacity:.6}
/* a journal entry inside the feed */
.post-journal{padding:8px 15px 4px;font-size:15px;color:var(--navy);font-weight:700}
.post-journal b{font-weight:800}
.post-journal .pj-pick{display:inline-block;background:var(--teal-l);border:1px solid var(--teal-b);border-radius:14px;padding:2px 10px;font-weight:800;margin-left:4px}

/* home milestone teaser - compact, discoverable, taps into Profile */
.mt{display:block;width:100%;position:relative;border-radius:18px;overflow:hidden;padding:14px 15px 15px;color:#fff;background-size:cover;background-position:center;margin-bottom:13px;box-shadow:0 10px 26px rgba(3,20,35,.16);cursor:pointer;font-family:inherit;text-align:left}
.mt-top{display:flex;align-items:center;gap:8px}
.mt-top .t{font-size:14px;font-weight:800}
.mt-top .c{margin-left:auto;font-size:12px;font-weight:800;color:var(--teal)}
.mt-sub{font-size:11.5px;color:rgba(255,255,255,.82);font-weight:600;margin:2px 0 11px}
.mt-row{display:flex;gap:9px}
.mt-t{flex:1;aspect-ratio:1/1;border-radius:11px;background-size:cover;background-position:center;position:relative;box-shadow:0 3px 9px rgba(0,0,0,.3)}
.mt-t::after{content:"";position:absolute;inset:0;border-radius:11px;background:linear-gradient(180deg,rgba(6,26,44,0) 45%,rgba(6,26,44,.7))}
.mt-t.lock{filter:grayscale(.7) brightness(.7)}
.mt-t .tk{position:absolute;top:5px;right:5px;width:17px;height:17px;border-radius:50%;background:var(--teal);color:var(--navy);font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:800;z-index:2}
.mt-t .nx{position:absolute;left:0;right:0;bottom:5px;text-align:center;font-size:8.5px;font-weight:800;color:#fff;z-index:2;letter-spacing:.2px}
.mt-bar{height:6px;border-radius:5px;background:rgba(255,255,255,.22);margin-top:12px;overflow:hidden}
.mt-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-h))}
.mt-cta{text-align:center;margin-top:12px;font-size:13px;font-weight:800;color:var(--navy);background:var(--teal);border-radius:22px;padding:10px}

/* rewards - Dive log header (photo) */
.rw-hero{position:relative;border-radius:16px;overflow:hidden;padding:16px 16px 15px;color:#fff;background-size:cover;background-position:center;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:4px}
.rw-eye{position:absolute;top:14px;left:16px;font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.85)}
.rw-big{font-size:38px;font-weight:800;letter-spacing:-.5px;line-height:.95}
.rw-u{font-size:13px;font-weight:600;color:rgba(255,255,255,.9);margin-top:1px}
.rw-stats{display:flex;gap:20px;margin-top:11px}
.rw-stat b{font-size:15px;font-weight:800}
.rw-stat span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.78);margin-top:1px}
/* rewards - milestone photo tiles */
.rw-mile-h{display:flex;align-items:center;font-size:13px;font-weight:800;color:var(--navy);margin:15px 2px 10px}
.rw-mile-h .rw-cnt{margin-left:auto;font-size:11.5px;color:#7c93a5;font-weight:700}
.rw-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.rw-mtile{position:relative;height:116px;border-radius:14px;overflow:hidden;background-size:cover;background-position:center;box-shadow:0 5px 14px rgba(3,20,35,.16)}
.rw-mtile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,26,44,0) 40%,rgba(6,26,44,.82))}
.rw-mtile.lock{filter:grayscale(.7) brightness(.72)}
.rw-chip{position:absolute;top:8px;left:8px;width:29px;height:29px;border-radius:9px;background:rgba(10,30,48,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;z-index:2}
.rw-tk{position:absolute;top:8px;right:8px;width:21px;height:21px;border-radius:50%;background:var(--teal);color:var(--navy);font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:800;z-index:2;box-shadow:0 2px 8px rgba(66,245,230,.5)}
.rw-lk{position:absolute;top:8px;right:9px;color:rgba(255,255,255,.85);font-size:13px;z-index:2}
.rw-mtx{position:absolute;left:11px;right:11px;bottom:9px;z-index:2;color:#fff}
.rw-mtx b{display:block;font-size:13px;font-weight:800;line-height:1.15}
.rw-mtx small{font-size:10px;font-weight:600;color:rgba(255,255,255,.82)}
/* rewards - unlock moment (full photo + soft sparkle) */
.rw-ov{position:fixed;inset:0;z-index:1400;background:rgba(4,16,28,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}
.rw-pcard{width:100%;max-width:290px;border-radius:22px;overflow:hidden;background:#0b2233;box-shadow:0 24px 60px rgba(0,0,0,.55);animation:rwpop .3s cubic-bezier(.2,1.3,.5,1)}
@keyframes rwpop{from{transform:scale(.86);opacity:0}to{transform:scale(1);opacity:1}}
.rw-pph{height:200px;background-size:cover;background-position:center;position:relative}
.rw-pph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,26,44,0) 45%,#0b2233)}
.rw-pbadge{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);width:56px;height:56px;border-radius:15px;background:rgba(10,30,48,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;z-index:2}
.rw-pbadge svg{width:28px;height:28px}
.rw-spark{position:absolute;color:#fff;font-size:12px;z-index:3;text-shadow:0 0 8px rgba(66,245,230,.9);animation:rwtw 1.8s ease-in-out infinite}
.rw-s1{left:30px;top:26px}.rw-s2{right:38px;top:20px;font-size:9px;animation-delay:.4s}.rw-s3{right:26px;top:70px;animation-delay:.9s}
@keyframes rwtw{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}
.rw-pbd{padding:6px 20px 20px;text-align:center;color:#fff}
.rw-pcap{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--teal)}
.rw-pttl{font-size:22px;font-weight:800;margin:4px 0 6px}
.rw-pline{font-size:13px;color:rgba(255,255,255,.75);font-weight:500;line-height:1.45;margin-bottom:16px}
.rw-ok{background:var(--teal);color:var(--navy);border:none;border-radius:22px;padding:12px 0;width:100%;font-size:14.5px;font-weight:800;font-family:inherit;cursor:pointer}
.rw-share{background:none;border:none;color:var(--teal);font-size:12.5px;font-weight:800;margin-top:11px;cursor:pointer;font-family:inherit}
.qz-overlay{position:fixed;inset:0;z-index:1300;background:rgba(6,22,38,.62);display:flex;align-items:center;justify-content:center;padding:18px}
.qz-sheet{width:100%;max-width:420px;background:#fff;border-radius:22px;padding:24px 20px 22px;position:relative;text-align:center;box-shadow:0 24px 60px rgba(3,20,35,.4)}
.qz-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:26px;line-height:1;color:#8494a2;cursor:pointer;font-family:inherit}
.qz-prog{display:flex;gap:6px;justify-content:center;margin:2px 0 14px}
.qz-prog i{width:26px;height:6px;border-radius:6px;background:#dbe6ee}
.qz-prog i.on{background:var(--teal)}
.qz-emoji-lg{font-size:40px;line-height:1;margin-bottom:8px}
.qz-sheet h2{font-size:19px;font-weight:800;color:var(--navy);margin:0 0 16px;line-height:1.3}
.qz-answers{display:flex;flex-direction:column;gap:10px}
.qz-ans{background:var(--surface,#f4f9fb);border:1.5px solid var(--border);border-radius:16px;padding:14px;font-size:15px;font-weight:700;color:var(--navy);font-family:inherit;cursor:pointer;text-align:left}
.qz-ans:hover{border-color:var(--teal-b);background:var(--teal-l)}
.qz-result .qz-badge{font-size:64px;line-height:1;margin:6px 0 4px}
.qz-result h1{font-size:24px;font-weight:900;color:var(--navy);margin:0 0 8px}
.qz-result p{font-size:14.5px;color:#5b6b7b;line-height:1.55;margin:0 0 20px}
.qz-share{width:100%;background:var(--teal);color:#0b1b2b;border:none;border-radius:24px;padding:14px;font-size:15.5px;font-weight:800;font-family:inherit;cursor:pointer}
.qz-meet{width:100%;margin-top:9px;background:var(--navy);color:#fff;border:none;border-radius:24px;padding:13px;font-size:14.5px;font-weight:800;font-family:inherit;cursor:pointer}
.qz-again{width:100%;margin-top:6px;background:none;color:#8494a2;border:none;padding:11px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer}

/* quick reactions + "Me too" */
.rx-bar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:10px 15px 4px}
.rx{display:inline-flex;align-items:center;gap:5px;background:#f2f7fa;border:1px solid #e3ecf2;border-radius:16px;padding:5px 10px;font-size:14px;font-weight:800;color:#33475b;cursor:pointer;font-family:inherit}
.rx.on{background:var(--teal-l);border-color:var(--teal-b)}
.rx span{font-size:12.5px}
.metoo{margin-left:auto;background:var(--teal);color:#0b1b2b;border:none;border-radius:16px;padding:8px 13px;font-size:12.5px;font-weight:800;cursor:pointer;font-family:inherit}
.metoo.on{box-shadow:inset 0 0 0 2px var(--navy)}
.lk-emoji{margin-left:auto;font-size:17px}
.lk-emoji + .lk-vf{margin-left:8px}

/* who-liked strip under a post */
.post-likers{display:flex;align-items:center;gap:9px;width:100%;margin:0;padding:9px 15px 13px;border:none;border-top:1px solid var(--border);background:none;cursor:pointer;font-family:inherit;text-align:left}
.post-likers .pl-avs{display:flex;flex:0 0 auto}
.post-likers .pl-avs span{width:24px;height:24px;border-radius:50%;background-size:cover;background-position:center;background-color:#dff1f5;border:2px solid #fff;margin-left:-7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#0b3b41;overflow:hidden}
.post-likers .pl-avs span:first-child{margin-left:0}
.post-likers .pl-avs span.av-ic img,.post-likers .pl-avs span.av-ic svg{width:100%;height:100%;object-fit:contain}
.post-likers small{font-size:12.5px;color:#5b6b7b;font-weight:600}

/* who-liked bottom sheet */
.likers-overlay{position:fixed;inset:0;z-index:1200;background:rgba(6,22,38,.5);display:flex;align-items:flex-end;justify-content:center}
.likers-card{width:100%;max-width:440px;background:#fff;border-radius:18px 18px 0 0;max-height:70vh;overflow:auto;padding-bottom:8px}
.lk-head{position:sticky;top:0;background:#fff;font-size:15px;font-weight:800;color:var(--navy);padding:15px 18px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center}
.lk-x{margin-left:auto;background:none;border:none;font-size:24px;line-height:1;color:#8494a2;cursor:pointer;font-family:inherit}
.lk-row{display:flex;align-items:center;gap:12px;padding:11px 18px}
.lk-av{width:38px;height:38px;border-radius:50%;background-size:cover;background-position:center;background-color:#dff1f5;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:#0b3b41;flex:0 0 auto;overflow:hidden}
.lk-av.av-ic img,.lk-av.av-ic svg{width:80%;height:80%;object-fit:contain}
.lk-name{font-size:14.5px;font-weight:700;color:var(--navy)}
.lk-vf{font-size:12px;font-weight:700;color:var(--teal-b,#12a99b)}

/* friend profile bottom sheet (tap a buddy row) */
.fr-row-tap{cursor:pointer}
.fr-chev{margin-left:auto;color:#c0ccd6;font-size:22px;font-weight:700;flex:0 0 auto}
.buddy-sheet{width:100%;max-width:440px;background:#fff;border-radius:20px 20px 0 0;padding:20px 20px 26px;position:relative;max-height:82vh;overflow:auto}
.bs-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:26px;line-height:1;color:#8494a2;cursor:pointer;font-family:inherit}
.bs-top{display:flex;align-items:center;gap:14px}
.bs-av{width:72px;height:72px;border-radius:50%;background:var(--teal-b,#12a99b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;background-size:cover;background-position:center;flex:0 0 auto;overflow:hidden}
.bs-av.av-ic{background:#eaf7f4}
.bs-av.av-ic img,.bs-av.av-ic svg{width:80%;height:80%;object-fit:contain}
.bs-top h3{margin:0;font-size:21px;font-weight:800;color:var(--navy)}
.bs-vf{color:var(--teal-b,#12a99b);font-size:15px}
.bs-top small{font-size:13.5px;color:#5b6b7b;font-weight:600}
.bs-line{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:14px;color:#33475b;font-weight:600}
.bs-line .bs-ic{width:30px;height:30px;border-radius:8px;background:#eaf7f4;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.bs-line .bs-ic img,.bs-line .bs-ic svg{width:100%;height:100%;object-fit:contain}
.bs-lab{font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#8494a2;margin:18px 0 8px}
.bs-tags{display:flex;flex-wrap:wrap;gap:7px}
.bs-tags span{font-size:12px;font-weight:700;color:#0b3b41;background:var(--teal-l);border:1px solid var(--teal-b);border-radius:16px;padding:5px 11px}
.bs-msg{margin-top:22px;width:100%;background:var(--teal);color:#0b1b2b;border:none;border-radius:24px;padding:14px;font-size:15.5px;font-weight:800;font-family:inherit;cursor:pointer}
.bs-remove{margin-top:10px;width:100%;background:none;color:#b42318;border:none;border-radius:24px;padding:11px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer}
.bs-remove:hover{background:#fdeceb}
/* remove-confirm sheet */
.buddy-sheet.bs-confirm{text-align:center;padding:26px 22px 24px}
.bs-confirm h3{margin:0 0 8px;font-size:19px;font-weight:800;color:var(--navy)}
.bs-confirm p{font-size:13.5px;color:#5b6b7b;line-height:1.5;margin:0 0 18px}
.bs-remove-yes{width:100%;background:#e5484d;color:#fff;border:none;border-radius:24px;padding:14px;font-size:15px;font-weight:800;font-family:inherit;cursor:pointer}
.bs-remove-no{width:100%;background:none;color:var(--navy);border:none;border-radius:24px;padding:12px;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;margin-top:6px}

/* privacy chooser (profile) */
.pf-privsub{font-size:12.5px;color:#5b6b7b;margin:2px 0 6px;line-height:1.45}
.pv-lab{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#33475b;margin:14px 0 8px}
.pv-seg{display:flex;gap:8px}
.pv-opt{flex:1;border:1.5px solid var(--border);border-radius:14px;padding:11px 10px;text-align:center;font-size:13.5px;font-weight:700;color:#33475b;background:#fff;cursor:pointer;font-family:inherit}
.pv-opt.on{border-color:var(--teal-b);background:var(--teal-l);color:#0b3b41}

/* trip-match alerts (someone planned a bucket-list trip) */
.tr-alerts{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.tr-alert{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:linear-gradient(120deg,#ff9d5c,#ff6f91);color:#fff;border:none;border-radius:16px;padding:12px 14px;font-family:inherit;cursor:pointer;box-shadow:0 6px 16px rgba(255,111,145,.35)}
.tr-alert-ic{font-size:22px;flex:0 0 auto}
.tr-alert b{font-size:14px;font-weight:800;display:block}
.tr-alert small{font-size:12px;opacity:.95;font-weight:600}

/* ---- guided trip wizard ---- */
.wz-prog{display:flex;gap:6px;margin:2px 2px 12px}
.wz-prog i{height:6px;border-radius:6px;flex:1;background:#dbe6ee;transition:background .2s}
.wz-prog i.on{background:var(--teal)}
.wz-card{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:0 12px 34px rgba(3,20,35,.1);padding:20px 18px 22px}
.wz-ic{font-size:30px;line-height:1;margin-bottom:6px}
.wz-card h2{font-size:20px;font-weight:800;color:var(--navy);margin:0 0 4px}
.wz-s{font-size:13px;color:#5b6b7b;line-height:1.5;margin:0 0 14px}
.wz-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.wz-dest{height:78px;border-radius:14px;background-size:cover;background-position:center;position:relative;border:3px solid transparent;overflow:hidden;cursor:pointer;padding:0}
.wz-dest span{position:absolute;left:9px;right:9px;bottom:7px;color:#fff;font-weight:800;font-size:14px;letter-spacing:.2px;z-index:1;text-align:left;text-shadow:-1px 0 2px #041226,1px 0 2px #041226,0 1px 2px #041226,0 -1px 2px #041226,0 2px 7px rgba(0,0,0,.85)}
.wz-dest.on{border-color:var(--teal);box-shadow:0 0 0 3px rgba(66,245,230,.4)}
.wz-dest::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,38,.12) 0%,transparent 32%,rgba(4,18,38,.9))}
.wz-else{margin-top:10px;background:none;border:none;color:var(--teal-b,#12a99b);font-size:13px;font-weight:800;font-family:inherit;cursor:pointer;padding:2px}
.wz-other{margin-top:8px;display:none}
.wz-other.show{display:block}
.wz-species{margin-top:8px}
.wz-pills{display:flex;flex-wrap:wrap;gap:8px}
.wz-pill{font-size:13px;font-weight:800;padding:9px 13px;border-radius:20px;background:#e7eef4;color:#41586b;border:1.5px solid #dbe6ee;font-family:inherit;cursor:pointer}
.wz-pill.on{background:var(--teal);color:var(--navy);border-color:var(--teal)}
.wz-q{font-size:12px;font-weight:800;color:#33475b;margin:15px 0 8px;text-transform:uppercase;letter-spacing:.4px}
.wz-nav{display:flex;gap:10px;align-items:center;margin-top:18px}
.wz-nav-col{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.wz-nav-col .bc-next{width:100%}
.wz-textback{display:block;margin:12px auto 0;background:none;border:none;color:#8494a2;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}
.wz-hint{text-align:center}
.wz-turtle{width:96px;height:96px;display:block;margin:4px auto 10px}

/* ---- Trips tab (bucket list / upcoming / past) ---- */
.tr-head{background:linear-gradient(120deg,#0d3d6b,#1391d6);color:#fff;border-radius:18px;padding:16px 16px 14px;margin-bottom:12px}
.tr-head h1{font-size:21px;font-weight:900;margin:0}
.tr-head p{font-size:12.5px;opacity:.85;margin:2px 0 0}
.tr-subtabs{display:flex;gap:6px;margin-bottom:14px}
.tr-subtab{flex:1;text-align:center;font-size:12.5px;font-weight:800;padding:9px 4px;border-radius:14px;background:#dde9f0;color:#5a7488;border:none;font-family:inherit;cursor:pointer}
.tr-subtab.on{background:var(--teal);color:var(--navy);box-shadow:0 4px 12px rgba(66,245,230,.5)}
.tr-card{border-radius:18px;margin-bottom:14px;overflow:hidden;box-shadow:0 6px 18px rgba(20,60,90,.16);background:#fff;cursor:pointer}
.tr-cover{position:relative;height:150px;background-size:cover;background-position:center}
.tr-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,38,.05) 35%,rgba(4,18,38,.8))}
.tr-name{position:absolute;left:14px;bottom:11px;color:#fff;z-index:1}
.tr-name b{font-size:20px;font-weight:900;display:block;text-shadow:0 2px 10px rgba(0,0,0,.5);letter-spacing:-.3px}
.tr-name small{font-size:13px;opacity:.96;font-weight:700}
.tr-bell{position:absolute;top:11px;right:11px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-size:19px;z-index:2;box-shadow:0 3px 10px rgba(0,0,0,.25);border:none;cursor:pointer;font-family:inherit}
.tr-bell.on{background:var(--teal)}
.tr-find{position:absolute;right:12px;bottom:11px;z-index:1;background:var(--teal);color:var(--navy);font-size:12px;font-weight:800;border-radius:16px;padding:6px 11px;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.tr-hint{font-size:11.5px;color:#7a93a3;text-align:center;margin:2px 0 16px;font-weight:600}
.tr-add{display:block;width:100%;text-align:center;background:var(--teal);color:var(--navy);font-size:15px;font-weight:800;border-radius:24px;padding:14px;margin-top:2px;border:none;font-family:inherit;cursor:pointer}
.tr-empty{font-size:14px;color:#5b6b7b;line-height:1.55;text-align:center;padding:24px 14px}
.tr-actions{padding:12px 14px}
.tr-go{width:100%;background:var(--teal);color:var(--navy);border:none;border-radius:20px;padding:12px;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer}
.tr-invite{width:100%;margin-top:8px;background:#fff;color:var(--navy);border:1px solid var(--teal-b);border-radius:20px;padding:11px;font-size:13.5px;font-weight:800;font-family:inherit;cursor:pointer}
.tr-invite:hover{background:var(--teal-l)}
.tr-cal{width:100%;margin-top:8px;background:#fff;color:var(--navy);border:1px solid var(--teal-b);border-radius:20px;padding:11px 14px;font-size:13.5px;font-weight:800;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:10px}
.tr-cal:hover{background:var(--teal-l)}
.tr-cal-badge{display:flex;flex-direction:column;width:34px;height:34px;border-radius:7px;overflow:hidden;border:1px solid var(--teal-b);flex:0 0 auto}
.tr-cal-mo{background:var(--teal);color:var(--navy);font-size:9px;line-height:13px;text-align:center;letter-spacing:.03em;font-weight:800}
.tr-cal-yr{flex:1;background:#fff;color:var(--navy);font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;font-weight:800}
/* matched-trip crew (divers on this trip) */
.tr-crew-wrap{padding:12px 14px 2px}
.tr-crew-lab{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#5a7488;margin-bottom:10px}
.tr-crew{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.tr-crew-av{flex:none;width:60px;background:none;border:none;font-family:inherit;cursor:pointer;text-align:center;padding:0}
.tr-crew-none{font-size:12.5px;color:#6a8496;font-weight:600;margin:0 0 4px}

/* ---- chats: list ---- */
.chat-list-h{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#33475b;margin:6px 2px 12px}
.chat-list{display:flex;flex-direction:column;gap:10px}
.chat-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px 14px;cursor:pointer;font-family:inherit;text-align:left;width:100%}
.chat-row:hover{border-color:var(--teal-b)}
.chat-av{width:46px;height:46px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:#fff;background:linear-gradient(160deg,#1aa7c4,#0d3d6b)}
.chat-av.sm{width:38px;height:38px;font-size:16px}
.chat-row-main{flex:1;min-width:0}
.chat-row-main b{display:block;font-size:15px;color:var(--navy);font-weight:800}
.chat-row-main small{display:block;font-size:12px;color:#5b6b7b;font-weight:600;margin-top:2px}
.chat-row-chev{color:#c3ccd4;font-size:20px}
.chat-vf{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#1a9bd8;color:#fff;font-size:10px;vertical-align:middle}
.chat-row.crew{border-color:var(--teal-b);background:var(--teal-l)}
.chat-av.crew-av{background:linear-gradient(150deg,var(--teal),#12a4c8);color:var(--navy)}
.chat-who{display:block;font-size:11px;font-weight:800;color:var(--coral);margin-bottom:2px}

/* ---- chats: conversation ---- */
.chat-head{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:10px 12px;margin-bottom:10px}
.chat-back{width:34px;height:34px;border-radius:50%;border:none;background:var(--surface);color:var(--navy);font-size:20px;flex:none;cursor:pointer;font-family:inherit}
.chat-head-id{flex:1;min-width:0}
.chat-head-id b{font-size:15px;color:var(--navy);font-weight:800}
.chat-head-id small{display:block;font-size:12px;color:#5b6b7b;font-weight:600}
.chat-more{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:#fff;color:#8494a2;font-size:18px;flex:none;cursor:pointer;font-family:inherit}
.chat-thread{height:52vh;overflow-y:auto;background:#eef3f6;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:9px}
.chat-sys{align-self:center;text-align:center;font-size:11.5px;font-weight:700;color:#5b6b7b;background:#fff;border:1px solid var(--border);border-radius:12px;padding:9px 12px;line-height:1.45;max-width:92%}
.chat-msg{max-width:80%;padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.45;box-shadow:0 2px 6px rgba(3,20,35,.06);word-wrap:break-word;overflow-wrap:anywhere}
.chat-msg.them{background:#fff;border-bottom-left-radius:5px;align-self:flex-start;color:#1c2b39}
.chat-msg.me{background:var(--teal);color:var(--navy);border-bottom-right-radius:5px;align-self:flex-end;font-weight:600}
.chat-compose{display:flex;align-items:center;gap:10px;margin-top:10px}
.chat-input{flex:1;background:#fff;border:1px solid var(--border);border-radius:22px;padding:12px 15px;font-size:15px;font-family:inherit;color:var(--ink,#0b1b2b);outline:none}
.chat-input:focus{border-color:var(--teal)}
.chat-send{width:44px;height:44px;border-radius:50%;background:var(--teal);color:var(--navy);border:none;font-size:18px;flex:none;cursor:pointer;font-family:inherit}
/* "Verified only" inbox toggle in the chat header (green = verified / safe) */
.vtoggle{display:flex;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;border-radius:22px;padding:4px 7px 4px 9px;flex:none;cursor:pointer;font-family:inherit}
.vt-txt{display:flex;flex-direction:column;line-height:1.05;text-align:right}
.vt-txt b{font-size:10px;font-weight:800;color:var(--navy)}
.vt-txt small{font-size:9px;color:#8494a2;font-weight:700}
.vt-sw{width:36px;height:21px;border-radius:21px;background:#cdd8e1;position:relative;flex:none;transition:background .15s}
.vt-sw i{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}
.vtoggle.on{border-color:#a6e3c1;background:#e9f9f0}
.vtoggle.on .vt-sw{background:#1aa35a}
.vtoggle.on .vt-sw i{left:17px}
.vtoggle.on .vt-txt b{color:#137a43}
.chat-vbanner{text-align:center;font-size:11.5px;font-weight:700;color:#137a43;background:#e9f9f0;border:1px solid #a6e3c1;border-radius:12px;padding:8px 12px;margin-bottom:10px;line-height:1.45}
.chat-lock{text-align:center;font-size:13px;font-weight:700;color:#137a43;background:#e9f9f0;border:1px solid #a6e3c1;border-radius:16px;padding:14px;line-height:1.5;margin-top:10px}
.cl-btn{display:block;margin:10px auto 0;background:#1aa35a;color:#fff;border:0;border-radius:20px;padding:9px 18px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit}
/* destination picker (tap to add to your dream destinations + link to real trips) */
.dp-h{font-size:16px;font-weight:800;color:var(--navy);margin:2px 2px 3px}
.dp-h2{font-size:15px;font-weight:800;color:var(--navy);margin:22px 2px 3px}
.dp-p{font-size:12.5px;color:#5c7891;font-weight:500;margin:0 2px 12px;line-height:1.45}
.dp-list{display:flex;flex-direction:column;gap:10px}
.dp-row{display:flex;align-items:center;gap:12px;border:2px solid var(--border);border-radius:16px;padding:8px;background:#fff;cursor:pointer;transition:border-color .12s,background .12s}
.dp-row.sel{border-color:var(--teal);background:var(--teal-l)}
.dp-ph{width:58px;height:58px;border-radius:12px;flex:none;background-size:cover;background-position:center;background-color:#cfe0ea}
.dp-main{flex:1;min-width:0;display:flex;flex-direction:column}
.dp-main b{font-size:15px;font-weight:800;color:var(--navy)}
.dp-main small{font-size:11.5px;color:#5c7891;font-weight:600}
.dp-trips{font-size:12px;font-weight:800;color:#0e6f86;text-decoration:none;margin-top:4px}
.dp-check{width:26px;height:26px;border-radius:50%;flex:none;border:2px solid #cdd8e1;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:14px;font-weight:900}
.dp-row.sel .dp-check{background:var(--teal);border-color:var(--teal)}
/* Irina - the floating DiveScanner Cruise Director agent (support-widget style) */
.irina-fab-wrap{position:fixed;right:14px;bottom:150px;z-index:430}
.irina-fab-x{position:absolute;top:-6px;right:-4px;z-index:2;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid var(--border);box-shadow:0 3px 10px rgba(6,28,48,.2);color:#5c7891;font-size:15px;line-height:1;cursor:pointer;font-family:inherit;padding:0}
.chat-av.ir-av{background-image:url('/assets/img/irina.jpg');background-size:cover;background-position:center}
.irina-fab{position:relative;display:flex;flex-direction:row-reverse;align-items:center;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.irina-av{width:54px;height:54px;border-radius:50%;flex:none;background-image:url('/assets/img/irina.jpg');background-size:cover;background-position:center;border:3px solid #fff;box-shadow:0 6px 18px rgba(6,28,48,.28);position:relative;z-index:1}
.irina-dot{position:absolute;right:2px;bottom:3px;width:13px;height:13px;border-radius:50%;background:#1aa35a;border:2.5px solid #fff}
.irina-lab{background:#fff;border:1px solid var(--border);box-shadow:0 6px 18px rgba(6,28,48,.16);border-radius:22px 4px 22px 22px;padding:7px 24px 7px 14px;margin-right:-16px;text-align:right}
.irina-lab b{font-size:12px;font-weight:800;color:var(--navy);display:block;line-height:1.1}
.irina-lab small{font-size:9.5px;color:#5c7891;font-weight:700}
.irina-ov{position:fixed;inset:0;z-index:480;background:rgba(6,22,38,.4);display:flex;align-items:flex-end}
.irina-sheet{width:100%;max-width:520px;margin:0 auto;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -10px 30px rgba(6,28,48,.28);padding:18px 18px 24px;position:relative;animation:irup .22s ease}
@keyframes irup{from{transform:translateY(30px);opacity:.6}to{transform:none;opacity:1}}
.irina-x{position:absolute;top:12px;right:14px;background:#eef4f8;border:0;color:#5c7891;width:28px;height:28px;border-radius:50%;font-size:19px;line-height:1;cursor:pointer;font-family:inherit}
.irina-hd{display:flex;align-items:center;gap:12px}
.irina-shav{width:54px;height:54px;border-radius:50%;flex:none;background-image:url('/assets/img/irina.jpg');background-size:cover;background-position:center;border:2px solid var(--teal-b)}
.irina-id b{font-size:17px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:7px}
.irina-badge{background:var(--teal);color:var(--navy);font-size:9.5px;font-weight:800;letter-spacing:.3px;padding:2px 8px;border-radius:20px;text-transform:uppercase}
.irina-id small{font-size:12px;color:#5c7891;font-weight:600}
.irina-msg{font-size:14.5px;line-height:1.5;color:#33475a;font-weight:500;margin:13px 0 8px}
.irina-msg b{color:var(--navy);font-weight:800}
.irina-msg2{font-size:13px;line-height:1.45;color:#5c7891;font-weight:600;margin:0 0 10px}
.irina-note{font-size:11.5px;color:#8494a2;font-weight:600;margin-top:12px;line-height:1.4}
.irina-btns{display:flex;flex-direction:column;gap:9px;margin-top:6px}
.irina-b{border:0;border-radius:14px;padding:13px;font-size:14px;font-weight:800;text-align:left;cursor:pointer;font-family:inherit}
.irina-b.p{background:var(--teal);color:var(--navy)}
.irina-b.s{background:var(--teal-l);color:#0a7d72;border:1px solid var(--teal-b)}
.irina-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.irina-chip{background:#fff;border:1.5px solid var(--border);border-radius:22px;padding:9px 14px;font-size:13.5px;font-weight:700;color:var(--navy);cursor:pointer;font-family:inherit}
.irina-chip:hover{border-color:var(--teal);background:var(--teal-l)}
.irina-trips{display:inline-block;margin-top:6px;background:var(--teal);color:var(--navy);border-radius:22px;padding:11px 20px;font-size:14px;font-weight:800;text-decoration:none}

/* ---- report / block sheet ---- */
.rb-overlay{position:fixed;inset:0;background:rgba(3,20,35,.4);z-index:500;display:flex;align-items:center;justify-content:center;padding:18px}
.rb-sheet{width:100%;max-width:420px;background:#fff;border-radius:22px;padding:18px 18px 20px;box-shadow:0 16px 40px rgba(3,20,35,.24);max-height:86vh;overflow:auto;-webkit-overflow-scrolling:touch}
.rb-grab{width:44px;height:5px;border-radius:5px;background:#dfe5ea;margin:4px auto 14px}
.rb-opt{display:flex;align-items:center;gap:13px;width:100%;padding:14px 6px;border:none;border-bottom:1px solid var(--border);font-size:15px;font-weight:700;color:var(--ink,#0b1b2b);background:none;font-family:inherit;cursor:pointer;text-align:left}
.rb-opt .rb-oi{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:19px;flex:none;background:var(--surface)}
.rb-opt.danger{color:#b42318}
.rb-opt.danger .rb-oi{background:#fdecea}
.rb-opt .rb-ch{margin-left:auto;color:#c3ccd4;font-size:18px}
.rb-reasons{margin-top:8px}
.rb-rh{font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#33475b;margin:6px 2px 9px}
.rb-chip{font-size:12.5px;font-weight:700;color:#33475b;background:var(--surface);border:1.5px solid var(--border);border-radius:20px;padding:8px 13px;margin:0 7px 8px 0;cursor:pointer;font-family:inherit}
.rb-chip.ban{color:#b42318;border-color:#f1c6c1;background:#fdecea}
.rb-chip.on{background:var(--teal);border-color:var(--teal);color:var(--navy)}
.rb-human,.rb-copy{margin:0 0 14px;font-size:14px;color:#5b6b7b;font-weight:600;text-align:left;line-height:1.5}
.rb-title{font-size:18px;font-weight:800;color:var(--navy);margin:0 0 8px}
.rb-check{display:flex;align-items:center;gap:8px;margin:12px 2px;font-size:14px;font-weight:700;color:var(--navy)}
.rb-go{width:100%;margin-top:8px;background:var(--teal);color:var(--navy);border:none;border-radius:22px;padding:13px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit}
.rb-go:disabled{opacity:.45;cursor:default}
.rb-cancel{width:100%;margin-top:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:13px;font-size:15px;font-weight:800;color:var(--navy);cursor:pointer;font-family:inherit}
.pf-block-row{display:flex;align-items:center;gap:10px;margin:8px 0;padding:10px 12px;border:1px solid var(--border);border-radius:14px}
.pf-block-row b{flex:1;font-size:14px;color:var(--navy)}
.pf-block-row button{width:auto;margin:0;padding:8px 12px;font-size:13px}

/* saved / done state */
.bc-done{text-align:center;padding:20px 10px}
.bc-done .d-ic{width:96px;height:96px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(160deg,#1a9bd8,#0d3d6b);display:flex;align-items:center;justify-content:center;font-size:46px;color:#fff}
.bc-done h2{font-size:24px;font-weight:800;color:var(--navy);margin:0 0 6px}
.bc-done p{font-size:14px;color:#5b6b7b;line-height:1.55;margin:0 auto 18px;max-width:300px}
.bc-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#062f3a;color:#fff;font-size:14px;font-weight:700;padding:12px 18px;border-radius:12px;box-shadow:0 8px 24px rgba(3,20,35,.3);z-index:400;opacity:0;transition:opacity .2s;pointer-events:none}
.bc-toast.show{opacity:1}

/* ---- in-app language picker (globe) ---- */

/* App icons are not text: never show a text cursor or allow select/copy on the
   nav + icon chrome. Chat message text stays selectable so it can be copied. */
.buddy-tabbar, .bt-tab, .bt-ic, .disc-b, .disc-actions, .bc-emoji,
.mom, .mom-ring, .d-ic, .ver-ic, .ver-ic-sm, .disc-big,
.disc-solo, .disc-verified, .disc-lvl, .pb-ic, .bc-mask, .dvb-lang-btn{
  -webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}

/* Chat: cheerful underwater scene behind the thread (stays put while messages scroll) */
.chat-thread{background:url("/assets/img/buddy-icons/turtle.png") 40% 58%/120px auto no-repeat,url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20400%20520%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22w%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23e4f5fc%22%2F%3E%3Cstop%20offset%3D%220.5%22%20stop-color%3D%22%23c4e8f6%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23a3d8ef%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Crect%20width%3D%22400%22%20height%3D%22520%22%20fill%3D%22url(%23w)%22%2F%3E%3Cg%20fill%3D%22%23ffffff%22%20opacity%3D%220.22%22%3E%3Cpolygon%20points%3D%2270%2C0%20120%2C0%2040%2C520%20-50%2C520%22%2F%3E%3Cpolygon%20points%3D%22250%2C0%20280%2C0%20220%2C520%20160%2C520%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23ffffff%22%20opacity%3D%220.55%22%3E%3Ccircle%20cx%3D%22350%22%20cy%3D%22150%22%20r%3D%226%22%2F%3E%3Ccircle%20cx%3D%22366%22%20cy%3D%22110%22%20r%3D%224%22%2F%3E%3Ccircle%20cx%3D%22340%22%20cy%3D%2280%22%20r%3D%228%22%2F%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%22210%22%20r%3D%225%22%2F%3E%3Ccircle%20cx%3D%2280%22%20cy%3D%22260%22%20r%3D%227%22%2F%3E%3Ccircle%20cx%3D%2248%22%20cy%3D%22285%22%20r%3D%223%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23ff9d5c%22%3E%3Cg%20transform%3D%22translate(310%2C120)%22%3E%3Cellipse%20rx%3D%2217%22%20ry%3D%2210%22%2F%3E%3Cpolygon%20points%3D%22-15%2C0%20-28%2C-9%20-28%2C9%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%22-2%22%20r%3D%222%22%20fill%3D%22%232a2a2a%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23ffd166%22%3E%3Cg%20transform%3D%22translate(96%2C150)%20scale(0.8)%22%3E%3Cellipse%20rx%3D%2216%22%20ry%3D%2210%22%2F%3E%3Cpolygon%20points%3D%2214%2C0%2027%2C-9%2027%2C9%22%2F%3E%3Ccircle%20cx%3D%22-6%22%20cy%3D%22-2%22%20r%3D%222%22%20fill%3D%22%232a2a2a%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3Cpath%20d%3D%22M0%20430%20Q100%20395%20200%20425%20T400%20415%20L400%20520%20L0%20520%20Z%22%20fill%3D%22%23f2e0b0%22%2F%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%234bb37a%22%20stroke-width%3D%229%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M44%20500%20q-14%20-30%204%20-55%20q16%20-22%200%20-46%22%2F%3E%3Cpath%20d%3D%22M66%20505%20q14%20-26%20-2%20-50%20q-12%20-20%204%20-42%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ef8fb0%22%20stroke-width%3D%2210%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M338%20500%20q-6%20-40%20-26%20-54%22%2F%3E%3Cpath%20d%3D%22M338%20500%20q6%20-36%2024%20-46%22%2F%3E%3Cpath%20d%3D%22M338%20500%20q0%20-46%200%20-58%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23c58cf0%22%3E%3Ccircle%20cx%3D%22300%22%20cy%3D%22470%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22316%22%20cy%3D%22459%22%20r%3D%227%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/cover no-repeat}
/* Chat emoji / diver-sign picker */
.chat-emoji-btn{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}
.chat-emoji-panel{background:#fff;border:1px solid var(--border);border-radius:16px;padding:8px;margin-top:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:172px;overflow-y:auto;box-shadow:0 -6px 20px rgba(3,20,35,.08)}
/* keep the emoji panel hidden until the 😊 button opens it (the class display:grid
   was overriding the bare [hidden] rule, so it always showed and covered the input) */
.chat-emoji-panel[hidden]{display:none}
.chat-emo{background:none;border:0;font-size:22px;line-height:1;padding:6px 0;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none}
.chat-emo:hover{background:#eef4fb}

/* Avatar: photo, chosen sea-creature icon, or default emoji */
.bc-avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 10px;background:#e6f3fb center/cover no-repeat;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 14px rgba(3,20,35,.12)}
.bc-avatar-icon img,.bc-avatar-icon svg{width:84%;height:84%;object-fit:contain}
.bc-ring.has-icon{background:#e6f3fb}
.bc-ring img,.bc-ring svg{width:78%;height:78%;object-fit:contain}
/* sea-creature avatar picker grid */
.bc-iconpick{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px;max-height:210px;overflow-y:auto;padding:2px}
.bc-ic{background:#eef4fb;border:2px solid transparent;border-radius:14px;padding:5px;cursor:pointer;aspect-ratio:1;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}
.bc-ic.on{border-color:var(--teal);background:#e2f7f5}
.bc-ic img{width:100%;height:100%;object-fit:contain}
.bc-ic svg{width:100%;height:100%}

/* Water-animal chip on the profile */
.pf-animal{display:flex;align-items:center;gap:10px;background:#eef4fb;border-radius:14px;padding:8px 12px;margin:4px 0;font-size:13.5px;color:#5b6b7b;font-weight:600}
/* quiz persona badge (icebreaker) + "My dives" grid */
.pf-persona{display:inline-flex;align-items:center;gap:6px;background:var(--teal-l);border:1px solid var(--teal-b,#12a99b);color:#0b3b41;border-radius:16px;padding:6px 13px;font-size:13px;font-weight:800;margin:2px 0 6px}
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:14px}
.pf-gt{aspect-ratio:1/1;background:#dfeef4 center/cover no-repeat;border-radius:5px}
.pf-animal b{color:var(--navy)}
.pf-animal-ic{width:36px;height:36px;border-radius:50%;background:#e6f3fb;display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
.pf-animal-ic img,.pf-animal-ic svg{width:82%;height:82%;object-fit:contain}
/* Avatar on cards: photo background or water-animal icon */
.chat-av,.fr-av,.post-av,.fc-av,.dm-av{background-size:cover;background-position:center}
.av-ic{background:#e6f3fb;color:transparent}
.av-ic img,.av-ic svg{width:100%;height:100%;object-fit:contain}
.disc-avic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.disc-avic img,.disc-avic svg{width:56%;height:56%;object-fit:contain}

/* Animated bubble fish for the Discover empty state */
/* matched divers listed in the Match tab when there is nothing left to swipe */
.dm-list{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.dm-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1px solid var(--teal-b);border-radius:16px;padding:10px 14px;font-family:inherit;cursor:pointer}
.dm-row:hover{background:var(--teal-l)}
.dm-row .mt-av{width:46px;height:46px;margin:0;flex:0 0 auto;font-size:18px}
.dm-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dm-id b{font-size:14.5px;font-weight:800;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-id small{font-size:11.5px;color:#5b6b7b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-chat-ic{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--teal);font-size:19px}
.dm-note{font-size:13px;color:#5b6b7b;line-height:1.55;text-align:center;margin:16px auto 14px;max-width:300px}
/* language chooser in Profile settings */
.lang-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.lang-opt{display:flex;align-items:center;gap:8px;background:#fff;color:var(--navy);border:1px solid var(--teal-b);border-radius:14px;padding:11px 12px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;text-align:left}
.lang-opt:hover{background:var(--teal-l)}
.lang-opt.on{background:var(--teal);border-color:var(--teal)}
.lang-flag{font-size:17px;line-height:1}
.de-fish{width:140px;margin:0 auto 4px}
.de-fish svg{width:100%;height:auto;display:block}

/* ============================================================
   Tablet, landscape and desktop.
   Everything below is behind a min-width or landscape query, so the
   phone layout above is untouched. Phones keep the bottom tab bar and
   the single 460px column exactly as before.
   ============================================================ */

/* 7-inch tablet portrait and up: widen the column, scale the photos. */
@media (min-width:640px){
  .buddy-wrap{max-width:620px;padding:22px 20px 40px}
  .disc-photo{height:380px}
  .tr-cover{height:190px}
  .pf-grid{grid-template-columns:repeat(4,1fr)}
}

/* Short landscape (phone or small tablet turned sideways): cap the tall
   elements so the swipe buttons and the compose box never fall below the fold. */
@media (orientation:landscape) and (max-height:720px){
  .disc-photo{height:40vh}
  .chat-thread{height:42vh}
  .fc-photo{max-height:46vh}
}

/* 10-inch tablet, landscape tablet and desktop: Dive Buddy column only.
   Tabs stay at the bottom. They must not sit on the Dive Buddy wordmark. */
@media (min-width:900px){
  .buddy-wrap{position:relative;max-width:480px;margin:0 auto;padding:16px 22px 10px}

  .buddy-topbar{position:relative;height:auto;min-height:62px;z-index:80;overflow:visible;margin:0 0 14px;padding:0 18px;
    background:#fff;border:1px solid var(--border);border-radius:16px;
    box-shadow:0 2px 10px rgba(3,20,35,.05)}
  .btop-logo{font-size:19px}

  .side-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px 16px;margin-bottom:14px}
  .side-h{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#33475b;margin:0 0 10px}

  .three{display:block}
  .buddy-side{display:none}
  .disc-rowa{display:block}
  .disc-rowa .disc-card{max-width:380px;margin:0 auto}
  .disc-upnext,.disc-feedhost{display:none}
  .disc-feedhost .post-pic{aspect-ratio:4/5;height:auto}
  .disc-searchlink{display:inline-block;max-width:340px;text-align:left}
  .disc-matchstrip{display:none}
  .chat-three{display:block}
  /* Photo composer keeps the phone arrangement on every screen: photo on top,
     colour-fix strip underneath. It is only capped and centred so the photo
     never grows huge on a big screen. */
  .fc-photo,.fx,.fc-cap,.fc-text,.fc-rows,.fc-post{max-width:520px;margin-left:auto;margin-right:auto}
  .fc-photo{max-height:520px}

  /* the conversation stays a comfortable reading width, never stretched */
  .chat-thread{height:52vh;justify-content:flex-end}
  .chat-msg{max-width:330px}
  .disc-card{max-width:380px;margin:0 auto}
  .disc-photo{height:auto;aspect-ratio:4/5;max-height:min(520px,62vh)}
}

/* Wide but short (landscape tablet, Chromebook, Android XR). */
@media (min-width:900px) and (max-height:900px){
  .disc-photo{height:auto;aspect-ratio:4/5;max-height:58vh}
  .fc-photo{max-height:58vh}
}

/* ---------- signed-out overview (guests) ----------
   Shown instead of the old one-card gate so a diver can see what Dive Buddy is
   before creating a profile. Static copy only - reads nothing from the store. */
.bgv-hero{background:linear-gradient(165deg,#0d3d6b,#12a4c8);border-radius:24px;padding:26px 22px 24px;color:#fff;margin-top:2px}
.bgv-hero h1{font-size:25px;font-weight:900;margin:0 0 8px;letter-spacing:-.5px;line-height:1.2}
.bgv-hero p{font-size:14px;line-height:1.55;margin:0;color:#d7f2fb}
.bgv-sec{margin-top:22px}
.bgv-lab{font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#8aa0b3;margin:0 0 12px 4px}
.bgv-row{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:18px;padding:15px 16px;margin-bottom:10px}
.bgv-ic{width:44px;height:44px;border-radius:14px;background:#eef7fb;display:flex;align-items:center;justify-content:center;flex:none}
.bgv-ic svg{width:26px;height:26px;display:block}
.bgv-tx b{display:block;font-size:15px;font-weight:800;color:var(--navy);margin-bottom:3px}
.bgv-tx span{font-size:13px;color:#5b6b7b;line-height:1.5}
.bgv-safe{background:#f6fbfd;border:1px solid #d8ecf5;border-radius:18px;padding:16px 18px;margin-top:6px}
.bgv-safe b{display:block;font-size:14px;font-weight:800;color:var(--navy);margin-bottom:9px}
.bgv-safe ul{margin:0;padding:0;list-style:none}
.bgv-safe li{font-size:13px;color:#456;line-height:1.5;padding-left:22px;position:relative;margin-bottom:7px}
.bgv-safe li:last-child{margin-bottom:0}
.bgv-safe li:before{content:"";position:absolute;left:0;top:5px;width:13px;height:13px;border-radius:50%;background:#12a99b}
.bgv-safe li:after{content:"";position:absolute;left:4px;top:9px;width:5px;height:2.5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.bgv-cta{margin-top:24px;text-align:center}
.bgv-cta .bgv-btn{background:var(--teal);color:var(--navy);border:none;border-radius:26px;padding:15px 34px;font-size:16px;font-weight:800;font-family:inherit;cursor:pointer;width:100%}
.bgv-cta small{display:block;font-size:12px;color:#8aa0b3;margin-top:11px}
.buddy-tabbar.bgv-dim .bt-tab{opacity:.55}
.bgv-hero h1,.bgv-hero p,.bgv-lab,.bgv-tx b,.bgv-tx span,.bgv-safe b,.bgv-safe li{-webkit-user-select:none;user-select:none;cursor:default}

/* Looking-for-buddy prefs (Profile) */
.bc-chips-stack{display:flex;flex-direction:column;gap:7px;flex-wrap:nowrap}
.bc-chip-row{width:100%;text-align:left;border-radius:14px;padding:11px 13px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.bc-chip-row small{font-size:11px;font-weight:600;color:#5b6b7b}
.bc-chip-row.on small{color:#0a4a52}
.bc-chips-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bc-chips-grid2 .bc-chip{text-align:center;border-radius:14px;padding:11px 8px}
.pf-looking{margin:12px 0 4px;padding:12px 13px;background:#eaf7f4;border:1px solid #9deee4;border-radius:14px}
.pf-looking-h{font-size:12px;font-weight:800;color:#0d3d6b;margin:0 0 4px}
.pf-looking-s{font-size:13px;color:#456;margin:0;line-height:1.45}

/* Existing logbook nested in the Log tab */
.buddy-body{overflow:auto;-webkit-overflow-scrolling:touch}
.buddy-body .lb-embed{min-height:100%}
.buddy-body .lb-cover-stage{padding:12px 6px 28px;border-radius:16px}
.buddy-body .lb-h1{font-size:20px}
.buddy-body .lb-book-scene{max-width:240px}
.buddy-body .lb-shell{max-width:none;margin:0;padding:0 2px 16px}
.buddy-body.lb-page,.buddy-body .lb-page{background:transparent;min-height:0}

/* First-open app tour. App only. */
.ds-tour{position:fixed;inset:0;z-index:2000}
.ds-tour-hole{position:absolute;border-radius:18px;box-shadow:0 0 0 9999px rgba(11,27,43,.62);outline:2px solid #12a4c8;pointer-events:none}
.ds-tour-card{position:absolute;left:16px;right:16px;background:#fff;border-radius:18px;padding:16px 16px 14px;box-shadow:0 16px 40px rgba(13,61,107,.28)}
.ds-tour-card.low{bottom:108px}
.ds-tour-card.high{top:70px}
.ds-tour-kicker{font-size:11px;font-weight:800;letter-spacing:.4px;color:#12a4c8;margin-bottom:6px}
.ds-tour-title{font-size:18px;font-weight:800;color:var(--navy);margin:0 0 6px}
.ds-tour-body{font-size:14px;line-height:1.45;color:#5b6b7b;margin:0 0 14px}
.ds-tour-row{display:flex;align-items:center;gap:10px}
.ds-tour-skip{background:none;border:none;font-family:inherit;font-size:14px;font-weight:700;color:#8494a2;cursor:pointer;padding:8px 0}
.ds-tour-dots{margin-left:auto;display:flex;gap:5px}
.ds-tour-dots i{width:7px;height:7px;border-radius:50%;display:block;background:#d5e3ec}
.ds-tour-dots i.on{background:#12a4c8}
.ds-tour-next{background:#12a4c8;color:var(--navy);border:none;border-radius:20px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}


