/* Independent compact workshop UI. Shared site CSS supplies fonts, header and demon buttons. */
/* Allocation warnings must not recenter the workbench when a scrollbar appears. */
html:has(.fit-main){scrollbar-gutter:stable}
.fit-main{padding-bottom:60px}.fit-heading{padding:25px 0 30px}.fit-heading-line{display:flex;align-items:center;justify-content:space-between;gap:24px}.fit-heading .eyebrow{margin-bottom:10px}.fit-heading h1{font-size:clamp(40px,4.6vw,64px)}.fit-heading p{margin-top:12px;color:var(--muted)}.fit-badge{font-size:12px;white-space:nowrap;border:1px solid var(--line);padding:7px 12px;border-radius:20px;color:var(--gold)}.fit-panel{border:1px solid #94625a66;border-radius:12px;background:linear-gradient(135deg,#3b2730,#281e27);padding:22px;box-shadow:inset 0 1px #eac89510,0 8px 25px #0002}.fit-main label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#cdbba9}.fit-main input,.fit-main select,.fit-dialog input,.fit-dialog select,.fit-dialog textarea{font:inherit;color:var(--cream);border:1px solid #ad827f70;border-radius:5px;padding:8px 9px;background:#1f1920;min-width:0;max-width:100%;width:100%}.fit-main select,.fit-dialog select{cursor:pointer}.fit-main input:focus-visible,.fit-main select:focus-visible,.fit-dialog input:focus-visible,.fit-dialog select:focus-visible,.fit-dialog textarea:focus-visible{outline:2px solid #66bdb4;outline-offset:2px}.fit-main input[type=checkbox],.fit-dialog input[type=checkbox]{width:17px;height:17px;accent-color:#a86167;flex:none}.fit-main input[type=number],.fit-dialog input[type=number],.fit-main output{font-variant-numeric:tabular-nums}.fit-setup{display:grid;grid-template-columns:1.3fr 1fr .6fr 1.2fr 1fr;gap:15px}.fit-toolbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:26px 0}.fit-toolbar .button,.fit-main .button,.fit-dialog .button{font-size:13px;min-height:40px;padding:10px 15px;line-height:1.3;white-space:normal}.fit-small{position:relative;font-size:12px!important;min-height:38px!important;padding:8px 12px!important}.fit-small:after{display:none!important}.fit-small:before{background-size:10px 13px,10px 13px!important;background-position:left 3px top,right 3px top!important;top:-9px!important;height:13px!important}.fit-status{font-size:12px;color:#c8d6b3}.fit-muted-button{background:linear-gradient(180deg,#4a303e,#2d202b)!important}.fit-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.78fr);gap:20px;align-items:start}.fit-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.fit-section-heading h2{font-size:30px}.fit-meta{font-size:10px;color:#bdac99}.fit-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fit-slot{appearance:none;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #97776c66;border-radius:8px;min-height:112px;padding:10px 5px;background:linear-gradient(150deg,#4d3340,#2c202b);color:var(--cream);transition:border-color .2s,background-color .2s;position:relative;width:100%;line-height:1.3}.fit-slot:hover{border-color:var(--gold)}.fit-slot.is-equipped{border-color:#c0a277;background:linear-gradient(150deg,#65444a,#38272e)}.fit-slot .fit-icon{width:33px;height:33px;color:#baa084}.fit-slot.is-equipped .fit-icon{color:#ead0a8}.fit-slot-name{font-size:10px;color:#d4bda7}.fit-slot-item{font-size:11px;max-width:100%;overflow-wrap:anywhere;min-height:2.6em;display:flex;align-items:center;text-align:center}.fit-slot-dots{font-size:9px;color:#bf9d77}.fit-extra{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}.fit-main summary,.fit-dialog summary{cursor:pointer;color:#dec4aa;font-size:13px}.fit-extra .fit-slots{margin-top:15px}.fit-help{font-size:11px;line-height:1.6;color:#bcaa9b;margin-top:10px}.fit-check{flex-direction:row!important;align-items:center!important;gap:8px!important;line-height:1.4}.fit-extra .fit-check{margin-top:10px}.fit-bulk{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.fit-bulk .button{grid-column:1/-1}.fit-stat-row{display:grid;grid-template-columns:minmax(0,1fr) 58px 64px;gap:10px;align-items:center;min-height:40px;padding:5px 0;border-bottom:1px solid #bc928817}.fit-stat-row label{font-size:12px}.fit-stat-row input{padding:5px;font-size:12px;text-align:center}.fit-stat-row output{text-align:right;color:#e8c591;font-size:14px;overflow-wrap:anywhere}.fit-stat-details{margin-top:15px}.fit-stat-details summary{margin-bottom:10px}.fit-stat-row.fit-readonly{grid-template-columns:minmax(0,1fr) 68px}.fit-budget{display:flex;justify-content:space-between;gap:10px;font-size:12px;padding:12px 0;color:var(--gold)}.fit-budget.is-over{color:#ffb1af}.fit-rating{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 18px;border-bottom:1px solid var(--line);font-size:12px}.fit-rating output{font-size:40px;line-height:1.2;color:#ee9d9c;letter-spacing:-.03em}.fit-vitals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.fit-vitals div{background:#17131b66;border:1px solid #ba967022;padding:10px 12px;border-radius:8px}.fit-vitals span{font-size:10px;color:var(--muted);display:block}.fit-vitals output{font-size:23px;overflow-wrap:anywhere}.fit-results h3{font-size:24px;margin-top:25px;margin-bottom:12px}.fit-hand-damage{display:grid;grid-template-columns:1fr auto;gap:3px 10px;margin-bottom:12px;font-size:11px}.fit-hand-damage strong{font-size:15px;font-variant-numeric:tabular-nums}.fit-critical{grid-column:1/-1;color:#c48790;font-size:11px;text-align:right}.fit-armor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fit-armor div{border:1px solid #8b786c55;background:#201a20;padding:8px 4px;text-align:center;border-radius:6px}.fit-armor span{font-size:9px;display:block;color:var(--muted)}.fit-armor strong{display:block;font-size:15px}.fit-armor .armor-head{grid-column:2}.fit-armor .armor-leftArm{grid-column:1;grid-row:2}.fit-armor .armor-body{grid-column:2;grid-row:2}.fit-armor .armor-rightArm{grid-column:3;grid-row:2}.fit-armor .armor-legs{grid-column:2;grid-row:3}.fit-price{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.fit-price p{font-size:12px;margin-top:10px}.fit-effects{margin-top:22px}.fit-effect-grid{display:grid;grid-template-columns:1fr 2fr;gap:35px}.fit-blessings{border:0;padding:0;margin:0;min-width:0}.fit-blessings legend{font-size:16px;color:var(--gold);margin-bottom:10px}.fit-blessings #blessing-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fit-boost-label{margin-top:22px;max-width:220px}.fit-drinks h3{font-size:24px}.fit-drink-row{display:grid;grid-template-columns:minmax(0,1fr) auto 38px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0;font-size:12px}.fit-drink-row small{color:var(--muted);display:block;font-size:10px}.fit-drink-remove{border:1px solid #95777166;background:#33202c;color:var(--cream);border-radius:5px;width:36px;height:36px;line-height:1;font-size:20px}.fit-note{margin:22px 0;padding:16px 20px;border:1px solid #b27e6555;border-radius:8px;background:#453029;font-size:12px;color:#edceb4}.fit-note ul{margin:0;padding-left:20px}.fit-dialog{width:min(880px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:25px;border:1px solid #bf9d75;border-radius:12px;background:linear-gradient(135deg,#3d2933,#211923);color:var(--cream);box-shadow:0 20px 80px #0008}.fit-dialog::backdrop{background:#130d17b8;backdrop-filter:blur(3px)}.fit-dialog-narrow{width:min(600px,calc(100vw - 32px))}.fit-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.fit-dialog-head h2{font-size:32px}.fit-dialog-head .button{flex:none}.fit-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#d0bba9}.fit-dialog-tabs{display:flex;gap:20px;margin-bottom:20px}.fit-dialog-tabs [aria-pressed=true]{border-color:var(--gold)}.fit-catalog-filters{display:grid;grid-template-columns:1fr .8fr 1fr;gap:15px;align-items:end}.fit-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.fit-catalog-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;text-align:left;color:var(--cream);border:1px solid #ad827d66;background:#32222c;border-radius:8px;padding:15px;width:100%;font-size:12px}.fit-catalog-card:disabled{opacity:.55;cursor:not-allowed}.fit-catalog-card .fit-icon{width:34px;height:34px;color:#caaa83}.fit-catalog-card strong{font-weight:500;display:block;font-size:15px}.fit-catalog-card small{display:block;font-size:10px;color:#bda38e;margin-top:5px}.fit-catalog-card .fit-catalog-stats{grid-column:1/-1;font-size:11px;color:#d0bba4}.fit-editor-basics{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.fit-editor-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.fit-editor-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.fit-editor-section summary{font-size:15px}.fit-editor-cost{margin-top:20px;font-size:13px;color:var(--gold)}.fit-editor-cost.is-over{color:#ffb1af}.fit-effect-row{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr;gap:12px;margin:12px 0;align-items:end}.fit-gem-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fit-enhancement-title{font-size:13px;margin-top:20px;color:#ddc7ae}.fit-enhancements-checks{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0}.fit-lining-skins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.fit-dialog-actions{display:flex;gap:20px;margin-top:28px;flex-wrap:wrap}.fit-saved-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.fit-saved-row p{font-size:12px}.fit-saved-row small{color:var(--muted);font-size:10px}.fit-dialog textarea{font-size:12px;line-height:1.6;resize:vertical;min-height:200px}.fit-dialog .fit-status{margin-top:15px}.fit-empty{font-size:13px;color:var(--muted);padding:20px 0}.fit-icon{display:block;flex:none}.fit-main .eyebrow{font-size:10px}.fit-dialog .button:disabled{opacity:.45;cursor:not-allowed}
@media(min-width:1101px){.fit-results{position:sticky;top:170px}}
@media(max-width:1100px){.fit-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fit-results{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}.fit-results .fit-section-heading{grid-column:1/-1;margin-bottom:0}.fit-rating{border:0}.fit-results h3{margin-top:8px}.fit-results h3:nth-of-type(1){grid-column:1;grid-row:3}.fit-results h3:nth-of-type(2){grid-column:2;grid-row:3}.fit-damage{grid-column:1;grid-row:4}.fit-armor{grid-column:2;grid-row:4}.fit-price{grid-column:1/-1;margin-top:0}.fit-effect-grid{grid-template-columns:1fr 1.5fr}.fit-setup{grid-template-columns:1fr 1fr 1fr}.fit-setup label:first-child{grid-column:1/3}.fit-badge{display:none}.fit-panel{padding:18px}}
@media(max-width:700px){.fit-main{width:calc(100% - 36px)}.fit-heading{padding-top:18px}.fit-heading h1{font-size:42px}.fit-heading p{font-size:13px}.fit-setup{grid-template-columns:1fr 1fr;gap:12px}.fit-setup label:first-child{grid-column:1/-1}.fit-setup label:nth-child(4){grid-column:1/-1;grid-row:4}.fit-setup label:last-child{grid-column:1/-1}.fit-layout{grid-template-columns:minmax(0,1fr)}.fit-equipment{order:2}.fit-character{order:1}.fit-results{order:3;display:block;grid-column:auto}.fit-results h3{margin-top:20px}.fit-effects{padding:18px}.fit-effect-grid{grid-template-columns:minmax(0,1fr);gap:28px}.fit-toolbar{gap:18px 12px;padding:24px 0}.fit-toolbar .button{flex:1 1 calc(50% - 6px);min-width:0;text-align:center;font-size:11px;padding:11px 6px}.fit-dialog{padding:18px;width:calc(100vw - 24px)}.fit-dialog-head h2{font-size:26px}.fit-dialog-head{align-items:start;gap:10px}.fit-dialog-head .button{font-size:10px!important;padding:8px!important;min-height:36px!important}.fit-catalog-filters{grid-template-columns:1fr 1fr}.fit-catalog-filters .fit-check{grid-column:1/-1;margin-top:5px}.fit-catalogue{grid-template-columns:minmax(0,1fr)}.fit-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-editor-basics{grid-template-columns:1fr 1fr}.fit-editor-basics label:first-child{grid-column:1/-1}.fit-effect-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.fit-saved-row{gap:12px}.fit-saved-row .button{font-size:11px}.fit-dialog-actions{gap:20px 12px}.fit-note{padding:14px}.fit-extra .fit-check{font-size:11px}.fit-main .breadcrumb{margin-bottom:20px}.fit-effect-grid legend{font-size:15px}.fit-blessings #blessing-controls{gap:14px}.fit-main .fit-check{min-height:30px}.fit-stat-row{grid-template-columns:minmax(0,1fr) 65px 65px}.fit-stat-row label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.fit-slot{transition:none}.fit-dialog::backdrop{backdrop-filter:none}}

/* Body layout follows observed item positions; all icons and layout code are ours. */
.fit-setup{grid-template-columns:1fr .65fr 1.4fr}.fit-setup label{grid-column:auto!important;grid-row:auto!important}
.fit-slots{display:block;position:relative;aspect-ratio: .77;width:100%;max-width:460px;margin:auto;isolation:isolate}
.fit-slots:before{content:"";position:absolute;inset:12% 32% 4%;border:1px solid #bda17b15;border-radius:42% 42% 25% 25%;background:radial-gradient(ellipse,#bda17b08,transparent 72%);z-index:-1}
.fit-slot{position:absolute;min-height:0;padding:5px 3px;gap:3px;overflow:hidden;justify-content:center}
.fit-slot .fit-icon{width:clamp(18px,2.3vw,30px);height:clamp(18px,2.3vw,30px)}
.fit-slot-name{font-size:10px;line-height:1.15;text-align:center}.fit-slot-item{font-size:10px;line-height:1.2;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fit-slot-dots{position:absolute;top:3px;right:3px;font-size:9px;max-width:90%;white-space:nowrap;overflow:hidden}
/* The silhouette ends just below the boots; original slot dimensions stay intact. */
.fit-slot{top:calc(var(--slot-y)*1%);height:calc(var(--slot-h)*1%)}
#slot-helmet{left:39%;--slot-y:0;width:23%;--slot-h:15}
#slot-cloak{left:0;--slot-y:4;width:25%;--slot-h:23}
#slot-amulet{left:25%;--slot-y:16;width:24%;--slot-h:8}#slot-additionalAmulet{left:51%;--slot-y:16;width:24%;--slot-h:8}
#slot-body{left:39%;--slot-y:25;width:23%;--slot-h:23}
#slot-bracers{left:0;--slot-y:28;width:23%;--slot-h:16}#slot-gloves{left:77%;--slot-y:28;width:23%;--slot-h:16}
#slot-leftHand{left:0;--slot-y:45;width:34%;--slot-h:13}#slot-rightHand{left:66%;--slot-y:45;width:34%;--slot-h:13}
#slot-belt{left:39%;--slot-y:49;width:23%;--slot-h:8}#slot-pants{left:39%;--slot-y:58;width:23%;--slot-h:20}#slot-boots{left:39%;--slot-y:82;width:23%;--slot-h:14}
#slot-ring1,#slot-ring2,#slot-ring3,#slot-ring4,#slot-ring5,#slot-ring6,#slot-ring7,#slot-ring8{width:16%;--slot-h:13}
#slot-ring1,#slot-ring3{left:0}#slot-ring2,#slot-ring4{left:18%}#slot-ring5,#slot-ring7{left:66%}#slot-ring6,#slot-ring8{left:84%}
#slot-ring1,#slot-ring2,#slot-ring5,#slot-ring6{--slot-y:59}#slot-ring3,#slot-ring4,#slot-ring7,#slot-ring8{--slot-y:74}
#slot-amulet .fit-icon,#slot-additionalAmulet .fit-icon,#slot-belt .fit-icon{display:block;width:20px;height:20px}
#slot-amulet .fit-slot-item,#slot-additionalAmulet .fit-slot-item,#slot-belt .fit-slot-item,[data-slot^=ring] .fit-slot-item{display:none}
.fit-slot.is-equipped:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold);position:absolute;bottom:3px;right:3px}
.fit-parameter-legend{font-size:10px;color:var(--muted);margin:8px 0}
.fit-parameter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(55px,.6fr);gap:8px;align-items:center;min-height:44px;padding:7px 0;border-bottom:1px solid #bc928817;font-size:12px}
.fit-mastery-row{grid-template-columns:58px minmax(0,1fr) minmax(55px,.65fr)}
.fit-mastery-row .fit-parameter-label{grid-column:1/-1}
.fit-parameter-row input{padding:5px;font-size:12px;text-align:center}
.fit-own-parameter{display:flex;flex-wrap:wrap;gap:3px 7px;align-items:center;justify-content:flex-end;min-width:0;color:#e8c591;font-size:14px}
.fit-parameter-bonus{color:#8fb9ef;font-size:12px}.fit-enemy-parameter{color:#9bce8d;text-align:right;font-size:13px;overflow-wrap:anywhere;font-weight:600}
.fit-own-parameter output{overflow-wrap:anywhere}.fit-parameter-label{overflow-wrap:anywhere}
@media(max-width:700px){.fit-setup{grid-template-columns:1fr 1fr}.fit-setup label:last-child{grid-column:1/-1!important}.fit-slot .fit-icon{width:24px;height:24px}.fit-slot-name{font-size:10px}.fit-parameter-row{gap:6px}}

[data-slot^=ring] .fit-icon{width:18px;height:18px}[data-slot^=ring] .fit-slot-name,#slot-additionalAmulet .fit-slot-name{font-size:9px}
@media(max-width:380px){[data-slot^=ring] .fit-icon{display:none}}

/* Compact fitting workspace; typography and touch controls stay legible. */
.fit-main{padding-bottom:30px}
.fit-heading{padding:14px 0 18px}.fit-heading .breadcrumb{margin-bottom:10px;font-size:11px}.fit-heading .eyebrow{margin-bottom:6px}.fit-heading h1{font-size:36px;line-height:1.1}
.fit-panel{padding:14px;border-radius:9px}.fit-setup{gap:12px;padding:12px 14px}
.fit-main label,.fit-dialog label{gap:4px}.fit-main input,.fit-main select,.fit-dialog input,.fit-dialog select{padding:5px 7px;min-height:30px;font-size:12px}
.fit-toolbar{padding:16px 0;gap:12px 16px}.fit-main .button,.fit-dialog .button{min-height:34px;padding:7px 12px;font-size:12px}.fit-small{min-height:32px!important;padding:6px 10px!important}
.fit-layout{gap:14px}.fit-section-heading{margin-bottom:12px;gap:8px}.fit-section-heading h2{font-size:25px;line-height:1.15}.fit-slots{max-width:300px}
.fit-slot .fit-slot-item{display:none}.fit-slot{gap:2px}.fit-slot .fit-icon{width:23px;height:23px}[data-slot^=ring] .fit-icon{width:17px;height:17px}
.fit-bulk{padding-top:12px;margin-top:12px;gap:10px}.fit-bulk .button{margin-top:2px}
.fit-stat-row{grid-template-columns:minmax(0,1fr) 50px 58px;gap:8px;min-height:34px;padding:2px 0}.fit-stat-row input{min-height:28px;padding:3px 5px}.fit-stat-row output{font-size:13px}
.fit-budget{padding:8px 0;font-size:11px}.fit-stat-details{margin-top:8px}.fit-stat-details summary{margin-bottom:4px;font-size:12px}.fit-parameter-legend{margin:4px 0;font-size:10px;line-height:1.4}
.fit-parameter-row{min-height:34px;padding:3px 0;gap:6px;grid-template-columns:minmax(0,1fr) minmax(55px,.7fr) minmax(50px,.55fr)}
.fit-mastery-row{grid-template-columns:minmax(0,1fr) 44px minmax(55px,.7fr) minmax(50px,.55fr)}.fit-mastery-row .fit-parameter-label{grid-column:auto}.fit-parameter-row input{min-height:28px;padding:3px 4px}.fit-own-parameter{gap:2px 5px;font-size:13px}.fit-parameter-bonus,.fit-enemy-parameter{font-size:12px}
.fit-stat-details .fit-help{margin-top:4px;font-size:10px;line-height:1.4}.fit-rating{padding:3px 0 12px}.fit-rating output{font-size:32px}.fit-vitals{gap:8px;margin-top:12px}.fit-vitals div{padding:7px 9px}.fit-vitals output{font-size:21px}.fit-results h3{font-size:22px;margin-top:16px;margin-bottom:8px}.fit-hand-damage{margin-bottom:8px}.fit-hand-damage strong{font-size:14px;overflow-wrap:anywhere}.fit-price{padding-top:10px;margin-top:12px}.fit-armor div{padding:5px 3px}.fit-armor strong{font-size:14px}
.fit-effects{margin-top:14px}.fit-effect-grid{gap:18px;grid-template-columns:1fr 1.3fr}.fit-blessings legend{font-size:14px;margin-bottom:8px}.fit-blessings #blessing-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.fit-boost-label{margin-top:12px;max-width:180px}.fit-drinks h3{font-size:22px}.fit-help{margin-top:6px}.fit-empty{padding:8px 0;font-size:12px}.fit-note{margin:14px 0;padding:12px 14px}
.fit-dialog{padding:18px}.fit-dialog-head{gap:12px;margin-bottom:14px}.fit-dialog-head h2{font-size:27px}.fit-dialog-tabs{gap:16px;margin-bottom:14px}.fit-catalog-filters{gap:10px}.fit-catalogue{gap:10px;margin-top:12px}.fit-catalog-card{padding:11px;gap:9px}.fit-catalog-card strong{font-size:14px}
.fit-editor-basics{gap:10px}.fit-editor-fields{gap:9px;margin-top:10px}.fit-editor-section{margin-top:12px;padding-top:10px}.fit-editor-section summary{font-size:13px}.fit-editor-cost{margin-top:12px}.fit-effect-row{margin:9px 0;gap:10px}.fit-enhancements-checks{margin:12px 0;gap:12px}.fit-lining-skins{gap:10px;margin:10px 0}.fit-dialog-actions{gap:16px;margin-top:18px}.fit-saved-row{padding:10px 0}
@media(min-width:900px){.fit-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,.85fr)}.fit-results{display:block;grid-column:auto;position:sticky;top:170px}.fit-results .fit-section-heading{margin-bottom:12px}.fit-stat-row{grid-template-columns:minmax(0,1fr) 46px 55px}.fit-slot .fit-icon{width:20px;height:20px}[data-slot^=ring] .fit-icon{width:16px;height:16px}.fit-slot-name{font-size:9px}}
@media(min-width:700px) and (max-width:899px){.fit-results{gap:10px 22px}.fit-results .fit-section-heading{margin-bottom:0}.fit-results h3{margin-top:2px}.fit-price{margin-top:0}.fit-effect-grid{grid-template-columns:1fr 1.2fr}}
@media(max-width:700px){.fit-main{width:calc(100% - 24px)}.fit-heading{padding:12px 0 16px}.fit-heading h1{font-size:32px}.fit-setup{gap:10px}.fit-toolbar{padding:16px 0;gap:14px 12px}.fit-toolbar .button{min-height:38px;font-size:11px;padding:8px 6px}.fit-panel,.fit-effects{padding:12px}.fit-main input,.fit-main select,.fit-dialog input,.fit-dialog select{min-height:34px}.fit-stat-row input,.fit-parameter-row input{min-height:32px}.fit-stat-row{min-height:36px}.fit-parameter-row{min-height:36px}.fit-slots{max-width:285px}.fit-slot-name{font-size:10px}[data-slot^=ring] .fit-slot-name,#slot-additionalAmulet .fit-slot-name{font-size:9px}.fit-results h3{margin-top:14px}.fit-effect-grid{grid-template-columns:minmax(0,1fr);gap:18px}.fit-blessings #blessing-controls{gap:8px}.fit-main .fit-check{min-height:28px}.fit-dialog{padding:14px}.fit-dialog input,.fit-dialog select{min-height:34px}.fit-dialog-head .button{min-height:36px!important}.fit-dialog-head h2{font-size:25px}.fit-dialog-actions .button{min-height:38px}.fit-dialog-actions{gap:14px}.fit-editor-fields{gap:9px}.fit-catalog-card{min-height:64px}}
@media(max-width:389px){.fit-mastery-row{grid-template-columns:44px minmax(0,1fr) minmax(50px,.6fr)}.fit-mastery-row .fit-parameter-label{grid-column:1/-1}.fit-mastery-row{padding:4px 0;gap:4px 6px}.fit-slot .fit-icon{width:21px;height:21px}[data-slot^=ring] .fit-icon{display:none}.fit-blessings #blessing-controls{grid-template-columns:1fr 1fr}}

.fit-main{font-size:13px;line-height:1.45}.fit-character,.fit-equipment,.fit-results,.fit-effects{line-height:1.45}.fit-main .breadcrumb{padding:0;min-height:0}.fit-heading{padding:10px 0 14px}.fit-budget{padding:6px 0;line-height:1.3}.fit-stat-details summary{line-height:1.4}.fit-vitals span{line-height:1.4}.fit-blessings #blessing-controls .fit-check{line-height:1.4}.fit-controls{margin-bottom:0}
@media(min-width:900px){.fit-controls{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;align-items:start;margin-bottom:16px}.fit-toolbar{padding:0;gap:14px 12px}.fit-toolbar .button{flex:1 1 calc(50% - 6px);min-width:0;text-align:center}.fit-status{width:100%;margin:0}.fit-toolbar .fit-status:empty{display:none}}

@media(min-width:740px){.fit-editor-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.fit-editor-basics{grid-template-columns:repeat(3,minmax(0,1fr))}}

.fit-main input[type=checkbox],.fit-dialog input[type=checkbox]{min-height:17px}

/* Equipment keeps its scale; related actions live below it. */
#slot-amulet{left:27%;width:23%}#slot-additionalAmulet{left:52%;width:23%}
[data-slot^=ring]{width:17%!important;padding:5px 0;min-width:0}
#slot-ring5,#slot-ring7{left:65%}#slot-ring6,#slot-ring8{left:83%}
[data-slot^=ring] .fit-slot-name{white-space:nowrap;letter-spacing:-.25px}
.fit-bulk-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px}
.fit-bulk-actions .button{grid-column:auto;min-width:0;min-height:46px!important;margin:0;padding:7px 6px!important;font-size:11px!important}
.fit-equipment .fit-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);margin-top:14px;padding:20px 0 0;gap:16px 14px}
.fit-equipment .fit-toolbar .button{width:100%;min-width:0;text-align:center;font-size:11px;padding:7px 8px;min-height:38px}
.fit-equipment .fit-status{grid-column:1/-1;overflow-wrap:anywhere;font-size:11px;margin:0}.fit-equipment .fit-status:empty{display:none}
.fit-results .fit-setup{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:8px 10px;padding:0 0 10px;margin-bottom:10px;border-bottom:1px solid var(--line)}
.fit-results .fit-setup label{font-size:11px;gap:3px}.fit-results .fit-setup label:last-child{grid-column:1/-1!important}.fit-results .fit-section-heading{margin-bottom:10px}
.fit-character .fit-section-heading{margin-bottom:8px}.fit-character .fit-stat-row{min-height:30px;padding:1px 0}.fit-character .fit-stat-row input{min-height:26px;padding:2px 4px}
.fit-character .fit-budget{padding:5px 0}.fit-character .fit-stat-details{margin-top:6px}.fit-character .fit-parameter-row{min-height:30px;padding:2px 0}.fit-character .fit-parameter-row input{min-height:26px;padding:2px 4px}
.fit-character .fit-stat-details summary{margin-bottom:3px}.fit-character .fit-parameter-legend{margin:3px 0}.fit-character .fit-stat-details .fit-help{margin-top:3px}
.fit-results .fit-rating{padding:0 0 8px}.fit-results .fit-rating output{font-size:30px}.fit-results .fit-vitals{margin-top:8px;gap:6px}.fit-results .fit-vitals div{padding:5px 7px}.fit-results h3{margin-top:12px;margin-bottom:6px;font-size:21px}.fit-results .fit-hand-damage{margin-bottom:6px}
.fit-effects{padding:12px}.fit-effects .fit-section-heading{margin-bottom:10px}.fit-effects .fit-effect-grid{gap:14px}.fit-effects .fit-boost-label{margin-top:8px}
@media(min-width:701px) and (max-width:899px){.fit-results .fit-section-heading{grid-column:1/-1}.fit-results .fit-setup{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 90px minmax(0,1.4fr);align-items:end}.fit-results .fit-setup label:last-child{grid-column:auto!important}.fit-results .fit-rating,.fit-results .fit-vitals{grid-row:3}.fit-results h3:nth-of-type(1),.fit-results h3:nth-of-type(2){grid-row:4}.fit-results .fit-damage,.fit-results .fit-armor{grid-row:5}}
@media(max-width:700px){.fit-character .fit-stat-row,.fit-character .fit-parameter-row{min-height:34px}.fit-character .fit-stat-row input,.fit-character .fit-parameter-row input{min-height:32px}.fit-equipment .fit-toolbar .button{min-height:38px}.fit-results .fit-setup input,.fit-results .fit-setup select{min-height:34px}}
/* Larger editable stats, compact character summary. Equipment/effects stay unchanged. */
.fit-character .fit-stat-row{grid-template-columns:minmax(0,1fr) 76px minmax(55px,.45fr)}
.fit-character .fit-stat-row input,.fit-character .fit-parameter-row input{min-height:36px;padding:5px 7px;font-size:13px}
.fit-character .fit-mastery-row{grid-template-columns:minmax(0,1fr) 72px minmax(55px,.7fr) minmax(50px,.55fr)}
.fit-results{display:block!important}
.fit-results .fit-setup{grid-template-columns:minmax(82px,1.1fr) 45px minmax(0,1.2fr);gap:6px;padding-bottom:8px;margin-bottom:8px}
.fit-results .fit-setup label,.fit-results .fit-setup label:first-child,.fit-results .fit-setup label:last-child{grid-column:auto!important;font-size:10px}
.fit-results .fit-setup input,.fit-results .fit-setup select{min-height:30px;padding:5px 3px;font-size:11px}
.fit-results .fit-rating{padding:0 0 6px}.fit-results .fit-rating output{font-size:27px}
.fit-results .fit-vitals{display:flex;gap:14px;margin:8px 0 12px}
.fit-results .fit-vitals div{display:flex;align-items:baseline;gap:6px;padding:0;border:0;background:none;min-width:0}
.fit-results .fit-vitals span{font-size:11px;color:inherit}.fit-results .fit-vitals output{font-size:18px;font-weight:700;color:inherit}
.fit-results .fit-vitals div:first-child{color:#ff9399}.fit-results .fit-vitals div:last-child{color:#91c8ff}
.fit-model-caption{font-size:10px;color:#bdac99;margin-bottom:7px}
.fit-combat-model{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'. head .' 'leftArm body rightArm' 'leftDamage legs rightDamage';gap:6px;align-items:start}
.fit-combat-model .fit-armor,.fit-combat-model .fit-damage{display:contents}
.fit-combat-model .fit-armor>div{min-width:0;padding:5px 3px;text-align:center;background:#17131b66;border:1px solid #ba967022;border-radius:5px}
.fit-combat-model .fit-armor span{display:block;font-size:9px;line-height:1.3}.fit-combat-model .fit-armor strong{display:block;font-size:15px;overflow-wrap:anywhere}
.fit-combat-model .armor-head{grid-area:head}.fit-combat-model .armor-body{grid-area:body}.fit-combat-model .armor-leftArm{grid-area:leftArm}.fit-combat-model .armor-rightArm{grid-area:rightArm}.fit-combat-model .armor-legs{grid-area:legs}
.fit-combat-model .damage-leftHand{grid-area:leftDamage}.fit-combat-model .damage-rightHand{grid-area:rightDamage}
.fit-combat-model .fit-hand-damage{display:flex;flex-direction:column;gap:2px;text-align:center;font-size:9px;margin:0;min-width:0;overflow-wrap:anywhere}
.fit-combat-model .fit-hand-damage strong{font-size:11px;line-height:1.4}.fit-combat-model .fit-critical{font-size:9px;line-height:1.4}
@media(max-width:389px){.fit-character .fit-mastery-row{grid-template-columns:72px minmax(0,1fr) minmax(50px,.6fr)}.fit-character .fit-mastery-row .fit-parameter-label{grid-column:1/-1}}
/* Always-visible parameter sections and a compact vertical summary column. */
.fit-character .fit-stat-details h3{font-family:inherit;font-size:13px;font-weight:600;color:#dec4aa;margin:7px 0 5px;line-height:1.4}
.fit-summary-column{min-width:0;display:flex;flex-direction:column;gap:12px}
.fit-summary-column .fit-results{position:static;width:100%}
.fit-summary-column .fit-effects{margin:0;padding:12px;width:100%}
.fit-summary-column .fit-effects .fit-section-heading{flex-wrap:wrap;margin-bottom:10px;gap:8px}
.fit-summary-column .fit-effects .fit-meta{display:none}
.fit-summary-column .fit-effects .fit-effect-grid{grid-template-columns:minmax(0,1fr);gap:12px}
.fit-summary-column .fit-blessings #blessing-controls{gap:5px 8px}
.fit-summary-column .fit-check{min-height:25px;font-size:11px}
.fit-summary-column .fit-boost-label{max-width:none;margin-top:8px}
.fit-summary-column .fit-boost-label select{min-height:30px;padding:5px 7px}
.fit-summary-column .fit-help{font-size:10px;line-height:1.45;margin-top:5px}
.fit-summary-column .fit-drinks{border-top:1px solid var(--line);padding-top:12px}
.fit-summary-column .fit-drinks .fit-section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.fit-summary-column .fit-drinks h3{font-size:19px;line-height:1.2;margin:0}
.fit-summary-column .fit-drinks .fit-small{font-size:10px!important;padding:6px 7px!important;min-height:32px!important}
.fit-summary-column .fit-empty{font-size:11px;padding:4px 0}
.fit-summary-column .fit-drink-row{grid-template-columns:minmax(0,1fr) auto 28px;gap:6px;font-size:11px}
.fit-summary-column .fit-drink-remove{width:28px;height:28px}
.fit-combat-model .fit-hand-damage{align-items:stretch;gap:3px}
.fit-combat-model .fit-hand-damage strong,.fit-combat-model .fit-critical{display:block;text-align:center;font-size:14px;line-height:1.35;font-weight:700;grid-column:auto;white-space:normal}
.fit-combat-model .fit-critical{color:#ff9399}
@media(min-width:701px) and (max-width:899px){.fit-summary-column{grid-column:1/-1;max-width:420px;width:100%;justify-self:end}}
@media(max-width:700px){.fit-summary-column{order:3}}
.fit-summary-column .fit-blessings #blessing-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.fit-summary-column .fit-blessings .fit-check{min-width:0;overflow-wrap:anywhere}
.fit-summary-column .fit-results{order:0}.fit-summary-column .fit-effects{order:1}
/* Desktop density: fit the main workbench into a Full HD screen without scaling. */
@media(min-width:900px){
 .fit-main{padding-bottom:12px}
 .fit-heading{padding:6px 0 10px}.fit-heading h1{font-size:32px;line-height:1.1}.fit-heading .breadcrumb{margin-bottom:7px}.fit-heading .eyebrow{margin-bottom:4px;font-size:9px}
 .fit-panel{padding:12px}.fit-section-heading h2{font-size:23px}.fit-equipment .fit-section-heading{margin-bottom:4px}.fit-character .fit-section-heading{margin-bottom:6px}
 .fit-character .fit-stat-row{padding:0}.fit-character .fit-parameter-row{padding:0;min-height:26px}
 .fit-character .fit-stat-row input,.fit-character .fit-parameter-row input{min-height:32px;padding:3px 7px}
 .fit-character .fit-budget{padding:4px 0}.fit-character .fit-stat-details{margin-top:4px}.fit-character .fit-stat-details h3{margin:5px 0 4px}
 .fit-equipment .fit-bulk{margin-top:6px;padding-top:6px;gap:8px 12px}.fit-equipment .fit-bulk label{font-size:11px;gap:3px}.fit-equipment .fit-bulk input,.fit-equipment .fit-bulk select{min-height:28px;padding:4px 6px}
 .fit-equipment .fit-bulk-actions{gap:14px;margin-top:8px}.fit-equipment .fit-bulk-actions .button{min-height:38px!important;padding:5px 6px!important}
 .fit-equipment .fit-toolbar{margin-top:6px;padding-top:12px;gap:12px 14px}.fit-equipment .fit-toolbar .button{min-height:34px;padding:5px 8px}
 .fit-summary-column{gap:10px}.fit-results .fit-section-heading{margin-bottom:8px}.fit-results .fit-setup{padding-bottom:6px;margin-bottom:6px}.fit-results .fit-vitals{margin:6px 0 8px}
 .fit-combat-model{gap:5px}.fit-combat-model .fit-armor>div{padding:3px}.fit-combat-model .fit-armor strong{font-size:14px}
 .fit-summary-column .fit-effects{padding:10px}.fit-summary-column .fit-effects .fit-section-heading{margin-bottom:8px}.fit-summary-column .fit-effect-grid{gap:9px}.fit-summary-column .fit-blessings legend{margin-bottom:5px}.fit-summary-column .fit-check{min-height:23px}.fit-summary-column .fit-blessings #blessing-controls{gap:3px 8px}.fit-summary-column .fit-boost-label{margin-top:6px}.fit-summary-column .fit-drinks{padding-top:10px}

}
@media(min-width:900px){
 .fit-heading{padding:4px 0 8px}.fit-heading .breadcrumb{margin-bottom:5px}
 .fit-heading-line>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}
 .fit-heading h1{order:0}.fit-heading .eyebrow{order:1;margin:0}
}
/* Three balanced panels; rating belongs to editable character parameters. */
.fit-character-heading{align-items:flex-start}
.fit-character-heading>div:first-child{min-width:0}
.fit-character-heading .fit-meta{display:block;margin-top:3px}
.fit-character-heading .fit-rating{flex:none;flex-direction:column;align-items:flex-end;gap:0;padding:0;border:0}
.fit-character-heading .fit-rating output{font-size:27px;max-width:120px;overflow-wrap:anywhere;text-align:right}
.fit-summary-column .fit-results{padding:0;border:0;background:none;box-shadow:none}
.fit-summary-column .fit-effects{padding:12px 0 0;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
@media(min-width:900px){
 .fit-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) minmax(0,1.02fr);align-items:stretch}
 .fit-character-heading .fit-rating output{font-size:25px}
 .fit-summary-column{gap:14px}
 .fit-summary-column .fit-effects{padding:12px 0 0}
 /* Share spare height through the content instead of leaving a blank panel bottom. */
 .fit-character{display:flex;flex-direction:column}
 .fit-character #base-stats{display:grid;grid-auto-rows:minmax(32px,1fr);flex:7 0 auto}
 .fit-character .fit-stat-details{display:flex;flex-direction:column;flex:4 0 auto}
 .fit-character #base-masteries,.fit-character #ward-stats{display:grid;grid-auto-rows:minmax(26px,1fr);flex:1}
 .fit-summary-column .fit-results{display:flex!important;flex-direction:column;flex:1 0 auto}
 .fit-summary-column .fit-combat-model{flex:1;align-content:space-between}
 .fit-summary-column .fit-effects{display:flex;flex-direction:column;flex:1 0 auto}
 .fit-summary-column .fit-effect-grid{display:flex;flex-direction:column;justify-content:space-between;flex:1;gap:12px}
}
/* A modest size increase keeps the workbench readable within Full HD. */
.fit-main{font-size:14px}
.fit-stat-row label{font-size:13px}
.fit-stat-row output,.fit-own-parameter{font-size:14px}
.fit-parameter-bonus,.fit-enemy-parameter{font-size:13px}
.fit-character .fit-stat-row input,.fit-character .fit-parameter-row input{font-size:14px}
.fit-character .fit-stat-details h3{font-size:14px}
.fit-budget{font-size:12px}
.fit-summary-column .fit-check,.fit-summary-column .fit-empty{font-size:12px}
.fit-summary-column .fit-help{font-size:11px}
.fit-results .fit-vitals output{font-size:20px}
.fit-combat-model .fit-hand-damage strong,.fit-combat-model .fit-critical{font-size:15px}
.fit-summary-column .fit-drinks h3{font-size:21px}
@media(min-width:900px){
 .fit-slots{max-width:300px}
 .fit-slot-name{font-size:10px}
 .fit-slot .fit-icon{width:22px;height:22px}
 [data-slot^=ring] .fit-icon{width:18px;height:18px}
 .fit-section-heading h2{font-size:25px}
 .fit-character-heading .fit-rating output{font-size:27px}
 .fit-character .fit-stat-row input,.fit-character .fit-parameter-row input{min-height:30px}
 .fit-character .fit-stat-row{grid-template-columns:minmax(0,1fr) 82px minmax(59px,.45fr)}
 .fit-character .fit-mastery-row{grid-template-columns:minmax(0,1fr) 78px minmax(59px,.7fr) minmax(54px,.55fr)}
 .fit-character #base-stats{grid-auto-rows:minmax(30px,1fr)}
 .fit-character #base-masteries,.fit-character #ward-stats{grid-auto-rows:minmax(28px,1fr)}
 .fit-equipment .fit-bulk label{font-size:12px}
 .fit-equipment .fit-bulk input,.fit-equipment .fit-bulk select{min-height:30px;font-size:13px}
 .fit-equipment .fit-bulk-actions .button{min-height:34px!important;font-size:12px!important}
 .fit-equipment .fit-toolbar .button{min-height:32px;font-size:12px}
 .fit-results .fit-setup label{font-size:11px}
 .fit-results .fit-setup input,.fit-results .fit-setup select{font-size:12px;min-height:32px}
 .fit-combat-model .fit-armor span,.fit-combat-model .fit-hand-damage{font-size:10px}
 .fit-combat-model .fit-armor strong{font-size:15px}
 .fit-summary-column .fit-check{min-height:25px}
 .fit-summary-column .fit-boost-label select{min-height:32px;font-size:13px}
 .fit-summary-column .fit-drinks .fit-small{font-size:11px!important;min-height:35px!important}
}
@media(min-width:1101px){.fit-main{width:min(1376px,calc(100% - 48px))}}
/* Editable base plus all non-base bonuses; the blessing wraps the whole sum. */
.fit-character .fit-stat-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}
.fit-core-equation,.fit-core-addends{display:grid;align-items:center;gap:5px;min-width:0}
.fit-core-equation{grid-template-columns:minmax(0,1fr) 30px 8px 38px;width:240px;max-width:100%}
.fit-core-addends{grid-template-columns:8px 76px minmax(0,1fr) 8px}
.fit-character .fit-core-equation input{width:76px;flex:none}
.fit-core-bonus{color:#8fc7ef;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.fit-core-sign,.fit-core-multiplier{color:#cdbba9}
.fit-core-equation output{min-width:28px}
.fit-core-equation [hidden]{display:block!important;visibility:hidden}
/* All potion families are visible together; numeric selection stays in a draft. */
.fit-drink-dialog{width:min(1120px,calc(100vw - 32px));max-width:none;padding:14px}
.fit-drink-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.fit-drink-column,.fit-fruit-column,.fit-drink-grid>.fit-drink-group{min-width:0;padding:8px;border:1px solid #564249;border-radius:7px;background:#241e24}
.fit-drink-column,.fit-fruit-column{display:grid;grid-template-rows:subgrid;grid-row:1 / span 2;row-gap:8px}.fit-elixirs-block{grid-column:1}.fit-fruit-column{grid-column:2}
.fit-drink-column>.fit-drink-group,.fit-fruit-column>.fit-drink-group{padding:0;border:0;background:none}
.fit-elixirs-block .fit-herbal-group{border-top:1px solid #564249;padding-top:9px}
.fit-fruit-column>.fit-drink-group+ .fit-drink-group{border-top:1px solid #b79a5d80;padding-top:9px}
.fit-drink-column>.fit-drink-group,.fit-fruit-column>.fit-drink-group{display:flex;flex-direction:column}
.fit-drink-column .fit-drink-options,.fit-fruit-column .fit-drink-options{flex:1}
.fit-fruit-column .fit-drink-counter{margin-top:6px}
.fit-drink-group{min-width:0}
.fit-drink-group h3{margin:0 0 5px;font-size:16px;line-height:1.2}
.fit-drink-options{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.fit-drink-dialog .fit-drink-option{display:flex;flex-direction:row;align-items:center;gap:8px;padding:4px;border:1px solid #564249;border-radius:7px;background:#241e24;min-width:0}
.fit-drink-copy{flex:1;min-width:0;display:grid;gap:2px}
.fit-drink-copy strong{font-size:12px;font-weight:500;line-height:1.2}
.fit-drink-copy small{font-size:10px;color:#8fc7ef;line-height:1.2;overflow-wrap:anywhere}
.fit-drink-dialog .fit-drink-option input{width:55px;min-width:55px;min-height:33px;padding:5px;flex:none;font-size:14px;line-height:1.2}
.fit-drink-counter{display:block;margin-top:6px;font-size:12px;line-height:1.4;color:#b9ccb0;font-variant-numeric:tabular-nums}
.fit-drink-counter.is-over{color:#ffb1af}
.fit-drink-option input[aria-invalid=true]{border-color:#ffb1af}
.fit-ancient-group{grid-column:1 / -1}
.fit-ancient-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;align-items:stretch}
.fit-ancient-column,.fit-ancient-column .fit-drink-options{display:contents}.fit-ancient-column .fit-drink-option{gap:4px}
.fit-ancient-column h4{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#herbal-constructor{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) 65px;gap:6px;align-items:end}
#herbal-constructor label{display:grid;gap:4px;font-size:12px;line-height:1.2}
.fit-herbal-result{display:block;margin:5px 0;color:#8fc7ef;font-size:11px;line-height:1.35}
#herbal-constructor input{width:65px;min-height:34px}
.fit-drink-dialog #herbal-constructor select{min-width:0;width:100%;min-height:34px;font-size:12px;padding:5px}
.fit-drink-actions{position:sticky;bottom:-14px;margin-top:8px;padding:8px 0 4px;background:#211b20;z-index:1}
.fit-drink-actions .fit-help{margin:0}
@media(min-width:1101px){#drinks-ordinary{grid-template-columns:repeat(2,minmax(0,1fr))}#drinks-fruit1{grid-template-columns:repeat(3,minmax(0,1fr))}#drinks-fruit2{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-drink-copy small{overflow-wrap:normal}}
@media(min-width:851px) and (max-width:1100px){.fit-ancient-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.fit-drink-grid{grid-template-columns:1fr}.fit-drink-column,.fit-fruit-column{display:flex;flex-direction:column;grid-column:1;grid-row:auto;gap:10px}.fit-fruit-column #drinks-fruit1,.fit-fruit-column #drinks-fruit2{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-drink-options{grid-template-columns:1fr}.fit-ancient-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fit-drink-dialog{width:calc(100vw - 20px);padding:16px}.fit-drink-grid{grid-template-columns:1fr;gap:8px}.fit-drink-grid .fit-drink-group,.fit-elixirs-block{grid-column:1;grid-row:auto}.fit-drink-column,.fit-fruit-column,.fit-drink-grid>.fit-drink-group{padding:10px}.fit-ancient-columns{grid-template-columns:1fr}.fit-fruit-column #drinks-fruit1,.fit-fruit-column #drinks-fruit2{grid-template-columns:1fr}.fit-drink-actions{bottom:-16px;gap:14px}#herbal-constructor{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 52px;gap:4px}#herbal-constructor input{width:52px}.fit-drink-dialog .fit-dialog-head h2{font-size:20px}}
@media(max-width:1100px){
 .fit-character .fit-stat-row{grid-template-columns:minmax(0,1fr);gap:3px;padding:4px 0}
}

/* Numbers are indivisible. Let arithmetic groups and labels reflow instead. */
.fit-main output,.fit-dialog output,.fit-core-bonus,.fit-parameter-bonus,
.fit-main .fit-armor strong,.fit-main .fit-hand-damage strong,.fit-critical,
.fit-budget strong,.fit-drink-row>strong{
 white-space:nowrap;overflow-wrap:normal;word-break:normal;
 font-variant-numeric:tabular-nums;
}
.fit-character .fit-core-equation{
 display:flex;flex-wrap:wrap;gap:5px;
 width:300px;max-width:100%;justify-content:space-between;
}
.fit-core-addends{display:flex;flex-wrap:wrap;gap:5px;max-width:100%}
.fit-character .fit-core-equation input{width:90px}
/* Keep the entire focus ring inside tightly stacked editable cells. */
.fit-character :is(.fit-stat-row,.fit-mastery-row) input:focus-visible{outline-offset:-2px;border-color:#66bdb4}
.fit-core-result{display:flex;align-items:center;gap:5px;white-space:nowrap;margin-left:auto}
.fit-core-equation output{min-width:38px;width:auto}
.fit-core-equation [hidden]{display:block!important;visibility:hidden}
.fit-core-addends>.fit-core-sign{width:8px}
.fit-core-multiplier{width:30px}
.fit-core-sign{flex:none}
.fit-character-heading{flex-wrap:wrap}
.fit-character-heading .fit-rating{margin-left:auto;max-width:100%}
.fit-character-heading .fit-rating output{max-width:100%;white-space:nowrap}
.fit-budget{flex-wrap:wrap;align-items:baseline}
.fit-budget strong{margin-left:auto}
.fit-results .fit-vitals{flex-wrap:wrap}
.fit-results .fit-setup{grid-template-columns:minmax(82px,1fr) 48px minmax(115px,1.2fr)}
.fit-drink-dialog .fit-drink-option input{width:70px;min-width:70px}
.fit-dialog .fit-drink-counter,.fit-dialog .fit-herbal-result{white-space:normal;overflow-wrap:normal;word-break:normal}
@media(max-width:389px){
 .fit-character .fit-mastery-row{grid-template-columns:78px max-content max-content}
 .fit-character .fit-mastery-row .fit-parameter-label{grid-column:1/-1}
 .fit-results .fit-setup{grid-template-columns:minmax(0,1fr) 60px}
 .fit-results .fit-setup label:last-child{grid-column:1/-1!important}
}
/* On small summary panels, give damage a wider row beneath the arm positions. */
.fit-summary-column{container-type:inline-size;container-name:fitting-summary}
.fit-main .fit-hand-damage .fit-damage-range,.fit-main .fit-hand-damage .fit-critical{
 display:flex;flex-wrap:wrap;justify-content:center;gap:0 3px;white-space:normal;
 overflow-wrap:normal;word-break:normal;
}
.fit-number{white-space:nowrap;overflow-wrap:normal;word-break:normal}
@container fitting-summary (max-width:400px){
 .fit-combat-model{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-template-areas:'. . head head . .' 'leftArm leftArm body body rightArm rightArm' '. . legs legs . .' 'leftDamage leftDamage leftDamage rightDamage rightDamage rightDamage';
 }
}
@container fitting-summary (max-width:330px){
 .fit-combat-model{grid-template-areas:'. . head head . .' 'leftArm leftArm body body rightArm rightArm' '. . legs legs . .' 'leftDamage leftDamage leftDamage leftDamage leftDamage leftDamage' 'rightDamage rightDamage rightDamage rightDamage rightDamage rightDamage'}
}
/* Unlimited sharpening can also yield longer armor/rating than a narrow cell. */
.fit-character{container-type:inline-size}
.fit-character-heading .fit-rating output{font-size:clamp(12px,calc((100cqw - 24px) / var(--rating-length,1) * 1.4),27px)}
.fit-combat-model.fit-long-armor{
 grid-template-columns:minmax(0,1fr);
 grid-template-areas:'head' 'leftArm' 'body' 'rightArm' 'legs' 'leftDamage' 'rightDamage';
}
.fit-character{container-name:fitting-character}
@container fitting-character (max-width:380px){
 .fit-character .fit-stat-row{grid-template-columns:minmax(0,1fr);gap:3px;padding:4px 0}
}
/* A shared table keeps base, blue bonus and green opponent values aligned. */
.fit-character #ward-stats,.fit-character #base-masteries{
 display:grid;column-gap:8px;
 --parameter-font:clamp(10px,calc((100cqw - 100px) / var(--parameter-length,1) * 1.7),14px);
}
.fit-character #ward-stats{grid-template-columns:minmax(0,1fr) max-content max-content max-content}
.fit-character #base-masteries{grid-template-columns:minmax(0,1fr) 90px 54px 68px 58px;column-gap:4px}
.fit-character .fit-parameter-row{
 display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;column-gap:8px;
}
.fit-character .fit-parameter-row .fit-parameter-label{grid-column:1;grid-row:1}
.fit-character .fit-own-parameter{display:contents}
.fit-character .fit-parameter-row output,.fit-character .fit-parameter-bonus{
 font-size:var(--parameter-font);text-align:right;justify-self:end;line-height:1.45;
}
.fit-character .fit-parameter-bonus{min-height:1.45em}
.fit-character .fit-parameter-label{overflow-wrap:normal;word-break:normal}
.fit-character #base-masteries .fit-parameter-row{column-gap:4px}
/* Reserve numeric tracks: typing a longer base must not move any input.
   Fit unusually long percentages inside their own track, not the label track. */
.fit-character #base-masteries .fit-own-parameter output{font-size:min(14px,calc(54px / var(--base-length,1) * 1.6));line-height:20px}
.fit-character #base-masteries .fit-parameter-bonus{font-size:min(14px,calc(68px / var(--bonus-length,1) * 1.6));line-height:20px;min-height:20px}
.fit-character #base-masteries .fit-enemy-parameter{font-size:min(14px,calc(58px / var(--enemy-length,1) * 1.6));line-height:20px}
@container fitting-character (max-width:380px){
 .fit-character-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
 .fit-character-heading .fit-rating{height:50px;justify-content:flex-start}
 .fit-character #ward-stats,.fit-character #base-masteries{
  grid-template-columns:max-content minmax(0,1fr) max-content;
  --parameter-font:clamp(10px,calc((100cqw - 24px) / var(--parameter-length,1) * 1.7),14px);
 }
 .fit-character #base-masteries{--parameter-font:clamp(10px,calc((100cqw - 114px) / var(--own-length,1) * 1.7),14px)}
 .fit-character #base-masteries{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 90px}
 .fit-character .fit-parameter-row{row-gap:3px;padding:4px 0}
 .fit-character .fit-parameter-row .fit-parameter-label{grid-column:1/-1;grid-row:1}
 .fit-character .fit-mastery-row .fit-parameter-label{grid-column:1/3}
 .fit-character .fit-mastery-row input{grid-column:3;grid-row:1;width:90px;justify-self:end}
 .fit-character .fit-own-parameter output{grid-column:1;grid-row:2}
 .fit-character .fit-parameter-bonus{grid-column:2;grid-row:2}
 .fit-character .fit-enemy-parameter{grid-column:3;grid-row:2}
}
/* Both hands share normal/critical rows, including unequal range lengths. */
.fit-combat-model .fit-damage{
 display:grid;grid-column:1/-1;grid-row:3;grid-template-columns:subgrid;
 grid-template-rows:repeat(3,auto);row-gap:3px;align-self:start;
}
.fit-combat-model .fit-hand-damage{
 display:grid;grid-area:auto;grid-row:1/span 3;grid-template-rows:subgrid;
 grid-template-columns:minmax(0,1fr);row-gap:3px;align-items:start;
}
.fit-combat-model .fit-hand-damage>span:first-child{grid-column:1;grid-row:1}
.fit-combat-model .fit-hand-damage>.fit-damage-range{grid-column:1;grid-row:2}
.fit-combat-model .fit-hand-damage>.fit-critical{grid-column:1;grid-row:3}
.fit-combat-model .damage-leftHand{grid-column:1}
.fit-combat-model .damage-rightHand{grid-column:3}
@container fitting-summary (max-width:400px){
 .fit-combat-model .fit-damage{grid-row:4}
 .fit-combat-model .damage-leftHand{grid-column:1/span 3}
 .fit-combat-model .damage-rightHand{grid-column:4/span 3}
}
@container fitting-summary (max-width:330px){
 .fit-combat-model .fit-damage{grid-row:4/span 2;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(6,auto)}
 .fit-combat-model .fit-hand-damage{grid-column:1}
 .fit-combat-model .damage-rightHand{grid-row:4/span 3}
}
.fit-combat-model.fit-long-armor .fit-damage{grid-row:6/span 2;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(6,auto)}
.fit-combat-model.fit-long-armor .fit-hand-damage{grid-column:1}
.fit-combat-model.fit-long-armor .damage-rightHand{grid-row:4/span 3}

/* Compact original-image picker; facts are shown only in the shared tooltip. */
.fit-catalogue{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));align-items:start;gap:8px}
.fit-catalog-card{display:block;min-width:0;padding:0;background:#34252e;border:1px solid #97776c66;border-radius:7px;overflow:hidden}
.fit-catalog-pick{display:flex;align-items:center;justify-content:center;width:100%;height:86px;min-height:86px;border:0;background:transparent;color:var(--cream);padding:5px;cursor:pointer}
.fit-catalog-pick:hover{border-color:#deba88;background:#59404a}.fit-catalog-pick:focus-visible{outline:2px solid #66bdb4;outline-offset:-3px}
.fit-catalog-image{display:flex;align-items:center;justify-content:center;width:100%;height:76px;min-width:0;padding:3px}
.fit-item-image{width:auto;height:auto;max-width:100%;max-height:70px;object-fit:contain}
.fit-catalog-filters{grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) auto auto}
.fit-catalog-filters .fit-check{margin:0;align-self:center;white-space:nowrap}
.fit-craft-shortcuts{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:8px 0}
.fit-craft-shortcut{display:flex;align-items:center;gap:0;padding:4px 0 4px 4px;border:1px solid #97776c66;border-radius:7px;background:#34252e;color:var(--cream);font:inherit;font-size:12px;cursor:pointer}
.fit-craft-label{flex:1;padding:0 12px;text-align:center;min-height:64px;display:flex;align-items:center;justify-content:center}
.fit-craft-shortcut .fit-catalog-image{flex:none;pointer-events:none}
.fit-craft-shortcut .fit-catalog-image{width:64px;height:64px}.fit-craft-shortcut img{max-height:60px}
.fit-craft-shortcut:hover,.fit-craft-shortcut:focus-visible{border-color:#deba88}.fit-craft-shortcut:focus-visible{outline:2px solid #66bdb4}
.fit-craft-shortcut:disabled{opacity:.45;cursor:default}
.fit-item-tooltip{position:fixed;z-index:10;width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box;padding:12px 14px;border:1px solid #bb9273;border-radius:8px;background:#251b25;color:var(--cream);box-shadow:0 8px 28px #0008;font-size:12px;line-height:1.5;overflow-wrap:anywhere;pointer-events:none}
.fit-item-tooltip strong{display:block;font-size:14px}.fit-item-tooltip small{display:block;margin-top:3px;color:#d6b58a}.fit-item-facts{list-style:none;margin:7px 0 0;padding:0}.fit-item-facts li{display:block}
.fit-item-tooltip .fit-fact-modified{color:#285ea8;font-weight:600}
.fit-tooltip-modifications{margin-top:18px;color:#285ea8}
.fit-tooltip-modifications h3{font:600 12px/1.5 Arial,sans-serif;margin:0}
.fit-tooltip-modifications .fit-item-facts{margin-top:3px}
.fit-appearance{margin-top:14px}.fit-appearance h3{font-size:16px;margin:0 0 8px}
.fit-appearance-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:7px}
.fit-appearance-pick{display:flex;align-items:center;justify-content:center;height:84px;border:1px solid #97776c66;border-radius:7px;padding:4px;background:transparent;cursor:pointer}
.fit-appearance-pick[aria-pressed=true]{border:2px solid #e6c281;box-shadow:inset 0 0 0 1px #211923}
.fit-appearance-pick:focus-visible{outline:2px solid #66bdb4;outline-offset:2px}
.fit-catalog-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0}.fit-catalog-actions .fit-help{margin:0}
.fit-slot .fit-slot-image{width:auto;height:auto;max-width:88%;max-height:calc(100% - 16px);object-fit:contain;min-height:0;flex-shrink:1}
.fit-slot:has(.fit-slot-image){padding:4px 3px}.fit-slot:has(.fit-slot-image) .fit-slot-name{order:-1;flex-shrink:0}
.fit-slot.is-occupied{border-style:dashed;opacity:.65}
/* Transparent source-derived icons: no light plates or colour blend modes.
   Occupied labels float at the edge instead of shrinking the artwork. */
.fit-catalog-image:has(img){background:transparent;border:0;padding:0}
.fit-catalog-image img,.fit-slot-media img{mix-blend-mode:normal;image-rendering:auto}
.fit-slot:has(.fit-slot-media){padding:2px}
#slot-leftHand:has(.fit-slot-media),#slot-rightHand:has(.fit-slot-media){padding:0}
.fit-slot-media{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;flex:none;padding:0;background:transparent;border:0}
.fit-slot .fit-slot-media .fit-slot-image{width:var(--item-width);height:var(--item-height);max-width:100%;max-height:100%;flex-shrink:0}
#slot-boots:has(.fit-slot-media){padding:0}
/* Enlarge the actual hand frames to contain 90x60 artwork at desktop size.
   Tiny adjacent-row adjustments preserve gaps; art stays inside its own frame. */
#slot-leftHand,#slot-rightHand{--slot-y:44;--slot-h:15;overflow:hidden}
#slot-bracers,#slot-gloves{--slot-y:27.5}
#slot-ring1,#slot-ring2,#slot-ring5,#slot-ring6{--slot-y:60}
.fit-slot:has(.fit-slot-media) .fit-slot-name{position:absolute;top:2px;left:3px;z-index:1;background:#2c202bd9;border-radius:2px;padding:0 2px;pointer-events:none;font-size:9px;line-height:1.05}

@media(max-width:700px){.fit-catalogue{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.fit-catalog-filters{grid-template-columns:1fr 1fr}.fit-catalog-filters .fit-check{grid-column:auto;white-space:normal}}

/* Original artwork keeps its original pixels and alpha, without an image backdrop. */
.fit-slot{
 background:radial-gradient(ellipse at center,#aa8f8640 0%,#78505b20 50%,transparent 90%);
 color:#d4bd9f;
 border:1px solid #a1806c55;
 box-shadow:inset 0 0 5px #21151c33;
}
.fit-slot:hover{border-color:#deba88}
/* Slot buttons keep their accessible names; visible captions were removed. */
.fit-slot .fit-slot-name{display:none}
.fit-slot .fit-icon{color:#b89b7b;opacity:.85}
.fit-slot .fit-slot-dots{color:#d9b785}

/* One Arena palette for workbench panels and their nested dialogs.
   Geometry, behavior and shared demon buttons retain their existing styles. */
.fit-equipment,.fit-character,.fit-summary-column,.fit-dialog{
 --fit-arena-paper:#f1e7c9;--fit-arena-band:#ecce8b;--fit-arena-ink:#880000;
 --fit-arena-blue:#0000ff;--fit-arena-mana:#000080;--fit-arena-enemy:#008000;
 color:var(--fit-arena-ink);
 background:linear-gradient(180deg,var(--fit-arena-band) 0,var(--fit-arena-paper) 64px);
 border-color:#b79a5d;box-shadow:inset 0 1px #fff8df,0 8px 25px #0002;
}
:is(.fit-layout .fit-panel,.fit-dialog) h2,:is(.fit-layout .fit-panel,.fit-dialog) h3{color:var(--fit-arena-ink)}
:is(.fit-layout .fit-panel,.fit-dialog) label,:is(.fit-layout .fit-panel,.fit-dialog) .fit-meta,:is(.fit-layout .fit-panel,.fit-dialog) .fit-help,
:is(.fit-layout .fit-panel,.fit-dialog) .fit-empty,:is(.fit-layout .fit-panel,.fit-dialog) .fit-core-sign,:is(.fit-layout .fit-panel,.fit-dialog) .fit-core-multiplier,
:is(.fit-layout .fit-panel,.fit-dialog) .fit-budget,:is(.fit-layout .fit-panel,.fit-dialog) .fit-blessings legend{color:var(--fit-arena-ink)}
:is(.fit-layout .fit-panel,.fit-dialog) input:not([type=checkbox]),:is(.fit-layout .fit-panel,.fit-dialog) select,.fit-dialog textarea{
 color:var(--fit-arena-ink);background:#fffaf0;border-color:#bea36b;color-scheme:light;
}
:is(.fit-layout .fit-panel,.fit-dialog) input[type=checkbox]{accent-color:#880000}
.fit-layout .fit-panel .fit-stat-row,.fit-layout .fit-panel .fit-parameter-row{border-bottom-color:#c3a56850}
.fit-character .fit-stat-row output,.fit-character .fit-own-parameter{color:var(--fit-arena-ink)}
.fit-character .fit-core-bonus,.fit-character .fit-parameter-bonus{color:var(--fit-arena-blue)}
.fit-character .fit-enemy-parameter{color:var(--fit-arena-enemy)}
.fit-character-heading .fit-rating,.fit-character-heading .fit-rating output{color:var(--fit-arena-ink)}
.fit-character .fit-budget.is-over{color:#c00000}
.fit-equipment .fit-bulk,.fit-equipment .fit-toolbar,.fit-summary-column .fit-effects,.fit-summary-column .fit-drinks{border-color:#b79a5d80}
.fit-equipment .fit-status{color:#38602b}
.fit-equipment .fit-slots:before{border-color:#b79a5d33;background:radial-gradient(ellipse,#ecce8b50,transparent 72%)}
.fit-equipment .fit-slot{color:var(--fit-arena-ink);background:#f7efd950;border-color:#b79a5d80;box-shadow:inset 0 0 5px #c3a56820}
.fit-equipment .fit-slot:hover,.fit-equipment .fit-slot.is-equipped{border-color:#880000}
.fit-equipment .fit-slot .fit-icon,.fit-equipment .fit-slot .fit-slot-dots{color:#99743f}
.fit-equipment .fit-slot.is-equipped:after{background:#880000}
.fit-summary-column .fit-results .fit-vitals div:first-child{color:#800}
.fit-summary-column .fit-results .fit-vitals div:last-child{color:navy}
.fit-summary-column .fit-combat-model .fit-armor>div{background:#ecce8b70;border-color:#b79a5d80}
.fit-summary-column .fit-combat-model .fit-armor span,.fit-summary-column .fit-hand-damage{color:var(--fit-arena-ink)}
.fit-summary-column .fit-hand-damage .fit-damage-range{color:#333}
.fit-summary-column .fit-combat-model .fit-critical{color:#c00000}
.fit-summary-column .fit-drink-row{border-color:#b79a5d80}
.fit-summary-column .fit-drink-row small{color:#78552f}
.fit-summary-column .fit-drink-remove{color:#880000;background:#ecce8b;border-color:#b79a5d80}

.fit-dialog .fit-catalog-card,.fit-dialog .fit-craft-shortcut,.fit-dialog .fit-drink-column,
.fit-dialog .fit-drink-grid>.fit-drink-group,.fit-dialog .fit-fruit-column{color:var(--fit-arena-ink);background:#ecce8b50;border-color:#b79a5d80}
.fit-dialog .fit-catalog-pick{color:var(--fit-arena-ink)}
.fit-dialog .fit-catalog-pick:hover,.fit-dialog .fit-craft-shortcut:hover{background:#ecd49b}
.fit-dialog .fit-appearance-pick{border-color:#b79a5d80}
.fit-dialog .fit-appearance-pick[aria-pressed=true]{border-color:#880000;box-shadow:inset 0 0 0 1px #f1e7c9}
.fit-dialog .fit-item-tooltip,.fit-main .fit-item-tooltip{color:var(--fit-arena-ink,#880000);background:#fffaf0;border-color:#b79a5d}
.fit-dialog .fit-item-tooltip small,.fit-main .fit-item-tooltip small{color:#78552f}
.fit-main .fit-item-tooltip{z-index:100}
.fit-dialog .fit-editor-section,.fit-dialog .fit-saved-row,.fit-dialog .fit-drink-column>.fit-drink-group+.fit-drink-group{border-color:#b79a5d80}
.fit-dialog .fit-editor-cost,.fit-dialog .fit-enhancement-title,.fit-dialog summary{color:var(--fit-arena-ink)}
.fit-dialog .fit-status,.fit-dialog .fit-drink-counter{color:#38602b}
.fit-dialog .fit-saved-row small{color:#78552f}
.fit-dialog .fit-drink-option{background:#fffaf0;border-color:#b79a5d80}
.fit-dialog .fit-drink-copy small,.fit-dialog .fit-herbal-result{color:var(--fit-arena-blue)}
.fit-dialog .fit-drink-actions{background:var(--fit-arena-paper)}
.fit-dialog .fit-note{color:#880000;background:#fae7ce;border-color:#b77e5d80}
.fit-dialog .fit-editor-cost.is-over,.fit-dialog .fit-drink-counter.is-over{color:#c00000}
.fit-dialog .fit-drink-option input[aria-invalid=true]{border-color:#c00000}


.fit-summary-column #drink-list{max-height:190px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.fit-summary-column #drink-list:focus-visible{outline:2px solid #66bdb4;outline-offset:2px}
/* Desktop workbench density: keep the three panels equal without shrinking text.
   Only the applied drink list is bounded; all entries remain reachable by scroll. */
@media(min-width:900px){
 .fit-heading h1{font-size:28px}
 .fit-panel{padding:10px}
 .fit-section-heading h2{font-size:24px}
 .fit-character-heading{align-items:center}
 .fit-character .fit-stat-row{min-height:30px}
 .fit-character .fit-stat-details h3{margin:4px 0 3px}
 .fit-character .fit-budget{padding:3px 0}
 .fit-character .fit-parameter-row{min-height:26px}
 .fit-equipment .fit-bulk{gap:6px 10px;margin-top:4px;padding-top:5px}
 .fit-equipment .fit-bulk label{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:6px;line-height:1.3}
 .fit-equipment .fit-bulk label:first-child{grid-template-columns:minmax(0,1fr) 60px}
 .fit-equipment .fit-bulk-actions{margin-top:6px;gap:12px}
 .fit-equipment .fit-toolbar{padding-top:14px;margin-top:5px;gap:12px 10px}
 .fit-summary-column{gap:10px}
 .fit-summary-column .fit-effects{padding-top:8px}
 .fit-summary-column .fit-effects .fit-section-heading{margin-bottom:6px}
 .fit-summary-column .fit-effect-grid{gap:8px}
 .fit-summary-column .fit-blessings legend{margin-bottom:5px}
 .fit-summary-column .fit-drinks{padding-top:10px}
 .fit-summary-column .fit-drink-row{padding:4px 0}
 .fit-summary-column #drink-list{max-height:126px}
 .fit-summary-column .fit-drinks h3{font-size:20px}
}
@media(min-width:900px) and (max-width:1299px){
 .fit-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) minmax(0,.95fr)}
}
@media(min-width:1101px) and (max-width:1299px){
 .fit-summary-column .fit-blessings #blessing-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fit-summary-column .fit-boost-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}
}
@media(min-width:1300px){
 .fit-summary-column .fit-blessings{display:grid;grid-template-columns:minmax(0,1fr) 145px;align-items:start;column-gap:12px}
 .fit-summary-column .fit-boost-label{margin-top:0;gap:5px}
}
@media(min-width:1101px){
 .fit-results .fit-setup{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1.3fr);align-items:center}
 .fit-results .fit-setup label{flex-direction:row;align-items:center;gap:4px;white-space:nowrap}
 .fit-results .fit-setup input,.fit-results .fit-setup select{flex:1;min-width:0}
}

/* Applied drinks use the same concise effects as the selection dialog. */
.fit-summary-column #drink-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-content:start}
.fit-summary-column #drink-list>.fit-empty{grid-column:1/-1}
.fit-summary-column .fit-drink-row{grid-template-columns:minmax(0,1fr) auto 22px;gap:3px 4px;align-items:start;padding:6px;border:1px solid #b79a5d80;border-radius:5px;background:#fffaf0;min-width:0}
.fit-summary-column .fit-drink-title{font-weight:500;white-space:normal;overflow-wrap:anywhere;line-height:1.25;font-size:11px}
.fit-summary-column .fit-drink-count{font-size:11px;line-height:22px;white-space:nowrap}
.fit-summary-column .fit-drink-remove{display:flex;align-items:center;justify-content:center;width:22px;height:22px;min-height:22px;flex:none;padding:0;line-height:1}
.fit-summary-column .fit-drink-remove .fit-icon{display:block;width:18px;height:18px;flex:none;pointer-events:none}
.fit-drink-remove .fit-icon path{stroke-width:3}
.fit-summary-column .fit-drink-row .fit-drink-effects{grid-column:1/-1;color:var(--fit-arena-blue);font-size:10px;line-height:1.3;overflow-wrap:anywhere}
.fit-drinks-title{display:flex;align-items:center;gap:8px;min-width:0}
.fit-drinks-title h3{margin:0}
.fit-drinks-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex:none}
.fit-drink-warning{position:relative;display:inline-flex;flex:none}
.fit-drink-warning-trigger{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;padding:0;border:2px solid #bb570b;border-radius:50%;background:#ffdc7b;color:#800;line-height:1;box-shadow:0 0 0 2px #bb570b20;cursor:help}
.fit-drink-warning-trigger svg{display:block;width:14px;height:14px;flex:none;pointer-events:none}
.fit-drink-warning-trigger:focus-visible{outline:2px solid #336699;outline-offset:2px}
.fit-drink-warning-tooltip{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:260px;max-width:calc(100vw - 48px);padding:10px 12px;border:1px solid #b79a5d;border-radius:7px;background:#fff5df;color:#800;font:12px/1.45 Arial,sans-serif;box-shadow:0 3px 10px #0003;pointer-events:none;visibility:hidden;opacity:0}
.fit-drink-warning:not(.is-dismissed):is(:hover,:focus-within,:has([aria-expanded=true])) .fit-drink-warning-tooltip{visibility:visible;opacity:1}
@media(max-width:700px){.fit-drinks-heading{position:relative}.fit-drink-warning{position:static}.fit-drink-warning-tooltip{left:0;right:auto;max-width:100%}}
@media(min-width:900px){
 .fit-summary-column #drink-list{max-height:180px}
}
@container fitting-summary (max-width:340px){
 .fit-summary-column #drink-list{grid-template-columns:minmax(0,1fr)}
}

/* Keep manual numeric input, with one explicit remaining-capacity action. */
.fit-character input[type=number],#xp,.fit-no-spinner{appearance:textfield;-moz-appearance:textfield}
.fit-character input[type=number]::-webkit-inner-spin-button,.fit-character input[type=number]::-webkit-outer-spin-button,#xp::-webkit-inner-spin-button,#xp::-webkit-outer-spin-button,.fit-no-spinner::-webkit-inner-spin-button,.fit-no-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.fit-drink-dialog .fit-drink-copy{cursor:text}
.fit-drink-quantity{display:flex;align-items:center;gap:3px;flex:none;min-width:0}
.fit-drink-dialog .fit-drink-quantity input{width:55px;min-width:55px}
.fit-drink-dialog .fit-drink-max{width:24px;height:33px;flex:none;border:1px solid #b79a5d80;border-radius:5px;background:#ecce8b;color:#880000;font:inherit;font-size:18px;line-height:1;cursor:pointer}
.fit-drink-max:focus-visible{outline:2px solid #66bdb4;outline-offset:2px}
.fit-drink-max:hover{background:#f1d99f}

/* Centre a vector arrow independently of font metrics and native input chrome. */
.fit-drink-dialog .fit-drink-quantity input{height:30px;min-height:30px}
.fit-drink-dialog .fit-drink-max{height:30px;padding:0;display:grid;place-items:center}
.fit-drink-max .fit-icon{width:18px;height:18px;color:inherit}
.fit-drink-max path{stroke-width:2.5}
.fit-main .button::after,.fit-dialog .button::after{display:none!important}
.fit-main .button,.fit-dialog .button{box-shadow:inset 0 1px #f1e5cf22}
.fit-main .button:is(:hover,:focus-visible),.fit-dialog .button:is(:hover,:focus-visible){box-shadow:inset 0 1px #f7d7ba33}

/* Fixed picker frame: filtering changes only the scrollable results. */
#item-dialog{height:min(780px,calc(100dvh - 40px));overflow:hidden}
#item-dialog[open]{display:flex;flex-direction:column}
#item-dialog>.fit-dialog-head,#item-dialog>.fit-dialog-tabs{flex:none}
#catalog-panel{display:flex;flex-direction:column;flex:1;min-height:0}
#catalog-panel>.fit-catalog-filters,#catalog-panel>.fit-kind-filters,#catalog-panel>.fit-catalog-actions,#catalog-panel>#craft-shortcuts,#catalog-panel>.fit-help,#catalog-panel>.fit-note{flex:none}
#item-catalogue{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;grid-auto-rows:max-content}
#item-catalogue>.fit-empty{grid-column:1/-1}
#item-editor{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1}
.fit-catalog-filters{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px}
.fit-catalog-filters .fit-check{align-self:end;min-height:34px;padding:5px 9px;gap:6px;border:1px solid #b79a5d80;border-radius:5px;background:#fffaf0;grid-column:auto}
.fit-catalog-filters input[type=search]{height:34px}
.fit-catalog-filters .fit-check input{margin:0}
.fit-catalog-filters .fit-check:has(:checked){background:#ecd49b;border-color:#a8793b}
.fit-kind-filters{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.fit-kind-filter{font:inherit;font-size:12px;min-height:32px;padding:5px 12px;border:1px solid #b79a5d80;border-radius:5px;color:var(--fit-arena-ink);background:#fffaf0;cursor:pointer}
.fit-kind-filter[aria-pressed=true]{background:#ecd49b;border-color:#880000}
.fit-kind-filter:hover{background:#f1d99f}
.fit-kind-filter:focus-visible{outline:2px solid #66bdb4;outline-offset:2px}
@media(max-width:700px){
 .fit-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .fit-catalog-filters>label:first-child{grid-column:1/-1}
 .fit-catalog-filters .fit-check{white-space:normal;font-size:11px;padding:5px 7px}
 .fit-kind-filter{padding:5px 9px;font-size:11px}
}



/* Keep focus rings inside the editor's independent scroll area. */
#item-editor{padding:5px;scroll-padding:5px}
#item-editor input[readonly]{background:#eee2cc;color:#665748;cursor:default}
.fit-catalog-filters{grid-template-columns:minmax(130px,1fr) auto auto auto}
@media(max-width:900px){.fit-catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.fit-catalog-filters>label:first-child{grid-column:1/-1}.fit-catalog-filters .fit-check{white-space:normal}}
@media(max-width:700px){.fit-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.fit-catalog-filters{grid-template-columns:minmax(0,1fr)}}

/* Compact modification rows, shared by individual and bulk editors. */
.fit-enhancement-dialog{width:min(510px,calc(100vw - 24px));max-height:calc(100dvh - 40px);padding:16px}
.fit-enhancement-dialog .fit-dialog-head,.fit-bulk-gem-dialog .fit-dialog-head{margin-bottom:8px}
.fit-enhancement-dialog .fit-dialog-head h2,.fit-bulk-gem-dialog .fit-dialog-head h2{font-size:23px}
.fit-enhancement-item{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--fit-arena-ink)}
.fit-enhancement-item strong{min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:600}
.fit-enhancement-media{display:grid;place-items:center;width:42px;height:42px;flex:none}
.fit-enhancement-media img{max-width:42px;max-height:42px;object-fit:contain}
:is(.fit-enhancement-dialog,.fit-bulk-gem-dialog) .fit-mod-row{grid-template-columns:48px minmax(0,1fr) 132px;gap:7px;margin:5px 0;align-items:center}
.fit-mod-label{font-size:12px;color:var(--fit-arena-ink)}
.fit-dialog .fit-mod-field{gap:0;min-width:0}
.fit-dialog .fit-mod-field :is(input,select){min-height:30px;height:30px;padding:3px 6px;font-size:12px}
.fit-dialog .fit-sharpen-row{border-top:1px solid #b79a5d80;padding-top:7px;margin-top:7px}
.fit-enhancement-dialog .fit-dialog-actions{margin-top:15px;gap:10px}
.fit-enhancement-dialog .fit-dialog-actions .button{font-size:11px;min-height:34px;padding:6px 9px}
.fit-enhancement-dialog .fit-help{font-size:10px;line-height:1.4}
.fit-bulk-gem-dialog{width:min(800px,calc(100vw - 24px));padding:16px}
#bulk-gem-common{max-width:520px;margin-inline:auto}
.fit-bulk-gem-selection{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #b79a5d80;padding-top:10px;margin:10px 0;color:var(--fit-arena-ink);font-size:12px}
#bulk-gem-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:min(360px,calc(100dvh - 390px));overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:4px;align-content:start}
.fit-bulk-gem-item{border:1px solid #b79a5d80;border-radius:6px;padding:7px;background:#ecce8b50;min-width:0;align-self:start}
.fit-bulk-gem-heading{display:flex;gap:6px;align-items:center;margin-bottom:4px}
.fit-bulk-gem-heading img{max-width:30px;max-height:30px;object-fit:contain}
.fit-bulk-gem-heading .fit-icon{width:26px;height:26px}
.fit-bulk-gem-heading .fit-check{min-width:0;overflow-wrap:anywhere;font-size:11px}
.fit-bulk-gem-dialog .fit-bulk-own-fields .fit-mod-row{grid-template-columns:43px minmax(0,1fr) 105px;gap:5px}
.fit-bulk-gem-item>.fit-check{font-size:10px;min-height:24px}
.fit-bulk-gem-dialog .fit-dialog-actions{position:sticky;bottom:-16px;background:var(--fit-arena-paper);padding:12px 0 5px;margin-top:8px}
/* Repeat is a stable checkbox cell; its explanation is an overlay, never a row. */
.fit-repeat-control{display:flex;align-items:center;justify-content:center;gap:9px;position:relative;min-height:28px;min-width:0}
.fit-main .fit-repeat-label{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:12px;cursor:pointer;color:var(--fit-arena-ink,#800)}
.fit-equipment .fit-repeat-control input[type=checkbox]{width:17px;height:17px;min-height:17px;padding:0;margin:0;flex:none}
.fit-repeat-info{display:inline-flex;flex:none}
.fit-repeat-tooltip{position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;width:270px;max-width:calc(100vw - 64px);padding:11px 12px;border:1px solid #b79a5d;border-radius:7px;background:#fff5df;color:#800;font:12px/1.45 Arial,sans-serif;box-shadow:0 3px 10px #0003;visibility:hidden;opacity:0;overflow-wrap:anywhere}
.fit-repeat-info:not(.is-dismissed):is(:hover,:focus-within,:has([aria-expanded=true])) .fit-repeat-tooltip{visibility:visible;opacity:1}
.fit-repeat-instruction{display:block;min-width:0}
.fit-repeat-details{display:grid;gap:4px;min-width:0;border-top:1px solid #b79a5d55;padding-top:7px;margin-top:7px}
.fit-repeat-modification{display:grid;grid-template-columns:55px minmax(0,1fr);gap:6px;align-items:start;min-width:0;overflow-wrap:anywhere}
.fit-equipment .fit-status{position:fixed;left:20px;bottom:20px;z-index:19;width:360px;max-width:calc(100vw - 40px);height:auto;max-height:100px;padding:10px 14px;margin:0;border:1px solid #b79a5d;border-radius:12px;background:#fff5df;box-shadow:0 4px 16px #0002;line-height:1.4;overflow:auto}
.fit-equipment .fit-status:empty{display:none}
@media(max-width:650px){.fit-equipment .fit-status{left:16px;bottom:16px}}
/* Replacing worn-slot buttons must not move the document's scroll anchor. */
html:has(.fit-main){scroll-behavior:auto;overflow-anchor:none}
.fit-main{overflow-anchor:none}
.fit-slot.is-modification-target{cursor:pointer;box-shadow:inset 0 0 0 2px #33669988}

.fit-equipment .fit-bulk-actions{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fit-equipment .fit-bulk-actions .button{font-size:11px!important}
/* Status badges stay over the image, independent of hidden slot captions. */
.fit-slot-modifications{position:absolute;inset:2px;pointer-events:none;z-index:1;line-height:1.1}
.fit-slot-stones{position:absolute;top:0;left:0;font-size:clamp(7px,1vw,10px);color:#285ea8;letter-spacing:0;text-shadow:0 1px #fff;background:#fff5dcdb;border-radius:3px;padding:2px}
.fit-slot-sharp{position:absolute;bottom:0;right:0;font-size:11px;font-weight:700;color:#075b24;background:#fff5dce6;border:1px solid #7eaa7f;border-radius:3px;padding:1px 3px;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* A shared subgrid fixes input, bonus and result positions across all seven stats. */
.fit-character #base-stats{display:grid;grid-template-columns:minmax(66px,1fr) 8px 90px 64px 8px 30px 8px 70px;column-gap:4px;--core-font:clamp(9px,calc((100cqw - 260px) / var(--core-length,1) * 1.7),14px)}
.fit-character #base-stats .fit-stat-row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;column-gap:4px;row-gap:3px;padding:2px 0}
.fit-character #base-stats :is(.fit-core-equation,.fit-core-addends,.fit-core-result){display:contents}
.fit-character #base-stats .fit-stat-row>label{grid-column:1;grid-row:1}
.fit-character #base-stats .fit-core-addends>:first-child{grid-column:2;grid-row:1}
.fit-character #base-stats input{grid-column:3;grid-row:1;width:90px}
.fit-character #base-stats .fit-core-bonus{grid-column:4;grid-row:1;font-size:var(--core-font)}
.fit-character #base-stats .fit-core-addends>:last-child{grid-column:5;grid-row:1}
.fit-character #base-stats .fit-core-multiplier{grid-column:6;grid-row:1;font-size:11px}
.fit-character #base-stats .fit-core-result>.fit-core-sign{grid-column:7;grid-row:1}
.fit-character #base-stats output{grid-column:8;grid-row:1;text-align:right;font-size:var(--core-font)}
@container fitting-character (max-width:380px){
 .fit-character #base-stats{grid-template-columns:minmax(0,1fr) 30px 8px 90px;--core-font:clamp(9px,calc((100cqw - 72px) / var(--core-length,1) * 1.7),14px)}
 .fit-character #base-stats .fit-stat-row>label{grid-column:1/4;grid-row:1}
 .fit-character #base-stats input{grid-column:4;grid-row:1;justify-self:end}
 .fit-character #base-stats .fit-core-addends>.fit-core-sign{display:none!important}
 .fit-character #base-stats .fit-core-bonus{grid-column:1;grid-row:2}
 .fit-character #base-stats .fit-core-multiplier{grid-column:2;grid-row:2}
 .fit-character #base-stats .fit-core-result>.fit-core-sign{grid-column:3;grid-row:2}
 .fit-character #base-stats output{grid-column:4;grid-row:2}
}
@media(max-width:700px){
 .fit-enhancement-dialog,.fit-bulk-gem-dialog{padding:12px}
 #bulk-gem-items{grid-template-columns:minmax(0,1fr)}
 :is(.fit-enhancement-dialog,.fit-bulk-gem-dialog) .fit-mod-row,.fit-bulk-gem-dialog .fit-bulk-own-fields .fit-mod-row{grid-template-columns:41px minmax(0,1fr) 105px;gap:5px}
 .fit-mod-label{font-size:11px}
 .fit-dialog .fit-mod-field :is(input,select){padding-inline:3px;font-size:11px}
 .fit-bulk-gem-dialog .fit-dialog-head h2{font-size:20px}
 .fit-bulk-gem-dialog .fit-dialog-actions{bottom:-12px}
}

/* Three potion tabs share one stable dialog; switching never rebuilds their draft. */
.fit-drink-dialog{height:min(720px,calc(100dvh - 40px));overflow:hidden}
.fit-drink-dialog[open]{display:flex;flex-direction:column}
.fit-drink-dialog .fit-dialog-head{flex:none;margin-bottom:12px}
.fit-drink-dialog #drink-form{display:flex;flex-direction:column;flex:1;min-height:0}
.fit-potion-tabs{display:flex;gap:12px;flex-wrap:wrap;padding-top:8px;margin-bottom:12px;flex:none}
.fit-potion-tabs .button{min-height:34px!important;padding:6px 12px!important;font-size:12px!important;display:flex;align-items:center;justify-content:center;gap:8px}
.fit-potion-tabs [aria-selected=true]{border-color:#88b9e5;box-shadow:inset 0 0 0 1px #88b9e5}
.fit-potion-tabs output{font-size:10px;font-variant-numeric:tabular-nums}
.fit-potion-panes{flex:1;min-height:0;overflow:auto;padding:3px;overscroll-behavior:contain}
.fit-drink-pane[hidden]{display:none!important}
.fit-drink-dialog .fit-ancient-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.fit-drink-dialog .fit-ancient-column{display:block;border:1px solid #b79a5d80;border-radius:7px;padding:9px;background:#ecce8b50;min-width:0}
.fit-drink-dialog .fit-ancient-column h4{position:static;width:auto;height:auto;padding:0;margin:0 0 8px;overflow:visible;clip-path:none;white-space:normal;font:500 14px/1.2 Arial,sans-serif;color:var(--fit-arena-ink)}
.fit-drink-dialog .fit-ancient-column .fit-drink-options{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.fit-drink-dialog #drinks-carnival{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fit-drink-dialog #drinks-other-group{margin-top:8px;padding:8px;border:1px solid #b79a5d80;border-radius:7px;background:#ecce8b50}
.fit-drink-dialog .fit-drink-actions{position:static;flex:none;align-items:center;margin-top:8px;padding:8px 3px 0;gap:12px}
.fit-drink-actions #drink-counter-ancient{margin:0 0 0 auto;font-size:11px}
.fit-drink-dialog .fit-drink-max{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;width:26px;height:30px;line-height:0}
.fit-drink-dialog .fit-drink-max .fit-icon{display:block;margin:0;flex:none;width:18px;height:18px;transform:none}
/* Give potion cards more room inside the existing tab frame. */
@media(min-width:851px){
 .fit-drink-dialog .fit-drink-copy strong{font-size:13px}
 .fit-drink-dialog .fit-drink-copy small{font-size:11px;line-height:1.25}
 .fit-drink-dialog .fit-drink-option{padding:6px}
 .fit-drink-dialog .fit-drink-options{gap:6px}
 .fit-drink-dialog #drinks-fruit1{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fit-drink-dialog #drinks-fruit1 .fit-drink-option{min-height:46px;padding:5px 6px}
 .fit-drink-dialog #drinks-fruit2 .fit-drink-option{min-height:52px}
 .fit-drink-dialog .fit-ancient-columns{gap:10px}
 .fit-drink-dialog .fit-ancient-column .fit-drink-options{gap:6px}
 .fit-drink-dialog .fit-ancient-column .fit-drink-option{min-height:52px}
 .fit-drink-dialog #drinks-carnival{gap:10px}
 .fit-drink-dialog #drinks-carnival .fit-drink-option{min-height:88px;padding:12px}
 .fit-drink-dialog #drinks-carnival .fit-drink-copy strong{font-size:14px}
 .fit-drink-dialog #drinks-carnival .fit-drink-copy small{font-size:12px}
 .fit-drink-dialog .fit-drink-quantity input,.fit-drink-dialog .fit-drink-max{height:32px;min-height:32px}
}
@media(max-width:850px){
 .fit-drink-dialog .fit-ancient-columns{grid-template-columns:minmax(0,1fr)}
 .fit-potion-panes{scrollbar-gutter:stable}
 .fit-potion-tabs{gap:10px}
 .fit-potion-tabs .button{flex:1;padding-inline:7px!important}
}
@media(max-width:650px){
 .fit-drink-dialog{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:12px}
 .fit-drink-dialog #drinks-carnival{grid-template-columns:minmax(0,1fr)}
 .fit-drink-dialog #herbal-constructor label{min-width:0;font-size:11px;overflow-wrap:anywhere}
 .fit-potion-tabs .button{font-size:11px!important;gap:5px}
 .fit-drink-actions #drink-counter-ancient{margin-left:0}
}

/* Compact allocation table: base and opponent percentages share each row. */
#item-dialog:has(#item-editor:not([hidden])){width:min(980px,calc(100vw - 24px));height:min(750px,calc(100dvh - 40px))}
#item-dialog:has(#item-editor:not([hidden]))>.fit-dialog-head{margin-bottom:8px}
#item-dialog:has(#item-editor:not([hidden]))>.fit-dialog-tabs{margin-bottom:8px}
#item-editor .fit-editor-basics{grid-template-columns:minmax(0,1fr) minmax(0,.65fr) minmax(0,1.4fr);gap:10px}
#item-editor .fit-editor-basics>label{grid-column:auto;min-width:0}
#item-editor .fit-editor-basics label{font-size:11px;line-height:1.3;gap:3px}
#item-editor .fit-editor-basics input,#item-editor .fit-editor-basics select{min-height:28px;padding:5px 7px;font-size:12px}
#item-editor .fit-editor-section{margin-top:8px;padding-top:6px}
#item-editor .fit-editor-fields{margin-top:6px}
#item-editor .fit-editor-fields#item-stat-fields{display:contents}
.fit-editor-group{min-width:0;padding:4px;border:0;background:none}
.fit-editor-group h3{font:600 12px/1.3 Arial,sans-serif;margin:0 0 7px;color:#800}
#item-editor .fit-editor-stat{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:5px;margin:1px 0}
.fit-editor-pair{display:grid;grid-template-columns:minmax(0,1fr) 86px 86px;align-items:center;gap:4px;margin:1px 0;font-size:12px;line-height:1.2}
#item-editor .fit-editor-pair>.fit-editor-value{font-size:0;display:block}
#item-editor .fit-editor-group input{min-height:26px;padding:3px;text-align:center;font-size:12px}
#item-editor .fit-editor-paired input{font-size:13px}
.fit-editor-paired h3{font-size:13px}
.fit-editor-enemy-title{color:green}
#item-editor .fit-editor-enemy input{color:green}
#item-editor .fit-editor-fields#item-combat-fields{grid-template-columns:minmax(0,1fr);gap:2px;margin-top:0}
#item-editor .fit-editor-fields#item-combat-fields label{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:5px;font-size:12px;line-height:1.2;min-height:27px}
#item-editor input[type=number]{appearance:textfield;-moz-appearance:textfield}
#item-editor input[type=number]::-webkit-inner-spin-button,#item-editor input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#item-editor .fit-appearance-options{display:flex;flex-wrap:wrap;gap:7px;padding:4px}
#item-editor .fit-appearance-pick{width:auto;min-width:58px;height:auto;min-height:58px;padding:5px;overflow:visible;flex:none}
#item-editor .fit-appearance-pick img{width:auto;height:auto;max-width:none;max-height:none;object-fit:contain}
#item-editor .fit-appearance-pick[aria-pressed=true]{border-width:1px;box-shadow:inset 0 0 0 1px #800}
#item-editor .fit-appearance{margin-top:10px}
#item-editor .fit-appearance h3{font:600 12px/1.3 Arial,sans-serif;color:#800;margin-bottom:6px}
#item-editor .fit-dialog-actions{margin-top:14px}
.fit-editor-allocation{display:grid;grid-template-columns:.8fr 1.25fr 1.25fr 1fr;gap:10px;margin-top:8px}
.fit-editor-combat{min-width:0;padding:4px;margin:0}
#item-editor .fit-editor-combat h3{font:600 13px/1.3 Arial,sans-serif;color:#800;margin:0 0 7px}
#item-editor .fit-editor-combat input{min-height:26px;padding:3px;text-align:center;font-size:13px}
.fit-editor-amount{display:grid;grid-template-columns:20px minmax(0,1fr) 20px;gap:2px;align-items:center;min-width:0}
.fit-editor-max{display:grid;place-items:center;width:20px;height:26px;padding:0;border:1px solid #b79a5d80;border-radius:4px;background:#ecce8b;color:#800;cursor:pointer}
.fit-editor-max .fit-icon{display:block;width:16px;height:16px;color:inherit;pointer-events:none}
.fit-editor-max path{stroke-width:2.5}
.fit-editor-half{display:flex;align-items:center;justify-content:center;width:20px;height:26px;padding:0;border:1px solid #b79a5d80;border-radius:4px;background:#ecce8b;color:#800;cursor:pointer}
.fit-editor-half-mark{display:block;width:16px;height:16px;text-align:center;font:14px/16px Arial,sans-serif;pointer-events:none}
.fit-editor-amount>:focus-visible{position:relative;z-index:1}
.fit-editor-max:hover,.fit-editor-half:hover,.fit-editor-share:hover{background:#f1d99f}
.fit-editor-max:disabled,.fit-editor-half:disabled,.fit-editor-share:disabled{opacity:.45;cursor:default}
.fit-editor-combat-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:3px}
#item-editor .fit-editor-combat-heading h3{margin:0}
.fit-editor-share{min-height:22px;padding:2px 4px;border:1px solid #b79a5d80;border-radius:4px;background:#ecce8b;color:#800;font:10.5px/1.2 Arial,sans-serif;white-space:nowrap;cursor:pointer;flex:none}
#item-editor :is(input,select,button):focus-visible{outline:2px solid #66bdb4;outline-offset:1px}
#item-editor .fit-editor-cost{padding:0 4px;margin-top:8px}
#item-editor .fit-dialog-actions{padding:8px 4px 4px;margin-top:10px;gap:18px}
@media(max-width:900px){
 .fit-editor-allocation{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .fit-editor-allocation{grid-template-columns:minmax(0,1fr)}
 #item-editor .fit-editor-basics{grid-template-columns:repeat(2,minmax(0,1fr))}
 #item-editor .fit-editor-basics>label:nth-child(3){grid-column:1/-1}
 .fit-editor-pair{grid-template-columns:minmax(0,1fr) 86px 86px}
}

/* Independent lining slots. Images and badges occupy separate rows. */
.fit-board-scroll{overflow:auto;max-width:100%;overscroll-behavior:contain}
.fit-equipment .fit-slots{width:330px;max-width:none;height:430px;aspect-ratio:auto}
.fit-lining-slot{position:absolute;padding:2px;display:grid;grid-template-rows:minmax(0,1fr) 10px;gap:1px;border:1px solid #ad9560;border-radius:4px;background:transparent;z-index:3;cursor:pointer;box-sizing:border-box;color:#800}
.fit-lining-slot[data-kind=ring]{padding:1px}
.fit-lining-art{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%;height:100%}
.fit-lining-art img{display:block;flex:none;max-width:none;max-height:none;object-fit:contain}
.fit-lining-slot:not([data-kind=ring]) .fit-lining-art img{width:100%;height:100%}
.fit-lining-art{transition:opacity .16s}
.fit-slot:is(:hover,:focus-visible)+.fit-lining-slot[data-kind=ring].is-equipped .fit-lining-art{opacity:.35}
@media(prefers-reduced-motion:reduce){.fit-lining-art{transition:none}}
.fit-lining-art .fit-icon{width:18px;height:18px;color:#947a45}
.fit-lining-slot:not(.is-equipped){border-style:dashed;opacity:.75}
.fit-lining-mods{display:flex;align-items:center;justify-content:space-between;gap:1px;min-width:0;height:10px;font:9px/10px Arial,sans-serif;white-space:nowrap;background:#f0e8cbdb;border-radius:2px;pointer-events:none}
.fit-lining-stones{font-size:6px;letter-spacing:-.5px;color:#285ea8}.fit-lining-sharp{color:#075b24;font-weight:bold;max-width:24px;overflow:hidden;text-overflow:ellipsis}
.fit-lining-slot[data-kind=ring] .fit-lining-stones{font-size:5px;letter-spacing:-.5px}
.fit-lining-slot:hover{border-color:#800;opacity:1}.fit-lining-slot:focus-visible{outline:2px solid #336699;outline-offset:1px}
.fit-equipment .fit-slot .fit-slot-media .fit-slot-image{width:var(--item-width);height:var(--item-height);max-width:none;max-height:none;object-fit:contain}
.fit-equipment .fit-slot-sharp{top:0;bottom:auto;font-size:10px;padding:1px 2px}
#lining-dialog{width:min(880px,calc(100vw - 28px));padding:20px;max-height:calc(100dvh - 32px)}
#lining-dialog .fit-dialog-head{margin-bottom:16px}
.fit-lining-layout{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.5fr);gap:20px;align-items:stretch}
.fit-lining-create{min-width:0}
.fit-lining-create-head{position:relative;min-height:0;padding-right:48px;margin-bottom:12px}
.fit-lining-media{position:absolute;right:0;top:-6px;display:flex;align-items:center;justify-content:center;height:40px;width:40px;margin:0}
.fit-lining-media img{max-width:36px;max-height:40px;width:auto;height:auto;object-fit:contain}
.fit-created-linings{margin:0;padding:0 16px 0 3px;border-right:1px solid #c8b781}
.fit-created-linings h3,.fit-lining-create-head h3{margin:0;font:600 17px/1.3 Arial,sans-serif;color:#800}
.fit-created-linings .fit-help{margin:8px 0 14px}
.fit-lining-catalogue{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-height:370px;overflow:auto;padding:3px}
.fit-lining-pick{display:flex;align-items:center;gap:10px;min-width:0;min-height:60px;padding:8px;border:1px solid #b5a06e;border-radius:4px;background:#f4edcf;color:#403120;text-align:left;cursor:pointer;font:13px/1.35 Arial,sans-serif}
.fit-lining-pick img{flex:none;object-fit:contain;max-width:40px;max-height:46px;width:auto;height:auto}
.fit-lining-pick span{min-width:0;overflow-wrap:anywhere}
.fit-lining-pick:hover{border-color:#800;background:#ede2bd}
.fit-lining-pick:focus-visible{outline:2px solid #336699;outline-offset:1px}
@media(max-width:420px){.fit-lining-catalogue{grid-template-columns:minmax(0,1fr)}}
.fit-lining-base{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px;margin-bottom:10px;padding:3px}
.fit-lining-base>label:first-child{grid-column:1/-1}
#lining-dialog .fit-mod-row{grid-template-columns:48px minmax(0,1fr) 132px;gap:7px;align-items:center;margin:6px 0}
#lining-dialog .fit-dialog-actions{margin-top:16px;gap:12px;flex-wrap:wrap}
#lining-dialog .fit-help{font-size:12px;line-height:1.5}
#lining-fields{padding:4px}
@media(max-width:700px){#lining-dialog{padding:16px}.fit-lining-layout{grid-template-columns:minmax(0,1fr);gap:18px}.fit-created-linings{border-right:0;border-bottom:1px solid #c8b781;padding:3px 3px 14px}.fit-lining-catalogue{max-height:170px}}
@media(max-width:420px){#lining-dialog .fit-mod-row{grid-template-columns:41px minmax(0,1fr) 105px;gap:5px}.fit-lining-base{grid-template-columns:minmax(0,1fr) 80px}}

.fit-equipment .fit-slots{height:440px}
.fit-equipment .fit-slot-stones{font-size:8px;line-height:10px;padding:0}
.fit-equipment .fit-slot-sharp{font-size:9px;line-height:10px;padding:0 2px;border:0}

.fit-board-scroll{padding:6px}

.fit-equipment .fit-slot-modifications{inset:1px;z-index:4}
.fit-lining-base{align-items:end}

/* One shared modification flow for items and linings. */
.fit-lining-slot.is-modification-target{box-shadow:inset 0 0 0 1px #33669988}
.fit-bulk-target-filters{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.fit-bulk-gem-item[hidden]{display:none}



.fit-bulk-gem-dialog input[type=number]{appearance:textfield;-moz-appearance:textfield}
.fit-bulk-gem-dialog input[type=number]::-webkit-inner-spin-button,.fit-bulk-gem-dialog input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.fit-captcha{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}
#drink-summary{white-space:nowrap;overflow-x:auto;max-width:100%;font-size:10.5px;font-variant-numeric:tabular-nums}
.fit-captcha img{width:228px;height:64px;max-width:100%;object-fit:contain;border:1px solid #b5a06e;border-radius:4px;background:#f8f0d4}
#share-dialog textarea{overflow-wrap:anywhere;width:100%;min-width:0;resize:vertical}
#share-dialog .fit-dialog-actions,#json-dialog .fit-dialog-actions{flex-wrap:wrap;gap:14px}
#share-dialog input{max-width:180px}
#share-result[hidden],#share-verification[hidden]{display:none}

/* Keep the mannequin intact; distribute desktop height by useful content rows. */
@media(min-width:900px){
 .fit-equipment .fit-bulk{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:5px 10px}
 .fit-equipment .fit-bulk label{font-size:11px}
 .fit-equipment .fit-bulk input,.fit-equipment .fit-bulk select{min-height:28px;padding:3px 5px}
 .fit-equipment .fit-bulk-actions{gap:9px 10px;margin-top:5px}
 .fit-equipment .fit-bulk-actions>.button{min-height:28px!important;padding:3px 6px!important}
 .fit-equipment .fit-toolbar{padding-top:10px;gap:9px 10px;margin-top:4px}
 .fit-equipment .fit-toolbar>.button{min-height:28px;padding:3px 8px}
 .fit-character #base-stats{flex:0 0 auto;grid-auto-rows:32px}
 .fit-character #base-stats .fit-stat-row{min-height:32px;padding:1px 0}
 .fit-character #base-stats input{min-height:28px;padding:2px 7px}
 .fit-character .fit-stat-details{flex:4 0 auto}
 .fit-character #base-masteries,.fit-character #ward-stats{grid-auto-rows:minmax(32px,1fr)}
 .fit-summary-column .fit-results{flex:0 0 auto}
 .fit-summary-column .fit-combat-model{flex:0 0 auto;align-content:start;row-gap:6px}
 .fit-summary-column .fit-effects{flex:1 1 auto;min-height:0}
 .fit-summary-column .fit-effect-grid{justify-content:flex-start;min-height:0;gap:10px}
 .fit-summary-column .fit-blessings{flex:0 0 auto}
 .fit-summary-column .fit-drinks{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding-top:10px}
 .fit-summary-column #drink-list{flex:1 1 0;min-height:70px;max-height:none;padding:3px}
 .fit-summary-column #drink-list>.fit-empty{align-self:start}
 .fit-summary-column #drink-summary{flex:0 0 auto}
}
