/* A living nautical chart, drawn locally without video or external imagery. */
html{color-scheme:dark;background:#0b0c17;--sim-sea-background:radial-gradient(ellipse at 5% 45%,#201646 0,transparent 56%),radial-gradient(ellipse at 100% 80%,#0d3444 0,transparent 55%),linear-gradient(150deg,#121020,#090d18)}
body:not(.sim-atmosphere-active){background:var(--sim-sea-background)}
html[lang][data-access-pending]::after{background:var(--sim-sea-background)}
body.sim-atmosphere-active{isolation:isolate;background:#0b0c17}
.sim-atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 5% 45%,#201646 0,transparent 56%),radial-gradient(ellipse at 100% 80%,#0d3444 0,transparent 55%),linear-gradient(150deg,#121020,#090d18)}
.sim-atmosphere::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#090b1633 15%,#08091466 100%)}
.sea-glow{position:absolute;inset:-20%;background:radial-gradient(ellipse at 15% 30%,#8a45d535,transparent 38%),radial-gradient(ellipse at 80% 70%,#258ca42c,transparent 42%);animation:sea-breathe 22s ease-in-out infinite alternate}
.sea-contours{position:absolute;inset:-12%;width:124%;height:124%;color:#ab84df;opacity:.18;animation:sea-drift 30s ease-in-out infinite alternate}
.sea-compass{position:absolute;right:-110px;top:10%;width:min(650px,65vw);color:#ebc16f;opacity:.11;animation:sea-turn 100s linear infinite;transform-origin:center}
.sea-sparks{position:absolute;inset:-10%;background-image:radial-gradient(circle at 12% 35%,#f9d889aa 0 1px,transparent 2px),radial-gradient(circle at 85% 20%,#dac2ff99 0 1px,transparent 2px),radial-gradient(circle at 76% 70%,#e6ba6e99 0 1px,transparent 2px),radial-gradient(circle at 25% 86%,#dfc5ff99 0 1px,transparent 2px);background-size:420px 390px,590px 510px,720px 610px,840px 790px;animation:sea-sparks 20s ease-in-out infinite alternate;opacity:.65}
@keyframes sea-breathe{to{transform:translate(4%,-3%) scale(1.06)}}
@keyframes sea-drift{to{transform:translate(-3%,3%) rotate(-3deg)}}
@keyframes sea-turn{to{transform:rotate(360deg)}}
@keyframes sea-sparks{to{transform:translateY(-22px);opacity:.3}}
@media(max-width:650px){.sea-compass{right:-95px;top:12%;width:390px;opacity:.08}.sea-contours{opacity:.13}.sea-sparks{background-size:420px 390px}}
@media(prefers-reduced-motion:reduce){.sim-atmosphere *{animation:none!important}}
.sim-atmosphere[hidden]{display:none}

.sim-start-loading{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:#090713c9;backdrop-filter:blur(8px)}
.sim-start-loading[hidden]{display:none}
.sim-start-loading section{width:min(420px,100%);box-sizing:border-box;text-align:center;padding:32px 24px;border:1px solid #b48af566;border-radius:24px;background:linear-gradient(145deg,#302044,#141020);box-shadow:0 20px 80px #0006;color:#f4edff}
.sim-start-loading h2{font-size:22px;margin:20px 0 12px}.sim-start-loading p{font-size:14px;line-height:1.6;color:#cbbddd;margin:0}
.sim-start-spinner{display:inline-block;width:42px;height:42px;border:3px solid #b48af533;border-top-color:#cfafff;border-radius:50%;animation:sim-start-spin 1s linear infinite}
@keyframes sim-start-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sim-start-spinner{animation:none;border-color:#cfafff}}

.sim-start-loading .loading-recovery:not([hidden]){display:inline-flex;align-items:center;justify-content:center;margin-top:20px;min-height:44px;padding:10px 18px;border-radius:12px;border:1px solid #c6a5ef80;background:#624098;color:#fff;font-weight:600;text-decoration:none}
