/* mac: Mac-appen (Doit.app): regler som bara gäller i fönstret, under body.in-mac.
   Lagret mac ligger sist och går före allt annat. Ägs av Mac-agenten.

   Två klasser, båda satta av servern utifrån user-agenten (routes/respond.js):
   - body.in-mac        alla versioner av Doit.app (DoitMac/…)
   - body.mac-unified   från DoitMac/0.2: fönstret har .fullSizeContentView och
                        en tom verktygsrad (.unifiedCompact, 38 pt), så sidan går
                        ända upp under trafikljusen. Den gamla appen (0.1) har en
                        egen grå titelrad och får inte de här reglerna.

   html-klasserna kommer från Swift (ett skript som körs före sidan), inte från
   doit.js: html.mac-inactive när fönstret eller webbvyn inte har fokus, och
   html.mac-sidebar-hidden när sidofältet är dolt (Visa → Dölj sidofältet, ⌃⌘S). */

@layer mac {

/* ── Ramen beter sig som en Mac-app ──────────────────────────────────────── */

/* Pilmarkör, inte handen, på rader, i sidofältet och på knappar — som i Things
   och Mail. Länkar i löptext (anteckningar, kontextfiler) behåller handen. */
body.in-mac :is(.sidebar, .tabbar, .crumb, .page-head, [data-row], .palette, .help, .dialog, .menu__list, .file-card__menu, .meeting-more__menu, .msplit__menu) :is([href], [type="submit"], [type="button"], [role="button"], [role="menuitem"]),
body.in-mac :is([data-row], [data-terminal], [data-action], .btn, .chip, .linklike, .switch, .check, .date-quick__btn, .side__item, .side__hint, .sidebar__toggle, .palette__item, .task__check, .tab__item, .suggest__item, .avail__slot, .cal-task__check, .cal-views__item, .cal-range__btn, .segmented__item, .menu__item, .toast__undo, .dialog__close, .tag-choice, .fab, .sidebar__new, .more-item) {
  cursor: default;
}

/* Ramen går inte att markera eller dra: sidofältet, rubrikerna, knapparna och
   raderna. Fälten i en rad (svaret i mailkön) går att skriva och markera i. */
body.in-mac :is(.sidebar, .tabbar, .crumb, .page-title, .section__title, .btn, .chip, .tab__item, .palette__group, .help, [data-row]) {
  -webkit-user-select: none; user-select: none;
}
body.in-mac [data-row] :is([name], [contenteditable]) { -webkit-user-select: text; user-select: text; }
body.in-mac :is(.sidebar, .tabbar, .crumb, [data-row], .palette) [href] { -webkit-user-drag: none; }

/* Menyn visar kortkommandona (Hjälp → Kortkommandon, ⌘/), så tipset behövs inte. */
body.in-mac .side__hint { display: none; }

/* Sidofältet som i Finder och Mail: ingen hover-yta, och den valda raden byter
   inte bredd (500 i stället för 600). */
body.in-mac .side__item:hover:not(.is-active) { background: transparent; }
body.in-mac .side__item.is-active { font-weight: var(--fw-500); }

/* Fönstret eller listan utan fokus (en annan app, eller terminalen i
   Claude-panelen): markeringen blir neutralt grå, som i alla Mac-listor. */
html.mac-inactive body.in-mac .task.is-selected,
html.mac-inactive body.in-mac .project [data-row].is-selected,
html.mac-inactive body.in-mac .mrow.is-selected .mrow__link { background: var(--active); box-shadow: none; }
html.mac-inactive body.in-mac .side__item.is-active .icon { color: var(--text-2); }

/* ── Titelraden: sidan går ända upp (DoitMac/0.2) ───────────────────────── */

/* Höjden på Swifts verktygsrad (.unifiedCompact, 38 pt). Swift mäter den och
   sätter --mac-titlebar på html; 38 px är reserven. Den översta remsan är
   fönstrets: den drar fönstret och dubbelklick zoomar. Inga knappar där. */
body.mac-unified { --titlebar-h: var(--mac-titlebar, 38px); }

/* Sidofältet börjar under trafikljusen. Remsan står kvar när sidofältet
   rullas, så att projekten inte glider in under knapparna. Ordmärket behövs
   inte: menyraden säger redan Doit. Remsans negativa marginal ska vara lika
   stor som sidofältets utfyllnad i sidled (--space-4 i shell.css), annars
   rullar sidofältet i sidled. */
body.mac-unified .sidebar { padding-top: 0; }
body.mac-unified .sidebar::before {
  content: ""; flex: none; position: sticky; top: 0; z-index: var(--z-sticky);
  height: var(--titlebar-h); margin: 0 calc(-1 * var(--space-4)) var(--space-3);
  background: var(--bg-sidebar);
}
body.mac-unified .sidebar__brand { display: none; }
/* Utan ordmärket står + (Ny task) ensam på raden: till höger, som en knapp i
   sidofältets verktygsrad (Linears "New issue"), och raden är tätare. Den
   ligger under remsan — inga knappar där fönstret dras. */
body.mac-unified .sidebar__top { justify-content: flex-end; padding: 0 0 var(--space-3); }

/* Sidhuvudet (pageHeader, sticky på datorn) fastnar under titelraden, inte i
   remsan: där når inga klick sidan. doit.js läser top när linjen ska visas. */
body.mac-unified .page-head--sticky { top: var(--titlebar-h); }

/* Laddraden (doit.js) ligger där fönstrets egen laddlinje ligger, under
   titelraden: en linje på ett ställe, också när båda syns vid ett sidbyte. */
body.mac-unified .loadbar { top: var(--titlebar-h); }

/* Över innehållet: en remsa i sidans färg, så att det som rullas upp
   försvinner under titelraden i stället för att hamna där fönstret dras. */
body.mac-unified .pane::before {
  content: ""; position: fixed; z-index: var(--z-sticky);
  top: 0; left: var(--sidebar-w); right: 0; height: var(--titlebar-h);
  background: var(--bg);
}


/* Sidofältet dolt (⌃⌘S): innehållet får hela bredden, remsan också. */
html.mac-sidebar-hidden body.mac-unified .sidebar { display: none; }
html.mac-sidebar-hidden body.mac-unified .pane::before { left: 0; }
@media (min-width: 860px) {
  html.mac-sidebar-hidden body.mac-unified .toast { left: 50%; }
}
}
