#captainSetup{--ink:#f2eee2;--muted:#a8b9ba;--gold:#e6b740;padding:0;border:1px solid #547074;border-radius:16px;background:#12272c;color:var(--ink);width:min(880px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);font-family:'Chakra Petch',sans-serif;box-shadow:0 30px 100px #0009;overflow:auto}
#captainSetup[open]{display:grid;grid-template-columns:270px minmax(0,1fr)}
#captainSetup::backdrop{background:#061316b8;backdrop-filter:blur(7px)}
#captainSetup *,#captainSetup *::before,#captainSetup *::after{box-sizing:border-box}
#captainSetup button,#captainSetup input{font:inherit}
#captainSetup button{cursor:pointer;min-height:44px}
#captainSetup :focus-visible{outline:3px solid #f6d574;outline-offset:3px}
.captain-pass{display:flex;align-items:center;flex-direction:column;text-align:center;padding:32px 20px;background:radial-gradient(ellipse at 50% 35%,#355960 0,#15353b 65%,#102b31);border-right:1px solid #476268;overflow:hidden}
.captain-brand{font-family:Bungee,sans-serif;font-size:17px;letter-spacing:1px}.captain-brand b{color:var(--gold)}
.captain-stamp{font-size:10px;letter-spacing:2px;margin-top:18px;color:#c3d1cd}
.captain-hero{display:block;width:190px;height:210px;margin:26px 0 22px;border:1px solid #6c8581;border-radius:90px 90px 12px 12px;background:linear-gradient(#789b91,#304b4e);overflow:hidden}
.captain-hero img{width:100%;height:100%;object-fit:cover;image-rendering:auto}.captain-rank{color:#e6b740;letter-spacing:3px;font-size:10px}
.captain-pass strong{font-size:25px;line-height:1.15;margin:8px 0;overflow-wrap:anywhere;max-width:100%}.captain-pass [data-captain-boat]{color:#c5d0c9;font-size:14px;overflow-wrap:anywhere;max-width:100%}
.captain-pass p{font-size:13px;line-height:1.6;color:#bbccc8;margin:26px 0}.captain-pass-bottom{margin-top:auto;padding-top:18px;font-size:10px;letter-spacing:2px;border-top:1px solid #48646a;width:100%}
.captain-form{padding:28px 32px;min-width:0}.captain-form header{position:relative;padding-right:30px}.captain-kicker{color:var(--gold);font-size:10px;letter-spacing:2px}
#captainHeading{font-size:27px;line-height:1.15;margin:12px 0 20px;color:#f4f0e4;font-weight:600;letter-spacing:-.4px}
#captainHeading:focus{outline:none}.captain-close{position:absolute;right:-16px;top:-12px;background:none;border:0;color:#d5deda;width:44px;font-size:28px!important}
.captain-steps{display:flex;list-style:none;gap:8px;padding:0;margin:0 0 25px;counter-reset:step}.captain-steps li{flex:1;border-top:2px solid #385158;padding-top:7px;font-size:11px;color:#9db0b1}.captain-steps .reached{border-color:#e6b740;color:#f3d575}.captain-steps [aria-current]{font-weight:700}
.captain-field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600;margin-bottom:21px}.captain-field input{min-width:0;width:100%;padding:11px 12px;border:1px solid #637a7b;border-radius:6px;background:#0b1d22;color:#fff;font-size:16px!important;min-height:46px}
.captain-field small,.captain-sub{color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}.captain-field input::placeholder{color:#93a9ac;font-size:13px}
#captainSetup fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}#captainSetup legend{font-size:14px;font-weight:600;margin-bottom:10px}
.captain-avatar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.captain-avatar{position:relative;display:flex;align-items:center;flex-direction:column;gap:5px;cursor:pointer;padding:7px 4px;border:1px solid #496167;border-radius:7px;background:#19353b;min-width:0;font-size:11px}
.captain-avatar input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.captain-avatar:has(:checked){border-color:var(--gold);background:#3d3e2b;box-shadow:inset 0 0 0 1px var(--gold)}.captain-avatar:has(:focus-visible){outline:3px solid #f6d574;outline-offset:3px}
.captain-thumb{height:65px;width:70px;overflow:hidden;border-radius:4px;background:#4c6768}.captain-thumb img{height:100%;width:100%;object-fit:cover}.captain-avatar>span:last-child{color:#e4e9df}
.captain-tones{display:flex;gap:10px;flex-wrap:wrap}.captain-tones label{display:block;width:38px;height:38px;border-radius:50%;background:var(--skin);border:2px solid #617679;position:relative;cursor:pointer}.captain-tones label:has(:checked){outline:2px solid #e6b740;outline-offset:3px}.captain-tones input{opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.captain-tones label:has(:focus-visible){outline:3px solid #f6d574;outline-offset:3px}
.captain-difficulties label{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #496167;border-radius:7px;cursor:pointer;margin-bottom:8px}.captain-difficulties label:has(:checked){border-color:#e6b740;background:#303b32}.captain-difficulties input,.captain-check input{accent-color:#e6b740;width:18px;height:18px;margin:2px 0 0;flex-shrink:0}
.captain-difficulties label>span>span{display:block;font-size:12px;line-height:1.45;color:#b7c7c4;margin-top:4px}.captain-difficulties b{font-size:14px}.captain-difficulties b small{font-size:10px;color:#e6c66e;font-weight:400;margin-left:8px}
.captain-check{display:flex;align-items:flex-start;gap:10px;font-size:13px;cursor:pointer;line-height:1.5}.captain-check small{display:block;color:#a8b9ba;font-size:12px}.captain-replace{border:1px solid #aa8150;background:#3a3026;padding:12px;border-radius:7px;color:#f6d8ad}
.captain-form footer{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid #385158}.captain-back{border:0;background:transparent;color:#c2d0cd;padding:8px 0}.captain-next{border:1px solid #f2cc64;background:#e6b740;border-radius:6px;color:#17272b;padding:11px 18px;font-weight:700!important}.captain-next span{margin-left:10px}
.captain-intro{font-size:14px;line-height:1.7;color:#c7d4d0;margin:0 0 22px}.captain-route{list-style:none;padding:0;margin:0}.captain-route li{display:flex;gap:14px;padding:0 0 24px}.captain-route li>span{width:32px;height:32px;border:1px solid #8a814f;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11px;color:#e6c66e}.captain-route b{font-size:15px}.captain-route p{margin:6px 0 0;color:#a8b9ba;font-size:13px;line-height:1.6}.captain-review{display:flex;gap:20px;padding:13px 0;border-top:1px solid #385158;font-size:12px;color:#a8b9ba}.captain-review b{color:#e8ebdf;margin-left:7px}.captain-save-note{color:#a8b9ba;font-size:12px;line-height:1.6;margin:6px 0 16px}
.captain-silhouette{display:grid;place-items:center;height:100%;font-size:48px;color:#b8c7bb}.captain-profile-button{display:flex;align-items:center;gap:10px;text-align:left;width:100%;background:#163039;border:1px solid #4a6467;border-radius:8px;color:#f0eee1;padding:10px 12px;cursor:pointer;font:inherit}.captain-profile-button img{width:44px;height:44px;border-radius:50%;background:#506e71;object-fit:cover}.captain-profile-button span{min-width:0;flex:1;overflow-wrap:anywhere}.captain-profile-button small{display:block;color:#b1c4c1;font-size:11px}.captain-profile-button b{font-size:14px}.captain-profile-button em{font-size:11px;font-style:normal;color:#e6c66e}.captain-title-profile{max-width:340px;margin:0 auto 18px}.voyage-card .captain-profile-button{padding:6px 9px;margin-bottom:12px;background:#142a30}.voyage-card .captain-profile-button img{width:30px;height:30px}
@media(max-width:680px){#captainSetup{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}#captainSetup[open]{grid-template-columns:minmax(0,1fr)}.captain-pass{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:14px;text-align:left;padding:16px 20px;border-right:0;border-bottom:1px solid #476268}.captain-hero{grid-column:1;grid-row:1/4;width:64px;height:72px;border-radius:32px 32px 5px 5px;margin:0}.captain-rank{grid-column:2;font-size:9px}.captain-pass strong{grid-column:2;font-size:21px;margin:3px 0}.captain-pass [data-captain-boat]{grid-column:2;font-size:12px}.captain-brand,.captain-stamp,.captain-pass p,.captain-pass-bottom{display:none}.captain-form{padding:22px 20px}#captainHeading{font-size:24px}.captain-thumb{height:57px;width:60px}.captain-avatar{font-size:10px}.captain-form footer{gap:8px}.captain-next{padding:10px 13px}.captain-review{gap:12px;flex-wrap:wrap}.captain-close{right:-10px}.captain-tones{gap:8px}.captain-tones label{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){#captainSetup *{scroll-behavior:auto!important}}

#captainSetup .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* The captain stays visible beside the wardrobe; choices scroll independently. */
#captainSetup{width:min(960px,calc(100vw - 40px));height:min(820px,calc(100dvh - 40px));overflow:hidden}
#captainSetup[open]{grid-template-columns:320px minmax(0,1fr)}
.captain-pass{padding:28px 22px;min-height:0}.captain-hero{width:262px;height:350px;border-radius:8px;margin:24px 0 10px;background:radial-gradient(ellipse at 45% 30%,#718782,#253b3d 85%)}
.captain-hero img{object-fit:contain}.captain-pass p{margin:20px 0}.captain-preview-controls{display:flex;gap:10px;align-items:center;margin-bottom:20px}.captain-preview-controls button{background:#102b31;border:1px solid #5b7376;border-radius:5px;color:#d7e1d9;padding:6px 12px;font-size:12px!important}.captain-preview-controls button:first-child,.captain-preview-controls button:last-child{font-size:22px!important;min-width:40px}
.captain-form{display:flex;flex-direction:column;overflow:hidden;padding:26px 28px;min-height:0}.captain-fields{min-height:0;overflow:auto;flex:1;padding:3px 6px 4px 3px;scrollbar-width:thin;scrollbar-color:#60766c transparent}.captain-form footer{flex-shrink:0;margin-top:16px;padding-top:16px}.captain-steps{margin-bottom:18px}
.captain-presets{margin:0 0 18px;border-bottom:1px solid #385158;padding-bottom:12px}.captain-presets summary{cursor:pointer;font-size:13px;padding:5px 0}.captain-presets .captain-avatar-grid{margin-top:12px}.captain-presets p{color:#a8b9ba;font-size:12px}.captain-thumb{width:72px;height:86px}.captain-thumb img{object-fit:contain}
.captain-custom-tabs{display:flex;gap:4px;border-bottom:1px solid #456064;margin:0 0 20px;position:sticky;top:-3px;background:#12272c;z-index:1;padding-top:3px}.captain-custom-tabs button{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;color:#b3c4c4;font-size:13px!important;padding:8px 4px;white-space:nowrap}.captain-custom-tabs [aria-selected=true]{color:#efd58b;border-bottom-color:#e6b740}
.captain-choice-set{margin-bottom:20px!important}.captain-choices{display:flex;flex-wrap:wrap;gap:8px}.captain-choices label{position:relative;cursor:pointer;min-height:40px;display:flex;align-items:center;border:1px solid #52686b;background:#172f35;border-radius:5px;flex:1 0 auto;max-width:100%;font-size:12px}.captain-choices label>input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}.captain-choices label>span{padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.captain-choices label:has(:checked){border-color:#e6b740;background:#3c3e2b;color:#f9df9c}.captain-choices label:has(:checked)::after{content:'✓';padding-right:9px;color:#e6b740}.captain-choices label:has(:focus-visible){outline:3px solid #f6d574;outline-offset:2px}.captain-choices i{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--swatch);border:1px solid #b8b3a7}.captain-custom-hint{font-size:12px;color:#bdc8bf;line-height:1.5}
@media(max-width:680px){#captainSetup{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none}#captainSetup[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.captain-pass{padding:12px 16px;grid-template-columns:100px minmax(0,1fr);column-gap:14px}.captain-hero{width:100px;height:132px;margin:0;grid-row:1/5;border-radius:6px}.captain-preview-controls{grid-column:2;display:flex;gap:5px;margin:8px 0 0}.captain-preview-controls button{padding:4px 7px;min-height:36px!important;font-size:11px!important}.captain-preview-controls button:first-child,.captain-preview-controls button:last-child{min-width:30px;font-size:19px!important}.captain-pass strong{font-size:20px}.captain-form{padding:16px 16px 12px}#captainHeading{font-size:22px;margin:8px 0 14px}.captain-steps{margin-bottom:12px}.captain-field{margin-bottom:14px}.captain-fields{padding-right:5px}.captain-custom-tabs button{font-size:11px!important}.captain-custom-tabs{margin-bottom:16px}.captain-choices label{font-size:11px;min-height:40px}.captain-choices label>span{padding:8px}.captain-form footer{margin-top:10px;padding-top:10px}.captain-pass .captain-rank{align-self:end}.captain-pass [data-captain-boat]{align-self:start}.captain-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-height:650px) and (min-width:681px){.captain-hero{width:170px;height:225px;margin-top:12px}.captain-pass p,.captain-stamp{display:none}.captain-pass{padding-top:18px}.captain-preview-controls{margin-bottom:10px}.captain-form{padding:18px 24px}}
.captain-preview-message{display:grid;place-items:center;height:100%;padding:18px;color:#d6e1d8;font-size:13px;line-height:1.5;text-align:center}

/* A captain name is enough to leave; the full editor stays available on demand. */
.captain-appearance,.captain-voyage{border-top:1px solid #385158;margin:0 0 18px;padding-top:4px}
.captain-appearance>summary,.captain-voyage>summary{cursor:pointer;padding:12px 0;min-height:44px;font-size:14px}
.captain-appearance>summary span,.captain-voyage>summary span{color:var(--muted);font-size:12px;margin-left:8px}
.captain-appearance[open]>summary,.captain-voyage[open]>summary{margin-bottom:12px}
.captain-form header .captain-sub{font-size:14px;line-height:1.5;margin:0 0 20px}
.captain-fields>.captain-check{margin-bottom:16px}
.captain-fields>.captain-save-note{margin-top:16px}
