/* Selected-card ladder toggle: scoped to the Card Usage filter panel. */
.card-usage-panel .usage-filter-selected-row{display:flex;justify-content:flex-end;align-items:center;margin-top:5px;min-height:32px}
.card-usage-panel .usage-filter-selected-only{display:grid;place-items:center;width:40px;height:32px;min-width:40px;padding:0;border:1px solid #8b6329;border-radius:8px;background:linear-gradient(180deg,#65533b,#382c22);color:#f5ca62;box-shadow:inset 0 1px #fff3,0 2px 0 #231910;cursor:pointer;transition:filter .14s ease,transform .14s ease,box-shadow .14s ease}
.card-usage-panel .usage-filter-selected-only svg{width:31px;height:31px;display:block}
.card-usage-panel .usage-filter-selected-only:hover{filter:brightness(1.18);transform:translateY(-1px)}
.card-usage-panel .usage-filter-selected-only:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #120b08}
.card-usage-panel .usage-filter-selected-only[aria-pressed="true"]{color:#fff0a9;border-color:#ffe29a;background:linear-gradient(180deg,#b77c24,#704614);box-shadow:inset 0 1px #fff9,0 0 0 2px #f4ca5a66,0 2px 0 #38210e}
.card-usage-panel .usage-filter-selected-only:focus-visible{outline:3px solid #fff2bf;outline-offset:2px}
.card-usage-panel .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header calculator button; positioned beside the existing crown without changing it. */
.top .upgrade-calculator-open{position:absolute;left:122px;bottom:20px;z-index:3;display:grid;place-items:center;width:72px;height:86px;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;transition:transform .16s ease,filter .16s ease}
.top .upgrade-calculator-open img{display:block;width:64px;height:82px;object-fit:contain}
.top .upgrade-calculator-open:hover{filter:brightness(1.1);transform:translateY(-2px)}
.top .upgrade-calculator-open:active{transform:translateY(1px) scale(.97)}
.top .upgrade-calculator-open:focus-visible{outline:3px solid #ffe28a;outline-offset:3px;border-radius:12px}
html.upgrade-dialog-open{overflow:hidden}
.upgrade-calculator-dialog{width:min(1020px,calc(100vw - 28px));max-width:none;max-height:min(92dvh,900px);padding:0;overflow:hidden;border:2px solid #9b773d;border-radius:22px;background:#161d28;color:#f8eed7;box-shadow:0 22px 90px #000b}
.upgrade-calculator-dialog::backdrop{background:rgba(7,10,16,.74);backdrop-filter:blur(3px)}
.upgrade-calculator-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(92dvh,900px);overflow:hidden;background:linear-gradient(145deg,#202b38,#101721 72%)}


.upgrade-calculator-close{display:grid;place-items:center;width:40px;height:40px;min-width:40px;padding:0;border:1px solid #dcc58c88;border-radius:11px;background:#262a2e;color:#fff1cf;font:700 26px/1 system-ui;cursor:pointer;box-shadow:inset 0 1px #fff3,0 3px 0 #0a0c0f}
.upgrade-calculator-close:hover{filter:brightness(1.2)}.upgrade-calculator-close:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #0007}
.upgrade-calculator-close:focus-visible,.upgrade-help-toggle:focus-visible{outline:3px solid #fff0b1;outline-offset:2px}
.upgrade-calculator-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(280px,.96fr);gap:16px;align-content:start}
.upgrade-calculator-inputs,.upgrade-calculator-result{min-width:0;border:1px solid #9a784d;border-radius:16px;background:linear-gradient(145deg,#303d4b,#1b242f);box-shadow:inset 0 1px #fff2,0 5px 14px #0004}
.upgrade-calculator-inputs{padding:14px}
.upgrade-rarity-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.upgrade-rarity-card{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 2px 6px;border:1px solid #887454;border-radius:10px;background:linear-gradient(180deg,#46515d,#242d36);color:#f0e3c7;font-family:inherit;font-size:10px;font-weight:800;line-height:1.12;cursor:pointer;box-shadow:inset 0 1px #fff2,0 3px 0 #10161d;transition:filter .14s ease,transform .14s ease,border-color .14s ease}
.upgrade-rarity-card img{display:block;width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 2px 2px #0008)}

.upgrade-rarity-card:hover{filter:brightness(1.16);transform:translateY(-1px)}
.upgrade-rarity-card:active{transform:translateY(1px)}
.upgrade-rarity-card.is-selected{border-color:#ffe18c;background:linear-gradient(180deg,#6e5329,#40301d);color:#fff0be;box-shadow:inset 0 0 0 1px #f7d98699,0 0 0 2px #e5b84d55,0 3px 0 #17110b}
.upgrade-rarity-card.is-selected img{filter:drop-shadow(0 0 5px #ffe39a99)}
.upgrade-rarity-card:focus-visible{outline:3px solid #fff0b1;outline-offset:2px}
.upgrade-level-row{margin-top:15px}.upgrade-inventory-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:9px;margin-top:12px}
.upgrade-field{display:flex;min-width:0;flex-direction:column;gap:6px;color:#d7c29c;font-size:12px;font-weight:850}
.upgrade-field input{width:100%;height:46px;min-width:0;padding:7px 10px;border:1px solid #8e754b;border-radius:10px;background:#121a22;color:#fff2d3;font:800 20px/1.1 ui-monospace,Consolas,monospace;text-align:center;box-shadow:inset 0 3px 8px #0008,0 2px 0 #0b0f13}
.upgrade-field input:focus{outline:3px solid #eec866;outline-offset:1px}
.upgrade-field input:disabled{color:#e5c777;background:#332b1c;opacity:1}
.upgrade-input-divider{padding-bottom:13px;color:#f5d98e;font-size:23px;font-weight:900}
.upgrade-calculator-status{min-height:20px;margin:9px 1px 0;color:#dfc995;font-size:12px;line-height:1.4}
.upgrade-calculator-status.has-error{color:#ffb7a4}
.upgrade-calculator-result{position:relative;display:flex;flex-direction:column;gap:14px;padding:17px;background:radial-gradient(ellipse at 50% 0,#8d642e55,transparent 56%),linear-gradient(150deg,#263647,#131b27)}
.upgrade-calculator-result h3{margin:0;padding-bottom:9px;border-bottom:1px solid #ecd38a55;color:#ffe5a5;font-size:14px;letter-spacing:.05em}
.upgrade-result-level,.upgrade-result-progress,.upgrade-result-gold{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;color:#d6c8ac;font-size:12px;font-weight:800}
.upgrade-result-level strong{color:#ffe18c;font:900 clamp(28px,4vw,42px)/1 var(--royale-display,system-ui);text-shadow:0 3px 0 #49300f,0 0 14px #f2c75b66}
.upgrade-result-progress{align-items:start}.upgrade-result-progress strong{color:#fff1ce;font:900 20px/1.15 ui-monospace,Consolas,monospace;white-space:nowrap}
.upgrade-progress-track{grid-column:1/-1;height:10px;overflow:hidden;border:1px solid #d2b16788;border-radius:99px;background:#0b1017;box-shadow:inset 0 2px 4px #000a}
.upgrade-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b87523,#ffe27b);box-shadow:0 0 10px #ffce5a99;transition:width .32s ease}
.upgrade-result-gold{padding-top:7px;border-top:1px solid #e9cc7955}.upgrade-result-gold strong{display:flex;align-items:center;gap:8px;color:#ffdc77;font:900 22px/1.1 ui-monospace,Consolas,monospace}
.upgrade-result-gold img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 2px 3px #0008)}
.upgrade-calculator-result.is-updating{animation:upgrade-result-flash .28s ease-out}
.upgrade-calculator-result.is-maxed{border-color:#f5d56f;box-shadow:inset 0 0 0 1px #ffeb9a55,0 0 24px #e9bb4b44}
@keyframes upgrade-result-flash{0%{filter:brightness(1.35);transform:translateY(2px)}100%{filter:brightness(1);transform:translateY(0)}}
.upgrade-requirements-tables{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0;padding:12px;border:1px solid #b08a50;border-radius:14px;background:#171e27}
.upgrade-requirements-tables[hidden]{display:none}
.upgrade-requirements-table-block{min-width:0}.upgrade-requirements-table-block h3{margin:0 0 8px;color:#ffe09a;font-size:13px}
.upgrade-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.upgrade-table-scroll table{width:100%;min-width:510px;border-collapse:collapse;color:#f4ead4;font-size:11px;font-variant-numeric:tabular-nums}
.upgrade-table-scroll th,.upgrade-table-scroll td{padding:5px 6px;border:1px solid #bba06a66;text-align:right;white-space:nowrap}
.upgrade-table-scroll th:first-child,.upgrade-table-scroll td:first-child{text-align:left}
.upgrade-table-scroll thead th{background:#4c3924;color:#ffe7ad}
.upgrade-table-scroll tbody th{background:#252f38;color:#f2dba5}

.upgrade-help-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffd76c;border-radius:50%;background:linear-gradient(#fff0a2,#b27624);color:#38230c;font:1000 22px/1 var(--royale-display,system-ui);cursor:pointer;box-shadow:inset 0 1px #fff9,0 3px 0 #5e3b14,0 6px 12px #0006}
.upgrade-help-toggle:hover{filter:brightness(1.1);transform:translateY(-1px)}.upgrade-help-toggle:active{transform:translateY(1px)}
@media(max-width:700px){
 .top .upgrade-calculator-open{left:94px;bottom:20px;width:54px;height:62px}
 .top .upgrade-calculator-open img{width:48px;height:60px}
 .upgrade-calculator-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}
 .upgrade-calculator-shell{max-height:calc(100dvh - 16px)}

 .upgrade-calculator-inputs{padding:10px}.upgrade-rarity-list{gap:4px}
 .upgrade-rarity-card{font-size:9px;padding:4px 1px 5px}

 .upgrade-level-row{margin-top:10px}.upgrade-inventory-row{gap:6px;margin-top:8px}
 .upgrade-field{font-size:11px}.upgrade-field input{height:42px;font-size:18px}
 .upgrade-calculator-status{margin-top:6px;font-size:11px}
 .upgrade-calculator-result{gap:10px;padding:12px}
 .upgrade-calculator-result h3{padding-bottom:7px}.upgrade-result-level strong{font-size:32px}
 .upgrade-result-progress strong{font-size:17px}.upgrade-result-gold strong{font-size:19px}
 .upgrade-requirements-tables{grid-template-columns:minmax(0,1fr);padding:9px;gap:14px}

}
@media(max-width:360px){
 .top .upgrade-calculator-open{left:88px;bottom:20px;width:48px;height:58px}
 .top .upgrade-calculator-open img{width:44px;height:55px}
 .upgrade-calculator-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}
 .upgrade-calculator-shell{max-height:calc(100dvh - 12px)}
 .upgrade-calculator-content{padding:7px}.upgrade-calculator-inputs{padding:8px}

 .upgrade-field input{height:40px;padding:5px 4px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 .top .upgrade-calculator-open,.card-usage-panel .usage-filter-selected-only,.upgrade-calculator-result,.upgrade-progress-track span,.upgrade-rarity-card,.upgrade-help-toggle{transition:none;animation:none}
}


/* Compact upgrade calculator. Existing game palette, result animation and outer dialog radius are preserved. */
.upgrade-calculator-shell{position:relative;grid-template-rows:minmax(0,1fr)}
.upgrade-calculator-close{position:absolute;top:7px;right:7px;z-index:6;width:32px;height:32px;min-width:32px;border-radius:9px;font-size:22px}
.upgrade-help-toggle{position:absolute;top:5px;right:43px;z-index:6;width:38px;height:38px}
.upgrade-calculator-content{padding:48px 16px 12px}
.upgrade-calculator-inputs{padding:12px}
.upgrade-rarity-list{gap:6px}
.upgrade-rarity-card{min-height:58px;padding:3px 2px 4px}
.upgrade-rarity-card img{width:auto;height:48px;max-width:48px;object-fit:contain}
.upgrade-level-row{margin-top:8px}
.upgrade-inventory-row{gap:8px;margin-top:8px}
.upgrade-field{position:relative;gap:0}
.upgrade-calculator-dialog .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.upgrade-field input::placeholder{color:#d7c29c;opacity:.84;text-align:left;font:inherit}
.upgrade-calculator-result{gap:10px;padding:13px 14px 9px}
.upgrade-result-gold{padding-top:4px}
.upgrade-requirements-table-block h3{display:flex;align-items:center;min-height:30px;margin:0 0 5px}
.upgrade-requirements-table-block h3 img{display:block;width:30px;height:30px;object-fit:contain}
.upgrade-table-scroll{max-width:100%;overflow:visible;overscroll-behavior:contain}
.upgrade-table-scroll table{width:100%;min-width:0;table-layout:fixed}
.upgrade-table-scroll th,.upgrade-table-scroll td{padding:4px 1px}.upgrade-table-scroll td{white-space:normal}
.upgrade-table-scroll th:first-child,.upgrade-table-scroll td:first-child{width:24px}
.upgrade-table-scroll thead th{position:sticky;top:48px;z-index:2;text-align:center;white-space:normal;overflow-wrap:normal;box-shadow:0 1px #bba06a66}
.upgrade-table-scroll thead th:first-child{white-space:nowrap;text-align:left}
@media(max-width:700px){
 .upgrade-calculator-content{padding:46px 10px 10px;grid-template-columns:minmax(0,1fr);gap:9px}.upgrade-table-scroll thead th{top:46px}
 .upgrade-calculator-inputs{padding:9px}
 .upgrade-rarity-list{gap:4px}
 .upgrade-rarity-card{min-height:48px;padding:2px 1px 3px}
 .upgrade-rarity-card img{height:40px;max-width:42px}
 .upgrade-level-row{margin-top:7px}
 .upgrade-inventory-row{gap:6px;margin-top:6px}
 .upgrade-calculator-result{gap:8px;padding:10px 12px 7px}
 .upgrade-result-gold{padding-top:3px}
 .upgrade-requirements-tables{gap:10px}
}
@media(max-width:360px){
 .upgrade-calculator-content{padding:44px 7px 8px;gap:7px}.upgrade-table-scroll thead th{top:44px}
 .upgrade-calculator-inputs{padding:7px}
 .upgrade-rarity-list{gap:3px}
 .upgrade-rarity-card img{height:36px;max-width:38px}
}
