/* Captain's Crew v8.9.5 — Living Dialogue Engine */
.ccp-dialogue{--ccp-dialogue-accent:#d9ad59;position:relative;display:grid;grid-template-columns:minmax(190px,31%) minmax(0,1fr);align-items:end;min-height:300px;margin:0 0 26px;overflow:hidden;border:1px solid rgba(217,173,89,.42);border-radius:24px;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.09),transparent 32%),linear-gradient(145deg,#102a43,#0a1d31 72%);box-shadow:0 20px 48px rgba(0,0,0,.3);isolation:isolate}
.ccp-dialogue--right{grid-template-columns:minmax(0,1fr) minmax(190px,31%)}
.ccp-dialogue--right .ccp-dialogue-stage{grid-column:2;order:2}.ccp-dialogue--right .ccp-dialogue-panel{grid-column:1;order:1}
.ccp-dialogue-stage{position:relative;display:grid;place-items:end center;align-self:stretch;min-height:300px;padding:18px 10px 0;background:radial-gradient(circle at 50% 70%,rgba(217,173,89,.22),transparent 52%)}
.ccp-dialogue-portrait{display:grid;place-items:end center;width:100%;height:100%;transform:translate3d(-115%,18px,0) rotate(-2deg);opacity:0;filter:drop-shadow(0 16px 16px rgba(0,0,0,.35));will-change:transform,opacity}
.ccp-dialogue--right .ccp-dialogue-portrait{transform:translate3d(115%,18px,0) rotate(2deg)}
.ccp-dialogue-art{display:block;width:min(100%,290px);height:290px;object-fit:contain;object-position:center bottom}
.ccp-dialogue-fallback{align-self:center;font-size:clamp(6rem,14vw,10rem);line-height:1}
.ccp-dialogue-panel{position:relative;margin:26px 28px 26px 0;padding:25px 26px 22px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(145deg,rgba(255,250,235,.985),rgba(241,223,183,.97));color:#2d2417;box-shadow:0 13px 30px rgba(0,0,0,.26);transform:translateY(24px);opacity:0;will-change:transform,opacity}
.ccp-dialogue--right .ccp-dialogue-panel{margin:26px 0 26px 28px}
.ccp-dialogue-panel:before{content:"";position:absolute;left:-17px;bottom:46px;border:9px solid transparent;border-right-color:#ead5a7}.ccp-dialogue--right .ccp-dialogue-panel:before{left:auto;right:-17px;border-right-color:transparent;border-left-color:#ead5a7}
.ccp-dialogue-eyebrow{display:block;margin-bottom:7px;color:#76501b;font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ccp-dialogue-nameplate{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding-bottom:11px;border-bottom:1px solid rgba(96,68,30,.24)}
.ccp-dialogue-nameplate strong{font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,2rem);color:#352515}.ccp-dialogue-nameplate small{color:#735d3d;font-weight:700}
.ccp-dialogue-text{min-height:3.3em;margin:17px 0 0!important;color:#382d20!important;font-family:Georgia,serif;font-size:clamp(1.05rem,2vw,1.23rem);line-height:1.7}
.ccp-dialogue-controls{display:flex;justify-content:flex-end;margin-top:17px}.ccp-dialogue-button{display:inline-flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid #73501d;border-radius:10px;background:#352719;color:#fff!important;text-decoration:none!important;font:inherit;font-weight:850;cursor:pointer;box-shadow:0 5px 13px rgba(41,27,11,.18);transition:transform .16s ease,background .16s ease}.ccp-dialogue-button:hover,.ccp-dialogue-button:focus{transform:translateY(-2px);background:#513919}
.ccp-dialogue.is-entered .ccp-dialogue-portrait{transform:translate3d(0,0,0) rotate(0);opacity:1;transition:transform .52s cubic-bezier(.18,.8,.25,1.08),opacity .3s ease}.ccp-dialogue.is-entered .ccp-dialogue-panel{transform:none;opacity:1;transition:transform .38s ease .14s,opacity .34s ease .14s}
.ccp-dialogue--swoop.is-entered .ccp-dialogue-portrait{animation:ccp-seamus-settle .62s .48s ease both}.ccp-dialogue--anchor.is-entered .ccp-dialogue-portrait{transition-duration:.62s}.ccp-dialogue--thoughtful.is-entered .ccp-dialogue-portrait{transition-duration:.7s}.ccp-dialogue--mood-giddy.is-entered .ccp-dialogue-portrait{animation:ccp-giddy-pop .72s .45s ease both}
.ccp-dialogue.is-leaving .ccp-dialogue-portrait{transform:translate3d(-115%,18px,0);opacity:0;transition:transform .38s ease,opacity .24s ease}.ccp-dialogue--right.is-leaving .ccp-dialogue-portrait{transform:translate3d(115%,18px,0)}.ccp-dialogue.is-leaving .ccp-dialogue-panel{transform:translateY(18px);opacity:0;transition:transform .3s ease,opacity .24s ease}
.ccp-dialogue--catalina{--ccp-dialogue-accent:#d9a8b8}.ccp-dialogue--briggs{--ccp-dialogue-accent:#c69253}.ccp-dialogue--gideon{--ccp-dialogue-accent:#94c879}
@keyframes ccp-seamus-settle{0%{transform:translateY(-9px) rotate(-3deg)}55%{transform:translateY(3px) rotate(2deg)}100%{transform:none}}
@keyframes ccp-giddy-pop{0%,100%{transform:none}30%{transform:translateY(-12px) rotate(-2deg) scale(1.025)}52%{transform:translateY(0) rotate(2deg)}72%{transform:translateY(-5px) rotate(-1deg)}}
@media(max-width:760px){.ccp-dialogue,.ccp-dialogue--right{grid-template-columns:1fr;align-items:stretch}.ccp-dialogue--right .ccp-dialogue-stage,.ccp-dialogue--right .ccp-dialogue-panel{grid-column:auto;order:initial}.ccp-dialogue-stage{min-height:210px;padding-top:10px}.ccp-dialogue-art{height:220px}.ccp-dialogue-panel,.ccp-dialogue--right .ccp-dialogue-panel{margin:0 14px 16px;padding:20px}.ccp-dialogue-panel:before,.ccp-dialogue--right .ccp-dialogue-panel:before{left:50%;right:auto;top:-17px;bottom:auto;transform:translateX(-50%);border:9px solid transparent;border-bottom-color:#ead5a7}.ccp-dialogue-portrait,.ccp-dialogue--right .ccp-dialogue-portrait{transform:translate3d(0,75px,0)}}
@media(prefers-reduced-motion:reduce){.ccp-dialogue-portrait,.ccp-dialogue-panel,.ccp-dialogue.is-entered .ccp-dialogue-portrait,.ccp-dialogue.is-entered .ccp-dialogue-panel,.ccp-dialogue.is-leaving .ccp-dialogue-portrait,.ccp-dialogue.is-leaving .ccp-dialogue-panel{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}.ccp-dialogue-button{transition:none!important}}
.no-js .ccp-dialogue-portrait,.no-js .ccp-dialogue-panel{transform:none;opacity:1}

.ccp-dialogue-missing{display:grid;place-items:center;align-content:center;gap:8px;width:min(260px,84%);aspect-ratio:4/5;margin:auto;border:2px dashed rgba(244,230,189,.55);border-radius:22px;background:rgba(7,20,34,.48);color:#f4e6bd;text-align:center}.ccp-dialogue-missing>span{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;border:2px solid currentColor;font:700 34px/1 Georgia,serif}.ccp-dialogue-missing small{font-weight:700;letter-spacing:.04em}

/* v8.9.7 — Living Presentation System */
.ccp-dialogue{--ccp-character-scale:1;--ccp-character-x:0px;--ccp-character-y:0px}
.ccp-dialogue-art{transform:translate(var(--ccp-character-x),var(--ccp-character-y)) scale(var(--ccp-character-scale));transform-origin:center bottom;transition:transform .28s ease}
.ccp-dialogue--idle-float.is-entered .ccp-dialogue-art{animation:ccp-character-float 4.8s ease-in-out 1.15s infinite}
.ccp-dialogue--idle-breathe.is-entered .ccp-dialogue-art{animation:ccp-character-breathe 5.6s ease-in-out 1.15s infinite}
.ccp-dialogue--idle-steady.is-entered .ccp-dialogue-art{animation:ccp-character-steady 7s ease-in-out 1.15s infinite}
@keyframes ccp-character-float{0%,100%{transform:translate(var(--ccp-character-x),var(--ccp-character-y)) scale(var(--ccp-character-scale))}50%{transform:translate(var(--ccp-character-x),calc(var(--ccp-character-y) - 6px)) scale(var(--ccp-character-scale)) rotate(-.7deg)}}
@keyframes ccp-character-breathe{0%,100%{transform:translate(var(--ccp-character-x),var(--ccp-character-y)) scale(var(--ccp-character-scale))}50%{transform:translate(var(--ccp-character-x),calc(var(--ccp-character-y) - 2px)) scale(calc(var(--ccp-character-scale) * 1.012))}}
@keyframes ccp-character-steady{0%,100%{transform:translate(var(--ccp-character-x),var(--ccp-character-y)) scale(var(--ccp-character-scale))}50%{transform:translate(var(--ccp-character-x),calc(var(--ccp-character-y) - 1px)) scale(calc(var(--ccp-character-scale) * 1.004))}}
@media(max-width:760px){.ccp-dialogue-art{transform:translate(calc(var(--ccp-character-x) * .5),calc(var(--ccp-character-y) * .55)) scale(min(var(--ccp-character-scale),1.16))}}
@media(prefers-reduced-motion:reduce){.ccp-dialogue-art{animation:none!important}}


/* v8.9.9 — Living Location Awareness */
.ccp-dialogue--location-roost{background:radial-gradient(circle at 20% 15%,rgba(238,190,105,.13),transparent 34%),linear-gradient(145deg,#173653,#0a1c2d 72%)}
.ccp-dialogue--location-roost .ccp-dialogue-stage{background:radial-gradient(circle at 50% 74%,rgba(218,163,72,.28),transparent 54%)}
.ccp-dialogue--location-cabin{background:radial-gradient(circle at 22% 18%,rgba(255,208,118,.12),transparent 34%),linear-gradient(145deg,#20364a,#102234 72%)}
.ccp-dialogue--location-market{background:radial-gradient(circle at 22% 18%,rgba(220,154,175,.16),transparent 34%),linear-gradient(145deg,#24364a,#132337 72%)}
.ccp-dialogue--location-harbor{background:radial-gradient(circle at 22% 18%,rgba(198,146,83,.17),transparent 34%),linear-gradient(145deg,#183148,#0b1c2c 72%)}
.ccp-dialogue--location-lighthouse{background:radial-gradient(circle at 22% 18%,rgba(148,200,121,.14),transparent 34%),linear-gradient(145deg,#19364a,#0d2131 72%)}
.ccp-dialogue--mode-host .ccp-dialogue-eyebrow:after{content:" • YOU’RE VISITING";opacity:.72}
.ccp-dialogue--mode-guest .ccp-dialogue-eyebrow:after{content:" • VISITING YOUR HOME";opacity:.72}

/* v8.9.10 — First Day in Port Prosper */
.ccp-first-day-action{margin-top:18px}.ccp-first-day-action .ccp-dialogue-action{cursor:pointer}.ccp-bulletin-featured{outline:3px solid rgba(170,121,35,.28);box-shadow:0 16px 34px rgba(74,48,18,.16)}.ccp-cabin-homecoming{margin-top:22px;padding:22px;border:1px solid rgba(129,92,35,.35);border-radius:18px;background:linear-gradient(145deg,#fffaf0,#f2e1bb)}.ccp-cabin-homecoming h3{margin:.2em 0}.ccp-cabin-homecoming p{max-width:760px}
