
@import url('https://fonts.googleapis.com/css2?family=Pirata+One&family=Cinzel:wght@600;700;800&family=Libre+Baskerville:wght@400;700&display=swap');

/* Cinematic pirate radio/map palette. Adjust these variables first. */
:root{
  --sea-950:#020713;
  --sea-900:#06101f;
  --sea-800:#0b2037;
  --parchment:#ead29a;
  --parchment-light:#f8e7bd;
  --burn:#5b3216;
  --ink:#241306;
  --brass:#c8943d;
  --brass-soft:#f1d28a;
  --crimson:#7f241c;
  --bone:#f8f0db;
  --walnut:#2b170b;
  --rope:#b78645;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--bone);
  background:
    radial-gradient(circle at 52% 12%, rgba(218,177,92,.20), transparent 0 17rem),
    linear-gradient(180deg,var(--sea-950) 0%,var(--sea-900) 36%,#071a2b 66%,#020713 100%);
  font-family:"Libre Baskerville",Georgia,serif;
  line-height:1.68;
  font-size:18px;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-5;
  background:
    radial-gradient(circle at 20% 26%, rgba(255,255,255,.08), transparent 0 9rem),
    radial-gradient(circle at 80% 12%, rgba(200,148,61,.13), transparent 0 18rem),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.46));
}

/* Animated ocean, fog, ship, and particles. */
.cinematic-ocean{position:fixed;inset:0;z-index:-4;pointer-events:none;overflow:hidden}
.wave-layer{position:absolute;left:-10%;right:-10%;bottom:-3%;height:36%;background:url("../media/cinematic-waves.svg") repeat-x bottom/55rem 100%;opacity:.82;animation:wavesDrift 28s linear infinite}
.wave-layer.wave-2{bottom:-7%;height:32%;opacity:.5;animation-duration:42s;animation-direction:reverse;filter:blur(1px)}
.fog-layer{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 68%,rgba(255,255,255,.16),transparent 0 26rem),radial-gradient(ellipse at 84% 42%,rgba(255,255,255,.10),transparent 0 30rem);filter:blur(18px);opacity:.48;animation:fogDrift 38s ease-in-out infinite alternate}
.ship-silhouette{position:absolute;width:min(38vw,32rem);height:10rem;left:-35vw;bottom:28%;background:url("../media/pirate-ship-silhouette.svg") center/contain no-repeat;opacity:.45;animation:shipSail 74s linear infinite}
.sea-sparks{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(241,210,138,.46) 0 1px,transparent 2px);background-size:110px 90px;opacity:.12;animation:sparkFloat 16s linear infinite}
@keyframes wavesDrift{from{transform:translateX(0)}to{transform:translateX(-26rem)}}
@keyframes fogDrift{from{transform:translate3d(-3%,0,0)}to{transform:translate3d(4%,-2%,0)}}
@keyframes shipSail{0%{transform:translateX(0) scale(.88)}85%,100%{transform:translateX(145vw) scale(1.02)}}
@keyframes sparkFloat{from{transform:translateY(0)}to{transform:translateY(-90px)}}

a{color:#d8a84d;text-underline-offset:4px}
img{max-width:100%;height:auto}
.topbar{position:sticky;top:0;z-index:30;background:linear-gradient(90deg,rgba(5,7,12,.94),rgba(32,19,12,.92));border-bottom:1px solid rgba(200,148,61,.55);box-shadow:0 18px 44px rgba(0,0,0,.5);backdrop-filter:blur(10px)}
.nav{max-width:1240px;margin:auto;padding:11px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--bone);font-family:"Pirata One",Georgia,serif;font-size:31px;letter-spacing:.03em;text-shadow:0 0 18px rgba(200,148,61,.5)}
.mark{width:96px;height:66px;border-radius:0;object-fit:contain;background:transparent;border:0;box-shadow:none;display:block;flex:0 0 auto;filter:drop-shadow(0 0 14px rgba(200,148,61,.55))}
.navlinks{display:flex;gap:10px;flex-wrap:wrap}.navlinks a{position:relative;text-decoration:none;font-family:"Cinzel",Georgia,serif;font-weight:800;color:var(--brass-soft);font-size:12px;letter-spacing:.09em;text-transform:uppercase;border:1px solid rgba(200,148,61,.42);padding:8px 11px;background:linear-gradient(180deg,rgba(91,50,22,.42),rgba(12,9,8,.55));box-shadow:inset 0 0 18px rgba(200,148,61,.07)}.navlinks a:hover{box-shadow:0 0 20px rgba(241,210,138,.32),inset 0 0 20px rgba(200,148,61,.18);transform:translateY(-1px)}

.hero{position:relative;min-height:78vh;display:grid;align-items:center;border-bottom:1px solid rgba(200,148,61,.45);background:radial-gradient(circle at 74% 31%,rgba(200,148,61,.22),transparent 0 16rem),linear-gradient(180deg,rgba(2,7,19,.15),rgba(2,7,19,.72))}
.hero:before{content:"";position:absolute;inset:8% 4% auto auto;width:min(30vw,23rem);aspect-ratio:1;background:url("../media/compass-rose.svg") center/contain no-repeat;opacity:.38;filter:drop-shadow(0 0 30px rgba(200,148,61,.42));animation:compassTurn 80s linear infinite}
@keyframes compassTurn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.hero-inner{position:relative;z-index:2;max-width:1240px;margin:auto;padding:88px 22px 72px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.hero h1{font-family:"Pirata One",Georgia,serif;font-size:clamp(58px,10vw,128px);line-height:.84;margin:0 0 20px;color:var(--bone);font-weight:400;letter-spacing:.02em;text-shadow:0 0 18px rgba(200,148,61,.55),0 8px 0 rgba(0,0,0,.34)}
.hero p{font-size:clamp(20px,2vw,27px);color:#f1dcb0;max-width:760px;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.hero p:after{content:"";display:block;width:14rem;height:2px;margin-top:20px;background:linear-gradient(90deg,transparent,var(--brass),transparent);box-shadow:0 0 18px rgba(200,148,61,.7)}
.button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#d8a84d,#7b4a1c);color:#170c05;text-decoration:none;padding:13px 19px;font-family:"Cinzel",Georgia,serif;font-weight:900;border:1px solid #f1d28a;box-shadow:0 0 24px rgba(200,148,61,.38),inset 0 0 14px rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:.07em}.button:hover{filter:brightness(1.08);transform:translateY(-1px) rotate(-.4deg)}
.map-card{position:relative;min-height:25rem;border:8px solid transparent;border-image:linear-gradient(135deg,#2d1708,#d8a84d,#5b3216) 1;background:linear-gradient(rgba(248,231,189,.88),rgba(210,159,83,.82)),url("../media/island-sketch.svg") center/86% no-repeat;color:var(--ink);display:grid;place-items:end center;text-align:center;font-family:"Pirata One",Georgia,serif;font-size:40px;line-height:1.02;padding:0 24px 32px;box-shadow:0 0 40px rgba(200,148,61,.28),0 30px 80px rgba(0,0,0,.45),inset 0 0 55px rgba(91,50,22,.28);transform:perspective(900px) rotateY(-5deg) rotateZ(-1deg)}

.section,.article-layout{position:relative;max-width:1180px;margin:42px auto;padding:44px 24px;background:linear-gradient(135deg,rgba(248,231,189,.94),rgba(220,176,100,.9));color:var(--ink);border:2px solid rgba(91,50,22,.76);box-shadow:0 0 0 8px rgba(34,19,8,.55),0 0 38px rgba(200,148,61,.22),0 30px 80px rgba(0,0,0,.48),inset 0 0 52px rgba(91,50,22,.25);clip-path:polygon(1% 0,99% 1%,100% 96%,97% 100%,2% 99%,0 3%)}
.section:before,.article-layout:before{content:"";position:absolute;inset:9px;border:1px dashed rgba(91,50,22,.45);pointer-events:none}
.section-title,.article-head h1{font-family:"Pirata One",Georgia,serif;color:#321706;font-weight:400;letter-spacing:.02em;text-shadow:0 1px 0 #f8e7bd,0 0 18px rgba(200,148,61,.28)}
.section-title{font-size:48px;line-height:.96;margin:0 0 26px;border-bottom:3px double rgba(91,50,22,.72);padding-bottom:13px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:20px}
.card{background:rgba(255,244,211,.7);border:2px solid rgba(91,50,22,.68);padding:19px;box-shadow:7px 8px 0 rgba(91,50,22,.22),inset 0 0 25px rgba(177,120,37,.13);transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-3px) rotate(-.5deg);box-shadow:0 0 24px rgba(200,148,61,.34),8px 10px 0 rgba(91,50,22,.22)}
.card h3{margin:0 0 9px;font-family:"Cinzel",Georgia,serif;font-size:18px;line-height:1.25}.card p{margin:0;color:#563518;font-size:16px}
.article-layout{max-width:980px}.article-head{border-bottom:3px double rgba(91,50,22,.72);padding-bottom:24px;margin-bottom:30px}.article-head h1{font-size:clamp(42px,7vw,78px);line-height:.92;margin:0 0 14px}.article-meta{font-family:"Cinzel",Georgia,serif;color:#6a4019;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.article-body{font-size:20px;color:#2a170a}.article-body p:first-of-type:first-letter{font-family:"Pirata One",Georgia,serif;font-size:4.1em;float:left;line-height:.75;margin:12px 10px 0 0;color:var(--crimson);text-shadow:0 0 10px rgba(200,148,61,.35)}.article-body img{border:7px ridge rgba(120,75,30,.8);box-shadow:0 18px 42px rgba(0,0,0,.34);background:#e7c98d}.video-embed{position:relative;aspect-ratio:16/9;margin:28px 0;border:8px ridge #7b4a1c;overflow:hidden;background:#000;box-shadow:0 0 32px rgba(200,148,61,.32)}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.source-box{margin-top:36px;padding:17px;border:2px dashed rgba(91,50,22,.72);background:rgba(255,244,211,.62)}

/* Captain's log radio panel. Sonic IDs are preserved for widgets.js. */
.disruptarian-stream-player{position:relative;display:grid;grid-template-columns:1.2fr .85fr;gap:22px;align-items:center;max-width:1180px;margin:42px auto;padding:22px;background:linear-gradient(135deg,rgba(22,12,6,.94),rgba(5,7,12,.96));border:2px solid rgba(200,148,61,.72);box-shadow:0 0 40px rgba(200,148,61,.22),0 25px 70px rgba(0,0,0,.48),inset 0 0 38px rgba(200,148,61,.09);color:var(--bone)}
.disruptarian-stream-player:before{content:"Captain's Log";position:absolute;left:22px;top:-18px;padding:3px 12px;background:#1a0e06;color:var(--brass-soft);border:1px solid rgba(200,148,61,.7);font-family:"Pirata One",Georgia,serif;font-size:25px;letter-spacing:.03em;box-shadow:0 0 18px rgba(200,148,61,.3)}
.disruptarian-stream-main{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center}.disruptarian-stream-art{width:96px;height:96px;border:4px ridge var(--brass);background:#070a12;box-shadow:0 0 24px rgba(200,148,61,.35)}.disruptarian-stream-art img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border:0;box-shadow:none}.disruptarian-stream-copy{display:grid;gap:6px}.disruptarian-stream-copy strong{font-family:"Pirata One",Georgia,serif;font-size:35px;font-weight:400;color:var(--bone);text-shadow:0 0 16px rgba(200,148,61,.5)}.disruptarian-stream-copy span{font-size:16px;color:#ead29a}.sonic-now-playing{font-family:"Cinzel",Georgia,serif;color:var(--brass-soft);font-weight:800}.sonic-now-playing span{display:block;margin-top:3px;font-family:"Libre Baskerville",Georgia,serif;color:var(--bone);font-weight:400}.crew-count{display:inline-flex;width:max-content;gap:6px;align-items:center;margin-top:4px;padding:5px 10px;border:1px solid rgba(200,148,61,.55);background:rgba(200,148,61,.1);font-family:"Cinzel",Georgia,serif;color:#f8e7bd}.disruptarian-stream-actions{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.disruptarian-play-button{appearance:none;border:1px solid #f1d28a;background:linear-gradient(180deg,#d8a84d,#7b4a1c);color:#150b04;padding:13px 24px;font-family:"Pirata One",Georgia,serif;font-size:24px;cursor:pointer;box-shadow:0 0 22px rgba(200,148,61,.38)}.disruptarian-apk-link,.treasure-cover-link{display:grid;color:#f8e7bd;text-decoration:none;border-left:2px solid rgba(200,148,61,.42);padding-left:16px}.disruptarian-apk-link strong,.treasure-cover-link strong{font-family:"Cinzel",Georgia,serif;font-size:15px}.disruptarian-apk-link span,.treasure-cover-link span{font-size:14px;color:#d9bd7b}.sonic-cover-frame{display:grid;gap:8px}
.site-banner-rotator{position:relative;width:min(760px,calc(100% - 24px));height:124px;margin:34px auto;border:2px solid rgba(200,148,61,.7);overflow:hidden;background:#0b0e16;box-shadow:0 0 32px rgba(200,148,61,.22)}
.promo-slide{position:absolute;inset:0;display:flex;align-items:center;padding:18px 26px;color:#f7e7bd;text-decoration:none;opacity:0;transition:opacity .8s ease}.promo-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,19,.92),rgba(34,19,8,.5))}.promo-slide.is-active{opacity:1;z-index:2}.promo-copy{position:relative;z-index:1;display:grid;gap:2px}.promo-copy strong{font-family:"Pirata One",Georgia,serif;font-size:34px;font-weight:400}.promo-copy span{color:#ead29a}.footer{background:#020713;color:#d9bd7b;text-align:center;padding:30px 20px;border-top:1px solid rgba(200,148,61,.55)}

@media(max-width:860px){.hero-inner{grid-template-columns:1fr}.map-card{min-height:18rem}.disruptarian-stream-player{grid-template-columns:1fr;margin:28px 12px}.disruptarian-stream-actions{grid-template-columns:1fr}.disruptarian-stream-main{grid-template-columns:72px 1fr}.disruptarian-stream-art{width:72px;height:72px}.section,.article-layout{margin:24px 12px;padding:32px 18px}.hero h1{font-size:clamp(54px,16vw,88px)}.nav{align-items:flex-start}.navlinks{justify-content:flex-end}.mark{width:82px;height:58px}}

@media(prefers-reduced-motion:reduce){
  .wave-layer,.fog-layer,.ship-silhouette,.sea-sparks,.hero:before{animation:none}
  .card:hover,.button:hover{transform:none}
}


/* Final cinematic pirate-map presentation pass */
:root{
  --moon:#f8f0d8;
  --storm:#06101f;
  --storm2:#0b2037;
  --deep:#020713;
  --gold:#d9a84a;
  --gold2:#f4d487;
  --blood:#87281c;
  --ink:#1d0e05;
  --parchment:#edd49b;
}

body.cinematic-pirate-radio{
  min-height:100vh;
  background:
    radial-gradient(circle at 74% 13%, rgba(248,240,216,.88) 0 4.8rem, rgba(248,240,216,.18) 4.9rem 7.4rem, transparent 7.5rem),
    radial-gradient(circle at 66% 19%, rgba(217,168,74,.16), transparent 0 16rem),
    linear-gradient(180deg,#020713 0%,#06101f 36%,#0b2037 68%,#030812 100%);
}

body.cinematic-pirate-radio:after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-3;
  background:
    linear-gradient(90deg,rgba(2,7,19,.92),transparent 18%,transparent 82%,rgba(2,7,19,.9)),
    radial-gradient(ellipse at 50% 110%,rgba(0,0,0,.58),transparent 0 54%);
}

.cinematic-ocean{opacity:1}
.ship-silhouette{
  width:min(52vw,46rem);
  height:14rem;
  bottom:35%;
  opacity:.7;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.75));
}
.fog-layer{opacity:.68}
.wave-layer{height:42%;opacity:.95}
.wave-layer.wave-2{height:35%;opacity:.62}

.topbar{
  background:linear-gradient(90deg,rgba(2,7,19,.96),rgba(29,14,5,.95),rgba(2,7,19,.96));
  border-bottom:2px solid rgba(217,168,74,.72);
}

.brand{
  font-size:clamp(28px,3vw,42px);
}
.mark{
  width:clamp(94px,10vw,148px);
  height:clamp(66px,7vw,100px);
}

.hero{
  min-height:calc(100vh - 78px);
  isolation:isolate;
}
.hero:before{
  width:min(38vw,32rem);
  right:6%;
  top:10%;
  opacity:.54;
}
.hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  background:linear-gradient(180deg,transparent,rgba(2,7,19,.72));
  pointer-events:none;
}
.hero-inner{
  max-width:1320px;
  min-height:calc(100vh - 98px);
  padding-top:7vh;
  padding-bottom:8vh;
}
.hero h1{
  max-width:780px;
  color:#fff4d0;
  text-shadow:
    0 0 18px rgba(217,168,74,.85),
    0 0 54px rgba(217,168,74,.34),
    0 10px 0 rgba(0,0,0,.38);
}
.hero p{
  max-width:690px;
  padding:16px 18px;
  border-left:4px solid var(--gold);
  background:linear-gradient(90deg,rgba(2,7,19,.64),rgba(2,7,19,.08));
  box-shadow:0 0 34px rgba(217,168,74,.16);
}
.hero .button{
  margin-top:8px;
  font-size:15px;
}

.map-card{
  min-height:34rem;
  background:
    linear-gradient(rgba(248,231,189,.9),rgba(211,158,82,.84)),
    url("../media/coin-compass-logo.png") center 14%/42% auto no-repeat,
    url("../media/island-sketch.svg") center 78%/92% auto no-repeat;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  color:#1f1005;
  font-size:clamp(38px,4vw,64px);
}
.map-card:before{
  content:"X";
  position:absolute;
  left:12%;
  bottom:22%;
  font-family:"Pirata One", Georgia, serif;
  color:var(--blood);
  font-size:74px;
  transform:rotate(-12deg);
  text-shadow:0 0 18px rgba(135,40,28,.35);
}

body.cinematic-pirate-radio > main{
  position:relative;
  z-index:2;
}

/* Put the homepage broadcast panel visually in the foreground. */
body.cinematic-pirate-radio .hero + .disruptarian-stream-player,
body.cinematic-pirate-radio main + .site-banner-rotator + script + .disruptarian-stream-player{
  margin-top:-34px;
}

.disruptarian-stream-player{
  border-radius:0;
  clip-path:polygon(1.5% 0,98.5% 0,100% 8%,99% 100%,2% 100%,0 91%);
}
.disruptarian-stream-player:after{
  content:"";
  position:absolute;
  inset:10px;
  border:1px dashed rgba(244,212,135,.34);
  pointer-events:none;
}
.disruptarian-stream-copy strong{
  font-size:clamp(34px,4vw,54px);
}
.sonic-now-playing{
  padding:12px 14px;
  max-width:680px;
  background:rgba(237,212,155,.08);
  border:1px solid rgba(217,168,74,.36);
  box-shadow:inset 0 0 22px rgba(217,168,74,.08);
}
#sonic_title{
  min-height:1.45em;
}
.crew-count{
  font-size:15px;
}

.section{
  backdrop-filter:blur(2px);
}
.section-title{
  font-size:clamp(42px,5vw,68px);
}
.card{
  min-height:180px;
  transform-origin:center;
}
.card h3 a{
  color:#251103;
  text-decoration-color:rgba(135,40,28,.5);
}

.article-layout{
  margin-top:54px;
}
.article-body{
  max-width:78ch;
  margin-inline:auto;
}
.article-body p{
  margin:0 0 1.1em;
}

/* SEO-visible but visually subtle page identity in shared content pages. */
.footer{
  position:relative;
}

@media(max-width:980px){
  .hero-inner{
    min-height:auto;
    grid-template-columns:1fr;
    padding-top:56px;
  }
  .map-card{
    min-height:24rem;
    transform:none;
  }
  .ship-silhouette{
    width:48rem;
    bottom:29%;
  }
}

@media(max-width:640px){
  .nav{
    padding:8px 12px;
  }
  .brand span{
    font-size:28px;
  }
  .mark{
    width:86px;
    height:60px;
  }
  .hero{
    min-height:auto;
  }
  .hero-inner{
    padding:38px 14px 44px;
  }
  .hero h1{
    font-size:58px;
  }
  .hero p{
    font-size:18px;
  }
  .map-card{
    min-height:18rem;
    font-size:34px;
  }
  .section,.article-layout{
    clip-path:none;
    border-width:1px;
    box-shadow:0 0 0 4px rgba(34,19,8,.45),0 20px 50px rgba(0,0,0,.36),inset 0 0 34px rgba(91,50,22,.2);
  }
  .disruptarian-stream-player{
    clip-path:none;
  }
}


/* Disruptarian-style fixed bottom stream bar */
body.has-bottom-player{
  padding-bottom:156px;
}
.disruptarian-stream-player,
script#sonic_js{
  display:none!important;
}
.player{
  position:fixed;
  left:12px;
  right:320px;
  bottom:12px;
  z-index:2147482990;
  padding:10px 12px;
  background:rgba(10,10,16,.9);
  backdrop-filter:saturate(1.2) blur(14px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  box-shadow:0 18px 52px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.05);
  color:#fff;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transition:transform .22s ease,opacity .22s ease;
}
.player[data-hidden="true"]{
  transform:translateY(calc(100% + 24px));
  opacity:0;
  pointer-events:none;
}
.pwrap{
  display:flex;
  align-items:center;
  gap:14px;
}
.part{
  width:66px;
  min-width:66px;
  height:66px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.part img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pmeta{
  min-width:0;
  flex:1;
}
.ptitle{
  font-weight:900;
  letter-spacing:.2px;
  font-size:20px;
  line-height:1.1;
}
.psub{
  opacity:.88;
  font-size:15px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.plistener{
  margin-top:2px;
  color:rgba(255,255,255,.62);
  font-size:12px;
}
.paudio,
.sonic-sink{
  display:none;
}
.pcontrols{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.pbtn,
.plink{
  appearance:none;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.055);
  color:#fff;
  border-radius:14px;
  padding:10px 16px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  line-height:1;
}
.pbtn:hover,
.plink:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.36);
}
.pvol{
  width:128px;
  accent-color:#d9a84a;
}
.pshow{
  position:fixed;
  right:12px;
  bottom:12px;
  z-index:2147482991;
  appearance:none;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(10,10,16,.9);
  backdrop-filter:saturate(1.2) blur(14px);
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 18px 52px rgba(0,0,0,.42);
}
.pshow[hidden]{
  display:none;
}
.apk-download-link{
  position:fixed;
  right:12px;
  bottom:12px;
  z-index:2147482990;
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  width:292px;
  min-height:74px;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:8px;
  background:rgba(10,10,16,.94);
  color:#fff;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-decoration:none;
  box-shadow:0 18px 52px rgba(0,0,0,.42);
  backdrop-filter:blur(12px);
}
.apk-download-link strong{
  font-size:18px;
  line-height:1.12;
}
.apk-download-link span{
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.25;
}
.apk-download-link:hover,
.apk-download-link:focus{
  color:#fff;
  border-color:rgba(255,255,255,.5);
  transform:translateY(-1px);
}
@media (max-width:900px){
  body.has-bottom-player{
    padding-bottom:228px;
  }
  .player{
    left:10px;
    right:10px;
    bottom:86px;
  }
  .apk-download-link{
    left:10px;
    right:10px;
    bottom:10px;
    width:auto;
    min-height:54px;
    align-items:center;
    text-align:center;
  }
  .pwrap{
    gap:10px;
  }
  .pvol{
    display:none;
  }
}
@media (max-width:620px){
  body.has-bottom-player{
    padding-bottom:288px;
  }
  .pwrap{
    align-items:flex-start;
  }
  .part{
    width:58px;
    min-width:58px;
    height:58px;
  }
  .pcontrols{
    width:100%;
    margin-top:8px;
  }
  .pbtn,
  .plink{
    padding:9px 12px;
  }
  .ptitle{
    font-size:18px;
  }
  .psub{
    white-space:normal;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
}
@media (prefers-reduced-motion:reduce){
  .player,
  .apk-download-link,
  .pshow{
    transition:none;
  }
}


/* Mobile pirate-theme layout correction */
@media (max-width:640px){
  .nav{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .brand{
    width:100%;
    justify-content:center;
  }
  .brand span{
    white-space:nowrap;
    font-size:clamp(24px,8vw,31px);
  }
  .navlinks{
    width:100%;
    justify-content:center;
    gap:7px;
  }
  .navlinks a{
    font-size:11px;
    padding:7px 9px;
  }
  .hero-inner{
    padding-top:28px;
  }
  .player{
    overflow:hidden;
  }
  .pwrap{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:10px 12px;
    align-items:center;
  }
  .pmeta{
    min-width:0;
  }
  .pcontrols{
    grid-column:1 / -1;
    width:100%;
    justify-content:space-between;
    gap:8px;
    margin-top:0;
  }
  .pbtn,
  .plink{
    flex:1 1 auto;
    min-width:0;
    text-align:center;
    padding:10px 8px;
    font-size:14px;
  }
  .phide{
    max-width:72px;
  }
  .plistener{
    display:block;
    white-space:normal;
  }
}

@media (max-width:420px){
  .topbar{
    position:relative;
  }
  .mark{
    width:74px;
    height:52px;
  }
  .hero h1{
    font-size:52px;
  }
  .hero p{
    font-size:17px;
    padding:12px 14px;
  }
  .button{
    width:100%;
    max-width:310px;
  }
}


/* Cache-busted mobile overflow hardening */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
.cinematic-ocean{
  width:100vw;
  max-width:100vw;
  contain:paint;
}
.wave-layer,
.ship-silhouette{
  max-width:100vw;
}
@media (max-width:640px){
  .ship-silhouette{
    left:0;
    right:auto;
    width:100vw;
    max-width:100vw;
    opacity:.34;
  }
  .wave-layer{
    left:0;
    right:0;
    width:100vw;
  }
}


/* Usability and search visibility pass */
.skip-link{
  position:fixed;
  left:12px;
  top:12px;
  z-index:2147483001;
  transform:translateY(-140%);
  padding:10px 14px;
  border:1px solid rgba(244,212,135,.75);
  background:#05070c;
  color:#fff4d0;
  font-family:"Cinzel", Georgia, serif;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 10px 32px rgba(0,0,0,.45);
}
.skip-link:focus{
  transform:translateY(0);
}
a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline:3px solid #f4d487;
  outline-offset:3px;
}
#content{
  scroll-margin-top:120px;
}
.wave-layer{
  opacity:.52;
  animation-duration:72s;
}
.wave-layer.wave-2{
  opacity:.34;
  animation-duration:96s;
}
.fog-layer{
  opacity:.36;
  animation-duration:86s;
}
.ship-silhouette{
  opacity:.3;
  animation-duration:132s;
}
.sea-sparks{
  opacity:.06;
  animation-duration:42s;
}
.hero:before{
  animation-duration:180s;
}
.article-body{
  overflow-wrap:anywhere;
}
.source-box a{
  word-break:break-word;
}
.card a{
  overflow-wrap:anywhere;
}
@media (max-width:760px){
  .wave-layer,
  .wave-layer.wave-2,
  .fog-layer,
  .ship-silhouette,
  .sea-sparks,
  .hero:before{
    animation:none!important;
  }
  .fog-layer{
    opacity:.22;
  }
  .wave-layer{
    opacity:.28;
  }
  .ship-silhouette{
    opacity:.18;
  }
}
@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
}


/* Internet Archive source links */
.archive-source-links{
  width:min(940px,calc(100% - 24px));
  margin:34px auto 24px;
  padding:22px 20px;
  color:#f8e7bd;
  background:linear-gradient(135deg,rgba(12,8,5,.92),rgba(2,7,19,.94));
  border:1px solid rgba(217,168,74,.58);
  box-shadow:0 18px 52px rgba(0,0,0,.42), inset 0 0 28px rgba(217,168,74,.07);
}
.archive-source-links h2{
  margin:0 0 8px;
  font-family:"Pirata One", Georgia, serif;
  font-size:clamp(34px,4vw,48px);
  font-weight:400;
  color:#fff4d0;
  text-shadow:0 0 16px rgba(217,168,74,.42);
}
.archive-source-links p{
  margin:0 0 16px;
  color:#e7cc91;
}
.archive-source-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:10px;
}
.archive-source-grid a{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:10px 12px;
  color:#fff4d0;
  text-decoration:none;
  font-family:"Cinzel", Georgia, serif;
  font-size:13px;
  font-weight:800;
  border:1px solid rgba(217,168,74,.42);
  background:linear-gradient(180deg,rgba(91,50,22,.34),rgba(5,7,12,.72));
}
.archive-source-grid a:hover,
.archive-source-grid a:focus-visible{
  border-color:rgba(244,212,135,.76);
  box-shadow:0 0 20px rgba(217,168,74,.24);
}
@media(max-width:640px){
  .archive-source-links{
    margin-bottom:18px;
    padding:18px 14px;
  }
}


/* Legal footer links and policy pages */
.footer-legal-links{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:8px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:12px;
}
.footer-legal-links a{
  color:#d9bd7b;
  opacity:.78;
  text-decoration:none;
}
.footer-legal-links a:hover,
.footer-legal-links a:focus-visible{
  opacity:1;
  text-decoration:underline;
}
.legal-page h2{
  margin-top:1.4em;
  font-family:"Cinzel", Georgia, serif;
  font-size:1.05em;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#5b3216;
}

