:root{--ccp-navy:#081426;--ccp-navy2:#102843;--ccp-gold:#d7a94b;--ccp-parchment:#f7edcf;--ccp-ink:#281f15;--ccp-sea:#1b6d85;--ccp-card:#fffaf0}
html{scroll-behavior:smooth}.ccp-game-body{margin:0!important;background:#07111f!important;color:#f7f2e7;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ccp-game-body #wpadminbar{position:fixed}.admin-bar .ccp-game-topbar{top:32px}.ccp-game-shell{min-height:100vh;background:radial-gradient(circle at 80% 0,rgba(28,117,143,.2),transparent 32%),linear-gradient(180deg,#07111f,#0a192b 55%,#07111f)}
.ccp-game-topbar{position:sticky;top:0;z-index:999;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:72px;padding:0 28px;background:rgba(5,15,29,.96);border-bottom:1px solid rgba(215,169,75,.32);box-shadow:0 8px 30px rgba(0,0,0,.3);backdrop-filter:blur(12px)}.ccp-game-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.ccp-game-brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--ccp-gold);border-radius:50%;background:#102843}.ccp-game-brand strong,.ccp-game-brand small{display:block}.ccp-game-brand small{color:#d6bd83;font-size:11px;text-transform:uppercase;letter-spacing:.16em}.ccp-game-nav{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.ccp-game-nav a{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:9px;color:#e8edf4;text-decoration:none;font-size:14px}.ccp-game-nav a:hover,.ccp-game-nav a.is-active{background:#183453;color:#fff;box-shadow:inset 0 0 0 1px rgba(215,169,75,.35)}.ccp-exit-game{color:#c5d0dc;text-decoration:none;font-size:13px}.ccp-mobile-nav-toggle{display:none;background:#183453;color:#fff;border:1px solid #3e5c77;border-radius:8px;padding:9px 12px}
.ccp-game-banner{padding:54px 24px 44px;background:linear-gradient(135deg,rgba(16,40,67,.96),rgba(17,89,105,.82)),radial-gradient(circle at 75% 20%,rgba(215,169,75,.24),transparent 30%);border-bottom:1px solid rgba(215,169,75,.25)}.ccp-game-banner-inner{width:min(1180px,94vw);margin:auto}.ccp-game-kicker{font-size:12px;letter-spacing:.24em;color:#e2bc69}.ccp-game-banner h1{margin:8px 0 6px;font-family:Georgia,serif;font-size:clamp(36px,6vw,68px);line-height:1;color:#fff}.ccp-game-banner p{margin:0;max-width:720px;font-size:18px;color:#d8e2ed}.ccp-game-main{width:min(1180px,94vw);margin:0 auto;padding:34px 0 64px}.ccp-game-content{color:#f7f2e7}.ccp-game-content>h1:first-child,.ccp-game-content>.entry-title{display:none!important}.ccp-game-content h2,.ccp-game-content h3{color:#fff}.ccp-game-content a{color:#b9e7ff}.ccp-game-content .button,.ccp-game-content button,.ccp-game-content input[type=submit]{border:1px solid #d7a94b!important;border-radius:9px!important;background:#153653!important;color:#fff!important;padding:10px 16px!important;text-decoration:none!important}.ccp-game-content input,.ccp-game-content select,.ccp-game-content textarea{max-width:100%;background:#fffdf6;color:#241c12;border:1px solid #bda676;border-radius:8px;padding:9px}.ccp-game-footer{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:24px;color:#bdc9d4;border-top:1px solid rgba(215,169,75,.22);background:#050e1a}.ccp-game-footer strong{color:#e3c37f}
.ccp-player-dashboard{display:grid;gap:22px}.ccp-welcome-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px;border:1px solid rgba(215,169,75,.32);border-radius:20px;background:linear-gradient(135deg,#122b46,#173e55);box-shadow:0 16px 35px rgba(0,0,0,.22)}.ccp-welcome-panel h2{margin:6px 0 8px;font-family:Georgia,serif;font-size:34px}.ccp-welcome-panel p{margin:0;color:#d3dfe9}.ccp-eyebrow{font-size:11px;letter-spacing:.2em;color:#e0b85f}.ccp-world-chip{white-space:nowrap;padding:11px 16px;border:1px solid #d7a94b;border-radius:999px;background:rgba(0,0,0,.18)}.ccp-player-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ccp-player-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:112px;padding:18px;border-radius:16px;background:var(--ccp-parchment);color:var(--ccp-ink)!important;text-decoration:none!important;border:1px solid #bda36c;box-shadow:0 9px 22px rgba(0,0,0,.2);transition:.18s}.ccp-player-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.28)}.ccp-player-card-icon{font-size:30px}.ccp-player-card strong,.ccp-player-card small{display:block}.ccp-player-card strong{font-family:Georgia,serif;font-size:20px}.ccp-player-card small{margin-top:5px;line-height:1.45;color:#5c4b32}.ccp-card-arrow{font-size:24px}.ccp-home-ribbon{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding:16px;border:1px dashed rgba(215,169,75,.5);border-radius:12px;background:rgba(255,255,255,.045);color:#dbe4ec}
/* Responsive replacement for the original absolutely positioned map. */
.ccp-game-content .ccp-port-map{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;min-height:0!important;height:auto!important;padding:24px!important;overflow:visible!important;background:linear-gradient(180deg,#b9e0ee 0 22%,#e8d6a7 22% 100%)!important}.ccp-game-content .ccp-port-map .ccp-map-title{position:static!important;grid-column:1/-1!important;padding:18px!important;border-radius:14px!important;color:#2b2417!important}.ccp-game-content .ccp-port-map .ccp-map-marker{position:static!important;transform:none!important;width:auto!important;min-height:150px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:7px!important;padding:18px!important;text-align:center!important;color:#2b2417!important}.ccp-game-content .ccp-port-map .ccp-map-marker:hover{transform:translateY(-3px)!important}.ccp-game-content .ccp-port-map .ccp-map-marker small{display:block!important}.ccp-game-content .ccp-port-map .ccp-map-sea{display:none!important}.ccp-game-content .ccp-district-card,.ccp-game-content section[style*="background:#fffaf0"]{color:#2b2417!important}.ccp-game-content .ccp-district-card h2{color:#2b2417!important}
.ccp-game-content table{width:100%;border-collapse:collapse;background:#fffaf0;color:#2b2417}.ccp-game-content th,.ccp-game-content td{padding:10px;border:1px solid #cfbc90}.ccp-game-content blockquote{border-left:4px solid #d7a94b;margin-left:0;padding:10px 16px;background:rgba(255,255,255,.06)}
@media(max-width:1000px){.ccp-game-topbar{grid-template-columns:auto auto 1fr}.ccp-mobile-nav-toggle{display:block}.ccp-game-nav{display:none;position:absolute;left:14px;right:14px;top:68px;padding:12px;background:#08182a;border:1px solid #294964;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.5)}.ccp-game-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ccp-exit-game{justify-self:end}.ccp-player-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-bar .ccp-game-topbar{top:46px}.ccp-game-topbar{padding:0 14px;gap:10px}.ccp-game-brand span:last-child{display:none}.ccp-exit-game{font-size:0}.ccp-exit-game:after{content:'Exit';font-size:12px}.ccp-game-banner{padding:38px 18px 30px}.ccp-game-banner p{font-size:15px}.ccp-game-main{padding-top:22px}.ccp-player-card-grid{grid-template-columns:1fr}.ccp-welcome-panel{align-items:flex-start;flex-direction:column}.ccp-game-content .ccp-port-map{grid-template-columns:1fr!important;padding:14px!important}.ccp-game-nav.is-open{grid-template-columns:1fr}}


/* v8.9.1 — Bulletin Board contrast, readability, and responsive polish */
.ccp-bulletin{display:grid;gap:20px}.ccp-bulletin-heading{padding:22px 24px;border-radius:16px;background:rgba(9,27,35,.9);border:1px solid rgba(215,179,91,.28)}.ccp-bulletin-heading h2{margin:.25rem 0 .4rem;color:#fff}.ccp-bulletin-heading p{margin:0;color:#d5dfde}.ccp-bulletin-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.ccp-bulletin-card{position:relative;overflow:hidden;background:#f4e5b9;color:#243033;border:2px solid #92702e;border-radius:12px;padding:20px;box-shadow:3px 5px 0 rgba(85,59,20,.34)}.ccp-bulletin-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 42%)}.ccp-bulletin-card h3{position:relative;margin:.45rem 0 .6rem;color:#1d2a2c;font-size:1.25rem;line-height:1.25}.ccp-bulletin-card p{position:relative;color:#303b3c;line-height:1.62}.ccp-bulletin-category{position:relative;display:inline-block;padding:5px 8px;border-radius:999px;background:#28434a;color:#fff;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ccp-bulletin-reward{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;margin-top:16px;padding-top:13px;border-top:1px solid rgba(64,46,17,.28)}.ccp-bulletin-reward span{color:#5d5138}.ccp-bulletin-reward strong{color:#513a10}.ccp-bulletin-empty{grid-column:1/-1;display:grid;gap:5px;padding:24px;border-radius:13px;text-align:center;background:rgba(255,255,255,.08);border:1px dashed rgba(215,179,91,.45);color:#e6eded}@media(max-width:560px){.ccp-bulletin-heading,.ccp-bulletin-card{padding:17px}.ccp-bulletin-reward{display:grid}}

/* v8.9.2 — Seamus' Log */
.ccp-seamus-log{margin:0 0 26px;padding:24px;border:1px solid rgba(181,139,65,.55);border-radius:18px;background:linear-gradient(135deg,rgba(255,249,232,.98),rgba(244,226,185,.95));box-shadow:0 14px 34px rgba(31,23,13,.14);color:#2c2317}
.ccp-seamus-log-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:start}
.ccp-seamus-log-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#34291c;color:#fff;font-size:34px;box-shadow:inset 0 0 0 3px #d4ac61,0 7px 18px rgba(29,20,10,.2)}
.ccp-seamus-log h2{margin:3px 0 8px;color:#392816;font-size:clamp(1.45rem,3vw,2.15rem)}
.ccp-seamus-log p{margin:0;max-width:820px;color:#4c3b27;font-size:1.03rem;line-height:1.65}
.ccp-seamus-log-list{margin-top:20px;padding-top:18px;border-top:1px solid rgba(104,73,33,.25)}
.ccp-seamus-log-list>strong{display:block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:#704919}
.ccp-seamus-log-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;margin:6px 0;border-radius:10px;color:#342719;text-decoration:none;background:rgba(255,255,255,.5);transition:transform .16s ease,background .16s ease}
.ccp-seamus-log-list a:hover,.ccp-seamus-log-list a:focus{transform:translateX(3px);background:rgba(255,255,255,.9)}
.ccp-seamus-log footer{margin-top:16px;color:#6f4b20;font-style:italic;font-weight:700}
.ccp-seamus-log-guest{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center}
.ccp-seamus-primary{display:inline-flex;margin-top:14px;padding:10px 15px;border-radius:9px;background:#34291c;color:#fff!important;text-decoration:none;font-weight:800}
@media(max-width:720px){.ccp-seamus-log{padding:18px}.ccp-seamus-log-head{grid-template-columns:auto minmax(0,1fr)}.ccp-seamus-log-head .ccp-world-chip{grid-column:1/-1;justify-self:start}.ccp-seamus-log-mark{width:52px;height:52px;font-size:28px}.ccp-seamus-log-guest{grid-template-columns:1fr}.ccp-seamus-log-guest .ccp-seamus-log-mark{margin-bottom:4px}}

/* v8.9.2.1 — Living Characters */
.ccp-character-place{display:grid;gap:22px}.ccp-character-hero{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:28px;align-items:center;padding:28px;border:1px solid rgba(215,169,75,.35);border-radius:22px;background:linear-gradient(135deg,#122b46,#173e55);box-shadow:0 16px 38px rgba(0,0,0,.24)}
.ccp-character-portrait{display:grid;place-items:center;min-height:210px;border-radius:18px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.18),rgba(0,0,0,.16));overflow:hidden}.ccp-character-art{display:block;width:100%;height:240px;object-fit:contain}.ccp-character-fallback{font-size:90px}.ccp-character-hero h2{margin:.35rem 0 .25rem;font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.5rem)}.ccp-character-role{color:#d6e2eb!important;max-width:820px}.ccp-character-hero blockquote{margin:18px 0 0!important;background:rgba(255,255,255,.07)!important;color:#fff;font-family:Georgia,serif;font-size:1.1rem;line-height:1.6}
.ccp-character-section{padding:24px;border:1px solid #bda36c;border-radius:18px;background:#f8edcf;color:#2d251a;box-shadow:0 10px 25px rgba(0,0,0,.18)}.ccp-character-section h3,.ccp-character-section h4{color:#2d251a!important}.ccp-character-section>p{color:#51442f}.ccp-character-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:20px}.ccp-character-action{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:15px;border:1px solid #ae9155;border-radius:12px;background:#fffaf0;color:#2d251a!important;text-decoration:none!important;transition:.18s}.ccp-character-action:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(60,42,15,.18)}.ccp-character-action>span:first-child{font-size:27px}.ccp-character-action strong,.ccp-character-action small{display:block}.ccp-character-action small{margin-top:4px;color:#66573d;line-height:1.4}.ccp-character-note{padding:17px 20px;border-left:4px solid #d7a94b;border-radius:10px;background:rgba(255,255,255,.07);color:#dce6ec}.ccp-market-grid,.ccp-advice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ccp-market-grid article,.ccp-advice-grid article{padding:18px;border:1px solid #c4ad78;border-radius:13px;background:rgba(255,255,255,.62)}.ccp-market-grid article>span,.ccp-advice-grid article>span{font-size:29px}.ccp-market-grid h4,.ccp-advice-grid h4{margin:8px 0 5px}.ccp-market-grid p,.ccp-advice-grid p{margin:0;color:#5f5139;line-height:1.5}
@media(max-width:760px){.ccp-character-hero{grid-template-columns:1fr;padding:20px}.ccp-character-portrait{min-height:160px}.ccp-character-art{height:200px}.ccp-market-grid,.ccp-advice-grid{grid-template-columns:1fr}.ccp-character-section{padding:18px}}

/* v8.9.8 — Seamus portrait on Player Home + Seamus' Roost */
.ccp-seamus-log-portrait{width:112px;height:112px;display:flex;align-items:flex-end;justify-content:center;overflow:visible}
.ccp-seamus-log-portrait img{display:block;max-width:112px;max-height:112px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(25,18,9,.22))}
.ccp-seamus-log-portrait .ccp-dialogue-missing{min-width:86px;min-height:86px}
.ccp-roost{display:grid;gap:22px}.ccp-roost-sign{display:flex;gap:16px;align-items:center;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#4b321c,#25170d);color:#fff8e7;box-shadow:0 16px 30px rgba(29,17,7,.2)}
.ccp-roost-sign>span{font-size:46px}.ccp-roost-sign small{letter-spacing:.14em;color:#e8c47d;font-weight:800}.ccp-roost-sign h2{margin:2px 0 4px;color:#fff;font-size:clamp(1.65rem,4vw,2.5rem)}.ccp-roost-sign p{margin:0;color:#ead9ba}
.ccp-roost-continue{text-align:center;margin-top:-8px}.ccp-roost-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ccp-roost-grid article{padding:18px;border:1px solid rgba(175,128,52,.35);border-radius:14px;background:rgba(255,250,235,.88)}.ccp-roost-grid h3{margin:0 0 8px;color:#4c3218}.ccp-roost-grid p{margin:0;color:#5e4a32;line-height:1.55}
@media(max-width:720px){.ccp-seamus-log-portrait{width:78px;height:78px}.ccp-seamus-log-portrait img{max-width:78px;max-height:78px}.ccp-roost-grid{grid-template-columns:1fr}.ccp-roost-sign{align-items:flex-start}}

/* v8.9.11 — Discovering Port Prosper */
.ccp-discovery-toast{position:fixed;right:24px;bottom:24px;z-index:99999;display:flex;align-items:center;gap:12px;max-width:360px;padding:14px 18px;border:1px solid rgba(232,195,111,.75);border-radius:14px;background:rgba(21,31,40,.96);color:#fff;box-shadow:0 16px 44px rgba(0,0,0,.35);animation:ccpDiscoveryIn .45s ease both}
.ccp-discovery-toast>span{font-size:28px}.ccp-discovery-toast small{display:block;color:#e8c36f;font-size:10px;font-weight:800;letter-spacing:.15em}.ccp-discovery-toast strong{display:block;margin-top:2px;font-size:16px}
@keyframes ccpDiscoveryIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:640px){.ccp-discovery-toast{left:14px;right:14px;bottom:14px;max-width:none}}
@media(prefers-reduced-motion:reduce){.ccp-discovery-toast{animation:none}}

/* v8.9.12 — Shipyard Crew Simulator */
.ccp-shipyard-float{position:fixed;left:18px;bottom:18px;z-index:100000;width:min(340px,calc(100vw - 36px));padding:12px;border:1px solid rgba(232,195,111,.78);border-radius:14px;background:rgba(16,25,33,.97);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.4)}
.ccp-shipyard-float-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ccp-shipyard-float-title strong{color:#e8c36f;letter-spacing:.08em}.ccp-shipyard-float-title small{font-weight:700}
.ccp-simulator-controls{display:flex;flex-wrap:wrap;gap:12px}.ccp-simulator-controls form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.ccp-simulator-controls label{display:grid;gap:4px}.ccp-simulator-controls label span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;opacity:.78}.ccp-simulator-controls select{min-width:170px;padding:7px 30px 7px 9px;border-radius:8px}.ccp-simulator-controls button{padding:8px 11px;border:0;border-radius:8px;background:#e8c36f;color:#17212a;font-weight:800;cursor:pointer}.ccp-simulator-controls.is-compact{display:grid;gap:8px}.ccp-simulator-controls.is-compact form{display:grid;grid-template-columns:1fr auto;align-items:end}.ccp-simulator-controls.is-compact label{min-width:0}.ccp-simulator-controls.is-compact select{width:100%;min-width:0}.ccp-shipyard-simulating .ccp-game-topbar{box-shadow:inset 0 3px 0 #e8c36f}
@media(max-width:640px){.ccp-shipyard-float{left:10px;right:10px;bottom:10px;width:auto}.ccp-simulator-controls.is-compact form{grid-template-columns:1fr}.ccp-simulator-controls.is-compact button{width:100%}}

.ccp-seamus-arrival{padding:30px}.ccp-arrival-next{display:grid;gap:7px;margin-top:22px;padding:18px;border-top:1px solid rgba(104,73,33,.25);border-radius:12px;background:rgba(255,255,255,.42)}.ccp-arrival-next strong{text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;color:#704919}.ccp-arrival-next span{color:#4c3b27}.ccp-arrival-next .ccp-seamus-primary{justify-self:start}
@media(max-width:720px){.ccp-seamus-arrival{padding:20px}.ccp-arrival-next .ccp-seamus-primary{width:100%;justify-content:center}}

/* v8.9.20 illustrated Port Prosper scenes */
.ccp-roost .ccp-scene,.ccp-character-place .ccp-scene{margin:1.25rem 0 1.5rem}
.ccp-lighthouse-interior-heading{margin:2rem 0 .75rem;padding:1rem 1.25rem;border-left:4px solid #d2a24b;background:rgba(255,255,255,.045);border-radius:0 14px 14px 0}
.ccp-lighthouse-interior-heading h3{margin:.15rem 0;color:#fff1c6;font-size:clamp(1.45rem,3vw,2rem)}
.ccp-lighthouse-interior-heading p{margin:0;color:#c8d2d7}

/* v8.9.23 — compact, readable Shipyard overlay */
.ccp-shipyard-float{width:min(300px,calc(100vw - 28px));padding:14px;background:rgba(11,22,31,.98);border:2px solid #d7ae58;box-shadow:0 18px 60px rgba(0,0,0,.58)}
.ccp-shipyard-float-title{padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.16)}
.ccp-shipyard-float-title small{color:#fff;background:#29465a;border-radius:999px;padding:4px 8px}
.ccp-simulator-controls.is-compact label span{color:#f4d98b;opacity:1}.ccp-simulator-controls.is-compact select{background:#fff;color:#17212a;border:2px solid #d7ae58}.ccp-simulator-controls.is-compact button{background:#d7ae58;color:#14212b;border:1px solid #f2d693}
