/* Level-up draft and Spell Loadouts share the same restrained ledger grammar. */
.level-up-wrap{width:min(100%,76rem);margin:var(--s4) auto var(--s6)}
.level-up-heading{margin-bottom:var(--s4)}
.level-up-save{display:grid;justify-items:end;gap:var(--s2)}
.level-page-head{margin-bottom:var(--s5)}
.level-page-head .label{margin:0 0 var(--s1);color:var(--gold-deep)}
.level-page-head h2{margin:0;font:400 clamp(1.45rem,4vw,1.9rem)/1.1 var(--font-scribal)}
.level-page-head>p:last-child{max-width:46rem;margin:var(--s2) 0 0;color:var(--ink-faint);font:italic .92rem/1.4 var(--font-scribal)}
.level-group{min-width:0;margin:0 0 var(--s5);padding:0;border:0}
.level-group>legend{display:block;width:100%;margin:0 0 var(--s3);color:var(--ink-soft);font:600 .74rem/1.2 var(--font-display);letter-spacing:.13em;text-transform:uppercase}
.level-list{display:grid;gap:var(--s3)}
.level-card{min-width:0;padding:var(--s4);border:1px solid var(--rule-soft);border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel-2) 78%,transparent)}
.level-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}
.level-card h3{margin:0;color:var(--ink);font:500 1.06rem/1.2 var(--font-scribal)}
.level-card>h3{margin-bottom:var(--s3)}
.level-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.level-fields--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.level-field{display:grid;align-content:start;gap:var(--s1);min-width:0}
.level-field--wide{grid-column:1/-1}
.level-field label{color:var(--ink-soft);font:600 .69rem/1.2 var(--font-display);letter-spacing:.09em;text-transform:uppercase}
.level-field input,.level-field textarea,.level-field select{width:100%;min-width:0;min-height:var(--field);padding:var(--s2) var(--s3);border:1px solid var(--rule);border-radius:var(--r-sm);background:var(--panel-2);color:var(--ink);font:1rem/1.25 var(--font-body)}
.level-field textarea{resize:vertical;line-height:1.35}
.level-field input:focus,.level-field textarea:focus,.level-field select:focus{border-color:var(--gold-deep);outline:2px solid color-mix(in srgb,var(--gold-hi) 32%,transparent);outline-offset:1px}
.level-field small{color:var(--ink-faint);font:italic .76rem/1.25 var(--font-scribal)}
.level-ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.level-ability-grid .level-field{justify-items:center;padding:var(--s3);border:1px solid var(--rule-soft);background:var(--panel-2)}
.level-ability-grid input{max-width:6rem;text-align:center;font-weight:700}
.level-split{display:grid;gap:var(--s5)}
.level-add{justify-self:start;margin-top:var(--s1)}
.level-check{display:flex;align-items:center;gap:var(--s2);min-height:var(--field);color:var(--ink-soft);font:.88rem/1.2 var(--font-body)}
.level-check input{width:18px;height:18px;accent-color:var(--gold-deep)}
.level-callout{margin:var(--s3) 0 0;padding:var(--s3);border-left:3px solid var(--gold-deep);background:color-mix(in srgb,var(--gold-hi) 9%,transparent);color:var(--ink-soft);font:italic .84rem/1.35 var(--font-scribal)}
.level-review ol{display:grid;gap:0;margin:var(--s4) 0;padding:0;list-style:none;border:1px solid var(--rule-soft)}
.level-review li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--s3);min-height:var(--field-tall);padding:var(--s3);border-top:1px dotted var(--rule-soft)}
.level-review li:first-child{border-top:0}
.level-review b,.level-review small{display:block}
.level-review small{margin-top:var(--s1);color:var(--ink-faint);font:italic .78rem/1.25 var(--font-scribal)}
.level-change-kind{min-width:5.25rem;padding:.28rem .48rem;border:1px solid var(--rule);border-radius:var(--r-pill);text-align:center;color:var(--ink-soft);font:600 .61rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}
.level-change-kind--added{border-color:var(--mend);color:var(--mend)}
.level-change-kind--removed{border-color:var(--rubric);color:var(--rubric)}
.level-apply{display:block;margin-left:auto}
.level-actions{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--rule-soft)}
.level-actions [data-level-next]{margin-left:auto}
.level-actions [data-level-exit]:not(:last-child){margin-left:auto}
.level-cancel{color:var(--rubric)}
.level-result{display:grid;justify-items:center;max-width:38rem;margin:clamp(var(--s5),8vh,6rem) auto;text-align:center}
.level-result-mark{display:grid;place-items:center;width:66px;height:66px;border:1px solid var(--mend);border-radius:50%;color:var(--mend);font:400 2rem/1 var(--font-display)}
.level-result h2{margin:var(--s4) 0 var(--s2);font:400 2rem/1.1 var(--font-scribal)}
.level-result p{margin:0;color:var(--ink-faint);font:italic 1rem/1.4 var(--font-scribal)}
.level-result div{display:flex;gap:var(--s2);margin-top:var(--s5)}

@media(max-width:760px){
  .level-up-shell{grid-template-columns:1fr}
  .level-fields,.level-fields--three{grid-template-columns:1fr}
  .level-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .level-up-wrap{margin-top:var(--s3)}
  .level-up-heading{align-items:flex-start}
  .level-up-save{justify-items:start}
  .level-card{padding:var(--s3)}
  .level-actions{display:grid;grid-template-columns:1fr 1fr}
  .level-actions button{width:100%}
  .level-actions [data-level-exit]{grid-column:1/-1;grid-row:2;margin-left:0!important}
  .level-review li{grid-template-columns:1fr}
  .level-apply{width:100%}
  .level-result div{display:grid;width:100%}
}
@media(max-width:340px){.level-ability-grid{grid-template-columns:1fr}}
