/* Campaign 6: harbor restoration, island routes and a playable sailing trip. */
.welcome-panel,.quest-tracker{display:flex;gap:16px;align-items:center;margin:0 0 14px;padding:18px 22px;border-radius:15px;background:#203f43;border:1px solid #668d7f;color:#f4ecd5}.welcome-panel{background:linear-gradient(110deg,#315c52,#193d44)}.welcome-panel h2{margin:5px 0;font-size:26px}.welcome-panel p{max-width:730px;color:#d3dfce;font-size:14px;line-height:1.5}.welcome-panel .eyebrow{color:#e6c98d}.npc-avatar{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#e7bc7a;border:3px solid #fff0c4;box-shadow:0 3px 0 #071f2766;color:#234950;font-family:Georgia,serif;font-size:27px}.quest-tracker{padding:11px 18px;margin-bottom:12px;background:#224b50;border-color:#547d76}.quest-tracker>div:nth-child(2){flex:1;min-width:0}.quest-tracker small{display:block;font-size:9px;letter-spacing:.12em;color:#bacbbb;margin-bottom:5px}.quest-tracker strong{font-size:14px}.quest-tracker .npc-avatar{width:38px;height:38px;font-size:21px;border-width:2px}.quest-tracker .btn{font-size:12px;white-space:nowrap}.quest-tracker .btn.subtle{background:#345f60;border-color:#75928a;color:#f5e6bb}.restored-layer{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;object-fit:fill}.restored-1{clip-path:polygon(0 0,30% 0,30% 47%,68% 67%,68% 100%,0 100%)}.restored-2{clip-path:polygon(30% 0,67% 0,67% 58%,30% 47%)}.restored-3{clip-path:polygon(67% 24%,100% 24%,100% 100%,68% 100%,68% 67%,67% 58%)}.world-taskbar.four-actions{grid-template-columns:repeat(4,1fr)}.world-drawer .sailing-card .btn{margin-top:8px;min-height:44px}.world-drawer .finale{padding:0}.finale{text-align:center}.festival-stars{font-size:29px;color:#b57c27;letter-spacing:8px;margin-bottom:20px;animation:festival-glow 3s ease-in-out infinite}.finale h2{font-size:30px}.finale p{line-height:1.6}.final-stats{display:flex;justify-content:center;gap:28px;margin:24px 0}.final-stats b{font-size:25px;color:#2c7163}.final-stats small{display:block;font-size:10px;font-weight:normal;color:#667765;margin-top:7px}.refit-progress{text-align:center;padding:24px 10px;background:#e5e8d2;border-radius:14px}.refit-progress .tool-swing{font-size:45px}
.island-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px}.island-map{position:relative;min-height:480px;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at 70% 70%,#3a918a,#236478 60%,#153e50);border:2px solid #718f80;box-shadow:inset 0 0 100px #031b3b55}.island-map::before{content:'';position:absolute;inset:0;opacity:.2;background:repeating-radial-gradient(ellipse at 20% 50%,transparent 0 24px,#a2e3d2 26px 27px,transparent 30px 53px);animation:map-water 18s linear infinite}.island-map>svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(3px 7px 0 #082d4566)}.map-route{fill:none;stroke:#bed9c1;stroke-width:3;stroke-dasharray:8 10;opacity:.6}.island-land{fill:#97b980;stroke:#e4d5a6;stroke-width:10;stroke-linejoin:round}.map-compass{position:absolute;left:6%;top:6%;color:#f1dfb3;text-align:center;font-family:Georgia,serif;font-size:28px;line-height:1.2}.island-stop{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:8px;align-items:center;background:none;border:0;cursor:pointer;color:#233d3e}.island-stop>span{display:grid;place-items:center;width:45px;height:45px;background:#f2d496;border:2px solid #fff0bf;border-radius:50%;font-size:26px;box-shadow:0 4px 8px #092c4566}.island-stop.visited>span{background:#85c9aa}.island-stop b{padding:8px 13px;background:#fff2cc;border-radius:8px;white-space:nowrap;box-shadow:0 3px 8px #07233366;font-size:13px}.island-stop:hover>span{transform:scale(1.1)}.map-legend{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:11px;color:#e9f2df}.expedition-panel{background:#f4e9d0;color:#28484d;border-radius:16px;padding:26px 22px}.expedition-panel h2{font-size:28px;margin:10px 0}.expedition-panel p{font-size:14px;line-height:1.6}.expedition-panel .eyebrow{color:#698273}.expedition-reward{background:#e0e6cd;padding:14px;border-left:3px solid #3b8771;border-radius:8px;margin:18px 0}.expedition-reward p{margin-bottom:0}.route-locked{padding:10px;background:#e8d6b1;border-radius:8px}.map-sailing{height:120px;padding:15px;background:#b6d7cc;border-radius:14px;margin:20px 0;overflow:hidden}.map-sailing svg{width:100%;height:100%;animation:vessel-float 3s ease-in-out infinite}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.journal-grid .panel{background:#f4ecd8;color:#28474b;padding:28px;border:1px solid #a5b69b}.journal-grid .eyebrow{color:#5d8170}.journal-grid h2{font-size:26px}.journal-grid p{line-height:1.6;font-size:14px}.journal-grid .smallprint{color:#677b71;font-size:11px}.journal-grid .btn.subtle{background:#e2dcc7;color:#284b50;border-color:#aeb9a0}.journal-achievements{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.journal-achievements span{background:#dbe5cf;color:#396153;padding:13px 8px;text-align:center;border-radius:10px;font-size:12px}.quest-history{padding-left:25px;color:#7f8779;font-size:13px;line-height:2}.quest-history .completed{color:#287962}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.journal-grid details{padding:15px 0;border-top:1px solid #d2ccb5;margin-top:10px}.journal-grid summary{cursor:pointer;font-weight:bold;min-height:26px}.journal-grid .event-log{color:#50625b;font-size:12px;line-height:1.6;padding-left:20px}.shop-journal-link{display:inline-block;color:#176555;font-weight:bold;margin:16px 0}.sailing-header{display:flex;align-items:center;justify-content:space-between;padding:0 5px 12px;gap:10px}.sailing-header>span{font-size:13px;color:#d9e5d5}.sailing-header .btn{background:#285059;color:#f1ecd9;border-color:#6c8c85}.sailing-sea{position:relative;height:430px;max-width:780px;margin:auto;overflow:hidden;border-radius:20px;background:repeating-linear-gradient(174deg,transparent 0 46px,#98e9d722 47px 51px,transparent 53px 100px),linear-gradient(#225f70,#338c93);box-shadow:inset 0 0 70px #063a56;border:2px solid #66968c}.sail-coast{position:absolute;top:-15%;bottom:-15%;width:5%;background:#7d9970;border:7px solid #c7c39a;z-index:1;transform:rotate(7deg);box-shadow:0 0 0 10px #93d6b638}.coast-left{left:-3%;border-radius:0 50% 45% 0}.coast-right{right:-3%;border-radius:50% 0 0 45%}.sail-lanes{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr)}.sail-lanes i+i{border-left:1px dashed #b9e7d83b}.sail-object{position:absolute;top:8%;transform:translate(-50%,-50%);font-size:45px;animation:sailing-drift 1.5s linear both;text-shadow:0 4px 0 #07344466;pointer-events:none}.sail-object.buoy{color:#ffd375;filter:drop-shadow(0 0 8px #ffeb9c66)}.sail-object.rock{color:#b1b0a0;text-shadow:4px 4px 0 #536870;font-size:56px}.steered-boat{position:absolute;top:68%;width:125px;height:70px;transform:translate(-50%,-50%) rotate(-90deg);transition:left .15s ease;filter:drop-shadow(-8px 4px 5px #062d4299);z-index:2}.steered-boat svg{width:100%;height:100%}.sail-instruction{position:absolute;left:0;right:0;bottom:12px;color:#d9e8d9;text-align:center;font-size:12px}.sailing-result{position:absolute;inset:8% 10%;padding:25px;text-align:center;background:#f3e7cbed;border:2px solid #e3c184;border-radius:18px;color:#2c5053;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center}.sailing-result>span{font-size:40px;color:#3e786c}.sailing-result h2{font-size:30px;margin:8px 0}.sailing-result p{font-size:13px;line-height:1.5}.steer-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:780px;margin:14px auto}.steer-buttons button{cursor:pointer;min-height:54px;font-size:16px;font-weight:bold;color:#ecf0d9;background:#28545b;border:1px solid #6c9486;border-radius:12px}.steer-buttons button.chosen{color:#25484a;background:#e8c181;border-color:#ffe4b1;box-shadow:0 3px 0 #886936}.steer-buttons button:disabled{opacity:.5}.sailing-help{font-size:11px;line-height:1.6;color:#b8c9bd;text-align:center;max-width:700px;margin:15px auto}.sailing-card .btn.gold{background:#e8bf76;color:#304b47}
@keyframes sailing-drift{from{top:8%}to{top:68%}}@keyframes festival-glow{50%{opacity:.55;transform:scale(1.04)}}@keyframes map-water{to{transform:translateY(24px)}}
@media(min-width:1000px){.world-scene{max-height:600px}.world-layout.with-drawer .world-scene{min-height:490px}.world-active .app-container{max-width:1260px}}
@media(max-width:850px){.island-layout{grid-template-columns:1fr}.island-map{min-height:430px}.expedition-panel{min-height:200px}.journal-grid{grid-template-columns:1fr}.journal-grid .panel{margin:0}.world-layout.with-drawer .world-drawer{scroll-margin-top:10px}}
@media(max-width:600px){.welcome-panel{padding:16px 14px;margin:0 9px 10px;gap:10px;align-items:flex-start}.welcome-panel h2{font-size:21px}.welcome-panel p{font-size:12px;line-height:1.45;margin:9px 0}.welcome-panel .npc-avatar{width:35px;height:35px;font-size:21px}.welcome-panel .eyebrow{font-size:8px}.welcome-panel .btn{min-height:44px;font-size:12px;padding:10px 14px}.quest-tracker{padding:10px;margin:0 8px 10px;gap:9px;border-radius:12px}.quest-tracker strong{font-size:11px;line-height:1.4;display:block}.quest-tracker small{font-size:7px;letter-spacing:.08em}.quest-tracker .npc-avatar{width:31px;height:31px;font-size:17px}.quest-tracker .btn{font-size:10px;padding:9px;min-height:44px;max-width:94px;white-space:normal}.island-layout{gap:10px;padding:0 8px}.island-map{min-height:330px;border-radius:12px}.island-stop b{font-size:10px;padding:7px 10px}.island-stop>span{width:34px;height:34px;font-size:21px}.map-compass{font-size:21px}.map-legend{font-size:9px}.expedition-panel{padding:22px 18px}.expedition-panel h2{font-size:24px}.expedition-panel p{font-size:13px}.expedition-panel .btn{min-height:44px}.world-taskbar.four-actions{grid-template-columns:repeat(4,1fr)}.world-taskbar.four-actions small{font-size:7px}.world-taskbar.four-actions b{font-size:10px}.journal-grid{padding:0 9px;gap:12px}.journal-grid .panel{padding:22px 18px}.journal-grid h2{font-size:24px}.journal-achievements{gap:6px}.journal-achievements span{font-size:10px;padding:12px 5px}.settings-actions .btn{font-size:11px;min-height:44px}.sailing-header{padding:0 10px 10px}.sailing-header .btn{font-size:11px;padding:10px;min-height:44px}.sailing-header>span{font-size:10px}.sailing-sea{height:350px;margin:0 8px;border-radius:14px}.steer-buttons{gap:7px;margin:12px 8px}.steer-buttons button{font-size:12px}.sailing-help{padding:0 14px;font-size:10px}.steered-boat{width:94px;height:52px}.sail-object{font-size:34px}.sail-object.rock{font-size:44px}.sailing-result{inset:8%;padding:16px}.sailing-result h2{font-size:25px}.sailing-result p{font-size:11px}.sailing-result .btn{font-size:11px;min-height:44px}.sail-instruction{font-size:10px}.final-stats{gap:20px}.festival-stars{letter-spacing:4px}}
@media(prefers-reduced-motion:reduce){.sail-object{top:40%;animation:none}.steered-boat{transition:none}}

.cargo-crates{position:absolute;left:66%;top:60%;color:#e1a34e;font-size:clamp(9px,2.5vw,32px);text-shadow:2px 3px 0 #724327;transform:rotate(-13deg)}.engine-badge{position:absolute;left:85%;top:58%;width:9%;border-radius:5px;background:#acb4a5;color:#294447;text-align:center;font-size:clamp(8px,1.8vw,22px);transform:rotate(-12deg)}.hull-stripe{position:absolute;left:40%;top:66%;width:41%;height:4%;background:#dfb666;border-radius:50%;transform:rotate(-13deg);box-shadow:0 2px 0 #7b583b}

.steered-boat{width:93px;height:142px;transform:translate(-50%,-50%);filter:drop-shadow(3px 7px 4px #06344499)}.steered-boat>img{height:100%;width:100%;object-fit:contain}.steered-boat::after{content:"";position:absolute;top:97%;left:27%;width:46%;height:55px;background:linear-gradient(#ddfff099,transparent);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);z-index:-1}.sailing-solar{position:absolute;left:36%;top:37%;width:29%;height:19%;background:repeating-linear-gradient(90deg,#124975 0 28%,#b3c9cf 29% 32%);border:1px solid #d4ded0;border-radius:2px}.sail-object.buoy{font-size:0;width:25px;height:37px;background:linear-gradient(#e6a848 0 30%,#fff2be 30% 55%,#d68b30 55%);border-radius:50% 50% 35% 35%;border:2px solid #ffd985;box-shadow:3px 5px 0 #103d5344}.sail-object.rock{font-size:0;width:45px;height:40px;background:linear-gradient(145deg,#c7c4ad,#697e7c);clip-path:polygon(17% 18%,53% 0,88% 16%,100% 60%,71% 96%,30% 100%,0 60%)}
@media(max-width:600px){.steered-boat{width:72px;height:110px}.sail-object.buoy{width:20px;height:30px}.sail-object.rock{width:37px;height:32px}}
/* Keep body copy legible on the light activity panels. */
.expedition-panel p,.sailing-result p,.journal-grid p{color:#4b635b}
.expedition-panel .smallprint,.journal-grid .smallprint{color:#63766a}
.expedition-reward p{color:#365b4d}
