/* IYSA Bareboat Skipper Sail — interactive textbook · v1.0.0
   Everything is scoped to #bbs-app so the WordPress / Elementor theme cannot leak in. */
#bbs-app{
  --navy:#14285a;--navy-2:#1d3a7a;--deep:#0c1a3d;--red:#d62f27;--red-2:#b8241d;
  --sky:#eaf1fb;--sky-2:#d6e4f7;--paper:#f6f8fc;--line:#dde4ef;--ink:#1b2236;--ink-2:#3a4560;--muted:#7b869c;
  --ok:#2f8f55;--ok-bg:#eefaf2;--warn:#c27a0e;--bad:#c9352e;--bad-bg:#fdf1f0;
  --body:min(860px,100%);
  background:var(--paper)!important;color:var(--ink)!important;font-family:'Roboto',system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;
  font-size:16px;line-height:1.72;min-height:100vh;position:relative;-webkit-text-size-adjust:100%;
}
#bbs-app,#bbs-app *,#bbs-app *::before,#bbs-app *::after{box-sizing:border-box}
#bbs-app :where(h1,h2,h3,h4,h5,p,ul,ol,li,figure,table,blockquote){margin:0;padding:0}
#bbs-app img{max-width:100%;height:auto;display:block;border:0}
#bbs-app a{color:var(--navy-2)!important;text-decoration:underline;text-underline-offset:2px}
#bbs-app a:hover{color:var(--red)!important}
#bbs-app button{font:inherit}

/* ── top progress line ── */
#bbs-app .bbs-line{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--navy),var(--red));z-index:10000;transition:width .4s}

/* ── top bar ── */
#bbs-app .bbs-top{position:sticky;top:0;z-index:400;display:flex;align-items:center;gap:12px;height:54px;padding:0 16px;background:#fff!important;border-bottom:2px solid var(--red);box-shadow:0 2px 10px rgba(12,26,61,.08)}
#bbs-app .bbs-menu-btn{flex:none;display:inline-flex;align-items:center;gap:8px;background:#fff!important;border:1px solid var(--line);color:var(--navy)!important;border-radius:8px;padding:7px 11px;cursor:pointer;font-weight:600;font-size:14px;line-height:1}
#bbs-app .bbs-menu-btn:hover{border-color:var(--navy);background:var(--sky)!important}
#bbs-app .bbs-burger{display:inline-block;width:16px;height:2px;background:var(--navy);position:relative}
#bbs-app .bbs-burger::before,#bbs-app .bbs-burger::after{content:'';position:absolute;left:0;width:16px;height:2px;background:var(--navy)}
#bbs-app .bbs-burger::before{top:-5px}#bbs-app .bbs-burger::after{top:5px}
#bbs-app .bbs-top-title{font-family:'Oswald',sans-serif!important;font-weight:600;font-size:15px;letter-spacing:.4px;text-transform:uppercase;color:var(--deep)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
#bbs-app .bbs-top-count{flex:none;font-size:13px;color:var(--muted)!important;white-space:nowrap}
#bbs-app .bbs-top-count b{color:var(--red)!important}
#bbs-app .bbs-lang{flex:none;display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:12px;font-weight:700;letter-spacing:.5px}
#bbs-app .bbs-lang a,#bbs-app .bbs-lang span{padding:6px 9px;text-decoration:none!important;line-height:1}
#bbs-app .bbs-lang span{background:var(--navy)!important;color:#fff!important}
#bbs-app .bbs-lang a{color:var(--navy)!important;background:#fff!important}
#bbs-app .bbs-lang a:hover{background:var(--sky)!important}
@media(max-width:600px){#bbs-app .bbs-top{gap:8px;padding:0 10px}#bbs-app .bbs-menu-label,#bbs-app .bbs-top-count{display:none}#bbs-app .bbs-top-title{font-size:13px}}

/* ── segmented progress ── */
#bbs-app .bbs-seg{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff!important;border-bottom:1px solid var(--line)}
#bbs-app .bbs-seg-track{display:flex;gap:4px;flex:1;min-width:0}
#bbs-app .bbs-seg-i{flex:1;min-width:0;height:18px;border-radius:4px;background:#edf0f5;border:1.5px solid #d3d9e4;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#9aa4b6!important;cursor:pointer;transition:background .3s,border-color .3s;padding:0}
#bbs-app .bbs-seg-i.locked{cursor:not-allowed;opacity:.65}
#bbs-app .bbs-seg-i.g{background:var(--ok);border-color:#24724a;color:#fff!important}
#bbs-app .bbs-seg-i.y{background:var(--warn);border-color:#9c6209;color:#fff!important}
#bbs-app .bbs-seg-i.r{background:#7e95c4;border-color:#647cb0;color:#fff!important}
#bbs-app .bbs-seg-i.cur{outline:2px solid var(--red);outline-offset:1px}
#bbs-app .bbs-seg-legend{display:flex;gap:12px;flex:none;font-size:11px;color:var(--muted)!important}
#bbs-app .bbs-seg-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
@media(max-width:900px){#bbs-app .bbs-seg-legend{display:none}}
@media(max-width:600px){#bbs-app .bbs-seg{padding:8px 10px}#bbs-app .bbs-seg-i{height:12px;font-size:0}}

/* ── sidebar ── */
#bbs-app .bbs-overlay{display:none;position:fixed;inset:0;background:rgba(12,26,61,.4);z-index:900}
#bbs-app .bbs-overlay.show{display:block}
#bbs-app .bbs-side{position:fixed;top:0;bottom:0;left:0;width:min(330px,88vw);background:#fff!important;z-index:1000;transform:translateX(-102%);transition:transform .28s ease;overflow-y:auto;box-shadow:6px 0 24px rgba(12,26,61,.18);display:flex;flex-direction:column}
#bbs-app .bbs-side.open{transform:none}
#bbs-app .bbs-side-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
#bbs-app .bbs-side-head img{width:44px;height:44px}
#bbs-app .bbs-side-head b{display:block;font-family:'Oswald',sans-serif!important;font-size:17px;letter-spacing:.6px;color:var(--navy)!important;line-height:1.2}
#bbs-app .bbs-side-head small{display:block;font-size:12px;color:var(--muted)!important;line-height:1.3}
#bbs-app .bbs-side-close{margin-left:auto;background:none!important;border:0;font-size:26px;line-height:1;color:var(--muted)!important;cursor:pointer;padding:4px}
#bbs-app .bbs-nav{padding:8px 0 24px}
#bbs-app .bbs-nav-i{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px 18px;background:none!important;border:0;border-left:3px solid transparent;cursor:pointer;font-size:14px;line-height:1.35;color:var(--ink-2)!important}
#bbs-app .bbs-nav-i:hover{background:var(--sky)!important;color:var(--navy)!important}
#bbs-app .bbs-nav-i.act{border-left-color:var(--red);background:#f3f6fc!important;color:var(--navy)!important;font-weight:600}
#bbs-app .bbs-nav-i.locked{color:#b3bac8!important;cursor:not-allowed}
#bbs-app .bbs-nav-i.locked:hover{background:none!important}
#bbs-app .bbs-nav-n{flex:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:#eef1f6;border:1px solid #d6dce7;color:var(--ink-2)!important}
#bbs-app .bbs-nav-i.act .bbs-nav-n{background:var(--red);border-color:var(--red);color:#fff!important}
#bbs-app .bbs-nav-t{flex:1}
#bbs-app .bbs-nav-s{flex:none;font-size:12px}
#bbs-app .bbs-dot{display:inline-block;width:9px;height:9px;border-radius:50%}
#bbs-app .bbs-reset{margin:0 18px 20px;align-self:flex-start;background:none!important;border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:12px;color:var(--muted)!important;cursor:pointer}
#bbs-app .bbs-reset:hover{border-color:var(--bad);color:var(--bad)!important}

/* ── chapter hero ── */
#bbs-app .bbs-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--deep) 0%,var(--navy) 55%,var(--navy-2) 100%)!important;color:#fff!important;padding:54px 24px 46px}
#bbs-app .bbs-hero::after{content:'';position:absolute;left:-5%;right:-5%;bottom:-38px;height:80px;background:radial-gradient(120% 60px at 50% 0,rgba(255,255,255,.09),transparent 70%);pointer-events:none}
#bbs-app .bbs-hero-in{max-width:var(--body);margin:0 auto;position:relative}
#bbs-app .bbs-eyebrow{font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:rgba(255,255,255,.6)!important;margin-bottom:10px}
#bbs-app .bbs-hero h1{font-family:'Oswald',sans-serif!important;font-weight:700;font-size:clamp(28px,5.4vw,48px);line-height:1.08;color:#fff!important;margin:0 0 14px;text-transform:none;letter-spacing:.2px}
#bbs-app .bbs-hero h1 span{color:#ff8a80!important}
#bbs-app .bbs-lead{font-size:15.5px;color:rgba(255,255,255,.82)!important;max-width:680px;line-height:1.65}
#bbs-app .bbs-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
#bbs-app .bbs-chip{font-size:12.5px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.9)!important}
@media(max-width:600px){#bbs-app .bbs-hero{padding:38px 16px 34px}}

/* ── chapter body / typography ── */
#bbs-app .bbs-body{max-width:var(--body);margin:0 auto;padding:40px 24px 56px}
@media(max-width:600px){#bbs-app .bbs-body{padding:26px 16px 44px}}
#bbs-app .bbs-body::after{content:'';display:table;clear:both}
#bbs-app .bbs-body h2{clear:both;font-family:'Oswald',sans-serif!important;font-weight:600;font-size:clamp(22px,3.4vw,28px);line-height:1.2;color:var(--deep)!important;margin:46px 0 16px;padding-bottom:8px;border-bottom:3px solid var(--red);text-transform:none}
#bbs-app .bbs-body h2:first-child{margin-top:0}
#bbs-app .bbs-body h3{font-family:'Oswald',sans-serif!important;font-weight:600;font-size:20px;line-height:1.25;color:var(--navy)!important;margin:32px 0 10px}
#bbs-app .bbs-body h4{font-size:15px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--navy-2)!important;margin:24px 0 8px}
#bbs-app .bbs-body p{color:var(--ink)!important;margin:0 0 1.05em}
#bbs-app .bbs-body strong{color:var(--deep)!important;font-weight:700}
#bbs-app .bbs-body em{font-style:italic}
#bbs-app .bbs-body .red{color:var(--red)!important}
#bbs-app .bbs-body ul,#bbs-app .bbs-body ol{margin:6px 0 20px;padding:0;list-style:none}
#bbs-app .bbs-body li{position:relative;padding:7px 0 7px 26px;border-bottom:1px solid #e8ecf3;color:var(--ink)!important;line-height:1.62}
#bbs-app .bbs-body li:last-child{border-bottom:0}
#bbs-app .bbs-body ul>li::before{content:'';position:absolute;left:6px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--red)}
#bbs-app .bbs-body ol{counter-reset:bbs}
#bbs-app .bbs-body ol>li{counter-increment:bbs;padding-left:34px}
#bbs-app .bbs-body ol>li::before{content:counter(bbs);position:absolute;left:0;top:8px;min-width:24px;height:24px;border-radius:6px;background:var(--sky);color:var(--navy)!important;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
#bbs-app .bbs-body li ul,#bbs-app .bbs-body li ol{margin:6px 0 0}
#bbs-app .bbs-body .bbs-term{font-weight:700;color:var(--deep)!important}
#bbs-app .bbs-note{background:var(--sky)!important;border-left:4px solid var(--navy-2);border-radius:0 8px 8px 0;padding:14px 18px;margin:20px 0}
#bbs-app .bbs-note p:last-child{margin:0}
#bbs-app .bbs-warn{background:#fff6f5!important;border-left-color:var(--red)}

/* ── figures ── */
#bbs-app .bbs-fig{margin:26px auto;max-width:100%}
#bbs-app .bbs-fig img{width:100%;border-radius:8px;background:#fff;cursor:zoom-in}
#bbs-app .bbs-fig.shadow img{box-shadow:0 4px 18px rgba(12,26,61,.13)}
#bbs-app .bbs-fig figcaption{font-size:13px;color:var(--muted)!important;text-align:center;margin-top:8px;line-height:1.45}
#bbs-app .bbs-fig.fl{float:left;margin:4px 26px 16px 0}
#bbs-app .bbs-fig.fr{float:right;margin:4px 0 16px 26px}
#bbs-app .bbs-fig.logo img{box-shadow:none;background:transparent}
@media(max-width:640px){
  #bbs-app .bbs-fig.fl,#bbs-app .bbs-fig.fr{float:none;margin:20px auto;width:auto!important;max-width:100%!important}
  #bbs-app .bbs-fig.fl.logo,#bbs-app .bbs-fig.fr.logo{float:right;margin:2px 0 10px 16px;max-width:96px!important}
}
#bbs-app .bbs-clear{clear:both}

/* ── tables ── */
#bbs-app .bbs-table-wrap{clear:both;overflow-x:auto;margin:22px 0;border:1px solid var(--line);border-radius:10px;background:#fff!important;-webkit-overflow-scrolling:touch}
#bbs-app .bbs-table-wrap table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45;min-width:520px}
#bbs-app .bbs-table-wrap th{background:var(--navy)!important;color:#fff!important;font-weight:600;text-align:left;padding:10px 12px;font-size:13px;white-space:nowrap}
#bbs-app .bbs-table-wrap td{padding:9px 12px;border-top:1px solid var(--line);color:var(--ink)!important;vertical-align:top}
#bbs-app .bbs-table-wrap tr:nth-child(even) td{background:#f7f9fd!important}
#bbs-app .bbs-table-wrap th.c{white-space:normal;text-align:center}
#bbs-app .bbs-table-wrap td:first-child,#bbs-app .bbs-table-wrap th:first-child{position:sticky;left:0;z-index:1;background:#fff!important;box-shadow:1px 0 0 var(--line)}
#bbs-app .bbs-table-wrap th:first-child{background:var(--navy)!important}
#bbs-app .bbs-table-wrap tr:nth-child(even) td:first-child{background:#f7f9fd!important}
@media(max-width:600px){#bbs-app .bbs-table-wrap table{font-size:13px;min-width:480px}#bbs-app .bbs-table-wrap td,#bbs-app .bbs-table-wrap th{padding:8px 9px}}
#bbs-app .bbs-table-wrap .c{text-align:center}
#bbs-app .bbs-table-wrap .yes{color:var(--ok)!important;font-weight:700}
#bbs-app .bbs-body .bbs-table-note{font-size:13px;color:var(--muted)!important;margin:-12px 0 22px;line-height:1.5}
#bbs-app .bbs-table-cap{font-size:13px;color:var(--muted)!important;padding:8px 12px;border-top:1px solid var(--line);background:#fafbfe!important}

/* ── quiz ── */
#bbs-app .bbs-quiz{clear:both;background:#fff!important;border:1px solid var(--line);border-radius:14px;padding:30px 28px;margin-top:48px;box-shadow:0 3px 18px rgba(12,26,61,.06)}
@media(max-width:600px){#bbs-app .bbs-quiz{padding:22px 16px;margin-left:-4px;margin-right:-4px}}
#bbs-app .bbs-quiz-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--line)}
#bbs-app .bbs-quiz-ico{flex:none;width:46px;height:46px;border-radius:12px;background:var(--navy)!important;display:flex;align-items:center;justify-content:center}
#bbs-app .bbs-quiz-ico svg{width:24px;height:24px}
#bbs-app .bbs-quiz-head h2{font-family:'Oswald',sans-serif!important;font-size:22px;font-weight:600;color:var(--deep)!important;margin:0;border:0;padding:0}
#bbs-app .bbs-quiz-head p{font-size:13px;color:var(--muted)!important;margin:2px 0 0}
#bbs-app .bbs-q{margin:0 0 26px;padding:0;border:0;scroll-margin-top:80px}
#bbs-app .bbs-body h2,#bbs-app .bbs-result{scroll-margin-top:80px}
#bbs-app .bbs-q.bad .bbs-q-text{color:var(--bad)!important}
#bbs-app .bbs-q-num{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--red)!important;margin-bottom:5px}
#bbs-app .bbs-q-text{font-size:16px;font-weight:700;color:var(--ink)!important;line-height:1.5;margin-bottom:6px}
#bbs-app .bbs-q-hint{font-size:12.5px;color:var(--muted)!important;margin-bottom:10px;font-style:italic}
#bbs-app .bbs-opts{display:flex;flex-direction:column;gap:8px;margin-top:8px}
#bbs-app .bbs-opt{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:11px 14px;border:1.5px solid #dbe1ea;border-radius:9px;background:#f8fafd!important;cursor:pointer;color:var(--ink)!important;font-size:15px;line-height:1.45;transition:border-color .15s,background .15s}
#bbs-app .bbs-opt:hover{border-color:var(--navy-2);background:var(--sky)!important}
#bbs-app .bbs-opt:focus-visible{outline:2px solid var(--red);outline-offset:2px}
#bbs-app .bbs-opt .mk{flex:none;width:19px;height:19px;margin-top:1px;border:2px solid #b9c2d1;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff}
#bbs-app .bbs-q[data-type=multi] .bbs-opt .mk{border-radius:5px}
#bbs-app .bbs-opt[aria-checked=true]{border-color:var(--navy);background:#e9f0fb!important}
#bbs-app .bbs-opt[aria-checked=true] .mk{border-color:var(--navy);background:var(--navy)}
#bbs-app .bbs-opt[aria-checked=true] .mk::after{content:'';width:7px;height:7px;border-radius:50%;background:#fff}
#bbs-app .bbs-q[data-type=multi] .bbs-opt[aria-checked=true] .mk::after{width:9px;height:5px;border-radius:0;background:none;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
#bbs-app .bbs-q.locked .bbs-opt{cursor:default}
#bbs-app .bbs-q.ok .bbs-opt[aria-checked=true]{border-color:var(--ok);background:var(--ok-bg)!important}
#bbs-app .bbs-q.ok .bbs-opt[aria-checked=true] .mk{border-color:var(--ok);background:var(--ok)}
#bbs-app .bbs-q.bad .bbs-opt[aria-checked=true]{border-color:var(--bad);background:var(--bad-bg)!important}
#bbs-app .bbs-q.bad .bbs-opt[aria-checked=true] .mk{border-color:var(--bad);background:var(--bad)}
#bbs-app .bbs-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
#bbs-app .bbs-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:9px;border:2px solid transparent;font-size:14px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;text-decoration:none!important;line-height:1.2}
#bbs-app .bbs-btn-p{background:var(--red)!important;color:#fff!important;box-shadow:0 3px 14px rgba(214,47,39,.25)}
#bbs-app .bbs-btn-p:hover{background:var(--red-2)!important;color:#fff!important}
#bbs-app .bbs-btn-o{background:#fff!important;color:var(--navy)!important;border-color:#c5d3ea}
#bbs-app .bbs-btn-o:hover{background:var(--sky)!important;border-color:var(--navy);color:var(--navy)!important}
#bbs-app .bbs-btn[disabled]{opacity:.38;cursor:not-allowed;box-shadow:none}
#bbs-app .bbs-result{display:none;margin-top:20px;padding:18px 20px;border-radius:10px}
#bbs-app .bbs-result.show{display:block}
#bbs-app .bbs-result.ok{background:var(--ok-bg)!important;border:1px solid #a9dfbd}
#bbs-app .bbs-result.bad{background:var(--bad-bg)!important;border:1px solid #f2c2bf}
#bbs-app .bbs-result h3{font-family:'Oswald',sans-serif!important;font-size:20px;margin:0 0 4px;color:var(--ok)!important}
#bbs-app .bbs-result.bad h3{color:var(--bad)!important}
#bbs-app .bbs-result p{margin:0;font-size:14.5px;color:var(--ink-2)!important}
#bbs-app .bbs-pager{clear:both;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:44px;padding-top:26px;border-top:2px solid var(--line)}
#bbs-app .bbs-pager .bbs-btn{max-width:100%}
#bbs-app .bbs-pager .bbs-next{margin-left:auto}
@media(max-width:480px){#bbs-app .bbs-btn{padding:11px 16px;font-size:13px}#bbs-app .bbs-pager .bbs-btn{width:100%;justify-content:center}}

/* ── states ── */
#bbs-app .bbs-loading,#bbs-app .bbs-soon{max-width:var(--body);margin:0 auto;padding:80px 24px;text-align:center;color:var(--muted)!important}
#bbs-app .bbs-spin{width:36px;height:36px;margin:0 auto 14px;border:3px solid var(--sky-2);border-top-color:var(--red);border-radius:50%;animation:bbs-r .8s linear infinite}
@keyframes bbs-r{to{transform:rotate(360deg)}}
#bbs-app .bbs-ch{animation:bbs-in .35s ease}
@keyframes bbs-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#bbs-app *{animation:none!important;transition:none!important}}

/* ── cover / start screen ── */
#bbs-app .bbs-cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:34px;align-items:center}
#bbs-app .bbs-cover img{border-radius:12px;box-shadow:0 10px 34px rgba(0,0,0,.35)}
@media(max-width:760px){#bbs-app .bbs-cover{grid-template-columns:1fr;gap:22px}#bbs-app .bbs-cover-img{order:-1;width:100%;max-width:420px;margin:0 auto}#bbs-app .bbs-cover-img img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 70%}}
#bbs-app .bbs-toc{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:18px 0 8px}
#bbs-app .bbs-toc button{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff!important;cursor:pointer;color:var(--ink)!important;font-size:14.5px;line-height:1.4}
#bbs-app .bbs-toc button:hover{border-color:var(--navy-2);box-shadow:0 3px 12px rgba(12,26,61,.08)}
#bbs-app .bbs-toc button.locked{cursor:not-allowed;color:#a9b1c0!important;background:#fafbfd!important}
#bbs-app .bbs-toc .n{flex:none;font-family:'Oswald',sans-serif!important;font-size:20px;line-height:1;color:var(--red)!important;min-width:26px}
#bbs-app .bbs-toc button.locked .n{color:#c3c9d4!important}

/* ── lightbox ── */
#bbs-app .bbs-lb{position:fixed;inset:0;z-index:20000;background:rgba(8,14,32,.92);display:none;align-items:center;justify-content:center;padding:18px;cursor:zoom-out}
#bbs-app .bbs-lb.show{display:flex}
#bbs-app .bbs-lb img{max-width:100%;max-height:100%;width:auto;border-radius:6px;background:#fff}
#bbs-app .bbs-lb button{position:absolute;top:10px;right:14px;background:none!important;border:0;color:#fff!important;font-size:34px;cursor:pointer;line-height:1}

@media print{#bbs-app .bbs-top,#bbs-app .bbs-seg,#bbs-app .bbs-side,#bbs-app .bbs-quiz,#bbs-app .bbs-pager{display:none!important}}

/* ── image rows (side-by-side illustrations) · v1.0.4 ── */
#bbs-app .bbs-row{clear:both;display:flex;gap:18px;align-items:center;justify-content:center;margin:24px auto}
#bbs-app .bbs-row .bbs-fig{margin:0;min-width:0}
@media(max-width:520px){#bbs-app .bbs-row{flex-direction:column}#bbs-app .bbs-row .bbs-fig{max-width:82%!important;flex:none!important;width:82%}#bbs-app .bbs-row.keep{flex-direction:row}#bbs-app .bbs-row.keep .bbs-fig{flex:1 1 0!important;width:auto}}

/* ── sound signal notation · v1.0.6 ── */
#bbs-app .snd{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;vertical-align:middle}
#bbs-app .snd i{display:inline-block;height:11px;background:var(--deep);border-radius:1px}
#bbs-app .snd i.s{width:11px}#bbs-app .snd i.l{width:40px}
#bbs-app .snd b{font-size:12px;font-weight:700;color:var(--navy-2)!important;padding:1px 5px;border:1px solid var(--sky-2);border-radius:4px;background:var(--sky)!important}
#bbs-app .bbs-table-wrap td .snd{min-height:20px}
#bbs-app .bbs-fig.lights{max-width:760px}

/* ── Beaufort badges · app links · v1.0.8 ── */
#bbs-app .bft{display:inline-block;min-width:30px;padding:4px 6px;border-radius:7px;font-weight:700;font-size:13px;text-align:center;line-height:1.2;color:#0c1a3d!important;border:1px solid rgba(12,26,61,.12)}
#bbs-app .bft.b0{background:#ffffff!important}#bbs-app .bft.b1{background:#d4fbfd!important}#bbs-app .bft.b2{background:#9ef5f9!important}
#bbs-app .bft.b3{background:#55eef5!important}#bbs-app .bft.b4{background:#16e3ee!important}#bbs-app .bft.b5{background:#1cc4f5!important}
#bbs-app .bft.b6{background:#1a8cf2!important;color:#fff!important}#bbs-app .bft.b7{background:#1659ef!important;color:#fff!important}
#bbs-app .bft.b8{background:#0f33e6!important;color:#fff!important}#bbs-app .bft.b9{background:#0b22bd!important;color:#fff!important}
#bbs-app .bft.b10{background:#0a168a!important;color:#fff!important}#bbs-app .bft.b11{background:#070c4a!important;color:#fff!important}
#bbs-app .bft.b12{background:#000000!important;color:#fff!important}
#bbs-app .bbs-table-wrap table.bft-t{min-width:720px;table-layout:fixed}
#bbs-app .bbs-table-wrap table.bft-t td:nth-child(n+6){min-width:150px}
#bbs-app .bbs-table-wrap table.bft-t td:nth-child(2){white-space:normal}
#bbs-app .bbs-table-wrap table.bft-t td.c{white-space:nowrap;width:1%}
#bbs-app .bbs-table-wrap thead tr+tr th{background:var(--navy-2)!important}
#bbs-app .bbs-apps{display:flex;flex-wrap:wrap;gap:14px;margin:16px 0 26px}
#bbs-app .bbs-app{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border:1px solid var(--line);border-radius:14px;background:#fff!important;text-decoration:none!important;color:var(--ink)!important;font-weight:700;font-size:15px;box-shadow:0 2px 10px rgba(12,26,61,.06);transition:box-shadow .2s,transform .2s}
#bbs-app .bbs-app:hover{box-shadow:0 6px 18px rgba(12,26,61,.14);transform:translateY(-1px)}
#bbs-app .bbs-app img{width:52px;height:52px;border-radius:12px;display:block}
#bbs-app .bbs-app small{display:block;font-weight:400;font-size:12.5px;color:var(--muted)!important}

/* ── tall figures on phones · v1.0.9 ── */
@media(max-width:700px){#bbs-app .bbs-fig img{max-height:62vh;width:auto;max-width:100%;margin:0 auto}}

/* ── VHF / procedure tables · v1.0.10 ── */
#bbs-app .bbs-table-wrap table.vhf-t{min-width:760px}
#bbs-app .bbs-table-wrap table.vhf-t td:last-child{min-width:240px}
#bbs-app .bbs-table-wrap table.vhf-t tr.hl td{background:#fff3e0!important;font-weight:700}
#bbs-app .bbs-table-wrap table.proc-t td{word-break:break-word}
#bbs-app .bbs-table-wrap table.proc-t td:first-child{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;width:46%}
#bbs-app .bbs-table-wrap table.proc-t thead tr+tr th{background:var(--navy-2)!important}
#bbs-app .bbs-table-wrap table.alpha-t{min-width:0!important}
@media(max-width:520px){#bbs-app .bbs-row.keep>div{flex:1 1 100%!important}#bbs-app .bbs-row.keep{flex-wrap:wrap}}
#bbs-app .bbs-table-wrap table.cmp-t thead tr+tr th{background:var(--navy-2)!important}
#bbs-app .bbs-table-wrap table.cmp-t td:first-child{width:22%}
#bbs-app .bbs-table-wrap table.smcp-t td:first-child{width:55%}

/* ── compass points / tidal stream tables · v1.0.11 ── */
#bbs-app .bbs-table-wrap table.pts-t{min-width:640px}
#bbs-app .bbs-table-wrap table.pts-t td{white-space:nowrap}
#bbs-app .bbs-table-wrap table.ts-t{min-width:0!important}
#bbs-app .bbs-table-wrap table.ts-t th{white-space:normal}
