/* ============================================================
   BIG BASS — style.css
   Deep ocean night fishing · Dark blue + gold
   ============================================================ */

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body {
  font-family:'Noto Sans Bengali','Inter','Segoe UI',Arial,sans-serif;
  background:#08160f; color:#e9fff2;
  min-height:100dvh; overflow-x:hidden; -webkit-font-smoothing:antialiased;
}

/* ── BACKGROUND ──────────────────────────────────────────── */
.page-bg {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 80% 50% at 50% 20%, rgba(20,80,160,0.35) 0%, transparent 65%),
    radial-gradient(ellipse 100% 50% at 50% 100%, rgba(5,20,60,0.7) 0%, transparent 60%),
    linear-gradient(175deg, #134731 0%, #050e1e 50%, #030810 100%);
}
.page-rays {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:conic-gradient(from 270deg at 70% -5%,
    transparent 0deg,rgba(255,200,50,0.03) 5deg,transparent 10deg,
    rgba(100,180,255,0.04) 18deg,transparent 26deg);
}

/* ── HEADER ──────────────────────────────────────────────── */
header {
  position:sticky; top:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  height:56px; padding:0 24px;
  background:rgba(4,8,15,0.96);
  border-bottom:2px solid rgba(100,160,255,0.28);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
}
header::after {
  content:''; position:absolute; bottom:-2px; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,#22c55e,#fde047,#22c55e,transparent);
}
.logo {
  display:flex; align-items:center; gap:10px;
  font-family:'Cinzel','Noto Sans Bengali',serif;
  font-size:clamp(1rem,3vw,1.5rem); font-weight:900; letter-spacing:3px;
  background:linear-gradient(180deg,#d8ffea 0%,#22c55e 40%,#fde047 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.logo-icon { font-size:1.5rem; -webkit-text-fill-color:initial; filter:drop-shadow(0 0 8px rgba(100,160,255,0.8)); }
nav { display:flex; align-items:center; gap:2px; }
nav a { font-size:.8rem; font-weight:600; color:rgba(180,210,255,0.6); text-decoration:none; padding:6px 11px; border-radius:8px; transition:all .18s; }
nav a:hover { color:#d8ffea; background:rgba(21,101,192,0.15); }
#lang-switcher { position:relative; margin-left:4px; }
#lang-btn { display:flex; align-items:center; gap:4px; font-size:.8rem; font-weight:600; color:rgba(180,210,255,0.6); background:none; border:none; padding:6px 10px; border-radius:8px; cursor:pointer; transition:all .18s; }
#lang-btn:hover { color:#d8ffea; background:rgba(21,101,192,0.15); }
#lang-btn .arrow { font-size:10px; opacity:.6; transition:transform .18s; }
#lang-btn.open .arrow { transform:rotate(180deg); }
#lang-dropdown { display:none; position:absolute; top:calc(100% + 6px); right:0; background:#060e1e; border:1px solid rgba(100,160,255,0.28); border-radius:14px; overflow:hidden; z-index:200; min-width:162px; box-shadow:0 8px 32px rgba(0,0,0,.8); }
#lang-dropdown.open { display:block; }
.lang-option { display:flex; align-items:center; gap:10px; padding:11px 15px; font-size:.85rem; font-weight:600; color:rgba(180,210,255,0.65); cursor:pointer; transition:background .12s; }
.lang-option:not(:last-child) { border-bottom:1px solid rgba(100,160,255,0.1); }
.lang-option:hover { background:rgba(21,101,192,0.18); color:#d8ffea; }
.lang-option.active { color:#fde047; font-weight:700; }
.lang-flag { font-size:17px; }

/* ══════════════════════════════════════════════════════════
   WHEEL OVERLAY  (shown on first visit)
══════════════════════════════════════════════════════════ */
#wheel-overlay {
  position:fixed; inset:0; z-index:500;
  display:flex; align-items:center; justify-content:center;
  background:rgba(2,5,15,0.94);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  opacity:0; pointer-events:none; transition:opacity .38s;
}
#wheel-overlay.show { opacity:1; pointer-events:all; }

.wheel-box {
  background:rgba(6,14,30,0.98);
  border:2px solid rgba(255,215,0,0.38);
  border-radius:28px; padding:32px 36px 36px;
  text-align:center; max-width:520px; width:94%;
  box-shadow:0 0 80px rgba(21,101,192,0.25), 0 0 40px rgba(255,215,0,0.08);
  display:flex; flex-direction:column; align-items:center; gap:16px;
  position:relative;
}
.wheel-title {
  font-family:'Cinzel','Noto Sans Bengali',serif; font-size:clamp(1.3rem,4vw,1.8rem);
  font-weight:900; letter-spacing:2px;
  background:linear-gradient(180deg,#fde047 0%,#f59e0b 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.wheel-subtitle { font-size:.82rem; color:rgba(180,210,255,0.65); letter-spacing:.5px; font-family:'Noto Sans Bengali','Inter',sans-serif; }

/* The spin wheel canvas wrapper */
.wheel-wrap {
  position:relative; width:320px; height:320px;
  flex-shrink:0;
}
#wheel-canvas {
  display:block; border-radius:50%;
  box-shadow:0 0 40px rgba(255,215,0,0.22), 0 0 80px rgba(21,101,192,0.15);
  transition:box-shadow .3s;
}
#wheel-canvas.spinning { box-shadow:0 0 60px rgba(255,215,0,0.5), 0 0 100px rgba(255,150,0,0.2); }

/* Pointer triangle at top */
.wheel-pointer {
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  width:0; height:0;
  border-left:14px solid transparent;
  border-right:14px solid transparent;
  border-top:24px solid #fde047;
  filter:drop-shadow(0 2px 8px rgba(255,215,0,0.7));
  z-index:5;
}
.wheel-pointer::before {
  content:''; position:absolute; top:-26px; left:-12px;
  width:0; height:0;
  border-left:12px solid transparent;
  border-right:12px solid transparent;
  border-top:22px solid #f59e0b;
}

/* Center pin on wheel */
.wheel-center {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:40px; height:40px; z-index:6; pointer-events:none;
}
.wheel-center img { width:100%; height:100%; }

/* Spin button */
#wheel-spin-btn {
  font-family:'Cinzel','Noto Sans Bengali',serif; font-size:1.1rem; font-weight:900;
  padding:15px 52px; letter-spacing:2px;
  background:linear-gradient(135deg,#22c55e,#1976D2,#42A5F5);
  color:#fff; border:none; border-radius:18px; cursor:pointer;
  box-shadow:0 5px 0 #16a34a,0 8px 28px rgba(21,101,192,0.5);
  transition:all .15s; width:100%; max-width:280px;
}
#wheel-spin-btn:hover { transform:translateY(-2px); box-shadow:0 7px 0 #16a34a,0 12px 36px rgba(21,101,192,0.65); }
#wheel-spin-btn:active { transform:translateY(3px); box-shadow:0 2px 0 #16a34a; }
#wheel-spin-btn:disabled { opacity:.55; cursor:default; transform:translateY(3px); box-shadow:0 2px 0 #16a34a; }

/* Bonus result card */
#bonus-result {
  display:none;
  background:rgba(255,215,0,0.1); border:1.5px solid rgba(255,215,0,0.4);
  border-radius:16px; padding:16px 24px; width:100%;
}
#bonus-result.show { display:block; }
.bonus-icon { font-size:2.8rem; line-height:1; margin-bottom:6px; }
.bonus-name {
  font-family:'Cinzel','Noto Sans Bengali',serif; font-size:1.1rem; font-weight:700;
  color:#fde047; letter-spacing:1px; margin-bottom:4px;
}
.bonus-desc { font-size:.88rem; color:rgba(180,210,255,0.72); font-family:'Noto Sans Bengali','Inter',sans-serif; }

#wheel-play-btn {
  font-family:'Cinzel','Noto Sans Bengali',serif; font-size:1.05rem; font-weight:700;
  padding:14px 44px; letter-spacing:1.5px;
  background:linear-gradient(135deg,#2E7D32,#43A047,#66BB6A);
  color:#fff; border:none; border-radius:18px; cursor:pointer;
  box-shadow:0 4px 0 #1B5E20,0 6px 22px rgba(76,175,80,0.4);
  transition:all .15s; display:none; width:100%; max-width:280px;
}
#wheel-play-btn.show { display:inline-block; }
#wheel-play-btn:hover { transform:translateY(-2px); box-shadow:0 6px 0 #1B5E20,0 10px 30px rgba(76,175,80,0.55); }

/* ══════════════════════════════════════════════════════════
   GAME UI
══════════════════════════════════════════════════════════ */
#game-section {
  position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center;
  padding:16px 12px 64px; gap:12px;
}

/* ── HUD ─────────────────────────────────────────────────── */
#hud {
  display:flex; align-items:stretch; width:100%; max-width:700px;
  background:rgba(6,14,30,0.94); border:1px solid rgba(100,160,255,0.22);
  border-radius:18px; overflow:hidden; box-shadow:0 2px 18px rgba(0,0,0,.65);
}
.hud-cell { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:10px 4px; border-right:1px solid rgba(100,160,255,0.1); }
.hud-cell:last-child { border-right:none; }
.hud-label { font-family:'Cinzel',serif; font-size:.46rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(100,160,255,0.45); }
.hud-val { font-family:'Cinzel',serif; font-size:1.12rem; font-weight:700; color:#fde047; letter-spacing:.5px; }
/* Hearts display */
#hud-hearts-cell { flex:1.4; }
.hearts-row { display:flex; gap:4px; align-items:center; flex-wrap:wrap; justify-content:center; }
.heart-icon { width:20px; height:18px; }
.heart-icon.lost { opacity:.2; filter:grayscale(1); }
/* Bonus indicators */
#hud-bonus-cell { flex:1.6; }
.bonus-tags { display:flex; gap:4px; flex-wrap:wrap; justify-content:center; }
.bonus-tag {
  font-size:.55rem; font-weight:700; padding:2px 7px; border-radius:8px;
  background:rgba(255,215,0,0.12); border:1px solid rgba(255,215,0,0.3);
  color:#fde047; white-space:nowrap;
}
#hud-controls { display:flex; align-items:center; gap:5px; padding:0 10px; border-left:1px solid rgba(100,160,255,0.1); flex-shrink:0; }

/* ── GAME CANVAS AREA ────────────────────────────────────── */
#game-wrap {
  position:relative; width:100%; max-width:700px;
  border-radius:22px; overflow:hidden;
  border:2px solid rgba(100,160,255,0.28);
  box-shadow:0 8px 40px rgba(0,0,0,.75), 0 0 40px rgba(21,101,192,0.1);
  aspect-ratio:700/420; cursor:pointer; user-select:none; -webkit-user-select:none;
  touch-action:manipulation;
}
#bg-canvas { position:absolute; inset:0; z-index:0; width:100%; height:100%; }
#game-canvas { position:absolute; inset:0; z-index:1; width:100%; height:100%; }

/* Flash labels */
#catch-flash {
  position:absolute; left:50%; top:18%; transform:translateX(-50%);
  font-family:'Cinzel','Noto Sans Bengali',serif; font-size:clamp(1rem,3vw,1.4rem);
  font-weight:700; color:#fde047; white-space:nowrap; pointer-events:none;
  opacity:0; z-index:20; text-shadow:0 0 18px rgba(255,215,0,0.9);
}
#catch-flash.show { animation:flashRise 1.2s ease-out forwards; }
@keyframes flashRise { 0%{opacity:1;transform:translateX(-50%) scale(.8)} 15%{opacity:1;transform:translateX(-50%) scale(1.1)} 100%{opacity:0;transform:translateX(-50%) translateY(-64px)} }

/* ── CAST BUTTON ─────────────────────────────────────────── */
#cast-btn {
  font-family:'Cinzel','Noto Sans Bengali',serif; font-size:1.05rem; font-weight:700;
  padding:14px 48px; letter-spacing:1.5px;
  background:linear-gradient(135deg,#22c55e,#1976D2,#42A5F5);
  color:#fff; border:none; border-radius:18px; cursor:pointer;
  box-shadow:0 5px 0 #16a34a,0 7px 24px rgba(21,101,192,0.45);
  transition:all .15s; width:100%; max-width:280px;
}
#cast-btn:hover { transform:translateY(-2px); box-shadow:0 7px 0 #16a34a,0 12px 32px rgba(21,101,192,0.6); }
#cast-btn:active { transform:translateY(3px); box-shadow:0 2px 0 #16a34a; }
#cast-btn:disabled { opacity:.45; cursor:default; transform:translateY(3px); }

/* ── GAME OVER OVERLAY ───────────────────────────────────── */
#gameover-overlay {
  position:absolute; inset:0; z-index:30;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  padding:24px; background:rgba(2,6,18,0.88); backdrop-filter:blur(14px);
  border-radius:20px; opacity:0; pointer-events:none; transition:opacity .3s;
}
#gameover-overlay.show { opacity:1; pointer-events:all; }
.go-icon { font-size:4rem; animation:ol-float 3s ease-in-out infinite; }
@keyframes ol-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.go-title { font-family:'Cinzel','Noto Sans Bengali',serif; font-size:clamp(1.4rem,4vw,2rem); font-weight:900; color:#fde047; text-shadow:0 0 22px rgba(255,215,0,0.7); text-align:center; }
.go-chips { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.go-chip { display:flex; flex-direction:column; align-items:center; padding:8px 14px; background:rgba(255,215,0,0.08); border:1px solid rgba(255,215,0,0.22); border-radius:10px; min-width:66px; }
.chip-l { font-family:'Cinzel',serif; font-size:.44rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,215,0,0.45); }
.chip-v { font-family:'Cinzel',serif; font-size:1.2rem; font-weight:700; color:#fde047; }
.go-new-best { font-family:'Cinzel',serif; font-size:.8rem; font-weight:700; letter-spacing:1px; padding:5px 14px; border-radius:20px; background:rgba(255,215,0,0.12); border:1px solid rgba(255,215,0,0.35); color:#fde047; }
.go-btn { font-family:'Cinzel','Noto Sans Bengali',serif; font-size:1rem; font-weight:700; padding:13px 40px; letter-spacing:1px; background:linear-gradient(135deg,#22c55e,#1976D2,#42A5F5); color:#fff; border:none; border-radius:18px; cursor:pointer; box-shadow:0 4px 0 #16a34a,0 6px 18px rgba(21,101,192,0.4); transition:all .15s; }
.go-btn:hover { transform:translateY(-2px); }

/* ── GET BONUS BUTTON ────────────────────────────────────── */
#get-bonus-wrap {
  width: 100%; max-width: 700px;
  display: flex; justify-content: center;
  /* sits between HUD and game canvas */
}

#get-bonus-btn {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 32px;
  background: linear-gradient(135deg, #0d3d6e 0%, #22c55e 50%, #0d3d6e 100%);
  border: 2px solid rgba(255,215,0,0.55);
  border-radius: 18px; cursor: pointer;
  box-shadow:
    0 0 0 1px rgba(255,215,0,0.12),
    0 4px 0 #0a2a50,
    0 6px 28px rgba(21,101,192,0.45),
    inset 0 1px 0 rgba(255,255,255,0.1);
  transition: transform .15s, box-shadow .15s, opacity .4s;
  position: relative; overflow: hidden;
  /* shimmer sweep */
  width: 100%; max-width: 420px;
}
/* animated shimmer left→right */
#get-bonus-btn::before {
  content: '';
  position: absolute; top: 0; left: -100%; width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
  animation: bonusBtnShimmer 2.2s ease-in-out infinite;
}
@keyframes bonusBtnShimmer {
  0%   { left: -100%; }
  60%  { left: 150%;  }
  100% { left: 150%;  }
}

#get-bonus-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(255,215,0,0.25),
    0 6px 0 #0a2a50,
    0 10px 36px rgba(21,101,192,0.6),
    inset 0 1px 0 rgba(255,255,255,0.15);
}
#get-bonus-btn:active { transform: translateY(2px); box-shadow: 0 2px 0 #0a2a50; }

/* "used" state → fade + collapse */
#get-bonus-btn.used {
  opacity: 0;
  transform: scale(0.9);
  pointer-events: none;
}
/* Remove wrapper height when button gone */
#get-bonus-wrap:empty { display: none; }

.gbb-icon {
  font-size: 2rem; line-height: 1;
  filter: drop-shadow(0 0 8px rgba(255,215,0,0.7));
  animation: gbbSpin 3s linear infinite;
  flex-shrink: 0;
}
@keyframes gbbSpin { to { transform: rotate(360deg); } }

.gbb-text {
  font-family: 'Cinzel', serif; font-size: 1.1rem; font-weight: 900;
  letter-spacing: 2px; color: #fde047;
  text-shadow: 0 0 16px rgba(255,215,0,0.7);
  white-space: nowrap;
}
.gbb-sub {
  display: block; font-size: .72rem; font-weight: 500;
  color: rgba(180,210,255,0.65); letter-spacing: .3px; margin-top: 2px;
  font-family: 'Inter', sans-serif;
}

/* stack text vertically */
#get-bonus-btn { flex-direction: row; }
.gbb-text-wrap { display: flex; flex-direction: column; align-items: flex-start; }

/* pulse ring around button */
#get-bonus-wrap::before {
  content: '';
  position: absolute; inset: -4px; border-radius: 22px;
  border: 2px solid rgba(255,215,0,0.25);
  animation: bonusPulse 2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes bonusPulse {
  0%,100% { opacity: 0; transform: scale(1); }
  50%      { opacity: 1; transform: scale(1.02); }
}
#get-bonus-wrap { position: relative; }

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer { position:relative; z-index:1; background:rgba(3,7,15,0.98); border-top:1px solid rgba(100,160,255,0.1); padding:44px 24px 38px; margin-top:48px; }
.footer-inner { max-width:580px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:18px; text-align:center; }
.footer-logo-row { display:flex; align-items:center; gap:10px; }
.footer-logo-icon { font-size:1.4rem; }
.footer-logo-name { font-family:'Cinzel','Noto Sans Bengali',serif; font-size:1.05rem; font-weight:700; color:#22c55e; }
.footer-nav { display:flex; align-items:center; gap:8px; font-size:.84rem; }
.footer-nav a { color:#1e7050; text-decoration:none; transition:color .18s; }
.footer-nav a:hover { color:#d8ffea; }
.footer-dot { color:#0d1e38; }
.footer-badge-row { display:flex; justify-content:center; }
.age-badge { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; border:2.5px solid rgba(100,160,255,0.45); font-family:'Cinzel',serif; font-size:.9rem; font-weight:700; color:rgba(100,160,255,0.85); }
.footer-disc { font-size:.76rem; line-height:1.72; color:#1e7050; max-width:490px; }
.footer-copy { font-size:.72rem; color:#0d1e38; margin-top:4px; }
.footer-notices { display:grid; gap:8px; justify-items:center; }
.footer-notices p { max-width:680px; color:#8aa9c8; font-size:.76rem; line-height:1.72; }
.footer-owner { display:grid; gap:5px; max-width:760px; padding-top:16px; border-top:1px solid rgba(100,160,255,.16); color:#b4cee7; font-size:.75rem; line-height:1.65; }
.footer-owner span { color:#6f91b2; }

/* ── LEGAL ───────────────────────────────────────────────── */
.legal-page { display:flex; flex-direction:column; min-height:100dvh; }
.legal-hdr { background:rgba(3,7,15,0.97); border-bottom:1px solid rgba(100,160,255,0.18); padding:0 24px; position:sticky; z-index:100; }
.legal-brand { display:flex; align-items:center; gap:9px; color:#d8ffea; text-decoration:none; font:700 1rem Georgia,serif; }
.legal-hdr-link { display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.legal-hdr-icon { font-size:1.3rem; }
.legal-hdr-name { font-family:'Cinzel','Noto Sans Bengali',serif; font-size:1.1rem; font-weight:700; color:#d8ffea; }
.legal-back-link { display:inline-flex; align-items:center; gap:5px; margin-top:10px; font-size:.82rem; font-weight:600; color:#1e7050; text-decoration:none; transition:color .18s; }
.legal-back-link:hover { color:#d8ffea; }
.legal-body-wrap { flex:1; position:relative; z-index:1; max-width:980px; margin:0 auto; padding:50px 24px 72px; width:100%; }
.legal-body-wrap h1 { font-family:'Cinzel','Noto Sans Bengali',serif; font-size:clamp(1.6rem,4vw,2.3rem); font-weight:900; letter-spacing:2px; color:#d8ffea; margin-bottom:6px; }
.legal-updated { font-size:.82rem; color:#1e7050; margin-bottom:42px; }
.legal-body-wrap h3 { font-family:'Cinzel','Noto Sans Bengali',serif; font-size:.92rem; font-weight:700; letter-spacing:1px; color:#22c55e; margin:34px 0 10px; }
.legal-body-wrap h3:first-of-type { margin-top:0; }
.legal-body-wrap p { font-family:'Noto Sans Bengali','Inter',sans-serif; font-size:.92rem; line-height:1.82; color:#4a7aaa; }
.page-heading { display:grid; grid-template-columns:160px 1fr; gap:4px 24px; padding-bottom:22px; border-bottom:1px solid rgba(100,160,255,.2); }
.page-heading > p { grid-row:1/3; color:#d9b83f; text-transform:uppercase; font-size:.7rem; font-weight:700; }
.page-heading h1 { margin:0; }
.page-heading > span { color:#6f91b2; font-size:.8rem; }
.document-lead { max-width:700px; margin:24px 0 32px; color:#a9c4de!important; font-size:1rem!important; }

/* ── HOME NOTES ──────────────────────────────────────────── */
.harbour-notes { position:relative; z-index:1; width:min(980px,calc(100% - 32px)); margin:28px auto 72px; border-top:1px solid rgba(100,160,255,.23); border-bottom:1px solid rgba(100,160,255,.23); }
.notes-heading { display:grid; grid-template-columns:48px 160px 1fr; gap:16px; align-items:center; padding:25px 10px; border-bottom:1px solid rgba(100,160,255,.15); }
.notes-heading span,.notes-contact>span { color:#d9b83f; font-size:.7rem; font-weight:700; }
.notes-heading p,.notes-contact p { color:#d9b83f; font-size:.72rem; text-transform:uppercase; font-weight:700; }
.notes-heading h2 { color:#d5e8fb; font:700 1.2rem Georgia,serif; }
.notes-columns { display:grid; grid-template-columns:1fr 1fr; }
.notes-columns article { padding:30px 34px; }
.notes-columns article+article { border-left:1px solid rgba(100,160,255,.15); }
.notes-columns h3 { color:#cfe5fb; font:700 1rem Georgia,serif; margin-bottom:9px; }
.notes-columns p { color:#7899b9; font-size:.9rem; line-height:1.75; }
.notes-contact { display:grid; grid-template-columns:48px 1fr repeat(3,auto); gap:18px; align-items:center; padding:22px 10px; border-top:1px solid rgba(100,160,255,.15); }
.notes-contact a { color:#d8ffea; font-size:.8rem; overflow-wrap:anywhere; }

/* ── UNIQUE INTERNAL STRUCTURES ──────────────────────────── */
.crew-log { margin-top:30px; border-left:2px solid rgba(217,184,63,.45); }
.crew-log article { display:grid; grid-template-columns:46px 1fr; gap:18px; padding:22px 24px; border-bottom:1px solid rgba(100,160,255,.15); }
.crew-log article>span { color:#d9b83f; font-size:.7rem; }
.crew-log h2,.dock-manifest h2,.current-band h2,.contact-directory strong { color:#d3e7fa; font:700 1rem Georgia,serif; }
.crew-log p { margin-top:6px; }
.dock-manifest { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(100,160,255,.2); border-left:1px solid rgba(100,160,255,.2); }
.dock-manifest article { min-height:190px; padding:22px; border-right:1px solid rgba(100,160,255,.2); border-bottom:1px solid rgba(100,160,255,.2); }
.manifest-tag { display:block; color:#d9b83f; font-size:.64rem; font-weight:700; margin-bottom:25px; }
.dock-manifest h2 { margin-bottom:9px; }
.privacy-currents { display:grid; gap:18px; margin-top:28px; }
.current-band { display:grid; grid-template-columns:190px 1fr; border:1px solid rgba(100,160,255,.2); }
.current-band>header { position:static; height:auto; display:flex; align-items:flex-start; justify-content:flex-start; gap:10px; padding:22px; background:rgba(7,18,36,.7); border:0; }
.current-band>header::after { display:none; }
.current-band>header span { color:#d9b83f; }
.current-band>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.current-band article { padding:22px; border-left:1px solid rgba(100,160,255,.15); }
.current-band h3 { margin:0 0 8px; color:#d8ffea; font-size:.8rem; }
.contact-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:30px; border-top:1px solid rgba(100,160,255,.2); border-left:1px solid rgba(100,160,255,.2); }
.contact-directory a { padding:25px; text-decoration:none; border-right:1px solid rgba(100,160,255,.2); border-bottom:1px solid rgba(100,160,255,.2); min-width:0; }
.contact-directory a>span { display:block; color:#d9b83f; font-size:.68rem; text-transform:uppercase; margin-bottom:8px; }
.contact-directory strong { overflow-wrap:anywhere; }
.company-record { margin-top:22px; display:grid; grid-template-columns:1fr 2fr; gap:20px; padding:22px; background:rgba(7,18,36,.7); border-left:3px solid #d9b83f; }
.company-record p { display:grid; gap:5px; font-size:.78rem; }
.company-record span { color:#6f91b2; font-size:.68rem; text-transform:uppercase; }
.company-record strong { color:#d9b83f; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width:640px) {
  header { padding:0 12px; } header > nav > a { display:none; } header > nav > a.always { display:block; }
  .wheel-box { padding:24px 20px 28px; }
  .wheel-wrap { width:280px; height:280px; }
  #wheel-canvas { width:280px!important; height:280px!important; }
  #game-section { padding:12px 8px 48px; gap:9px; }
  .notes-heading { grid-template-columns:38px 1fr; }
  .notes-heading h2 { grid-column:2; }
  .notes-columns { grid-template-columns:1fr; }
  .notes-columns article+article { border-left:0; border-top:1px solid rgba(100,160,255,.15); }
  .notes-contact { grid-template-columns:38px 1fr; }
  .notes-contact a { grid-column:2; }
  .page-heading { grid-template-columns:1fr; }
  .page-heading>p { grid-row:auto; }
  .dock-manifest,.contact-directory { grid-template-columns:1fr; }
  .current-band { grid-template-columns:1fr; }
  .current-band>div { grid-template-columns:1fr; }
  .current-band article { border-left:0; border-top:1px solid rgba(100,160,255,.15); }
  .company-record { grid-template-columns:1fr; }
  .legal-body-wrap { padding:38px 18px 58px; }
  .footer-nav { flex-wrap:wrap; justify-content:center; }
}
@media (max-width:400px) {
  .wheel-wrap { width:240px; height:240px; }
  #wheel-canvas { width:240px!important; height:240px!important; }
}
