/* =========================================================================
   Forever Companion — UI kit
   A classic-MMO interface look built from scratch in CSS (no game assets):
   bronze/gold frames, parchment pages, red buttons, item slots, tooltips.
   ========================================================================= */

:root{
  /* type */
  --title:"Cinzel",Georgia,serif;
  --ui:"Marcellus",Georgia,serif;
  --read:"Alegreya",Georgia,serif;

  /* core palette */
  --night:#07080b;
  --frame:#101318;
  --frame2:#171b22;
  --inset:#090a0d;
  --line:#3a3226;
  --bronze-d:#2a1f0e;
  --bronze:#7a5c2c;
  --bronze-l:#c9a45c;
  --gold:#ffd100;        /* classic UI yellow */
  --gold-soft:#e7c06a;
  --text:#efe6cf;
  --muted:#a39a86;
  --dim:#6f6859;
  --red:#a3200f;
  --red-d:#4d0904;
  --parch:#e6d3a3;
  --parch-d:#cdb47d;
  --ink:#3a2812;
  --ink-red:#6b1d08;

  /* item quality */
  --q-poor:#9d9d9d;--q-common:#ffffff;--q-unc:#1eff00;--q-rare:#3d9bff;--q-epic:#b65cf5;--q-leg:#ff8000;

  /* tiers (shared with data files, which reference var(--S) etc.) */
  --S:#ff8000;--A:#b65cf5;--B:#3d9bff;--C:#3fdc2a;
  --prof:#7fd1c3;

  /* quest difficulty */
  --qd-red:#ff2a2a;--qd-orange:#ff8040;--qd-yellow:#ffe14a;--qd-green:#40c040;--qd-grey:#8a8a8a;

  /* faction accent */
  --fac:#3d7be0;--fac-d:#1d3f7a;

  --r:6px;
  --shadow:0 18px 50px rgba(0,0,0,.65);
  color-scheme:dark;
}
:root[data-fac="H"]{--fac:#d0402f;--fac-d:#6e1a10}

*{box-sizing:border-box}
html,body{margin:0}
body{
  min-height:100vh;
  font:15px/1.5 var(--ui);
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 50% -10%,rgba(60,80,110,.35),transparent 60%),
    radial-gradient(900px 600px at 85% 110%,rgba(110,60,25,.28),transparent 60%),
    radial-gradient(700px 500px at 0% 80%,rgba(40,70,60,.22),transparent 60%),
    var(--night);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
/* film grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:var(--gold-soft)}
a:hover{color:var(--gold)}
b,strong{color:#fff3d2}
h1,h2,h3,h4{font-family:var(--title);font-weight:600;letter-spacing:.02em;line-height:1.2;margin:0 0 .5em}
h2{font-size:20px;color:var(--gold)}
h3{font-size:16px;color:var(--gold)}
h4{font-size:14px;color:var(--gold-soft)}
p{margin:0 0 .7em}
ul{margin:0 0 .7em;padding-left:1.2em}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------------------------------------------------------------- Frames */
.wf{
  position:relative;
  background:linear-gradient(180deg,var(--frame2),var(--frame) 40%,#0b0d11);
  border-radius:var(--r);
  border:1px solid #000;
  box-shadow:
    0 0 0 1px #8a6d3b,
    0 0 0 3px #2a1f0e,
    0 0 0 4px var(--bronze-l),
    0 0 0 6px #1a1309,
    var(--shadow);
  margin:8px;
}
.wf>.cn{position:absolute;width:14px;height:14px;z-index:3;pointer-events:none;
  background:linear-gradient(135deg,#f3d58f,#a77c34 45%,#4a3413);
  box-shadow:0 0 0 1px #1a1309,inset 0 0 0 1px rgba(255,240,200,.35);transform:rotate(45deg)}
.wf>.cn.tl{top:-9px;left:-9px}.wf>.cn.tr{top:-9px;right:-9px}
.wf>.cn.bl{bottom:-9px;left:-9px}.wf>.cn.br{bottom:-9px;right:-9px}
.wf-title{
  position:relative;display:flex;align-items:center;justify-content:center;gap:10px;
  min-height:36px;padding:6px 44px 6px 44px;
  background:linear-gradient(180deg,#2e2316,#140e08);
  border-bottom:2px solid #6b5129;
  box-shadow:inset 0 -1px 0 #1a1309,inset 0 1px 0 rgba(255,220,150,.12);
  border-radius:var(--r) var(--r) 0 0;
}
.wf-title h1,.wf-title h2{margin:0;font:600 15px/1.2 var(--title);color:var(--gold);text-shadow:0 1px 0 #000,0 0 8px rgba(255,190,60,.25);letter-spacing:.06em;text-align:center}
.wf.has-port .wf-title{padding-left:84px}
.wf-port{
  position:absolute;top:-16px;left:-16px;z-index:4;width:72px;height:72px;border-radius:50%;
  display:grid;place-items:center;color:var(--gold);
  background:radial-gradient(circle at 50% 40%,#2b2f38,#0b0c10 70%);
  box-shadow:0 0 0 3px #0d0a05,0 0 0 6px var(--bronze-l),0 0 0 8px #3a2a10,0 6px 18px rgba(0,0,0,.6),inset 0 0 18px rgba(0,0,0,.9);
}
.wf-port svg{width:36px;height:36px}
.wf-x{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border-radius:4px;border:1px solid var(--bronze-l);
  background:linear-gradient(#c22a17,#6f0e06);color:#ffe2a8;font:700 15px/1 var(--ui);cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,210,170,.4),0 0 0 1px #1a0a05;display:grid;place-items:center;text-decoration:none;
}
.wf-x:hover{filter:brightness(1.2);color:#fff}
.wf-body{padding:16px 18px 18px}
.wf.has-port>.wf-body{padding-top:30px}
.noanim .rise{animation:none}
.wf-foot{display:flex;gap:6px;padding:0 14px 10px;flex-wrap:wrap}

/* small framed box inside windows */
.box{background:linear-gradient(180deg,#151920,#0d0f13);border:1px solid #4b3d24;border-radius:4px;
  box-shadow:inset 0 0 0 1px #000,inset 0 1px 0 rgba(255,220,150,.06);padding:12px 14px}
.inset{background:var(--inset);border:1px solid #2c2519;border-radius:4px;box-shadow:inset 0 2px 8px rgba(0,0,0,.8);padding:10px 12px}
.sect-h{display:flex;align-items:center;gap:10px;margin:18px 0 10px}
.sect-h h2,.sect-h h3{margin:0}
.sect-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#6b5129,transparent)}

/* ---------------------------------------------------------------- Parchment */
.parch{
  position:relative;color:var(--ink);font-family:var(--read);font-size:16px;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(255,250,230,.35),transparent 70%),
    radial-gradient(ellipse at 0 0,rgba(120,80,30,.25),transparent 40%),
    radial-gradient(ellipse at 100% 100%,rgba(120,80,30,.28),transparent 40%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.035' numOctaves='4' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .32 0 0 0 0 .15 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E"),
    var(--parch);
  border-radius:4px;padding:18px 20px;
  box-shadow:inset 0 0 40px rgba(110,70,20,.45),inset 0 0 0 1px rgba(90,55,15,.5),0 0 0 2px #1a1309;
}
.parch h1,.parch h2,.parch h3,.parch h4{color:var(--ink-red);text-shadow:none}
.parch b,.parch strong{color:#24170a}
.parch a{color:#7a2a07}
.parch .muted,.parch .src{color:#6a5232}
.parch hr{border:0;height:1px;background:linear-gradient(90deg,transparent,#8a6a3a,transparent);margin:14px 0}

/* ---------------------------------------------------------------- Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font:600 14px/1 var(--ui);color:var(--gold);text-shadow:0 1px 1px #000;letter-spacing:.02em;
  padding:9px 18px;min-height:36px;border-radius:4px;cursor:pointer;text-decoration:none;
  border:1px solid var(--bronze-l);
  background:linear-gradient(#bf2c1b,#7d1309 55%,#4d0904);
  box-shadow:inset 0 1px 0 rgba(255,220,180,.35),inset 0 -3px 6px rgba(0,0,0,.45),0 0 0 1px #1a0a05,0 2px 6px rgba(0,0,0,.5);
}
.btn svg{width:16px;height:16px;flex:none}
.btn:hover{filter:brightness(1.18);color:#fff3b0}
.btn:active{background:linear-gradient(#4d0904,#8a1a0c);box-shadow:inset 0 2px 6px rgba(0,0,0,.7),0 0 0 1px #1a0a05}
.btn[disabled],.btn.off{filter:grayscale(1) brightness(.6);cursor:not-allowed}
.btn.big{font-size:17px;padding:13px 34px;min-height:48px;font-family:var(--title)}
.btn.dark{color:var(--text);background:linear-gradient(#3a3d44,#1d1f24 60%,#131418);border-color:#7d6a45}
.btn.sm{font-size:12.5px;padding:6px 11px;min-height:28px}

/* chips / filter buttons */
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chips>.lbl{font:12px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);min-width:56px}
.chip{
  font:13.5px/1 var(--ui);color:var(--text);cursor:pointer;padding:7px 12px;border-radius:3px;
  background:linear-gradient(#262a31,#15171b);border:1px solid #4d4130;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px #000;
}
.chip:hover{border-color:var(--bronze-l);color:#fff}
.chip[aria-pressed="true"]{color:var(--gold);border-color:var(--bronze-l);
  background:linear-gradient(#a8261a,#5e0c06);box-shadow:inset 0 1px 0 rgba(255,220,180,.3),0 0 0 1px #000,0 0 10px rgba(255,120,40,.18)}
.parch .chip{background:linear-gradient(#f1e2bb,#d8c08a);color:var(--ink);border-color:#9a7a45;box-shadow:none}
.parch .chip[aria-pressed="true"]{background:linear-gradient(#8f2414,#5a0d06);color:#ffe7a6;border-color:#4a2a0a}

/* in-window tabs (bottom-of-frame style) */
.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:2px solid #4b3a1d;margin-bottom:14px}
.tab{font:600 13.5px/1 var(--ui);padding:10px 14px 9px;cursor:pointer;color:var(--muted);
  background:linear-gradient(#1d2026,#121418);border:1px solid #4b3a1d;border-bottom:0;border-radius:5px 5px 0 0;margin-bottom:-2px}
.tab:hover{color:#fff}
.tab[aria-selected="true"]{color:var(--gold);background:linear-gradient(#2b2318,#171b22);border-color:var(--bronze-l);border-bottom:2px solid #171b22}

/* ---------------------------------------------------------------- Inputs */
.cb{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;flex:none;cursor:pointer;border-radius:3px;
  background:linear-gradient(#0d0e11,#1c1e23);border:1px solid #8a7550;box-shadow:inset 0 2px 4px rgba(0,0,0,.9)}
.cb:checked{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 10.5l4.2 4.3L17.5 3.5' fill='none' stroke='%23ffd100' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat,linear-gradient(#0d0e11,#1c1e23)}
.parch .cb{background:linear-gradient(#f6ebcd,#e2cd98);border-color:#7a5a2a;box-shadow:inset 0 1px 3px rgba(80,50,10,.5)}
.parch .cb:checked{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 10.5l4.2 4.3L17.5 3.5' fill='none' stroke='%237a1d06' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat,linear-gradient(#f6ebcd,#e2cd98)}
.field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}
.inp,select.inp{font:15px var(--ui);color:var(--text);background:linear-gradient(#0b0c0f,#16181d);border:1px solid #6d5a3a;border-radius:3px;padding:8px 10px;box-shadow:inset 0 2px 5px rgba(0,0,0,.8);min-height:38px}
.inp:focus{border-color:var(--gold);outline:none}
.search{position:relative}
.search .inp{padding-left:32px;width:100%}
.search svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted)}

/* ---------------------------------------------------------------- Status chips & tags */
.st{display:inline-block;font:600 11px/1.6 var(--ui);letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:3px;padding:0 6px;vertical-align:1px;white-space:nowrap}
.tag{display:inline-block;font:11.5px/1.6 var(--ui);letter-spacing:.05em;color:var(--muted);border:1px solid #4a4030;border-radius:3px;padding:0 6px;white-space:nowrap}
.tag.new{color:var(--C);border-color:rgba(63,220,42,.5)}
.tag.prof{color:var(--prof);border-color:rgba(127,209,195,.5)}
.syn{display:inline-block;font:700 11px/1.7 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:#1a1408;background:linear-gradient(#ffe27a,#d9a62a);border-radius:3px;padding:0 7px;box-shadow:0 0 10px rgba(255,200,60,.35)}
.parch .st{background:rgba(255,255,255,.25)}

/* ---------------------------------------------------------------- Item slots */
.slot{
  position:relative;width:46px;height:46px;flex:none;border-radius:4px;cursor:pointer;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 35%,#2b2e35,#0b0c0f 75%);
  border:2px solid #5a4a2a;color:#6c6457;
  box-shadow:inset 0 0 0 1px #000,inset 0 0 12px rgba(0,0,0,.9),0 0 0 1px #000;
}
.slot svg{width:26px;height:26px;opacity:.7}
.slot:hover{border-color:var(--bronze-l);color:#cbb68a}
.slot.q-rare{border-color:var(--q-rare);color:#9cc9ff;box-shadow:inset 0 0 0 1px #000,inset 0 0 14px rgba(61,155,255,.35),0 0 0 1px #000}
.slot.q-unc{border-color:var(--q-unc);color:#a6ff96;box-shadow:inset 0 0 0 1px #000,inset 0 0 14px rgba(30,255,0,.3),0 0 0 1px #000}
.slot.q-epic{border-color:var(--q-epic);color:#dcb1ff;box-shadow:inset 0 0 0 1px #000,inset 0 0 14px rgba(182,92,245,.35),0 0 0 1px #000}
.slot.q-craft{border-color:var(--prof);color:#bff1e8}
.slot.have::after{content:"";position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l3.6 3.7L16 5.8' fill='none' stroke='%231a1408' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat,linear-gradient(#ffe27a,#d9a62a);box-shadow:0 0 0 2px #000}
.slot.sel{outline:2px solid var(--gold);outline-offset:2px}
.slot.na{opacity:.35;cursor:default}

/* ---------------------------------------------------------------- Tooltip */
.tt{
  background:linear-gradient(180deg,rgba(14,16,34,.97),rgba(6,7,16,.97));
  border:1px solid #6b7894;border-radius:5px;padding:10px 12px;font:14px/1.45 var(--ui);color:#fff;
  box-shadow:0 0 0 1px #000,inset 0 0 0 1px rgba(255,255,255,.05),0 10px 30px rgba(0,0,0,.6);
}
.tt .tt-n{font-size:16px;font-weight:600;margin-bottom:2px}
.tt .tt-y{color:var(--gold)}
.tt .tt-g{color:var(--q-unc)}
.tt .tt-m{color:var(--muted)}
.q-poor{color:var(--q-poor)}.q-common{color:var(--q-common)}.q-unc{color:var(--q-unc)}.q-rare{color:var(--q-rare)}.q-epic{color:var(--q-epic)}.q-leg{color:var(--q-leg)}

/* ---------------------------------------------------------------- Bars */
.bar{position:relative;height:14px;border-radius:3px;overflow:hidden;background:#07080a;border:1px solid #000;box-shadow:0 0 0 1px #4b3d24,inset 0 2px 4px rgba(0,0,0,.8)}
.bar>i{position:absolute;inset:0 auto 0 0;width:0;transition:width .5s ease}
.bar.hp>i{background:linear-gradient(#5fe35a,#1e9b16 55%,#13700d)}
.bar.mp>i{background:linear-gradient(#5aa8ff,#1b5fd6 55%,#123f96)}
.bar.en>i{background:linear-gradient(#fff07a,#d9b51a 55%,#9c7f0a)}
.bar.gold>i{background:linear-gradient(#ffe27a,#d9a62a 55%,#8f6a12)}
.bar>span{position:relative;z-index:1;display:block;text-align:center;font:600 10.5px/12px var(--ui);color:#fff;text-shadow:0 1px 1px #000,0 0 3px #000}
.xpbar{position:relative;height:12px;background:#08070b;border-top:1px solid #000;border-bottom:1px solid #000;box-shadow:0 0 0 1px #3d3222}
.xpbar>i{position:absolute;inset:0 auto 0 0;background:linear-gradient(#c87cff,#7a2fc4 55%,#4b1a82);transition:width .6s ease}
.xpbar::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 calc(5% - 1px),rgba(0,0,0,.75) calc(5% - 1px) 5%)}
.xpbar>span{position:absolute;inset:0;z-index:2;text-align:center;font:600 10.5px/12px var(--ui);color:#fff;text-shadow:0 1px 1px #000}

/* ---------------------------------------------------------------- Lists (quest-log style) */
.qlist{list-style:none;margin:0;padding:0}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;cursor:pointer;
  font:600 14.5px/1.2 var(--ui);color:#d9cfb8;border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.05),transparent)}
.qhead:hover{color:#fff;background:linear-gradient(90deg,rgba(255,210,120,.1),transparent)}
.qhead .pm{width:18px;height:18px;flex:none;border-radius:3px;display:grid;place-items:center;color:var(--gold);font:700 15px/1 var(--ui);border:1px solid #6b5129;background:#111}
.qrow{display:flex;align-items:flex-start;gap:9px;padding:6px 8px 6px 18px;cursor:pointer;border-radius:3px}
.qrow:hover,.qrow.sel{background:rgba(255,210,120,.09)}
.qrow.sel{box-shadow:inset 2px 0 0 var(--gold)}
.qrow .qn{flex:1;font-size:14.5px;line-height:1.35}
.qrow .lvl{font-variant-numeric:tabular-nums;opacity:.95}
.qrow.done .qn{text-decoration:line-through;opacity:.5}
.qd-red{color:var(--qd-red)}.qd-orange{color:var(--qd-orange)}.qd-yellow{color:var(--qd-yellow)}.qd-green{color:var(--qd-green)}.qd-grey{color:var(--qd-grey)}

/* ---------------------------------------------------------------- Generic content blocks (also used by guide HTML in data/guides.js) */
.lede{font-size:16px;color:#ddd3bb;max-width:80ch}
.src{font-size:12.5px;color:var(--muted)}
.src a{color:var(--gold-soft)}
.muted{color:var(--muted)}
.rules{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.rule{background:linear-gradient(180deg,#161a21,#0e1014);border:1px solid #3d3322;border-left:3px solid var(--bronze-l);border-radius:0 4px 4px 0;padding:10px 12px}
.rule>b:first-child{font-family:var(--title);color:var(--gold);font-weight:600}
.rule p{margin:4px 0 0;color:#d6ccb4;font-size:14.5px}
.lvgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.lvgrid>div{background:rgba(0,0,0,.18);border:1px solid #3d3322;border-radius:4px;padding:10px 12px}
.lvgrid h4{margin:0 0 4px}
.lvgrid p{margin:0;font-size:14.5px}
.notes{padding-left:1.1em}.notes li{margin-bottom:6px}
.scroll{overflow-x:auto;border:1px solid #3d3322;border-radius:4px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:8px 10px;border-bottom:1px solid #2b251b;text-align:left;vertical-align:top}
th{font:600 11.5px/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);background:linear-gradient(#211a10,#15110b)}
tr:hover td{background:rgba(255,210,120,.04)}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.raids{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-bottom:12px}
.raid{background:linear-gradient(180deg,#1b1610,#100d09);border:1px solid #5a4424;border-radius:4px;padding:8px 12px;font-size:14px}
.raid b{color:var(--gold);font-family:var(--title)}.raid span{color:var(--muted);display:block;font-size:12.5px}
.scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.scol{background:linear-gradient(180deg,#161a21,#0e1014);border:1px solid #3d3322;border-radius:4px;padding:12px 14px}
.scol .k{font-size:12.5px;color:var(--muted);margin:-4px 0 8px}
.scol ul{font-size:14px;padding-left:1.1em;margin:0}
.picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.pick{background:linear-gradient(180deg,#161a21,#0e1014);border:1px solid #3d3322;border-radius:4px;padding:10px 12px}
.pick .q{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pick .a{font-family:var(--title);color:var(--gold);font-size:16px;margin:2px 0 4px}
.pick p{font-size:14px;margin:0;color:#d6ccb4}
:root:not([data-fac="H"]) [data-fac="H"],:root[data-fac="H"] [data-fac="A"]{display:none!important}
.empty{color:var(--muted);font-style:italic;padding:14px}

/* ---------------------------------------------------------------- Motion */
@keyframes rise{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 rgba(255,209,0,0)}50%{box-shadow:0 0 18px 2px rgba(255,209,0,.25)}}
.rise{animation:rise .28s ease both}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
