.production-panel{max-width:1120px;margin:32px auto;padding:24px;border:1px solid #cdd9be;border-radius:18px;background:#fafbf4;color:#243b2d}.production-heading,.production-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.production-heading{justify-content:space-between}.production-heading h2{margin:4px 0 16px}.production-panel button,.production-dialog button,.production-panel select,.production-dialog select{font:inherit;min-height:42px;padding:9px 13px;border:1px solid #bdcbb2;border-radius:9px;background:#f1f5e8;color:#284532;cursor:pointer}.production-panel button:disabled,.production-dialog button:disabled{opacity:.5;cursor:default}.production-note{font-size:12px;color:#65705f}.production-lands,.production-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-top:18px}.production-lands article,.production-role{padding:16px;border:1px solid #dce3d3;border-radius:12px;background:white;min-width:0}.production-role p,.production-lands p{font-size:13px;margin:9px 0}.production-role small{overflow-wrap:anywhere;font-size:11px;color:#697760}.production-role progress,.production-lands progress{width:100%;accent-color:#718e4b;height:10px}.role-affinities{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0;white-space:normal}.affinity,.role-level{font-size:11px;line-height:1.5;padding:3px 6px;border-radius:5px;white-space:normal}.affinity.good{background:#e1f0d9;color:#285b2e}.affinity.poor{background:#fff0d7;color:#8a5118}.affinity.neutral,.role-level{background:#edf0e9;color:#52604b}.coll-item .role-affinities{max-width:160px;justify-content:center}.production-dialog{max-width:650px;width:calc(100% - 28px);max-height:85vh;overflow:auto;border:1px solid #bfcbb6;border-radius:16px;padding:24px;background:#fffef6;color:#294332}.production-dialog::backdrop{background:#172c2980}.production-close{float:right}.production-option{display:flex;gap:9px;align-items:center;margin:12px 0;font-size:14px}.production-dialog input{min-width:18px;min-height:18px}.production-dialog-status,#productionMessage{color:#885022}.production-dialog .production-tools{margin-top:14px}@media(max-width:600px){.production-panel{margin:18px 12px;padding:15px}.production-roles,.production-lands{grid-template-columns:1fr}.production-tools button{flex-grow:1}.production-tools select{max-width:100%}}

.coll-item:has(.role-affinities){min-width:146px}.production-usdc{border:1px solid #bdcbb2;background:#f1f5e8;color:#284532;padding:12px 18px;min-height:44px;border-radius:10px;margin:10px;font:inherit;cursor:pointer}

#payConfirm:disabled{opacity:.5;cursor:not-allowed}

/* Shared production state, readable at both desktop and phone sizes. */
.world-yield.production-overview{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:16px 20px;width:100%;box-sizing:border-box}
.production-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.production-metric{display:flex;flex-direction:column;gap:6px;min-width:0}
.production-metric>span{font-size:12px;color:var(--dim,#697462);font-weight:400}
.production-metric>strong{font-size:17px;color:var(--ink,#263528);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.production-overview-note{font-size:12px;line-height:1.6;color:var(--dim,#697462);font-weight:400}
.production-weather-intel{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:9px;box-sizing:border-box;min-height:58px;padding:8px 11px;border:1px solid #d7dfd0;border-radius:11px;background:#f5f7ef;color:#63705f}.production-weather-intel__icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#e4e9dc;color:#667261;font:800 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.production-weather-intel>strong{display:flex;align-items:center;min-width:0;min-height:34px;font-size:11px;line-height:1.55;font-weight:650;overflow-wrap:anywhere;word-break:normal}.production-weather-intel.is-active{border-color:#a8c999;background:#edf7e8;color:#285f37}.production-weather-intel.is-active .production-weather-intel__icon{background:#cfe8c7;color:#236139}.production-weather-intel.is-inactive{border-color:#dfd5b3;background:#faf7e9;color:#70643c}.production-weather-intel.is-inactive .production-weather-intel__icon{background:#eee4bf;color:#705d22}
@media(max-width:600px){.production-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.world-yield.production-overview{padding:14px}.production-metric>strong{font-size:15px}.production-weather-intel{min-height:74px;padding:9px 10px}.production-weather-intel>strong{min-height:51px}.tp-head{flex-wrap:wrap;gap:8px}.tp-note{line-height:1.6}}
/* Claim readiness begins at 60 HASH, independently of the storage ceiling. */
.time-panel:not(.is-claimable) .tp-fill{background:#a4aba1;animation:none}
.time-panel .tp-claim:disabled,#productionClaim:disabled{background:#e1e4de;color:#858c81;border-color:#d1d6cc;opacity:1;cursor:not-allowed;box-shadow:none}
.time-panel.is-claimable .tp-claim:not(:disabled){background:#c8f541;color:#173d25;border-color:#a5d22d;box-shadow:0 4px 14px #74a52c38;font-weight:800}
.time-panel.is-claimable .tp-claim:not(:disabled):hover{background:#d7ff5e;border-color:#8fc526;box-shadow:0 6px 18px #74a52c52}
.time-panel.is-claimable .tp-note{color:#356c3c;font-weight:600}
.time-panel.is-claimable .tp-bar{overflow:visible;animation:earnings-ready-glow 2.4s ease-in-out infinite}
.time-panel.is-claimable .tp-fill{background:linear-gradient(90deg,#67a85f,#c8f541);animation:earnings-ready-light 2.4s ease-in-out infinite}
@keyframes earnings-ready-glow{0%,100%{box-shadow:0 0 3px #a3bf6350}50%{box-shadow:0 0 12px #b9ce7aa0}}
@keyframes earnings-ready-light{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3)}}
@media(prefers-reduced-motion:reduce){.time-panel.is-claimable .tp-bar,.time-panel.is-claimable .tp-fill{animation:none}.time-panel.is-claimable .tp-bar{box-shadow:0 0 6px #b9ce7a80}}
.coll-item.coll-add{align-self:stretch;justify-content:center;min-height:220px;border-style:dashed;text-decoration:none;color:var(--dim);gap:12px}
.coll-add>span{font-size:40px;font-weight:400;line-height:1}
.coll-add>small{font-size:12px}
.coll-item.coll-add:hover{border-color:var(--gold);color:var(--gold)}
.land-unlock-options{display:grid;gap:12px;margin:20px 0}.land-unlock-options button{padding:16px;text-align:left}
.role-affinities .affinity{display:inline-flex;flex-direction:column;gap:3px;border:1px solid transparent;line-height:1.5}
.role-affinities .affinity.is-inactive{background:#f0f2ed;color:#737d6c;border-color:#e2e7dc}
.role-affinities .affinity.good.is-active{background:#d8efc7;color:#245b23;border:2px solid #548e38;box-shadow:0 0 0 2px #548e3818;font-weight:700}
.role-affinities .affinity.poor.is-active{background:#ffe4bf;color:#864311;border:2px solid #c57a28;box-shadow:0 0 0 2px #c57a2818;font-weight:700}
.affinity-state{display:block;font-size:10px;letter-spacing:.2px}

/* Home hierarchy: one collection, one deployment control, one reward panel. */
#collRow,.land-roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:14px;align-items:stretch;overflow:visible}
#collRow .coll-item,.land-roster-grid .coll-item{width:auto;min-width:0;max-width:none;box-sizing:border-box;padding:18px 12px;min-height:232px;border-radius:16px}
#collRow .role-affinities,.land-roster-grid .role-affinities{max-width:none;width:100%;gap:6px}
#collRow .affinity,.land-roster-grid .affinity{width:100%;box-sizing:border-box;font-size:11px;text-align:left;padding:6px 8px}
#collRow .role-level,.land-roster-grid .role-level{margin:auto}
#collRow .coll-add,.land-roster-grid .coll-add{min-height:232px;align-items:center;justify-content:center;background:transparent}
#hudSeats.land-roster{display:block;width:min(960px,94vw);margin:4px auto 18px;box-sizing:border-box}
.land-roster-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 13px;padding-top:6px}
.land-roster-heading>div{display:flex;flex-direction:column;gap:4px}.land-roster-heading span{font-size:11px;color:var(--dim,#687461)}.land-roster-heading strong{font-size:18px;color:var(--txt,#263528)}.land-roster-heading small{font-size:11px;color:var(--dim,#687461);text-align:right}
.land-roster-grid{grid-template-columns:repeat(auto-fit,minmax(146px,1fr))}
.land-roster-grid .land-roster-add{font:inherit;color:var(--dim,#687461);cursor:pointer}
.land-roster-grid .land-roster-add:disabled{opacity:.55;cursor:not-allowed}
#collRow .coll-add:focus-visible,.production-dialog button:focus-visible,.production-dialog select:focus-visible,.production-dialog input:focus-visible,#creatureWorkActions button:focus-visible{outline:3px solid var(--gold,#a97f16);outline-offset:3px}
.home-fusion{scroll-margin-top:130px}
.fusion-workbench{display:grid;grid-template-columns:minmax(250px,1fr) minmax(260px,1fr);gap:28px;align-items:center;border:1px solid var(--line,#d9dfcf);border-radius:20px;background:var(--panel,#fafbf6);padding:28px}
.fusion-workbench p{font-size:14px;line-height:1.7;color:var(--dim,#687461);margin:0 0 18px}
.fusion-slot-preview{display:flex;align-items:center;gap:8px;justify-content:center}
.fusion-slot-preview span{display:grid;place-items:center;width:48px;height:64px;border:1px dashed var(--line,#c5ceb9);border-radius:12px;color:var(--dim,#879078);background:var(--panel2,#f1f4e9);font:600 20px monospace}
.fusion-slot-preview i{font-style:normal;font-size:14px;color:var(--dim,#879078)}
.fusion-slot-preview .fusion-result{border-style:solid;color:var(--gold,#ad881d);background:#d9bd4920}
.production-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:620px;padding:28px;border-radius:22px;background:var(--panel,#fafbf6);color:var(--txt,#263528);box-shadow:0 20px 80px #132b2b30;overscroll-behavior:contain}
.production-dialog h2{margin:0 40px 18px 0;font-size:22px;line-height:1.35}.production-dialog h3{font-size:15px;margin-top:24px}
.production-dialog p{font-size:14px;line-height:1.7;color:var(--dim,#687461)}
.production-dialog button,.production-dialog select,#creatureWorkActions button{min-height:44px;border-radius:12px;border:1px solid var(--line,#c5ceb9);background:var(--panel2,#f1f4e9);color:var(--txt,#263528);font:inherit;padding:10px 14px;cursor:pointer}
.production-dialog button:disabled,#creatureWorkActions button:disabled{opacity:.45;cursor:not-allowed}
.production-dialog .production-close{position:absolute;right:16px;top:16px;min-width:44px;padding:8px;font-size:22px;line-height:1}
 #creatureWorkActions{border-top:1px solid var(--line,#c5ceb9);padding-top:10px;margin-top:12px;gap:8px}
#creatureWorkActions button{flex:1 1 140px;font-size:13px}
.supply-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.supply-grid button{display:flex;flex-direction:column;gap:6px;align-items:center;padding:16px 8px}
.supply-grid strong{font-size:24px}.supply-grid span{font-size:12px}.supply-grid small{font-size:13px;color:var(--gold,#947116)}
#fusionChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0;max-height:260px;overflow:auto;padding:3px}
.fusion-choice{display:flex;align-items:center;gap:10px;min-height:64px;padding:10px;border:1px solid var(--line,#c5ceb9);border-radius:12px;cursor:pointer}
.fusion-choice:has(:checked){border-color:var(--gold,#ad881d);background:#d9bd4918}.fusion-choice.unavailable{opacity:.5}
.fusion-choice span{min-width:0}.fusion-choice strong{font-size:13px}.fusion-choice small{display:block;font-size:11px;line-height:1.5;color:var(--dim,#687461);overflow-wrap:anywhere}
.fusion-main-label{display:grid;gap:8px;font-size:13px}#fusionPreview{padding:12px;background:var(--panel2,#f1f4e9);border-radius:10px;min-height:24px;font-variant-numeric:tabular-nums}
.production-option{line-height:1.6;align-items:flex-start}
.ws-av-item{width:28px;height:32px}.ws-av-item canvas{width:28px;height:28px;image-rendering:pixelated}
#payModal .modal-card,#creatureModal .modal-card,#crewPickModal .modal-card{box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
#timePanel .tp-note{font-size:12px}#timePanel .tp-claim{min-height:44px;font-size:13px}
@media(max-width:600px){#collRow,.land-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#collRow .coll-item,.land-roster-grid .coll-item{padding:14px 9px}.land-roster-heading{align-items:flex-start;flex-direction:column;gap:6px}.land-roster-heading small{text-align:left}.fusion-workbench{grid-template-columns:1fr;padding:18px;gap:18px}.fusion-slot-preview{gap:5px}.fusion-slot-preview span{width:38px;height:54px}.fusion-workbench .btn{width:100%}.production-dialog{padding:20px;max-height:calc(100dvh - 24px)}.production-dialog h2{font-size:20px}#fusionChoices{grid-template-columns:1fr;max-height:240px}.production-dialog .btn{width:100%}.tp-foot{align-items:stretch}.tp-foot .tp-claim{width:100%}}
/* Attribute values must remain legible instead of inheriting tiny pixel labels. */
#creatureAttrs .attr-row{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);gap:12px;padding:7px 0;align-items:start;line-height:1.55}
#creatureAttrs .attr-k,#creatureAttrs .attr-v{font:13px/1.55 Arial,'Microsoft YaHei',sans-serif;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
#creatureAttrs .attr-k{color:var(--dim,#687461)}#creatureAttrs .attr-v{color:var(--txt,#263528);font-weight:600}
#creatureTraits .affinity{font:12px/1.5 Arial,'Microsoft YaHei',sans-serif;padding:6px 8px}
#creatureWorkActions{position:sticky;bottom:-1px;background:var(--panel,#fafbf6);padding-bottom:6px}
@media(max-width:400px){#navPill a{font-size:10px;padding-left:8px;padding-right:8px}#creatureAttrs .attr-row{grid-template-columns:94px minmax(0,1fr);gap:10px}}
/* Active affinity is a compact indicator; its spoken state remains accessible. */
.role-affinities .affinity.is-active{flex-direction:row;align-items:center;gap:6px;border-width:1px;font-weight:600}
.affinity-light{display:inline-block;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#438d38;color:#438d38;animation:affinity-breathe 2.4s ease-in-out infinite}
.affinity.poor .affinity-light{background:#ba741f;color:#ba741f}
@keyframes affinity-breathe{0%,100%{opacity:.55;box-shadow:0 0 0 transparent}50%{opacity:1;box-shadow:0 0 6px currentColor}}
@media(prefers-reduced-motion:reduce){.affinity-light{animation:none;opacity:1}}
/* Reset inherited page geometry: native dialogs are viewport-centered. */
dialog.production-dialog{position:fixed!important;inset:0!important;margin:auto!important;height:fit-content!important;width:min(620px,calc(100vw - 32px))!important;max-height:calc(100dvh - 40px)!important;box-sizing:border-box;overflow:auto;padding:28px!important;float:none!important;transform:none!important}
dialog.production-dialog::backdrop{background:#17302975;backdrop-filter:blur(4px)}
dialog.production-dialog [hidden]{display:none!important}
dialog.production-dialog h2{font-size:23px;margin-bottom:12px}.production-dialog .dialog-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}
.unlock-eyebrow{display:block;font-size:11px;color:var(--dim);letter-spacing:1px;margin-bottom:8px}
.land-unlock-options{gap:12px;margin:24px 0}.land-unlock-options button{display:flex;align-items:center;gap:14px;padding:18px!important;border-radius:16px!important;background:var(--panel)!important;width:100%}
.land-unlock-options button:hover{border-color:var(--gold);background:#d9bd4910!important}.unlock-method-icon{width:40px;height:40px;border-radius:12px;background:var(--panel2);display:grid;place-items:center;font:bold 20px monospace;flex:none;color:var(--gold)}
.unlock-method-copy{display:flex;flex-direction:column;gap:5px;flex:1;text-align:left}.unlock-method-copy strong{font-size:15px}.unlock-method-copy small{font-size:12px;color:var(--dim);line-height:1.6}.unlock-method-value{font-size:12px;white-space:nowrap;color:var(--dim)}
.land-unlock-options [data-method="0"]{border-color:var(--gold)}.land-unlock-options [data-method="0"] .unlock-method-value{font-weight:700;color:var(--gold)}
.fusion-avatar{width:40px;height:40px;image-rendering:pixelated;flex:none;border-radius:8px;background:var(--panel2)}
#fusionChoices{max-height:250px}#fusionChoices .fusion-choice{padding:12px;gap:8px;min-height:80px;border-radius:14px!important}#fusionChoices .fusion-choice strong{font-size:13px}#fusionChoices .fusion-choice small{font-size:11px}
.fusion-selection-count{font-size:13px;font-weight:700;margin:18px 0 12px;color:var(--dim)}.fusion-get-more{display:block;padding:12px;background:var(--panel2);border-radius:10px;font-size:13px;color:var(--txt);text-decoration:none}
#fusionConfirm{display:block;width:100%;margin-top:16px;min-height:46px}.fusion-main-label{margin:14px 0}
@media(max-width:600px){dialog.production-dialog{padding:20px!important;width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important}.land-unlock-options button{padding:14px!important;gap:10px;flex-wrap:wrap}.unlock-method-value{margin-left:50px}.unlock-method-copy{flex-basis:calc(100% - 50px)}#fusionChoices{grid-template-columns:1fr;max-height:220px}.fusion-choice small{line-height:1.4}}
dialog.production-dialog input[type="checkbox"]{accent-color:var(--gold,#9a751d)}
/* Live stamina uses the same role record as work, rest and supplies. */
#worldSwitcher{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;overflow:visible;align-items:stretch;width:100%;box-sizing:border-box}
#worldSwitcher .ws-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label av" "buy buy";align-items:center;gap:12px;padding:18px;min-width:0;width:auto;min-height:150px;box-sizing:border-box;border-radius:16px;background:var(--panel,#fafbf6);flex:none}
#worldSwitcher .ws-label{grid-area:label;min-width:0;width:auto}
#worldSwitcher .ws-theme{display:flex;align-items:center;gap:8px;font:600 15px/1.5 Arial,'Microsoft YaHei',sans-serif;white-space:nowrap}
#worldSwitcher .ws-lore{max-width:none;font:12px/1.6 Arial,'Microsoft YaHei',sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:6px 0 10px;font-style:normal;word-break:normal}
#worldSwitcher .ws-slot,#worldSwitcher .ws-wid{font-size:11px;line-height:1.5;letter-spacing:0;white-space:nowrap}
#worldSwitcher .ws-cap{font-size:12px;margin-top:7px;white-space:nowrap}
#worldSwitcher .ws-active-mark{font-size:11px;margin-top:7px;white-space:nowrap}
#worldSwitcher .ws-av{grid-area:av;flex-shrink:0;align-self:center;margin:0}
#worldSwitcher .ws-av.ws-av-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px;width:65px;max-width:65px;height:auto;background:transparent}
#worldSwitcher .ws-av.ws-av-stack .ws-av-item{margin:0;width:28px;height:28px;flex:0 0 28px}
#worldSwitcher .ws-av.ws-av-stack .ws-av-item canvas{width:28px;height:28px}
#worldSwitcher .ws-av.ws-av-stack .ws-av-item:not(.ws-av-more){border:0;border-radius:0;background:transparent!important;box-shadow:none;overflow:visible}
#worldSwitcher .ws-av.ws-av-stack .ws-av-item:not(.ws-av-more) canvas{background:transparent!important}
#worldSwitcher .ws-av-empty{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:transparent!important}
#worldSwitcher .ws-buy-wrap{grid-area:buy;gap:6px}#worldSwitcher .ws-buy{width:100%;min-height:40px;font-size:13px;border-radius:10px}#worldSwitcher .ws-cost{font-size:11px;line-height:1.5}
#worldSwitcher .ws-card.active{border-color:#58c33c;box-shadow:inset 0 0 0 1px #58c33c;background:#f6ffef}
#worldSwitcher .ws-card:focus-visible{outline:3px solid #58c33c;outline-offset:3px}
@media(max-width:600px){#worldSwitcher{grid-template-columns:1fr;gap:10px}#worldSwitcher .ws-card{padding:16px;min-height:132px}#worldSwitcher .ws-lore{margin:5px 0 8px}#worldSwitcher .ws-av.ws-av-stack{max-width:92px;width:92px}}
.coll-item .role-energy{width:100%;margin:9px 0 2px;box-sizing:border-box;text-align:left}
.role-energy-label{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:5px;font:11px/1.4 Arial,'Microsoft YaHei',sans-serif;color:var(--dim,#697462)}
.role-energy-label strong{font-weight:600;font-variant-numeric:tabular-nums;color:var(--txt,#263528);white-space:nowrap}
.role-gathering-rate{display:flex;justify-content:space-between;align-items:baseline;gap:4px;margin-top:4px;font:10px/1.6 Arial,'Microsoft YaHei',sans-serif;color:var(--dim,#697462)}
.role-gathering-rate strong{font-size:11px;font-weight:600;color:#3b703c;white-space:nowrap;font-variant-numeric:tabular-nums}
.role-energy-track{height:6px;overflow:hidden;border-radius:4px;background:#dfe5d8}
.role-energy-fill{display:block;height:100%;background:#719c50;border-radius:inherit;transition:width .3s ease,background-color .2s ease}
.role-energy[data-state="low"] .role-energy-fill{background:#c99132}.role-energy[data-state="low"] strong{color:#946322}
.role-energy[data-state="empty"] .role-energy-track{background:#ecdad2}.role-energy[data-state="empty"] strong{color:#aa5037}
@media(prefers-reduced-motion:reduce){.role-energy-fill{transition:none}}
/* Fusion has a dedicated material library and a persistent result preview. */
.role-special{display:block;font:11px/1.5 Arial,'Microsoft YaHei',sans-serif;border:1px solid #d8dfd4;border-radius:6px;background:#f5f7f2;color:#43554a;padding:5px 7px;overflow-wrap:anywhere}
.role-special[data-tier="gold"]{border-color:#c99f4c;background:#fff3d8;color:#694713}
.role-special[data-tier="purple"]{border-color:#a77bc9;background:#f1e7fa;color:#4e286f}
.role-special.is-locked{border-style:dashed;box-shadow:none}
.role-special[data-tier="gold"].is-locked{border-color:#bda77b;background:#f7f0e3;color:#695332}
.role-special[data-tier="purple"].is-locked{border-color:#af93c5;background:#f1eaf6;color:#62447a}
.fusion-choice .role-energy,.fusion-choice .role-affinities{width:100%;margin:0}.fusion-choice .role-affinities{display:grid;gap:5px}.fusion-choice .role-level{display:none}.fusion-choice .affinity{font-size:11px;padding:5px 6px;white-space:normal}
/* One SVG coordinate system keeps every portrait, stream and reactor aligned. */
.fusion-coordinate-stage{display:block;width:100%;height:100%;overflow:visible}
.fusion-energy-guide{fill:none;stroke:#91ab83;stroke-width:2;opacity:.4}
.fusion-energy-line{fill:none;stroke:var(--hl-action,#d2f65a);stroke-width:4;stroke-linecap:square;stroke-dasharray:3 14;animation:fusion-stream-travel 1.8s linear infinite}
.fusion-energy-line.line-0{animation-delay:0s}.fusion-energy-line.line-1{animation-delay:-.45s}.fusion-energy-line.line-2{animation-delay:-.9s}.fusion-energy-line.line-3{animation-delay:-1.35s}
.fusion-mote{display:grid;place-items:center;box-sizing:border-box;width:100%;height:100%;border:2px solid #c3d1b4;border-radius:12px;background:#fffef8;box-shadow:0 3px 0 #d8e0cb}
.fusion-mote.is-main{border-color:#779a31;background:#f0f7d9;box-shadow:0 3px 0 #b6ce74}
.fusion-mote canvas{display:block;width:54px;height:54px;background:transparent!important;image-rendering:pixelated}
.fusion-node-name,.fusion-node-id,.fusion-reactor-note{text-anchor:middle;fill:#304329;font-family:Arial,'Microsoft YaHei',sans-serif;font-size:12px;font-weight:600}
.fusion-node-id{fill:#6f7f62;font-size:10px;font-weight:400}.fusion-reactor-note{fill:#536c32;font-size:9px;letter-spacing:1px}
.fusion-reactor-shell{fill:#d2f65a;stroke:#6d8d37;stroke-width:2;stroke-linejoin:miter}
.fusion-reactor-frame{fill:#eff7d4;stroke:#afc778;stroke-width:1}
.fusion-reactor-particles rect{fill:#557c2b;animation:fusion-corner-light 1.8s ease-in-out infinite;animation-delay:calc(var(--p)*-.3s)}
.fusion-reactor-silhouette{display:grid;place-items:center;width:100%;height:100%}.fusion-reactor-silhouette canvas{width:60px;height:60px;image-rendering:pixelated;background:transparent!important;animation:fusion-avatar-light 1.8s ease-in-out infinite}
.fusion-material-accessibility{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.fusion-reveal{display:none}.fusion-portrait-stage{position:relative;display:grid;place-items:center;min-width:0}
.fusion-portrait-stage canvas{width:160px;height:160px;background:transparent!important;image-rendering:pixelated}
.fusion-spark{display:none}.fusion-complete-kicker{color:#5b782f;font:11px/1.4 HashlingsPixel,monospace;letter-spacing:1px}
.production-dialog .fusion-complete-details h3{font:24px/1.3 HashlingsPixel,Arial,sans-serif;margin:10px 0;color:#243c2b;overflow-wrap:anywhere}
.fusion-complete-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#67755b}.fusion-complete-level{border:1px solid #afc48a;border-radius:6px;background:#e9f3cf;padding:4px 7px;color:#48662c}
.fusion-complete-traits{margin-top:14px}.fusion-complete-traits .role-affinities,.fusion-complete-traits .role-specials{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.fusion-complete-traits .affinity,.fusion-complete-traits .role-specials>*{font-size:11px;line-height:1.5;padding:4px 7px;white-space:normal}
.fusion-complete-traits .affinity-state{display:none}.fusion-no-special{color:#79876b}
.fusion-kept-characters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}.fusion-kept-characters>div{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid #d7dfcb;border-radius:10px;background:#fffef8;padding:16px 6px;min-width:0}.fusion-kept-characters canvas{width:64px;height:64px;image-rendering:pixelated}.fusion-kept-characters strong{font-size:12px}.fusion-kept-characters small{font:10px/1.5 monospace;color:#77846b;overflow-wrap:anywhere}.fusion-kept-note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:12px;color:#6d795e}
.fusion-phase-track{display:flex;justify-content:center;gap:6px;margin-top:12px}.fusion-phase-track i{width:6px;height:6px;background:#bfd57a;animation:fusion-corner-light 1.5s ease-in-out infinite}.fusion-phase-track i:nth-child(2){animation-delay:-.5s}.fusion-phase-track i:nth-child(3){animation-delay:-1s}
@keyframes fusion-stream-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes fusion-corner-light{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes fusion-avatar-light{0%,100%{filter:brightness(.82)}50%{filter:brightness(1.08)}}
@media(max-width:650px){.fusion-mote canvas{width:54px;height:54px}.fusion-kept-characters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.fusion-energy-line,.fusion-reactor-particles rect,.fusion-reactor-silhouette canvas,.fusion-phase-track i{animation:none!important;opacity:1}}

dialog.production-dialog[data-kind="fusion"]{width:min(960px,calc(100vw - 32px))!important;max-width:960px!important;padding:28px!important}
[data-kind="fusion"]>p{max-width:760px;margin:0 0 22px;font-size:13px}
.fusion-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}
.fusion-library-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;padding:4px 2px 12px}
.fusion-library-heading span{font-size:12px;color:var(--dim)}
.fusion-library #fusionChoices{margin:0;max-height:420px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:3px}
.fusion-library #fusionChoices .fusion-choice{position:relative;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;min-height:142px;background:#fffdf7;border:1px solid #dbe0d0}
.fusion-library #fusionChoices .fusion-choice:has(:checked){background:#f4f3de;border:1px solid var(--gold,#a57c16);box-shadow:inset 0 0 0 1px var(--gold,#a57c16)}
.fusion-library #fusionChoices .fusion-choice:has(:disabled){opacity:.45;cursor:not-allowed}
.fusion-library .fusion-choice input{position:absolute;right:12px;top:12px;width:18px;height:18px;margin:0}
.fusion-library .fusion-avatar{width:48px;height:48px;padding:4px;background:#f1efe6}
.fusion-library .fusion-choice strong{display:block;margin-bottom:5px}
.fusion-summary{padding:18px;background:#eff2e8;border:1px solid #dbe0d0;border-radius:16px;min-width:0}
.fusion-summary-heading{font-size:14px;font-weight:700;margin-bottom:14px}
.fusion-selected-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.production-dialog .fusion-selected-slot{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;height:78px;min-width:0;padding:8px 3px;border:1px solid #c9d1b9;background:#fffdf7;border-radius:10px}
.production-dialog .fusion-selected-slot{border-radius:10px!important}.fusion-selected-slot canvas{width:32px;height:32px;image-rendering:pixelated}.fusion-selected-slot small{font:10px/1.3 monospace;color:var(--dim)}
.fusion-selected-slot>span{position:absolute;right:4px;top:1px;color:var(--dim);font-size:14px}
.fusion-selected-slot.empty{border-style:dashed;background:transparent}.fusion-selected-slot.empty>span{position:static;font-size:22px;color:#9ca78c}
.fusion-result-card{margin-top:14px;border:1px solid #d9dfcc;background:#fffdf7;border-radius:12px;padding:16px}
.fusion-result-empty{text-align:center;padding:12px 0}.fusion-result-empty>span{display:block;font-size:32px;color:var(--gold,#a57c16);margin-bottom:10px}.fusion-result-empty strong{display:block;font-size:14px}.fusion-result-empty p{font-size:12px;margin:8px 0 0}
.fusion-result-identity{display:flex;align-items:center;gap:12px}.fusion-result-identity canvas{width:56px;height:56px;image-rendering:pixelated;background:#f4eedc;border-radius:10px;padding:4px}
.fusion-result-identity strong,.fusion-result-identity small,.fusion-result-identity span{display:block}.fusion-result-identity strong{font-size:15px;margin:4px 0}.fusion-result-identity small,.fusion-result-identity span{font-size:11px;color:var(--dim)}
.fusion-result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 0;border-top:1px solid #e4e7da;padding-top:14px}.fusion-result-stats dt{font-size:11px;color:var(--dim)}.fusion-result-stats dd{margin:4px 0 0;font:600 19px/1.2 Arial,sans-serif;color:#39472b}.fusion-result-stats dd small{font-size:11px;font-weight:400}
.production-dialog p.fusion-success-note{font-size:11px;color:#65794a;margin:14px 0 0}.fusion-summary #fusionPreview{font-size:12px;padding:0;background:none;min-height:0;margin:12px 0;line-height:1.5}
.fusion-summary #fusionConfirm{background:#967108;color:#fffaf0;border-color:#967108;font-size:14px;font-weight:600;box-shadow:0 2px 0 #735603}.fusion-summary #fusionConfirm:disabled{background:#dce1d3;color:#828c77;border-color:#dce1d3;box-shadow:none;opacity:1}
.fusion-summary select{width:100%;font-size:13px;background:#fffdf7}.fusion-summary #fusionTraits .production-option{font-size:12px}
@media(max-width:650px){dialog.production-dialog[data-kind="fusion"]{padding:20px!important;width:calc(100vw - 20px)!important}.fusion-layout{grid-template-columns:1fr;gap:16px}.fusion-library #fusionChoices{max-height:265px}.fusion-library #fusionChoices .fusion-choice{min-height:126px;padding:12px}.fusion-summary{padding:14px}.fusion-library-heading{flex-wrap:wrap}.fusion-selection-count{margin:10px 0}.fusion-result-empty{padding:4px}.fusion-result-empty>span{display:none}.fusion-summary #fusionConfirm{position:sticky;bottom:0}.fusion-get-more{margin-top:10px}}

.role-energy-state{display:block;font:10px/1.5 Arial,'Microsoft YaHei',sans-serif;color:var(--dim);margin-top:5px;min-height:15px}
#mint.is-minted{display:block!important}#mint.is-minted>.mint-card{display:none!important}.mint-complete{display:none}#timeBal{font-variant-numeric:tabular-nums}#tpTitle{line-height:1.6}#timePanel .tp-head{gap:10px;flex-wrap:wrap}

/* Land cards stay fixed; the blind-box picker uses a dedicated three-slot carousel. */
#worldSwitcher .ws-card:not(.empty){height:160px;min-height:160px;max-height:160px;grid-template-rows:1fr;grid-template-areas:'label av';align-items:start}
#worldSwitcher .ws-card:not(.empty) .ws-label{align-self:stretch;display:flex;flex-direction:column}#worldSwitcher .ws-card .ws-lore{height:38.4px;min-height:38.4px;flex-shrink:0}#worldSwitcher .ws-active-mark{margin-top:auto}
#worldSwitcher .ws-card.empty{height:160px;min-height:160px;max-height:160px;grid-template-columns:minmax(0,1fr);grid-template-rows:18px minmax(0,1fr) auto;grid-template-areas:'slot' 'label' 'buy';align-items:stretch;gap:6px 0;padding:12px 14px}
#worldSwitcher .ws-card.empty>.ws-slot{position:static!important;grid-area:slot;justify-self:end;align-self:start;max-width:100%;min-width:0;right:auto!important;top:auto!important}
#worldSwitcher .ws-card.empty .ws-slot-index{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:1px 5px;border:1px solid #d7dfd1;border-radius:6px;background:#f7f9f3;color:#6d7969;font:600 10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;box-sizing:border-box}
#worldSwitcher .ws-card.empty .ws-label{grid-area:label;display:flex;align-items:center;min-width:0}
#worldSwitcher .ws-card.empty .ws-empty-main{display:flex;align-items:center;gap:11px;min-width:0}
#worldSwitcher .ws-card.empty .ws-av{position:static;grid-area:auto;flex:0 0 46px;width:46px;height:46px;margin:0;border:1px dashed #b8c5b1;border-radius:12px;background:#f5f7f0!important;opacity:1}
#worldSwitcher .ws-card.empty .ws-slot-mark{color:#6d806a;font:500 22px/1 monospace}
#worldSwitcher .ws-card.empty .ws-empty-copy{min-width:0}.ws-card.empty .ws-theme{padding-right:0;overflow:visible}.ws-card.empty .ws-theme .ws-empty{overflow:hidden;text-overflow:ellipsis;color:#425646;font-size:14px;font-weight:700}
#worldSwitcher .ws-card.empty .ws-buy-wrap{grid-area:buy;display:grid;grid-template-rows:auto 40px;gap:5px;min-width:0}
#worldSwitcher .ws-card.empty .ws-cost{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.45;text-align:left}
#worldSwitcher .ws-card.empty .ws-buy{grid-area:auto;width:100%;height:40px;min-height:40px;padding:7px 10px;border:1px solid #88a67c;border-radius:9px;background:#eef5e8;color:#315a39;font-size:12px;font-weight:700;box-sizing:border-box}
#worldSwitcher .ws-card.empty .ws-buy:hover:not(:disabled){background:#e3f0dc;border-color:#648b59}
#boxPicker .box-card,#boxPicker .box-card:hover,#boxPicker .box-card.active{box-sizing:border-box;border-width:1px!important;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .24s,filter .24s}
#boxPicker .box-icon{width:80px;height:80px;box-sizing:border-box}#boxPicker .box-name{line-height:20px;min-height:20px}#boxPicker .box-cost{line-height:20px;font-variant-numeric:tabular-nums}
@media(max-width:600px){#worldSwitcher .ws-card:not(.empty),#worldSwitcher .ws-card.empty{height:160px;min-height:160px;max-height:160px}#worldSwitcher .ws-card.empty{padding:12px 13px;grid-template-rows:18px minmax(0,1fr) auto}#worldSwitcher .ws-card.empty .ws-buy{width:100%;height:40px;min-height:40px;font-size:12px}#worldSwitcher .ws-card.empty .ws-cost{font-size:10px}#boxPicker .box-card,#boxPicker .box-card:hover,#boxPicker .box-card.active{height:166px;min-height:166px}#boxPicker .box-icon{width:56px;height:56px}}

/* The blind-box stage stays on the same quiet white surface as the home page. */
.home-layout #box .mint-card{position:relative;overflow:hidden;background:#fbfcf8!important;border:1px solid #dce5d8!important;box-shadow:none}
.home-layout #box #boxPicker{--box-carousel-gap:10px;width:100%;max-width:none;flex:0 0 190px;align-items:center;gap:var(--box-carousel-gap);margin-top:auto;overflow:visible}
#boxPicker .box-card,#boxPicker .box-card:hover,#boxPicker .box-card.active{--box-tier:#69ba84;--box-tier-soft:rgba(83,189,128,.3);position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:180px;min-height:180px;padding:5px 4px 4px;overflow:visible;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;opacity:.55;filter:saturate(.7);transform:scale(.8)!important;will-change:transform}
#boxPicker .box-card:hover{opacity:.78;filter:saturate(.9) brightness(1.05)}
#boxPicker .box-card[data-tier="blue"]{--box-tier:#6bb9ff;--box-tier-soft:rgba(77,160,222,.34)}
#boxPicker .box-card[data-tier="purple"]{--box-tier:#c69aff;--box-tier-soft:rgba(166,102,231,.34)}
#boxPicker .box-card[data-tier="purple"][data-pity-ready="true"]{--box-tier:#ffd76d;--box-tier-soft:rgba(243,190,60,.42)}
#boxPicker .box-icon,#boxPicker .box-card[data-tier="purple"][data-pity-ready="true"] .box-icon{position:relative;display:grid;place-items:center;width:108px;height:108px;margin:0 auto 1px;overflow:visible;border:0!important;border-radius:50%;background:none!important;box-shadow:none!important}
#boxPicker .box-icon canvas{position:relative;z-index:1;display:block;width:96px!important;height:96px!important;image-rendering:pixelated;filter:drop-shadow(0 6px 1px rgba(0,0,0,.34));transform:translateY(-1px)}
#boxPicker .box-name{min-height:18px;margin:0;color:#26392f;font-size:13px;line-height:18px;letter-spacing:.04em}
#boxPicker .box-cost{min-height:18px;color:color-mix(in srgb,var(--box-tier) 72%,#5c4210);font-size:14px;line-height:18px;font-variant-numeric:tabular-nums}
#boxPicker .box-bias{max-width:170px;margin-top:2px;color:#687461;font-size:9px;line-height:1.35}
#boxPicker .box-card.active{z-index:3;opacity:1;filter:none}
#boxPicker .box-card.active .box-name{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:1px 8px;border-radius:999px;background:var(--box-tier);color:#13271d;font-weight:800}
#boxPicker[data-active-tier="green"] .box-card[data-tier="green"],#boxPicker[data-active-tier="green"] .box-card[data-tier="blue"]{transform:translateX(calc(100% + var(--box-carousel-gap))) scale(var(--box-carousel-scale,.8))!important}
#boxPicker[data-active-tier="green"] .box-card[data-tier="purple"]{transform:translateX(calc(-200% - var(--box-carousel-gap) - var(--box-carousel-gap))) scale(.8)!important}
#boxPicker[data-active-tier="blue"] .box-card[data-tier="green"],#boxPicker[data-active-tier="blue"] .box-card[data-tier="purple"]{transform:scale(.8)!important}#boxPicker[data-active-tier="blue"] .box-card[data-tier="blue"]{transform:scale(var(--box-carousel-scale,.8))!important}
#boxPicker[data-active-tier="purple"] .box-card[data-tier="green"]{transform:translateX(calc(200% + var(--box-carousel-gap) + var(--box-carousel-gap))) scale(.8)!important}
#boxPicker[data-active-tier="purple"] .box-card[data-tier="blue"],#boxPicker[data-active-tier="purple"] .box-card[data-tier="purple"]{transform:translateX(calc(-100% - var(--box-carousel-gap))) scale(var(--box-carousel-scale,.8))!important}
#boxPicker[data-active-tier] .box-card.active{--box-carousel-scale:1.06}
#boxPicker .box-pity .sr-only{width:.5px;height:.5px}
#boxPicker .box-card.active .box-icon::after{content:"";position:absolute;z-index:0;inset:-8px -10px;pointer-events:none;border-radius:50%;background:
 linear-gradient(color-mix(in srgb,var(--box-tier) 55%,transparent) 0 0) 50% 1%/4px 4px no-repeat,
 linear-gradient(color-mix(in srgb,var(--box-tier) 45%,transparent) 0 0) 82% 13%/3px 3px no-repeat,
 linear-gradient(color-mix(in srgb,var(--box-tier) 5%,transparent) 0 0) 99% 48%/4px 4px no-repeat,
 linear-gradient(color-mix(in srgb,var(--box-tier) 42%,transparent) 0 0) 82% 86%/3px 3px no-repeat,
 linear-gradient(color-mix(in srgb,var(--box-tier) 52%,transparent) 0 0) 50% 99%/4px 4px no-repeat,
 linear-gradient(color-mix(in srgb,var(--box-tier) 42%,transparent) 0 0) 18% 86%/3px 3px no-repeat,
 linear-gradient(color-mix(in srgb,var(--box-tier) 50%,transparent) 0 0) 1% 48%/4px 4px no-repeat,
 linear-gradient(color-mix(in srgb,var(--box-tier) 45%,transparent) 0 0) 18% 13%/3px 3px no-repeat,
 radial-gradient(ellipse at center,color-mix(in srgb,var(--box-tier) 46%,transparent) 0 22%,color-mix(in srgb,var(--box-tier) 18%,transparent) 48%,transparent 72%);opacity:.48;transform:scale(.96);filter:drop-shadow(0 0 9px var(--box-tier));animation:box-chest-glow 2.4s steps(4,end) infinite}
#boxPicker .box-card.active .box-icon canvas{transform-origin:50% 82%;animation:box-chest-idle 3.6s steps(1,end) infinite}
@keyframes box-chest-idle{0%,62%,78%,100%{transform:translate(0,-1px)}65%{transform:translate(-2px,-1px)}68%{transform:translate(2px,-3px)}71%{transform:translate(-1px,-2px)}74%{transform:translate(1px,-1px)}}
@keyframes box-chest-glow{0%,100%{opacity:.25;transform:scale(.94)}50%{opacity:.58;transform:scale(1)}}
#boxPicker .box-card:focus-visible{outline:0}#boxPicker .box-card:focus-visible .box-icon{outline:2px solid #fff1bd;outline-offset:2px}
.home-layout #box .box-cinematic p{color:#25344b;text-shadow:none}.home-layout #box .box-skip{border-color:#d4dcd6;background:#eef0e7;color:#25344b}
@media(max-width:600px){.home-layout #box #boxPicker{--box-carousel-gap:4px;flex-basis:166px;gap:var(--box-carousel-gap);margin:0}.home-layout #box #boxPicker .box-card{height:160px;min-height:160px;padding:2px}.home-layout #box #boxPicker .box-icon{width:76px;height:76px;margin-bottom:0}.home-layout #box #boxPicker .box-icon canvas{width:68px!important;height:68px!important}#boxPicker .box-name,#boxPicker .box-cost{font-size:11px;line-height:17px;min-height:17px}#boxPicker .box-bias{max-width:105px;margin-top:1px;font-size:8px;line-height:1.25}.box-pity{left:calc(50% + 24px);right:auto;top:0}}
@media(prefers-reduced-motion:reduce){#boxPicker .box-card{transition:none!important}#boxPicker .box-card.active .box-icon canvas{animation:none;transform:translateY(-1px)}#boxPicker .box-card.active .box-icon::after{animation:none;opacity:.38;transform:none}}

/* Work state uses its own light beside the existing status, separate from affinity. */
.role-energy-state{display:flex;align-items:flex-start;gap:6px;text-align:left}
.role-work-light{display:inline-block;flex:0 0 7px;width:7px;height:7px;margin-top:4px;border-radius:50%;background:currentColor;color:#9aa393;box-shadow:0 0 0 2px rgba(110,123,99,.08)}
.role-work-light[data-state="working"]{color:#d3a416;animation:role-work-breathe 1.8s ease-in-out infinite}
.role-work-light[data-state="resting"]{color:#45a564;animation:role-work-breathe 2.3s ease-in-out infinite}
.role-work-light[data-state="empty"]{color:#d8544b;animation:role-work-breathe 1.6s ease-in-out infinite}
@keyframes role-work-breathe{0%,100%{opacity:.5;box-shadow:0 0 0 0 transparent}50%{opacity:1;box-shadow:0 0 5px 1px currentColor}}
@media(prefers-reduced-motion:reduce){.role-work-light{animation:none!important;opacity:1}}

/* Shared collection / plot cards: compact content with a common row baseline.
   The fallback reserves two status lines; subgrid also aligns longer translations.
   Empty trait tracks collapse, so cards without abilities gain no blank trait rows. */
:is(#collRow,.land-roster-grid) .coll-item:not(.coll-add){position:relative;padding-top:12px;padding-bottom:12px;justify-content:flex-start}
:is(#collRow,.land-roster-grid) .role-energy-label{flex-wrap:wrap;min-height:16px}
:is(#collRow,.land-roster-grid) .role-energy-state{min-height:30px;overflow-wrap:anywhere}
:is(#collRow,.land-roster-grid) .role-energy-state>span{min-width:0}
:is(#collRow,.land-roster-grid) .role-affinities{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;align-content:start}
:is(#collRow,.land-roster-grid) .role-affinities>.affinity{min-height:31px;justify-content:center}
:is(#collRow,.land-roster-grid) .role-affinities>.affinity.is-active{justify-content:flex-start}
:is(#collRow,.land-roster-grid) .role-special{box-sizing:border-box;min-height:31px;text-align:left;display:flex;align-items:center}
:is(#collRow,.land-roster-grid) .role-level{position:absolute;top:6px;right:6px;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:20px;box-sizing:border-box;margin:0;padding:2px 5px;border:1px solid #7baf82;border-radius:7px;background:#e0f0de;color:#245c32;font:700 11px/1 Arial,'Microsoft YaHei',sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:none}
:is(#collRow,.land-roster-grid) .role-level[data-level="2"]{background:#deecfb;border-color:#88afd9;color:#285c92}
:is(#collRow,.land-roster-grid) .role-level[data-level="3"]{background:#eee2fb;border-color:#b596d4;color:#67408b}
:is(#collRow,.land-roster-grid) .role-level[data-level="4"]{background:#fff0b2;border-color:#d7b44c;color:#755608}
:is(#collRow,.land-roster-grid) .role-level[data-level="5"]{background:#ffe1c4;border-color:#d9995d;color:#88420d}
:is(#collRow,.land-roster-grid) .role-level[data-level="6"]{background:#ffe1c4;border-color:#a66e17;color:#88420d;box-shadow:inset 0 0 0 2px #f3bf50}
:is(#collRow,.land-roster-grid) .role-card-avatar{margin-inline:0;justify-self:center}

:is(#collRow,.land-roster-grid) .role-affinities>.affinity,:is(#collRow,.land-roster-grid) .role-special{padding:4px 6px}
@supports(grid-template-rows:subgrid){
 #collRow,.land-roster-grid{row-gap:0}
 :is(#collRow,.land-roster-grid)>.coll-item{grid-row:span 14;margin-bottom:14px}
 :is(#collRow,.land-roster-grid)>.coll-item:not(.coll-add){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;row-gap:0;align-items:stretch;justify-items:center}
 :is(#collRow,.land-roster-grid) .role-card-avatar{grid-row:1;align-self:start}
 :is(#collRow,.land-roster-grid) .role-card-identity{grid-row:2;margin-top:3px}
 :is(#collRow,.land-roster-grid) .cts{grid-row:3;margin-top:3px}
 :is(#collRow,.land-roster-grid) .role-energy{display:grid;grid-row:4/span 4;grid-template-rows:subgrid;row-gap:0;margin:8px 0 2px}
 :is(#collRow,.land-roster-grid) .role-energy-label{grid-row:1;align-self:start}
 :is(#collRow,.land-roster-grid) .role-energy-track{grid-row:2}
 :is(#collRow,.land-roster-grid) .role-energy-state{grid-row:3}
 :is(#collRow,.land-roster-grid) .role-gathering-rate{grid-row:4}
 :is(#collRow,.land-roster-grid) .role-affinities{grid-row:8/span 7;grid-template-rows:subgrid;row-gap:0;margin:4px 0 0}
 :is(#collRow,.land-roster-grid) .role-affinities>.affinity,:is(#collRow,.land-roster-grid) .role-special{min-height:0;margin-bottom:4px}
 :is(#collRow,.land-roster-grid) .affinity.good{grid-row:1}
 :is(#collRow,.land-roster-grid) .affinity.poor{grid-row:2}
 :is(#collRow,.land-roster-grid) [data-trait-slot="0"]{grid-row:4}
 :is(#collRow,.land-roster-grid) [data-trait-slot="1"]{grid-row:5}
 :is(#collRow,.land-roster-grid) [data-trait-slot="2"]{grid-row:6}
 :is(#collRow,.land-roster-grid) [data-trait-slot="3"]{grid-row:7}
 @media(max-width:600px){:is(#collRow,.land-roster-grid)>.coll-item{margin-bottom:10px}}
}

#mint.is-minted>.mint-complete{position:relative;isolation:isolate;overflow:hidden;display:block;padding:34px;border:1px solid #d6e0cf;border-radius:18px;background:#fbfcf8;box-shadow:0 12px 32px #263d2510}
#mint.is-minted>.mint-complete::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(251,252,248,.98) 0%,rgba(251,252,248,.94) 42%,rgba(251,252,248,.55) 73%,rgba(251,252,248,.2) 100%),url("assets/brand/mint-genesis-banner-v1.png") right center/cover no-repeat}
#mint.is-minted>.mint-complete::after{content:"";position:absolute;inset:0;z-index:0;background:rgba(255,255,255,.2);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none}
#mint.is-minted>.mint-complete>*{position:relative;z-index:1}
.mint-complete-mark{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:22px;border-radius:12px;background:#e3efdc;color:#3c8652;image-rendering:pixelated}
.mint-complete-mark i{display:block;width:5px;height:5px;background:#2f8650;box-shadow:5px 5px #2f8650,10px 10px #2f8650,15px 5px #2f8650,20px 0 #2f8650;transform:translate(-9px,-3px)}
.mint-complete-kicker{color:#6b806a;font:600 11px/1.5 Arial,'Microsoft YaHei',sans-serif;letter-spacing:.1em}
.mint-complete h2{font:700 28px/1.4 Arial,'Microsoft YaHei',sans-serif;color:#203d2c;margin:7px 0 12px}
.mint-complete-status{position:absolute!important;top:28px;right:30px;display:inline-flex;align-items:center;justify-content:flex-end;box-sizing:border-box;max-width:calc(100% - 118px);min-height:32px;margin:0;padding:7px 12px;border:1px solid #78aa69;border-radius:8px;background:#dff2d2;color:#245a33;box-shadow:0 3px 0 #bdd7ae;font:700 12px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.045em;text-align:right;white-space:nowrap}
.mint-complete p{font:14px/1.9 Arial,'Microsoft YaHei',sans-serif;color:#64745e;margin:0}
.mint-complete-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.mint-complete-actions .btn{padding:11px 18px;min-height:44px;font-size:13px;background:#2e5039;border:1px solid #2e5039;color:#fff;text-decoration:none}.mint-complete-actions .btn.ghost{color:#38583e;border-color:#c9d6c1;background:transparent}
.mint-complete-skeleton{display:grid;grid-template-columns:18px 1fr;gap:5px 12px;align-items:center;min-height:72px;color:#687461}.mint-complete-skeleton i{grid-row:1/3;width:18px;height:18px;border:2px solid #cad5bf;border-top-color:#4b7b4d;border-radius:50%;animation:mint-skeleton-spin .8s linear infinite}.mint-complete-skeleton strong{font-size:14px;color:#2f4735}.mint-complete-skeleton span{font-size:12px}@keyframes mint-skeleton-spin{to{transform:rotate(360deg)}}
.collection-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.collection-shortcuts{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.collection-shortcuts .btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;text-decoration:none;font-size:13px}
@media(max-width:700px){#mint.is-minted>.mint-complete{padding:24px}.mint-complete-status{top:18px;right:18px;max-width:calc(100% - 96px);min-height:30px;padding:6px 9px;font-size:11px;white-space:normal}.mint-complete h2{font-size:24px}.mint-complete p{font-size:13px}.mint-complete-actions{margin-top:20px}.collection-heading-row{align-items:flex-start;flex-direction:column}.collection-shortcuts{width:100%;justify-content:flex-start}.collection-shortcuts .btn{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){.mint-complete-skeleton i{animation:none}}

/* Food selection, current recovery and saved portions share one clear surface. */
dialog.production-dialog[data-kind="supply"]{width:min(680px,calc(100vw - 28px))!important;background:#fffef8;color:#253c2d;border:1px solid #dce5d6;padding:26px!important}
[data-kind="supply"] h2{font-size:24px;letter-spacing:-.5px;margin-bottom:12px}
.supply-hero{display:flex;align-items:center;gap:16px;background:#edf3e6;border:1px solid #dce7d3;padding:18px;border-radius:18px}
.supply-portrait{width:72px;height:80px;border-radius:14px;flex:none;background:#fffcf1;display:grid;place-items:center;border:1px solid #dfe5cf}
.supply-portrait canvas{width:60px;height:60px;image-rendering:pixelated}.supply-character{flex:1;min-width:0}
.supply-eyebrow{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:.6px;color:#74816b;margin-bottom:5px}
.supply-character>strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:17px}.supply-character>strong small{font:10px/1.5 monospace;color:#79836d}
.supply-energy-line{position:relative;display:flex;justify-content:space-between;gap:8px;margin:13px 0 6px;font-size:11px;color:#64705c}.supply-energy-line b{color:#294a31;font-variant-numeric:tabular-nums}
.supply-energy-gain{position:absolute;right:-7px;bottom:15px;z-index:1;padding:3px 6px;border:1px solid #638b52;border-radius:2px;background:#f7ffe9;color:#376d3d;box-shadow:2px 2px 0 #b9cf9d;font:700 10px/1 monospace;letter-spacing:.2px;pointer-events:none;opacity:0;transform:translateY(4px)}.supply-energy-gain.is-visible{animation:supply-energy-gain-pop .9s ease-out both}
.supply-energy-track{height:7px;background:#dce5d0;border-radius:20px;overflow:hidden}.supply-energy-track i{display:block;height:100%;background:linear-gradient(90deg,#78aa68,#b5ce79);border-radius:inherit;will-change:width}
@keyframes supply-energy-gain-pop{0%{opacity:0;transform:translateY(5px) scale(.9)}14%,68%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-7px) scale(1)}}
@media(prefers-reduced-motion:reduce){.supply-energy-gain.is-visible{animation:none;opacity:1;transform:none}.supply-energy-track i{will-change:auto}}
[data-kind="supply"] .supply-recovery{font-size:11px;line-height:1.6;color:#778169;margin:8px 2px 12px}
.supply-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.supply-section-heading h3{display:flex;align-items:center;gap:7px;margin:0!important;font-size:14px!important;color:#314a37}.supply-section-heading>span{font-size:10px;color:#87917a;line-height:1.5;text-align:right}
[data-kind="supply"] .supply-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 12px;gap:12px}
[data-kind="supply"] .supply-grid button{position:relative;min-width:0;border:1px solid #dce3d4;background:#fafbf5;padding:14px 8px 13px;border-radius:16px;gap:5px;transition:background .15s,border-color .15s}
[data-kind="supply"] .supply-grid button:hover{background:#f2f6e9;border-color:#9bb783}
[data-kind="supply"] .supply-grid button.selected{border:2px solid #64884c;padding:13px 7px 12px;background:#eef4dd;box-shadow:0 3px 12px #415a3510}
.supply-icon{display:block;width:64px;height:64px;flex:none}.supply-grid .supply-icon{margin-bottom:4px}
[data-kind="supply"] .supply-grid strong{font-size:14px;font-weight:700;color:#31472f;line-height:1.4}
[data-kind="supply"] .supply-grid .supply-portion{font:12px/1.4 Arial,sans-serif;color:#788367}
[data-kind="supply"] .supply-grid small{margin-top:6px;font:700 16px/1.4 monospace;color:#355c3b}
[data-kind="supply"] .supply-grid .supply-daily-limit{display:block;min-height:16px;font:10px/1.6 Arial,sans-serif;color:#75816a;font-variant-numeric:tabular-nums}
[data-kind="supply"] .supply-quantity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;padding:9px 10px 9px 13px;border:1px solid #e0e6d8;border-radius:12px;background:#f7f9f1;color:#5d6b56;font-size:12px}
[data-kind="supply"] .supply-quantity-stepper{display:grid;grid-template-columns:44px 54px 44px;align-items:stretch;overflow:hidden;border:1px solid #afc1a4;border-radius:11px;background:#fffef8;box-shadow:0 1px 2px #294a310a;transition:border-color .15s,box-shadow .15s}
[data-kind="supply"] .supply-quantity-stepper:focus-within{border-color:#64884c;box-shadow:0 0 0 3px #64884c24}
[data-kind="supply"] .supply-quantity button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0!important;border:0;border-radius:0;background:transparent;color:#355136;font-size:19px;line-height:1;transition:background .15s,color .15s}
[data-kind="supply"] .supply-quantity button:hover:not(:disabled){background:#edf4e6;color:#24492e}
[data-kind="supply"] .supply-quantity button:active:not(:disabled){background:#e3eed9}
[data-kind="supply"] .supply-quantity :is(button,input):focus-visible{outline:0;box-shadow:none}
[data-kind="supply"] .supply-quantity input{box-sizing:border-box;width:54px;min-width:54px;height:44px;min-height:44px;padding:0 4px;border:0;border-right:1px solid #d7e0d0;border-left:1px solid #d7e0d0;border-radius:0;outline:0;background:#f7faef;text-align:center;font:700 14px ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;color:#294a31;appearance:textfield;-moz-appearance:textfield}
[data-kind="supply"] .supply-quantity input::-webkit-inner-spin-button,[data-kind="supply"] .supply-quantity input::-webkit-outer-spin-button{margin:0;appearance:none;-webkit-appearance:none}

/* Plot replacement presents the incoming plot and target slot as one reviewed move. */
dialog.production-dialog[data-kind="land-replace"]{width:min(690px,calc(100vw - 28px))!important;padding:26px!important}
[data-kind="land-replace"] h2{margin:0 0 8px;font-size:24px;letter-spacing:-.4px}
.land-replace-intro{margin:0 0 18px;color:#6b7765;font-size:12px;line-height:1.65}
.land-replace-grid{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:stretch;gap:10px}
.land-replace-field{display:flex;min-width:0;flex-direction:column;gap:11px;padding:15px;border:1px solid #dbe4d4;border-radius:16px;background:linear-gradient(145deg,#fbfcf7,#f2f6eb);box-sizing:border-box}
.land-replace-label{display:flex;align-items:center;gap:9px;color:#304b37}.land-replace-label>b{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#dfead6;color:#3f6c45;font:700 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.land-replace-label>span{display:flex;min-width:0;flex-direction:column;gap:2px}.land-replace-label strong{font-size:13px}.land-replace-label small{color:#85907d;font-size:10px;font-weight:400}
.land-replace-picker{position:relative;min-width:0}.land-replace-native-select{display:none!important}
.land-replace-trigger{display:grid!important;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:9px;box-sizing:border-box;width:100%;min-width:0;min-height:58px!important;padding:5px 8px!important;border:1px solid #b9c9af!important;border-radius:12px!important;background:#fffef8!important;color:#294733!important;text-align:left;box-shadow:none}
.land-replace-trigger:focus-visible,.land-replace-trigger[aria-expanded="true"]{outline:0;border-color:#64884c!important;box-shadow:0 0 0 3px #64884c24}
.land-replace-trigger:disabled{opacity:.55;cursor:default}.land-replace-trigger-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.land-replace-trigger-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.land-replace-trigger-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#788474;font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}
.land-replace-icon{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:10px;background:#f1f5e9;box-sizing:border-box}.land-replace-icon .land-biome-icon{width:40px;height:40px;image-rendering:pixelated}.land-replace-icon-fallback{font:700 23px/1 monospace;color:#55745b}
.land-replace-chevron{color:#6b7e67;font:700 17px/1 monospace;transition:transform .15s}.land-replace-trigger[aria-expanded="true"] .land-replace-chevron{transform:rotate(180deg)}
.land-replace-options{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;max-height:min(224px,38dvh);overflow:auto;overscroll-behavior:contain;padding:6px;border:1px solid #b9c9af;border-radius:12px;outline:0;background:#fffdf7;box-shadow:0 14px 28px #263d2524;scrollbar-gutter:stable}
.land-replace-options[hidden]{display:none}.land-replace-option{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:8px;box-sizing:border-box;min-width:0;min-height:52px;padding:5px 7px;border:1px solid transparent;border-radius:9px;color:#304834;cursor:pointer}.land-replace-option+.land-replace-option{margin-top:3px}.land-replace-option:hover,.land-replace-option.is-active{background:#f2f7eb}.land-replace-option[aria-selected="true"]{border-color:#75a364;background:#eaf4e4;color:#21482d}.land-replace-option-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#f0f4e9}.land-replace-option-icon .land-biome-icon{width:36px;height:36px}.land-replace-option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.land-replace-option-copy strong,.land-replace-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.land-replace-option-copy strong{font-size:12px}.land-replace-option-copy small{color:#7b8776;font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.land-replace-option-check{visibility:hidden;color:#3f7b48;font-size:13px}.land-replace-option[aria-selected="true"] .land-replace-option-check{visibility:visible}
.land-replace-meta{display:block;min-height:17px;color:#6e7d68;font:10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.land-replace-arrow{display:grid;place-items:center;align-self:center;justify-self:center;box-sizing:border-box;width:34px;height:34px;border:1px solid #d8e2d0;border-radius:50%;background:#f8faf3}
.land-replace-arrow-icon{display:block;width:24px;height:24px;image-rendering:pixelated}
.land-replace-notice{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:10px;margin:14px 0;padding:12px 14px;border:1px solid #dfe5d5;border-radius:12px;background:#f5f7ef;color:#667360}.land-replace-notice>span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#dfead6;color:#426a45;font:700 12px/1 Georgia,serif}.land-replace-notice p{margin:0;font-size:11px;line-height:1.7}
[data-kind="land-replace"] #replaceLandConfirm{display:block;width:100%;min-height:50px;margin:0;border-color:#315b3c;border-radius:12px;background:#315b3c;color:#f8ffef;font-size:14px;font-weight:700}
[data-kind="land-replace"] #replaceLandConfirm:hover:not(:disabled){background:#416d48;border-color:#416d48}
[data-kind="land-replace"] #replaceLandConfirm:focus-visible{outline:3px solid #64884c55;outline-offset:3px}
@media(max-width:580px){dialog.production-dialog[data-kind="land-replace"]{padding:20px!important}.land-replace-grid{grid-template-columns:minmax(0,1fr);gap:8px}.land-replace-field{padding:13px}.land-replace-arrow{width:30px;height:30px;transform:rotate(90deg);justify-self:center}.land-replace-arrow-icon{width:22px;height:22px}.land-replace-options{max-height:min(210px,32dvh)}.land-replace-notice{margin:12px 0}}
.supply-check{position:absolute;right:9px;top:9px;font:700 11px/17px Arial,sans-serif;width:17px;height:17px;border-radius:50%;color:transparent;background:transparent}
.selected .supply-check{color:#fff;background:#62854b}
.supply-bag{border-top:1px solid #e3e8db;padding-top:8px;margin:6px 0 0}.supply-bag .supply-section-heading{margin-bottom:6px}.supply-section-heading .supply-icon{width:22px;height:22px}
[data-kind="supply"] .supply-bag-empty{display:flex;align-items:center;box-sizing:border-box;min-height:57px;font-size:11px;line-height:1.5;margin:0;padding:7px 11px;background:#f5f6ee;border-radius:10px;color:#869078}
.supply-inventory{display:grid;align-content:start;min-height:57px;gap:6px}.supply-inventory-item{display:flex;align-items:center;box-sizing:border-box;min-height:57px;gap:10px;background:#f4f6eb;border:1px solid #e5e9db;border-radius:12px;padding:7px 10px}
.supply-inventory-item .supply-icon{width:32px;height:32px}.supply-inventory-item>span{flex:1}.supply-inventory-item strong{font-size:12px;display:block}.supply-inventory-item small{font:11px/1.7 Arial,sans-serif;color:#7d866f}
.supply-inventory-count{display:inline-block;margin-left:5px;color:#357048;font:700 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}
.supply-inventory-item button{font-size:12px!important;min-height:36px!important;padding:6px 15px!important;background:#fffef8!important}
[data-kind="supply"] [data-supply-use-note]{min-height:15px;margin:5px 1px 0;font-size:10px;line-height:1.5}
.supply-checkout{position:sticky;bottom:-26px;background:#fffef8;margin:12px -2px -4px;padding:10px 2px 4px;border-top:1px solid #e1e7d8;z-index:2}
.supply-summary{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:11px;color:#7c876f}.supply-summary b{color:#355b36;font-size:15px;font-variant-numeric:tabular-nums;margin-left:5px}
[data-kind="supply"] .supply-purchase{display:block;width:100%;background:#31533a;border-color:#31533a;color:#faffed;font-size:14px;font-weight:700;min-height:46px;border-radius:12px;letter-spacing:.2px}
[data-kind="supply"] .supply-purchase:hover:not(:disabled){background:#436946}.supply-purchase:disabled{background:#e6ebde!important;color:#89917d!important;border-color:#dfe5d6!important;opacity:1!important}
[data-kind="supply"] [data-supply-blocker]{font-size:10px;line-height:1.5;text-align:center;margin:9px 0 0;color:#87907a;min-height:15px}
[data-kind="supply"] .production-dialog-status:empty{display:none}
#creatureWorkActions [data-role-action="supply"]{display:flex;align-items:center;justify-content:center;gap:8px;background:#e9f0dc;border-color:#bacaa8;color:#355136}
#creatureWorkActions [data-role-action="supply"] .supply-icon{width:24px;height:24px}
@media(max-width:480px){dialog.production-dialog[data-kind="supply"]{padding:20px!important}.supply-hero{padding:12px;gap:12px}.supply-portrait{width:56px;height:64px}.supply-portrait canvas{width:48px;height:48px}.supply-eyebrow{font-size:9px;letter-spacing:0}.supply-character>strong{font-size:15px}.supply-energy-line{margin-top:8px}.supply-section-heading>span{max-width:48%;font-size:9px}.supply-grid .supply-icon{width:48px;height:48px}[data-kind="supply"] .supply-grid{gap:7px}[data-kind="supply"] .supply-grid strong{font-size:11px}[data-kind="supply"] .supply-grid .supply-portion{font-size:11px}[data-kind="supply"] .supply-grid small{font-size:14px}.supply-checkout{bottom:-20px}.supply-summary{font-size:10px}}
@media(prefers-reduced-motion:reduce){[data-kind="supply"] .supply-grid button{transition:none}}

/* Character and land fusion use the same workshop language and shared rules. */
.fusion-workbenches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fusion-workbenches .fusion-workbench{grid-template-columns:150px minmax(0,1fr);gap:20px;padding:22px;min-height:220px;box-sizing:border-box}.fusion-workbench h3{margin:0 0 8px;font-size:18px;color:var(--txt,#263528)}.fusion-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.fusion-card-heading>span{padding:4px 7px;border:1px solid #dfc16b;border-radius:6px;background:#fff6d8;color:#785f19;font:700 8px/1.1 Arial,'Microsoft YaHei',sans-serif;letter-spacing:.04em;white-space:nowrap}.fusion-slot-preview.land span{font-size:25px;color:#58764c}.land-fusion-workbench{background:linear-gradient(145deg,#fbfcf6,#f1f5e9)}
dialog.production-dialog[data-kind="land-fusion"]{width:min(900px,calc(100vw - 32px))!important;max-width:900px!important;padding:28px!important}.land-fusion-intro{max-width:760px;margin:0 0 20px}.land-fusion-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:22px;align-items:start}.land-fusion-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:420px;overflow:auto;padding:3px}.land-fusion-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:82px;padding:13px;border:1px solid #dbe0d0;border-radius:13px;background:#fffdf7;cursor:pointer;box-sizing:border-box}.land-fusion-choice:has(input:checked){background:#f4f3de;border-color:var(--gold,#a57c16);box-shadow:inset 0 0 0 1px var(--gold,#a57c16)}.land-fusion-choice.unavailable{opacity:.45;cursor:not-allowed}.land-fusion-choice input{position:absolute;right:10px;top:10px;margin:0}.land-fusion-glyph{display:grid;place-items:center;width:48px;height:48px;border-radius:11px;background:#edf3e6;font-size:24px;flex:none}.land-fusion-choice strong,.land-fusion-choice small{display:block;padding-right:20px}.land-fusion-choice strong{font-size:13px;margin-bottom:6px}.land-fusion-choice small{font:10px/1.5 Arial,'Microsoft YaHei',sans-serif;color:var(--dim,#687461)}.land-fusion-summary{padding:18px;border:1px solid #dbe0d0;border-radius:16px;background:#eff2e8}.land-fusion-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;margin:12px 0 16px;padding:16px;border:1px solid #d9dfcc;border-radius:13px;background:#fffdf7;text-align:center;box-sizing:border-box}.land-fusion-result-glyph{display:grid;place-items:center;width:58px;height:58px;margin-bottom:10px;border-radius:14px;background:#e7eed9;color:#4f7245;font-size:29px}.land-fusion-preview strong{font-size:17px}.land-fusion-preview>span{margin-top:8px;color:#477242;font-size:12px}.land-fusion-preview>small{margin-top:7px;color:var(--dim,#687461);font-size:10px}.land-fusion-summary select{width:100%;margin-top:7px;background:#fffdf7}.land-fusion-summary #landFusionStatus{min-height:52px;margin:13px 0;font-size:11px;line-height:1.6}.land-fusion-summary #landFusionConfirm{display:block;width:100%;background:#967108;color:#fffaf0;border-color:#967108;font-weight:700}.land-fusion-summary #landFusionConfirm:disabled{background:#dce1d3;color:#7a8471;border-color:#dce1d3;opacity:1;box-shadow:none}
.land-fusion-retain{display:grid;gap:7px;min-width:0;margin:0}.land-fusion-retain>.fusion-main-label{margin:0;color:#42533e;font-size:12px;font-weight:700;line-height:1.45}.land-fusion-retain-picker{position:relative;min-width:0}.land-fusion-main-native{display:none!important}
.production-dialog .land-fusion-retain-trigger{display:grid;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:9px;box-sizing:border-box;width:100%;min-width:0;min-height:58px;padding:5px 8px;border:1px solid #b9c9af;border-radius:12px;background:#fffef8;color:#294733;text-align:left;box-shadow:none}
.land-fusion-retain-picker:focus-within .land-fusion-retain-trigger,.production-dialog .land-fusion-retain-trigger[aria-expanded="true"]{outline:0;border-color:#64884c;box-shadow:0 0 0 3px #64884c24}.production-dialog .land-fusion-retain-trigger:disabled{opacity:.58;cursor:default}
.land-fusion-retain-icon{display:grid;place-items:center;box-sizing:border-box;width:46px;height:46px;border-radius:10px;background:#f1f5e9}.land-fusion-retain-icon .land-biome-icon{width:40px;height:40px;image-rendering:pixelated}.land-fusion-icon-fallback{color:#55745b;font:700 23px/1 monospace}.land-fusion-retain-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.land-fusion-retain-copy strong,.land-fusion-retain-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.land-fusion-retain-copy strong{font-size:12px}.land-fusion-retain-copy small{color:#788474;font:10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.land-fusion-retain-chevron{color:#6b7e67;font:700 17px/1 monospace;transition:transform .15s}.land-fusion-retain-trigger[aria-expanded="true"] .land-fusion-retain-chevron{transform:rotate(180deg)}
.land-fusion-retain-options{position:absolute;z-index:40;top:calc(100% + 6px);right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;max-height:min(224px,32dvh);overflow:auto;overscroll-behavior:contain;padding:6px;border:1px solid #b9c9af;border-radius:12px;outline:0;background:#fffdf7;box-shadow:0 14px 28px #263d2524;scrollbar-gutter:stable}.land-fusion-retain-options[hidden]{display:none}.land-fusion-retain-option{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:8px;box-sizing:border-box;min-width:0;min-height:52px;padding:5px 7px;border:1px solid transparent;border-radius:9px;color:#304834;cursor:pointer}.land-fusion-retain-option+.land-fusion-retain-option{margin-top:3px}.land-fusion-retain-option:hover,.land-fusion-retain-option.is-active{background:#f2f7eb}.land-fusion-retain-option[aria-selected="true"]{border-color:#75a364;background:#eaf4e4;color:#21482d}.land-fusion-retain-option-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#f0f4e9}.land-fusion-retain-option-icon .land-biome-icon{width:36px;height:36px;image-rendering:pixelated}.land-fusion-retain-option-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.land-fusion-retain-option-copy strong,.land-fusion-retain-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.land-fusion-retain-option-copy strong{font-size:12px}.land-fusion-retain-option-copy small{color:#7b8776;font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.land-fusion-retain-check{visibility:hidden;color:#3f7b48;font-size:13px}.land-fusion-retain-option[aria-selected="true"] .land-fusion-retain-check{visibility:visible}
@media(max-width:850px){.fusion-workbenches{grid-template-columns:1fr}.fusion-workbenches .fusion-workbench{min-height:0}.land-fusion-layout{grid-template-columns:1fr}.land-fusion-choices{max-height:260px}.land-fusion-summary{padding:15px}}
@media(max-width:600px){.fusion-workbenches .fusion-workbench{grid-template-columns:1fr}.land-fusion-choices{grid-template-columns:1fr}dialog.production-dialog[data-kind="land-fusion"]{padding:20px!important;width:calc(100vw - 20px)!important}.land-fusion-summary #landFusionConfirm{position:sticky;bottom:0}.land-fusion-retain-options{max-height:min(210px,30dvh)}}


/* Fusion route: compact pixel-alchemy entry cards. No interaction selectors changed. */
html[data-app-page="fusion"] .fusion-workbenches{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

html[data-app-page="fusion"] .fusion-workbenches .fusion-workbench{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:112px minmax(0,1fr);
  gap:20px;
  min-height:298px;
  padding:20px;
  border:1px solid #cad8cc;
  border-radius:20px;
  background:linear-gradient(155deg,#fffefb 0%,#fafcf6 100%);
  box-shadow:0 14px 36px rgba(36,79,51,.08);
  overflow:hidden;
  box-sizing:border-box;
}

html[data-app-page="fusion"] .fusion-workbench::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#2f8f5f 0 68%,#cbf449 68%);
}

html[data-app-page="fusion"] .fusion-workbench>div:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
}

html[data-app-page="fusion"] .fusion-workbench h3{
  margin:0 0 7px;
  color:var(--txt,#263528);
  font:20px/1.5 HashlingsPixel,sans-serif;
}

html[data-app-page="fusion"] .fusion-workbench p{
  margin:0 0 16px;
  color:var(--dim,#617064);
  font-size:16px;
  line-height:1.65;
}

html[data-app-page="fusion"] .fusion-workbench .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:auto;
  padding:10px 18px;
  border:1px solid #173e32;
  border-radius:10px;
  background:#173e32;
  color:#f7fff4;
  font-size:14px;
  font-weight:700;
}

html[data-app-page="fusion"] .fusion-workbench .fusion-slot-preview{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  min-height:112px;
  padding:18px 14px 13px;
  border:1px solid #315f4d;
  border-radius:15px;
  background-color:#173e32;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:12px 12px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
  overflow:hidden;
}

html[data-app-page="fusion"] .fusion-slot-preview::after{
  content:"2 × SAME LEVEL";
  position:absolute;
  top:8px;
  left:12px;
  color:#a8c6b6;
  font:700 9px/1 Arial,'Microsoft YaHei',sans-serif;
  letter-spacing:.1em;
}

html[lang^="zh"][data-app-page="fusion"] .fusion-slot-preview::after{content:"2 × 同级角色"}
html[lang^="ja"][data-app-page="fusion"] .fusion-slot-preview::after{content:"同レベル × 2"}

html[data-app-page="fusion"] .fusion-slot-preview span{
  position:relative;
  display:grid;
  flex:0 0 42px;
  place-items:center;
  width:42px;
  height:52px;
  border:1px solid #88b097;
  border-radius:9px;
  background:linear-gradient(145deg,#eff8e9,#bfd9bb);
  color:#214a36;
  font:700 17px/1 HashlingsPixel,monospace;
  box-shadow:inset 0 -6px 0 rgba(47,143,95,.12),0 5px 12px rgba(2,22,14,.16);
}

html[data-app-page="fusion"] .fusion-slot-preview span:not(.fusion-result)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:7px;
  width:12px;
  height:3px;
  background:#57966d;
  box-shadow:-6px -4px 0 -1px #57966d,6px -4px 0 -1px #57966d;
  transform:translateX(-50%);
  opacity:.8;
}

html[data-app-page="fusion"] .fusion-slot-preview i{
  flex:0 0 auto;
  color:#d6e8dc;
  font:700 14px/1 HashlingsPixel,monospace;
}

html[data-app-page="fusion"] .fusion-slot-preview .fusion-result{
  flex-basis:56px;
  width:56px;
  height:62px;
  border-color:#dbf57e;
  background:linear-gradient(145deg,#dcff73,#a9da39);
  color:#1d472f;
  font-size:0;
  box-shadow:inset 0 -7px 0 rgba(69,115,28,.13),0 0 0 3px rgba(203,244,73,.09),0 7px 18px rgba(1,19,11,.25);
}

html[data-app-page="fusion"] .fusion-result::before{
  content:"LV";
  position:absolute;
  top:12px;
  font:700 9px/1 Arial,sans-serif;
  letter-spacing:.08em;
}

html[data-app-page="fusion"] .fusion-result::after{
  content:"+1";
  position:absolute;
  top:27px;
  font:700 18px/1 HashlingsPixel,monospace;
}

html[data-app-page="fusion"] .fusion-card-heading{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
}

html[data-app-page="fusion"] .fusion-card-heading h3{margin:0}

html[data-app-page="fusion"] .fusion-card-heading>span{
  padding:5px 8px;
  border:1px solid #d8bc67;
  border-radius:7px;
  background:#fff6d8;
  color:#715719;
  font:700 12px/1 Arial,'Microsoft YaHei',sans-serif;
  letter-spacing:.04em;
  white-space:nowrap;
}

html[data-app-page="fusion"] .land-fusion-workbench{
  background:linear-gradient(155deg,#fffefb 0%,#f4f8ef 100%);
}

html[data-app-page="fusion"] .land-fusion-workbench::before{
  background:linear-gradient(90deg,#7f9d51 0 68%,#d6b951 68%);
}

html[data-app-page="fusion"] .fusion-slot-preview.land{
  border-color:#b9c9ae;
  background-color:#eaf1e5;
  background-image:
    linear-gradient(rgba(65,95,70,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(65,95,70,.055) 1px,transparent 1px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);
}

html[data-app-page="fusion"] .fusion-slot-preview.land::after{
  content:"2 × SAME LEVEL";
  color:#6d826c;
}

html[lang^="zh"][data-app-page="fusion"] .fusion-slot-preview.land::after{content:"2 × 同级地块"}
html[lang^="ja"][data-app-page="fusion"] .fusion-slot-preview.land::after{content:"同レベル × 2"}

html[data-app-page="fusion"] .fusion-slot-preview.land span{
  flex-basis:58px;
  width:58px;
  height:62px;
  border-color:#9fb597;
  background:linear-gradient(145deg,#fffef7,#dbe8d4);
  color:#4e714d;
  font-size:27px;
  box-shadow:inset 0 -7px 0 rgba(75,111,64,.08),0 5px 12px rgba(31,65,38,.1);
}

html[data-app-page="fusion"] .fusion-slot-preview.land i{color:#6e806e}

html[data-app-page="fusion"] .fusion-slot-preview.land .fusion-result{
  border-color:#b69a42;
  background:linear-gradient(145deg,#ffefaa,#dcc264);
  color:#56430f;
  font-size:0;
  box-shadow:inset 0 -7px 0 rgba(122,93,22,.1),0 0 0 3px rgba(182,154,66,.09),0 7px 18px rgba(31,65,38,.14);
}

html[data-app-page="fusion"] .land-fusion-workbench .btn{
  border-color:#8b9e83;
  background:#fffef9;
  color:#38543c;
}

html[data-app-page="fusion"] .land-fusion-workbench .btn:hover{
  border-color:#536f58;
  background:#f3f7ef;
}

@media(max-width:850px){
  html[data-app-page="fusion"] .fusion-workbenches{grid-template-columns:1fr}
  html[data-app-page="fusion"] .fusion-workbenches .fusion-workbench{min-height:282px}
}

@media(max-width:600px){
  html[data-app-page="fusion"] .fusion-workbenches{gap:14px}
  html[data-app-page="fusion"] .fusion-workbenches .fusion-workbench{
    grid-template-rows:100px minmax(0,1fr);
    min-height:278px;
    padding:16px;
    border-radius:17px;
  }
  html[data-app-page="fusion"] .fusion-workbench .fusion-slot-preview{
    min-height:100px;
    gap:4px;
    padding:19px 8px 10px;
  }
  html[data-app-page="fusion"] .fusion-slot-preview span{
    flex-basis:34px;
    width:34px;
    height:44px;
    border-radius:7px;
    font-size:14px;
  }
  html[data-app-page="fusion"] .fusion-slot-preview .fusion-result{
    flex-basis:46px;
    width:46px;
    height:52px;
  }
  html[data-app-page="fusion"] .fusion-result::before{top:9px}
  html[data-app-page="fusion"] .fusion-result::after{top:24px;font-size:15px}
  html[data-app-page="fusion"] .fusion-slot-preview i{font-size:11px}
  html[data-app-page="fusion"] .fusion-slot-preview.land span{
    flex-basis:52px;
    width:52px;
    height:54px;
    font-size:24px;
  }
  html[data-app-page="fusion"] .fusion-workbench h3{font-size:18px}
  html[data-app-page="fusion"] .fusion-workbench p{font-size:16px}
  html[data-app-page="fusion"] .fusion-workbench .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  html[data-app-page="fusion"] .fusion-workbench,
  html[data-app-page="fusion"] .fusion-workbench .btn{transition:none}
}

/* Fusion keeps one frame through selection and results. */
dialog.production-dialog[data-kind="fusion"]{
  width:min(960px,calc(100vw - 32px))!important;max-width:960px!important;
  height:min(800px,calc(100dvh - 40px))!important;
}
dialog.production-dialog[data-kind="land-fusion"]{
  width:min(900px,calc(100vw - 32px))!important;max-width:900px!important;
  height:min(660px,calc(100dvh - 40px))!important;
}
dialog.production-dialog:is([data-kind="fusion"],[data-kind="land-fusion"])[open]{display:flex;flex-direction:column;overflow:hidden;gap:0}
dialog.production-dialog:is([data-kind="fusion"],[data-kind="land-fusion"])>h2,
dialog.production-dialog:is([data-kind="fusion"],[data-kind="land-fusion"])>p{flex:none}
dialog.production-dialog:is([data-kind="fusion"],[data-kind="land-fusion"])>.production-dialog-status:empty{display:none}
dialog.production-dialog:is([data-kind="fusion"],[data-kind="land-fusion"])>:is(.fusion-layout,.land-fusion-layout){flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;align-content:start}
.land-fusion-layout>div,.fusion-library{min-width:0}
.land-fusion-preview{height:208px;min-height:208px;flex:none;overflow:auto}
.land-fusion-choice{height:92px;min-height:92px}
.land-fusion-choice>span:last-child{min-width:0}
.land-fusion-choice strong,.land-fusion-choice small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.land-fusion-summary #landFusionStatus{height:64px;min-height:64px;overflow:auto}
.fusion-summary .fusion-result-card{box-sizing:border-box;height:280px;overflow:auto}
.fusion-summary .fusion-result-empty{height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
.fusion-summary #fusionTraits{height:112px;overflow:auto;scrollbar-gutter:stable}
.fusion-summary #fusionPreview{height:64px;min-height:64px;overflow:auto}
.fusion-summary .fusion-main-label,.land-fusion-summary .fusion-main-label{min-width:0}
.fusion-summary select,.land-fusion-summary select{min-width:0;max-width:100%;text-overflow:ellipsis}
.fusion-library #fusionChoices{align-items:start;grid-auto-rows:minmax(280px,auto)}
.fusion-library #fusionChoices .fusion-choice{box-sizing:border-box;height:280px;min-height:280px;overflow:auto}
dialog.production-dialog:is([data-kind="fusion"],[data-kind="land-fusion"]) :is(button,.fusion-choice,.land-fusion-choice){
  transform:none!important;scale:none;animation:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;
}
dialog.production-dialog .fusion-layout.fusion-animation-layout{grid-template-columns:196px minmax(0,1fr);grid-template-rows:minmax(400px,1fr) 56px;align-content:stretch;gap:18px}
.fusion-animation-layout::after{content:"";grid-column:1/-1;grid-row:2;height:56px;pointer-events:none}
.fusion-animation-layout .fusion-animation-materials{display:block;grid-column:1;grid-row:1}
.fusion-animation-layout .fusion-chamber{grid-column:2;grid-row:1;box-sizing:border-box;height:100%;min-height:0;overflow:auto}
.fusion-animation-layout .fusion-finish-actions{grid-column:1/-1;grid-row:2;position:static;z-index:1}
.fusion-chamber[data-phase="complete"] .fusion-reveal{animation:none}
@media(max-width:650px){
  dialog.production-dialog:is([data-kind="fusion"],[data-kind="land-fusion"]),
  #payModal:is([data-workflow="fusion"],[data-workflow="land-fusion"]) .payment-card{width:calc(100vw - 20px)!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:20px!important}
  dialog.production-dialog .fusion-layout.fusion-animation-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:440px 156px 56px}
  .fusion-animation-layout .fusion-chamber{grid-column:1;grid-row:1}
  .fusion-animation-layout .fusion-animation-materials{display:grid;grid-column:1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start}
  .fusion-animation-layout::after,.fusion-animation-layout .fusion-finish-actions{grid-column:1;grid-row:3}
  .fusion-library #fusionChoices{grid-auto-rows:minmax(280px,auto)}
  .fusion-summary #fusionConfirm,.land-fusion-summary #landFusionConfirm{position:static}
}

/* Long translated action labels occupy the same slot in every selection state. */
.fusion-summary #fusionConfirm,.land-fusion-summary #landFusionConfirm{height:66px;min-height:66px;box-sizing:border-box;white-space:normal;line-height:1.4}
#payModal:is([data-workflow="fusion"],[data-workflow="land-fusion"]){padding:0;overflow:hidden;align-items:center;justify-content:center}

@media(max-width:650px){.land-fusion-choices,.fusion-library #fusionChoices{max-height:none;overflow:visible}.land-fusion-preview{height:208px;min-height:208px}}






/* Fusion uses the same fixed frame for selection, working and result. */
dialog.production-dialog[data-kind="fusion"]{width:min(960px,calc(100vw - 32px))!important;max-width:960px!important;height:min(800px,calc(100dvh - 40px))!important;max-height:min(800px,calc(100dvh - 40px))!important;box-sizing:border-box}
dialog.production-dialog[data-kind="fusion"]{padding:28px!important;background:#fbfcf5}
dialog.production-dialog[data-kind="fusion"] #productionDialogTitle{font:22px/1.4 HashlingsPixel,Arial,sans-serif;margin:0 52px 16px 0;color:#273f2a}
dialog.production-dialog[data-kind="fusion"]>.fusion-intro{font-size:12px;line-height:1.65;margin:0 0 16px;max-width:none}
dialog.production-dialog[data-kind="fusion"]>.fusion-layout{gap:16px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;align-content:stretch}
.fusion-library{display:flex;flex-direction:column;min-height:0}.fusion-library-heading{font-size:13px;padding:0 2px 10px;flex:none}.fusion-library-heading span{font-size:11px}
.fusion-library #fusionChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));grid-auto-rows:minmax(280px,auto);gap:10px;min-height:0;max-height:none;overflow:auto;align-content:start;align-items:stretch;flex:1;padding:3px}
.fusion-library #fusionChoices .fusion-choice{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:minmax(62px,auto) auto auto;align-content:start;height:auto;min-height:280px;gap:8px;padding:12px;border-radius:11px!important;overflow:visible;background:#fffef8}
.fusion-library #fusionChoices .fusion-choice:has(input:checked){border-color:#7e9d35;background:#f0f7d9;box-shadow:inset 0 0 0 1px #7e9d35}
.fusion-library #fusionChoices .fusion-choice input{top:10px;right:10px;accent-color:#738f2f}
.fusion-library #fusionChoices .fusion-choice>.fusion-avatar{grid-column:1;grid-row:1;width:48px;height:48px;padding:2px;margin:0;background:#f0f3e8;align-self:center}
.fusion-library #fusionChoices .fusion-choice>span{grid-column:2;grid-row:1;padding-right:20px;align-self:center;min-width:0}.fusion-library #fusionChoices .fusion-choice>span>strong{font-size:12px;line-height:1.35;margin:0 0 4px}.fusion-library #fusionChoices .fusion-choice>span>small{font-size:10px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fusion-library #fusionChoices .fusion-choice>.role-energy{grid-column:1/-1;grid-row:2;align-self:start;min-width:0}.fusion-library #fusionChoices .fusion-choice .role-energy-label{font-size:10px;flex-wrap:wrap;row-gap:2px}.fusion-library #fusionChoices .fusion-choice .role-energy-state{font-size:10px;line-height:1.4;margin-top:4px;min-width:0;overflow-wrap:anywhere}.fusion-library #fusionChoices .fusion-choice .role-energy-state>span{min-width:0}.fusion-library #fusionChoices .fusion-choice .role-gathering-rate{flex-wrap:wrap;row-gap:2px;min-width:0}
.fusion-library #fusionChoices .fusion-choice>.role-affinities{grid-column:1/-1;grid-row:3;align-content:start;gap:4px;min-height:0}.fusion-library #fusionChoices .fusion-choice .role-affinities>:not(.role-level){font-size:10px;line-height:1.35;padding:3px 5px;white-space:normal;display:block;overflow-wrap:anywhere}
.fusion-selection-count{font-size:12px;margin:10px 2px 0;flex:none}
.fusion-summary{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:hidden;box-sizing:border-box;padding:14px;border-radius:12px;background:#f0f3e8}
.fusion-summary-heading{font:13px/1.4 HashlingsPixel,Arial,sans-serif;margin:0;flex:none}.fusion-summary-body{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;padding-right:3px}.fusion-summary-body>*{flex-shrink:0}
.fusion-summary .fusion-selected-slots{gap:6px}.fusion-summary .fusion-selected-slot{height:64px;padding:6px 3px;gap:3px}.fusion-summary .fusion-selected-slot small{font-size:9px}
.fusion-summary .fusion-result-card{height:240px;min-height:240px;overflow:visible;padding:12px;margin:0}.fusion-result-identity{gap:10px}.fusion-result-identity canvas{width:48px;height:48px}.fusion-result-identity strong{font-size:13px}.fusion-result-stats{gap:10px;margin-top:12px;padding-top:10px}.fusion-result-stats dd{font-size:17px}.fusion-result-stats dt{font-size:10px}.production-dialog p.fusion-success-note{margin-top:10px}
.fusion-summary .fusion-main-label{margin:0;font-size:12px;gap:6px}.fusion-summary select{min-height:42px;font-size:12px}.fusion-summary #fusionTraits{height:auto;max-height:none;overflow:visible;scrollbar-gutter:auto;margin:0}.fusion-summary #fusionTraits .production-option{font-size:11px;line-height:1.5;margin:0 0 8px}.fusion-summary #fusionPreview{height:48px;min-height:48px;font-size:11px;line-height:1.5;margin:0}
.production-dialog .fusion-summary #fusionConfirm,.production-dialog .fusion-return{display:flex;align-items:center;justify-content:center;width:100%;height:48px;min-height:48px;flex:none;margin:0;padding:10px 14px;border:1px solid #afc646;border-radius:10px!important;box-shadow:none;background:var(--hl-action,#d2f65a);color:var(--hl-action-ink,#1b2814);font-size:13px;font-weight:700;white-space:normal;line-height:1.4;position:static}
.production-dialog .fusion-return{width:min(340px,100%);justify-content:space-between}dialog.production-dialog[data-kind="fusion"] .fusion-return :is(span,i,strong){color:var(--hl-action-ink,#1b2814)!important}.production-dialog .fusion-summary #fusionConfirm:hover:not(:disabled),.production-dialog .fusion-return:hover{background:var(--hl-action-hover,#c4ea43);border-color:#91ad32}.production-dialog .fusion-summary #fusionConfirm:disabled{background:#e1e6d6;color:#77836b;border-color:#d6dec9;opacity:1}
dialog.production-dialog .fusion-layout.fusion-animation-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 48px;gap:14px;overflow:hidden}
.fusion-animation-layout::after{content:none}.fusion-animation-layout .fusion-chamber{grid-column:1;grid-row:1;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:18px 24px;box-sizing:border-box;border:1px solid #d1ddc4;border-radius:14px;background:radial-gradient(ellipse at center,#e7f0cd,#f4f7eb 72%)}
.fusion-stage-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6c8059;font:10px/1.5 HashlingsPixel,Arial,sans-serif;letter-spacing:.08em;flex:none}.fusion-stage-label strong{font-size:16px;color:#486232}
.fusion-scene-viewport{position:relative;flex:1;min-height:260px;display:grid;place-items:center;margin:8px 0}.fusion-coordinate-stage{max-width:640px}
.fusion-chamber-caption{flex:none;height:100px;min-height:100px;overflow:auto;text-align:center}.fusion-chamber-caption strong{display:block;font:18px/1.4 HashlingsPixel,Arial,sans-serif;color:#304b2a;margin:8px 0}.fusion-chamber-caption>span{display:block;max-width:520px;margin:auto;color:#6a7c58;font-size:12px;line-height:1.65}
.fusion-chamber:not([data-phase="working"]) .fusion-coordinate-stage{visibility:hidden}.fusion-chamber:not([data-phase="working"]) .fusion-reveal{position:absolute;inset:0;display:grid;place-content:center;align-items:center;grid-template-columns:minmax(140px,.75fr) minmax(0,1fr);gap:22px;overflow:auto;padding:12px 20px;animation:none}
.fusion-chamber:not([data-phase="working"]) .fusion-phase-track{visibility:hidden}.fusion-chamber[data-phase="failed"] .fusion-reveal{display:flex;flex-direction:column;justify-content:center}.fusion-chamber[data-phase="failed"] .fusion-chamber-caption strong{color:#6f6746}
.fusion-animation-layout .fusion-finish-actions{grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:center;height:48px;min-height:48px;margin:0;padding:0;position:static;background:transparent}.fusion-waiting-note{font-size:12px;color:#7d886d}
@media(max-width:650px){
  dialog.production-dialog[data-kind="fusion"]{width:calc(100vw - 20px)!important;height:calc(100dvh - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:20px!important}
  dialog.production-dialog[data-kind="fusion"] #productionDialogTitle{font-size:18px;margin-bottom:12px}
  dialog.production-dialog[data-kind="fusion"]>.fusion-intro{font-size:11px;margin-bottom:12px}
  dialog.production-dialog[data-kind="fusion"]>.fusion-layout{grid-template-columns:minmax(0,1fr);gap:16px;align-content:start;overflow:auto}
  .fusion-library{height:380px;min-height:380px}.fusion-library #fusionChoices{overflow:auto;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));grid-auto-rows:minmax(280px,auto)}.fusion-library #fusionChoices .fusion-choice{grid-template-columns:40px minmax(0,1fr);padding:9px;gap:7px}.fusion-library #fusionChoices .fusion-choice>.fusion-avatar{width:38px;height:38px}.fusion-library #fusionChoices .fusion-choice>span{padding-right:12px}.fusion-library #fusionChoices .fusion-choice>span>strong{font-size:11px}
  .fusion-summary{height:auto;min-height:700px;overflow:visible;align-self:start}.fusion-summary-body{flex:none;padding-right:0;overflow:visible;scrollbar-gutter:auto}
  dialog.production-dialog .fusion-layout.fusion-animation-layout{grid-template-rows:minmax(0,1fr) 48px;gap:10px;align-content:stretch;overflow:hidden}
  .fusion-node-name{font-size:24px}.fusion-node-id,.fusion-reactor-note{display:none}
  .fusion-animation-layout .fusion-chamber{padding:14px 8px}.fusion-stage-label{font-size:8px;letter-spacing:0}.fusion-stage-label strong{font-size:14px}.fusion-scene-viewport{min-height:210px;margin:2px 0}.fusion-chamber-caption{height:110px;min-height:110px}.fusion-chamber-caption strong{font-size:15px}.fusion-chamber-caption>span{font-size:11px;line-height:1.5}
  .fusion-chamber:not([data-phase="working"]) .fusion-reveal{grid-template-columns:minmax(0,1fr);gap:10px;text-align:center;padding:6px 10px;place-content:start center}.fusion-portrait-stage canvas{width:108px;height:108px}.production-dialog .fusion-complete-details h3{font-size:20px;margin:6px 0}.fusion-complete-meta,.fusion-complete-traits .role-affinities,.fusion-complete-traits .role-specials{justify-content:center}.fusion-complete-traits{margin-top:8px}.fusion-complete-traits .affinity,.fusion-complete-traits .role-specials>*{font-size:10px;padding:3px 5px}.fusion-complete-kicker{font-size:9px}
  .fusion-kept-characters{gap:7px}.fusion-kept-characters>div{padding:8px 4px;gap:4px}.fusion-kept-characters canvas{width:40px;height:40px}.fusion-kept-characters strong{font-size:11px}.fusion-kept-note{font-size:11px;margin-top:10px}
}

@media(max-width:380px){.fusion-library #fusionChoices{grid-template-columns:minmax(0,1fr)}.fusion-library #fusionChoices .fusion-choice{grid-template-columns:52px minmax(0,1fr);padding:12px;gap:8px}.fusion-library #fusionChoices .fusion-choice>.fusion-avatar{width:48px;height:48px}.fusion-library #fusionChoices .fusion-choice>span{padding-right:24px}.fusion-library #fusionChoices .fusion-choice>span>strong{font-size:12px}.fusion-library #fusionChoices .fusion-choice .role-energy-label{white-space:nowrap}}

/* Normal abilities have no visual effect or rarity treatment. */
.role-normal{display:block;padding:4px 6px;border:1px solid #d9e1d3;border-radius:5px;background:#eef2e9;color:#50604b;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
@supports(grid-template-rows:subgrid){:is(#collRow,.land-roster-grid) .role-normal{grid-row:3;margin-bottom:4px}}

/* Readable role cards: keep affinity labels short while retaining the full
   explanation in aria-label/title, and give live work states priority. */
:is(#collRow,.land-roster-grid) .role-affinities{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;}
:is(#collRow,.land-roster-grid) .role-affinities>.affinity{min-width:0;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
:is(#collRow,.land-roster-grid) .role-affinities>.affinity.is-active{justify-content:flex-start;}
:is(#collRow,.land-roster-grid) .role-affinities>.affinity.is-active{box-sizing:border-box;min-width:0;width:100%;border-width:1px!important;padding:4px 4px;gap:3px;font-size:11px;overflow:hidden;}
:is(#collRow,.land-roster-grid) .role-affinities>.affinity.is-active>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
:is(#collRow,.land-roster-grid) .role-energy-state{align-items:center;box-sizing:border-box;max-width:100%;min-height:17px;overflow:hidden;font-size:11px;line-height:1.35;font-weight:600;white-space:nowrap;}
:is(#collRow,.land-roster-grid) .role-energy-state>.role-work-light{margin-top:0;}
:is(#collRow,.land-roster-grid) .role-energy-state>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;}
:is(#collRow,.land-roster-grid) .role-energy-state[data-state="working"]{color:#8a6810;}
:is(#collRow,.land-roster-grid) .role-energy-state[data-state="resting"]{color:#39764d;}
:is(#collRow,.land-roster-grid) .role-energy-state[data-state="empty"]{color:#a74b43;}
:is(#collRow,.land-roster-grid) .role-gathering-rate{font-size:11px;line-height:1.5;}
:is(#collRow,.land-roster-grid) .role-gathering-rate strong{font-size:12px;}
@media(max-width:370px){:is(#collRow,.land-roster-grid) .role-affinities{grid-template-columns:1fr}:is(#collRow,.land-roster-grid) .role-affinities>.affinity{white-space:normal}}

/* Terrain modifiers are a pair; keep them on one row. Special abilities below
   retain their own full-width tracks, so long descriptions never collide. */
:is(#collRow,.land-roster-grid) .role-affinities{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
:is(#collRow,.land-roster-grid) .role-affinities>.affinity.good{grid-column:1;grid-row:1!important;}
:is(#collRow,.land-roster-grid) .role-affinities>.affinity.poor{grid-column:2;grid-row:1!important;}
:is(#collRow,.land-roster-grid) .role-affinities>.role-special{grid-column:1/-1;}
@media(max-width:370px){:is(#collRow,.land-roster-grid) .role-affinities{grid-template-columns:1fr!important}:is(#collRow,.land-roster-grid) .role-affinities>.affinity.good,:is(#collRow,.land-roster-grid) .role-affinities>.affinity.poor{grid-column:1}}

#creatureAttrs .attr-row:has(.attr-ability-list){align-items:flex-start}
#creatureAttrs .attr-ability-list{display:grid;gap:5px;text-align:left}
#creatureAttrs .attr-ability{display:block}
.role-level-detail{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:2px 9px;box-sizing:border-box;border:1px solid #7baf82;border-radius:7px;background:#e0f0de;color:#245c32;font:700 12px/1 Arial,'Microsoft YaHei',sans-serif;font-variant-numeric:tabular-nums}
.role-level-detail[data-level="2"]{background:#deecfb;border-color:#88afd9;color:#285c92}.role-level-detail[data-level="3"]{background:#eee2fb;border-color:#b596d4;color:#67408b}.role-level-detail[data-level="4"]{background:#fff0b2;border-color:#d7b44c;color:#755608}.role-level-detail[data-level="5"],.role-level-detail[data-level="6"]{background:#ffe1c4;border-color:#d9995d;color:#88420d}

/* Quote actions share a row without moving food or inventory during refresh. */
.supply-quote-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin:4px 0 18px}
.supply-quote-row [data-supply-quote]{flex:1;min-width:0;margin:0;font-size:11px;line-height:1.6;color:#7c866e}
.supply-quote-row .supply-quote-refresh{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;margin-left:auto;padding:8px 12px;min-height:38px;border:1px solid #dce3d4;border-radius:12px;background:#f7f9f1;font-size:12px;color:#455c3d;white-space:nowrap}
.supply-quote-refresh svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.supply-quote-refresh:hover:not(:disabled){background:#eef4dd;border-color:#92aa7f}.supply-quote-refresh:focus-visible{outline:2px solid #64884c;outline-offset:3px}
.supply-quote-refresh[aria-busy="true"] svg{animation:supply-quote-spin 1s linear infinite}
@keyframes supply-quote-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.supply-quote-refresh[aria-busy="true"] svg{animation:none}}

/* Fusion choices stay in the summary scroll, with no hidden checked abilities. */
.fusion-trait-picker{min-width:0}.fusion-traits-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:8px}.fusion-traits-heading>span{font-variant-numeric:tabular-nums;color:#526b35}.production-dialog .fusion-traits-hint{margin:8px 0 0;font-size:11px;line-height:1.5;color:#687759}.fusion-currencies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.fusion-currencies button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;min-height:64px;padding:10px 12px;border:1px solid #c9d4bc;border-radius:10px;background:#fffef8;color:#3a4c30;cursor:pointer;text-align:left}.fusion-currencies button[aria-pressed="true"]{border-color:#729332;background:#edf7cd;box-shadow:inset 0 0 0 1px #729332}.fusion-currencies button strong{font-size:13px}.fusion-currencies button span{font-size:11px;line-height:1.4;overflow-wrap:anywhere}.fusion-currencies button:focus-visible{outline:2px solid #5a7b23;outline-offset:2px}

/* The retained appearance is a two-choice control. Keeping the native select
   off-canvas preserves the existing value/event contract without exposing the
   operating system menu and its unrelated focus colours. */
.fusion-main-picker{position:relative;display:grid;gap:8px;min-width:0;margin:0}
.fusion-main-picker .fusion-main-label{margin:0;color:#42533e;font-size:12px;font-weight:700;line-height:1.45}
.production-dialog .fusion-main-source{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
.fusion-main-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
.production-dialog .fusion-main-option{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) 8px;align-items:center;gap:8px;box-sizing:border-box;min-width:0;min-height:52px;padding:7px 8px;border:2px solid #d4ddcc;border-radius:9px!important;background:#fffef8;color:#2f4433;text-align:left;box-shadow:none}
.fusion-main-option canvas{display:block;width:32px;height:32px;border-radius:6px;background:#eff3e8;image-rendering:pixelated}
.fusion-main-option>span{min-width:0}.fusion-main-option strong,.fusion-main-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fusion-main-option strong{font-size:11px;line-height:1.35}.fusion-main-option small{margin-top:2px;color:#71806d;font:9px/1.3 monospace}
.fusion-main-option>i{display:block;width:7px;height:7px;border:1px solid #a9b6a0;background:#eef2e9;box-sizing:border-box}
.production-dialog .fusion-main-option:hover{border-color:#9aad8d;background:#f8faef}
.production-dialog .fusion-main-option[aria-pressed="true"]{border-color:#6f8d38;background:#eef5d9;color:#253d2b;box-shadow:none}
.fusion-main-option[aria-pressed="true"]>i{border-color:#567a2d;background:#73953a}
.production-dialog .fusion-main-option:focus-visible{border-color:#315f48;outline:0;box-shadow:none}
.fusion-main-empty{display:flex;grid-column:1/-1;align-items:center;box-sizing:border-box;min-height:52px;padding:10px 12px;border:1px dashed #c8d2bf;border-radius:9px;background:#f7f9f2;color:#7c8875;font-size:11px}
@media(max-width:380px){.fusion-main-options{grid-template-columns:minmax(0,1fr)}}
/* Listed role marker: visible in collection, deployment and fusion cards. */
:is(.coll-item,.fusion-choice).is-listed{position:relative;border-color:rgba(177,132,24,.72)}
.role-market-badge{position:absolute;top:6px;right:6px;z-index:3;pointer-events:none;padding:3px 6px;border:1px solid #b18418;border-radius:999px;background:#fff3c4;color:#7b5a09;font:700 10px/1.1 Arial,'Microsoft YaHei',sans-serif;white-space:nowrap;box-shadow:0 1px 0 rgba(92,65,12,.12)}
#crewPickGrid .role-market-badge{top:5px;right:5px;font-size:9px;padding:2px 5px}
.fusion-choice .role-market-badge{top:8px;right:8px}

/* Character detail tags share the same rows and alignment for every category. */
#creatureTraits{align-items:center}
#creatureTraits>.role-affinities{flex-basis:100%;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:2px 0 0;align-items:stretch}
#creatureTraits .hl-limited-badge--action{padding:6px 8px;font:12px/1.5 Arial,'Microsoft YaHei',sans-serif}
/* Supply bag/shop menus — six distinct item types, release 295. */
dialog.production-dialog[data-kind="supply"]{width:min(760px,calc(100vw - 28px))!important}
[data-kind="supply"] .supply-workspace{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:start;gap:16px;margin-top:18px}
.supply-panes{min-width:0}.supply-panel[hidden]{display:none!important}
[data-kind="supply"] .supply-menu{display:grid;gap:8px;position:sticky;top:0}
[data-kind="supply"] .supply-menu button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:74px;width:100%;padding:9px 3px;border:1px solid #d7e1cc;border-radius:12px;background:#f2f5eb;color:#6d7c5f;font-size:12px}
[data-kind="supply"] .supply-menu button[aria-selected="true"]{background:#e3f0bf;color:#2a4a34;border-color:#6d9353;box-shadow:inset 3px 0 #6d9353}
[data-kind="supply"] .supply-menu button:focus-visible{outline:2px solid #446c36;outline-offset:3px}
.supply-menu .supply-icon,.supply-menu svg{width:24px;height:24px}
.supply-menu svg:not(.supply-icon){fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
[data-kind="supply"] .supply-bag{border:0;padding:0;margin:0}
[data-kind="supply"] .supply-inventory{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
[data-kind="supply"] .supply-inventory-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:center;padding:12px 10px;min-width:0}
[data-kind="supply"] .supply-inventory-item .supply-icon{width:40px;height:40px}
[data-kind="supply"] .supply-inventory-item small{display:block;font-size:10px;overflow-wrap:anywhere}
[data-kind="supply"] .supply-inventory-item .supply-origin{font-size:9px;color:#788367}
[data-kind="supply"] .supply-inventory-item button{grid-column:1/-1;min-height:40px!important;width:100%;padding:6px!important;margin-top:2px}
[data-kind="supply"] .supply-inventory-item.is-premium{border-color:#dacd9f;background:linear-gradient(135deg,#f9f8e9,#f1f0f9)}
[data-kind="supply"] .supply-inventory-item.is-empty{background:#f7f8f2;border-style:dashed}
[data-kind="supply"] .supply-inventory-item.is-empty button{opacity:.65}
[data-kind="supply"] .supply-grid button{background:linear-gradient(150deg,#f0f7ec,#fcf4d9);border-color:#d4c999}
[data-kind="supply"] .supply-grid button:nth-child(2){background:linear-gradient(150deg,#f2edff,#fbf6df)}
[data-kind="supply"] .supply-grid button:nth-child(3){background:linear-gradient(150deg,#fff2d0,#f9edd8)}
[data-kind="supply"] .supply-icon-premium{filter:drop-shadow(0 3px 5px #96784530)}
[data-kind="supply"] .supply-grid .supply-icon-premium{width:72px;height:72px}
[data-kind="supply"] .supply-grid button.selected{outline:1px solid #64884c;outline-offset:2px}
[data-kind="supply"] .supply-checkout{position:static;margin-bottom:0;padding-bottom:0}
[data-kind="supply"] .supply-summary{line-height:1.6;flex-wrap:wrap}
[data-kind="supply"] .supply-summary b{display:block;margin-left:0;font-size:12px}
[data-kind="supply"] [data-supply-use-note]{margin-top:12px}
@media(max-width:560px){
 dialog.production-dialog[data-kind="supply"]{padding:15px!important;width:calc(100vw - 20px)!important}
 [data-kind="supply"] .supply-workspace{grid-template-columns:minmax(0,1fr) 50px;gap:9px}
 [data-kind="supply"] .supply-menu button{min-height:68px;font-size:11px}
 [data-kind="supply"] .supply-inventory{grid-template-columns:1fr}
 [data-kind="supply"] .supply-inventory-item{grid-template-columns:36px minmax(0,1fr) 42px;padding:10px 8px;gap:6px}
 [data-kind="supply"] .supply-inventory-item .supply-icon{width:36px;height:36px}
 [data-kind="supply"] .supply-inventory-item button{grid-column:auto;margin:0;font-size:11px!important}
 [data-kind="supply"] .supply-inventory-item strong{font-size:11px}
 [data-kind="supply"] .supply-inventory-count{margin-left:2px;font-size:10px}
 [data-kind="supply"] .supply-grid{grid-template-columns:1fr;gap:10px}
 [data-kind="supply"] .supply-grid button{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:8px;row-gap:3px;padding:12px 10px;text-align:left}
 [data-kind="supply"] .supply-grid button.selected{padding:11px 9px}
 [data-kind="supply"] .supply-grid .supply-icon-premium{grid-row:1/5;width:56px;height:56px;margin:0}
 [data-kind="supply"] .supply-grid strong{font-size:13px}
 [data-kind="supply"] .supply-grid small{margin:0;font-size:13px}
 [data-kind="supply"] .supply-grid .supply-portion{font-size:10px}
 [data-kind="supply"] .supply-section-heading{align-items:start}
 [data-kind="supply"] .supply-section-heading>span{max-width:55%;font-size:9px}
 [data-kind="supply"] .supply-quote-row{gap:5px;flex-wrap:wrap}
 [data-kind="supply"] .supply-quote-refresh{padding:7px 9px;font-size:11px}
}



/* Attached supply bookmarks reserve only a narrow outer edge. */
dialog.production-dialog[data-kind="supply"]{width:min(760px,calc(100vw - 86px))!important;max-width:760px!important;height:min(780px,calc(100dvh - 40px))!important;max-height:none!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;left:62px!important;right:0!important}
[data-kind="supply"] .supply-surface{position:relative;box-sizing:border-box;height:100%;max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:26px;border:1px solid #d3dfc9;border-radius:22px;background:var(--hl-paper,#fffef8);box-shadow:0 12px 40px #233e2720}
[data-kind="supply"] .supply-surface>h2{margin:0 44px 18px 0}
[data-kind="supply"] .supply-workspace{display:block;margin-top:18px}
[data-kind="supply"] .supply-menu{position:absolute;left:auto;right:calc(100% - 1px);top:104px;width:62px;display:grid;gap:6px;padding:0;background:transparent;border:0;box-shadow:none;z-index:2}
dialog.production-dialog[data-kind="supply"] .supply-menu button{position:relative;box-sizing:border-box;min-height:68px;width:62px;display:flex;flex-direction:column;gap:5px;padding:9px 3px;border:1px solid #d3dfc9!important;border-radius:12px 0 0 12px!important;background:#f0f3e8!important;color:#68765d!important;font-size:12px;--hl-cta-shadow:none;--hl-cta-shadow-hover:none;box-shadow:none!important;transform:none!important;transition:color .12s!important}
dialog.production-dialog[data-kind="supply"] .supply-menu button[aria-selected="true"]{border-right-color:var(--hl-paper,#fffef8)!important;background:var(--hl-paper,#fffef8)!important;color:#365d27!important;outline:0;font-weight:700}
dialog.production-dialog[data-kind="supply"] .supply-menu button[aria-selected="true"]::before{content:"";position:absolute;left:0;width:3px;height:24px;border-radius:2px;background:#83ad47}
dialog.production-dialog[data-kind="supply"] .supply-menu button:hover:not(:disabled){background:#f7f9ef!important}
dialog.production-dialog[data-kind="supply"] .supply-menu button[aria-selected="true"]:hover:not(:disabled){background:var(--hl-paper,#fffef8)!important}
body.shared-theme dialog.production-dialog[data-kind="supply"] .supply-menu button:active:not(:disabled){transform:none!important;box-shadow:none!important}
[data-kind="supply"] .supply-menu .supply-icon{width:26px;height:26px;image-rendering:pixelated}
[data-kind="supply"] .supply-grid button{border:1px solid #d4c999;padding:16px 10px;box-shadow:none!important;outline:0!important}
[data-kind="supply"] .supply-grid button.selected{border:1px solid #9cbb66;padding:16px 10px;background:#eff7db;box-shadow:none!important;outline:0!important}
[data-kind="supply"] .supply-grid button:focus-visible{outline:2px solid #779851!important;outline-offset:2px}
[data-kind="supply"] .supply-quantity{margin-top:16px}
[data-kind="supply"] #supplyPurchase{--hl-cta-shadow:none;--hl-cta-shadow-hover:none}
@media(max-width:560px){
 dialog.production-dialog[data-kind="supply"]{width:calc(100vw - 66px)!important;left:46px!important;height:calc(100dvh - 24px)!important}
 [data-kind="supply"] .supply-surface{padding:16px;max-height:calc(100dvh - 24px);border-radius:18px}
 [data-kind="supply"] .supply-menu{left:auto;right:calc(100% - 1px);top:88px;width:46px;gap:6px}
 dialog.production-dialog[data-kind="supply"] .supply-menu button{width:46px;min-height:64px;padding:9px 2px;font-size:10px;border-radius:10px 0 0 10px!important}
 [data-kind="supply"] .supply-menu .supply-icon{width:24px;height:24px}
 [data-kind="supply"] .supply-grid button,[data-kind="supply"] .supply-grid button.selected{padding:12px 10px}
 [data-kind="supply"] .supply-section-heading{gap:10px}
 [data-kind="supply"] .supply-section-heading>span{max-width:58%;line-height:1.5}
 [data-kind="supply"] .supply-hero{gap:10px;padding:12px}
 [data-kind="supply"] .supply-portrait{width:54px;height:64px;flex-basis:54px}
}

[data-kind="supply"] .supply-panel{padding:0!important;margin:0!important;max-width:none}

/* Keep inheritance controls together; page-level section spacing must not enter this dialog. */
dialog.production-dialog[data-kind="fusion"] .fusion-summary{gap:9px;padding:12px}
dialog.production-dialog[data-kind="fusion"] .fusion-summary-body{gap:10px;justify-content:flex-start}
dialog.production-dialog[data-kind="fusion"] :is(.fusion-main-picker,.fusion-trait-picker){padding:0!important;margin:0!important;min-height:0;max-width:none;width:100%;box-sizing:border-box}
dialog.production-dialog[data-kind="fusion"] .fusion-summary .fusion-result-card{height:auto;min-height:0;padding:10px}
dialog.production-dialog[data-kind="fusion"] .fusion-result-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;padding-top:8px}
dialog.production-dialog[data-kind="fusion"] .fusion-result-stats dd{font-size:15px}
dialog.production-dialog[data-kind="fusion"] .fusion-result-identity canvas{width:36px;height:36px}
dialog.production-dialog[data-kind="fusion"] .fusion-summary #fusionPreview{height:auto;min-height:0;margin:0}
dialog.production-dialog[data-kind="fusion"] .fusion-selected-slot{height:48px;padding:4px;flex-direction:row;gap:6px}
dialog.production-dialog[data-kind="fusion"] .fusion-selected-slot canvas{width:28px;height:28px}
dialog.production-dialog[data-kind="fusion"] .fusion-traits-heading{margin-bottom:6px}
dialog.production-dialog[data-kind="fusion"] #fusionTraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px}
dialog.production-dialog[data-kind="fusion"] #fusionTraits .production-option{margin:0;padding:3px 0;display:flex;align-items:flex-start;gap:5px}
dialog.production-dialog[data-kind="fusion"] #fusionTraits input{flex:none;margin-top:2px}
dialog.production-dialog[data-kind="fusion"] #fusionTraitsHint{margin-top:5px}
dialog.production-dialog[data-kind="fusion"] #fusionPaymentNote{margin:0;font-size:12px;line-height:1.5;color:#4a6834}
dialog.production-dialog[data-kind="fusion"] .fusion-summary-body:has(#fusionCurrencyLabel[hidden]) .fusion-currencies{display:none}
@media(max-width:650px){
 dialog.production-dialog[data-kind="fusion"]{padding:16px!important}
 dialog.production-dialog[data-kind="fusion"]>.fusion-layout:not(.fusion-animation-layout){position:relative;padding-bottom:62px}
 dialog.production-dialog[data-kind="fusion"] .fusion-library{height:250px;min-height:250px}
 dialog.production-dialog[data-kind="fusion"] .fusion-summary{min-height:0;height:auto;overflow:visible}
 dialog.production-dialog[data-kind="fusion"] .fusion-summary-body{flex:none;overflow:visible}
 dialog.production-dialog[data-kind="fusion"] .fusion-summary #fusionConfirm{position:fixed;bottom:16px;left:16px;right:16px;width:calc(100% - 32px);z-index:5;box-shadow:0 -8px 0 8px #fbfcf5}
 dialog.production-dialog[data-kind="fusion"] #fusionTraits{grid-template-columns:1fr}
 dialog.production-dialog[data-kind="fusion"] .fusion-main-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Material pages show entire cards. Only the outer fusion workspace scrolls. */
dialog.production-dialog[data-kind="fusion"]>.fusion-layout:not(.fusion-animation-layout){align-items:start;align-content:start;grid-template-rows:none;grid-auto-rows:max-content}
dialog.production-dialog[data-kind="fusion"] .fusion-library{height:auto;min-height:0;overflow:visible;flex:none}
dialog.production-dialog[data-kind="fusion"] .fusion-library #fusionChoices{height:auto;min-height:0;max-height:none;overflow:visible;flex:none;grid-auto-rows:auto;align-content:start}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice{height:auto;min-height:0;max-height:none;overflow:visible}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice[hidden]{display:none!important}
dialog.production-dialog[data-kind="fusion"] .fusion-material-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 2px 0;padding:0;min-height:0;box-shadow:none;background:none;border:0;position:static;transform:none;inset:auto;width:auto;max-width:none;z-index:auto}
dialog.production-dialog[data-kind="fusion"] .fusion-material-pages[hidden]{display:none}
dialog.production-dialog[data-kind="fusion"] .fusion-material-pages button{min-height:40px;padding:8px 12px;font-size:12px;border:1px solid #cbd5bc;border-radius:9px;background:#fffef7;color:#314c2c;cursor:pointer}
dialog.production-dialog[data-kind="fusion"] .fusion-material-pages button:disabled{opacity:.45;cursor:default}
dialog.production-dialog[data-kind="fusion"] .fusion-material-pages span{font-size:11px;text-align:center;color:#617354}
dialog.production-dialog[data-kind="fusion"] .fusion-summary{height:auto;min-height:0;overflow:visible}
dialog.production-dialog[data-kind="fusion"] .fusion-summary-body{height:auto;min-height:0;overflow:visible;flex:none;scrollbar-gutter:auto}

/* Mobile materials use compact two-column cards in one vertical list. */
@media(max-width:650px){
 dialog.production-dialog[data-kind="fusion"]{padding:16px!important}
 dialog.production-dialog[data-kind="fusion"] .fusion-library-heading{padding-bottom:4px}
 dialog.production-dialog[data-kind="fusion"] .fusion-material-scroll-hint{display:block;margin:0 2px 7px;color:#617354;font:11px/1.5 Arial,'Microsoft YaHei',sans-serif}
 dialog.production-dialog[data-kind="fusion"] .fusion-library #fusionChoices{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;grid-auto-rows:auto;max-height:min(430px,48dvh);overflow-x:hidden;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:2px 3px 5px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice{grid-template-columns:30px minmax(0,1fr);grid-template-rows:minmax(48px,auto) auto auto;gap:5px;padding:7px;border-radius:9px!important;min-width:0;height:auto;min-height:0;overflow:visible}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice input{width:17px;height:17px;top:6px;right:6px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>.fusion-avatar{width:28px;height:28px;padding:1px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>span{padding-right:14px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>span>strong{font-size:11px;line-height:1.35;margin-bottom:3px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>span>small{font-size:9px;line-height:1.35;display:block;overflow:visible;overflow-wrap:anywhere;-webkit-line-clamp:unset}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>.role-energy{margin:0}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice .role-energy-label{font-size:10px;line-height:1.4;white-space:normal;gap:2px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice .role-energy-label :is(b,strong){font-size:11px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice .role-energy-track{height:5px;margin-top:3px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice .role-energy-state{margin-top:3px;min-height:14px;font-size:10px;line-height:1.4}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice .role-gathering-rate{margin-top:4px;font-size:10px;gap:2px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice .role-gathering-rate :is(b,strong){font-size:11px}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>.role-affinities{gap:3px;margin-top:0}
 dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice .role-affinities>:not(.role-level){padding:3px 4px;font-size:10px;line-height:1.35;white-space:normal;overflow:visible}
 dialog.production-dialog[data-kind="fusion"] .fusion-material-pages{display:none}
}

/* All materials stay in one list on desktop as well as mobile. */
dialog.production-dialog[data-kind="fusion"] .fusion-material-scroll-hint{display:block;margin:0 2px 7px;color:#617354;font:11px/1.5 Arial,'Microsoft YaHei',sans-serif}
@media(min-width:651px){
 dialog.production-dialog[data-kind="fusion"] .fusion-library #fusionChoices{grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(640px,max(180px,calc(100dvh - 260px)));overflow-x:hidden;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-gutter:stable;padding:2px 5px 5px 2px}
}

/* One shared reveal for the entire batch. No per-card reveal delay. */
.box-batch-dialog{box-sizing:border-box;width:min(1000px,calc(100vw - 24px));max-width:1000px;max-height:calc(100dvh - 24px);padding:26px;border:1px solid #a1ba8966;border-radius:24px;background:radial-gradient(ellipse at 50% 20%,#35465a,#102c2c 65%);color:#f9f4df;overflow:auto;box-shadow:0 25px 100px #071416a6;font-family:system-ui,sans-serif}
.box-batch-dialog::backdrop{background:#081e24c9;backdrop-filter:blur(8px)}
.box-batch-dialog header{position:relative;padding-right:160px;margin-bottom:22px}
.box-batch-dialog h2{margin:0 0 6px;font-size:26px;letter-spacing:2px;color:#fff5c9}
.box-batch-dialog header p{margin:0;color:#b1c4b9;font-size:13px}
.box-batch-dialog header>div{position:absolute;top:0;right:0;display:flex;gap:8px}
.box-batch-dialog button{min-height:44px;border:1px solid #748d7866;border-radius:12px;background:#ffffff0d;color:#dfecd9;padding:9px 15px;cursor:pointer;font:600 13px system-ui,sans-serif}
.box-batch-dialog button:focus-visible{outline:3px solid #d3fa69;outline-offset:3px}
.box-batch-dialog .box-batch-close{font-size:25px;line-height:1;padding:7px 13px}
.box-batch-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;isolation:isolate}
.box-batch-grid::before{content:'';pointer-events:none;position:absolute;z-index:-1;inset:-20%;background:conic-gradient(from 0deg,transparent,#c9baff28,transparent 12%,#ffeea633,transparent 30%,#e0ffe320,transparent 50%,#a99aff36,transparent 65%,#fff4ca28,transparent 80%);border-radius:50%;animation:reveal-orbit-407 12s linear infinite}
.box-batch-card{--rarity:#9acd98;position:relative;min-width:0;border:1px solid #9ebdb144;border-radius:14px;padding:16px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;overflow:hidden;background:linear-gradient(145deg,#26433f,#122b30);box-shadow:0 8px 16px #0003}
.box-batch-card::before{content:'';position:absolute;inset:0;opacity:.3;background:radial-gradient(ellipse at 50% 38%,var(--rarity),transparent 70%);pointer-events:none}
.box-batch-card canvas{position:relative;width:100%;max-width:128px;height:auto;aspect-ratio:1;image-rendering:pixelated;filter:drop-shadow(0 5px 2px #0005)}
.box-batch-card strong{position:relative;font-size:14px;line-height:1.5;color:#fff5de;overflow-wrap:anywhere}
.box-batch-card small{position:relative;color:#b6c6be;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.box-batch-traits{position:relative;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;min-height:21px}
.box-batch-traits span{padding:3px 6px;font-size:10px;border:1px solid #b494de88;border-radius:5px;color:#e1c8ff;background:#583d7466}
.box-batch-traits [data-tier=gold]{color:#ffde89;border-color:#e8b95688;background:#80632866}
.box-batch-dialog footer{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px;padding-bottom:env(safe-area-inset-bottom)}
.box-batch-dialog footer p{width:100%;margin:0 0 5px;text-align:center;color:#dbe9cc;font-size:14px;line-height:1.6}
.box-batch-dialog .box-batch-done{background:#d5fa61;color:#173128;border-color:#e7ff91;min-width:220px;box-shadow:0 4px 0 #769550}
.box-batch-dialog [hidden]{display:none!important}
.box-batch-dialog[data-phase=preparing] .box-batch-card canvas{animation:reveal-float-407 1.8s ease-in-out infinite;animation-delay:calc(var(--i)*-.13s)}
.box-batch-dialog[data-phase=charging] .box-batch-card{animation:reveal-charge-407 1s ease-in-out both}
.box-batch-dialog[data-phase=burst] .box-batch-card{animation:reveal-burst-407 .6s ease-out both}
.box-batch-dialog[data-phase=reveal] .box-batch-card{animation:reveal-cards-407 .72s cubic-bezier(.17,.76,.25,1.1) both}
.box-batch-card[data-rarity=purple]{--rarity:#bc8afa;border-color:#bd8cf3;box-shadow:0 0 18px #9c62d738,inset 0 0 20px #b577ea1a}
.box-batch-card[data-rarity=gold]{--rarity:#f9d568;border:2px solid #e8c461;padding:15px 7px 11px;background:linear-gradient(145deg,#4b4831,#25332d);box-shadow:0 0 24px #eab94155,inset 0 0 30px #ffe0791c}
.box-batch-card[data-rarity=gold]::after{content:'✦';position:absolute;top:5px;right:8px;color:#ffe4a3;font-size:18px;animation:reveal-star-407 1.6s ease-in-out 3}
@keyframes reveal-orbit-407{to{transform:rotate(360deg)}}
@keyframes reveal-float-407{50%{transform:translateY(-6px)}}
@keyframes reveal-charge-407{0%{transform:scale(1)}65%{transform:translateY(-10px) scale(.93);filter:brightness(1.25)}100%{transform:translateY(-6px) scale(.95);filter:brightness(1.6)}}
@keyframes reveal-burst-407{0%{transform:translateY(-6px) scale(.95);filter:brightness(1.6)}50%{transform:scale(1.04);filter:brightness(2.1)}100%{transform:scale(.98);filter:brightness(1.4)}}
@keyframes reveal-cards-407{0%{opacity:.35;transform:perspective(700px) rotateY(80deg) translateY(16px) scale(.88)}65%{opacity:1;transform:perspective(700px) rotateY(-5deg) translateY(-4px) scale(1.02)}100%{transform:none}}
@keyframes reveal-star-407{50%{transform:rotate(90deg) scale(1.3);opacity:.55}}
@media(max-width:650px){.box-batch-dialog{padding:18px 12px;border-radius:18px}.box-batch-dialog header{padding-right:116px;margin:0 4px 18px}.box-batch-dialog h2{font-size:21px}.box-batch-dialog header p{font-size:11px;line-height:1.6}.box-batch-dialog header>div{gap:4px}.box-batch-dialog button{padding:8px 10px;font-size:11px}.box-batch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.box-batch-card{padding:10px 8px;gap:3px}.box-batch-card canvas{max-width:88px}.box-batch-card[data-rarity=gold]{padding:9px 7px}.box-batch-dialog footer{margin-top:18px}.box-batch-dialog .box-batch-done{font-size:14px;width:100%}}
@media(prefers-reduced-motion:reduce){.box-batch-dialog *,.box-batch-dialog *::before,.box-batch-dialog *::after{animation:none!important;transition:none!important}}

/* Fusion: one outer scroll region; footer remains in document flow. */
dialog.production-dialog[data-kind="fusion"][open]{display:block;overflow:auto;height:auto!important;max-height:calc(100dvh - 24px)!important;padding:22px!important;scroll-padding-block:20px 36px}
dialog.production-dialog[data-kind="fusion"]>.fusion-layout:not(.fusion-animation-layout){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;overflow:visible;min-height:0;height:auto;max-height:none;flex:none;padding-bottom:calc(16px + env(safe-area-inset-bottom));gap:18px}
dialog.production-dialog[data-kind="fusion"] .fusion-library{height:auto;min-height:0;overflow:visible}
dialog.production-dialog[data-kind="fusion"] .fusion-library #fusionChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(520px,60dvh);min-height:0;height:auto;gap:8px;overflow-y:auto;overflow-x:hidden;scroll-padding-bottom:12px;overscroll-behavior:auto;padding:3px 5px 12px 3px}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;align-items:center;gap:7px;padding:10px!important;min-height:0;height:auto;max-height:none;border-radius:12px!important}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>.fusion-avatar{width:40px;height:40px;grid-area:1/1;padding:0}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>span{grid-area:1/2;padding-right:13px;min-width:0}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice strong{font-size:12px;line-height:1.4;margin:0 0 3px;white-space:normal}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice small{font-size:10px;line-height:1.45;overflow-wrap:anywhere;white-space:normal}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice input{width:18px;height:18px;top:7px;right:7px}
dialog.production-dialog[data-kind="fusion"] #fusionChoices :is(.role-energy,.role-affinities){display:none}
dialog.production-dialog[data-kind="fusion"] .fusion-material-traits{grid-column:1/-1;display:flex;gap:4px;flex-wrap:wrap;min-width:0}
dialog.production-dialog[data-kind="fusion"] .fusion-material-traits span{font-size:10px;line-height:1.4;padding:3px 5px;border-radius:5px;background:#f0e6ff;color:#754e99;white-space:normal;overflow-wrap:anywhere}
dialog.production-dialog[data-kind="fusion"] .fusion-material-traits [data-tier=gold]{background:#fff0ba;color:#85600e}
dialog.production-dialog[data-kind="fusion"] .fusion-summary,dialog.production-dialog[data-kind="fusion"] .fusion-summary-body{height:auto;max-height:none;min-height:0;overflow:visible;flex:none}
dialog.production-dialog[data-kind="fusion"] .fusion-summary-body{display:flex;flex-direction:column;gap:14px}
dialog.production-dialog[data-kind="fusion"] #fusionResultCard{order:-1}
dialog.production-dialog[data-kind="fusion"] .fusion-result-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}
dialog.production-dialog[data-kind="fusion"] .fusion-result-identity canvas{width:112px;height:112px;image-rendering:pixelated;filter:drop-shadow(0 6px 4px #51663025)}
dialog.production-dialog[data-kind="fusion"] .fusion-result-identity>div{display:flex;flex-direction:column;gap:4px;align-items:center}
dialog.production-dialog[data-kind="fusion"] .fusion-summary #fusionConfirm{position:static!important;inset:auto!important;width:100%!important;min-height:48px;height:auto;margin-top:14px;box-shadow:0 3px 0 #8ca44b}
dialog.production-dialog[data-kind="fusion"] #fusionTraits{display:grid;grid-template-columns:1fr;gap:8px}
dialog.production-dialog[data-kind="fusion"] #fusionTraits .fusion-trait-toggle{--trait:#9371b4;position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 22px;gap:9px;align-items:center;margin:0;padding:11px!important;border:1px solid #d7c6e7;border-radius:12px;background:#fbf7ff;cursor:pointer;min-height:56px;box-sizing:border-box;color:#5b4478}
dialog.production-dialog[data-kind="fusion"] #fusionTraits .fusion-trait-toggle[data-tier=gold]{--trait:#a17b19;background:#fffaf0;color:#765511;border-color:#e7d69e}
dialog.production-dialog[data-kind="fusion"] #fusionTraits .fusion-trait-toggle:has(input:checked){border-color:var(--trait);box-shadow:inset 0 0 0 1px var(--trait);background:#f2e6ff}
dialog.production-dialog[data-kind="fusion"] #fusionTraits .fusion-trait-toggle[data-tier=gold]:has(input:checked){background:#fff1bd}
dialog.production-dialog[data-kind="fusion"] #fusionTraits .fusion-trait-toggle:has(input:focus-visible){outline:3px solid #62803b;outline-offset:3px}
dialog.production-dialog[data-kind="fusion"] #fusionTraits input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.fusion-trait-icon{font-size:23px;line-height:1;display:grid;place-items:center;width:34px;height:34px;background:#ffffff99;border-radius:9px}
.fusion-trait-copy{font:12px/1.55 system-ui,sans-serif;overflow-wrap:anywhere}.fusion-trait-check{display:grid;place-items:center;width:20px;height:20px;box-sizing:border-box;border:1px solid var(--trait);border-radius:6px;color:transparent;font-weight:800}
.fusion-trait-toggle:has(input:checked) .fusion-trait-check{background:var(--trait);color:white}
/* A charged forge, orbiting runes and a centered, larger result portrait. */
dialog.production-dialog[data-kind="fusion"]>.fusion-layout.fusion-animation-layout{display:flex;flex-direction:column;overflow:visible;height:auto;gap:16px}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-chamber{position:relative;height:auto;min-height:460px;overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#304859,#142e30 68%);border-color:#6d926d;color:#edf6d8}
dialog.production-dialog[data-kind="fusion"] .fusion-stage-label{color:#e2dbaa}
dialog.production-dialog[data-kind="fusion"] .fusion-stage-label strong{color:#e9f4c0}
dialog.production-dialog[data-kind="fusion"] .fusion-scene-viewport{width:100%;min-height:280px;height:320px;flex:none;isolation:isolate}
.fusion-chamber[data-phase=working] .fusion-scene-viewport::before,.fusion-chamber[data-phase=working] .fusion-scene-viewport::after{content:'';position:absolute;width:176px;height:176px;left:50%;top:45%;margin:-88px;border:1px dashed #d9f57d80;border-radius:50%;box-shadow:0 0 36px #c4f27928,inset 0 0 30px #d2f77920;animation:reveal-orbit-407 6s linear infinite;z-index:-1}
.fusion-chamber[data-phase=working] .fusion-scene-viewport::after{width:206px;height:206px;margin:-103px;border-style:dotted;animation-direction:reverse;animation-duration:9s}
dialog.production-dialog[data-kind="fusion"] .fusion-reactor-shell{fill:#a2c17014;stroke:#e9db8c;stroke-width:2}
dialog.production-dialog[data-kind="fusion"] .fusion-reactor-frame{stroke:#b6e7d1;fill:#bfebbe0d}
dialog.production-dialog[data-kind="fusion"] .fusion-energy-line{stroke:#e4ef9d;stroke-width:3;filter:drop-shadow(0 0 4px #c4ee7b);animation:forge-stream-407 1s linear infinite}
dialog.production-dialog[data-kind="fusion"] .fusion-node-name{fill:#f2edcd}.fusion-node-id{fill:#a8c6b5}
dialog.production-dialog[data-kind="fusion"] .fusion-reactor-note{fill:#c2dfb8}
.fusion-chamber[data-phase=working] .fusion-mote{animation:forge-material-407 1.4s ease-in-out infinite}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber-caption{min-height:88px;height:auto;overflow:visible}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber-caption strong{color:#e5f2b3}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber-caption>span{color:#b3c9b8}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber:not([data-phase=working]) .fusion-scene-viewport{height:auto;min-height:0}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber:not([data-phase=working]) .fusion-coordinate-stage{display:none}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber:not([data-phase=working]) .fusion-reveal{position:relative;inset:auto;display:flex;flex-direction:column;gap:10px;overflow:visible;padding:12px;width:100%;box-sizing:border-box;text-align:center}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber[data-phase=complete] .fusion-portrait-stage{width:208px;height:208px;margin:0 auto;background:radial-gradient(circle,#d3ee973f,transparent 69%);border-radius:50%;animation:forge-hero-407 .8s ease-out both}
dialog.production-dialog[data-kind="fusion"] .fusion-portrait-stage canvas{width:192px;height:192px;image-rendering:pixelated;filter:drop-shadow(0 0 18px #e8e69844)}
dialog.production-dialog[data-kind="fusion"] .fusion-complete-details h3{color:#fff0b6;font-size:23px;margin:5px}
dialog.production-dialog[data-kind="fusion"] .fusion-complete-kicker{color:#cfe78f;letter-spacing:3px}
dialog.production-dialog[data-kind="fusion"] :is(.fusion-complete-meta,.fusion-complete-traits .role-affinities,.fusion-complete-traits .role-specials){justify-content:center;color:#bfd2b5}
.fusion-chamber[data-phase=complete] .fusion-complete-traits>*{animation:forge-hero-407 .65s .2s both}
@keyframes forge-stream-407{from{stroke-dasharray:12 20;stroke-dashoffset:64}to{stroke-dasharray:12 20;stroke-dashoffset:0}}
@keyframes forge-material-407{50%{transform:translateY(-8px) scale(1.06);filter:drop-shadow(0 0 9px #d1f47980)}}
@keyframes forge-hero-407{0%{opacity:0;transform:translateY(20px) scale(.55);filter:brightness(2)}65%{opacity:1;transform:translateY(-5px) scale(1.06)}100%{opacity:1;transform:none;filter:none}}
@media(max-width:650px){dialog.production-dialog[data-kind="fusion"][open]{padding:16px!important}dialog.production-dialog[data-kind="fusion"]>.fusion-layout:not(.fusion-animation-layout){grid-template-columns:1fr;gap:15px;padding-bottom:20px}dialog.production-dialog[data-kind="fusion"] .fusion-library #fusionChoices{max-height:36dvh;min-height:160px}dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice{grid-template-columns:32px minmax(0,1fr);padding:8px!important;gap:6px}dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>.fusion-avatar{width:32px;height:32px}dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice strong{font-size:11px}dialog.production-dialog[data-kind="fusion"] .fusion-result-identity canvas{width:128px;height:128px}dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-chamber{padding:14px 10px;min-height:400px}dialog.production-dialog[data-kind="fusion"] .fusion-scene-viewport{height:260px;min-height:240px}}
@media(prefers-reduced-motion:reduce){dialog.production-dialog[data-kind="fusion"] *,dialog.production-dialog[data-kind="fusion"] *::before,dialog.production-dialog[data-kind="fusion"] *::after{animation:none!important;transition:none!important}}

/* Pixel theatre: centered on the viewport, all ten visible in two rows. */
dialog.box-batch-dialog{position:fixed!important;inset:0!important;margin:auto!important;box-sizing:border-box;width:min(960px,calc(100% - 32px))!important;height:fit-content!important;max-height:calc(100dvh - 32px)!important;border:3px solid #b6caa0;border-radius:2px;background-color:#132d30;background-image:linear-gradient(#d4dfad05 1px,transparent 1px),linear-gradient(90deg,#d4dfad05 1px,transparent 1px),radial-gradient(ellipse at 50% 35%,#354255,#132d30 70%);background-size:8px 8px,8px 8px,100% 100%;box-shadow:0 0 0 4px #163331,0 0 0 7px #6b8165,12px 12px 0 #04181566;isolation:isolate;overflow-x:hidden;overflow-y:auto;font-family:HashlingsPixel,system-ui,sans-serif}
.box-batch-dialog::backdrop{background:#081e24cf;backdrop-filter:blur(4px)}
.box-batch-dialog h2{text-shadow:3px 3px 0 #112723;font-size:25px;letter-spacing:3px}
.box-batch-dialog header{border-bottom:2px solid #84987744;padding-bottom:16px}
.box-batch-dialog button{border-radius:2px;border-width:2px;box-shadow:3px 3px 0 #071c20;font-family:inherit}
.box-batch-dialog .box-batch-done{box-shadow:4px 4px 0 #66833c;border:2px solid #e9ffad;letter-spacing:2px}
.box-batch-grid{gap:12px;grid-template-columns:repeat(var(--count,5),minmax(0,1fr))}
.box-batch-grid::before{inset:-35%;border-radius:0;background:repeating-conic-gradient(from 0deg,transparent 0deg 20deg,#d1e4a515 20deg 24deg,transparent 24deg 36deg);animation:reveal-orbit-407 16s steps(40,end) infinite}
.box-batch-card{border:2px solid #87a492;border-radius:2px;padding:12px 6px 10px;box-shadow:4px 4px 0 #071e26;background:linear-gradient(0deg,#173232,#263e48)}
.box-batch-card::before{inset:10px;background:repeating-conic-gradient(from 0deg,transparent 0deg 35deg,var(--rarity) 35deg 45deg,transparent 45deg 60deg);opacity:.09;border-radius:0}
.box-batch-card::after{content:'';position:absolute;inset:4px;border:1px solid #ffffff13;pointer-events:none}
.box-batch-card[data-rarity=gold]{padding:12px 6px 10px;border:2px solid #ebc75d;background:linear-gradient(0deg,#333a2c,#564930);box-shadow:4px 4px 0 #766029,0 0 22px #eab94144}
.box-batch-card[data-rarity=purple]{border-color:#bd91e7;box-shadow:4px 4px 0 #514269}
.box-batch-card[data-rarity=gold]::after{content:'✦';inset:4px;border:1px solid #ffdfab44;line-height:1;padding:2px;text-align:right;animation:reveal-star-407 1.6s steps(4,end) 3}
.box-batch-card canvas{max-width:112px;filter:drop-shadow(3px 4px 0 #0003)}
.box-batch-traits span{border-radius:0}
.box-pixel-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.box-pixel-particles i{position:absolute;width:5px;height:5px;top:45%;left:50%;background:#f5db82;box-shadow:6px 0 #a5e0ba;opacity:0}
.box-pixel-particles i:nth-child(3n){background:#c8a2f0;box-shadow:0 6px #d5f6ac;width:4px;height:4px}
.box-batch-dialog[data-phase=burst] .box-pixel-particles i,.box-batch-dialog[data-phase=reveal] .box-pixel-particles i{animation:pixel-scatter-407 1.2s steps(14,end) var(--delay) both}
.box-batch-dialog[data-phase=charging] .box-batch-card{animation-timing-function:steps(8,end)}
.box-batch-dialog[data-phase=burst] .box-batch-card{animation-timing-function:steps(6,end)}
.box-batch-dialog[data-phase=reveal] .box-batch-card{animation-timing-function:steps(8,end)}
.box-batch-dialog[data-phase=settled] .box-batch-grid::before{animation:none}
@keyframes pixel-scatter-407{0%{opacity:0;transform:translate(0,0) scale(1)}10%{opacity:1}85%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(0)}}
.box-cinematic{border-radius:2px;border:2px solid #778d61;background:radial-gradient(circle at 50% 45%,#edf1d3,#d8e6d2);box-shadow:5px 5px 0 #405d3633}
.box-cinematic::before,.box-cinematic::after{border-radius:0;border-width:2px;border-style:dashed}
.box-cinematic::after{animation:reveal-orbit-407 14s steps(40,end) infinite;inset:44px 25%}
.box-cinematic canvas,.box-cinematic p{z-index:1;position:relative}.box-cinematic .box-skip{border-radius:2px;box-shadow:3px 3px 0 #71806666}
@media(max-width:650px){dialog.box-batch-dialog{padding:15px 10px;width:calc(100% - 24px)!important;max-height:calc(100dvh - 24px)!important}.box-batch-dialog header{margin:0 0 14px;padding-right:110px;padding-bottom:12px}.box-batch-dialog h2{font-size:20px;letter-spacing:1px}.box-batch-dialog header p{font:10px/1.6 system-ui,sans-serif}.box-batch-grid{grid-template-columns:repeat(var(--count,5),minmax(0,1fr));gap:5px}.box-batch-card,.box-batch-card[data-rarity=gold]{padding:6px 2px;gap:3px;min-height:115px;box-shadow:2px 2px 0 #071e26}.box-batch-card canvas{width:100%;max-width:64px}.box-batch-card strong{font-size:10px;line-height:1.3}.box-batch-card small{font-size:8px;line-height:1.4;letter-spacing:-.2px}.box-batch-traits{gap:2px;min-height:18px}.box-batch-traits span{padding:2px;font-size:8px;line-height:1.35}.box-batch-card[data-rarity=gold]::after{font-size:10px;inset:2px}.box-batch-dialog footer p{font-size:12px}.box-batch-dialog footer{margin-top:18px;gap:8px}.box-batch-dialog .box-batch-done{width:auto;min-width:170px;min-height:44px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.box-pixel-particles{display:none}.box-cinematic::after{animation:none}}

/* The complete fusion dialog, including the footer, is part of the pixel forge. */
dialog.production-dialog[data-kind="fusion"]:has(.fusion-animation-layout)[open]{background:#122d30!important;background-image:linear-gradient(#e4e6a306 1px,transparent 1px),linear-gradient(90deg,#e4e6a306 1px,transparent 1px)!important;background-size:8px 8px!important;border:3px solid #9fb58a!important;border-radius:2px!important;box-shadow:0 0 0 4px #173c39,0 0 0 7px #617956,10px 10px 0 #071b2477!important;color:#e8edc6;height:auto!important;min-height:0!important;padding:22px!important}
dialog.production-dialog[data-kind="fusion"]:has(.fusion-animation-layout) #productionDialogTitle{color:#e4edb1;font-family:HashlingsPixel,system-ui,sans-serif;margin-bottom:16px;border-bottom:2px solid #9cac7244;padding-bottom:14px}
dialog.production-dialog[data-kind="fusion"]:has(.fusion-animation-layout) .production-close{background:#203c3a;color:#f3f5d5;border:2px solid #849a73;border-radius:2px!important;box-shadow:3px 3px 0 #081d24}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-chamber{border:0;border-radius:0;background:radial-gradient(ellipse at 50% 40%,#2f4550,#153033 72%);min-height:400px;padding:12px 20px}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-finish-actions{margin:0;padding:12px 0 calc(6px + env(safe-area-inset-bottom));min-height:0;height:auto;flex:none;background:transparent;border-top:2px solid #9cac7244}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-return{border-radius:2px!important;box-shadow:4px 4px 0 #6f883a!important;border:2px solid #eaffac;background:#d7f965;font-family:HashlingsPixel,system-ui,sans-serif;letter-spacing:1px}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-stage-label{font-family:HashlingsPixel,system-ui,sans-serif;color:#aabc95}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber[data-phase=working] .fusion-scene-viewport::before{border:2px dashed #d9f57d80;border-radius:0;transform:rotate(45deg);animation:reveal-orbit-407 8s steps(32,end) infinite}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber[data-phase=working] .fusion-scene-viewport::after{border:3px dotted #90ccbf66;border-radius:0;animation:reveal-orbit-407 12s steps(48,end) infinite reverse}
dialog.production-dialog[data-kind="fusion"] .fusion-reactor-shell{stroke-dasharray:12 4;shape-rendering:crispEdges;fill:#acc67513}
dialog.production-dialog[data-kind="fusion"] .fusion-reactor-frame{shape-rendering:crispEdges;stroke-dasharray:4 4}
dialog.production-dialog[data-kind="fusion"] .fusion-energy-line{stroke-width:4;shape-rendering:crispEdges;animation-timing-function:steps(10,end)}
dialog.production-dialog[data-kind="fusion"] .fusion-mote{border-radius:2px;border:2px solid #aec59c;box-shadow:3px 3px 0 #102723;background:#294b45}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber[data-phase=complete] .fusion-portrait-stage{border-radius:0;animation:forge-hero-407 .8s steps(8,end) both}
dialog.production-dialog[data-kind="fusion"] .fusion-portrait-stage::before{content:'';position:absolute;inset:20px;z-index:0;background:repeating-conic-gradient(transparent 0deg 32deg,#e4d38726 32deg 40deg,transparent 40deg 60deg);border:2px dashed #cde48644;animation:reveal-orbit-407 12s steps(36,end) 2}
dialog.production-dialog[data-kind="fusion"] .fusion-portrait-stage canvas{position:relative;z-index:1;filter:drop-shadow(4px 5px 0 #071a2544)}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout :is(.fusion-complete-level,.affinity,.role-specials>span,.role-specials>button){background:#29463d;color:#d5e6bf;border:1px solid #809e6f;border-radius:1px;box-shadow:2px 2px 0 #092527}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .role-specials :is(.gold,[data-tier=gold]){background:#584d2b;color:#fceaa2;border-color:#dfc779}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-waiting-note{color:#d4e7b9}
.fusion-pixel-burst{position:absolute;inset:-10px;pointer-events:none;overflow:hidden;z-index:2}
.fusion-pixel-burst i{position:absolute;left:50%;top:42%;width:5px;height:5px;background:#e1df80;box-shadow:6px 0 #a4d1bc;opacity:0}
.fusion-pixel-burst i:nth-child(3n){background:#cba0ec}
.fusion-chamber[data-phase=complete] .fusion-pixel-burst i{animation:pixel-scatter-407 1.25s steps(14,end) var(--delay) both}
@media(max-width:650px){dialog.production-dialog[data-kind="fusion"]:has(.fusion-animation-layout)[open]{padding:16px!important;width:calc(100vw - 20px)!important}dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-chamber{min-height:360px;padding:8px 0}dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-scene-viewport{min-height:230px}dialog.production-dialog[data-kind="fusion"] .fusion-chamber:not([data-phase=working]) .fusion-scene-viewport{min-height:0}}
@media(prefers-reduced-motion:reduce){.fusion-pixel-burst{display:none}dialog.production-dialog[data-kind="fusion"] .fusion-portrait-stage::before{animation:none}}

.box-batch-dialog{padding:20px}.box-batch-card canvas{max-width:104px}html:has(.box-batch-dialog[open]){overflow:hidden}@media(max-width:650px){.box-batch-card canvas{max-width:64px}}

/* Intrinsic sizing prevents inset:0 from stretching the fusion scene. */
dialog.production-dialog[data-kind="fusion"][open],dialog.production-dialog[data-kind="fusion"]:has(.fusion-animation-layout)[open]{height:fit-content!important;min-height:0!important;width:min(960px,calc(100% - 32px))!important}
dialog.production-dialog[data-kind="fusion"]>.fusion-layout.fusion-animation-layout{flex:none;min-height:0;max-height:none}
dialog.production-dialog[data-kind="fusion"]>.production-dialog-status:empty{display:none}
@media(max-width:650px){dialog.production-dialog[data-kind="fusion"][open],dialog.production-dialog[data-kind="fusion"]:has(.fusion-animation-layout)[open]{width:calc(100% - 24px)!important}}

/* Keep both terrain affinities visible on compact fusion material cards. */
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>.role-affinities{display:flex;flex-wrap:wrap;gap:4px;grid-column:1/-1;grid-row:2;margin:0;min-height:0}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice>.role-affinities>:not(.affinity){display:none}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-choice .role-affinities>.affinity{display:inline-flex;align-items:center;gap:3px;font-size:10px;line-height:1.5;padding:3px 5px;border:1px solid transparent;border-radius:5px;opacity:1;white-space:normal}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .role-affinities>.affinity.good{color:#416537;background:#e9f2dc;border-color:#d5e5c1}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .role-affinities>.affinity.poor{color:#926346;background:#fff0e4;border-color:#f0dbc9}
dialog.production-dialog[data-kind="fusion"] #fusionChoices .fusion-material-traits{grid-row:3}

/* Solid pixel artwork replaces the wireframe reactor. */
dialog.production-dialog[data-kind="fusion"]:has(.fusion-animation-layout)[open]{background:#142d32!important;background-image:none!important;border:4px solid #769271!important;box-shadow:0 0 0 4px #0b2029,0 0 0 8px #314d45,8px 12px 0 #071a2366!important}
dialog.production-dialog[data-kind="fusion"] .fusion-animation-layout .fusion-chamber{background:#142d32;min-height:0}
dialog.production-dialog[data-kind="fusion"] .fusion-scene-viewport::before,dialog.production-dialog[data-kind="fusion"] .fusion-scene-viewport::after{display:none!important}
.fusion-pixel-stage{position:relative;width:100%;max-width:680px;aspect-ratio:192/112;isolation:isolate}
.fusion-pixel-energy{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;z-index:-1}
.fusion-pixel-material{position:absolute;left:var(--left);top:48%;transform:translate(-50%,-50%);width:22%;display:flex;flex-direction:column;align-items:center;text-align:center}
.fusion-pixel-material canvas{width:70px;height:70px;image-rendering:pixelated;filter:drop-shadow(4px 4px 0 #071c25);animation:forge-pixel-bob-410 1.2s steps(3,end) infinite alternate}
.fusion-pixel-material strong{font-size:13px;color:#e1ecd2;margin-top:6px}.fusion-pixel-material small{font-size:10px;color:#a9c2b2;white-space:nowrap;line-height:1.6}
.fusion-pixel-core{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:10px}
.fusion-pixel-core canvas{width:104px;height:104px;image-rendering:pixelated;filter:drop-shadow(4px 4px 0 #35482d);animation:forge-core-charge-410 .8s steps(3,end) infinite alternate}
.fusion-pixel-core span{font-size:11px;color:#f2efb8;white-space:nowrap;text-shadow:2px 2px #233d31}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber[data-phase=working] .fusion-scene-viewport{height:auto;min-height:270px}
.fusion-chamber:not([data-phase=working]) .fusion-pixel-stage{display:none}
dialog.production-dialog[data-kind="fusion"] .fusion-portrait-stage::before{content:'';position:absolute;inset:auto 34px 14px;height:18px;border:0;border-radius:0;background:#6d956b;box-shadow:-12px -6px #36564a,12px -6px #36564a,0 7px #27443e,0 11px #0b242d;animation:none;transform:none}
dialog.production-dialog[data-kind="fusion"] .fusion-portrait-stage canvas{animation:forge-pixel-arrive-410 .65s steps(7,end) both}
dialog.production-dialog[data-kind="fusion"] .fusion-chamber[data-phase=complete] .fusion-portrait-stage{background:none;border-radius:0;animation:none}
.fusion-pixel-burst i{width:8px;height:8px;box-shadow:8px 0 #a4d1bc,0 8px #d7eb9b}
@keyframes forge-pixel-bob-410{to{translate:0 -5px}}
@keyframes forge-core-charge-410{to{scale:1.08;translate:0 -4px}}
@keyframes forge-pixel-arrive-410{0%{opacity:0;transform:translateY(28px) scale(.65)}55%{opacity:1;transform:translateY(-10px) scale(1.12)}100%{transform:translateY(0) scale(1)}}
@media(max-width:650px){.fusion-pixel-material canvas{width:47px;height:47px}.fusion-pixel-material strong{font-size:11px}.fusion-pixel-material small{font-size:8px}.fusion-pixel-core canvas{width:76px;height:76px}.fusion-pixel-core span{font-size:9px}.fusion-pixel-stage{aspect-ratio:192/132}.fusion-pixel-energy{height:85%;top:5%}.fusion-pixel-material{top:43%}.fusion-pixel-core{top:41%}dialog.production-dialog[data-kind="fusion"] .fusion-chamber[data-phase=working] .fusion-scene-viewport{min-height:220px}}
@media(prefers-reduced-motion:reduce){.fusion-pixel-material canvas,.fusion-pixel-core canvas,dialog.production-dialog[data-kind="fusion"] .fusion-portrait-stage canvas{animation:none!important}}

.fusion-mode-tabs{display:flex;gap:8px;margin:12px 0 16px;flex:none}
.fusion-mode-tabs button{flex:1;min-height:42px;padding:9px 14px;border:1px solid #b9c8a5;border-radius:8px;background:#edf1df;color:#38513c;font:inherit;cursor:pointer}
.fusion-mode-tabs button[aria-pressed=true]{background:#d1f55a;border-color:#82a84c;color:#20362b;font-weight:700;box-shadow:0 3px 0 #8eae4d}
.smelt-notice{padding:12px 15px;border-left:4px solid #c89837;background:#fff3ca;color:#685229;line-height:1.7;font-size:13px;margin-bottom:18px}
.smelt-layout #fusionChoices{max-height:520px;overflow:auto}
.smelt-choice{text-align:left;font:inherit;position:relative;cursor:pointer;width:100%;color:inherit}
.production-dialog #fusionChoices .smelt-choice.unavailable{opacity:1;background:#f2f3ed;border-color:#dce1d2;cursor:not-allowed;color:#647060}
.smelt-choice.unavailable .fusion-avatar,.smelt-choice.unavailable .role-affinities,.smelt-choice.unavailable .role-specials{opacity:.55}
.production-dialog #fusionChoices .smelt-choice.unavailable .smelt-role-status{color:#805c20;font-weight:700}
.smelt-availability{padding:12px 14px;margin-bottom:12px;background:#fff4d7;border:1px solid #e6d39c;border-radius:10px;color:#6b5127;font-size:12px;line-height:1.6}
.smelt-availability[hidden]{display:none}.smelt-availability strong{font-size:14px}.smelt-availability p{margin:5px 0}.smelt-availability a{display:inline-flex;align-items:center;justify-content:center;margin-top:5px;min-height:40px;padding:8px 12px;text-decoration:none}
.smelt-choice[aria-pressed=true]{border-color:#81a94b!important;background:#edf4d8;box-shadow:inset 0 0 0 1px #81a94b}
.smelt-choice>i{position:absolute;right:10px;top:8px;font-style:normal;color:#6f9149;font-size:18px}
.smelt-choice .role-specials{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px}
.smelt-main-preview{display:grid;justify-items:center;text-align:center;gap:7px;color:#284932}
.smelt-main-preview canvas{width:144px;height:144px;image-rendering:pixelated}
.smelt-main-preview small{font-size:12px;color:#78876c}
.smelt-consume-note{background:#fff0d9;padding:12px;border:1px solid #e0c590;border-radius:8px;font-size:13px;line-height:1.7;color:#805726;margin:15px 0}
.smelt-traits{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0}
.smelt-traits label{display:flex;align-items:center;gap:8px;padding:11px;border:2px solid #c3b2d8;border-radius:9px;background:#f0e8fa;font-size:12px;cursor:pointer;color:#67498a}
.smelt-traits label.is-gold{background:#fff2be;border-color:#d7b753;color:#795611}
.smelt-traits label:has(input:checked){box-shadow:inset 0 0 0 1px currentColor}
.smelt-traits input{width:19px;height:19px;accent-color:#98781b;flex:none}
.smelt-traits .fusion-trait-check{margin-left:auto;opacity:0}.smelt-traits input:checked~.fusion-trait-check{opacity:1}
.smelt-traits label:has(input:disabled){opacity:.6;cursor:default}
#smeltStatus{font-size:12px;line-height:1.7;margin:12px 0}#smeltConfirm{width:100%;min-height:48px}
@media(max-width:650px){.smelt-layout{display:flex!important;flex-direction:column!important}.smelt-layout #fusionChoices{max-height:300px}.smelt-main-preview canvas{width:128px;height:128px}.smelt-notice{font-size:12px}.fusion-mode-tabs button{padding:9px 8px;font-size:13px}}

/* Terrain selection, shared desktop/mobile workbench. */
.terrain-reform-layout{display:grid;gap:16px}.terrain-land-label{display:grid;gap:8px;font-weight:700}.terrain-land-label select{width:100%;padding:12px;border:1px solid #b7c7a8;border-radius:8px;background:#fafcf5;color:#243f31;font:inherit}.terrain-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.terrain-options button{display:grid;justify-items:center;gap:7px;min-height:106px;padding:12px 5px;border:2px solid #cad5bd;background:#f6f8ee;color:#294533;font:inherit;cursor:pointer}.terrain-options button[aria-pressed=true]{border-color:#659936;background:#e4f4bd;box-shadow:3px 3px 0 #799454}.terrain-options button:disabled{opacity:.55;cursor:default}.terrain-icon{display:grid;place-items:center;width:48px;height:48px;background:#edf1e5;border:1px solid #d3ddc7;border-radius:8px}.terrain-icon .land-biome-icon{display:block;width:40px;height:40px;image-rendering:pixelated}.terrain-options small{font-size:11px}.terrain-reform-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #d7dfcd}#terrainHelp,#terrainStatus,#terrainCurrent{font-size:13px;line-height:1.7;margin:0}#terrainStatus{min-height:24px}.fusion-mode-tabs{flex-wrap:wrap}.fusion-mode-tabs button{min-width:90px}#smeltAppearance .fusion-main-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}@media(max-width:650px){.terrain-options{grid-template-columns:repeat(3,minmax(0,1fr))}.terrain-reform-footer{flex-direction:column;align-items:stretch}.terrain-options button{min-height:90px}}

/* These operations preserve level; they do not use the fusion level-up caption. */
html[lang][data-app-page="fusion"] .fusion-slot-preview[data-operation-caption]::after{content:attr(data-operation-caption)}
html[data-app-page="fusion"] .smelting-workbench .fusion-result::after{content:"5"}
html[data-app-page="fusion"] .land-reform-workbench .fusion-slot-preview span::before,
html[data-app-page="fusion"] .land-reform-workbench .fusion-slot-preview span::after{content:none}
html[data-app-page="fusion"] .land-reform-workbench .land-biome-icon{width:40px;height:40px;image-rendering:pixelated}

.land-roster-heading{flex-wrap:wrap}.land-roster-heading>.land-roster-batch{display:flex;flex-direction:row;gap:10px;flex-basis:100%}.land-roster-batch button{min-height:44px;font-size:13px;padding:10px 18px}.land-roster-batch button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.land-roster-heading>.land-roster-batch{width:100%;flex-wrap:wrap}.land-roster-batch button{flex:1;min-width:130px}}
