/* =============================================================================
   The long game: the Almanac, Collections, the Collector's Exchange and the
   "while you were away" card. Built on the mayhem sheet's materials (mayhem.css)
   so it reads as the same room. A chapter sets three variables on its sheet,
   --alm-a, --alm-b and --alm-glow, and everything here tints from those.
   ============================================================================= */

/* ---- wallpapers added by Almanac room sets and the Exchange ---------------------
   Each is the room's own ink. One size per gradient layer, so the cabinet and the
   wall behind it agree on how the pattern tiles. */
body.wall-scallop{--wall-pattern:radial-gradient(circle at 50% 0,transparent 11px,var(--wall-ink) 11.5px 13px,transparent 13.5px);--wall-pattern-size:26px 14px}
body.wall-waves{--wall-pattern:radial-gradient(circle at 50% 100%,transparent 8px,var(--wall-ink) 8.5px 10px,transparent 10.5px);--wall-pattern-size:24px 12px}
body.wall-stars{--wall-pattern:radial-gradient(circle at 20% 30%,var(--wall-ink) 1.2px,transparent 1.6px);--wall-pattern-size:41px 37px}
body.wall-plaid{--wall-pattern:conic-gradient(from 90deg at 3px 3px,transparent 90deg,var(--wall-ink) 0);--wall-pattern-size:38px 38px}
body.wall-quilt{--wall-pattern:conic-gradient(from 45deg at 50% 50%,var(--wall-ink) 0 25%,transparent 0 50%,var(--wall-ink) 0 75%,transparent 0);--wall-pattern-size:30px 30px}
body.wall-rain{--wall-pattern:repeating-linear-gradient(105deg,transparent 0 9px,var(--wall-ink) 9px 10px);--wall-pattern-size:auto}
body.wall-argyle{--wall-pattern:linear-gradient(45deg,var(--wall-ink) 25%,transparent 25% 75%,var(--wall-ink) 75%);--wall-pattern-size:30px 30px}
body.wall-chevron{--wall-pattern:repeating-linear-gradient(60deg,var(--wall-ink) 0 1.5px,transparent 1.5px 22px);--wall-pattern-size:auto}
body.wall-brick{--wall-pattern:linear-gradient(var(--wall-ink) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--wall-ink) 1.5px,transparent 1.5px);--wall-pattern-size:48px 18px,48px 18px}
body.wall-ticking{--wall-pattern:repeating-linear-gradient(90deg,var(--wall-ink) 0 3px,transparent 3px 7px);--wall-pattern-size:auto}
body.wall-morse{--wall-pattern:radial-gradient(ellipse 7px 1.5px at 8px 50%,var(--wall-ink) 98%,transparent),radial-gradient(circle at 26px 50%,var(--wall-ink) 1.6px,transparent 2px);--wall-pattern-size:40px 14px,40px 14px}
body.wall-tally{--wall-pattern:radial-gradient(ellipse 1px 9px at 50% 50%,var(--wall-ink) 98%,transparent);--wall-pattern-size:9px 22px}
body.wall-lattice{--wall-pattern:linear-gradient(45deg,transparent 46%,var(--wall-ink) 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,var(--wall-ink) 46% 54%,transparent 54%);--wall-pattern-size:26px 26px,26px 26px}
body.wall-ripple{--wall-pattern:repeating-radial-gradient(circle at 0 100%,transparent 0 16px,var(--wall-ink) 16px 17px);--wall-pattern-size:auto}
body.wall-filigree{--wall-pattern:radial-gradient(circle at 50% 50%,transparent 5px,var(--wall-ink) 5.5px 6.5px,transparent 7px),radial-gradient(circle at 0 0,var(--wall-ink) 2px,transparent 2.4px);--wall-pattern-size:30px 30px,30px 30px}
.wallsample{background-image:var(--wall-pattern);background-size:var(--wall-pattern-size);background-color:#241833;--wall-ink:rgba(242,233,220,.5)}
.ex-swatch.wallsample{background-color:#241833}
.wallsample.wall-scallop{--wall-pattern:radial-gradient(circle at 50% 0,transparent 11px,var(--wall-ink) 11.5px 13px,transparent 13.5px);--wall-pattern-size:26px 14px}
.wallsample.wall-tally{--wall-pattern:radial-gradient(ellipse 1px 9px at 50% 50%,var(--wall-ink) 98%,transparent);--wall-pattern-size:9px 22px}
.wallsample.wall-lattice{--wall-pattern:linear-gradient(45deg,transparent 46%,var(--wall-ink) 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,var(--wall-ink) 46% 54%,transparent 54%);--wall-pattern-size:26px 26px,26px 26px}
.wallsample.wall-ripple{--wall-pattern:repeating-radial-gradient(circle at 0 100%,transparent 0 16px,var(--wall-ink) 16px 17px);--wall-pattern-size:auto}
.wallsample.wall-filigree{--wall-pattern:radial-gradient(circle at 50% 50%,transparent 5px,var(--wall-ink) 5.5px 6.5px,transparent 7px),radial-gradient(circle at 0 0,var(--wall-ink) 2px,transparent 2.4px);--wall-pattern-size:30px 30px,30px 30px}

/* ---- the Today tile -------------------------------------------------------------- */
.alm-tile{grid-column:1/-1;order:-1;--alm-glow:var(--mh-candle);position:relative;overflow:hidden;
  border-color:color-mix(in srgb,var(--alm-glow) 45%,transparent);
  background:radial-gradient(110% 160% at 100% 0%,color-mix(in srgb,var(--alm-glow) 22%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--alm-a,#1d1422) 55%,#1d1422),#130d17)}
.alm-tile .mh-tile-kicker{color:var(--alm-glow)}
.alm-tile b{font-size:21px}
.alm-tile-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font:600 12.5px var(--body);color:var(--ink-2)}
.alm-left{color:var(--alm-glow);white-space:nowrap}
.alm-tile .mh-meter>i{background:linear-gradient(90deg,var(--mh-blood),var(--alm-glow))}
.alm-ready{color:var(--mh-wax)}
.alm-tile.has-ready{box-shadow:0 0 0 1px color-mix(in srgb,var(--alm-glow) 50%,transparent),0 0 28px -8px var(--alm-glow)}
.alm-tile.has-ready::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 34px -6px var(--alm-glow);opacity:.55;animation:alm-glint 3.2s ease-in-out infinite}
@keyframes alm-glint{50%{opacity:.15}}

/* ---- the return card --------------------------------------------------------------- */
.alm-return{grid-column:1/-1;order:-4;gap:8px;border-color:color-mix(in srgb,var(--mh-candle) 55%,transparent);
  background:radial-gradient(100% 140% at 0% 0%,color-mix(in srgb,var(--mh-candle) 18%,transparent),transparent 62%),linear-gradient(180deg,#241a22,#150e16)}
.alm-return .mh-tile-kicker{color:var(--mh-candle)}
.alm-return-head{margin:0;font:23px/1.3 var(--hand);color:var(--paper-lit)}
.alm-return-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.alm-return-lines li{font-size:13.5px;line-height:1.5;color:var(--ink-2);padding-left:14px;position:relative}
.alm-return-lines li::before{content:'';position:absolute;left:2px;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--mh-candle);opacity:.7}
.alm-return-chest{display:flex;align-items:center;gap:12px;margin-top:4px;padding:10px 12px;border-radius:12px;background:#0003;border:1px solid var(--hair-lit);flex-wrap:wrap}
.alm-return-chest p{margin:0;flex:1 1 180px;font-size:13px;line-height:1.5;color:var(--ink-2)}
.alm-chest-art{flex:none;width:40px;height:40px;color:var(--mh-candle);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--mh-candle) 40%,transparent))}
.alm-return-chest .btn{min-height:44px}

/* ---- the Almanac sheet --------------------------------------------------------------- */
.sheet-almanac,.sheet-exchange{max-width:600px;overflow-x:hidden;--alm-a:#2A1233;--alm-b:#0E0716;--alm-glow:var(--mh-candle)}
.sheet-almanac{background:radial-gradient(120% 40% at 50% 0%,color-mix(in srgb,var(--alm-a) 80%,#000),transparent 70%),linear-gradient(180deg,var(--night-3),var(--night-2))}
.sheet-almanac .sheet-head .eyebrow{color:var(--alm-glow)}
.sheet-almanac h3,.sheet-exchange h3{margin:0 0 10px;font:700 11px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--alm-glow);display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.sheet-almanac h3 small,.sheet-exchange h3 small{color:var(--ink-3);letter-spacing:.04em;text-transform:none;font-size:12px;font-weight:600}
.alm-hero{display:flex;flex-direction:column;gap:12px}
.alm-banner{position:relative;height:118px;border-radius:16px;overflow:hidden;border:1px solid color-mix(in srgb,var(--alm-glow) 40%,transparent);box-shadow:0 14px 34px -18px var(--alm-glow)}
.alm-banner-art{position:absolute;inset:0;width:100%;height:100%;display:block}
.alm-banner-text{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:12px 14px;background:linear-gradient(0deg,#000a,transparent)}
.alm-month{font:700 11px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.alm-countdown b{font:22px/1 var(--display);color:var(--mh-wax);text-shadow:0 0 14px var(--alm-glow)}
.alm-blurb{margin:0;font:21px/1.4 var(--hand);color:var(--ink-2)}
.alm-progress{display:flex;flex-direction:column;gap:2px}
.alm-tier{display:flex;align-items:baseline;gap:6px;color:var(--ink-3);font-size:13px}
.alm-tier b{font:28px/1 var(--display);color:var(--ink)}
.alm-xp{margin-left:auto;font:600 12px var(--body);color:var(--alm-glow)}
.alm-progress small{font-size:12.5px;color:var(--ink-2);line-height:1.45}
.sheet-almanac .mh-meter>i{background:linear-gradient(90deg,var(--mh-blood),var(--alm-glow))}
.alm-claim-all{min-height:48px;width:100%;font-size:15px}
.alm-today,.alm-spotlight{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.alm-spotlight b{color:var(--alm-glow)}
.alm-section{margin-top:20px}
.alm-result{margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--mh-good) 45%,transparent);background:color-mix(in srgb,var(--mh-good) 9%,#10100f);animation:mh-reveal .5s cubic-bezier(.2,1.4,.4,1) 1}
.alm-result .mh-tile-kicker{color:var(--mh-good)}
.alm-result ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:13px;line-height:1.45;color:var(--ink)}
.alm-notice{margin:10px 0 0;padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.5;color:var(--ink-2);border:1px solid var(--hair-lit);background:#ffffff08}
.alm-notice.saved{border-color:color-mix(in srgb,var(--mh-good) 45%,transparent);color:var(--mh-good)}
.alm-notice.earned{border-color:color-mix(in srgb,var(--alm-glow) 45%,transparent);color:var(--mh-wax)}
.alm-notice.settled{display:flex;gap:10px;align-items:center;margin:0 0 14px}
.alm-notice.settled p{margin:0;flex:1}

/* the track */
.alm-track{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.alm-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid var(--hair);background:#ffffff06;min-height:56px}
.alm-row.ready{border-color:color-mix(in srgb,var(--alm-glow) 70%,transparent);background:color-mix(in srgb,var(--alm-glow) 10%,#120d16)}
.alm-row.claimed{opacity:.62}
.alm-no{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 12px var(--body);color:var(--ink-3);border:1px solid var(--hair-lit)}
.alm-row.ready .alm-no{color:#1a0e12;background:var(--alm-glow);border-color:transparent}
.alm-ico{flex:none;width:38px;height:38px;display:grid;place-items:center;color:var(--alm-glow)}
.alm-ico>svg{width:100%;height:100%}
.alm-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.alm-label b{font:600 13.5px/1.25 var(--body);color:var(--ink);overflow-wrap:anywhere}
.alm-label small{font-size:11.5px;color:var(--ink-3)}
.alm-state{flex:none}
.alm-state .btn{min-width:64px;min-height:44px}
.alm-done{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--mh-good);color:#10211a;font-weight:800;font-size:14px}
.alm-lock{display:block;width:22px;height:22px;color:var(--ink-3);opacity:.5}
.alm-all{margin-top:10px}
.alm-all summary{cursor:pointer;font:600 13px var(--body);color:var(--ink-2);padding:6px 2px;list-style:none;min-height:44px;display:flex;align-items:center}
.alm-all summary::-webkit-details-marker{display:none}
.alm-all summary::after{content:'+';margin-left:auto;font-size:18px;color:var(--alm-glow)}
.alm-all[open] summary::after{content:'−'}
.alm-all .alm-track{margin-top:6px}
.alm-empty{padding:12px;color:var(--ink-2);font-size:13px}

/* limited curios */
.alm-curios{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.alm-curios li{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:8px 4px 10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--alm-glow) 38%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--alm-a) 60%,#170f1a),#110b13);min-width:0}
.alm-curios li.missing{border-style:dashed;border-color:var(--hair-lit);background:#0c080e}
.alm-curios b{font:600 11px/1.25 var(--body);color:var(--ink);overflow-wrap:anywhere}
.alm-curios small{font-size:10.5px;color:var(--ink-3)}
.alm-curio-frame{display:block;width:48px;height:48px}
.alm-curio-art,.alm-badge-art{display:block;width:100%;height:100%}
.alm-curio-art.locked{filter:grayscale(1)}

/* weekly */
.alm-weekly ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.alm-weekly-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--hair);background:#ffffff06}
.alm-weekly-row.done{border-color:color-mix(in srgb,var(--mh-good) 55%,transparent)}
.alm-weekly-row.claimed{opacity:.6}
.alm-weekly-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.alm-weekly-text b{font:600 14px/1.25 var(--body)}
.alm-weekly-text small{font-size:12px;color:var(--ink-2);line-height:1.4}
.alm-weekly-side{flex:none;min-width:48px;text-align:right}
.alm-weekly-side em{font:600 12px var(--body);font-style:normal;color:var(--ink-3);font-variant-numeric:tabular-nums}
.alm-weekly-side .btn{min-height:44px}
.alm-chest{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;border-radius:12px;border:1px dashed var(--hair-lit);color:var(--ink-2)}
.alm-chest b{display:block;font:600 14px var(--body);color:var(--ink)}
.alm-chest small{font-size:12px;line-height:1.4}
.alm-chest>span:nth-child(2){flex:1;min-width:0}
.alm-chest.ready{border-style:solid;border-color:color-mix(in srgb,var(--alm-glow) 70%,transparent);background:color-mix(in srgb,var(--alm-glow) 10%,#120d16)}
.alm-chest.done{border:0;font-size:12.5px;padding:6px 2px}

/* freezes and titles */
.alm-freeze-row{display:flex;align-items:center;gap:12px}
.alm-freeze-row p{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.alm-pips{flex:none;display:flex;gap:6px}
.alm-pips i{display:block;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--hair-lit);background:#ffffff08}
.alm-pips i.on{background:linear-gradient(135deg,#d9f1ff,#7aa9d8);border-color:#d9f1ff;box-shadow:0 0 12px -2px #8fc2f2}
.alm-chips{display:flex;flex-wrap:wrap;gap:6px}
.alm-chips .filter-chip{min-height:44px;text-align:left}
.alm-link-row{display:flex;flex-wrap:wrap;gap:8px}
.alm-link-row .btn{min-height:44px;flex:1 1 120px}

/* a line of chapter flavour under an emergency result */
.alm-hook{margin:-4px 0 0;font:19px/1.35 var(--hand);text-align:center;color:var(--alm-glow,var(--mh-candle));opacity:.92}

/* ---- Collections in the Cabinet ------------------------------------------------------- */
.mh-wears{margin:6px 0 0!important;font:600 12.5px var(--body)!important;color:var(--mh-candle)!important}
.col-block{margin-top:22px}
.col-block h3{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;font:700 11px var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--mh-candle)}
.col-block h3 small{font-size:12px;letter-spacing:.04em;text-transform:none;color:var(--ink-3)}
.col-block h4{margin:14px 0 8px;font:600 14px var(--body);color:var(--ink)}
.col-block h4 small{color:var(--ink-3);font-weight:500}
.col-legacy{padding:14px 16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--r-cursed) 45%,transparent);background:radial-gradient(90% 90% at 100% 0%,color-mix(in srgb,var(--r-cursed) 14%,transparent),transparent 60%),#150e18}
.col-legacy-title{margin:0;font:26px/1.1 var(--display);color:var(--mh-wax)}
.col-legacy p{margin:4px 0 0;font:19px/1.35 var(--hand);color:var(--ink-2)}
.col-legacy small{display:block;margin-top:2px;font-size:12px;color:var(--ink-3)}
.col-legacy-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.col-token b{font:22px var(--display);color:var(--mh-wax)}
.col-frame-row{margin:14px 0 0;font-size:13px;color:var(--ink-2);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.col-frame-row b{color:var(--ink)}
.col-group{margin-top:8px;border:1px solid var(--hair);border-radius:12px;background:#ffffff05}
.col-group summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 12px;font:600 13.5px var(--body);color:var(--ink)}
.col-group summary::-webkit-details-marker{display:none}
.col-group summary small{color:var(--ink-3);font-weight:500}
.col-group summary::after{content:'+';color:var(--mh-candle);font-size:18px;margin-left:6px}
.col-group[open] summary::after{content:'−'}
.col-cards{display:flex;flex-direction:column;gap:8px;padding:0 10px 10px}
.col-set{display:flex;flex-direction:column;gap:7px;padding:11px 12px;border-radius:12px;border:1px solid var(--hair-lit);background:linear-gradient(180deg,#1b1320,#120c15)}
.col-set header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.col-set header b{font:600 14px/1.25 var(--body)}
.col-set header small{font:600 12px var(--body);color:var(--ink-3)}
.col-set.complete{border-color:color-mix(in srgb,var(--mh-candle) 60%,transparent)}
.col-members{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}
.col-members li{padding:3px 8px;border-radius:99px;font-size:11.5px;line-height:1.3;border:1px solid var(--hair-lit);color:var(--ink-3)}
.col-members li.got{color:var(--ink);background:color-mix(in srgb,var(--mh-candle) 12%,transparent);border-color:color-mix(in srgb,var(--mh-candle) 40%,transparent)}
.col-set footer{font-size:12px;color:var(--ink-3)}
.col-set footer .btn{min-height:44px}
.col-claimed{color:var(--mh-good)}
.col-edition-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.col-edition-item,.col-edition-grid li.missing{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:8px 4px;border-radius:12px;border:1px solid color-mix(in srgb,var(--rc,var(--mh-candle)) 45%,transparent);background:#150e18;color:var(--ink);font:inherit;text-align:center}
.col-edition-grid li.missing{border-style:dashed;border-color:var(--hair-lit)}
button.col-edition-item{cursor:pointer;min-height:44px}
.col-edition-item b,.col-edition-grid li.missing b{font:600 10.5px/1.25 var(--body);overflow-wrap:anywhere}
.col-edition-art{display:block;width:44px;height:44px}
.col-curio-detail{display:flex;justify-content:center;margin-top:14px}
.col-curio-detail[hidden]{display:none}
.col-detail-art{width:84px;height:84px}
.rarity-edition{--rc:var(--mh-candle)}

/* display frames for the Cabinet: each sets a few variables, the cabinet items read them */
.fr-tin{--fr-b:#9aa3ad;--fr-w:2px;--fr-bg:linear-gradient(135deg,#3a4048,#20242a);--fr-shadow:inset 0 0 0 1px #0008,0 0 0 1px #0006}
.fr-bone{--fr-b:#d8ccb4;--fr-w:3px;--fr-bg:linear-gradient(135deg,#2c2620,#1a1612);--fr-shadow:inset 0 0 0 2px #0009}
.fr-walnut{--fr-b:#6b4a35;--fr-w:4px;--fr-bg:linear-gradient(135deg,#2a1d15,#170f0b);--fr-shadow:inset 0 0 0 1px #0009,inset 0 2px 6px #000a}
.fr-brass{--fr-b:#c9a24a;--fr-w:2px;--fr-bg:linear-gradient(135deg,#2e2512,#171208);--fr-shadow:0 0 12px -4px #c9a24a88,inset 0 0 0 1px #0009}
.fr-velvet{--fr-b:#7a2a45;--fr-w:3px;--fr-bg:linear-gradient(135deg,#3a1226,#1c0913);--fr-shadow:inset 0 0 14px #0008}
.fr-gilt{--fr-b:#f0cd6a;--fr-w:3px;--fr-bg:linear-gradient(135deg,#352a10,#18120a);--fr-shadow:0 0 16px -4px #f0cd6a99,inset 0 0 0 1px #000a}
.fr-obsidian{--fr-b:#4a3b66;--fr-w:3px;--fr-bg:linear-gradient(135deg,#17111f,#08050c);--fr-shadow:0 0 16px -6px #9a7be0aa,inset 0 0 0 1px #000}
.fr-reliquary{--fr-b:#e8c77a;--fr-w:4px;--fr-bg:linear-gradient(135deg,#2a1d12,#100a07);--fr-shadow:0 0 22px -4px #e8c77a99,inset 0 0 0 2px #000a}
.fr-seance-felt{--fr-b:#2f6a4a;--fr-w:4px;--fr-bg:linear-gradient(135deg,#143324,#0a1a12);--fr-shadow:inset 0 0 12px #000a}
.fr-hearse-lacquer{--fr-b:#101014;--fr-w:4px;--fr-bg:linear-gradient(135deg,#1c1c22,#050507);--fr-shadow:0 0 0 1px #6a6a78,inset 0 2px 4px #fff2}
.fr-watchful-glass{--fr-b:#7fd8c0;--fr-w:2px;--fr-bg:radial-gradient(circle at 30% 20%,#1f4440,#08181a);--fr-shadow:0 0 14px -4px #7fd8c0aa,inset 0 0 12px #7fd8c022}
.fr-thin-ember{--fr-b:#ff9a3c;--fr-w:2px;--fr-bg:linear-gradient(135deg,#3a1a0e,#160a06);--fr-shadow:0 0 16px -4px #ff9a3caa}
.mh-cabinet[class*="fr-"]:not(.fr-plain) .mh-shelf-item:not(.missing),.mh-cabinet[class*="fr-"]:not(.fr-plain) .col-set,.mh-cabinet[class*="fr-"]:not(.fr-plain) .col-edition-item{
  border:var(--fr-w,1px) solid var(--fr-b);background:var(--fr-bg);box-shadow:var(--fr-shadow)}
.col-frame-sample{display:block;width:44px;height:44px;border-radius:10px;border:var(--fr-w,1px) solid var(--fr-b,var(--hair-lit));background:var(--fr-bg,#1b1320);box-shadow:var(--fr-shadow,none)}

/* portrait frames on the resident card */
.pf-cameo{--pf-ring:#d8ccb4;--pf-w:5px;--pf-shadow:0 0 0 2px #0008,0 0 18px -4px #d8ccb488;--pf-r:50%}
.pf-wax{--pf-ring:#a3262f;--pf-w:6px;--pf-shadow:0 0 0 2px #0008,0 0 14px -2px #a3262f99;--pf-r:42% 58% 55% 45%}
.pf-gallows{--pf-ring:#6b4a35;--pf-w:8px;--pf-shadow:inset 0 0 0 2px #0006,0 6px 14px -6px #000;--pf-r:6px}
.pf-doily{--pf-ring:#efe6d4;--pf-w:5px;--pf-shadow:0 0 0 3px #efe6d455,0 0 0 6px #0005;--pf-r:50%;--pf-style:dotted}
.pf-lineup{--pf-ring:#8a8f99;--pf-w:3px;--pf-shadow:inset 0 -34px 0 -26px #fff2;--pf-r:4px}
.pf-gold-leaf{--pf-ring:#f0cd6a;--pf-w:5px;--pf-shadow:0 0 22px -3px #f0cd6acc,inset 0 0 0 1px #000a;--pf-r:18px}
.pf-obsidian-oval{--pf-ring:#6a4fb0;--pf-w:5px;--pf-shadow:0 0 22px -4px #9a7be0cc,inset 0 0 0 1px #000;--pf-r:50%}
.portrait-stage[class*="pf-"] .card-portrait{border:var(--pf-w) var(--pf-style,solid) var(--pf-ring);border-radius:var(--pf-r);box-shadow:var(--pf-shadow);overflow:hidden}
.pf-sample{display:block;width:44px;height:44px;border:var(--pf-w) var(--pf-style,solid) var(--pf-ring,var(--hair-lit));border-radius:var(--pf-r,10px);box-shadow:var(--pf-shadow,none);background:#1b1320}

/* ---- the Collector's Exchange ------------------------------------------------------------- */
.sheet-exchange .sheet-head .eyebrow{color:var(--mh-candle)}
.ex-purse{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--mh-candle) 35%,transparent);background:#150e18;font-size:13px;color:var(--ink-2)}
.ex-purse b{font:20px var(--display);color:var(--mh-wax);margin-right:4px}
.ex-notice{margin:0 0 12px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--mh-good) 45%,transparent);background:color-mix(in srgb,var(--mh-good) 9%,#10100f);font-size:13px;line-height:1.45;color:var(--mh-good)}
.ex-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ex-tabs .filter-chip{min-height:44px;padding-inline:14px}
.ex-body .hint{margin:0 0 12px}
.ex-chapter{margin:16px 0 8px;font:600 14px var(--body);color:var(--ink)}
.ex-chapter small{color:var(--ink-3);font-weight:500}
.ex-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ex-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;border:1px solid var(--hair);background:#ffffff06;min-width:0}
.ex-row.bargain{border-color:color-mix(in srgb,var(--mh-candle) 65%,transparent);background:color-mix(in srgb,var(--mh-candle) 8%,#120d16)}
.ex-row.active{border-color:color-mix(in srgb,var(--mh-good) 60%,transparent)}
.ex-row.filed{opacity:.75}
.ex-art{flex:none;width:44px;height:44px;display:grid;place-items:center;color:var(--mh-candle)}
.ex-art>svg{width:100%;height:100%}
.ex-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ex-text b{font:600 13.5px/1.25 var(--body);color:var(--ink);overflow-wrap:anywhere}
.ex-text small{font-size:12px;line-height:1.4;color:var(--ink-2)}
.ex-side{flex:none;display:flex;align-items:center;justify-content:flex-end;max-width:42%}
.ex-side .btn{min-height:44px;min-width:76px;white-space:normal;line-height:1.2;text-align:center}
.ex-side .btn.armed{background:linear-gradient(180deg,#ff5a6c,var(--mh-blood));color:#fff}
.ex-on,.ex-lock{font:600 12px var(--body);color:var(--mh-good)}
.ex-lock{color:var(--ink-3);text-align:right}
.ex-select{min-height:44px;max-width:150px}
.ex-swatch{display:block;width:34px;height:34px;border-radius:9px;border:1px solid var(--hair-lit)}
.ex-bargain{display:flex;flex-direction:column;gap:3px;margin:0 0 12px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--mh-candle) 60%,transparent);background:radial-gradient(100% 120% at 100% 0%,color-mix(in srgb,var(--mh-candle) 16%,transparent),transparent 60%),#150e18}
.ex-bargain b{font:20px/1.2 var(--display);color:var(--mh-wax)}
.ex-bargain small{font-size:12.5px;line-height:1.45;color:var(--ink-2)}
.ex-bargain .mh-tile-kicker{color:var(--mh-candle)}
.ex-empty{padding:14px;color:var(--ink-2);font-size:13.5px;line-height:1.5}
.ex-legacy{display:flex;flex-direction:column;gap:3px;margin:0 0 12px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--r-cursed) 45%,transparent);background:#150e18}
.ex-legacy b{font:20px/1.2 var(--display);color:var(--mh-wax)}
.ex-legacy small{font-size:12.5px;color:var(--ink-2)}
.ex-tokens{color:var(--mh-wax);font-weight:700}
.tray-sublabel{grid-column:1/-1;font:700 10px var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding-top:6px}
.nudge-cats[hidden]{display:none}

/* ---- phone ----------------------------------------------------------------------------------- */
@media (max-width:420px){
  .alm-banner{height:104px}
  .alm-blurb{font-size:19px}
  .alm-curios{gap:5px}
  .alm-curio-frame{width:42px;height:42px}
  .alm-row{gap:8px;padding:8px}
  .alm-ico{width:34px;height:34px}
  .ex-row{gap:8px;padding:8px}
  .ex-side{max-width:46%}
  .col-edition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alm-return-head{font-size:21px}
}
@media (max-width:900px){.alm-tile,.alm-return{grid-column:1/-1}}

/* ---- motion off -------------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .alm-tile.has-ready::after,.alm-result{animation:none!important}
}
body[data-effects="light"] .alm-tile.has-ready::after,body[data-effects="light"] .alm-result{animation:none!important}
