/* Premium pass 1: Port, Collection, and active TCG only. The other 15 stay unchanged. */
body[data-view=home] #app{background-image:url('/assets/premium-pass-one/port-harbor-v1.png');background-position:center 54%;background-size:cover}
body[data-view=home] #app>.header{background:linear-gradient(#083359cc,#07375b22);border:0;box-shadow:none}
body[data-view=home] #app>.header .logo{filter:drop-shadow(0 2px 1px #123750)}
body[data-view=home] .hud-balances .hud-balance{border:1px solid #f2d48e;border-radius:5px;background:linear-gradient(#234d72e8,#082b4ce8);box-shadow:inset 0 1px #fff6,0 2px 4px #00284066;color:#fff4cb;font-size:12px}
body[data-view=home] #app>.home.layout .home-profile{padding:7px 9px;border:1px solid #e4c17b;border-radius:6px;background:linear-gradient(#072e4adb,#062c45e8),url('/assets/premium-pass-one/naval-leather-v1.png') 20% 30%/300px;box-shadow:inset 0 0 0 2px #fff1,inset 0 1px #fff5,0 3px 8px #07395366}
body[data-view=home] .home-profile .progress{border:1px solid #608da2;background:#063256;border-radius:5px;overflow:hidden;height:6px}
body[data-view=home] .home-profile .progress span{background:linear-gradient(#93edff,#26a9d9);box-shadow:0 0 8px #83e7ff}
body[data-view=home] #app .home-air::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 73% 36%,#fff4a818,transparent 40%);animation:harbor-daylight 9s ease-in-out infinite}
body[data-view=home] #app .port-pirate::after{content:'';position:absolute;z-index:-1;left:17%;right:17%;bottom:3%;height:10%;background:radial-gradient(ellipse,#13334888,transparent 70%);transform:scaleX(1.25);pointer-events:none}
body[data-view=home] #app .port-pirate{isolation:isolate;filter:drop-shadow(0 3px 2px #24445b55)}
body[data-view=home] #app .port-destination{bottom:calc(86px + env(safe-area-inset-bottom,0px));min-height:66px;padding:8px 13px;border:1px solid #f1d18c;border-radius:8px;background:linear-gradient(100deg,#04283be8,#042438dd),url('/assets/premium-pass-one/naval-leather-v1.png') center/300px;box-shadow:inset 0 0 0 3px #be965c38,inset 0 1px #fff7,0 4px 9px #12314880}
body[data-view=home] #app .port-destination::after{content:'›';margin-left:auto;font:32px 'Carto Condensed';color:#ffe6ab}.port-destination:focus-visible{outline:3px solid #a2f4ff;outline-offset:3px}
body[data-view=home] #app .port-destination strong{font-size:22px;color:#fff0bd;text-shadow:0 1px #061c33}
body[data-view=home] #app>.nav{background:linear-gradient(#123d56dd,#072439f5),url('/assets/premium-pass-one/naval-leather-v1.png') center/280px;border-top:1px solid #e9cb88;box-shadow:0 -4px 13px #0b314a66}
body[data-view=home] #app>.nav button{position:relative;border-radius:7px;border:1px solid #e0b970;background:linear-gradient(#22455eb8,#071e32dd);box-shadow:inset 0 0 0 2px #0a1b2f,inset 0 2px #fff6,0 2px 3px #092941;color:#ffe8af;font:600 13px 'Carto Condensed';padding:4px 1px;gap:0}
body[data-view=home] #app>.nav button .port-icon{width:32px;height:34px;filter:drop-shadow(0 2px 1px #061a27)}
body[data-view=home] #app>.nav button.active{background:linear-gradient(#6e633ccc,#193d4b);border-color:#ffe4a0;box-shadow:inset 0 0 0 2px #514324,inset 0 1px #fff8,0 0 9px #f8d28240}
body[data-view=home] #app .home-tools{border:1px solid #b9d9e099;border-radius:6px;background:linear-gradient(#173b56db,#092940e8);box-shadow:inset 0 1px #fff3}
body[data-view=home] #app .home-tools>summary::after{color:#f8e5b5;font:600 14px 'Carto Condensed'}
body[data-view=home] #app :is(.port-destination,.nav button,.home-tools summary):active{transform:translateY(1px);filter:brightness(1.14)}
/* Collection: textured album, four-column official artwork and preserved live metadata. */
body[data-view=collection] #app{background:linear-gradient(#07243ddb,#031b30f2),url('/assets/premium-pass-one/naval-leather-v1.png') center/580px}
body[data-view=collection] #app>.header{background:linear-gradient(#0d3650c9,#041d34e8),url('/assets/premium-pass-one/naval-leather-v1.png') 50% 15%/420px;border-bottom:1px solid #b79a61}
body[data-view=collection] #app>.collection>.collection-heading h1{color:#ffebbe;font-size:23px;letter-spacing:.015em;text-shadow:0 2px #041425}
body[data-view=collection] #app>.collection>.collection-heading>button{background:linear-gradient(#153f59,#061b2b);border:1px solid #d2ac69;box-shadow:inset 0 0 0 2px #061d30,inset 0 1px #fff5;border-radius:6px}
body[data-view=collection] .collection-heading>button .port-icon{width:26px;height:28px}
body[data-view=collection] .ownership-tabs{border:1px solid #b49866;border-radius:6px;padding:3px;gap:3px;background:linear-gradient(#0c2b43,#061a2c);box-shadow:inset 0 1px #fff2}
body[data-view=collection] .ownership-tabs button{font:600 14px 'Carto Condensed';border-radius:4px;background:linear-gradient(#17354ad9,#071c2deb);border:1px solid #4f7187;color:#e3e7da}
body[data-view=collection] .ownership-tabs button.active{background:linear-gradient(#ffefbd,#d2af65);border-color:#fff0b8;color:#382b18;text-shadow:0 1px #fff7;box-shadow:inset 0 2px #fff8,0 2px 4px #0005}
body[data-view=collection] .collection-search{gap:5px;margin:0}
body[data-view=collection] .collection-search input{background:linear-gradient(#061b2de8,#10364cc9),url('/assets/premium-pass-one/naval-leather-v1.png') center/260px;border:1px solid #a49368;box-shadow:inset 0 2px 5px #00101ab3;border-radius:5px;color:#e8f4f6;padding:8px 11px}
body[data-view=collection] .collection-ref-options{border:1px solid #b39a61;background:linear-gradient(#12344bde,#051d32eb),url('/assets/premium-pass-one/naval-leather-v1.png') center/360px;box-shadow:inset 0 1px #fff2;border-radius:5px}
body[data-view=collection] .collection-ref-options>summary{font:600 14px 'Carto Condensed';color:#ffe7af;padding:7px 10px}
body[data-view=collection] .collection-ref-options>summary span{font-size:11px;color:#d0dedb}
#app>.layout.collection .catalog-grid:not(.large){grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:3px 1px 10px}
#app>.layout.collection .catalog-grid .card-tile{position:relative;padding:3px;border:1px solid #b8a176;border-radius:6px;background:linear-gradient(#0f3951,#04182c);box-shadow:inset 0 1px #fff4,0 3px 5px #0005;overflow:hidden;isolation:isolate;transition:transform .16s,box-shadow .16s}
#app>.layout.collection .catalog-grid .card-tile .image-wrap{border:1px solid #e0c38a;border-radius:3px;opacity:1;filter:none;box-shadow:0 1px 3px #0008}
body[data-view=collection] .card-tile.unowned .image-wrap img{filter:none}
#app>.layout.collection .catalog-grid .card-label{font:600 11px/1.1 'Carto Condensed'!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f6e9c6;display:block;margin:3px 0 1px}
#app>.layout.collection .catalog-grid .card-meta{font-size:8px!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;color:#bfd5df}
#app>.layout.collection .catalog-grid .card-price{font:600 13px/1.2 'Carto Condensed'!important;color:#f8d994;margin-top:3px}
#app>.layout.collection .catalog-grid .qty{right:3px;top:3px;padding:2px 3px;border-radius:2px;font:600 9px 'Carto Condensed';border:1px solid #92d2bf;box-shadow:0 1px 3px #0008}.layout.collection .catalog-grid .qty.missing-badge{border-color:#7892a4;background:#16314a!important;color:#e1ebef!important}
#app>.layout.collection .catalog-grid .card-tile[data-card-hit='4']{border-color:#79d3e7;box-shadow:inset 0 0 0 1px #3a8bab,0 3px 5px #0005}
#app>.layout.collection .catalog-grid .card-tile:is([data-card-hit='6'],[data-card-hit='7']){border-color:#c7a0f0;box-shadow:inset 0 0 0 1px #8763ae,0 0 7px #af7de52b}
#app>.layout.collection .catalog-grid .card-tile[data-card-hit='8']{border-color:#ffdb7d;box-shadow:inset 0 0 0 1px #bc8132,0 0 9px #ffcb5144}
#app>.layout.collection .catalog-grid .card-tile::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,#fff2 47%,transparent 64%);transform:translateX(-160%);z-index:4}
#app>.layout.collection .catalog-grid .card-tile:is(:hover,:focus-visible){transform:translateY(-2px);outline:2px solid #92edff;outline-offset:-2px;box-shadow:0 4px 10px #0009}
#app>.layout.collection .catalog-grid .card-tile:is(:hover,:focus-visible)::after{animation:album-glint .8s ease-out}
body[data-view=collection] #app>.nav{background:linear-gradient(#10394cde,#061b2bf2),url('/assets/premium-pass-one/naval-leather-v1.png') center/300px;border-top:1px solid #c3a261}
body[data-view=collection] #app>.nav button{border-radius:5px;box-shadow:inset 0 1px #fff3;font:600 12px 'Carto Condensed';color:#e2dcc3}
body[data-view=collection] #app>.nav button.active{border-color:#f4cc7e;background:linear-gradient(#6c653e,#183849);box-shadow:inset 0 0 0 2px #80643644}
/* TCG: a bright maritime stage behind real, unaltered official cards. */
dialog.voyage-dialog.battle-dialog[data-result='']>main:has(.battle-tabletop){background:linear-gradient(#08273c08,#071e3033),url('/assets/premium-pass-one/sea-duel-v1.png') center/cover}
dialog.voyage-dialog.battle-dialog:has(.battle-tabletop)>header{background:linear-gradient(#0b3553f0,#07263bdf),url('/assets/premium-pass-one/naval-leather-v1.png') center/320px;border-bottom:1px solid #b4a375}
dialog.voyage-dialog.battle-dialog:has(.battle-tabletop)>header h2{font:600 21px 'Carto Condensed';text-shadow:0 1px #00182c;color:#fff1c6}
dialog.voyage-dialog.battle-dialog .battle-tabletop .opponent-zone .battle-leader-banner{background:radial-gradient(ellipse at 68% 66%,#6fdfff38,transparent 70%);overflow:hidden}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-leader-banner .leader-character-art{position:absolute;height:clamp(165px,26dvh,245px);width:auto;max-width:76%;object-fit:contain;right:7px;bottom:28px;opacity:1;filter:drop-shadow(0 4px 3px #00345590);z-index:1}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-leader-banner .leader-card-art{position:absolute;left:12px;top:65px;height:clamp(95px,15dvh,142px);width:auto;object-fit:contain;opacity:1;border:1px solid #f5db9c;border-radius:4px;box-shadow:0 3px 9px #00192bb3}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-leader-banner:has(.leader-character-art) .leader-card-art{display:none}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-leader-banner>.leader-title{position:absolute;inset:9px 10px auto;padding:0;z-index:3;background:none;display:flex;align-items:flex-start;gap:2px;text-align:left}
dialog.voyage-dialog.battle-dialog .battle-tabletop .leader-title strong{font:600 25px/1 'Carto Condensed';max-width:58%;color:#fff0b8;text-shadow:0 2px 3px #00274a,1px 0 #00274a,-1px 0 #00274a}
dialog.voyage-dialog.battle-dialog .battle-tabletop .leader-title>b{position:absolute;right:0;top:0;font:600 19px 'Carto Condensed';color:#ffdc83;text-shadow:0 2px 3px #00294b}
dialog.voyage-dialog.battle-dialog .battle-tabletop .leader-title small{font:600 11px 'Carto Condensed';padding:3px 5px;border-radius:3px;background:#062943c9;color:#ffecca}
dialog.voyage-dialog.battle-dialog .battle-tabletop .leader-title>.leader-life-track{width:58%;height:8px;border:1px solid #f5c67e;border-radius:5px;overflow:hidden;padding:0;margin-top:3px;background:#282d3e;box-shadow:0 1px 3px #003454}
.leader-life-track i{height:100%;display:block;background:linear-gradient(#ff9a73,#db4b47);box-shadow:0 0 7px #ffbf7a}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-zone>h3{background:linear-gradient(90deg,#073450e8,#07345080)!important;border-top:1px solid #adcecf88!important;border-radius:4px;color:#fff1c9!important;font:600 11px 'Carto Condensed'!important;padding:3px 6px!important}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-zone>p{background:#07324ac9;font-size:9px!important;color:#d7eced;padding:3px 6px;white-space:normal;line-height:1.2}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-resource-bar{position:relative;min-height:43px;padding:3px 9px;background:linear-gradient(#0a3250d9,#051d35eb),url('/assets/premium-pass-one/naval-leather-v1.png') center/320px;border-top:1px solid #f1d496;border-bottom:1px solid #bd9b5e;box-shadow:inset 0 1px #fff4,0 2px 7px #00142780}
dialog.voyage-dialog.battle-dialog .battle-tabletop .don-medallion{height:43px;min-width:62px;display:flex;align-items:center;gap:3px;padding:3px 8px;border:2px solid #efd794;border-radius:50%;background:radial-gradient(ellipse at 40% 20%,#3383b6,#062a50 70%);box-shadow:inset 0 0 0 2px #0e3c5d,0 0 9px #73dcff55;color:#fff3cb;font:600 10px 'Carto Condensed'}
dialog.voyage-dialog.battle-dialog .battle-tabletop .don-medallion b{font:600 29px 'Carto Condensed'}
dialog.voyage-dialog.battle-dialog .battle-tabletop .life-gauge{background:#08243bc9;border:1px solid #c9b079;border-radius:5px;padding:4px 7px;box-shadow:inset 0 1px #fff2}.battle-tabletop .life-gauge i{color:#f17a6b;text-shadow:0 1px #862d38,0 0 4px #ffb37766}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field{gap:5px;background:linear-gradient(#082b4100,#062b4144);border-radius:0}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field .battle-card{padding:2px;border-radius:4px;border:1px solid #ecd18b;background:linear-gradient(#1d4b68,#071f35);box-shadow:inset 0 0 0 1px #315875,0 3px 5px #00223699}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field .battle-card img{border-radius:2px;box-shadow:0 1px 2px #0006}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field .battle-card b{font:600 9px/1.1 'Carto Condensed';color:#fff0c8}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field .battle-card span{font:600 9px/1.1 'Carto Condensed';color:#d4f3ff}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field .battle-card small{font:600 8px/1 'Carto Condensed';color:#d6decf}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-card.selected{outline:2px solid #a7f2ff;box-shadow:0 0 12px #1cf3ff99;transform:translateY(-4px)!important}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-hand{background:linear-gradient(#071f3444,#041a30db);border-top:1px solid #f0d196;box-shadow:0 -3px 10px #00314633}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-hand .battle-card{border:1px solid #e1c27f;background:linear-gradient(#164969,#041a2f);box-shadow:inset 0 1px #fff3,0 3px 7px #00132999;border-radius:4px}
dialog.voyage-dialog.battle-dialog:has(.battle-tabletop)>footer{background:linear-gradient(#0d3851ef,#041c30f5),url('/assets/premium-pass-one/naval-leather-v1.png') center/320px;border-top:1px solid #d4b879;box-shadow:0 -3px 10px #00334e55}
dialog.voyage-dialog.battle-dialog:has(.battle-tabletop)>footer [data-battle=end]{background:linear-gradient(#479cdd,#1068a8 48%,#0a3e78);border:1px solid #f0d9a1;box-shadow:inset 0 0 0 2px #155185,inset 0 2px #c7f5ffb3,0 0 9px #58ccff44;border-radius:8px;font:600 21px 'Carto Condensed';color:#fff0c9;text-shadow:0 1px #073050}
dialog.voyage-dialog.battle-dialog:has(.battle-tabletop) :is(button,summary):focus-visible{outline:2px solid #b1f0ff;outline-offset:2px}
dialog.voyage-dialog.battle-dialog:has(.battle-tabletop) button:not(:disabled):active{filter:brightness(1.13);transform:translateY(1px)}
@keyframes harbor-daylight{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes album-glint{from{transform:translateX(-160%)}to{transform:translateX(160%)}}
@media(max-height:710px){dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-leader-banner .leader-character-art{height:170px;bottom:25px}.battle-tabletop .leader-title strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){body[data-view=home] #app .home-air::before,#app>.layout.collection .catalog-grid .card-tile::after{animation:none!important}body[data-view=home] #app .port-pirate,#app>.layout.collection .catalog-grid .card-tile{transition:none!important}}
body[data-view=home] #app>header.header{background:linear-gradient(#07345ab3,#0b427033);border-bottom:1px solid #b7e0ed55;box-shadow:none}
/* Room for rotated rested cards, without clipping the official illustrations. */
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field{padding-left:8px;padding-right:8px}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field .battle-card.rested{transform:rotate(6deg);opacity:.9}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-field .battle-card.rested img{transform:none;filter:saturate(.82)}
/* The Leader hit area stays above the card row: its center must not select a character. */
dialog.voyage-dialog.battle-dialog .battle-tabletop .opponent-zone .battle-leader-banner{inset:0 0 auto;height:clamp(72px,11dvh,100px);min-height:72px;overflow:visible}
dialog.voyage-dialog.battle-dialog .battle-tabletop .battle-leader-banner .leader-character-art{top:8px;bottom:auto}
/* Honor the existing in-game setting as well as the operating-system preference. */
body.reduced[data-view=home] #app .home-air::before,body.reduced[data-view=collection] #app .catalog-grid .card-tile::after{animation:none!important}
body.reduced[data-view=collection] #app .catalog-grid .card-tile{transition:none!important}
