/* ── ios.css — Going Concern: the iPhone as a first-class way to play. Tokens from desk.css.
   Loaded after phone.css. The desk above 900 px is untouched: every rule but the hidden default
   of the controls ios.js adds sits inside the phone's width query, a touch screen's query, or print.
   On a phone the focused pane is the content. Around it: a top bar (the bank, which folds the vitals;
   one play and pause control; the date and the speed, which open the clock; the search, which opens
   the palette; the decisions as a badge), the vitals as one row that swipes and folds, the guide or
   the goal as one line that unfolds, and the departments with the current department's functions
   as a tab bar at the bottom, in thumb reach. The queue is a sheet that slides up from the badge;
   held sideways the queue stands beside the pane. Safe areas come from env() through --gc-sa*. ── */

/* the controls ios.js adds: present at every width, shown only on a phone */
.gc-ios, :is(#strip, #queue, #desktop) .gc-ios{ display:none; }   /* the id beats desk.css's #strip > * */
#gc-ios-tip[hidden], #gc-ios-annals[hidden]{ display:none; }

/* what a tap on a touch screen opens, at any width: a title's text, the way into a vital's function, the
   Annals' dialog; and the line on the letter when the browser keeps nothing. None of it exists until then. */
#gc-ios-tip{ position:fixed; z-index:820; max-width:min(calc(320 * var(--u)), calc(100vw - 2 * var(--sp-2))); padding:var(--sp-2) var(--sp-3); background:var(--panel-2); border:1px solid var(--line-2); box-shadow:var(--shadow-float); color:var(--text); font:var(--fs-3)/var(--lh-3) var(--sans); }
.gcf-tip .gcf-open{ display:flex; width:100%; min-height:calc(44 * var(--u)); align-items:center; justify-content:center; margin-top:var(--sp-2); font:600 var(--fs-2) var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--on-accent); background:var(--accent); border:0; cursor:pointer; }
.gc-ios-keepnote{ margin:0 0 var(--sp-2); color:var(--muted); font:var(--fs-3)/var(--lh-3) var(--sans); }
#gc-ios-annals .gc-ios-pages{ font:var(--fs-2) var(--mono); color:var(--muted); letter-spacing:.06em; }
.gc-ios-acts{ display:flex; justify-content:flex-end; gap:var(--sp-2); padding:0 var(--sp-4) var(--sp-3h); }
#login .gc-ios-store{ margin:var(--sp-2) 0 0; font:var(--fs-3)/var(--lh-3) var(--sans); color:var(--ink-2); }

/* ═══ any touch screen, at any width: no double-tap zoom, no 300 ms wait, no zoom on a field ═══ */
@media (pointer:coarse){
  html{ touch-action:manipulation; -webkit-tap-highlight-color:var(--accent-glow); -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  /* Safari zooms into a field whose text is under 16 px; important only to beat the inline sizes the old apps print */
  input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea{ font-size:calc(16 * var(--u)) !important; }
}

@media (max-width:900px){
  :root{
    --h-touch:calc(44 * var(--u));                                    /* Apple's 44 points: every control a thumb presses */
    --fs-touch:calc(16 * var(--u));                                   /* the smallest field text Safari does not zoom into */
    --gc-sat:env(safe-area-inset-top, 0px); --gc-sar:env(safe-area-inset-right, 0px);
    --gc-sab:env(safe-area-inset-bottom, 0px); --gc-sal:env(safe-area-inset-left, 0px);
    --gc-bar:calc(2 * var(--h-touch) + 1px);                          /* the tab bar: the functions over the departments */
    --gc-kb:0px; --gc-vvt:0px; --gc-vvh:100%;                         /* the keyboard and the visual viewport, kept by ios.js */
  }
  html, body{ height:100%; height:100dvh; overscroll-behavior:none; }
  body{ position:fixed; inset:0; width:100%; }

  /* ═══ the desk: top bar, guide line, the pane, the tab bar ═══ */
  #desktop{ height:100%; height:100dvh; bottom:auto; grid-template-rows:auto auto minmax(0,1fr) auto; grid-template-areas:"strip" "guide" "grid" "cmd";
    padding:var(--gc-sat) var(--gc-sar) 0 var(--gc-sal); background:var(--panel); }
  #strip{ grid-area:strip; } #guide{ grid-area:guide; } #grid{ grid-area:grid; background:var(--bg); } #cmd{ grid-area:cmd; }
  #strip, #cmd, #guide, .pane-head, #queue .q-head, #tick, .gc-ios, .s-clock, #fn-bar, .qi, .dept, .fn, .vital{ -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }

  /* ═══ the top bar: [the bank ▾] [play] [date · speed] [search] [decisions] ═══ */
  #strip{ grid-template-columns:minmax(0,1fr) auto auto auto auto; grid-template-rows:auto auto; border-bottom:1px solid var(--line); }
  #strip > *{ min-height:var(--h-touch); }
  #strip .s-brand{ display:none; }
  #strip .s-who{ grid-column:1; grid-row:1; display:flex; align-items:center; gap:var(--sp-1h); min-width:0; padding:0 var(--sp-1) 0 var(--sp-3); cursor:pointer; line-height:var(--lh-2); }
  #strip .s-who b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #strip .s-who::after{ content:''; flex:none; width:var(--sp-1h); height:var(--sp-1h); margin:0 var(--sp-1) var(--sp-0); border-right:1.5px solid var(--muted); border-bottom:1.5px solid var(--muted); transform:rotate(45deg); }
  html.gc-ios-vh #strip .s-who::after{ transform:rotate(-45deg); margin-bottom:0; }
  html.gc-ios-vh.gc-ios-vbad #strip .s-who::after{ border-color:var(--down); }
  .gc-ios-b{ display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-1); min-width:var(--h-touch); min-height:var(--h-touch); padding:0 var(--sp-2); border:0; border-left:1px solid var(--line); background:transparent; color:var(--muted); font:var(--fs-2) var(--mono); cursor:pointer; }
  #strip .gc-ios-b{ display:inline-flex; padding:0 var(--sp-2); }
  #gc-ios-play{ grid-column:2; grid-row:1; color:var(--text); }
  #gc-ios-play.on{ color:var(--on-accent); background:var(--accent); }
  #gc-ios-spd{ grid-column:3; grid-row:1; flex-direction:column; align-items:flex-start; gap:0; line-height:var(--lh-1); }
  #gc-ios-spd b{ font-weight:500; color:var(--text); white-space:nowrap; }
  #gc-ios-spd i{ font-style:normal; font-size:var(--fs-1); letter-spacing:.1em; color:var(--muted); }
  html.gc-ios-clock #gc-ios-spd{ background:var(--panel-2); }
  #gc-ios-find{ grid-column:4; grid-row:1; }
  #strip .s-decide{ grid-column:5; grid-row:1; min-width:var(--h-touch); padding:0 var(--sp-2h); justify-content:center; }
  #strip .s-decide span{ display:none; }
  #strip .s-decide b{ font-size:var(--fs-4); }

  /* the clock: a menu under the date, the speeds, BOOST (held), MONTH and the sound */
  #strip .s-clock{ display:none; }
  html.gc-ios-clock #strip .s-clock{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--sp-1); position:fixed; z-index:460; top:calc(var(--gc-sat) + var(--h-touch)); right:calc(var(--gc-sar) + var(--sp-2));
    width:min(calc(330 * var(--u)), calc(100vw - 2 * var(--sp-2) - var(--gc-sal) - var(--gc-sar))); padding:var(--sp-2); background:var(--panel); border:1px solid var(--line-2); box-shadow:var(--shadow-float); }
  html.gc-ios-clock #strip .s-clock #tb-date{ display:none; }
  html.gc-ios-clock #strip .s-clock .spd, html.gc-ios-clock #strip .s-clock #btn-step, html.gc-ios-clock #strip .s-clock .gc-ios-b{ min-height:var(--h-touch); width:100%; padding:0 var(--sp-1); border:1px solid var(--line-2); justify-content:center; }
  html.gc-ios-clock #strip .s-clock .gc-ios-b{ display:inline-flex; grid-column:1 / -1; color:var(--text); }
  html.gc-ios-clock #strip .s-clock .gc-ios-b.on{ color:var(--accent); border-color:var(--accent-dim); }
  #gc-ios-scrim{ position:fixed; inset:0; z-index:390; background:var(--scrim-1); }
  html.gc-ios-q #gc-ios-scrim{ display:block; }   /* inside #desktop, under the sheet: a fixed #desktop is its own stacking context */

  /* the vitals: one row of whole tiles that swipes sideways and folds under the bank's name */
  #strip .s-vitals{ grid-column:1 / -1; grid-row:2; overscroll-behavior-x:contain; touch-action:pan-x; }
  #strip .vital{ min-height:var(--h-touch); padding:var(--sp-1) var(--sp-3); }
  html.gc-ios-vh #strip .s-vitals{ display:none; }

  /* ═══ the guide and the goal: one line, unfolded by a tap ═══ */
  #guide, #guide.goal{ min-height:var(--h-touch); padding:0 0 0 var(--sp-3); gap:var(--sp-2); flex-wrap:nowrap; overflow:hidden; cursor:pointer; }
  #guide .g-k{ font-size:var(--fs-1); flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #guide:not(.goal):not(:has(.g-title)) .g-t{ display:block; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }   /* the first day: its one sentence */
  #guide .g-title, #guide.goal .g-s{ display:block; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  #guide.goal .g-sep, #guide.goal .g-n, #guide.goal .g-w, #guide .g-t, #guide .g-dots{ display:none; }
  #guide .g-act{ align-self:stretch; gap:0; margin-left:auto; }
  #guide .g-act .btn{ min-height:var(--h-touch); height:100%; border-width:0 0 0 1px; padding:0 var(--sp-3); white-space:nowrap; }
  #guide .g-act .btn:not(.primary){ display:none; }
  #guide .g-act .btn:only-child{ display:inline-flex; align-items:center; }
  #guide::after{ content:''; flex:none; width:var(--sp-1h); height:var(--sp-1h); margin:0 var(--sp-3) var(--sp-0) var(--sp-1); border-right:1.5px solid var(--accent); border-bottom:1.5px solid var(--accent); transform:rotate(45deg); }
  html.gc-ios-gx #guide, html.gc-ios-gx #guide.goal{ flex-wrap:wrap; align-items:center; padding-top:var(--sp-1); }
  html.gc-ios-gx #guide::after{ transform:rotate(-135deg); position:absolute; right:0; top:var(--sp-4); }
  html.gc-ios-gx #guide{ position:relative; }
  html.gc-ios-gx #guide .g-title, html.gc-ios-gx #guide.goal .g-s{ white-space:normal; flex-basis:calc(100% - 2 * var(--h-touch)); }
  html.gc-ios-gx #guide .g-t, html.gc-ios-gx #guide .g-dots, html.gc-ios-gx #guide.goal .g-n, html.gc-ios-gx #guide.goal .g-w{ display:block; }
  html.gc-ios-gx #guide .g-dots{ display:flex; }
  html.gc-ios-gx #guide .g-t{ flex-basis:100%; white-space:normal; padding-right:var(--sp-3); }
  html.gc-ios-gx #guide .g-act{ flex-basis:calc(100% + var(--sp-3)); flex-wrap:wrap; margin:var(--sp-1) 0 0 calc(-1 * var(--sp-3)); border-top:1px solid var(--accent-dim); }
  html.gc-ios-gx #guide .g-act .btn{ display:inline-flex; align-items:center; flex:1 1 auto; justify-content:center; height:auto; }

  /* ═══ the pane: one at a time, the other a tap away ═══ */
  #grid, #grid.max-a:not(.ws), #grid.max-b:not(.ws){ grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
  #pane-a{ grid-row:1; grid-column:1; border-right:0; }
  #pane-b{ display:none; }
  .pane-head{ padding:0 0 0 var(--sp-3); gap:var(--sp-2); }
  .pane-head .ph-title{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1 1 auto; }
  .ph-acts{ margin-left:auto; gap:0; }
  .ph-acts button{ width:auto; min-width:var(--h-touch); height:var(--h-touch); border-left:1px solid var(--line); color:var(--muted); }
  .ph-acts [data-act="max"]{ display:none; }
  .ph-acts [data-act="swap"]{ gap:var(--sp-1h); padding:0 var(--sp-2h); font:var(--fs-2) var(--mono); letter-spacing:.1em; color:var(--text); }
  .ph-acts [data-act="swap"]::after{ content:attr(data-other); }
  .ph-acts [data-act="swap"]:not([data-other]), .ph-acts [data-act="swap"][data-other=""]{ display:none; }
  .pane .winbody{ overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  html.gc-ios-kb .pane .winbody{ padding-bottom:calc(var(--sp-3) + var(--gc-kb)); }

  /* a thumb's controls inside the panes: buttons, fields and choices 44 units high */
  .winbody .btn, .winbody button, .gc-pal button, .victory-box .btn, .doc .btn{ min-height:var(--h-touch); min-width:var(--h-touch); }
  .winbody .btn, .winbody button{ display:inline-flex; align-items:center; justify-content:center; }
  .winbody select, .winbody input:not([type=checkbox]):not([type=radio]):not([type=range]), .winbody textarea{ min-height:var(--h-touch); }
  .winbody input[type=range]{ min-height:var(--h-touch); }
  .winbody input[type=checkbox], .winbody input[type=radio]{ width:calc(22 * var(--u)); height:calc(22 * var(--u)); margin:0 var(--sp-1h) 0 0; vertical-align:middle; }
  .winbody label:has(> input[type=checkbox]), .winbody label:has(> input[type=radio]), .victory-box label:has(> input[type=checkbox]){ display:inline-flex; align-items:center; min-height:var(--h-touch); }
  .winbody .mail-row, .winbody .hb-item, .winbody .an-yr, .winbody .an-tab, .winbody .gcc-card, .winbody .pc-row{ min-height:var(--h-touch); }
  .winbody .mail-row{ align-items:center; }
  .winbody .linkbtn, .winbody a.btn{ display:inline-flex; align-items:center; min-height:var(--h-touch); }
  .winbody td:has(> .btn), .winbody td:has(> button){ padding-top:var(--sp-0); padding-bottom:var(--sp-0); }
  .winbody .btn.tiny{ padding:0 var(--sp-2h); }
  .gcs .gcs-play .btn{ min-width:var(--h-touch); }

  /* ═══ the tab bar: the department's functions over the eight departments ═══ */
  #cmd{ display:block; padding:0 0 var(--gc-sab); border:0; border-top:1px solid var(--line); background:var(--panel); }
  #cmd .c-prompt, #cmd #cmd-in, #cmd #cmd-hint{ display:none; }
  #fn-bar{ display:flex; flex-direction:column; flex-wrap:nowrap; width:100%; border:0; padding:0; overflow:visible; }   /* desk.css wraps the bar: a wrapping column grows to its widest row */
  #fn-bar .fn-row, #fn-bar .fn-top, #fn-bar .fn-depts{ min-width:0; max-width:100%; }
  #fn-bar .fn-row{ order:1; display:flex; flex-wrap:nowrap; gap:0; height:var(--h-touch); padding:0; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; touch-action:pan-x; scrollbar-width:none; }
  #fn-bar .fn-row::before{ display:none; }
  #fn-bar .fn-row .fn{ flex:1 0 auto; min-width:var(--h-touch); height:var(--h-touch); padding:0 var(--sp-3); justify-content:center; border:0; border-right:1px solid var(--line); font-size:var(--fs-2); letter-spacing:.1em; }
  #fn-bar .fn-row .fn:last-child{ border-right:0; }
  #fn-bar .fn-row .fn.on{ color:var(--accent); background:var(--accent-wash); }
  #fn-bar .fn-row .fn[data-gc-n]::before{ display:none; }
  #fn-bar .fn-empty{ display:flex; align-items:center; padding:0 var(--sp-3); color:var(--dim); font-size:var(--fs-2); }
  #fn-bar .fn-top{ order:2; display:block; padding:0; border-top:1px solid var(--line); }
  #fn-bar .fn-pins{ display:none; }
  #fn-bar .fn-depts{ display:flex; flex-wrap:nowrap; gap:0; width:100%; overflow-x:auto; overscroll-behavior-x:contain; touch-action:pan-x; scrollbar-width:none; }
  #fn-bar .dept{ position:relative; flex:1 0 auto; min-width:var(--h-touch); height:var(--h-touch); padding:0 var(--sp-1); display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--sp-0);
    font-size:0; letter-spacing:0; border:0; border-top:2px solid transparent; }
  #fn-bar .dept::before{ content:attr(data-short); order:2; font:var(--fs-1) var(--mono); letter-spacing:.06em; }
  #fn-bar .dept .gc-ico{ order:1; }
  #fn-bar .dept.on{ border-top-color:var(--accent); background:var(--panel-2); }
  #fn-bar .dept.badge::after{ position:absolute; top:var(--sp-1h); right:calc(50% - var(--sp-3)); margin:0; }

  /* ═══ the queue: a sheet that slides up from the badge ═══ */
  #queue{ position:fixed; z-index:400; left:var(--gc-sal); right:var(--gc-sar); bottom:0; max-height:min(76%, calc(100% - var(--gc-sat) - var(--h-touch) - var(--sp-6)));
    padding-bottom:var(--gc-sab); border:1px solid var(--line-2); border-bottom:0; box-shadow:var(--shadow-lift); transform:translateY(100%); visibility:hidden; transition:transform 180ms ease-out, visibility 0s linear 180ms; }
  html.gc-ios-q #queue{ transform:none; visibility:visible; transition:transform 180ms ease-out; }
  #queue .q-head{ position:relative; display:flex; align-items:center; gap:var(--sp-2); min-height:var(--h-touch); padding:var(--sp-1) 0 0 var(--sp-3); cursor:grab; touch-action:none; }
  #queue .q-head::before{ content:''; position:absolute; top:var(--sp-1); left:calc(50% - var(--sp-5)); width:var(--page-1); height:var(--sp-1); border-radius:var(--sp-0); background:var(--line-2); }
  #queue .gc-ios-qx{ display:inline-flex; margin-left:auto; }
  #inbox-list{ overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }

  /* the ticker's message: a line over the tab bar for a few seconds, tapped away */
  #tick{ display:none; }
  html.gc-phone #tick.gc-ios-msg{ display:flex; position:fixed; z-index:450; left:calc(var(--gc-sal) + var(--sp-2)); right:calc(var(--gc-sar) + var(--sp-2)); bottom:calc(var(--gc-bar) + var(--gc-sab) + var(--sp-2));
    height:auto; min-height:var(--h-touch); padding:var(--sp-1h) var(--sp-3); border:1px solid var(--accent-dim); background:var(--panel-2); box-shadow:var(--shadow-float); white-space:normal; align-items:center; }
  #tick.gc-ios-msg #tb-goal, #tick.gc-ios-msg #tb-ticker, #tick.gc-ios-msg .era-tag, #tick.gc-ios-msg > :not(#tb-msg){ display:none; }
  #tick.gc-ios-msg #tb-msg{ display:block; flex:1 1 auto; max-width:none; margin:0; text-align:left; color:var(--text); font:var(--fs-3)/var(--lh-2) var(--sans); white-space:normal; }

  /* ═══ the card behind a number, and a title, opened by a tap ═══ */
  .gcf-tip{ max-width:calc(100vw - 2 * var(--sp-2) - var(--gc-sal) - var(--gc-sar)); }
  .gcf-tip .gcf-hb{ display:inline-flex; align-items:center; min-height:var(--h-touch); }

  /* ═══ dialogs, the palette, papers and scenes inside the safe area ═══ */
  .victory-overlay, .notice-overlay, .gc-ed-overlay{ padding:calc(var(--gc-sat) + var(--sp-2h)) calc(var(--gc-sar) + var(--sp-2h)) calc(var(--gc-sab) + var(--sp-2h)) calc(var(--gc-sal) + var(--sp-2h)); }
  .victory-box{ max-height:92vh; max-height:100%; }
  .notice{ max-height:none; }
  .scn-ov{ padding:var(--gc-sat) var(--gc-sar) var(--gc-sab) var(--gc-sal); }
  .scn-box, .scn-paper{ max-height:100vh; max-height:100%; }
  .scn-box .btn, .scn-box button{ min-height:var(--h-touch); }
  .gc-pal{ top:var(--gc-vvt); bottom:auto; height:var(--gc-vvh); padding:calc(var(--gc-sat) + var(--sp-2)) calc(var(--gc-sar) + var(--sp-2)) var(--sp-2) calc(var(--gc-sal) + var(--sp-2)); }
  .gc-pal-box{ max-height:72vh; max-height:100%; }
  .gc-pal-head{ height:auto; min-height:var(--h-touch); padding:0 0 0 var(--sp-3h); }
  .gc-pal-in{ min-height:var(--h-touch); }
  .gc-pal-list{ overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .gc-pal .gc-ios-palx{ display:inline-flex; }
  .gc-pal-row{ min-height:var(--h-touch); }

  /* the appointment and the first-visit question, inside the safe area and above the keyboard */
  #login{ padding:calc(var(--gc-sat) + var(--sp-4)) calc(var(--gc-sar) + var(--sp-2h)) calc(var(--gc-sab) + var(--sp-4) + var(--gc-kb)) calc(var(--gc-sal) + var(--sp-2h)); overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  #login .qm-btn, #login .pc-row{ min-height:var(--h-touch); }
  #consent{ left:var(--gc-sal); right:var(--gc-sar); bottom:0; width:auto; transform:none; grid-template-columns:minmax(0,1fr); padding:var(--sp-3) var(--sp-3) calc(var(--sp-3) + var(--gc-sab)); z-index:900; }
  #consent .consent-acts{ grid-row:auto; flex-wrap:wrap; }
  #consent .consent-btn{ min-height:var(--h-touch); flex:1 1 auto; }
  #consent .consent-link{ grid-row:auto; display:inline-flex; align-items:center; min-height:var(--h-touch); }
  #acct-bar{ bottom:calc(var(--gc-bar) + var(--gc-sab) + var(--sp-2)); right:calc(var(--gc-sar) + var(--sp-2)); }
  /* the guest bar never covers the queue sheet (its X closed the sheet into the sign-up page) and is a thumb's size */
  html.gc-ios-q #acct-bar{ display:none; }
  #acct-bar a{ display:inline-flex; align-items:center; min-height:var(--h-touch); }
  /* thumb-sized: the letter's fields, the pane links beside a heading, the summaries that open a section in SET */
  #login input, #login select{ min-height:var(--h-touch); }
  .pane a.hb-ref{ display:inline-flex; align-items:center; min-height:var(--h-touch); padding:0 var(--sp-1); }
  .gc-sheet-wrap summary, .pane details > summary{ display:flex; align-items:center; min-height:var(--h-touch); }

  .gc-set-store{ border-color:var(--accent-dim); }

}

/* a phone held upright under 500 units: the pane's title gives way to its code and the switch */
@media (max-width:499px){
  .pane-head .ph-status{ display:none; }
}

/* ═══ a phone held sideways: the pane beside the queue, one bar at the bottom, the vitals folded ═══ */
@media (max-width:900px) and (orientation:landscape) and (max-height:500px){
  :root{ --gc-bar:var(--h-touch); }
  #grid, #grid.max-a:not(.ws), #grid.max-b:not(.ws){ grid-template-columns:minmax(0,1fr) minmax(calc(240 * var(--u)), 34%); grid-template-rows:minmax(0,1fr); }
  #queue, #grid.max-a:not(.ws) #queue{ display:flex; position:static; grid-column:2; grid-row:1; max-height:none; padding:0; border:0; border-left:1px solid var(--line); box-shadow:none; transform:none; visibility:visible; transition:none; }
  #queue .q-head{ padding:0 var(--sp-3); cursor:default; }
  #queue .q-head::before, #queue .gc-ios-qx{ display:none; }
  #fn-bar{ flex-direction:row; }
  #fn-bar .fn-top{ order:1; flex:0 0 auto; max-width:56%; border-top:0; border-right:1px solid var(--line); }
  #fn-bar .fn-row{ order:2; flex:1 1 auto; min-width:0; }
  #fn-bar .dept{ min-width:calc(46 * var(--u)); }
}

/* ═══ print: the Annals on paper from a phone too (html and body may scroll to the last page) ═══ */
@media print{
  html, body.gc-printing{ height:auto; position:static; overflow:visible; }
}

/* motion: the sheet and the menu arrive without sliding when motion is reduced */
@media (prefers-reduced-motion: reduce){
  #queue{ transition:none !important; }
}
