/* Portrait adventure surfaces derived from the approved reference board. */
dialog.voyage-dialog{--gold:#dfb96b;--paper:#f4e7ce;--sea:#0b1822;width:min(480px,calc(100vw - 12px));max-width:calc(100vw - 12px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);border:1px solid #f3ce82;border-radius:17px;background:radial-gradient(ellipse at top,#18334344,transparent 45%),linear-gradient(#08131c,#03080e);color:#f2e9d8;box-shadow:inset 0 0 0 3px #dfb96b14,0 20px 100px #000e;font:13px/1.45 'Trebuchet MS',Arial,sans-serif}dialog.voyage-dialog::backdrop{background:#01050be8}.voyage-dialog header{padding:10px 12px;border-color:#bc9b5a;background:linear-gradient(#132532,#030a11);backdrop-filter:blur(6px)}.voyage-dialog header small{font-size:8px;color:#e4c487;letter-spacing:.15em}.voyage-dialog h2{font:800 22px/1.2 'Trebuchet MS',Arial,sans-serif;color:#ffebbd;margin:3px 0}.voyage-dialog h3{font:800 17px/1.2 'Trebuchet MS',Arial,sans-serif;color:#f7dfae}.voyage-dialog main{padding:12px}.voyage-dialog button{color:#edd39b;border:1px solid #a7894d;border-radius:7px;background:linear-gradient(#1c2a34,#040c14);box-shadow:inset 0 0 0 2px #ffffff04;font-size:11px;padding:8px 9px;min-height:42px}.voyage-dialog button:hover{border-color:#ffda81;background:linear-gradient(#2f3e42,#102030)}.voyage-dialog header button{width:52px;font-size:10px;min-height:34px}.voyage-dialog .voyage-actions{background:linear-gradient(#101d27,#030911);border-color:#b69553;padding:8px;gap:5px}.voyage-dialog>nav.voyage-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.voyage-dialog>nav button{font-size:9px;padding:5px 1px;min-width:0}.voyage-dialog footer.voyage-actions button{flex:1 1 auto}.voyage-dialog .voyage-grid{display:block}.voyage-panel{padding:12px;border:1px solid #a98b50;border-radius:8px;background:linear-gradient(#102736eb,#06111be8);box-shadow:inset 0 0 0 2px #ffffff05}.voyage-panel>small{font-size:8px;letter-spacing:.14em;color:#d6b77e}.voyage-panel p{font-size:12px;color:#d8e0df}.voyage-panel button{background:linear-gradient(#ffe9ad,#cfa253);color:#281d0a;border-color:#ffe4a1;box-shadow:0 2px 0 #68431c}.voyage-dialog .voyage-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.voyage-dialog .voyage-cards h3{font-size:14px}.voyage-dialog .notice{font-size:11px;border:1px solid #a7864c;background:#382b1980;color:#f5dfaf}.voyage-dialog input,.voyage-dialog select{background:#07151f;color:#ffefd1;border-color:#8a734a;font-size:13px;border-radius:7px;min-height:42px}.voyage-dialog label{font-size:12px;color:#e5d6b8}.voyage-dialog input[type=checkbox]{width:auto;min-height:auto;accent-color:#0abfff}.voyage-dialog button:focus-visible{outline:2px solid #4fdfff;outline-offset:2px}
.voyage-dialog[data-page=map] .voyage-map{background:url('/assets/reference-v1/exploration.png') center center/cover no-repeat;border:1px solid #c5ac6d;border-radius:11px;padding:5px;gap:0;aspect-ratio:auto;height:55dvh;min-height:350px;max-height:530px;grid-template-rows:repeat(8,minmax(0,1fr));position:relative;overflow:hidden;box-shadow:inset 0 -25px 30px #07110db0,0 4px 15px #0007}.voyage-dialog .voyage-map button{padding:0;min-height:0;min-width:0;border:0;box-shadow:none;background:none;color:#ffe7a7;font-size:23px;overflow:visible;position:relative;text-shadow:0 2px 3px #000}.voyage-dialog .voyage-map button:hover{background:#f3d99718}.voyage-dialog .voyage-map button.marker{background:radial-gradient(ellipse,#061a28db 40%,transparent 65%);filter:drop-shadow(0 0 5px #ffdf8099)}.voyage-dialog .voyage-map button.avatar{border:0;outline:0;background:none;z-index:2}.voyage-avatar{position:absolute;width:52px;height:80px;object-fit:contain;bottom:2px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 3px 2px #0009);pointer-events:none}.voyage-dialog .voyage-directions{margin:8px 0 12px;gap:7px}.voyage-directions button{width:47px;height:42px;border-radius:9px;border:1px solid #dcc07d;background:linear-gradient(#24343f,#040b12);color:#ffdf87;font-size:20px}.voyage-dialog [role=status]:not(:empty){padding:11px;border:1px solid #c5a15a;border-radius:7px;background:linear-gradient(#fff0cc,#d9c195);color:#2d2518;font-size:12px;box-shadow:inset 0 0 0 2px #fff9;line-height:1.5}.voyage-dialog [role=status]:empty{display:none}.crew-avatar{width:90px;height:110px;display:block;object-fit:contain;margin:auto;filter:drop-shadow(0 0 12px #efbe5d33)}.captain-portrait{display:flex;justify-content:center;position:relative;height:220px;background:radial-gradient(ellipse at bottom,#9c682e55,transparent 65%);margin-bottom:12px;border:1px solid #816d4577;border-radius:9px}.captain-portrait img{width:190px;height:100%;object-fit:contain;filter:drop-shadow(0 4px 6px #000a)}.voyage-dialog .story-flag{font-size:34px;background:linear-gradient(#122937,#040b12);border-color:#c7a66e;float:right;width:80px;min-height:75px;margin:8px}.cosmetics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cosmetic-token{padding:12px;border:1px solid #b1965c;border-radius:8px;background:#122737;text-align:center;color:#f4d89b}.cosmetic-token b{display:block;font-size:28px}.cosmetic-token small{font-size:11px}
.sea-atlas{height:min(66dvh,660px);min-height:460px;background:url('/assets/reference-v1/world.png') center center/cover no-repeat;border:1px solid #d5b971;border-radius:11px;position:relative;overflow:hidden;box-shadow:inset 0 0 30px #01182c55}.sea-region{position:absolute;top:13px;left:12px;text-shadow:0 2px 4px #000}.sea-region span{font-size:8px;color:#ffeab6;letter-spacing:.2em}.sea-region h3{font-size:24px;color:#fff2ce}.voyage-dialog .island-marker{position:absolute;width:139px;background:linear-gradient(#ffedbc,#d5b476);border:1px solid #ffe6a4;box-shadow:0 2px 0 #704a22,0 3px 12px #00162fb3;color:#2d2211;padding:7px 6px;border-radius:6px;text-align:center;text-shadow:0 1px #fff4}.island-marker strong{display:block;font-size:13px}.island-marker small{font-size:9px;display:block}.island-marker .island-status{font-size:10px;font-weight:700}.voyage-dialog .island-marker:disabled{opacity:.82;filter:grayscale(.5);color:#273844}.island-marker-0{left:7%;bottom:22%}.island-marker-1{right:5%;top:48%}.island-marker-2{left:5%;top:25%}.sea-current{position:absolute;bottom:9px;left:9px;right:9px;padding:8px 11px;background:#061725e8;border:1px solid #c6a35c;border-radius:8px;color:#ffe9b5;font-size:11px}.sea-current strong{display:block;color:#fff0cc;font-size:13px}
.voyage-dialog.battle-dialog .battle-zone{padding:8px;margin-bottom:9px;border-color:#a78a53;border-radius:8px;background:linear-gradient(#102d43f5,#050f1cec)}.battle-zone h3{font-size:12px;line-height:1.4;margin-bottom:5px}.battle-zone>p{font-size:10px;color:#a9c7d9;margin-bottom:4px}.battle-field,.battle-hand{gap:6px;padding:5px 0 7px}.voyage-dialog .battle-card{min-width:72px;width:72px;max-width:72px;padding:3px;border:1px solid #c8a55c;border-radius:5px;background:linear-gradient(#13334b,#030b13);color:#f4e9c8;font-size:8px;box-shadow:0 2px 5px #0009}.voyage-dialog .battle-card img{height:96px;border-radius:3px}.battle-card b{font-size:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-card span{font-size:8px;color:#ffe6a2}.battle-card small{font-size:8px;color:#8bd5ff}.battle-card.selected{outline:2px solid #29cfff;box-shadow:0 0 12px #20b8ff5e}.battle-card.rested img{transform:rotate(-8deg) scale(.9);filter:saturate(.7)}.battle-dialog main{padding:9px}.battle-dialog .battle-help{font-size:10px;color:#9fb6c6}.battle-dialog footer{padding:8px;background:linear-gradient(#152536,#030914);max-height:180px;overflow-y:auto}.battle-dialog footer button{font-size:10px;min-height:38px;padding:7px}.battle-dialog footer button:last-child{background:linear-gradient(#ffe9ab,#d3a454);color:#281d0c;border-color:#ffe2a1}.battle-dialog header h2{font-size:19px}.battle-dialog header small{font-size:9px}.battle-dialog [data-battle=tips]{font-size:9px;min-height:30px;padding:3px 8px}.battle-dialog [role=status]:not(:empty){font-size:10px;padding:7px;background:#132b40;color:#d5e8ec;border-color:#547c98}
.combat-result{position:relative;padding:55px 18px 24px;text-align:center;min-height:420px;overflow:hidden;background:radial-gradient(ellipse at 50% 25%,#f4c35f55,transparent 50%),repeating-conic-gradient(from 15deg at 50% 28%,transparent 0deg 14deg,#dfb15012 15deg 20deg),#060d16;border:1px solid #b99654;border-radius:10px}.combat-result .victory-emblem{font-size:65px;color:#f8d77d;text-shadow:0 0 30px #f4bc38,0 4px 1px #705023}.combat-result h3{font-size:38px;letter-spacing:.02em;color:#ffe688;text-shadow:0 3px #825819,0 0 20px #c4973c99;margin:8px 0}.combat-result p{color:#e5d5af;font-size:13px}.combat-result .result-detail{margin-top:35px;border:1px solid #a88b51;border-radius:8px;background:#06111de8;padding:15px}.combat-result .result-detail p{font-size:12px}.combat-result .result-detail strong{color:#ffe9ad}.combat-result .result-captain{height:170px;width:130px;object-fit:contain;filter:drop-shadow(0 0 20px #e9b34977)}
@media(max-width:370px){.voyage-dialog>nav button{font-size:8px}.voyage-dialog .battle-card{min-width:66px;width:66px;max-width:66px}.voyage-dialog .battle-card img{height:86px}.voyage-dialog .island-marker{width:125px}.voyage-dialog .voyage-map{min-height:320px}}
@media(prefers-reduced-motion:reduce){.voyage-dialog *{animation:none!important;transition:none!important}}

.voyage-directions .interact-command{font-size:10px;width:84px;background:linear-gradient(#ffedb5,#cda054);color:#2a2010;text-shadow:0 1px #fff7;box-shadow:0 2px 0 #715126}.voyage-dialog .voyage-directions{position:sticky;bottom:0;z-index:4;padding:6px 0;background:linear-gradient(#08141be8,#030910)}

.equipped-souvenir{display:block;border:1px solid #dbb566;border-radius:8px;padding:9px;margin:8px 0;background:#253446;color:#ffe0a0}.cosmetic-token button{display:block;width:100%;margin-top:9px}.cosmetic-token button[aria-pressed=true]{background:#e5c481;color:#211706}.voyage-conversation{border:1px solid #b59455;border-radius:10px;overflow:hidden;background:#030b12}.conversation-scene{height:36dvh;min-height:220px;background:linear-gradient(transparent,#0008),url('/assets/reference-v1/exploration.png') center/cover;position:relative;display:flex;align-items:end;justify-content:center}.conversation-scene img{height:90%;max-width:100%;object-fit:contain;filter:drop-shadow(0 3px 5px #000)}.conversation-scene>span{position:absolute;top:10px;left:10px;background:#071725dc;border:1px solid #c5a364;padding:7px;border-radius:5px}.conversation-paper{margin:10px;padding:13px;border:2px solid #b8975c;border-radius:6px;background:linear-gradient(#fff0ce,#ddc69d);color:#2d2417;font-size:14px;min-height:110px}.conversation-paper small{font-weight:bold}.conversation-paper p{margin:8px 0}.conversation-choices{display:grid;gap:7px;padding:0 10px 12px}.conversation-choices button{text-align:left;font-size:12px;min-height:44px}.conversation-choices [aria-pressed=true]{border-color:#69d8f2}.voyage-dialog{padding-bottom:env(safe-area-inset-bottom,0px)}

.koza-choice{width:100%;display:block}.koza-choice select{display:block;width:100%;margin:5px 0}.battle-dialog [data-battle=concede]{background:#382222;color:#ffd5ca;border-color:#8c5c55;font-size:10px}
/* Custom pirate, named companions, editor, recruitment and local event. */
.pirate-scene{position:relative;width:100%;height:260px;overflow:hidden;background:radial-gradient(ellipse at 50% 90%,#45647766,transparent 68%);border-radius:12px;touch-action:pan-y}.pirate-scene canvas{display:block;width:100%;height:100%;pointer-events:none}.avatar-preview{position:sticky;top:61px;z-index:3;height:230px;background:radial-gradient(ellipse at bottom,#394b58,#07131ce8 70%);border:1px solid #a58950}.avatar-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.avatar-controls label{min-width:0}.avatar-controls input[type=color]{padding:3px;width:100%;height:44px}.editor-commands{display:flex;gap:8px;position:sticky;bottom:0;padding:9px 0;background:#07131cf2;z-index:4}.editor-commands button{flex:1}.voyage-dialog>nav.voyage-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.voyage-dialog>nav button{min-height:44px;font-size:10px}.voyage-dialog [aria-current=page]{border-color:#f7d896;color:#ffebbd;background:#34434b}.exploration-stage{position:relative}.exploration-actors{position:absolute;inset:0;height:100%;pointer-events:none;background:none}.voyage-dialog[data-page=map] .voyage-map{height:52dvh;min-height:330px}.voyage-dialog .voyage-map .player-position{box-shadow:inset 0 0 0 1px #ffd57988;border-radius:50%;background:#ffffff09}.conversation-scene>.pirate-scene{height:100%;background:none}.conversation-scene{height:34dvh;min-height:240px}.character-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.character-roster button{text-align:left;min-height:48px}.recruitment-reward{background:radial-gradient(ellipse at 50% 25%,#cfa34a55,transparent 70%);text-align:center;padding:14px;border:1px solid #b59b61;border-radius:12px}.recruitment-reward>h3:first-child{font-size:27px;color:#ffe59e}.cosmetic-token img{display:block;width:100%;height:140px;object-fit:contain;border-radius:7px}.cosmetic-token h3{font-size:13px}.cosmetic-token p{font-size:11px}.event-banner{border:1px solid #c8a761;background:radial-gradient(ellipse at top,#603448,#102331 75%);padding:12px;border-radius:12px;text-align:center}.event-banner .pirate-scene{height:230px}.event-banner h3{font-size:22px;color:#ffdf89}.event-banner p{font-size:11px}.ship-preview{background:repeating-linear-gradient(0deg,#493c2b 0 21px,#c49a6033 22px 23px),linear-gradient(#162e40,#7b603b)}.sea-atlas .sea-destinations{position:absolute;left:10px;right:10px;bottom:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.sea-atlas .sea-destinations button{background:linear-gradient(#ffe5ac,#c7a96d);color:#2e2414;font-size:11px;box-shadow:0 2px 4px #001b31aa}.sea-atlas .sea-destinations button:disabled{background:#203c51;color:#c4c6b9;opacity:.8}.home-profile .home-pirate-stage{width:58px;height:77px;flex:0 0 58px;background:none}.home-profile .home-pirate-stage canvas{width:100%;height:100%}
@media(max-width:370px){.avatar-controls{gap:5px}.voyage-dialog>nav button{font-size:9px}.avatar-preview{height:210px}.character-roster button{font-size:10px}}

.brook-effect{width:100%;border:1px solid #d3b477;padding:9px;border-radius:8px;background:#122d41}.brook-effect label{font-size:11px;margin:3px 0}.brook-effect select{width:100%;min-height:44px;margin:3px 0}.battle-dialog:has(.brook-effect) footer{max-height:46dvh}.result-pirate{height:190px}

.touch-helm{display:flex;align-items:center;justify-content:center;gap:32px;margin:10px 0}.voyage-thumbstick{width:88px;height:88px;border-radius:50%;position:relative;touch-action:none;user-select:none;background:radial-gradient(circle,#294255,#07111d 70%);border:1px solid #b99757;box-shadow:inset 0 0 15px #0008}.stick-knob{position:absolute;left:23px;top:23px;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffe2a1,#876838);border:1px solid #ffe8b6;box-shadow:0 3px 9px #0008;transform:translate(var(--stick-x,0px),var(--stick-y,0px));pointer-events:none}.touch-helm .interact-command{min-height:52px;min-width:120px;background:linear-gradient(#ffe6a3,#ca9f50);color:#2b210e;font-size:13px}.voyage-dialog .voyage-directions{margin-top:3px}

.stage-3d{background:radial-gradient(ellipse,#317688,#123b50);border-radius:11px}.voyage-dialog[data-page=map] .stage-3d .voyage-map{background:none;display:block;padding:0;pointer-events:none;z-index:2}.stage-3d .voyage-map .map-point{position:absolute;width:34px;height:34px;min-height:34px;transform:translate(-50%,-50%);pointer-events:auto;font-size:18px}.stage-3d .voyage-map .map-point:not(.marker):not(.player-position){background:none}.stage-3d .exploration-actors{z-index:1}.editor-tabs,.preview-commands{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.editor-tabs button,.preview-commands button{flex:1;min-height:44px}.editor-tabs button[aria-pressed=true]{background:#c8ac72;color:#241c10}.voyage-dialog .ship-preview{height:330px;background:linear-gradient(#17495e,#6fa4b5)}.voyage-cinematic{padding:14px 10px;border:1px solid #ba9a5c;border-radius:12px;background:radial-gradient(ellipse at top,#3d4a53,#06141d);animation:scene-enter .4s ease-out}.voyage-cinematic>small{color:#e5c981;letter-spacing:.12em}.voyage-cinematic>h3{font-size:26px;margin-top:8px}.voyage-cinematic .pirate-scene{height:330px}.voyage-cinematic .conversation-paper{min-height:100px}@keyframes scene-enter{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}

.sea-atlas .sea-destinations{max-height:75%;overflow-y:auto;overscroll-behavior:contain;padding:3px}.voyage-dialog .marker-landmark{color:#9be5e7}

.battle-inspection{padding:13px;border:1px solid #d7b977;border-radius:10px;background:#102a3d;margin-bottom:12px}.battle-inspection img{display:block;width:130px;height:185px;object-fit:contain;margin:8px auto}.battle-inspection p{font-size:12px;white-space:pre-wrap;line-height:1.55}.battle-dialog header [data-battle=inspect-toggle]{width:76px;margin-left:auto;margin-right:6px;font-size:10px;min-height:44px}

.voyage-dialog[data-island=drum] .conversation-scene{background:radial-gradient(circle at 20% 20%,#fff8 0 2px,transparent 3px),linear-gradient(#819eae,#e5ece9)}.voyage-dialog[data-island=alabasta] .conversation-scene{background:radial-gradient(ellipse at bottom,#b88347,transparent 70%),linear-gradient(#8eb6c4,#e3c085)}.voyage-dialog[data-island=water7] .conversation-scene{background:repeating-linear-gradient(90deg,transparent 0 90px,#e4d1ad44 92px 110px),linear-gradient(#6598aa,#1e566b)}.voyage-dialog[data-island=thriller] .conversation-scene{background:radial-gradient(ellipse at center,#a7a0b455,transparent 70%),linear-gradient(#272b42,#59526c)}.voyage-dialog[data-island=sabaody] .conversation-scene{background:radial-gradient(circle at 20% 30%,#cbf0ed66 0 15px,transparent 17px),radial-gradient(circle at 80% 60%,#c8e4e855 0 23px,transparent 25px),linear-gradient(#36766f,#8ca987)}.voyage-dialog[data-island=fishman] .conversation-scene{background:radial-gradient(ellipse at 50% 10%,#d8e7e266,transparent 70%),linear-gradient(#28627c,#72a8b1)}.voyage-dialog[data-island=baratie] .conversation-scene{background:repeating-linear-gradient(0deg,#9c764d22 0 23px,#d1b27b33 24px 26px),linear-gradient(#2f677a,#826644)}.voyage-dialog header button,.battle-dialog footer button,.voyage-dialog .voyage-directions button{min-height:44px}
