/* V0.7 — readable classical Chinese typography; no bundled proprietary fonts */
:root{--font-main:"BiauKai","DFKai-SB","KaiTi","Kaiti TC","STKaiti","Noto Serif TC",serif;--font-display:"DFKai-SB","BiauKai","KaiTi","Noto Serif TC",serif}
body,button,input,select,textarea{font-family:var(--font-main)}.moe-banner h1,.moe-feature strong,h1,h2,.logo{font-family:var(--font-display);font-weight:700}input[type=number],.tabular,code{font-family:system-ui,sans-serif;font-variant-numeric:tabular-nums}
.home-three-col{display:grid;grid-template-columns:minmax(205px,1fr) minmax(0,5fr) minmax(245px,1.22fr);gap:16px;align-items:start}.home-core{min-width:0}.home-side{display:grid;gap:14px}.intel-card{background:linear-gradient(145deg,#221d19,#100e0e);border:1px solid #715337;padding:17px;box-shadow:inset 0 0 30px #0005;color:#e8cc9f}.intel-card h2{font-size:21px;color:#eac38a}.intel-card h3{font-size:17px}.intel-card p,.intel-card a{font-size:14px;line-height:1.65}.muted{color:#b8a184}.vip-meter{height:8px;background:#493b30;border:1px solid #765638;border-radius:9px}.checkin-seven{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin:10px 0}.checkin-day{border:1px solid #63462f;padding:7px 4px;font-size:11px;text-align:center;min-height:57px;background:#1f1815}.checkin-day.checked{border-color:#b68e4f;background:#39301d}.checkin-day img{width:32px;height:32px;object-fit:contain;display:block;margin:auto}.checkin-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.reward-row input{width:100%;margin-bottom:8px}.reward-row input[type=checkbox]{width:auto}
.home-three-col .moe-banner{min-height:390px}.home-three-col .moe-feature-grid{margin:-24px 12px 25px;gap:6px}.home-three-col .moe-feature strong{font-size:clamp(11px,1.0vw,17px)}.home-three-col .moe-feature small{font-size:10px}.home-three-col .moe-banner h1{font-size:clamp(34px,4vw,68px)}
@media(max-width:1250px){.home-three-col{grid-template-columns:minmax(0,1fr) minmax(245px,300px)}.home-left{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,1fr)}.home-core{grid-column:1;grid-row:1}.home-right{grid-column:2;grid-row:1}}
@media(max-width:800px){.home-three-col{display:flex;flex-direction:column}.home-core,.home-left,.home-right{width:100%}.home-left{display:grid;grid-template-columns:repeat(2,1fr)}.home-three-col .moe-feature-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.home-left{grid-template-columns:1fr}.home-three-col .moe-feature-grid{grid-template-columns:repeat(2,1fr)}}


/* V0.7.1 — WIDE HOMEPAGE RESTORATION.
   Keep the V0.6 hero/tiles large; sidebars use the previously unused
   horizontal space rather than shrinking the main content. */
@media (min-width: 1620px) {
  body:has(.home-three-col) .page-main {
    width: calc(100% - 52px);
    max-width: 1980px;
    margin: 22px auto 72px;
  }
  .home-three-col {
    grid-template-columns: 218px minmax(0, 1fr) 276px;
    gap: 18px;
  }
  .home-three-col .moe-banner {
    min-height: clamp(470px, 31vw, 610px);
  }
  .home-three-col .moe-feature-grid {
    margin: -42px 20px 30px;
    gap: 11px;
    grid-template-columns: repeat(7,minmax(0,1fr));
  }
  .home-three-col .moe-feature {
    aspect-ratio: 1.04;
  }
  .home-three-col .moe-feature strong {
    font-size: clamp(14px, 1.05vw, 21px);
  }
  .home-three-col .moe-feature small {
    font-size: clamp(11px, .76vw, 13px);
  }
  .home-three-col .moe-banner h1 {
    font-size: clamp(50px, 4.2vw, 84px);
  }
  .home-three-col .moe-banner p {
    font-size: clamp(16px,1.2vw,23px);
  }
  .home-three-col .moe-feature div {
    padding: 13px 9px;
  }
  .home-side .intel-card {
    padding: 17px 15px;
  }
  .home-side .intel-card p,
  .home-side .intel-card a {
    font-size: 14px;
  }
}
/* If the screen cannot hold a full-sized hero and both sidebars,
   place sidebars BELOW the main view instead of crushing it. */
@media (min-width: 801px) and (max-width: 1619px) {
  body:has(.home-three-col) .page-main {
    width: min(1540px, 96%);
    max-width: 1540px;
  }
  .home-three-col {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 16px;
  }
  .home-three-col .home-core {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .home-three-col .home-left {
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .home-three-col .home-right {
    grid-column: 2;
    grid-row: 2;
  }
  .home-three-col .moe-banner {
    min-height: clamp(430px, 38vw, 580px);
  }
  .home-three-col .moe-feature-grid {
    grid-template-columns: repeat(7,minmax(0,1fr));
    margin: -42px 24px 28px;
    gap: 11px;
  }
  .home-three-col .moe-feature strong {
    font-size: clamp(14px,1.4vw,20px);
  }
  .home-three-col .moe-feature small {
    font-size: 12px;
  }
  .home-three-col .moe-banner h1 {
    font-size: clamp(48px,5vw,80px);
  }
}
/* Restore mobile behavior and keep high-contrast, legible text. */
@media (max-width: 800px) {
  .home-three-col .moe-feature-grid { margin: 16px 0 25px; gap: 10px; }
  .home-three-col .moe-feature strong { font-size: clamp(13px,3vw,17px); }
  .home-three-col .moe-feature small { font-size: 11px; }
  .home-three-col .moe-banner h1 { font-size: clamp(30px,7vw,52px); }
}

/* V0.8.0: Preserve central hero and enlarge the right personal panel */
@media (min-width: 1620px){.home-three-col{grid-template-columns:minmax(195px,0.9fr) minmax(780px,5fr) minmax(315px,1.55fr)} }
.imperial-equip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}
.equip-slot{text-align:center;min-width:0}.equip-slot>span{display:block;font-size:12px;color:#e7c58e;margin-bottom:5px}.equip-picture{aspect-ratio:1;border:1px solid #9b7543;background:linear-gradient(135deg,#3a2b21,#13100e);display:flex;align-items:center;justify-content:center;font-size:13px;color:#ad967a;border-radius:8px;box-shadow:inset 0 0 16px #000}
.home-right .checkin-eight{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.checkin-eight .checkin-day{min-height:74px;font-size:10px;padding:6px 2px}.checkin-perfect{border-color:#cf9c45!important;color:#f4d6a0}
.imperial-salary .salary-image{width:100%;max-height:145px;object-fit:contain}.salary-placeholder{height:88px;background:linear-gradient(120deg,#3b2616,#1b1511);border:1px solid #68492b;display:grid;place-items:center;font-size:30px;color:#deb77f}
.vip-meter span{display:block;background:linear-gradient(90deg,#9b612b,#edc67c);height:100%;border-radius:8px}
@media(max-width:900px){.home-right .checkin-eight{grid-template-columns:repeat(4,minmax(0,1fr))}}
