/* Sacralib: compact parchment-only experience and stat calculator. */
#experienceView, #experienceRoot {min-width:0;}
.exp-v33 {
  --ex-ink:#35291f;--ex-muted:#75604d;--ex-line:#d4bea2;
  --ex-paper:#f7f0e5;--ex-card:#fffaf1;--ex-soft:#f2e7d5;
  --ex-red:#794330;--ex-gold:#aa814c;--ex-green:#3f7358;
  box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:clamp(12px,1.5vw,22px);
  color:var(--ex-ink);background:var(--ex-paper);border:1px solid var(--ex-line);
  font:15px/1.5 Georgia,serif;
}
.exp-v33 *,.exp-v33 *::before,.exp-v33 *::after {box-sizing:border-box;}
.exp-v33 h2,.exp-v33 h3 {margin:0;color:var(--ex-ink);font:700 clamp(19px,2vw,26px)/1.2 Georgia,serif;}
.exp-v33 h3 {font-size:18px;}
.exp-v33 p {margin:5px 0;color:var(--ex-muted);}
.exp-v33 .exp-v33-overline {font:700 10px Georgia,serif;letter-spacing:.1em;text-transform:uppercase;color:var(--ex-red);}
.exp-v33-hero {display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 12px;border-bottom:1px solid var(--ex-line);}
.exp-v33-max {white-space:nowrap;font-weight:700;color:var(--ex-red);font-size:12px;}
.exp-v33-planner {padding:14px 0;border-bottom:1px solid var(--ex-line);}
.exp-v33-sectionhead {display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;}
.exp-v33-sectionhead small {color:var(--ex-muted);}
.exp-v33-fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:100%;max-width:1070px;
}
.exp-v33-fields > .exp-v33-paid-field {min-width:0;}
.exp-v33-fields > .exp-v33-paid-field .exp-v33-paid-option {
  width:100%;height:46px;min-height:46px;
  padding:7px 11px;
}
.exp-v33-fields > label > :is(input,select) {min-height:46px;height:46px;}
.exp-v33 label {display:grid;gap:7px;min-width:0;color:var(--ex-ink);font-size:14px;font-weight:700;}
.exp-v33 :is(input,select,button) {
  border:1px solid var(--ex-line);border-radius:4px;min-width:0;min-height:44px;
  padding:9px 11px;background:var(--ex-card);color:var(--ex-ink);font:500 15px/1.35 Georgia,serif;
}
.exp-v33 input,.exp-v33 select {width:100%;}
.exp-v33 button {cursor:pointer;font-weight:700;}
.exp-v33 :is(input,select,button,summary):focus-visible {outline:2px solid var(--ex-green);outline-offset:2px;}
.exp-v33-results {
  display:grid;grid-template-columns:repeat(2,minmax(0,1.25fr)) repeat(2,minmax(0,1fr));
  gap:8px;margin-top:12px;
}
.exp-v33-results>div {min-width:0;padding:11px 12px;border:1px solid var(--ex-line);background:var(--ex-card);display:grid;align-content:space-between;gap:5px;}
.exp-v33-results>div.exp-v33-result-main {background:linear-gradient(155deg,#fffaf1,#f2e3c9);border-color:#b99b73;}
.exp-v33-results small {font-size:11px;color:var(--ex-muted);}
.exp-v33-results strong {font-size:clamp(17px,1.6vw,23px);font-variant-numeric:tabular-nums;color:var(--ex-red);}
.exp-v33 .exp-v33-planner-note {font-size:14px;line-height:1.55;margin:10px 0 0;}
.exp-v33-xp-detail,.exp-v33-explainer {margin-top:12px;border:1px solid var(--ex-line);background:var(--ex-card);padding:10px 13px;}
.exp-v33 :is(.exp-v33-xp-detail,.exp-v33-levels,.exp-v33-explainer)>summary {cursor:pointer;color:var(--ex-red);font-weight:700;}
.exp-v33-xp-fields {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;max-width:1000px;margin-top:10px;
}
.exp-v33-progress-track {max-width:640px;height:9px;margin-top:10px;background:var(--ex-soft);border:1px solid var(--ex-line);border-radius:9px;overflow:hidden;}
.exp-v33-progress-track i {display:block;width:0;height:100%;background:var(--ex-green);}
.exp-v33 .exp-v33-progress-caption,.exp-v33 .exp-v33-xp-answer {font-size:15px;line-height:1.5;margin-top:9px;color:var(--ex-ink);overflow-wrap:anywhere;}
.exp-v33-levels {margin-top:14px;border:1px solid var(--ex-line);background:var(--ex-card);padding:10px 13px;}
.exp-v33-levels>summary {display:flex;align-items:center;gap:8px;}
.exp-v33-levels>summary small {color:var(--ex-muted);font-weight:400;}
.exp-v33-toolbar {display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin:12px 0 10px;}
.exp-v33-toolbar > label:first-child {width:145px;}
.exp-v33-toolbar .exp-v33-filter-label {width:min(230px,100%);}
.exp-v33-toolbar .exp-v33-legendary-120 {
  display:inline-flex;align-items:center;gap:7px;min-height:35px;
  width:auto;max-width:100%;padding:4px 10px;
  border:1px solid var(--ex-line);background:var(--ex-card);
  cursor:pointer;font-size:12px;line-height:1.3;
}
.exp-v33-toolbar .exp-v33-table-legendary {
  width:16px;height:16px;min-width:16px;min-height:16px;
  padding:0;margin:0;flex:none;accent-color:var(--ex-green);
}
.exp-v33-table-scroll {max-height:395px;overflow:auto;border:1px solid var(--ex-line);overscroll-behavior:contain;}
.exp-v33-table {border-collapse:collapse;width:100%;min-width:690px;font-size:12px;}
.exp-v33-table :is(th,td) {padding:6px 9px;border-bottom:1px solid #e6d7c2;text-align:right;font-variant-numeric:tabular-nums;}
.exp-v33-table thead th {position:sticky;top:0;z-index:1;background:#eee0c6;color:var(--ex-ink);font-weight:700;white-space:nowrap;}
.exp-v33-table :is(th,td):first-child {text-align:left;}
.exp-v33-table tbody th {font-weight:700;color:var(--ex-red);}
.exp-v33-table tbody tr:nth-child(even) {background:#faf3e7;}
.exp-v33-table tbody tr.exp-v33-milestone {background:#eef1e3;}
.exp-v33-table tbody tr.exp-v33-milestone td:nth-child(2) {color:var(--ex-green);font-weight:700;}
.exp-v33-table tbody tr.exp-v33-selected {outline:2px solid var(--ex-green);outline-offset:-2px;}
.exp-v33-table .exp-v33-legendary-added {color:var(--ex-green);font-weight:700;}
.exp-v33-table tbody tr[hidden] {display:none;}
.exp-v33 .exp-v33-table-note {font-size:13px;line-height:1.5;margin-top:8px;}
.exp-v33-explainer p {font-size:14px;line-height:1.55;}
.exp-v33-error {padding:16px;color:#7c312b;}
@media(max-width:850px) {
  .exp-v33-results {grid-template-columns:repeat(2,minmax(0,1fr));}
  .exp-v33-sectionhead {align-items:start;flex-direction:column;gap:4px;}
  .exp-v33-fields {grid-template-columns:repeat(2,minmax(0,1fr));}
  .exp-v33-fields > .exp-v33-paid-field {grid-column:1/-1;}
  .exp-v33-xp-fields {grid-template-columns:repeat(2,minmax(0,1fr));}
  .exp-v33-max {white-space:normal;}
}
@media(max-width:540px) {
  .exp-v33 {padding:9px;}
  .exp-v33-hero {align-items:start;flex-direction:column;}
  .exp-v33-fields,.exp-v33-xp-fields {grid-template-columns:minmax(0,1fr);}
  .exp-v33-results>div {padding:8px;}
  .exp-v33-toolbar .exp-v33-filter-label {flex:1 1 100%;}
  .exp-v33-toolbar .exp-v33-legendary-120 {width:100%;}
  .exp-v33-table :is(th,td) {padding:6px;}
}

/* Legible, independently controlled paid-appearance options. */
.exp-v33-fields .exp-v33-paid-option {grid-column:1/-1;}
.exp-v33 .exp-v33-paid-option {
  display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;
  width:fit-content;max-width:100%;min-height:44px;padding:8px 12px;
  background:var(--ex-card);border:1px solid var(--ex-line);
  font-size:14px;line-height:1.4;color:var(--ex-ink);cursor:pointer;
}
.exp-v33 .exp-v33-paid-option input {
  width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;
  accent-color:var(--ex-green);flex:none;
}
.exp-v33 .exp-v33-input-help {font-size:13px;line-height:1.4;margin-top:8px;color:var(--ex-muted);}
.exp-v33-xp-detail > summary {font-size:16px;line-height:1.45;padding:3px 0;}
.exp-v33-xp-fields label {font-size:14px;}
.exp-v33-xp-fields input {font-size:16px;min-height:46px;font-variant-numeric:tabular-nums;}

/* All directory controls share one visible control height, including toggles. */
.exp-v33 .exp-v33-toolbar {
  align-items:flex-end;
  row-gap:12px;
}
.exp-v33 .exp-v33-toolbar :is(input:not([type="checkbox"]),select,button) {
  height:46px;min-height:46px;
  padding:9px 11px;
  font:500 15px/1.35 Georgia,serif;
}
.exp-v33 .exp-v33-toolbar > :is(.exp-v33-legendary-120,.exp-v33-table-paid-label) {
  display:inline-flex;
  align-items:center;
  align-self:flex-end;
  gap:9px;
  box-sizing:border-box;
  height:46px;min-height:46px;
  width:auto;max-width:100%;
  margin:0;padding:7px 11px;
  font-size:14px;line-height:1.3;
}
.exp-v33 .exp-v33-toolbar :is(.exp-v33-table-legendary,.exp-v33-table-paid) {
  width:18px;height:18px;min-width:18px;min-height:18px;
  flex:none;margin:0;padding:0;
}
.exp-v33 .exp-v33-xp-answer .exp-v33-xp-amount {
  display:inline;
  color:var(--ex-red);
  font:700 1.15em/1.35 Georgia,serif;
  font-variant-numeric:tabular-nums;
}
