:root{--night:#0d0c0a;--lacquer:#1a1712;--lacquer-raised:#26211a;--ivory:#f3ead8;--ivory-muted:#b8ab94;--gold:#d4af37;--champagne:#f1d98f;--abyss:#1f5a5c;--abyss-line:#43a0a2;--crimson:#a8322c;--crimson-text:#f07a6c;--jade:#5fb383;--sapphire:#6f97cf;--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;color:#1d2423;font-synthesis:none;text-rendering:optimizelegibility;background:#edf0ed;font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:#edf0ed;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #e3ad4f}button:disabled{cursor:not-allowed}.app-shell{background-color:#edf0ed;background-image:linear-gradient(#d8ded9 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100vh}.app-bar{color:#f5f5ef;background:#18201f;border-bottom:3px solid #cc8731;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;min-height:72px;padding:12px clamp(20px,4vw,64px);display:grid}.brand{width:fit-content;min-height:44px;color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{color:#17201e;background:#e3ad4f;border:2px solid #f1d99e;border-radius:50%;place-items:center;width:40px;height:40px;font-family:Georgia,serif;font-size:24px;font-weight:800;display:grid}.brand strong,.brand small{letter-spacing:0;display:block}.brand strong{font-size:18px}.brand small{color:#aebbb6;margin-top:1px;font-size:12px}.app-bar nav{align-self:stretch;align-items:center;display:flex}.nav-link{color:#aebbb6;border-bottom:2px solid #0000;align-items:center;height:100%;padding:0 16px;text-decoration:none;display:inline-flex}.nav-link:hover,.nav-link-active{color:#fff;border-bottom-color:#e3ad4f}.environment-badge{color:#c7d5d0;border:1px solid #53605c;border-radius:4px;justify-self:end;padding:5px 8px;font-size:12px;text-decoration:none}.auth-screen{place-items:center;min-height:calc(100vh - 72px);padding:32px 20px;display:grid}.auth-panel{background:#fff;border:1px solid #cbd2ce;border-top:5px solid #cc8731;border-radius:8px;width:min(460px,100%);padding:clamp(24px,5vw,42px);box-shadow:0 18px 45px #1f2b281f}.auth-panel h1{margin-bottom:24px;font-size:clamp(30px,7vw,46px)}.auth-form,.auth-form label{gap:8px;display:grid}.auth-form{gap:16px}.auth-form label{color:#53605c;font-size:13px;font-weight:750}.auth-form input{color:#1d2926;background:#fff;border:1px solid #aebbb6;border-radius:4px;min-height:44px;padding:9px 11px}.auth-form input:focus{border-color:#9a5b24;outline:2px solid #f1dfbd}.auth-message{color:#6f4118;background:#fbf0dc;border-left:3px solid #cc8731;margin:0;padding:10px 12px}.auth-links,.auth-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.auth-links a,.auth-panel>a{color:#255854}.account-page{gap:22px;display:grid}.account-password-form{max-width:520px}.session-list{gap:10px;margin-top:16px;display:grid}.session-card{background:#f5f6f3;border:1px solid #cbd2ce;border-radius:5px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.session-card strong,.session-card small{display:block}.session-card small{color:#68736f;margin-top:5px}.page-shell{width:min(1180px,100% - 40px);margin:0 auto;padding:48px 0 64px}.compact-page{width:min(860px,100% - 40px)}.page-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px;display:flex}.eyebrow{color:#a05d20;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:800}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{color:#17201e;letter-spacing:0;margin-top:0}h1{max-width:720px;margin-bottom:10px;font-family:Georgia,Times New Roman,serif;font-size:48px;line-height:1.05}h2{margin-bottom:8px;font-size:22px}h3{margin-bottom:6px;font-size:17px}.lead{color:#56615e;max-width:620px;margin:0;font-size:17px;line-height:1.65}.wallet-summary{color:#f7f3e9;background:#255854;border-left:5px solid #e3ad4f;border-radius:6px;flex:0 0 190px;padding:18px 20px}.wallet-summary span,.wallet-summary small,.wallet-summary strong{display:block}.wallet-summary span,.wallet-summary small{color:#c9d8d2;font-size:12px}.wallet-summary strong{letter-spacing:0;margin:5px 0;font-family:Georgia,Times New Roman,serif;font-size:31px}.lobby-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:18px;display:grid}.contract-panel,.status-panel,.detail-panel,.fatal-panel{background:#fff;border:1px solid #cbd2ce;border-radius:8px;overflow:hidden;box-shadow:0 12px 28px #1f2b2814}.contract-panel{grid-template-columns:minmax(260px,.95fr) minmax(320px,1.05fr);min-height:364px;display:grid}.zone-map{object-fit:cover;width:100%;height:100%;min-height:300px;display:block}.contract-body{flex-direction:column;justify-content:space-between;gap:22px;padding:28px;display:flex}.contract-body p:not(.eyebrow){color:#5d6865;margin:0;line-height:1.6}.contract-options{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.contract-options legend{margin-bottom:10px;font-weight:750}.contract-option{overflow-wrap:anywhere;cursor:pointer;background:#f5f6f3;border:2px solid #cbd2ce;border-radius:6px;align-items:flex-start;gap:12px;min-height:44px;padding:14px;display:flex}.contract-option:has(input:checked){background:#edf4ed;border-color:#3d6853}.contract-option:has(input:focus-visible){outline-offset:3px;outline:3px solid #3d6853}.contract-option:has(input:disabled){cursor:default;background:#eceeeb}.contract-option input{accent-color:#3d6853;flex:none;width:18px;height:18px;margin:3px 0 0}.contract-option-details{color:#4f5d56;gap:4px;margin-top:6px;font-size:.875rem;line-height:1.5;display:grid}.contract-lock{font-weight:650}.fortune-note{color:#4f5d56;gap:4px;font-size:.875rem;line-height:1.5;display:grid}.fortune-note p{margin:0}.contract-body .departure-button{min-height:44px}.contract-stats,.expedition-facts{background:#d7ddda;border:1px solid #d7ddda;gap:1px;margin:0;display:grid}.contract-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-stats div,.expedition-facts div{background:#f5f6f3;min-width:0;padding:12px}.contract-stats dt,.expedition-facts dt{color:#6e7975;font-size:11px}.contract-stats dd,.expedition-facts dd{color:#1f2927;overflow-wrap:anywhere;margin:5px 0 0;font-size:14px;font-weight:750}.primary-button,.secondary-button{border-radius:5px;justify-content:center;align-items:center;min-height:42px;padding:9px 15px;font-weight:750;text-decoration:none;display:inline-flex}.primary-button{color:#fff;cursor:pointer;background:#9a5b24;border:1px solid #774519;width:100%}.primary-button:hover{background:#7f481c}.primary-button:disabled{color:#75807c;background:#dde2de;border-color:#c8d0cb}.secondary-button{color:#fff;cursor:pointer;background:#255854;border:1px solid #1d4845;width:fit-content}.secondary-button:hover{background:#1d4845}.secondary-button:disabled{color:#d4dcda;background:#687b76}.creation-error{background:#f9e4df;border-left:3px solid #b94a3a;border-radius:4px;padding:10px 12px;color:#8a2e22!important}.status-panel{flex-direction:column;min-height:364px;padding:26px;display:flex}.section-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.status-dot{background:#4f8a5f;border:2px solid #d8eadc;border-radius:50%;width:10px;height:10px;margin-top:5px}.status-message{color:#5d6865;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;min-height:210px;display:flex}.status-message p{margin:0 0 18px;line-height:1.6}.status-symbol{color:#255854;border:2px solid #8fb0a8;border-radius:50%;place-items:center;width:38px;height:38px;margin-bottom:16px;font-size:24px;font-weight:800;display:grid}.status-symbol-error{color:#a84131;border-color:#d9988e}.loading-bar{background:#d8dfdb;border-radius:2px;width:120px;height:5px;margin-bottom:18px;overflow:hidden}.loading-bar:after{content:"";background:#cc8731;width:45%;height:100%;animation:1.2s ease-in-out infinite alternate loading;display:block}@keyframes loading{0%{transform:translate(-10%)}to{transform:translate(135%)}}.active-expedition{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:24px;display:flex}.active-expedition p{color:#68736f;margin:0}.state-label,.capacity-label{color:#6e4118;background:#f1dfbd;border-radius:4px;padding:4px 7px;font-size:12px;font-weight:800;display:inline-block}.roster-section{border-top:1px solid #c4ccc7;margin-top:42px;padding-top:30px}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.hero-card{background:#fff;border:1px solid #cbd2ce;border-top:4px solid #255854;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:112px;padding:18px;display:grid}.hero-card-vanguard{border-top-color:#b5543d}.hero-card-warden{border-top-color:#3c6d7b}.hero-card-ranger{border-top-color:#7b6e3b}.hero-card h3,.hero-card p{margin:0}.hero-card p{color:#67716e;margin-top:4px;font-size:13px}.hero-card>strong{color:#53605c;font-size:12px}.hero-index{color:#a1aaa7;font-family:Georgia,Times New Roman,serif;font-size:22px}.detail-panel{min-height:300px;padding:28px}.expedition-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.expedition-detail{gap:26px;display:grid}.route-section{gap:14px;display:grid}.route-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.route-map{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.route-node{background:#f2f4f1;border:1px solid #cbd3cf;border-left:4px solid #8b9b95;border-radius:5px;gap:4px;min-width:0;padding:11px 13px;display:grid}.route-node-skipped{opacity:.58;border-left-color:#9aa19e}.route-node span,.route-node small{color:#65706d;font-size:11px}.route-node strong{overflow-wrap:anywhere;font-size:13px}.route-node em{color:#8a6a1f;font-size:11px;font-style:normal;font-weight:650}.route-actions{gap:10px;display:grid}.route-actions h3{margin:0}.route-card{color:#25302d;text-align:left;cursor:pointer;background:#f5f6f3;border:1px solid #bdc8c3;border-left:4px solid #cc8731;border-radius:6px;gap:7px;min-width:0;padding:17px;display:grid}.route-card:hover:not(:disabled){background:#f9f2e7;border-color:#b7772e}.route-card:disabled{opacity:.65}.route-card span,.route-card small{color:#65706d}.route-card span{font-size:12px;font-weight:800}.route-card strong{overflow-wrap:anywhere}.route-card small{font-size:12px}.encounter-panel{color:#e7efeb;background:#253c39;border-left:5px solid #b5543d;border-radius:6px;padding:20px}.encounter-panel h2{color:#fff}.encounter-panel p:not(.eyebrow),.encounter-panel ul{color:#cfdbd6;margin-bottom:0}.encounter-panel li+li{margin-top:5px}.event-options{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:18px;display:grid}.event-option{color:#f3f0e6;text-align:left;cursor:pointer;background:#314b47;border:1px solid #769087;border-left:4px solid #e3ad4f;border-radius:5px;gap:7px;padding:14px;display:grid}.event-option:hover:not(:disabled){background:#3b5b55}.event-option:disabled{opacity:.55}.event-option small{color:#b9cbc4}.boss-ready-panel{border-left-color:#e3ad4f;gap:12px;display:grid}.boss-ready-panel .end-turn-button{width:fit-content}.battle-heading,.battle-footer{justify-content:space-between;align-items:center;gap:18px;display:flex}.battle-resource{text-align:center;background:#162a27;border:1px solid #56716a;border-radius:5px;min-width:78px;padding:9px 12px;display:grid}.battle-resource span,.battle-unit span,.battle-unit small,.battle-card span,.battle-card small,.battle-footer small{color:#b9cbc4;font-size:11px}.battle-resource strong{color:#f1c66d;font-size:22px}.battle-units,.battle-hand{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin-top:14px;display:grid}.battle-unit{background:#1e3330;border:1px solid #536d67;border-left:4px solid #5f9e8f;border-radius:5px;gap:4px;min-width:0;padding:12px;display:grid}.battle-unit-enemy{border-left-color:#c26952}.battle-unit strong,.battle-card strong{overflow-wrap:anywhere}.battle-statuses{flex-wrap:wrap;gap:5px;margin:3px 0 0;padding:0;list-style:none;display:flex}.battle-statuses li{color:#d8e7e1;background:#314b46;border:1px solid #66857d;border-radius:999px;padding:3px 6px;font-size:10px}.battle-hand{border-top:1px solid #536d67;margin-top:20px;padding-top:16px}.battle-card{color:#f3f0e6;text-align:left;cursor:pointer;background:#3c3125;border:1px solid #a97b42;border-top:4px solid #e3ad4f;border-radius:5px;gap:6px;min-width:0;min-height:98px;padding:12px;display:grid}.battle-card-control{align-content:start;gap:7px;min-width:0;display:grid}.battle-card-control .battle-card{width:100%;height:100%}.battle-target-picker{color:#b9cbc4;gap:4px;font-size:11px;display:grid}.battle-target-picker select{color:#f3f0e6;background:#243a36;border:1px solid #6f8c84;border-radius:4px;width:100%;min-width:0;padding:7px 8px}.battle-card-reason{color:#f2b6aa!important}.battle-card:hover:not(:disabled){background:#51402d}.battle-card:disabled{opacity:.48}.battle-footer{margin-top:18px}.end-turn-button{color:#18201f;cursor:pointer;background:#e3ad4f;border:1px solid #f1d99e;border-radius:5px;flex:none;padding:9px 14px;font-weight:800}.end-turn-button:hover:not(:disabled){background:#f1c66d}.abandon-button{color:#8a2e22;cursor:pointer;background:0 0;border:1px solid #c98c83;border-radius:5px;width:fit-content;padding:9px 13px}.abandon-button:hover:not(:disabled){background:#f9e4df}.abandon-confirmation{color:#6f261d;background:#fff3ef;border:1px solid #c98c83;border-radius:6px;gap:8px;width:fit-content;padding:12px;display:grid}.abandon-confirmation p{margin:0}.abandon-confirmation>div{flex-wrap:wrap;gap:8px;display:flex}.abandon-cancel-button{color:#34453d;cursor:pointer;background:#fff;border:1px solid #8a9a91;border-radius:5px;padding:9px 13px}.abandon-cancel-button:hover:not(:disabled){background:#eef3f0}.fatal-screen{background:#edf0ed;place-items:center;min-height:100vh;padding:24px;display:grid}.fatal-panel{width:min(560px,100%);padding:32px}.fatal-panel p:not(.eyebrow){color:#5d6865;line-height:1.6}.page-loading{color:#56615e;width:min(1180px,100% - 40px);margin:0 auto;padding:64px 0}.collection-page{gap:22px;display:grid}.collection-page .page-heading{margin-bottom:6px}.collection-message{color:#254d47;background:#dfece7;border-left:4px solid #4f8d7d;border-radius:5px;margin:0;padding:12px 14px}.collection-panel{background:#fff;border:1px solid #cbd2ce;border-radius:8px;padding:26px;box-shadow:0 12px 28px #1f2b280f}.preset-toolbar{grid-template-columns:repeat(2,minmax(180px,1fr)) repeat(2,auto);align-items:end;gap:12px;margin-top:16px;display:grid}.preset-toolbar label{color:#53605c;gap:6px;font-size:12px;font-weight:700;display:grid}.preset-toolbar input,.preset-toolbar select{color:#1d2926;background:#fff;border:1px solid #aebbb6;border-radius:4px;min-height:42px;padding:8px 10px}.loadout-grid,.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.loadout-hero,.inventory-card{background:#f5f6f3;border:1px solid #cbd2ce;border-top:4px solid #255854;border-radius:6px;min-width:0;padding:18px}.loadout-hero>p,.inventory-card p{color:#68736f;margin:0 0 14px;font-size:12px}.loadout-hero label{color:#53605c;gap:5px;margin-top:10px;font-size:12px;font-weight:700;display:grid}.loadout-hero select{color:#1d2926;background:#fff;border:1px solid #aebbb6;border-radius:4px;width:100%;min-height:40px;padding:7px 9px}.collection-save{width:min(320px,100%);margin-top:20px}.inventory-card{border-top-color:#cc8731;flex-direction:column;justify-content:space-between;gap:18px;display:flex}.inventory-card small{color:#68736f;margin-top:5px;display:block}.inventory-actions{flex-wrap:wrap;gap:8px;display:flex}.summon-page,.summon-history-page{gap:24px;display:grid}.summon-page .page-heading,.summon-history-page .page-heading{margin-bottom:4px}.summon-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:18px;display:grid}.summon-banner-panel,.summon-rates-panel,.summon-results,.summon-history-entry{background:#fff;border:1px solid #cbd2ce;border-radius:8px;padding:26px;box-shadow:0 12px 28px #1f2b2812}.summon-banner-panel{border-top:5px solid #cc8731;gap:24px;display:grid}.summon-banner-copy p:not(.eyebrow),.summon-pity p{color:#5d6865;margin-bottom:0;line-height:1.65}.summon-pity{background:#f5f6f3;border:1px solid #d3dad6;border-radius:6px;padding:18px}.summon-pity>div{justify-content:space-between;gap:16px;display:flex}.summon-pity progress{accent-color:#cc8731;width:100%;height:10px;margin-top:12px}.summon-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.summon-actions .secondary-button{width:100%}.text-link{color:#255854;width:fit-content;font-weight:750}.summon-rate-list{background:#d7ddda;border:1px solid #d7ddda;gap:1px;margin:16px 0 22px;display:grid}.summon-rate-list div{background:#f5f6f3;justify-content:space-between;padding:13px;display:flex}.summon-rate-list dt{font-weight:800}.summon-rate-list dd{color:#9a5b24;margin:0;font-weight:800}.summon-rates-panel summary{color:#255854;cursor:pointer;font-weight:750}.summon-pool-list,.summon-history-entry ul{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.summon-pool-list li,.summon-history-entry li{background:#f5f6f3;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px;display:flex}.summon-pool-list strong,.summon-pool-list small{display:block}.summon-pool-list small,.summon-history-entry small{color:#68736f}.summon-results{gap:16px;display:grid}.summon-result-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.summon-result-card{background:#f5f6f3;border:1px solid #cbd2ce;border-top:4px solid #71817b;border-radius:6px;min-width:0;padding:17px}.summon-result-card.rarity-sr,.summon-result-card.rarity-ssr,.summon-result-card.rarity-ur,.summon-result-card.rarity-sp{background:#fbf4e7;border-top-color:#cc8731}.summon-result-card h3{margin:8px 0 5px}.summon-result-card p{color:#68736f;margin:0;font-size:13px}.summon-result-card>strong{color:#8a4e19;margin-top:10px;display:inline-block}.summon-rarity{color:#fff;background:#255854;border-radius:3px;padding:3px 6px;font-size:11px;font-weight:850;display:inline-block}.summon-history-list{gap:14px;display:grid}.summon-history-entry header{border-bottom:1px solid #d7ddda;justify-content:space-between;align-items:start;gap:16px;padding-bottom:14px;display:flex}.summon-history-entry header>span{color:#6e4118;font-weight:800}.summon-history-entry li{justify-content:flex-start}.summon-history-entry li strong{flex:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=900px){.lobby-grid,.contract-panel{grid-template-columns:1fr}.zone-map{aspect-ratio:16/7;height:auto;min-height:0}.status-panel{min-height:300px}.hero-grid,.loadout-grid,.inventory-grid{grid-template-columns:1fr}.preset-toolbar{grid-template-columns:1fr 1fr}.summon-grid{grid-template-columns:1fr}}@media (width<=640px){.app-bar{grid-template-columns:minmax(0,1fr) auto;min-height:64px;padding:10px 16px}.app-bar nav{display:none}.brand-mark{width:36px;height:36px;font-size:21px}.environment-badge{font-size:11px}.page-shell,.compact-page{width:min(100% - 24px,1180px);padding:30px 0 48px}.page-heading{flex-direction:column;align-items:stretch;gap:20px}h1{font-size:38px}.lead{font-size:15px}.wallet-summary{flex-basis:auto}.contract-body,.status-panel,.detail-panel{padding:20px}.contract-stats,.expedition-facts{grid-template-columns:1fr}.hero-card{grid-template-columns:auto minmax(0,1fr)}.hero-card>strong{grid-column:2}.preset-toolbar,.summon-actions{grid-template-columns:1fr}.summon-banner-panel,.summon-rates-panel,.summon-results,.summon-history-entry{padding:20px}.summon-history-entry li{flex-wrap:wrap}}.expedition-stage{min-height:calc(100vh - 72px);color:var(--ivory);background:radial-gradient(circle at 50% 0%, #1f5a5c38, transparent 42rem), linear-gradient(#d4af370a 1px, transparent 1px), var(--night);background-size:auto,100% 48px,auto}.expedition-page{width:min(90rem,100% - 2.5rem);color:var(--ivory);font-size:var(--text-md);font-variant-numeric:tabular-nums;padding:2rem 0 4rem;line-height:1.5}.expedition-page h1,.expedition-page h2,.expedition-page h3{color:var(--ivory);line-height:1.25}.expedition-page h1{font-size:var(--text-xl);margin:0}.expedition-page h2{font-size:var(--text-lg)}.expedition-page h3,.expedition-page p{font-size:var(--text-md)}.expedition-page .eyebrow{color:var(--gold);font-size:var(--text-xs)}.expedition-page-heading{align-items:center;margin-bottom:1rem}.expedition-surface{min-height:18rem}.expedition-detail{gap:1rem}.expedition-hud{background:#d4af3759;border:1px solid #d4af3780;border-radius:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.expedition-hud>div{background:var(--lacquer);min-width:0;padding:.75rem 1rem}.expedition-hud dt{color:var(--ivory-muted);font-size:var(--text-xs)}.expedition-hud dd{color:var(--ivory);font-size:var(--text-sm);overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:800}.game-panel{min-width:0;color:var(--ivory);background:linear-gradient(145deg,#26211af5,#1a1712fa);border:1px solid #d4af377a;border-radius:.75rem;padding:1rem;box-shadow:0 1rem 2.5rem #0000003d}.game-panel p,.game-panel small,.game-panel span{color:var(--ivory-muted)}.panel-heading-row{justify-content:space-between;align-items:start;gap:1rem;display:flex}.game-button{min-height:2.75rem;color:var(--ivory);font-size:var(--text-md);cursor:pointer;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;padding:.65rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.game-button-primary{color:#1b1409;border-color:var(--champagne);background:linear-gradient(145deg,#e2c16b,#b8892b)}.game-button-secondary{color:var(--ivory);background:0 0;border-color:#d4af37b8}.game-button-danger{color:var(--ivory);background:var(--crimson);border-color:var(--crimson-text)}.game-button-danger-outline{width:fit-content;color:var(--crimson-text);border-color:var(--crimson-text);background:0 0}.game-button:hover:not(:disabled){filter:brightness(1.12)}.game-button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.48}.expedition-page button:focus-visible,.expedition-page a:focus-visible,.expedition-page input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.route-section{gap:.875rem}.route-map{grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));gap:.625rem}.route-node{min-width:0;min-height:8rem;color:var(--ivory);text-align:left;background:var(--lacquer);border:1px solid #d4af375c;border-left:.25rem solid var(--ivory-muted);border-radius:.625rem;gap:.25rem;padding:.75rem;display:grid;position:relative;overflow:hidden}.route-node-art{object-fit:cover;opacity:.28;width:5.5rem;height:100%;position:absolute;inset:0 0 auto auto;-webkit-mask-image:linear-gradient(270deg,#000 55%,#0000);mask-image:linear-gradient(270deg,#000 55%,#0000)}.route-node>span,.route-node>strong,.route-node>small,.route-node>b,.route-node>div,.route-node>p{z-index:1;max-width:calc(100% - 2.5rem);position:relative}.route-node>span,.route-node>small{color:var(--ivory-muted);font-size:var(--text-xs)}.route-node>b{color:var(--champagne);font-size:var(--text-sm);margin-top:.25rem}.route-node-current{background:var(--lacquer-raised);border-left-color:var(--gold)}.route-node-resolved{border-left-color:var(--jade)}.route-node-skipped{opacity:.55}.route-node-action{cursor:pointer;min-height:2.75rem}.route-node-action:hover:not(:disabled){border-color:var(--gold);background:#30291e}.route-preview,.route-preview-title{color:var(--ivory-muted);font-size:var(--text-xs);margin:.4rem 0 0}.route-preview div{gap:.125rem;margin-top:.4rem;display:grid}.route-preview b{color:var(--ivory)}.route-preview ul{margin:.125rem 0 0;padding-left:1rem}.tide-badge,.scrap-badge,.cargo-badge{background:var(--abyss);border:1px solid var(--abyss-line);border-radius:999px;flex:none;padding:.5rem .75rem;font-weight:800;color:var(--ivory)!important}.battle-panel{border-color:#f07a6c73}.battle-board{gap:.75rem;display:grid}.section-label{margin-bottom:.35rem;color:var(--ivory-muted)!important;font-size:var(--text-sm)!important}.expedition-page .battle-units{grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:.5rem;margin-top:0}.expedition-page .battle-unit{min-width:0;min-height:6.75rem;color:var(--ivory);text-align:left;background:var(--lacquer-raised);border:1px solid #6f97cf73;border-left:.25rem solid #6b8fb3;border-radius:.625rem;grid-template-columns:3.5rem minmax(0,1fr);gap:.65rem;padding:.65rem;display:grid;position:relative}.expedition-page .battle-unit-enemy{border-color:#f07a6c7a;border-left-color:var(--crimson-text)}.battle-unit-target{cursor:crosshair;width:100%;min-height:2.75rem;box-shadow:0 0 0 2px var(--champagne)}.battle-unit-target:hover:not(:disabled){box-shadow:0 0 0 3px var(--gold);background:#352c21}.battle-unit-down{filter:grayscale();opacity:.58}.unit-art{object-fit:cover;border:1px solid #d4af3770;border-radius:.5rem;width:3.5rem;height:3.5rem}.unit-copy{gap:.25rem;min-width:0;display:grid}.health-row{gap:.15rem;display:grid}.health-row progress{width:100%;height:.55rem;accent-color:var(--jade)}.health-row span,.unit-copy small{color:var(--ivory-muted);font-size:var(--text-xs)}.barrier-label{font-size:var(--text-sm);font-weight:800;color:var(--sapphire)!important}.down-label{font-weight:800;color:var(--crimson-text)!important}.intent-badge{z-index:2;text-align:right;background:#0d0c0ae0;border:1px solid #d4af378c;border-radius:.4rem;max-width:calc(100% - 5rem);padding:.3rem .45rem;display:grid;position:absolute;top:.4rem;right:.4rem}.intent-badge span,.intent-badge small{font-size:var(--text-xs)}.intent-badge strong,.intent-badge b{color:var(--champagne);font-size:var(--text-md)}.expedition-page .battle-statuses{grid-column:1/-1;margin:.2rem 0 0}.expedition-page .battle-statuses li{color:var(--ivory);font-size:var(--text-xs);background:var(--abyss);border-color:var(--abyss-line)}.stolen-cargo{border:1px solid var(--crimson-text);background:#a8322c3d;border-radius:.4rem;grid-column:1/-1;gap:.15rem;padding:.4rem;display:grid}.stolen-cargo b{color:var(--crimson-text)}.surge-warning,.fairness-note,.scale-note,.event-result{background:var(--abyss);border-left:.25rem solid var(--abyss-line);border-radius:.4rem;margin:.6rem 0;padding:.6rem .75rem;color:var(--ivory)!important}.selected-card-panel{background:var(--lacquer-raised);border:2px solid var(--gold);border-radius:.75rem;grid-template-columns:minmax(9rem,12rem) minmax(0,1fr);gap:1rem;margin-top:.75rem;padding:.85rem;display:grid;box-shadow:0 0 1.5rem #d4af3729}.selected-card-art{aspect-ratio:5/7;object-fit:cover;border:1px solid var(--gold);border-radius:.625rem;width:100%}.selected-card-panel h3{font-size:var(--text-lg)}.card-description,.card-effects{color:var(--ivory)!important;font-size:var(--text-md)!important}.card-effects{color:var(--jade)!important}.target-prompt{align-items:center;min-height:2.75rem;font-weight:800;display:inline-flex;color:var(--champagne)!important}.battle-hand-section{border-top:1px solid #d4af375c;margin-top:.85rem;padding-top:.75rem}.battle-hand-section>header{justify-content:space-between;align-items:end;gap:1rem;display:flex}.battle-hand-section h3,.battle-hand-section p{margin-bottom:.15rem}.battle-hand-section>header>span{font-size:var(--text-xs)}.expedition-page .battle-hand{border-top:0;grid-template-columns:repeat(auto-fit,minmax(6.75rem,1fr));gap:.5rem;margin-top:.65rem;padding-top:0}.expedition-page .game-card{min-width:0;min-height:2.75rem;color:var(--ivory);text-align:left;aspect-ratio:5/7;background:var(--lacquer);border:1px solid var(--gold);cursor:pointer;border-radius:.625rem;padding:0;display:grid;position:relative;overflow:hidden}.game-card-selected{box-shadow:0 0 0 3px var(--champagne), 0 .8rem 1.8rem #00000059;translate:0 -.3rem}.game-card-art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.game-card-copy{z-index:1;background:linear-gradient(#0000,#1a1712f5 42%);gap:.1rem;padding:2.4rem .5rem .5rem;display:grid;position:absolute;inset:auto 0 0}.game-card-copy strong{color:var(--ivory);font-size:var(--text-sm)}.game-card-copy small,.game-card-copy em{color:var(--ivory-muted);font-size:var(--text-xs);font-style:normal}.game-card-copy em{color:var(--crimson-text)}.card-cost{z-index:2;background:var(--champagne);border:2px solid var(--gold);border-radius:50%;place-items:center;width:2rem;height:2rem;font-weight:900;display:grid;position:absolute;top:.4rem;left:.4rem;color:#1b1409!important;font-size:var(--text-lg)!important}.card-cost-warning{background:var(--crimson);border-color:var(--crimson-text);color:var(--ivory)!important}.expedition-page .battle-footer{min-height:3rem;margin-top:.8rem}.battle-footer>span{color:var(--ivory-muted);font-size:var(--text-sm)}.decision-panel{gap:.75rem;display:grid}.decision-grid,.reward-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));gap:.75rem;display:grid}.decision-card,.reward-card{min-width:0;color:var(--ivory);background:var(--lacquer-raised);border:1px solid #d4af376b;border-radius:.625rem;align-content:start;gap:.5rem;padding:.85rem;display:grid}.decision-card h3,.decision-card p,.reward-card h3,.reward-card p{margin:0}.decision-card>.game-button,.reward-card>.game-button{align-self:end;margin-top:auto}.decision-art{object-fit:cover;border:1px solid var(--gold);border-radius:.5rem;width:5rem;height:5rem}.reward-card{border-top:.25rem solid #a3a39c;position:relative}.reward-card-art{aspect-ratio:5/7;object-fit:cover;border-radius:.45rem;width:100%}.rarity-r{border-top-color:#3fb3a3}.rarity-sr{border-top-color:#a585e0;box-shadow:inset 0 0 0 1px #a585e0}.rarity-label{font-size:var(--text-xs);background:var(--night);border:1px solid;border-radius:.25rem;padding:.2rem .4rem;font-weight:900;position:absolute;top:1.2rem;right:1.2rem;color:var(--ivory)!important}.held-relics,.cargo-list,.outcome-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.held-relics{grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr))}.held-relics li{background:var(--lacquer);border:1px solid #d4af375c;border-radius:.5rem;align-items:center;gap:.5rem;min-width:0;padding:.5rem;display:flex}.held-relic-art{object-fit:cover;border-radius:.35rem;width:2.75rem;height:2.75rem}.held-relics strong,.held-relics small{display:block}.held-relic-spent{filter:grayscale();opacity:.55}.availability{width:fit-content;font-size:var(--text-xs);border:1px solid;border-radius:999px;padding:.2rem .45rem;font-weight:800;color:var(--jade)!important}.availability-unavailable,.availability-unaffordable{color:var(--crimson-text)!important}.availability-purchased{color:var(--ivory-muted)!important}.outcome-list li{background:var(--lacquer);border-radius:.4rem;grid-template-columns:auto 1fr;gap:.5rem;padding:.45rem;display:grid}.outcome-list strong{color:var(--champagne)}.deck-action-panel,.deck-picker,.consignment-panel{background:var(--lacquer);border:1px solid #d4af3766;border-radius:.625rem;gap:.65rem;padding:.75rem;display:grid}.deck-picker>div{grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));gap:.5rem;display:grid}.deck-card-option{min-height:2.75rem;color:var(--ivory);text-align:left;background:var(--lacquer-raised);cursor:pointer;border:1px solid #d4af3759;border-radius:.5rem;gap:.15rem;padding:.65rem;display:grid}.deck-card-option[aria-pressed=true]{border-color:var(--champagne);box-shadow:inset 0 0 0 2px var(--gold)}.hero-health-list,.checkpoint-summary{background:#d4af374d;border:1px solid #d4af375c;border-radius:.5rem;grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));gap:1px;display:grid;overflow:hidden}.hero-health-list div,.checkpoint-summary div{background:var(--lacquer);padding:.65rem;display:grid}.checkpoint-panel{gap:.75rem;display:grid}.consignment-list{gap:.5rem;display:grid}.consignment-list label{background:var(--lacquer-raised);border-radius:.45rem;justify-content:space-between;align-items:center;gap:1rem;min-height:2.75rem;padding:.55rem;display:flex}.consignment-list label span,.consignment-list label small{display:block}.consignment-list input[type=number]{width:5rem;min-height:2.75rem;color:var(--ivory);background:var(--night);border:1px solid var(--gold);border-radius:.4rem;padding:.4rem}.consignment-list input[type=checkbox]{width:1.5rem;height:1.5rem;accent-color:var(--gold)}.selection-total{font-weight:800;color:var(--champagne)!important}.selection-total-error{color:var(--crimson-text)!important}.checkpoint-actions,.dialog-actions{flex-wrap:wrap;gap:.65rem;display:flex}.settlement-total{background:var(--lacquer-raised);border-left:.25rem solid var(--gold);border-radius:.5rem;width:fit-content;min-width:10rem;padding:.75rem 1rem;display:grid}.settlement-total strong{color:var(--champagne);font-size:var(--text-xl)}.settlement-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem;display:grid}.settlement-columns>section{background:var(--lacquer);border:1px solid #d4af375c;border-radius:.5rem;padding:.75rem}.cargo-list li{border-bottom:1px solid #d4af3733;justify-content:space-between;gap:.75rem;padding:.45rem 0;display:flex}.muted-copy{color:var(--ivory-muted)!important}.game-error{border-left:.25rem solid var(--crimson-text);background:#a8322c38;border-radius:.5rem;padding:.75rem;color:var(--crimson-text)!important}.game-dialog-backdrop{z-index:100;background:#000000b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.game-dialog{width:min(34rem,100%);max-height:calc(100vh - 2rem);color:var(--ivory);background:var(--lacquer-raised);border:1px solid var(--gold);border-radius:.75rem;padding:1.25rem;overflow:auto;box-shadow:0 1.5rem 4rem #0000008c}.game-dialog p:not(.eyebrow){color:var(--ivory-muted)}@media (width<=768px){.expedition-stage{min-height:calc(100vh - 64px)}.expedition-page{width:min(100% - 1rem,90rem);padding:1rem 0 2rem}.expedition-page-heading{flex-direction:row;align-items:center;gap:.75rem}.expedition-page-heading .game-button{flex:none}.expedition-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.game-panel{padding:.75rem}.selected-card-panel{grid-template-columns:7rem minmax(0,1fr)}.battle-hand-section>header,.expedition-page .battle-footer{flex-direction:column;align-items:stretch}.end-turn-button{width:100%}.settlement-columns{grid-template-columns:1fr}}@media (width<=420px){.expedition-page h1{font-size:1.35rem}.expedition-page-heading .game-button{font-size:var(--text-sm);padding-inline:.7rem}.panel-heading-row{flex-direction:column;align-items:stretch}.tide-badge,.scrap-badge,.cargo-badge{width:fit-content}.expedition-page .battle-units{grid-template-columns:1fr}.expedition-page .battle-hand{grid-template-columns:repeat(3,minmax(0,1fr))}.selected-card-panel{grid-template-columns:1fr}.selected-card-art{width:min(12rem,100%);margin:0 auto}.checkpoint-actions,.checkpoint-actions .game-button,.dialog-actions,.dialog-actions .game-button{width:100%}}.record-category-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.record-category{color:inherit;text-decoration:none;display:block}.record-category h2{margin-top:0}.record-tabs,.record-actions{flex-wrap:wrap;gap:.75rem;margin-block:1rem;display:flex}.record-tabs a{border:1px solid var(--border);color:inherit;border-radius:.5rem;min-height:44px;padding:.65rem .8rem}.record-tabs a.active{color:var(--gold);border-color:currentColor}.record-list{gap:1rem;padding:0;list-style:none;display:grid}.record-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.record-row h2{margin:.5rem 0;font-size:1.15rem}.record-row p{margin:.5rem 0}.record-row time,.record-detail time,.record-end{color:var(--text-muted);font-size:.9rem}.record-detail,.record-fields dd,.record-lines{overflow-wrap:anywhere}.record-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;display:grid}.record-fields dt{color:var(--text-muted);margin-bottom:.4rem;font-size:.9rem}.record-fields dd{margin:0}.record-lines{padding-left:1.5rem;line-height:1.8}.settings-page fieldset{border:0;margin:0;padding:0}.settings-page legend{margin-bottom:1rem;font-size:1.2rem;font-weight:700}.text-size-options{flex-wrap:wrap;gap:1rem;display:flex}.text-size-options label{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;display:flex}.text-size-options input{accent-color:#d5a744;width:1.15rem;height:1.15rem}.text-size-preview{border-left:3px solid #d5a744;padding:1rem;line-height:1.7}@media (width<=42rem){.record-row{flex-direction:column;align-items:stretch}.record-row .secondary-button{align-self:flex-start}}.records-page,.settings-page,.account-page{--text-muted:#52615b;--border:#bcc8c0;--gold:#805518}.app-bar nav{flex-wrap:wrap;justify-content:center}.nav-link{height:auto;min-height:44px;padding:.6rem .7rem}@media (width<=1100px){.app-bar{grid-template-columns:minmax(0,1fr) auto}.app-bar nav{grid-area:2/1/auto/-1;margin-top:.5rem;display:flex}}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.redemption-form{gap:.8rem;display:grid}.redemption-form input{width:100%;min-width:0;font:inherit;border:1px solid #87998c;border-radius:.6rem;padding:.8rem}.redemption-form button{justify-self:start}.operations-banner{background:var(--lacquer-raised);width:min(100% - 2rem,1200px);color:var(--ivory);overflow-wrap:anywhere;border:1px solid #b99645;border-radius:.8rem;flex-wrap:wrap;align-items:center;gap:.8rem;margin:1rem auto;padding:1rem;display:flex}.operations-banner a{color:var(--champagne);align-items:center;min-height:44px;text-decoration:underline;display:flex}.payment-products{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;display:grid}.payment-actions{flex-wrap:wrap;gap:.75rem;display:flex}.payment-history{padding:0;list-style:none}.payment-history li{border-bottom:1px solid var(--border);padding-block:1rem}.payment-reference,.payment-notice{overflow-wrap:anywhere}.service-page{gap:1.25rem;display:grid}.service-page :is(article,section,form,.collection-panel){overflow-wrap:anywhere;min-width:0}.service-page .page-heading{margin-bottom:0}.service-page .page-heading>div{min-width:0}.service-page :is(.record-actions,.payment-actions){gap:.75rem}.service-page .record-actions>p{margin:0}.service-page :is(h2,h3){margin-top:0}.service-page section>article+article{margin-top:1rem}.service-page .payment-products article{flex-direction:column;align-items:flex-start;display:flex}.service-page .payment-products button{margin-top:auto}.service-details{gap:.75rem;display:grid}.service-details>div{flex-wrap:wrap;column-gap:1rem;display:flex}.service-details dt{color:var(--ivory-muted);min-width:5rem}.service-details dd{margin:0}.service-page a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.service-state{color:var(--champagne);font-weight:700}.service-page [tabindex="-1"]:focus{outline:2px solid var(--champagne);outline-offset:4px}.app-shell:has(.account-theme){background:var(--night)}.app-shell:has(.account-theme) .app-bar{background:var(--lacquer);border-color:var(--gold)}.account-theme{--text-muted:var(--ivory-muted);--border:#776340;--gold:#d4af37;color:var(--ivory);line-height:1.6;font-size:var(--text-md);font-variant-numeric:tabular-nums}.account-theme :is(h1,h2,h3){color:var(--ivory);line-height:1.3}.account-theme h1{font-size:clamp(1.75rem,4vw,2.5rem)}.account-theme h2{font-size:var(--text-lg)}.account-theme h3{font-size:var(--text-md)}.account-theme :is(.lead,.eyebrow,small,label,.session-card small){color:var(--ivory-muted);font-size:var(--text-md)}.account-theme :is(.collection-panel,.auth-panel,.status-message){background:var(--lacquer);color:var(--ivory);border-color:var(--border);border-radius:.75rem}.account-theme :is(.auth-panel,.collection-panel){min-width:0;padding:clamp(1rem,3vw,2rem)}.account-theme a{color:var(--champagne)}.account-theme :is(a,button,input){touch-action:manipulation}.account-theme :is(.primary-button,.secondary-button,.abandon-button,.password-toggle){height:auto;min-height:44px;font:inherit;white-space:normal;padding:.65rem 1rem;line-height:1.5}.account-theme .primary-button{color:#1b1409;border:1px solid var(--gold);background:linear-gradient(#e2c16b,#b8892b)}.account-theme :is(.secondary-button,.password-toggle){background:var(--lacquer-raised);color:var(--ivory);border:1px solid var(--border);border-radius:.5rem}.account-theme .abandon-button{color:var(--crimson-text);background:var(--lacquer-raised);border:1px solid var(--crimson-text);border-radius:.5rem}.account-theme button:disabled{opacity:.65}.account-theme :is(a,button,input):focus-visible{outline:3px solid var(--champagne);outline-offset:3px}.account-theme .auth-form input{width:100%;min-width:0;color:var(--ivory);background:var(--night);border:1px solid var(--border);font:inherit;border-radius:.5rem}.account-theme .auth-form input[aria-invalid=true]{border-color:var(--crimson-text)}.account-field{gap:.5rem;min-width:0;display:grid}.account-field label{font-weight:700}.account-field small{line-height:1.5}.password-input{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.account-theme .field-error{color:var(--crimson-text);margin:0}.account-theme :is(.auth-message,.collection-message){background:var(--lacquer-raised);color:var(--ivory);border-left:3px solid var(--gold);padding:1rem}.account-theme [role=alert]{border-left-color:var(--crimson-text)}.account-theme .session-card{background:var(--lacquer-raised);border-color:var(--border);align-items:flex-start}.session-card>div{overflow-wrap:anywhere;min-width:0}.account-theme .session-card p{margin-block:.5rem}.account-theme .session-card button{flex-shrink:0}.account-theme .record-tabs a.active{background:var(--lacquer-raised);border-color:var(--champagne);color:var(--champagne)}.account-theme :is(.record-actions,.auth-links,.auth-actions) a,.account-theme .record-detail>a,.account-theme .auth-panel>a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.account-theme .text-size-options label{color:var(--ivory)}.account-theme .record-row>div{overflow-wrap:anywhere;min-width:0}.account-dialog{width:min(32rem,100% - 2rem);max-height:calc(100% - 2rem);color:var(--ivory);background:var(--lacquer);border:1px solid var(--gold);border-radius:.75rem;padding:1.5rem;overflow-y:auto}.account-dialog::backdrop{background:#000b}.environment-badge{overflow-wrap:anywhere;align-content:center;max-width:min(16rem,46vw);min-height:44px;font-size:.875rem;display:grid}.skip-link{z-index:100;background:var(--champagne);color:var(--night);opacity:0;padding:.75rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{opacity:1;transform:translateY(0)}@media (width<=42rem){.account-theme .session-card{flex-direction:column}.account-theme .page-heading{flex-wrap:wrap}.account-theme .page-heading>div{min-width:0}}.harbor-page{min-width:0}.harbor-page :is(section,article,aside,fieldset,.page-heading>div){overflow-wrap:anywhere;min-width:0}.harbor-page :is(.contract-panel,.status-panel,.fatal-panel,.summon-banner-panel,.summon-rates-panel,.summon-results){background:var(--lacquer);color:var(--ivory);border-color:var(--border);border-radius:.75rem}.harbor-page :is(.hero-card,.contract-option,.loadout-hero,.inventory-card,.summon-pity,.summon-result-card,.summon-rate-list div,.summon-pool-list li){color:var(--ivory);background:var(--lacquer-raised);border-color:var(--border)}.harbor-page :is(.lead,.contract-body p:not(.eyebrow),.contract-option-details,.hero-card p,.status-message p,.active-expedition p,.collection-hint,.loadout-hero label,.inventory-card p,.inventory-card small,.summon-banner-copy p:not(.eyebrow),.summon-pity p,.summon-result-card p,.summon-pool-list small){color:var(--ivory-muted);font-size:var(--text-md);line-height:1.6}.harbor-page :is(.eyebrow,.capacity-label,.hero-index,.summon-result-card>strong,.summon-rate-list dd,.summon-rates-panel summary){color:var(--champagne);font-size:var(--text-md)}.harbor-page .wallet-summary{background:var(--lacquer-raised);border-color:var(--gold);flex:0 18rem;min-width:0}.harbor-page .wallet-summary strong{overflow-wrap:anywhere;font-size:1.75rem}.harbor-page .wallet-summary span{color:var(--ivory-muted);font-size:var(--text-md)}.harbor-page .contract-panel{grid-template-columns:minmax(0,1fr)}.harbor-page .zone-map{object-fit:cover;height:12rem;min-height:0}.harbor-page .contract-body{padding:clamp(1rem,2vw,1.75rem)}.harbor-page .contract-option:has(input:checked){border-color:var(--champagne);background:#353020}.harbor-page .contract-option:has(input:disabled){background:var(--night)}.harbor-page .contract-option:has(input:focus-visible){outline-color:var(--champagne)}.harbor-page .contract-option input{accent-color:var(--gold)}.harbor-page .hero-card>strong{color:var(--champagne);background:var(--night);font-size:var(--text-sm)}.harbor-page .state-label,.harbor-page .summon-rarity{color:var(--ivory);background:var(--abyss);font-size:var(--text-sm)}.harbor-page .creation-error{background:var(--lacquer-raised);border-color:var(--crimson-text);color:var(--crimson-text)!important}.harbor-page .capacity-label{background:var(--lacquer-raised);border:1px solid var(--border)}.harbor-page .status-symbol{color:var(--champagne);border-color:var(--gold)}.harbor-page .roster-section{border-color:var(--border)}.harbor-page .summon-rate-list{border-color:var(--border);background:var(--border)}.harbor-page .summon-rates-panel summary{min-height:44px;padding-block:.5rem}.harbor-page .summon-pity progress{accent-color:var(--gold)}.harbor-page .summon-result-card:is(.rarity-sr,.rarity-ssr,.rarity-ur,.rarity-sp){border-top-color:var(--gold)}.harbor-page :is(.preset-toolbar,.loadout-hero) :is(input,select){width:100%;min-width:0;min-height:44px;font:inherit;color:var(--ivory);background:var(--night);border:1px solid var(--border);border-radius:.5rem;padding:.5rem}.harbor-page :is(select,summary):focus-visible,.harbor-page [tabindex="-1"]:focus{outline:3px solid var(--champagne);outline-offset:3px}.harbor-page .preset-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.harbor-page .preset-toolbar label{font-size:var(--text-md)}.harbor-page .collection-controls{border:0;gap:1.5rem;margin:0;padding:0;display:grid}.harbor-page .action-confirmation{border:2px solid var(--gold)}.shop-offers{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;display:grid}.shop-page>section[aria-label]{margin-block:2rem}.shop-offer{overflow-wrap:anywhere;flex-direction:column;gap:.75rem;min-width:0;display:flex}.shop-offer h3,.shop-offer p{margin:0}.shop-offer button{margin-top:auto}.harbor-page .record-actions a,.harbor-page>nav a,.harbor-page .text-link{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.harbor-page .summon-banner-panel,.harbor-page .summon-rates-panel,.harbor-page .summon-results{padding:clamp(1rem,3vw,1.75rem)}.harbor-page .summon-pity>div,.harbor-page .section-title{flex-wrap:wrap}.harbor-page .summon-result-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}@media (width<=64rem){.harbor-page :is(.lobby-grid,.summon-grid){grid-template-columns:minmax(0,1fr)}.harbor-page :is(.loadout-grid,.inventory-grid,.hero-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=42rem){.harbor-page .page-heading{flex-direction:column;align-items:stretch;gap:1rem}.harbor-page .wallet-summary{flex-basis:auto;width:100%}.harbor-page :is(.loadout-grid,.inventory-grid,.hero-grid,.preset-toolbar,.summon-actions){grid-template-columns:minmax(0,1fr)}}.expedition-hud.tutorial-hud{grid-template-columns:repeat(3,minmax(0,1fr))}.tutorial-tag{color:var(--night);background:var(--champagne);font-size:var(--text-xs);vertical-align:middle;border-radius:.25rem;margin-left:.35rem;padding:0 .4rem;font-weight:800;display:inline-block}.tutorial-panel{gap:.75rem;display:grid}.tutorial-panel h2,.tutorial-panel p{margin:0}.tutorial-cargo summary{cursor:pointer;min-height:44px;font-weight:700}.tutorial-menu-actions{flex-direction:column;align-items:stretch}.hint-bar{z-index:50;width:min(100% - 2rem,90rem);padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));color:var(--ivory);background:var(--lacquer-raised);border:1px solid var(--gold);border-bottom:0;border-radius:.75rem .75rem 0 0;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;display:flex;position:sticky;bottom:0;box-shadow:0 -.75rem 2rem #00000073}.hint-bar p{margin:0;line-height:1.6}.hint-bar .game-button{flex:none;min-height:44px}.tutorial-replay-actions{flex-wrap:wrap;gap:.75rem;display:flex}.tutorial-replay-actions button{min-height:44px}.lobby-notice{border-left:.25rem solid var(--gold);background:#d4af371f;border-radius:.5rem;margin:0 0 1rem;padding:.75rem 1rem}@media (width<=42rem){.expedition-hud.tutorial-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.expedition-hud.tutorial-hud>div:first-child{grid-column:1/-1}.hint-bar{border-left:0;border-right:0;border-radius:0;width:100%}}.card-back{aspect-ratio:5/7;object-fit:cover;border-radius:.25rem;height:auto;display:inline-block}.account-title{color:var(--champagne);font-weight:700}.battle-pile-back{vertical-align:middle;width:1.125rem;margin:0 .25rem 0 0}.lobby-main,.lobby-side{align-content:start;gap:18px;min-width:0;display:grid}.lobby-page .contract-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.lobby-page .contract-options legend{grid-column:1/-1}.next-step,.lobby-recent,.lobby-novice,.lobby-records{color:var(--ivory);background:var(--lacquer);border:1px solid var(--border);border-radius:.75rem;gap:.75rem;padding:clamp(1rem,2vw,1.5rem);display:grid}.next-step{border-color:var(--gold)}.next-step :is(h2,p),.lobby-recent :is(h2,p),.lobby-novice :is(h2,p),.lobby-records h2{margin:0}.next-step p,.lobby-recent p{color:var(--ivory-muted);line-height:1.6}.next-step-actions{flex-wrap:wrap;gap:.75rem;display:flex}.next-step-actions :is(a,button){min-height:44px}.lobby-recent ol{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.lobby-recent li{background:var(--lacquer-raised);overflow-wrap:anywhere;border-radius:.5rem;gap:.125rem;padding:.5rem .75rem;display:grid}.lobby-recent time{color:var(--champagne);font-size:var(--text-sm)}.lobby-records a{min-height:44px;color:var(--champagne);align-items:center;display:flex}.lobby-goals,.lobby-entries{color:var(--ivory);background:var(--lacquer);border:1px solid var(--border);border-radius:.75rem;gap:.75rem;padding:clamp(1rem,2vw,1.5rem);display:grid}.lobby-goals h2,.lobby-entries h2,.goal-group h3,.goal-note{margin:0}.goal-group{gap:.5rem;display:grid}.goal-group h3{color:var(--champagne);font-size:var(--text-md)}.goal-list{gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.goal-list li{background:var(--lacquer-raised);overflow-wrap:anywhere;border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;padding:.5rem .75rem;display:flex}.goal-progress{color:var(--ivory-muted);font-variant-numeric:tabular-nums;gap:.5rem;display:inline-flex}.goal-done .goal-progress strong{color:var(--gold)}.goal-note{color:var(--ivory-muted);font-size:var(--text-sm);line-height:1.6}.lobby-entries ul{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.lobby-entries a{height:100%;min-height:44px;color:var(--ivory);background:var(--lacquer-raised);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:.5rem;align-content:center;gap:.25rem;padding:.625rem .75rem;text-decoration:none;display:grid}.lobby-entries a:hover,.lobby-entries a:focus-visible{border-color:var(--gold)}.lobby-entries a>span{color:var(--ivory-muted);font-size:var(--text-sm)}.lobby-entries .entry-badge{color:var(--night);background:var(--gold);font-size:var(--text-sm);border-radius:999px;justify-self:start;align-items:center;gap:.25rem;padding:.125rem .5rem;font-weight:700;display:inline-flex}.settlement-goals{gap:.75rem;display:grid}.settlement-goals h3{margin:0}.build-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.build-rules{color:var(--ivory-muted);flex:24rem;margin:0;padding-left:1.25rem;line-height:1.6}.build-toolbar .primary-button{min-height:44px}.build-status{flex-basis:100%;margin:0}.build-hero-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:start;gap:1rem;display:grid}.build-hero{background:var(--lacquer);border:1px solid var(--border);border-radius:.75rem;gap:1rem;padding:clamp(1rem,2vw,1.25rem);display:grid}.build-hero-profile{grid-template-columns:5rem minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.build-hero-profile :is(h2,p){margin:0 0 .25rem}.build-hero-profile p{color:var(--ivory-muted);line-height:1.5}.build-hero-art{object-fit:cover;border:1px solid var(--border);border-radius:.5rem;width:5rem;height:5rem}.build-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin:.5rem 0 0;display:grid}.build-hero-stats dt{color:var(--ivory-muted);font-size:var(--text-sm)}.build-hero-stats dd{margin:0;font-weight:700}.build-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.build-slot{width:100%;min-height:4.5rem;color:var(--ivory);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:var(--lacquer-raised);border:1px solid var(--border);border-radius:.5rem;align-content:start;gap:.25rem;padding:.625rem .75rem;display:grid}.build-slot span{color:var(--ivory-muted);font-size:var(--text-sm)}.build-slot-empty{border-style:dashed}.build-slot[aria-expanded=true]{border-color:var(--champagne);box-shadow:inset 0 0 0 1px var(--champagne)}.build-slot:focus-visible,.card-picker-option:focus-visible{outline:3px solid var(--champagne);outline-offset:2px}.build-slot .build-slot-warning{color:var(--crimson-text);font-weight:700}.card-picker{background:var(--night);border:1px solid var(--gold);border-radius:.75rem;gap:.75rem;padding:1rem;display:grid}.card-picker :is(h3,h4,p){margin:0}.card-picker>.secondary-button,.card-picker .section-title .secondary-button{justify-self:start;min-height:44px}.card-picker-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.card-picker-option{width:100%;min-height:44px;color:var(--ivory);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:var(--lacquer-raised);border:1px solid var(--border);border-radius:.5rem;gap:.25rem;padding:.625rem .75rem;display:grid}.card-picker-option span,.card-picker-option small{color:var(--ivory-muted);font-size:var(--text-sm)}.card-picker-option[aria-disabled=true]{cursor:not-allowed;background:var(--lacquer);border-style:dashed}.build-equipment{gap:.5rem;display:grid}.build-equipment label{font-size:var(--text-sm);gap:.25rem;display:grid}.build-equipment select{width:100%;min-width:0;min-height:44px;color:var(--ivory);font:inherit;background:var(--night);border:1px solid var(--border);border-radius:.5rem;padding:.5rem}.cosmetics-group{border:1px solid var(--border);border-radius:.75rem;gap:.5rem;margin:0 0 1rem;padding:1rem;display:grid}.cosmetics-group legend{padding:0 .25rem;font-weight:700}.cosmetics-option{cursor:pointer;background:var(--lacquer-raised);border:1px solid var(--border);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.75rem;min-height:44px;padding:.5rem .75rem;display:flex}.cosmetics-option:has(input:checked){border-color:var(--champagne);background:#353020}.cosmetics-option:has(input:focus-visible){outline:3px solid var(--champagne);outline-offset:2px}.cosmetics-option input{width:18px;height:18px;accent-color:var(--gold);margin:0}.cosmetics-card-backs{grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr));gap:.75rem;display:grid}.cosmetics-card-back-art{width:3.5rem}.summon-result-card{position:relative;overflow:hidden}.summon-reveal-back{pointer-events:none;width:100%;height:100%;animation:.48s ease-in both summon-reveal-away;animation-delay:calc(var(--reveal-index,0) * 80ms + .16s);border-radius:0;position:absolute;inset:0}@keyframes summon-reveal-away{0%{opacity:1;transform:perspective(40rem)rotateY(0)}to{visibility:hidden;opacity:0;transform:perspective(40rem)rotateY(90deg)}}.bottom-nav{display:none}@media (width<=767px){.app-bar nav .nav-primary{display:none}.bottom-nav{z-index:60;padding:.25rem .25rem calc(.25rem + env(safe-area-inset-bottom));background:var(--night);border-top:2px solid var(--gold);grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.5rem 1.5rem #00000073}.bottom-nav-link{min-width:0;min-height:48px;color:var(--ivory-muted);font-size:var(--text-sm);text-align:center;overflow-wrap:anywhere;border-radius:.5rem;justify-content:center;align-items:center;padding:.25rem;font-weight:700;line-height:1.25;text-decoration:none;display:flex}.bottom-nav-link-active{color:var(--night);background:var(--champagne)}.bottom-nav-link:focus-visible{outline:3px solid var(--champagne);outline-offset:-3px}.app-shell:has(>.bottom-nav)>main{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.app-shell:has(>.bottom-nav) .hint-bar{bottom:calc(4.5rem + env(safe-area-inset-bottom));border-bottom:1px solid var(--gold);border-radius:.75rem;padding-bottom:.75rem}.build-slots{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.summon-reveal-back{display:none}}.battle-scene,.battle-scene *{box-sizing:border-box}.battle-scene{z-index:80;color:#f3ead8;background:#0b141a;grid-template-rows:58px minmax(0,1fr) auto;font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;display:grid;position:fixed;inset:0;overflow:hidden}body:has(.battle-scene){overflow:hidden}body:has(.battle-scene) #root{height:100dvh;overflow:hidden}.battle-scene-topbar,.battle-scene-arena,.battle-scene-deck{width:100%;min-width:0}.battle-scene button{cursor:pointer;font:inherit}.battle-scene button:focus-visible{outline-offset:2px;outline:3px solid #f7e6aa}.battle-scene button:disabled{cursor:not-allowed}.battle-scene-topbar{background:linear-gradient(90deg,#171b1b,#101b21);border-bottom:1px solid #d4af3760;align-items:center;gap:20px;padding:0 22px;display:flex}.battle-scene-brand{white-space:nowrap;align-items:center;gap:10px;display:flex}.battle-scene-brand>span{color:#f1d98f;font-size:25px}.battle-scene-brand strong{letter-spacing:.09em;font:700 19px Georgia,Microsoft JhengHei,serif}.battle-scene-brand small{color:#b9ae9e;margin-left:6px;font-size:11px}.battle-scene-topstats{color:#dac9a8;gap:14px;margin-left:auto;font-size:13px;display:flex}.battle-scene-actions{gap:7px;display:flex}.battle-scene-icon{color:#f3ead8;background:#212725;border:1px solid #a68f5b88;border-radius:7px;place-items:center;min-width:44px;min-height:42px;padding:0 12px;font-size:13px;text-decoration:none;display:grid}.battle-scene-arena{isolation:isolate;background:radial-gradient(at 50% 28%,#37566188,#0000 50%),radial-gradient(at 50% 90%,#9b692b30,#0000 52%),linear-gradient(#101a20,#16282e 64%,#0e2024);min-height:0;position:relative;overflow:hidden}.battle-scene-arena:before{content:"";z-index:-1;background:repeating-linear-gradient(90deg,#0000 0 18%,#d8b76a10 18.2% 18.5%,#0000 19% 28%),linear-gradient(#0000 50%,#011114a0);position:absolute;inset:0}.battle-scene-round{z-index:1;position:absolute;top:14px;left:22px}.battle-scene-round h2{color:#f1d98f;margin:0;font:700 28px Georgia,Microsoft JhengHei,serif}.battle-scene-round small{color:#b9ae9e;font-size:11px}.battle-scene-surge{z-index:2;color:#cbe6e5;background:#0a2328de;border:1px solid #77b9bd77;border-radius:20px;padding:7px 12px;font-size:12px;position:absolute;top:14px;right:22px}.battle-scene-board{grid-template-columns:minmax(0,1fr) .22fr minmax(0,1fr);align-items:end;gap:15px;display:grid;position:absolute;inset:60px 26px 17px}.battle-scene-side{min-width:0}.battle-scene-team-label{color:#dac9a8;letter-spacing:.17em;margin-bottom:8px;font-size:11px;display:block}.battle-scene-foes .battle-scene-team-label{text-align:center}.battle-scene-center{color:#e8d29a;text-align:center;text-shadow:0 2px 16px #080c0e;align-self:center;font:italic 42px Georgia,serif}.battle-scene .battle-units{justify-content:center;align-items:end;gap:9px;min-width:0;display:flex}.battle-scene .battle-heroes{justify-content:start}.battle-scene .battle-scene-unit{color:#f3ead8;text-align:left;background:#101718;border:1px solid #a9915fbb;border-radius:9px;flex:1 1 0;min-width:0;max-width:164px;height:clamp(150px,31vh,290px);padding:0;transition:transform .18s,box-shadow .18s;display:block;position:relative;overflow:visible;box-shadow:0 12px 34px #0009}.battle-scene .battle-unit-enemy{max-width:210px;height:clamp(180px,43vh,370px)}.battle-scene .battle-enemies-1 .battle-unit-enemy{max-width:290px}.battle-scene .battle-unit-target{cursor:crosshair;border-color:#f8dc83;animation:1.2s ease-in-out infinite battle-target-pulse;box-shadow:0 0 0 3px #efd46977,0 0 28px #efd46988}.battle-scene .battle-unit-target:hover{transform:translateY(-6px)}.battle-scene .battle-unit-down{opacity:.5;filter:grayscale(.8)}.battle-scene-art{border-radius:inherit;object-fit:cover;object-position:center 20%;width:100%;height:100%;display:block;overflow:hidden}.battle-scene-unit-copy{background:linear-gradient(#0c1414a0,#0b1010fa 35%);border-radius:0 0 8px 8px;min-height:57px;padding:7px 8px;display:block;position:absolute;inset:auto 0 0}.battle-scene-unit-name{color:#fff2d7;white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.battle-scene-health{white-space:nowrap;align-items:center;gap:5px;margin-top:5px;font-size:10px;display:flex}.battle-scene-health-track{background:#5d272a;border-radius:5px;flex:1;height:7px;overflow:hidden}.battle-scene-health-track span{background:linear-gradient(90deg,#b24e46,#f0886a);height:100%;display:block}.battle-scene-health b{font-variant-numeric:tabular-nums;font-weight:600}.battle-scene-shield{color:#a6c8f0;font-size:10px;display:block}.battle-scene-stolen{color:#f1d98f;white-space:nowrap;text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.battle-scene-down{color:#f4b5aa;font-size:10px}.battle-scene-intent{z-index:3;color:#ffdfb9;text-align:center;white-space:nowrap;background:#2e2421f5;border:1px solid #e49c7799;border-radius:8px;max-width:130px;padding:4px 7px;display:block;position:absolute;top:-13px;right:-9px;box-shadow:0 5px 14px #0007}.battle-scene-intent strong,.battle-scene-intent small{text-overflow:ellipsis;display:block;overflow:hidden}.battle-scene-intent strong{font-size:13px}.battle-scene-intent small{font-size:9px}.battle-scene .battle-scene-statuses{flex-wrap:wrap;gap:3px;max-height:22px;margin:3px 0 0;padding:0;list-style:none;display:flex;overflow:hidden}.battle-scene .battle-scene-statuses li{color:#fff0cd;white-space:nowrap;background:#4e3330;border-radius:3px;padding:1px 4px;font-size:9px}.battle-scene-impact{z-index:4;color:#ff9a7b;white-space:nowrap;text-shadow:0 2px 15px #000,0 0 16px #f55245;pointer-events:none;font:700 32px Georgia,serif;animation:.8s ease-out forwards battle-float;position:absolute;top:20%;left:50%}.battle-scene-hit{animation:.32s ease-out battle-shake}.battle-scene-hit:after{content:"";border-radius:inherit;pointer-events:none;background:#fb554d77;animation:.35s ease-out forwards battle-flash;position:absolute;inset:0}.battle-scene-lunge{animation:.36s ease-out battle-lunge}.battle-scene-turn-banner{z-index:8;color:#f1d98f;white-space:nowrap;pointer-events:none;background:#101d21ec;border-top:1px solid #d4af37;border-bottom:1px solid #d4af37;padding:12px 28px;font:700 28px Georgia,serif;animation:.85s both battle-banner;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 60px #000}.battle-scene-deck{min-height:0;padding:7px 22px max(10px, env(safe-area-inset-bottom));background:linear-gradient(#1a2424,#101718 60%,#0d1111);border-top:1px solid #b9964c88;position:relative;box-shadow:0 -15px 45px #06111699}.battle-scene-deck-head{justify-content:space-between;align-items:center;gap:10px;min-height:29px;display:flex}.battle-scene-energy{color:#f5e6b5;white-space:nowrap;align-items:center;gap:7px;display:flex}.battle-scene-energy strong{font-size:19px}.battle-scene-energy span:last-child{color:#d4af37;letter-spacing:3px}.battle-scene-pile-button,.battle-scene-detail-button{color:#d3c3a6;text-underline-offset:3px;background:0 0;border:0;padding:3px 6px;font-size:12px;text-decoration:underline}.battle-scene-selection{color:#e9ddc4;white-space:nowrap;align-items:center;gap:8px;height:32px;font-size:13px;display:flex;overflow:hidden}.battle-scene-selection strong{color:#f1d98f;flex:none}.battle-scene-selection>span:not(.battle-scene-target-prompt){text-overflow:ellipsis;overflow:hidden}.battle-scene-selection em{color:#f4ab99;flex:none;font-size:11px}.battle-scene-selection .battle-scene-target-prompt{color:#f1d98f;margin-left:auto}.battle-scene-play-button{color:#211708;background:#ad8436;border:1px solid #e5c568;border-radius:5px;flex:none;margin-left:auto;padding:4px 10px;font-weight:700!important}.battle-scene-hand-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.battle-scene .battle-hand{justify-content:center;align-items:end;gap:7px;min-width:0;padding:9px 2px 2px;display:flex;overflow:auto hidden}.battle-scene-card-wrap{flex:0 115px;min-width:70px;position:relative}.battle-scene .battle-scene-card{color:#f3ead8;text-align:left;background:#111a1a;border:2px solid #b7aca0;border-radius:8px;width:100%;height:127px;min-height:0;padding:0;transition:transform .15s,box-shadow .15s;display:block;position:relative;overflow:hidden;box-shadow:0 5px 14px #0008}.battle-scene .battle-scene-card:hover,.battle-scene .battle-scene-card.game-card-selected{transform:translateY(-6px);box-shadow:0 0 0 2px #f4d776,0 8px 24px #000c}.battle-scene .battle-scene-card-unavailable{filter:grayscale(.8);opacity:.58}.battle-scene .battle-scene-card .game-card-art{object-fit:cover;object-position:center 18%;width:100%;height:calc(100% - 28px);position:absolute;inset:0 0 28px}.battle-scene .battle-scene-card .card-cost{z-index:2;color:#1a1206;background:radial-gradient(#e9ca73,#9d6d22);border:1px solid #ffe9a8;border-radius:50%;place-items:center;width:25px;height:25px;padding:0;font:700 15px Georgia,serif;display:grid;position:absolute;top:4px;left:4px}.battle-scene-card-number{z-index:2;color:#fff0d4;background:#121919e5;border-radius:4px;padding:2px 5px;font-size:12px;font-weight:700;position:absolute;top:49px;left:4px}.battle-scene .battle-scene-card .game-card-copy{text-align:center;background:linear-gradient(#121918dd,#0e1212);border-top:1px solid #c7b07788;min-height:38px;padding:3px 2px;display:block;position:absolute;inset:auto 0 0}.battle-scene .game-card-copy strong,.battle-scene .game-card-copy small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.battle-scene .game-card-copy strong{font-size:12px}.battle-scene .game-card-copy small{color:#e0cead;font-size:9px}.battle-scene-end-turn{color:#221707;background:linear-gradient(#f0d88c,#b48732);border:1px solid #fff0ba;border-radius:8px;width:150px;min-height:55px;margin-bottom:2px;box-shadow:0 4px 18px #d2a84950;font-size:17px!important;font-weight:800!important}.battle-scene-hint{background:#25312b;border:1px solid #d4af3766;border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:4px 7px;display:flex}.battle-scene-hint>button:first-child{color:#f3ead8;text-align:left;background:0 0;border:0;gap:8px;min-width:0;padding:0;display:flex}.battle-scene-hint b{color:#f1d98f;flex:none}.battle-scene-hint span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.battle-scene-hint-dismiss{color:#f1d98f;background:#17211f;border:1px solid #a68f5b;border-radius:4px;flex:none;margin-left:auto;padding:3px 7px}.battle-scene-message{margin:3px 0;font-size:12px}.battle-scene-error{color:#ffaba2}.battle-scene-dialog-backdrop{z-index:105}.battle-scene-dialog-dismiss{background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.battle-scene-dialog{z-index:1;max-height:min(80dvh,700px);padding-right:35px;position:relative;overflow:auto}.battle-scene-dialog-close{color:#f3ead8;background:#212725;border:1px solid #a68f5b;border-radius:5px;width:34px;height:34px;line-height:1;position:absolute;top:10px;right:10px;font-size:25px!important}.battle-scene-dialog .battle-pile-back{vertical-align:middle;max-width:30px;max-height:43px;display:inline-block}.battle-scene-card-wrap:hover:after{content:attr(data-tooltip);z-index:10;color:#f3ead8;white-space:normal;pointer-events:none;background:#102024;border:1px solid #d4af37;border-radius:5px;width:max-content;max-width:220px;padding:7px 9px;font-size:12px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}@keyframes battle-target-pulse{50%{box-shadow:0 0 0 3px #efd469aa,0 0 36px #efd469bd}}@keyframes battle-lunge{50%{transform:translate(25px,-8px)scale(1.04)}}@keyframes battle-shake{15%{transform:translate(-8px)}35%{transform:translate(7px)}55%{transform:translate(-4px)}75%{transform:translate(3px)}}@keyframes battle-flash{to{opacity:0}}@keyframes battle-float{0%{transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-45px)}}@keyframes battle-banner{0%{opacity:0;transform:translate(-50%,-50%)scale(.75)}25%,70%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0}}@media (width<=800px){.battle-scene{grid-template-rows:46px minmax(0,1fr) auto}.battle-scene-topbar{gap:7px;padding:0 8px}.battle-scene-brand{gap:4px}.battle-scene-brand>span{font-size:17px}.battle-scene-brand strong{letter-spacing:0;font-size:13px}.battle-scene-brand small,.battle-scene-exit,.battle-scene-actions .battle-scene-icon:first-child{display:none}.battle-scene-topstats{margin-left:5px;font-size:11px}.battle-scene-topstats span:not(:first-child){display:none}.battle-scene-actions{margin-left:auto}.battle-scene-icon{min-height:36px;padding:0 8px}.battle-scene-round{top:6px;left:10px}.battle-scene-round h2{font-size:20px}.battle-scene-round small{font-size:9px}.battle-scene-surge{padding:4px 7px;font-size:10px;top:6px;right:8px}.battle-scene-board{flex-direction:column-reverse;justify-content:space-between;align-items:stretch;gap:5px;display:flex;inset:40px 9px 6px}.battle-scene-team-label,.battle-scene-center{display:none}.battle-scene-side{width:100%;min-height:0}.battle-scene-foes{height:51%}.battle-scene-allies{height:37%}.battle-scene .battle-units{justify-content:center;align-items:stretch;gap:5px;height:100%}.battle-scene .battle-scene-unit,.battle-scene .battle-unit-enemy{flex:1 1 0;max-width:118px;height:100%;min-height:0}.battle-scene .battle-enemies-1 .battle-unit-enemy{max-width:170px}.battle-scene .battle-scene-unit-copy{min-height:0;padding:3px 4px}.battle-scene-unit-name{font-size:11px}.battle-scene-health{gap:3px;margin-top:2px;font-size:9px}.battle-scene-health-track{height:5px}.battle-scene-shield{font-size:9px}.battle-scene-intent{max-width:105px;padding:3px 5px;top:3px;right:-12px}.battle-scene-intent strong{font-size:11px}.battle-scene-intent small{font-size:8px}.battle-scene .battle-scene-statuses{max-height:14px;margin-top:1px}.battle-scene .battle-scene-statuses li{font-size:8px}.battle-scene-deck{padding:4px 7px max(6px, env(safe-area-inset-bottom))}.battle-scene-deck-head{min-height:24px}.battle-scene-energy{gap:4px;font-size:11px}.battle-scene-energy strong{font-size:15px}.battle-scene-energy span:last-child{letter-spacing:1px}.battle-scene-pile-button{font-size:10px}.battle-scene-selection{gap:4px;height:30px;font-size:11px}.battle-scene-selection>span:not(.battle-scene-target-prompt){flex:1}.battle-scene-selection .battle-scene-target-prompt{text-overflow:ellipsis;font-size:10px;overflow:hidden}.battle-scene-detail-button{font-size:10px}.battle-scene-play-button{padding:3px 5px;font-size:11px!important}.battle-scene-hand-row{display:block}.battle-scene .battle-hand{justify-content:space-between;gap:3px;padding:7px 1px 1px}.battle-scene-card-wrap{flex:1 0 0;min-width:0;max-width:72px}.battle-scene .battle-scene-card{height:109px}.battle-scene .battle-scene-card .card-cost{width:21px;height:21px;font-size:13px}.battle-scene-card-number{padding:1px 3px;font-size:10px;top:39px}.battle-scene .battle-scene-card .game-card-copy{min-height:33px}.battle-scene .game-card-copy strong{font-size:10px}.battle-scene .game-card-copy small{font-size:8px}.battle-scene-end-turn{width:100%;min-height:38px;margin:4px 0 0;font-size:14px!important}.battle-scene-hint{margin-bottom:2px;padding:2px 5px;font-size:11px}.battle-scene-hint-dismiss{padding:2px 4px}.battle-scene-card-wrap:hover:after{display:none}}@media (width<=800px) and (height<=700px){.battle-scene .battle-scene-card{height:88px}.battle-scene-card-number{top:31px}.battle-scene-selection{height:25px}.battle-scene-end-turn{min-height:34px}}@media (prefers-reduced-motion:reduce){.battle-scene *,.battle-scene :before,.battle-scene :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.collection-page .collection-section-nav{z-index:12;background:#0b141a;gap:6px;padding:8px 0;display:flex;position:sticky;top:0;overflow-x:auto}.collection-page .collection-section-nav button,.collection-page .collection-section-nav a{color:#f3ead8;min-height:44px;font:inherit;cursor:pointer;background:#212725;border:1px solid #a68f5b88;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:7px 12px;font-size:13px;text-decoration:none;display:inline-flex}.collection-page .collection-section-nav [aria-current=page]{color:#151008;background:#a17b35;border-color:#f1d98f;font-weight:700}.collection-page [hidden]{display:none!important}.collection-page .collection-controls>.collection-panel:not([hidden]){overscroll-behavior:contain;max-height:min(75dvh,780px);overflow-y:auto}.collection-page .inventory-metadata{margin-top:5px}.collection-page .inventory-metadata summary{color:#f1d98f;cursor:pointer;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.collection-page .inventory-card{gap:8px}.collection-page .inventory-card p{margin-bottom:4px}.build-page .build-hero{overscroll-behavior:contain;max-height:min(72dvh,680px);overflow-y:auto}@media (width>=1100px){.build-page .build-hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.records-page .record-list,.notifications-page .record-list{overscroll-behavior:contain;max-height:min(58dvh,650px);overflow-y:auto}.summon-result-backdrop{z-index:100}.summon-result-backdrop .summon-results{color:#f3ead8;background:#17211f;border:1px solid #d4af37;border-radius:12px;width:min(850px,100vw - 20px);max-height:min(85dvh,900px);padding:16px;overflow-y:auto;box-shadow:0 20px 60px #000b}.summon-result-backdrop .summon-result-grid{margin:10px 0}.summon-result-backdrop .game-button{margin-left:12px}.summon-rule-details summary{color:#f1d98f;cursor:pointer;min-height:44px;padding:8px 0}.shop-confirm-backdrop{z-index:100}.shop-confirm-backdrop .action-confirmation{color:#f3ead8;background:#17211f;border:1px solid #d4af37;border-radius:12px;width:min(520px,100vw - 20px);max-height:85dvh;padding:20px;overflow-y:auto;box-shadow:0 20px 60px #000b}.shop-rule-details summary{color:#f1d98f;cursor:pointer;min-height:44px;padding:8px 0}.lobby-map-details,.lobby-page .fortune-note,.build-rules-details{background:#17211f;border:1px solid #a68f5b88;border-radius:8px}.lobby-map-details summary,.lobby-page .fortune-note summary,.build-rules-details summary{color:#f1d98f;cursor:pointer;min-height:44px;padding:11px 14px}.lobby-map-details .zone-map{width:100%;height:12rem}.contract-option-wrap{min-width:0;position:relative}.contract-option-wrap .contract-option{width:100%;min-height:75px;padding-right:70px}.contract-detail-trigger{color:#f1d98f;cursor:pointer;background:#17211f;border:1px solid #a68f5b88;border-radius:6px;min-width:50px;min-height:44px;padding:5px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.lobby-page .fortune-note p{margin:8px 14px 12px}.build-rules-details{flex:24rem}.build-rules-details .build-rules{padding:0 16px 10px 32px}.build-swipe-hint{display:none}.route-node-wrap{min-width:0;position:relative}.route-node-wrap .route-node{width:100%;height:100%;padding-bottom:2.1rem}.route-preview-trigger{z-index:2;color:#f1d98f;cursor:pointer;background:#17211f;border:1px solid #a68f5b88;border-radius:5px;padding:3px 6px;font-size:11px;position:absolute;bottom:6px;right:8px}@media (width<=767px){.app-bar{min-height:58px;padding:6px 12px}.app-bar nav{display:none}}@media (width<=800px){.shop-page.page-shell{padding-top:10px}.shop-page.harbor-page .page-heading{flex-direction:row;align-items:center;gap:8px;margin-bottom:12px}.shop-page.harbor-page .page-heading>div:first-child{flex:1;min-width:0}.shop-page.harbor-page .page-heading .lead{display:none}.shop-page.harbor-page .page-heading .eyebrow{font-size:10px;line-height:1.2}.shop-page.harbor-page .page-heading h1{border:0;margin:2px 0 0;padding:0;font-size:25px;line-height:1.15}.shop-page.harbor-page .wallet-summary{border-left-width:3px;flex:none;width:auto;max-width:44%;padding:6px 9px}.shop-page.harbor-page .wallet-summary span{font-size:10px}.shop-page.harbor-page .wallet-summary strong{margin:0;font-size:19px;line-height:1.1}.shop-page .record-actions[aria-label=商店導覽]{white-space:nowrap;flex-wrap:nowrap;gap:4px;overflow-x:auto}.shop-page .record-actions[aria-label=商店導覽] a{flex:none;min-height:44px;padding:5px 8px;font-size:11px}.shop-page .shop-rule-details summary{font-size:12px}.summon-page.page-shell{padding-top:10px}.summon-page.harbor-page .page-heading{flex-direction:row;align-items:center;gap:8px;margin-bottom:12px}.summon-page.harbor-page .page-heading>div:first-child{flex:1;min-width:0}.summon-page.harbor-page .page-heading .lead{display:none}.summon-page.harbor-page .page-heading .eyebrow{font-size:10px;line-height:1.2}.summon-page.harbor-page .page-heading h1{border:0;margin:2px 0 0;padding:0;font-size:25px;line-height:1.15}.summon-page.harbor-page .wallet-summary{border-left-width:3px;flex:none;width:auto;max-width:44%;padding:6px 9px}.summon-page.harbor-page .wallet-summary span,.summon-page.harbor-page .wallet-summary small{font-size:10px}.summon-page.harbor-page .wallet-summary strong{margin:0;font-size:19px;line-height:1.1}.summon-page .summon-banner-panel{padding:10px 12px}.summon-page .summon-banner-copy h2{margin:2px 0;font-size:18px;line-height:1.2}.summon-page .summon-banner-copy .eyebrow{margin:0}.summon-page .summon-pity{padding:8px}.summon-page .summon-rule-details summary{min-height:36px;padding:5px 0;font-size:12px}.summon-page .summon-actions{gap:6px}.summon-page .summon-actions button{min-height:44px}.page-shell:is(.lobby-page,.build-page,.collection-page){padding-top:10px}.harbor-page:is(.lobby-page,.build-page,.collection-page) .page-heading{flex-direction:row;align-items:center;gap:8px;margin-bottom:12px}.harbor-page:is(.lobby-page,.build-page,.collection-page) .page-heading>div:first-child{flex:1;min-width:0}.harbor-page:is(.lobby-page,.build-page,.collection-page) .page-heading .lead{display:none}.harbor-page:is(.lobby-page,.build-page,.collection-page) .page-heading .eyebrow{font-size:10px;line-height:1.2}.harbor-page:is(.lobby-page,.build-page,.collection-page) .page-heading h1{border:0;margin:2px 0 0;padding:0;font-size:25px;line-height:1.15}.harbor-page:is(.lobby-page,.build-page,.collection-page) .wallet-summary{border-left-width:3px;flex:none;width:auto;max-width:44%;padding:6px 9px}.harbor-page:is(.lobby-page,.build-page,.collection-page) .wallet-summary span,.harbor-page:is(.lobby-page,.build-page,.collection-page) .wallet-summary small{font-size:10px}.harbor-page:is(.lobby-page,.build-page,.collection-page) .wallet-summary strong{margin:0;font-size:19px;line-height:1.1}.lobby-page .next-step{gap:4px;padding:10px 12px}.lobby-page .next-step p{line-height:1.3}.lobby-page .contract-body{gap:8px;padding:12px}.lobby-page .contract-body>div:first-child>p:last-child{display:none}.collection-page .collection-section-nav{margin-bottom:8px}.collection-page .collection-controls>.collection-panel:not([hidden]){max-height:min(65dvh,620px)}.route-map{scroll-snap-type:x mandatory;gap:8px;padding-bottom:8px;display:flex;overflow:auto hidden}.route-node-wrap{scroll-snap-align:start;flex:0 0 min(69vw,245px)}.route-node-wrap .route-node{min-height:150px}.build-page .build-heading .lead{display:none}.build-swipe-hint{color:#dac9a8;margin:4px 0 9px;font-size:12px;display:block}.build-page .build-hero-grid{scroll-snap-type:x mandatory;gap:10px;padding-bottom:8px;display:flex;overflow:auto hidden}.build-page .build-hero{scroll-snap-align:center;overscroll-behavior:contain;flex:0 0 min(88vw,380px);max-height:min(72dvh,680px);overflow-y:auto}.build-page .build-hero-profile{grid-template-columns:3.5rem minmax(0,1fr)}.build-page .build-hero-art{width:3.5rem;height:3.5rem}}
