/* Long workshop inspections stay bounded on desktop too. The detailed item
   and recipe pages reserve their own body while transaction actions stay put. */
@media (orientation:landscape) and (min-height:701px) {
  .craft-workshop .craft-detail-list { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:44px minmax(0,1fr) 48px; align-content:stretch; gap:8px; height:100%; min-height:0; margin:0 auto; padding:0; overflow:hidden; scrollbar-gutter:auto; }
  .craft-workshop .craft-detail-list * { box-sizing:border-box; min-width:0; }
  .craft-workshop .craft-detail-list [hidden] { display:none!important; }
  .craft-workshop .craft-detail-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; height:44px; }
  .craft-workshop .craft-detail-tabs button { height:44px; min-height:44px!important; max-height:44px; padding:6px 12px; }
  .craft-workshop .craft-detail-tabs button[aria-pressed=true] { color:#ffe9aa; border-color:#dfbd71; background:rgba(109,90,37,.35); }
  .craft-workshop .craft-detail-pane { grid-column:1; grid-row:2; display:grid; grid-template-rows:minmax(0,1fr) 30px; height:100%; min-height:0; gap:4px; overflow:hidden; }
  .craft-workshop .craft-detail-pane:has(>.dialog-part-pagination[hidden]) { grid-template-rows:minmax(0,1fr); }
  .craft-workshop .craft-detail-body { display:flex; flex-direction:column; gap:4px; min-height:0; height:100%; padding:4px 8px; overflow:hidden; }
  .craft-workshop .craft-detail-body>* { flex:none; margin:0; }
  .craft-workshop .craft-detail-body p { margin:0; font-size:14px; line-height:1.4; }
  .craft-workshop .dialog-part-pagination { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; align-items:center; justify-self:center; width:min(260px,100%); height:30px; min-height:0; gap:8px; margin:0; padding:0; text-align:center; font-size:13px; }
  .craft-workshop .dialog-part-pagination button { height:30px; min-height:30px!important; max-height:30px; padding:0; font-size:22px; }
  .craft-workshop .craft-detail-list .craft-actions { grid-row:3; flex-wrap:nowrap; margin:0; padding:0; height:48px; min-height:0; }
  .craft-workshop .craft-detail-list .craft-actions button { min-height:48px!important; height:48px; max-height:48px; padding:6px 12px; }
  .craft-workshop .craft-detail-body label { display:flex; align-items:center; gap:10px; min-height:44px; }
  .craft-workshop .craft-detail-body select,.craft-workshop .craft-detail-body input { flex:1; min-width:0; margin:0; min-height:44px; max-height:44px; padding:5px 10px; }
}

/* Dialogs share the game frame's available landscape height. Catalogs and long
   inspections page in their own bodies; commands remain in a fixed footer. */
@media (orientation:landscape) and (max-height:700px) {
  .craft-workshop,.training-master,.game-guide,#sessionOverlay {
    box-sizing:border-box; padding:max(4px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));
    background:rgba(3,10,12,.64); backdrop-filter:none;
  }
  .craft-workshop *, .training-master *, .game-guide *, #sessionOverlay * { box-sizing:border-box; min-width:0; }
  .craft-workshop [hidden],.training-master [hidden],.game-guide [hidden],#sessionOverlay [hidden] { display:none!important; }
  .craft-workshop>section,.training-master .training-master__shell,.game-guide .game-guide__panel,#sessionOverlay .session-window {
    width:min(1160px,100%); height:100%; max-height:100%; min-height:0; overflow:hidden;
    border:4px solid transparent; border-image:url('assets/ui-v63/frame-gold.png') 12 stretch; border-radius:0;
    background:rgba(6,14,15,.74); color:#edf4eb; box-shadow:0 8px 36px #0005;
  }
  .craft-workshop button,.training-master button,.game-guide button,#sessionOverlay button:not(.session-overlay__backdrop) {
    min-width:0; min-height:32px!important; padding:3px 8px; touch-action:manipulation; border-radius:0; font-size:12px;
  }

  /* Forge, cooking, mining and fishing offices. */
  .craft-workshop>section { display:grid; grid-template-rows:34px 18px auto minmax(0,1fr); gap:3px; padding:5px 7px; }
  .craft-workshop>section>header { display:grid; grid-template-columns:minmax(0,1fr) 36px 36px; align-items:center; gap:6px; margin:0; padding:0; height:34px; min-height:0; }
  .craft-workshop>section>header h2 { font-size:17px; line-height:1.05; margin:0; white-space:normal; }
  .craft-workshop>section>header button { width:36px; height:32px; max-height:32px; padding:0; font-size:23px; }
  .craft-workshop .craft-back,.craft-workshop .craft-close { min-width:32px; }
  .craft-workshop .craft-summary { margin:0; font-size:11px; line-height:18px; }
  .craft-workshop .craft-message { margin:0; font-size:11px; line-height:1.25; padding:3px 5px; }
  .craft-workshop .craft-message:empty { display:none; }
  .craft-workshop .craft-list { height:100%; min-height:0; margin:0; padding:0; overflow:hidden; display:grid; grid-template-rows:minmax(0,1fr) 30px; gap:4px; }
  .craft-workshop .craft-home { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:5px; }
  .craft-workshop .craft-home>button,.craft-workshop .craft-home>button:last-child { width:100%; height:100%; min-height:0!important; grid-column:auto; margin:0; font-size:13px; padding:5px; }
  .craft-workshop .craft-home:has(>button:nth-child(4):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); }
  .craft-workshop .craft-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:6px; }
  .craft-workshop .craft-grid>button { min-height:0!important; height:100%; width:100%; }
  .craft-workshop .craft-grid .craft-wide { grid-column:auto; }
  .craft-workshop .craft-cards { min-height:0; height:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; overflow:hidden; }
  .craft-workshop .craft-cards-three { grid-template-rows:minmax(0,1fr); }
  .craft-workshop .craft-cards-six { grid-template-rows:repeat(2,minmax(0,1fr)); }
  .craft-workshop .craft-card,.craft-workshop .craft-empty { min-height:0!important; height:100%; min-width:0; padding:5px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
  .craft-workshop .craft-card>span { font-size:12px; line-height:1.15; }
  .craft-workshop .craft-card-icon { width:42px; height:42px; flex:0 0 auto; margin:0; }
  .craft-workshop .craft-card-icon .item-icon { width:100%; height:100%; }
  .craft-workshop .craft-conversion { display:flex; align-items:center; justify-content:center; gap:8px; margin:0; }
  .craft-workshop .craft-conversion-detail { height:36px; }
  .craft-workshop .craft-conversion-detail .craft-card-icon { width:32px; height:32px; }
  .craft-workshop .craft-pagination,.craft-workshop .dialog-part-pagination { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; align-items:center; justify-self:center; width:min(240px,100%); height:30px; min-height:0; gap:6px; margin:0; padding:0; text-align:center; font-size:11px; }
  .craft-workshop .craft-pagination button,.craft-workshop .dialog-part-pagination button { height:30px; min-height:30px!important; max-height:30px; padding:0; font-size:20px; }
  .craft-workshop .craft-recipe-carousel { min-height:0; display:grid; grid-template-columns:40px minmax(0,1fr) 40px; gap:6px; align-items:center; margin:0; }
  .craft-workshop .craft-recipe-carousel>button:not(.craft-recipe-paper) { height:40px; padding:0; font-size:22px; }
  .craft-workshop .craft-recipe-paper { height:100%; min-height:0!important; padding:7px; display:flex; flex-direction:column-reverse; align-items:center; justify-content:center; gap:7px; }
  .craft-workshop .craft-list:has(.craft-recipe-carousel)>p { margin:0; align-self:center; text-align:center; font-size:12px; }
  .craft-workshop .craft-detail-list { grid-template-rows:32px minmax(0,1fr) 36px; }
  .craft-workshop .craft-detail-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; height:32px; }
  .craft-workshop .craft-detail-tabs button { height:32px; max-height:32px; }
  .craft-workshop .craft-detail-tabs button[aria-pressed=true] { color:#ffe9aa; border-color:#dfbd71; background:rgba(109,90,37,.35); }
  .craft-workshop .craft-detail-pane { grid-column:1; grid-row:2; display:grid; grid-template-rows:minmax(0,1fr) 30px; min-height:0; height:100%; gap:3px; overflow:hidden; }
  .craft-workshop .craft-detail-pane:has(>.dialog-part-pagination[hidden]) { grid-template-rows:minmax(0,1fr); }
  .craft-workshop .craft-detail-body { display:flex; flex-direction:column; gap:4px; min-height:0; height:100%; overflow:hidden; padding:2px; }
  .craft-workshop .craft-detail-body>* { flex:none; margin:0; }
  .craft-workshop .craft-detail-body p { font-size:11px; line-height:1.25; }
  .craft-workshop .craft-inspection-heading { display:flex; align-items:center; gap:8px; height:auto; min-height:34px; padding:0; margin:0; }
  .craft-workshop .craft-inspection-heading h3 { margin:0; font-size:15px; line-height:1.15; }
  .craft-workshop .craft-inspection-icon { width:34px; height:34px; flex:0 0 auto; }
  .craft-workshop .craft-inspection-icon .item-icon { width:100%; height:100%; }
  .craft-workshop .craft-inspection-rarity { font-size:10px; margin:2px 0 0; }
  .craft-workshop .craft-inspection-level { font-size:12px; line-height:1.3; }
  .craft-workshop .craft-inspection-description { margin:0; padding:0; }
  .craft-workshop .craft-inspection-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 8px; padding:0; margin:0; }
  .craft-workshop .craft-inspection-stats>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 6px; min-height:18px; padding:2px 5px; background:rgba(5,12,13,.35); }
  .craft-workshop .craft-inspection-stats dt,.craft-workshop .craft-inspection-stats dd { margin:0; font-size:11px; line-height:1.25; }
  .craft-workshop .craft-inspection-range { grid-column:1/-1; font-size:10px; }
  .craft-workshop .craft-costs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 8px; margin:0; padding:0; }
  .craft-workshop .craft-costs>div { display:flex; align-items:center; gap:5px; min-height:28px; padding:1px 4px; }
  .craft-workshop .craft-costs .craft-card-icon,.craft-workshop .craft-gold .craft-card-icon { width:25px; height:25px; }
  .craft-workshop .craft-costs span,.craft-workshop .craft-costs p { margin:0; font-size:11px; line-height:1.2; }
  .craft-workshop .craft-gold { display:flex; align-items:center; gap:5px; min-height:26px; padding:0; margin:0; }
  .craft-workshop .craft-gold strong { font-size:11px; }
  .craft-workshop .craft-detail-body label { display:flex; align-items:center; gap:8px; font-size:12px; line-height:1.2; min-height:32px; }
  .craft-workshop .craft-detail-body select,.craft-workshop .craft-detail-body input { flex:1; min-width:0; height:30px; min-height:30px; padding:2px 5px; font-size:12px; margin:0; }
  .craft-workshop .craft-actions { display:flex; flex-wrap:nowrap; align-items:stretch; gap:6px; margin:0; padding:0; min-height:0; height:36px; }
  .craft-workshop .craft-actions button { flex:1; height:36px; max-height:36px; }
  .craft-workshop .craft-output { width:40px; height:40px; min-height:0; margin:0; }
  .craft-workshop .craft-output .item-icon { width:100%; height:100%; }
  .craft-workshop .fisherman-home { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); gap:6px; }
  .craft-workshop .fisherman-home>button { height:100%; min-height:0!important; padding:6px; }
  .craft-workshop .fisherman-list:not(.fisherman-home) { grid-template-rows:minmax(0,1fr) 36px; }
  .craft-workshop .fisherman-detail-pane { display:grid; grid-template-rows:minmax(0,1fr) 30px; gap:3px; min-height:0; height:100%; overflow:hidden; }
  .craft-workshop .fisherman-detail-pane:has(>.dialog-part-pagination[hidden]) { grid-template-rows:minmax(0,1fr); }
  .craft-workshop .fisherman-card { padding:2px; border:0; background:transparent; min-height:0; margin:0; overflow:hidden; }
  .craft-workshop .fisherman-card .craft-actions { height:32px; }
  .craft-workshop .fisherman-card .craft-actions button { height:32px; max-height:32px; font-size:11px; }

  /* Ilyan's catalogs use a single row with a small page control. */
  .training-master .training-master__shell { display:grid; grid-template-rows:34px 32px 34px minmax(0,1fr); }
  .training-master .training-master__shell:before { display:none; }
  .training-master .training-master__header { min-height:0; height:34px; padding:1px 8px; gap:6px; background:transparent; }
  .training-master .training-master__eyebrow,.training-master .training-master__subtitle { display:none; }
  .training-master .training-master__title { font-size:18px; line-height:1.1; }
  .training-master .training-master__close { width:32px; height:32px; min-height:32px!important; padding:0; font-size:23px; }
  .training-master .training-master__status { height:32px; padding:1px 8px; grid-template-columns:minmax(0,1fr) 125px; gap:6px; background:transparent; }
  .training-master .training-master__progress { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 8px; padding:1px 5px; border-radius:0; background:rgba(4,11,12,.35); }
  .training-master .training-master__progress-head { grid-column:1; font-size:10px; gap:12px; }
  .training-master .training-master__progress-bar { grid-column:1; height:4px; margin:0; }
  .training-master .training-master__progress small { grid-column:2; grid-row:1/3; font-size:10px; }
  .training-master .training-master__resource { padding:1px 5px; border-radius:0; gap:4px; background:rgba(4,11,12,.35); }
  .training-master .training-master__resource b { font-size:12px; }
  .training-master .training-master__resource span { font-size:9px; }
  .training-master .training-master__tabs { height:34px; padding:1px 8px; gap:6px; }
  .training-master .training-master__tab { height:32px; max-height:32px; min-height:32px!important; padding:3px; font-size:12px; }
  .training-master .training-master__content { padding:4px 8px; min-height:0; overflow:hidden; }
  .training-master .training-master__page { height:100%; min-height:0; display:grid; grid-template-rows:28px minmax(0,1fr); gap:4px; }
  .training-master .training-master__page:has(>.training-master__pagination) { grid-template-rows:28px minmax(0,1fr) 30px; }
  .training-master .training-master__intro { min-height:0; margin:0; gap:6px; align-items:center; }
  .training-master .training-master__intro h3 { font-size:13px; line-height:1.1; }
  .training-master .training-master__intro p { display:block; font-size:10px; line-height:1.1; margin:1px 0 0; }
  .training-master .training-master__badge { max-width:35%; font-size:9px; line-height:1.15; padding:3px 5px; white-space:normal; text-align:center; border-radius:0; }
  .training-master .training-master__weapons { height:100%; min-height:0; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); gap:6px; }
  .training-master[data-weapon-columns="1"] .training-master__weapons { grid-template-columns:minmax(0,1fr); }
  .training-master[data-weapon-columns="3"] .training-master__weapons { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .training-master[data-weapon-columns="5"] .training-master__weapons { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .training-master .training-master__weapon { display:grid; height:100%; min-height:0; grid-template-columns:32px minmax(0,1fr); grid-template-rows:32px 15px minmax(14px,1fr) 32px; gap:2px 5px; padding:4px; border-radius:0; text-align:left; background:rgba(8,17,17,.4); }
  .training-master .training-master__weapon .training-master__icon { grid-column:1; grid-row:1; width:32px; height:32px; margin:0; border-radius:0; }
  .training-master .training-master__weapon .training-master__icon .item-icon { width:28px; height:28px; }
  .training-master .training-master__weapon h4 { grid-column:2; grid-row:1; min-height:0; align-self:center; margin:0; font-size:11px; line-height:1.15; }
  .training-master .training-master__weapon .training-master__meta { grid-column:1/-1; grid-row:2; font-size:10px; }
  .training-master .training-master__weapon>p { grid-column:1/-1; grid-row:3; display:block; margin:0; font-size:10px; line-height:1.2; }
  .training-master .training-master__weapon .training-master__purchase { grid-column:1/-1; grid-row:4; display:flex; align-items:center; justify-content:space-between; gap:4px; height:32px; margin:0; }
  .training-master .training-master__price { display:flex; flex-wrap:wrap; align-items:center; gap:2px; margin:0; min-width:0; }
  .training-master .training-master__price span { display:none; }
  .training-master .training-master__price strong { font-size:11px; }
  .training-master .training-master__price small { font-size:9px; }
  .training-master .training-master__buy-button { width:auto; flex:0 0 auto; height:32px; min-height:32px!important; padding:3px 6px; font-size:11px; }
  .training-master .training-master__pagination { display:grid; grid-template-columns:42px 80px 42px; gap:5px; align-items:center; justify-content:center; height:30px; font-size:11px; text-align:center; }
  .training-master .training-master__pagination button { min-height:30px!important; height:30px; max-height:30px; padding:0; font-size:21px; }
  .training-master .training-master__recipe { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr) 34px; min-height:0; gap:5px; }
  .training-master .training-master__panel { min-height:0; padding:4px 6px; border-radius:0; background:rgba(4,11,12,.35); overflow:hidden; }
  .training-master .training-master__panel>h4 { font-size:12px; line-height:1.15; margin:0 0 4px; }
  .training-master .training-master__ingredients { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
  .training-master .training-master__ingredient { grid-template-columns:22px minmax(0,1fr) auto; min-height:26px; gap:4px; padding:2px 3px; border-radius:0; font-size:10px; line-height:1.2; }
  .training-master .training-master__ingredient .item-icon { width:22px; height:22px; }
  .training-master .training-master__ingredient strong { font-size:10px; }
  .training-master .training-master__gold-cost { grid-column:1/-1; }
  .training-master .training-master__gold-copy b,.training-master .training-master__gold-copy small { font-size:10px; }
  .training-master .training-master__result { grid-template-columns:32px minmax(0,1fr); grid-template-rows:auto auto; align-content:start; height:100%; gap:5px; }
  .training-master .training-master__result .training-master__icon { width:32px; height:32px; border-radius:0; }
  .training-master .training-master__result .training-master__icon .item-icon { width:28px; height:28px; }
  .training-master .training-master__result h4 { font-size:12px; margin:0 0 2px; }
  .training-master .training-master__result p { font-size:10px; line-height:1.2; margin:0; }
  .training-master .training-master__note { font-size:10px; line-height:1.2; padding:3px 5px; }
  .training-master .training-master__craft-action { height:34px; min-height:0; padding:0; }
  .training-master .training-master__button { width:min(340px,100%); min-height:34px!important; height:34px; padding:3px 8px; font-size:12px; }

  /* A landscape guide presents one of the two authored steps at a time. */
  .game-guide .game-guide__panel { width:min(1100px,100%); padding:5px 7px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:32px 32px minmax(0,1fr) 34px; gap:4px 8px; }
  .game-guide .game-guide__header { grid-column:1; grid-row:1; min-height:0; padding:0; align-items:center; gap:6px; }
  .game-guide .game-guide__heading small,.game-guide .game-guide__heading p { display:none; }
  .game-guide .game-guide__heading h2 { margin:0; font-size:19px; line-height:1.1; }
  .game-guide .game-guide__close { flex:0 0 32px; min-width:32px; width:32px; height:32px; min-height:32px!important; padding:0; font-size:24px; }
  .game-guide .game-guide__controls { grid-column:2; grid-row:1; padding:0; border:0; gap:6px; min-height:0; }
  .game-guide .game-guide__progress { font-size:10px; }
  .game-guide .game-guide__mode { gap:4px; }
  .game-guide .game-guide__mode button { height:32px; max-height:32px; min-width:45px; min-height:32px!important; padding:3px 6px; font-size:11px; }
  .game-guide .game-guide__topics { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); height:32px; min-height:0; padding:0; gap:5px; overflow:hidden; }
  .game-guide .game-guide__topics button { height:32px; max-height:32px; min-height:32px!important; gap:4px; padding:2px; font-size:11px; }
  .game-guide .game-guide__topics img { width:22px; height:22px; }
  .game-guide .game-guide__body { grid-column:1/-1; grid-row:3; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:22px 32px minmax(0,1fr) auto; min-height:0; height:100%; gap:3px 10px; overflow:hidden; padding:0; }
  .game-guide .game-guide__body h3 { grid-column:1/-1; grid-row:1; margin:0; font-size:18px; line-height:22px; }
  .game-guide .game-guide__intro { grid-column:1; grid-row:2; margin:0; font-size:11px; line-height:1.2; align-self:center; }
  .game-guide .game-guide__step-nav { grid-column:2; grid-row:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .game-guide .game-guide__step-nav button { min-height:30px!important; height:30px; padding:2px 5px; font-size:11px; }
  .game-guide .game-guide__step-nav button[aria-pressed=true] { border-color:#e5c371; color:#ffebb6; background:rgba(92,89,43,.45); }
  .game-guide .game-guide__content { display:contents; }
  .game-guide .game-guide__figure { grid-column:1; grid-row:3; width:100%; height:100%; min-height:0; margin:0; align-self:stretch; background:rgba(10,23,23,.35); }
  .game-guide .game-guide__figure canvas { height:100%; width:100%; aspect-ratio:auto; object-fit:contain; }
  .game-guide .game-guide__figure figcaption { display:none; }
  .game-guide .game-guide__steps { grid-column:2; grid-row:3; min-height:0; margin:0; padding:0; display:flex; align-items:center; }
  .game-guide .game-guide__steps li { min-height:0; gap:6px; width:100%; }
  .game-guide .game-guide__step-number { flex:0 0 24px; width:24px; height:24px; font-size:11px; }
  .game-guide .game-guide__steps strong { font-size:12px; line-height:1.2; }
  .game-guide .game-guide__steps p { margin:3px 0 0; font-size:11px; line-height:1.25; }
  .game-guide .game-guide__tip { grid-column:1/-1; grid-row:4; margin:0; padding:3px 6px; font-size:11px; line-height:1.2; background:rgba(26,57,45,.34); }
  .game-guide .game-guide__footer { grid-column:1/-1; grid-row:4; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr); min-height:0; height:34px; padding:0; border:0; gap:6px; }
  .game-guide .game-guide__footer button { min-height:34px!important; height:34px; max-height:34px; grid-column:auto; padding:3px 6px; font-size:12px; }

  /* Teacher details take the catalog's full width, with description and
     prerequisites as separate views above the unchanged purchase actions. */
  .skill-teacher { padding:max(4px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left)); }
  .skill-teacher [hidden] { display:none!important; }
  .skill-teacher .skill-teacher__shell { height:100%; max-height:100%; width:min(1100px,100%); min-height:0; grid-template-rows:34px 20px minmax(0,1fr) 24px; border-radius:0; }
  .skill-teacher .skill-teacher__header { height:34px; min-height:0; padding:1px 7px; gap:7px; grid-template-columns:27px minmax(0,1fr) 32px; }
  .skill-teacher .skill-teacher__portrait { width:25px; height:32px; }
  .skill-teacher .skill-teacher__header h2 { font-size:17px; line-height:1.1; margin:0; }
  .skill-teacher .skill-teacher__header small,.skill-teacher .skill-teacher__header p { display:none; }
  .skill-teacher .skill-teacher__header button { width:32px; height:32px; min-height:32px!important; padding:0; font-size:24px; }
  .skill-teacher .skill-teacher__balance { padding:1px 7px; min-height:0; height:20px; font-size:11px; line-height:18px; }
  .skill-teacher .skill-teacher__body { min-height:0; padding:4px 7px; gap:6px; grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr); }
  .skill-teacher .skill-teacher__catalog { min-height:0; grid-template-rows:minmax(0,1fr) 32px; gap:4px; }
  .skill-teacher .skill-teacher__catalog nav button { min-height:32px!important; height:32px; padding:0; }
  .skill-teacher .skill-teacher__card { min-height:0!important; border-radius:0; padding:4px 6px; grid-template-columns:30px minmax(0,1fr) 16px; gap:5px; }
  .skill-teacher .skill-teacher__card .action-icon { width:28px; height:28px; }
  .skill-teacher .skill-teacher__card strong { font-size:12px; line-height:1.15; margin:1px 0; }
  .skill-teacher .skill-teacher__card small,.skill-teacher .skill-teacher__card em { font-size:10px; line-height:1.15; }
  .skill-teacher .skill-teacher__detail { height:100%; min-height:0; padding:4px 6px; gap:3px; border-radius:0; }
  .skill-teacher[data-view=detail] .skill-teacher__body { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
  .skill-teacher[data-view=detail] .skill-teacher__catalog { display:none; }
  .skill-teacher[data-view=detail] .skill-teacher__detail { display:grid; grid-template-rows:32px minmax(0,1fr); }
  .skill-teacher[data-view=detail] .skill-teacher__back { display:block; width:min(240px,100%); min-height:32px!important; height:32px; padding:3px 7px; text-align:left; font-size:12px; border-radius:0; }
  .skill-teacher .skill-teacher__detail-content { min-height:0; height:100%; overflow:hidden; }
  .skill-teacher .skill-teacher__ability { height:100%; min-height:0; display:grid; grid-template-rows:28px 28px minmax(0,1fr) 34px; gap:3px; }
  .skill-teacher .skill-teacher__ability-title { height:28px; min-height:0; gap:6px; }
  .skill-teacher .skill-teacher__ability-title .action-icon { width:26px; height:26px; }
  .skill-teacher .skill-teacher__ability-title h3 { font-size:16px; line-height:1.1; margin:0; }
  .skill-teacher .skill-teacher__information-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; height:28px; }
  .skill-teacher .skill-teacher__information-tabs button { min-height:28px!important; height:28px; padding:2px 5px; font-size:11px; border-radius:0; }
  .skill-teacher .skill-teacher__information-tabs button[aria-pressed=true] { color:#ffe6a5; border-color:#e5c371; }
  .skill-teacher .skill-teacher__information { grid-column:1; grid-row:3; display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,1fr); align-items:center; gap:10px; min-height:0; }
  .skill-teacher .skill-teacher__information p { margin:0; font-size:11px; line-height:1.25; }
  .skill-teacher .skill-teacher__information dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin:0; padding:3px 0; }
  .skill-teacher .skill-teacher__information dt { font-size:10px; }
  .skill-teacher .skill-teacher__information dd { font-size:12px; margin:2px 0 0; }
  .skill-teacher .skill-teacher__requirements { grid-column:1; grid-row:3; min-height:0; align-content:center; gap:3px; margin:0; font-size:11px; line-height:1.2; }
  .skill-teacher .skill-teacher__actions { grid-column:1; grid-row:4; height:34px; min-height:0; margin:0; padding:0; gap:6px; }
  .skill-teacher .skill-teacher__actions button { min-height:34px!important; height:34px; border-radius:0; padding:3px 6px; font-size:12px; }
  .skill-teacher .skill-teacher__confirm { height:100%; display:grid; grid-template-rows:13px 25px minmax(0,1fr) 20px 34px; gap:3px; min-height:0; }
  .skill-teacher .skill-teacher__confirm h3 { font-size:16px; margin:0; line-height:1.15; }
  .skill-teacher .skill-teacher__confirm p { font-size:11px; line-height:1.25; margin:0; align-self:center; }
  .skill-teacher .skill-teacher__confirm>strong { margin:0; font-size:12px; }
  .skill-teacher .skill-teacher__confirm .skill-teacher__actions { grid-row:5; }
  .skill-teacher .skill-teacher__footer { min-height:0; height:24px; padding:3px 7px; font-size:10px; line-height:1.2; }

  /* Session analytics keep all metric cards together; growing lists page. */
  #sessionOverlay { display:grid; }
  #sessionOverlay .session-overlay__backdrop { background:rgba(3,10,12,.56); backdrop-filter:none; }
  #sessionOverlay .session-window { grid-template-rows:36px 34px minmax(0,1fr); }
  #sessionOverlay .session-window__header { min-height:0; height:36px; padding:1px 7px; gap:6px; grid-template-columns:minmax(0,1fr) auto auto auto; background:transparent; }
  #sessionOverlay .session-window__crest,#sessionOverlay .session-window__title>span,#sessionOverlay .session-window__title p { display:none; }
  #sessionOverlay .session-window__title h2 { font-size:17px; margin:0; }
  #sessionOverlay .session-window__clock { min-width:94px; height:32px; padding:2px 5px; border-radius:0; }
  #sessionOverlay .session-window__clock small { font-size:8px; }
  #sessionOverlay .session-window__clock strong { font-size:13px; }
  #sessionOverlay .session-reset { height:32px; min-height:32px!important; padding:3px 6px; font-size:10px; }
  #sessionOverlay .session-close { height:32px; width:32px; min-height:32px!important; padding:0; font-size:23px; }
  #sessionOverlay .session-tabs { min-height:0; height:34px; padding:1px 7px; gap:6px; background:transparent; }
  #sessionOverlay .session-tab { min-height:32px!important; height:32px; max-height:32px; padding:3px; font-size:12px; }
  #sessionOverlay .session-content { min-height:0; overflow:hidden; }
  #sessionOverlay .session-panel { height:100%; min-height:0; padding:4px 7px; overflow:hidden; }
  #sessionOverlay .session-panel--summary { display:grid; grid-template-rows:minmax(0,1fr) 24px; gap:4px; }
  #sessionOverlay .session-summary-grid { height:100%; min-height:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  #sessionOverlay .session-card { grid-column:auto; min-height:0; border-radius:0; display:grid; grid-template-rows:29px minmax(0,1fr); background:rgba(5,14,14,.38); }
  #sessionOverlay .session-card>header { min-height:0; height:29px; padding:2px 5px; gap:5px; }
  #sessionOverlay .session-card>header>span { width:23px; height:23px; border-radius:0; font-size:12px; }
  #sessionOverlay .session-card>header strong { font-size:12px; }
  #sessionOverlay .session-card>header small { font-size:8px; }
  #sessionOverlay .session-card dl { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:minmax(0,1fr); min-height:0; padding:2px 5px; gap:0; }
  #sessionOverlay .session-card dl>div { min-height:0; padding:2px 0; gap:4px; }
  #sessionOverlay .session-card dt { font-size:9px; line-height:1.15; }
  #sessionOverlay .session-card dd { font-size:11px; line-height:1.15; gap:1px; }
  #sessionOverlay .session-card dd em { font-size:8px; }
  #sessionOverlay .session-card__featured { min-height:0; margin:0; padding:2px 4px!important; }
  #sessionOverlay .session-summary-footer { min-height:0; height:24px; margin:0; padding:0 3px; gap:8px; font-size:9px; line-height:1.15; }
  #sessionOverlay .session-panel--pve { display:grid; grid-template-rows:38px 26px minmax(0,1fr) 30px; gap:4px; }
  #sessionOverlay .session-panel--pve:has(>.session-list-pagination[hidden]) { grid-template-rows:38px 26px minmax(0,1fr); }
  #sessionOverlay .session-strip { height:38px; min-height:0; border-radius:0; grid-template-columns:repeat(6,minmax(0,1fr)); }
  #sessionOverlay .session-strip--loot { grid-template-columns:repeat(5,minmax(0,1fr)); }
  #sessionOverlay .session-strip>div { height:100%; padding:3px 5px; gap:3px; }
  #sessionOverlay .session-strip small { font-size:8px; line-height:1.1; white-space:normal; }
  #sessionOverlay .session-strip strong { font-size:12px; }
  #sessionOverlay .session-section-heading { height:26px; padding:1px 2px; gap:5px; align-items:center; }
  #sessionOverlay .session-section-heading small { font-size:8px; }
  #sessionOverlay .session-section-heading strong { font-size:12px; }
  #sessionOverlay .session-section-heading>span { font-size:9px; }
  #sessionOverlay .session-empty { grid-row:3; min-height:0; height:100%; gap:3px; padding:4px; border-radius:0; align-content:center; }
  #sessionOverlay .session-empty>span { font-size:24px; }
  #sessionOverlay .session-empty>strong { margin:0; font-size:12px; }
  #sessionOverlay .session-empty>small { margin:0; font-size:10px; }
  #sessionOverlay .session-monster-list { grid-row:3; height:100%; min-height:0; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:5px; overflow:hidden; }
  #sessionOverlay .session-monster { min-height:0; padding:3px 5px; grid-template-columns:30px minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; gap:3px 5px; border-radius:0; }
  #sessionOverlay .session-monster__sigil { grid-column:1; grid-row:1; width:27px; height:27px; font-size:10px; }
  #sessionOverlay .session-monster__name { grid-column:2; grid-row:1; }
  #sessionOverlay .session-monster__name strong { font-size:11px; }
  #sessionOverlay .session-monster dl { grid-column:1/-1; grid-row:2; gap:3px; }
  #sessionOverlay .session-monster dl>div { padding:2px 3px; border-radius:0; gap:2px; text-align:left; }
  #sessionOverlay .session-monster dt { font-size:8px; }
  #sessionOverlay .session-monster dd { font-size:10px; }
  #sessionOverlay .session-list-pagination { display:grid; grid-template-columns:42px 80px 42px; justify-content:center; align-items:center; gap:5px; height:30px; min-height:0; font-size:11px; text-align:center; }
  #sessionOverlay .session-list-pagination button { height:30px; min-height:30px!important; max-height:30px; padding:0; font-size:21px; }
  #sessionOverlay .session-panel--loot { display:grid; grid-template-rows:38px minmax(0,1fr); gap:5px; }
  #sessionOverlay .session-loot-layout { height:100%; min-height:0; padding:0; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:6px; }
  #sessionOverlay .session-loot-vault { display:grid; grid-template-rows:26px minmax(0,1fr) 30px; min-height:0; height:100%; padding:2px 5px 4px; gap:3px; overflow:hidden; border-radius:0; }
  #sessionOverlay .session-loot-vault:has(>.session-list-pagination[hidden]) { grid-template-rows:26px minmax(0,1fr); }
  #sessionOverlay .session-loot-vault .session-empty { grid-row:2; }
  #sessionOverlay .session-loot-grid { grid-row:2; height:100%; min-height:0; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); gap:4px; align-content:stretch; overflow:hidden; }
  #sessionOverlay .session-loot-item { min-height:0; aspect-ratio:auto; height:100%; border-radius:0; }
  #sessionOverlay .session-loot-item__icon { width:min(100%,34px); height:min(100%,34px); filter:none; }
  #sessionOverlay .session-loot-item>strong { right:2px; bottom:2px; min-width:10px; padding:1px 2px; font-size:9px; }
  #sessionOverlay .session-loot-item>span { top:2px; right:2px; padding:1px 2px; font-size:8px; }
  #sessionOverlay .session-supplies-panel { grid-template-rows:26px minmax(0,1fr) 30px 28px; min-height:0; height:100%; padding:2px 5px 4px; gap:3px; overflow:hidden; border-radius:0; }
  #sessionOverlay .session-supplies-panel:has(>.session-list-pagination[hidden]) { grid-template-rows:26px minmax(0,1fr) 28px; }
  #sessionOverlay .session-supplies-panel header { min-height:0; height:26px; padding:1px 2px; gap:2px; }
  #sessionOverlay .session-supplies-panel header strong { font-size:12px; }
  #sessionOverlay .session-supplies-panel header small { font-size:8px; }
  #sessionOverlay .session-supplies-panel ul { height:100%; min-height:0; display:grid; grid-auto-rows:minmax(0,1fr); align-content:stretch; gap:3px; overflow:hidden; }
  #sessionOverlay .session-supplies-panel li { min-height:0; gap:3px; padding:2px 3px; border-radius:0; font-size:10px; line-height:1.2; }
  #sessionOverlay .session-supplies-panel li>span { gap:3px; }
  #sessionOverlay .session-supplies-panel li b { white-space:normal; font-size:10px; }
  #sessionOverlay .session-supplies-panel li strong { font-size:9px; }
  #sessionOverlay .session-supply-icon { width:22px; height:22px; }
  #sessionOverlay .session-supplies-panel>p { height:28px; min-height:0; padding:3px 1px 0; margin:0; font-size:9px; line-height:1.15; }
}
@media (orientation:landscape) and (max-height:399px) {
  #sessionOverlay .session-monster-list { grid-template-rows:repeat(2,minmax(0,1fr)); }
  #sessionOverlay .session-loot-grid { grid-template-rows:repeat(2,minmax(0,1fr)); }
  .training-master .training-master__progress small { font-size:9px; }
}

/* Authentication keeps every field, consent link and security challenge in
   one landscape card. These rules do not affect account/gameplay panels. */
@media (orientation:landscape) and (max-height:700px) {
  #gameFrame #loginOverlay {
    position:fixed!important;inset:auto!important;
    top:var(--visual-offset-top,0px)!important;left:var(--visual-offset-left,0px)!important;
    width:var(--visual-vw,100dvw)!important;height:var(--visual-vh,100dvh)!important;
    min-width:0!important;min-height:0!important;box-sizing:border-box!important;
    padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
    overflow:hidden!important;display:grid!important;place-items:center!important;
  }
  #gameFrame #loginOverlay[hidden] { display:none!important; }
  #gameFrame #loginOverlay .login-card {
    --auth-field-height:clamp(32px,7dvh,42px);
    box-sizing:border-box!important;width:min(900px,100%)!important;height:min(310px,100%)!important;
    max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;
    display:grid!important;
    grid-template-columns:minmax(148px,1fr) minmax(148px,1fr) minmax(0,2fr)!important;
    grid-template-rows:12px 28px 28px 65px 42px minmax(0,1fr) 28px!important;
    gap:4px 6px!important;padding:8px!important;overflow:hidden!important;
    align-items:center!important;text-align:left!important;
  }
  #gameFrame #loginOverlay .login-card > * { min-width:0!important;min-height:0!important;margin:0!important; }
  #gameFrame #loginOverlay .login-emblem { display:none!important; }
  #gameFrame #loginOverlay .login-kicker { grid-column:1/3!important;grid-row:1!important;font-size:9px!important;line-height:12px!important;letter-spacing:.09em!important; }
  #gameFrame #loginTitle { grid-column:1/3!important;grid-row:2!important;font-size:22px!important;line-height:24px!important;margin:0!important; }
  #gameFrame #loginOverlay .login-card > p { grid-column:1/3!important;grid-row:3!important;font-size:11px!important;line-height:1.2!important;margin:0!important; }
  #gameFrame #loginTurnstile {
    grid-column:1/3!important;grid-row:4!important;min-width:300px!important;
    min-height:0!important;width:100%!important;height:65px!important;max-height:65px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;
  }
  #gameFrame #loginTurnstile:empty { visibility:hidden!important; }
  #gameFrame #loginOverlay :is(#loginForm,#recoveryForm) {
    grid-column:3!important;grid-row:1/6!important;min-width:0!important;min-height:0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    align-content:center!important;gap:4px 6px!important;overflow:hidden!important;
  }
  #gameFrame #loginOverlay :is(#loginForm,#recoveryForm)[hidden] { display:none!important; }
  #gameFrame #loginOverlay form > label:not(.login-consent) {
    display:grid!important;grid-template-rows:14px var(--auth-field-height)!important;
    gap:2px!important;min-width:0!important;min-height:0!important;
    font-size:11px!important;line-height:14px!important;text-align:left!important;
  }
  #gameFrame #loginOverlay form input:not([type=checkbox]) {
    width:100%!important;max-width:100%!important;min-width:0!important;
    height:var(--auth-field-height)!important;min-height:var(--auth-field-height)!important;
    box-sizing:border-box!important;margin:0!important;padding:3px 8px!important;font-size:16px!important;
  }
  #gameFrame #loginOverlay .login-consent {
    display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;
    align-items:center!important;gap:5px!important;font-size:11px!important;line-height:1.2!important;
  }
  #gameFrame #loginTermsAccepted { width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;padding:0!important; }
  #gameFrame #loginOverlay form button {
    min-width:0!important;min-height:32px!important;height:32px!important;
    margin:0!important;padding:3px 6px!important;font-size:12px!important;line-height:1.2!important;
  }
  #gameFrame #loginOverlay #recoveryForm { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  #gameFrame #loginOverlay #recoveryForm > button { grid-column:auto!important; }
  #gameFrame #loginMode,#gameFrame #loginForgotPassword {
    grid-row:5!important;min-width:0!important;min-height:32px!important;height:32px!important;
    margin:0!important;padding:3px 4px!important;font-size:11px!important;line-height:1.2!important;
  }
  #gameFrame #loginMode { grid-column:1!important; }
  #gameFrame #loginForgotPassword { grid-column:2!important; }
  #gameFrame #loginFeedback {
    grid-column:1/-1!important;grid-row:6!important;display:block!important;
    width:100%!important;min-height:0!important;margin:0!important;
    font-size:11px!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important;
  }
  #gameFrame #loginOverlay .login-card > small { grid-column:1/-1!important;grid-row:7!important;font-size:10px!important;line-height:1.2!important;margin:0!important; }
  #gameFrame #loginOverlay [hidden] { display:none!important; }
  @media (max-height:350px) {
    #gameFrame #loginOverlay .login-card { grid-template-rows:12px 24px 28px 65px 32px minmax(0,1fr) 28px!important; }
  }
  #gameFrame > .recovery-vault-overlay {
    position:fixed!important;inset:auto!important;
    top:var(--visual-offset-top,0px)!important;left:var(--visual-offset-left,0px)!important;
    width:var(--visual-vw,100dvw)!important;height:var(--visual-vh,100dvh)!important;
    box-sizing:border-box!important;
    padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
    display:grid!important;place-items:center!important;overflow:hidden!important;
  }
  #gameFrame > .recovery-vault-overlay[hidden] { display:none!important; }
  #gameFrame .recovery-vault-card {
    box-sizing:border-box!important;width:min(900px,100%)!important;height:min(300px,100%)!important;
    min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:14px 60px minmax(0,1fr) 32px 28px 32px!important;
    gap:4px 12px!important;padding:8px!important;overflow:hidden!important;
    border:2px solid transparent!important;border-image:url('assets/ui-v63/frame-gold.png') 10 / 8px / 0 stretch!important;
    border-radius:0!important;box-shadow:none!important;background:rgba(4,14,17,.74)!important;
  }
  #gameFrame .recovery-vault-card > * { min-width:0!important;min-height:0!important;margin:0!important; }
  #gameFrame .recovery-vault-card .recovery-kicker { grid-column:1!important;grid-row:1!important;font-size:10px!important;line-height:14px!important;letter-spacing:.08em!important; }
  #gameFrame .recovery-vault-card h2 { grid-column:1!important;grid-row:2!important;font-size:22px!important;line-height:1.3!important; }
  #gameFrame .recovery-vault-card > p { grid-column:1!important;grid-row:3!important;font-size:12px!important;line-height:1.25!important; }
  #gameFrame .recovery-vault-card > label { grid-column:2!important;grid-row:1/4!important;display:grid!important;grid-template-rows:16px minmax(0,1fr)!important;gap:4px!important;font-size:12px!important;line-height:16px!important; }
  #gameFrame #recoveryVaultCode { box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;padding:6px!important;font-size:16px!important;line-height:1.3!important;overflow:hidden!important; }
  #gameFrame .recovery-vault-actions { grid-column:2!important;grid-row:4!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important; }
  #gameFrame .recovery-vault-card button { min-width:0!important;min-height:32px!important;height:32px!important;padding:3px 6px!important;font-size:12px!important;line-height:1.2!important; }
  #gameFrame .recovery-vault-card > output { grid-column:2!important;grid-row:5!important;font-size:11px!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important; }
  #gameFrame .recovery-vault-card > small { grid-column:1!important;grid-row:4/7!important;align-self:center!important;font-size:11px!important;line-height:1.25!important; }
  #gameFrame .recovery-vault-card .recovery-continue { grid-column:2!important;grid-row:6!important; }
}
@media (orientation:landscape) and (min-height:701px) {
  #gameFrame .recovery-vault-card h2 { line-height:1.3!important; }
}

/* V107: Status shows all four cards at once. Keep both dashboards in the
   available menu row; old narrow-width rules stacked them below the viewport. */
@media (orientation:landscape) {
  #gameMenu.standard-menu-open > .game-menu-window > #statusPage:not([hidden]) {
    box-sizing:border-box!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:32px minmax(0,1fr)!important;
    gap:6px 12px!important;padding:0 0 4px!important;
    width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;
    overflow:hidden!important;scrollbar-gutter:auto!important;
  }
  #gameMenu #statusPage > .status-page-heading {
    grid-column:1/-1!important;grid-row:1!important;height:32px!important;
    min-height:0!important;max-height:32px!important;margin:0!important;
  }
  #gameMenu #statusPage > .status-dashboard:not([hidden]) {
    display:grid!important;grid-row:2!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:max-content max-content!important;align-content:start!important;
    gap:8px!important;padding:0!important;margin:0!important;
    height:100%!important;min-height:0!important;max-height:100%!important;
    overflow:hidden!important;scrollbar-gutter:auto!important;
  }
  #gameMenu #statusOverviewView { grid-column:1!important; }
  #gameMenu #statusCombatView { grid-column:2!important; }
  #gameMenu #statusPage .status-card {
    box-sizing:border-box!important;min-width:0!important;min-height:0!important;
    padding:8px 10px!important;overflow:hidden!important;
  }
  #gameMenu #statusPage .status-card h3 {
    margin:0 0 5px!important;font-size:clamp(12px,1.5vh,17px)!important;line-height:1.2!important;
  }
  #gameMenu #statusPage .status-group {
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px 10px!important;margin:0!important;padding:0!important;
  }
  #gameMenu #statusPage .status-group > div {
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    align-items:baseline!important;min-width:0!important;padding:0!important;gap:3px!important;
    font-size:clamp(11px,1.55vh,16px)!important;line-height:1.2!important;
  }
  #gameMenu #statusPage .status-group :is(dt,dd) {
    min-width:0!important;margin:0!important;font-size:inherit!important;line-height:inherit!important;
  }
  #gameMenu #statusPage .status-group dd { overflow-wrap:anywhere!important; }
  #gameMenu #statusPage [hidden],
  #gameMenu #statusPage .status-group > [hidden] { display:none!important; }
  #gameMenu #statusOverviewView .status-card:first-child .status-group > div:last-child { grid-column:1/-1!important; }
  #gameMenu #statusOverviewView .status-card:last-child .status-group > div:first-child { grid-column:1/-1!important; }
  #gameMenu #statusOverviewView #statusQuiverRow { grid-column:1/-1!important; }
  #gameMenu #statusPage .status-group .status-detail {
    grid-column:1/-1!important;grid-template-columns:minmax(0,1fr)!important;gap:1px!important;
  }
  #gameMenu #statusPage .status-group .status-detail dd {
    text-align:left!important;font-size:clamp(10px,1.35vh,14px)!important;line-height:1.2!important;
  }
  #gameMenu #storePage[data-store-mode="diamonds"] .store-diamonds-view:not([hidden]) {
    box-sizing:border-box!important;display:grid!important;grid-template-rows:minmax(0,1fr)!important;
    gap:0!important;padding:4px!important;min-height:0!important;height:100%!important;
  }
  #gameMenu #storePage[data-store-mode="diamonds"] .diamond-package-grid {
    min-width:0!important;min-height:0!important;height:100%!important;max-height:100%!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;align-content:stretch!important;
  }
  #gameMenu #storePage .diamond-package-title,
  #gameMenu #storePage .diamond-package-price { line-height:1.25!important; }
}
@media (orientation:landscape) and (max-height:420px) {
  #gameMenu.standard-menu-open > .game-menu-window > #statusPage:not([hidden]) {
    grid-template-rows:26px minmax(0,1fr)!important;gap:3px 8px!important;padding-bottom:2px!important;
  }
  #gameMenu #statusPage > .status-page-heading { height:26px!important;max-height:26px!important; }
  #gameMenu #statusPage > .status-dashboard:not([hidden]) { gap:5px!important; }
  #gameMenu #statusPage .status-card { padding:4px 6px!important; }
  #gameMenu #statusPage .status-card h3 { margin-bottom:2px!important;font-size:11px!important;line-height:13px!important; }
  #gameMenu #statusPage .status-group { gap:1px 7px!important; }
  #gameMenu #statusPage .status-group > div { font-size:11px!important;line-height:13px!important; }
  #gameMenu #statusPage .status-group .status-detail dd { font-size:10px!important;line-height:12px!important; }
}
@media (orientation:landscape) and (max-height:350px) {
  #gameMenu.standard-menu-open > .game-menu-window > #statusPage:not([hidden]) {
    grid-template-rows:24px max-content minmax(0,1fr)!important;gap:4px 8px!important;
  }
  #gameMenu #statusPage > .status-page-heading { height:24px!important;max-height:24px!important; }
  #gameMenu #statusPage > .status-dashboard:not([hidden]) { display:contents!important; }
  #gameMenu #statusOverviewView > .status-card:first-child { grid-column:1!important;grid-row:2!important; }
  #gameMenu #statusOverviewView > .status-card:last-child { grid-column:2!important;grid-row:2!important; }
  #gameMenu #statusCombatView > .status-card:first-child { grid-column:1!important;grid-row:3!important; }
  #gameMenu #statusCombatView > .status-card:last-child { grid-column:2!important;grid-row:3!important; }
  #gameMenu #statusPage .status-card { align-self:start!important;padding:3px 5px!important; }
  #gameMenu #statusPage .status-card h3 { margin-bottom:1px!important;line-height:12px!important; }
  #gameMenu #statusPage .status-group > div { line-height:12px!important; }
  #gameMenu #statusPage .status-group .status-detail dd { line-height:11px!important; }
  #gameMenu #statusOverviewView .status-group > div { grid-template-columns:auto minmax(0,1fr)!important; }
  #gameMenu #statusOverviewView .status-group dd { font-size:10px!important; }
}
