:root{--bg:#061a20;--ink:#edf2e8;--mut:#afc7c3;--gold:#d6ac71;--gold2:#ffe2ac;--line:rgba(179,212,198,.35);--panel:rgba(4,27,33,.92)}
.mbox{background:linear-gradient(160deg,#12343a,#071a21)}
.intro-hero::before{background:linear-gradient(90deg,rgba(2,20,26,.9),rgba(2,20,26,.42) 60%,transparent),linear-gradient(0deg,#061a20,transparent 65%)}
.scene::after{box-shadow:inset 0 0 100px 12px #001a2355}
.amb.sea{background:linear-gradient(115deg,transparent 20%,#80ffec19 24%,transparent 30%,#bfffe612 45%,transparent 53%);animation:breath 7s ease-in-out infinite}
.dust i{width:6px;height:6px;background:transparent;border:1px solid #c3fff9aa;box-shadow:0 0 4px #a4eee966}
.spot.hid{width:38px;height:38px;background:url('img/coin.png') center/contain no-repeat;opacity:.75;filter:drop-shadow(0 1px 2px #001b20)}
.spot.hid::after{display:none}.spot.hid.done{opacity:.2}.spot.hid:hover,.spot.hid:focus-visible{opacity:1}
.wreck .ov.paper{display:block;overflow:auto;overscroll-behavior:contain;padding:8px;color:#182d2c;background:#f9edcfed;border-radius:6px;font-size:clamp(15px,1.7vw,19px);text-align:left;scrollbar-color:#8f6d43 #eee2c7}
.wreck .ov.dark{background:#082f35e8;color:#fff0cf}.paper p{margin:.5em 0}.paper h4{margin:.3em 0 .7em;font:700 22px Georgia}
.wreck .cu{min-height:460px}.wreck .cu.notes{min-height:400px}
.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;justify-content:center;margin:16px 0}.controls label{display:grid;gap:5px;max-width:100%}.controls input{width:150px}.controls input.long{width:240px}
.clues{padding:10px 16px;border-left:3px solid var(--gold);background:#ffffff06;margin-top:14px}.clues p{margin:.6em 0}.readout{text-align:center;font-weight:700;white-space:pre-line}
.nonogram{border-collapse:separate;border-spacing:3px;margin:auto;text-align:center}.nonogram th{font:700 16px Arial;padding:3px;white-space:pre-line;min-width:30px}.nonogram button{width:42px;height:42px;padding:0;border:1px solid #adc8c2;background:#183c40;color:#e7f8ef;font:700 22px Arial;cursor:pointer}.nonogram button.filled{background:#e7c38c;color:#162f31}.nonogram button.crossed{color:#a9d6d0}
.paper table{margin:auto}.manifest{border-collapse:collapse;width:100%;text-align:center}.manifest th,.manifest td{border:1px solid #58736a;padding:5px}.manifest input{width:65px;min-height:42px;text-align:center;font:700 18px Arial;background:#fff8e7;color:#173a39;border:1px solid #68877a;border-radius:4px}
.rope-card{display:flex;gap:12px;align-items:center;margin:10px 0}.rope-card strong{width:24px}.rope-card svg{width:100%;height:72px}.rope-list{width:100%}
.slider{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:330px;margin:12px auto}.slider button{aspect-ratio:1;min-height:64px;border:2px solid #dfc090;border-radius:7px;background:linear-gradient(130deg,#cc9959,#805a32);color:#fff7df;font:700 36px Georgia;cursor:pointer;box-shadow:inset 0 0 0 4px #744e2d}.slider button:disabled{background:#09252c;border:1px dashed #9bbab3;box-shadow:none;color:#bacdc4;opacity:.8}
.target{font:700 20px/1.5 monospace;white-space:pre;text-align:center;color:inherit}.map-svg{width:100%;max-height:350px}.evidence{border:1px solid #79928a;padding:9px;border-radius:5px;margin:12px 0}.paper .btn{background:#0b373f;color:#fff0d4;border-color:#46716d}.paper .btn:hover{background:#21515a}.paper :focus-visible{outline:3px solid #02659a}.bonus{width:80px;height:80px;object-fit:contain}
@media(max-width:600px){.wreck{padding:15px 10px}.wreck .cu{aspect-ratio:auto;height:490px;min-height:490px;background-size:100% 100%}.wreck .cu.notes{height:430px;min-height:430px}.wreck .ov.paper{left:8%!important;top:10%!important;width:84%!important;height:80%!important;padding:8px;font-size:16px}.nonogram{border-spacing:2px}.nonogram button{width:30px;height:35px}.nonogram th{font-size:13px;min-width:20px;padding:1px}.manifest th,.manifest td{padding:3px}.manifest input{width:39px;font-size:16px}.controls{gap:10px}.controls label{flex:1 1 120px}.controls input{width:100%}.controls .btn{flex:1 1 auto}.rope-card{gap:4px}.kicker{letter-spacing:2px}.diploma h2{letter-spacing:1px;font-size:23px}}
@media print{.diploma,.diploma p,.diploma b{color:#132f35!important}.diploma{background:white}}
