.ccp-scene{display:grid;gap:1rem;padding:1rem;border:1px solid rgba(226,193,111,.34);border-radius:20px;background:linear-gradient(145deg,rgba(14,31,43,.98),rgba(8,20,30,.98));box-shadow:0 24px 60px rgba(0,0,0,.25)}
.ccp-scene-header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.ccp-scene-header h3{margin:.15rem 0;color:#fff0c4;font-size:clamp(1.45rem,3vw,2.2rem)}.ccp-scene-header p{margin:0;color:#c7d1d4}.ccp-scene-progress{display:flex;align-items:baseline;gap:.3rem;padding:.65rem .9rem;border-radius:999px;background:rgba(255,255,255,.07);color:#e8d8ae;white-space:nowrap}.ccp-scene-progress strong{font-size:1.35rem;color:#f1ca65}
.ccp-scene-tools{display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.ccp-scene-tools small{color:#9fb0b9}.ccp-scene-overlay-toggle{border:1px solid rgba(226,193,111,.65);border-radius:999px;background:#071b2a;color:#f8dc8a;padding:.55rem .9rem;font-weight:800;cursor:pointer;position:relative;z-index:8}.ccp-scene-overlay-toggle:hover,.ccp-scene-overlay-toggle:focus-visible{background:#0e3045;outline:2px solid #e7bb55;outline-offset:2px}
.ccp-scene-stage{position:relative;aspect-ratio:1500/800;min-height:0;overflow:hidden;border:1px solid rgba(223,190,109,.48);border-radius:18px;background:#24170f;isolation:isolate;box-shadow:inset 0 0 55px rgba(0,0,0,.42)}
.ccp-cabin-illustration,.ccp-scene-object-layer{position:absolute;inset:0;width:100%;height:100%;display:block}
.ccp-cabin-illustration{z-index:1}.ccp-scene-object-layer{z-index:4;overflow:visible;pointer-events:auto;touch-action:manipulation}
.ccp-art-wave{animation:ccpSceneWave 7s ease-in-out infinite}.ccp-art-lantern-flame{animation:ccpSceneFlame 2.7s ease-in-out infinite}@keyframes ccpSceneWave{50%{transform:translateX(8px)}}@keyframes ccpSceneFlame{50%{filter:brightness(1.22)}}
.ccp-scene-object{cursor:pointer;outline:none;pointer-events:all}.ccp-scene-object-shape{fill:#fff;fill-opacity:.001;stroke:#fff;stroke-opacity:.001;stroke-width:3;pointer-events:all;transition:fill-opacity .16s ease,stroke-opacity .16s ease,filter .16s ease,transform .16s ease;transform-box:fill-box;transform-origin:center}
.ccp-scene-object:hover .ccp-scene-object-shape,.ccp-scene-object:focus-visible .ccp-scene-object-shape{fill:#f4c85b;fill-opacity:.08;stroke:#f4c85b;stroke-opacity:.42;filter:drop-shadow(0 0 9px rgba(244,200,91,.35));transform:scale(1.008)}
.ccp-scene-object.is-found:hover .ccp-scene-object-shape{fill:#7fc087;fill-opacity:.06;stroke:#7fc087;stroke-opacity:.4}.ccp-scene-object.ccp-object-secret:hover .ccp-scene-object-shape,.ccp-scene-object.ccp-object-secret:focus-visible .ccp-scene-object-shape{fill-opacity:.001;stroke-opacity:.001;filter:none;transform:none}
.ccp-scene.show-hotspots .ccp-scene-object-shape{fill:#123e55;fill-opacity:.32;stroke:#f1c65b;stroke-opacity:1;stroke-width:4;stroke-dasharray:11 7;filter:drop-shadow(0 0 6px rgba(0,0,0,.6))}.ccp-scene.show-hotspots .ccp-object-secret .ccp-scene-object-shape{fill:#6b2f73;fill-opacity:.35;stroke:#ed9df2}.ccp-scene.show-hotspots .ccp-object-lore .ccp-scene-object-shape{stroke:#71c8ee}.ccp-scene.show-hotspots .ccp-object-flavor .ccp-scene-object-shape{stroke:#83d18a}.ccp-scene-object:focus-visible .ccp-scene-object-shape{stroke-opacity:1;stroke-width:5}
.ccp-scene-dialogue{position:absolute;z-index:10;right:3.5%;bottom:4%;width:min(530px,90%);padding:1.2rem 1.3rem;border:1px solid #c6953d;border-radius:16px;background:linear-gradient(145deg,#f6edcf,#ead7aa);color:#35220e;box-shadow:0 22px 55px rgba(0,0,0,.5);opacity:0;transform:translateY(18px);transition:opacity .2s ease,transform .2s ease}.ccp-scene-dialogue.is-open{opacity:1;transform:none}.ccp-scene-dialogue h4{margin:.2rem 0 .55rem;font-size:1.5rem}.ccp-scene-dialogue p{margin:0;line-height:1.58}.ccp-scene-dialogue blockquote{margin:.85rem 0 0;padding:.7rem .85rem;border-left:4px solid #b47c25;background:rgba(255,255,255,.42);font-style:italic}.ccp-scene-close{position:absolute;right:.65rem;top:.5rem;border:0;background:transparent;font-size:1.5rem;cursor:pointer;color:#5d3f1c}
.ccp-scene-hint{text-align:center;color:#c8d1d4;margin:0}.ccp-scene-continue{display:grid;justify-items:center;gap:.4rem}.ccp-scene-continue small{color:#cbd2d4}.ccp-scene-continue.is-locked .ccp-dialogue-action{opacity:.46;cursor:not-allowed}.ccp-scene-continue.is-ready .ccp-dialogue-action{box-shadow:0 0 22px rgba(218,172,61,.28)}.ccp-scene-continue.is-nudged{animation:ccpNudge .45s}@keyframes ccpNudge{25%,75%{transform:translateX(-6px)}50%{transform:translateX(6px)}}
@media(max-width:760px){.ccp-scene-header{align-items:flex-start;flex-direction:column}.ccp-scene-tools{justify-content:flex-start}.ccp-scene-dialogue{right:3%;bottom:3%;width:94%;padding:1rem}.ccp-scene-progress{font-size:.85rem}.ccp-scene-stage{aspect-ratio:1500/880}}
@media(prefers-reduced-motion:reduce){.ccp-art-wave,.ccp-art-lantern-flame{animation:none}.ccp-scene-dialogue,.ccp-scene-object-shape{transition:none}}

/* v8.9.17 readability and inspection focus */
.ccp-scene-stage::after{content:"";position:absolute;inset:0;z-index:8;background:rgba(2,12,20,.58);opacity:0;pointer-events:none;transition:opacity .2s ease}.ccp-scene.is-inspecting .ccp-scene-stage::after{opacity:1}
.ccp-scene-object.is-active{position:relative;z-index:9}.ccp-scene-object.is-active .ccp-scene-object-shape{fill:#f1c65b;fill-opacity:.12;stroke:#f1c65b;stroke-opacity:.8;filter:drop-shadow(0 0 14px rgba(241,198,91,.8))}
.ccp-scene-dialogue{z-index:12;width:min(570px,92%);padding:1.5rem 1.6rem 1.35rem;border:2px solid #d3a34a;border-radius:18px;background:linear-gradient(145deg,#fff8df,#ead29d);color:#2d1c0c;box-shadow:0 26px 70px rgba(0,0,0,.62)}
.ccp-scene-dialogue h4{margin:.2rem 2.5rem .65rem 0;color:#33200d;font-size:clamp(1.55rem,3vw,2rem);line-height:1.1}.ccp-scene-dialogue p{color:#3b2a18;font-size:1.04rem;line-height:1.65}.ccp-scene-object-kicker{display:block;margin-bottom:.35rem;color:#95671d;font-size:.74rem;font-weight:900;letter-spacing:.16em}.ccp-scene-dialogue blockquote{display:grid;gap:.25rem;margin:1rem 0 0;padding:.9rem 1rem;border-left:5px solid #bd852f;border-radius:0 10px 10px 0;background:rgba(255,255,255,.58);color:#3b2712;font-style:normal}.ccp-scene-dialogue blockquote strong{color:#6f4314;font-size:.82rem;letter-spacing:.04em}.ccp-scene-dialogue blockquote span{font-family:Georgia,serif;font-size:1.02rem;font-style:italic;line-height:1.55}.ccp-scene-close{right:.7rem;top:.65rem;width:42px;height:42px;border-radius:10px;background:#09263a;color:#fff;display:grid;place-items:center;font-weight:900}.ccp-scene-close:hover,.ccp-scene-close:focus-visible{background:#17435b;outline:2px solid #e7bb55;outline-offset:2px}

/* v8.9.18 Gold Standard Cabin */
.ccp-roost-grid-early{grid-template-columns:minmax(0,1fr)!important;max-width:720px;margin-inline:auto}
.ccp-scene-starter-cabin .ccp-scene-dialogue{background:linear-gradient(145deg,#fff9e8,#ead29e);border-color:#c9953d}
.ccp-scene-starter-cabin .ccp-scene-dialogue::before{content:"";position:absolute;inset:8px;border:1px solid rgba(113,73,23,.22);border-radius:11px;pointer-events:none}
.ccp-scene-starter-cabin .ccp-scene-object-kicker{color:#81551d}
.ccp-scene-starter-cabin .ccp-scene-dialogue h4{color:#2d1b0b}
.ccp-scene-starter-cabin .ccp-scene-dialogue p{color:#362716}
.ccp-art-ocean{transform-origin:center;animation:ccpOceanDrift 7s ease-in-out infinite alternate}
@keyframes ccpOceanDrift{from{transform:translateX(-4px)}to{transform:translateX(5px)}}
.ccp-scene-object[data-hotspot="loose_floorboard"] .ccp-scene-object-shape{fill-opacity:.001!important;stroke-opacity:.001!important;filter:none!important;transform:none!important}
.ccp-scene.show-hotspots .ccp-scene-object[data-hotspot="loose_floorboard"] .ccp-scene-object-shape{fill:#6b2f73!important;fill-opacity:.35!important;stroke:#ed9df2!important;stroke-opacity:1!important}
@media(prefers-reduced-motion:reduce){.ccp-art-ocean{animation:none}}

/* v8.9.19 Illustrated Cabin Scene */
.ccp-cabin-illustration{object-fit:cover;object-position:center;background:#21140d}
.ccp-cabin-environment-layer{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.ccp-cabin-secret-detail{pointer-events:none}
.ccp-scene-starter-cabin .ccp-scene-object:hover .ccp-scene-object-shape,.ccp-scene-starter-cabin .ccp-scene-object:focus-visible .ccp-scene-object-shape{fill-opacity:.045;stroke-opacity:.28;filter:drop-shadow(0 0 7px rgba(244,200,91,.28));transform:scale(1.003)}
.ccp-scene-starter-cabin .ccp-scene-object.is-active .ccp-scene-object-shape{fill-opacity:.08;stroke-opacity:.55}
.ccp-scene-starter-cabin .ccp-scene-object[data-hotspot="loose_floorboard"] .ccp-scene-object-shape{fill-opacity:.001!important;stroke-opacity:.001!important;filter:none!important;transform:none!important}

/* v8.9.20 — Multi-scene artwork and independent environmental states */
.ccp-scene-illustration,.ccp-scene-environment-layer{position:absolute;inset:0;width:100%;height:100%;display:block}
.ccp-scene-illustration{z-index:1;object-fit:cover;object-position:center;background:#170f0a}
.ccp-scene-environment-layer{z-index:2;pointer-events:none;mix-blend-mode:screen}
.ccp-environment-tint,.ccp-weather-layer{opacity:0;transition:opacity .6s ease}
.ccp-time-dawn .ccp-environment-tint{opacity:.18;fill:#ff9b55}
.ccp-time-morning .ccp-environment-tint{opacity:.08;fill:#ffd58a}
.ccp-time-evening .ccp-environment-tint{opacity:.13;fill:#e77644}
.ccp-time-night .ccp-environment-tint{opacity:.24;fill:#244875}
.ccp-weather-rain .ccp-weather-rain,.ccp-weather-storm .ccp-weather-rain{opacity:.52;stroke:#bfe8ff;stroke-width:5;animation:ccpRain 1.15s linear infinite}
.ccp-weather-fog .ccp-weather-fog{opacity:.26;fill:#dbe9e9;animation:ccpFog 9s ease-in-out infinite alternate}
.ccp-weather-snow .ccp-weather-snow{opacity:.8;fill:#fff;animation:ccpSnow 6s linear infinite}
.ccp-weather-storm .ccp-weather-lightning{fill:#eaf7ff;animation:ccpLightning 8s steps(1,end) infinite}
.ccp-weather-cloudy .ccp-environment-tint{opacity:.16;fill:#74808a}
.ccp-weather-windy .ccp-scene-illustration{animation:ccpWindScene 7s ease-in-out infinite alternate}
@keyframes ccpRain{to{transform:translate(65px,140px)}}
@keyframes ccpFog{from{transform:translateX(-2%)}to{transform:translateX(2%)}}
@keyframes ccpSnow{to{transform:translateY(65%)}}
@keyframes ccpLightning{0%,91%,94%,100%{opacity:0}92%,93%{opacity:.5}}
@keyframes ccpWindScene{from{transform:scale(1.002) translateX(-1px)}to{transform:scale(1.006) translateX(2px)}}
.ccp-scene-environment-layer .ccp-environment-tint{width:100%;height:100%}
.ccp-environment-controls{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.ccp-environment-controls label{display:grid;gap:.3rem}.ccp-environment-controls select{min-width:170px}
@media(prefers-reduced-motion:reduce){.ccp-weather-layer,.ccp-scene-illustration{animation:none!important}}

/* v8.9.21 — Telescope mystery and discovery-locked illustrated map */
.ccp-scene-action{margin-top:1rem;border:1px solid #d7a945;border-radius:10px;background:#0b2a40;color:#fff;padding:.72rem 1rem;font-weight:800;cursor:pointer}.ccp-scene-action:hover,.ccp-scene-action:focus-visible{background:#154b68;outline:2px solid #e7bb55;outline-offset:2px}
.ccp-telescope-view{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:2vw;background:rgba(0,8,14,.88);opacity:0;transition:opacity .22s ease}.ccp-telescope-view.is-open{opacity:1}.ccp-telescope-frame{position:relative;width:min(1180px,96vw);border:2px solid #b98130;border-radius:24px;background:#07131c;padding:14px;box-shadow:0 30px 90px rgba(0,0,0,.82)}.ccp-telescope-images{position:relative;overflow:hidden;border-radius:50%;aspect-ratio:3/2;background:#02080d;box-shadow:inset 0 0 0 18px #24150d,inset 0 0 0 24px #8e632e}.ccp-telescope-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ccp-telescope-ghost-layer{opacity:0;transition:opacity 1.8s ease;pointer-events:none}.ccp-telescope-ghost-layer.is-visible{opacity:1}.ccp-telescope-ghost-layer.is-fading{opacity:0;transition-duration:1.2s}.ccp-ghost-ship-target{position:absolute;left:61%;top:29%;width:12%;height:17%;border:0;background:transparent;cursor:crosshair;z-index:4;border-radius:50%}.ccp-ghost-ship-target:focus-visible{outline:2px dashed rgba(235,238,218,.8);outline-offset:4px}.ccp-telescope-close{position:absolute;z-index:8;right:24px;top:24px;width:46px;height:46px;border:1px solid #d7a945;border-radius:50%;background:#061f31;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}.ccp-telescope-status{margin:.9rem .5rem .2rem;color:#e9e2cf;text-align:center;font-family:Georgia,serif;font-size:1.05rem;line-height:1.5}.ccp-telescope-view.is-witnessed .ccp-telescope-images{filter:saturate(.94)}
.ccp-illustrated-map{display:grid;gap:1rem}.ccp-illustrated-map header{display:grid;gap:.35rem}.ccp-illustrated-map h3{margin:0;font-size:clamp(1.7rem,4vw,2.5rem)}.ccp-illustrated-map header p{margin:0;color:#c7d0d5}.ccp-map-stage{position:relative;aspect-ratio:3/2;border:1px solid rgba(218,172,61,.5);border-radius:20px;overflow:hidden;background:#2a1b0f;box-shadow:0 20px 45px rgba(0,0,0,.3)}.ccp-map-stage>img,.ccp-map-object-layer{position:absolute;inset:0;width:100%;height:100%;display:block}.ccp-map-stage>img{object-fit:cover}.ccp-map-object-layer{z-index:2}.ccp-map-location{cursor:pointer;outline:none}.ccp-map-location polygon{fill:#f4c85b;fill-opacity:.001;stroke:#f4c85b;stroke-opacity:.001;stroke-width:4;transition:fill-opacity .18s ease,stroke-opacity .18s ease,filter .18s ease}.ccp-map-location.is-enabled:hover polygon,.ccp-map-location.is-enabled:focus-visible polygon{fill-opacity:.12;stroke-opacity:.75;filter:drop-shadow(0 0 10px rgba(244,200,91,.7))}.ccp-map-location.is-locked{cursor:not-allowed}.ccp-map-location.is-locked polygon{fill:#e8dfc2;fill-opacity:.24;stroke:#7f6845;stroke-opacity:.55;stroke-dasharray:12 8}.ccp-map-location.is-discovered:not(.is-enabled) polygon{fill:#c59a43;fill-opacity:.08;stroke:#d8b45f;stroke-opacity:.55}.ccp-map-lock-message{position:absolute;left:50%;bottom:5%;z-index:5;transform:translate(-50%,14px);padding:.75rem 1rem;border:1px solid #d7a945;border-radius:12px;background:rgba(5,24,37,.95);color:#fff;opacity:0;transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.ccp-map-lock-message.is-visible{opacity:1;transform:translate(-50%,0)}.ccp-map-note{text-align:center;color:#c7d0d5;margin:0}
@media(max-width:700px){.ccp-telescope-frame{width:98vw;padding:8px}.ccp-telescope-close{right:12px;top:12px}.ccp-map-lock-message{white-space:normal;width:min(90%,360px);text-align:center}}
@media(prefers-reduced-motion:reduce){.ccp-telescope-view,.ccp-telescope-ghost-layer,.ccp-map-location polygon,.ccp-map-lock-message{transition:none}}

/* v8.9.22 — Living World Foundation */
.ccp-cabin-stage-note{display:inline-flex;gap:6px;align-items:center;margin:0 0 12px;padding:8px 12px;border:1px solid rgba(181,139,67,.45);border-radius:999px;background:rgba(255,248,225,.9);color:#4a321a;font-size:13px}
.ccp-map-locked-intro{padding:28px;border:1px solid #c6a15b;border-radius:20px;background:linear-gradient(145deg,#fff8df,#f4dfad);box-shadow:0 16px 38px rgba(40,27,10,.14);color:#342514}
.ccp-map-locked-intro h3{margin:.35rem 0 .6rem;color:#3b2712;font-size:clamp(24px,4vw,38px)}
.ccp-map-locked-intro p{max-width:760px;font-size:16px;line-height:1.65;color:#513b22}
.ccp-scene[data-scene-stage="arrival"] .ccp-object-lore[data-hotspot="journal"]{opacity:.72}

/* v8.9.22.2 — Arrival composition and character-led guidance */
.ccp-scene-stage-conceal{pointer-events:none}
.ccp-scene-stage-conceal path{filter:drop-shadow(0 3px 2px rgba(31,15,7,.28))}
.ccp-scene-starter-cabin.ccp-scene-stage-arrival .ccp-scene-object[data-hotspot="journal"]{display:none}
.ccp-cabin .ccp-cabin-stage-note{display:none}
