.world-voyage-launch {
  display:inline-flex; flex-direction:column; align-items:flex-start; gap:4px;
  margin:0; padding:12px 20px; min-height:48px; border:1px solid #c6a064;
  border-radius:12px; color:#fcf6ea; background:linear-gradient(120deg,#342818,#191710);
  font:inherit; font-weight:650; text-align:left; cursor:pointer;
}
.world-voyage-launch span {color:#d4c6ae;font-size:.8rem;font-weight:400;}
.world-voyage-launch-status:empty {display:none;}
.world-voyage-launch[hidden],.world-voyage [hidden],.forge-world [hidden] {display:none!important;}
.has-world-voyage {overflow:hidden!important;}
.world-voyage {
  position:fixed; inset:0; z-index:10000; display:grid;
  grid-template-rows:auto minmax(220px,1fr) auto auto;
  height:100vh; height:100dvh; overflow:auto;
  background:#020305; color:#f4f7fb; font-family:system-ui,-apple-system,sans-serif;
}
.world-voyage__header {grid-row:1;grid-column:1;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 28px;border-bottom:1px solid #253039;}
.world-voyage__header h2 {margin:0;font-size:1rem;font-weight:500;color:#d1dfeb;}
.world-voyage button {min-height:44px;border:1px solid #526577;border-radius:9px;padding:9px 14px;font:inherit;font-size:.9rem;background:#142331;color:#f4f7fb;cursor:pointer;}
.world-voyage button:disabled {opacity:.45;cursor:default;}
.world-voyage button:hover:not(:disabled) {background:#213c50;}
.world-voyage button[data-voyage-explore] {background:#d5e6ef;color:#0c2534;}
.world-voyage__stage {grid-row:2/4;grid-column:1;position:relative;min-height:300px;overflow:hidden;}
.world-voyage__stage canvas {display:block;width:100%;height:100%;position:absolute;inset:0;}
.world-voyage__guides {pointer-events:none;}
.world-voyage__hud {position:absolute;top:20px;left:28px;margin:0;display:grid;gap:20px;max-width:45%;font-variant-numeric:tabular-nums;text-shadow:0 1px 5px #000;}
.world-voyage__hud dt {color:#a5b5bf;font-size:.75rem;}
.world-voyage__hud dd {margin:5px 0;color:#e8dcc3;font-size:clamp(1.1rem,2vw,1.6rem);font-weight:400;}
.world-voyage__hud small {display:block;color:#afc1cd;font-size:.75rem;}
.world-voyage__map {position:absolute;right:28px;top:8px;width:190px;margin:0;}
.world-voyage__map canvas {position:static;width:190px;height:170px;}
.world-voyage__map figcaption {color:#a5b5bf;text-align:center;font-size:.66rem;line-height:1.5;}
.world-voyage__fallback {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.world-voyage__loading {position:absolute;top:48%;left:5%;right:5%;text-align:center;font-size:.8rem;color:#d2dfed;text-shadow:0 1px 3px #000;}
.world-voyage__loading:empty {display:none;}
.world-voyage[data-complete="true"] .world-voyage__loading {width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.world-voyage__caption {grid-row:3;grid-column:1;z-index:1;padding:18px 28px 14px;text-align:left;pointer-events:none;background:linear-gradient(0deg,#020305 5%,rgba(2,3,5,.8) 55%,transparent);}
.world-voyage__order {font-size:.8rem;letter-spacing:.08em;color:#aec7da;margin:0 0 6px;}
.world-voyage__caption h3 {font-family:Georgia,serif;font-size:clamp(2rem,3.8vw,3.8rem);font-weight:400;line-height:1.08;margin:0 0 8px;}
.world-voyage__fact {font-size:clamp(.8rem,1.2vw,.95rem);margin:0 0 5px;color:#bdcbd5;max-width:64rem;line-height:1.5;}
.world-voyage__credit {font-size:.7rem;color:#b4c8d8;text-underline-offset:3px;}
.world-voyage__footer {grid-row:4;grid-column:1;z-index:2;width:min(100%,1100px);box-sizing:border-box;margin:0 auto;padding:6px 28px max(14px,env(safe-area-inset-bottom));min-width:0;}
.world-voyage__stops {display:flex;gap:4px;overflow-x:auto;position:relative;scrollbar-width:thin;margin-bottom:8px;}
.world-voyage__stops button {flex:1 0 auto;border:0;border-bottom:2px solid #243039;border-radius:0;background:transparent;color:#b2c2cc;font-size:.8rem;padding:8px;}
.world-voyage__stops button[aria-current="step"] {color:#f2d093;border-color:#dfb36f;background:#252017;}
.world-voyage__sources {color:#9fadb8;font-size:.72rem;line-height:1.6;text-align:center;}
.world-voyage__sources summary {cursor:pointer;min-height:28px;padding:7px;}
.world-voyage__sources p {max-width:65rem;text-align:left;}
.world-voyage__sources a {color:#bdcbd5;}
.world-voyage__timeline {display:flex;flex-direction:column;gap:1px;color:#b7cad9;font-size:.75rem;}
.world-voyage__timeline input {width:100%;min-height:32px;accent-color:#badcea;margin:0;cursor:pointer;}
.world-voyage__controls {display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.world-voyage__limits {font-size:.7rem;line-height:1.45;text-align:center;color:#afc3d3;margin:12px 0 0;}
.world-voyage :focus-visible,.world-voyage-launch:focus-visible {outline:3px solid #f4c878;outline-offset:4px;}
.planet-forge__group {border:0;padding:0;min-width:0;margin:0 0 28px;scroll-margin-top:125px;}
.planet-forge__group legend {font-size:1.2rem;font-weight:700;padding:0 0 12px;}
.planet-forge-field select {min-height:44px;max-width:100%;width:100%;grid-column:1/-1;font:inherit;padding:8px;border:1px solid #9dabb8;border-radius:8px;background:#fff;color:#182e3e;}
.forge-world {margin:18px 0 28px;border:1px solid #b5c6d3;border-radius:16px;overflow:hidden;background:#f7fafc;color:#172f40;scroll-margin-top:125px;}
.planet-forge__results {scroll-margin-top:125px;}
.forge-world h4 {font-size:1.3rem;margin:20px 24px 6px;}
.forge-world__note {margin:0 24px 18px;font-size:.85rem;color:#415e70;}
.forge-world__stage {height:clamp(280px,43vw,480px);position:relative;background:#03070d;}
.forge-world__canvas {display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;}
.forge-world__canvas:active {cursor:grabbing;}
.forge-world__map {margin:0;padding:20px;color:#d2e5f2;text-align:center;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;}
.forge-world__map canvas {max-width:100%;max-height:85%;width:640px;object-fit:contain;}
.forge-world__map figcaption {font-size:.8rem;}
.forge-world__controls {display:flex;gap:10px;justify-content:center;padding:16px 16px 0;flex-wrap:wrap;}
.forge-world button {font:inherit;font-size:.85rem;min-height:44px;padding:8px 12px;background:#fff;border:1px solid #8ca4b7;color:#16384f;border-radius:8px;cursor:pointer;}
.forge-world :focus-visible {outline:3px solid #23699a;outline-offset:3px;}
.forge-world__status {padding:0 24px;font-size:.8rem;line-height:1.6;color:#415e70;}
.forge-world__stats {display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:20px 24px;background:#c5d4df;border:1px solid #c5d4df;border-radius:10px;overflow:hidden;}
.forge-world__stats div {background:#fff;padding:14px 10px;text-align:center;}
.forge-world__stats dt {font-size:.76rem;}
.forge-world__stats dd {margin:8px 0 0;font-size:1.2rem;font-weight:650;}
.forge-world__explanation {padding:0 24px 20px;}
.forge-world__explanation h5 {font-size:1rem;margin:16px 0;}
.forge-world__explanation ul {padding-left:20px;font-size:.87rem;line-height:1.7;}
.forge-world__explanation li+li {margin-top:8px;}
.forge-world__sources {font-size:.76rem;line-height:1.6;}
.forge-world__sources a {color:#215c87;}
@media(max-width:600px) {
  .forge-world,.planet-forge__results {scroll-margin-top:80px;}
  .world-voyage__header {padding:12px 14px;gap:12px;}
  .world-voyage__header h2 {font-size:.8rem;}
  .world-voyage__header button {font-size:.75rem;padding:6px 9px;}
  .world-voyage__caption {padding:8px 16px;}
  .world-voyage__caption h3 {font-size:2rem;}
  .world-voyage__order {font-size:.65rem;letter-spacing:.02em;line-height:1.5;}
  .world-voyage__hud {top:14px;left:16px;gap:12px;max-width:57%;}
  .world-voyage__hud dt,.world-voyage__hud small {font-size:.65rem;line-height:1.4;}
  .world-voyage__hud dd {font-size:1.02rem;}
  .world-voyage__map {right:8px;top:4px;width:112px;}
  .world-voyage__map canvas {width:112px;height:108px;}
  .world-voyage__map figcaption {font-size:.54rem;}
  .world-voyage__stage {min-height:290px;}
  .world-voyage__credit {font-size:.62rem;}
  .world-voyage__footer {padding:8px 16px max(12px,env(safe-area-inset-bottom));}
  .world-voyage__controls {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
  .world-voyage__controls button {font-size:.75rem;padding:7px 4px;}
  .world-voyage__controls [data-voyage-explore] {grid-column:1/-1;}
  .world-voyage__limits {font-size:.64rem;margin-top:8px;}
  .forge-world__stats {grid-template-columns:repeat(2,1fr);margin:16px;}
  .forge-world h4 {margin:16px 16px 6px;}
  .forge-world__note {margin:0 16px 14px;}
  .forge-world__explanation {padding:0 16px 16px;}
}
@media(max-height:550px) and (min-width:600px) {
  .world-voyage {grid-template-rows:auto minmax(180px,1fr) auto auto;}
  .world-voyage__stage {min-height:230px;}
  .world-voyage__map {width:100px;}
  .world-voyage__map canvas {width:100px;height:90px;}
  .world-voyage__caption h3 {font-size:1.4rem;}
  .world-voyage__caption {padding:4px 28px;}
  .world-voyage__fact {max-width:70%;font-size:.7rem;}
  .world-voyage__hud {gap:5px;}
}
@media(forced-colors:active) {
  .world-voyage,.forge-world {background:Canvas;color:CanvasText;border:1px solid CanvasText;}
  .world-voyage button,.forge-world button {border:1px solid ButtonText;}
}
