/* 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}

.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-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}
.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}
.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-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}
.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) ---- */
.buddy-topbar{display:flex;align-items:center;gap:10px;padding:2px 4px 12px}
.btop-logo{font-size:17px;font-weight:900;color:var(--navy);letter-spacing:-.2px;user-select:none;-webkit-user-select:none}
.btop-logo b{color:var(--teal-b,#12a99b)}
.btop-av{margin-left:auto;width:38px;height:38px;border-radius:50%;padding:0;border:2px solid transparent;background:none;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center}
.btop-av.on{border-color: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-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{min-height:60vh;padding-bottom:10px}
.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:11px;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:46px;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}

/* ---- 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,#ff5c8a,#ff7a59);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{font-size:11.5px;font-weight:700;color:#7a93a3;margin:2px 2px 7px}
.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}
.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}
.fx-swipe{position:absolute;left:0;right:0;bottom:11px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:12.5px;font-weight:800;text-shadow:0 1px 4px rgba(0,0,0,.55);pointer-events:none}
.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;background:#eef3f6 center/cover no-repeat}
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)}
/* 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{position:fixed;right:14px;bottom:150px;z-index:430;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:flex-end;justify-content:center}
.rb-sheet{width:100%;max-width:460px;background:#fff;border-radius:22px 22px 0 0;padding:10px 18px 22px;box-shadow:0 -12px 40px rgba(3,20,35,.24)}
.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:14px}
.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-human{margin-top:8px;font-size:12px;color:#5b6b7b;font-weight:700;text-align:center;line-height:1.5}
.rb-cancel{width:100%;margin-top:12px;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}

/* 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) ---- */
.dvb-lang{position:fixed;right:14px;bottom:80px;z-index:420}
.dvb-lang-btn{display:flex;align-items:center;gap:6px;background:#0d3d6b;color:#fff;border:2px solid rgba(255,255,255,.35);border-radius:30px;padding:8px 13px;font-size:14px;font-weight:800;cursor:grab;box-shadow:0 8px 22px rgba(3,25,40,.35);touch-action:none}
.dvb-lang-btn:active{cursor:grabbing}
.dvb-lang-globe{font-size:16px;line-height:1}
.dvb-lang-cur{letter-spacing:.5px}
.dvb-lang-menu{position:absolute;right:0;bottom:52px;min-width:172px;background:#fff;border-radius:14px;box-shadow:0 16px 40px rgba(3,20,35,.28);padding:6px;overflow:hidden}
.dvb-lang-opt{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;text-align:left;padding:11px 12px;border-radius:10px;font-size:15px;font-weight:700;color:var(--navy);cursor:pointer}
.dvb-lang-opt:hover{background:#eef4fb}
.dvb-lang-opt.on{background:#e2eefb;color:#0d3d6b}
.dvb-lang-flag{font-size:18px;line-height:1}

/* 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}
.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 */
.de-fish{width:140px;margin:0 auto 4px}
.de-fish svg{width:100%;height:auto;display:block}
