/* Data inside windows (V2-SHELL).
   .facts       <dl class="facts"><div><dt>EXP</dt><dd>x3</dd></div>...</dl>: label left, bold value right.
                dd.gold, dd.ok colour the value; <small> under a value adds a note.
   .counter     <p class="counter"><b>124</b><span>of 500 players</span></p>: the display numeral.
   .meter       <div class="meter" role="meter" aria-valuenow=".." aria-valuemin="0" aria-valuemax=".." aria-label=".."
                style="--v: 25%"><i></i></div> + <p class="meter-cap"><span>25% full</span><span>376 free</span></p>
   .state       a status word with its dot: <p class="state ok"><span class="status-dot" data-state="online"></span>Online</p>
   .top-list    <ol class="top-list"><li><span class="rk">1</span><span class="nm">Name<small>Guild</small></span><span class="lv">90</span></li>
   .timetable   <ul class="timetable"><li><b>Fortress War</b><span>Sat 20:00</span></li>
   .u-list      <ul class="u-list"><li><span class="name">Tiger Girl</span><span class="sub">Jangan</span><span class="st">tag</span></li> */

.facts { display: grid; margin: 0; }
.facts > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s-3);
  padding: 9px 0;
  border-bottom: 1px solid var(--line-soft);
  font-size: var(--fs-sm);
}
.facts > div:last-child { border-bottom: 0; }
.facts dt { color: var(--text-2); }
.facts dd { margin: 0; color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.facts dd.gold { color: var(--accent-hi); }
.facts dd.ok { color: var(--ok); }
.facts dd small { display: block; font-weight: 400; color: var(--text-2); font-size: var(--fs-xs); }

.counter { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 var(--s-2); margin: 0; }
.counter b { font: 600 var(--fs-num)/1 var(--font-label); color: var(--accent-hi); font-variant-numeric: tabular-nums lining-nums; letter-spacing: 0.02em; }
.counter span { color: var(--text-2); font-size: var(--fs-sm); }

.meter { height: 6px; margin: var(--s-3) 0 var(--s-2); border-radius: var(--r-pill); background: var(--ink-00); box-shadow: var(--well); overflow: hidden; }
.meter i { display: block; height: 100%; width: var(--v, 0%); border-radius: inherit; background: var(--brass); transition: width var(--dur-4) var(--ease-out); }
.meter-cap { display: flex; justify-content: space-between; gap: var(--s-3); margin: 0; font-size: var(--fs-xs); color: var(--text-2); font-variant-numeric: tabular-nums; }

.state { display: inline-flex; align-items: center; gap: var(--s-2); margin: 0; font-weight: 600; color: var(--text); }
.state.ok { color: var(--ok); }
.state.warn { color: var(--warn); }

.top-list, .timetable, .u-list { margin: 0; padding: 0; list-style: none; }
.top-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--s-2);
  padding: 7px 0;
  border-bottom: 1px solid var(--line-soft);
  font-size: var(--fs-sm);
}
.top-list li:last-child { border-bottom: 0; }
.top-list .rk { font: 700 0.875rem/1 var(--font-body); font-variant-numeric: tabular-nums; color: var(--text-2); text-align: center; }
.top-list li:nth-child(1) .rk { color: #F2D48A; }
.top-list li:nth-child(2) .rk { color: #D8DCE6; }
.top-list li:nth-child(3) .rk { color: #E0A673; }
.top-list .nm { min-width: 0; color: var(--text); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-list .nm small { display: block; font-weight: 400; color: var(--text-2); font-size: var(--fs-xs); overflow: hidden; text-overflow: ellipsis; }
.top-list .lv { color: var(--accent-hi); font-weight: 700; font-variant-numeric: tabular-nums; }

.timetable li { display: flex; justify-content: space-between; gap: var(--s-2); padding: 8px 0; border-bottom: 1px solid var(--line-soft); font-size: var(--fs-sm); }
.timetable li:last-child { border-bottom: 0; }
.timetable b { color: var(--text); font-weight: 600; }
.timetable span { color: var(--accent-hi); font-variant-numeric: tabular-nums; white-space: nowrap; }

.u-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--s-2); padding: 8px 0; border-bottom: 1px solid var(--line-soft); font-size: var(--fs-sm); }
.u-list li:last-child { border-bottom: 0; }
.u-list .name { color: var(--text); font-weight: 600; }
.u-list .sub { grid-column: 1; color: var(--text-2); font-size: var(--fs-xs); }
.u-list .st { grid-row: 1 / span 2; grid-column: 2; align-self: center; }
