/* The collection is the homepage. The existing clinical folio stays intact. */
.is-desk-home { --paper:#f5f8f8; background:transparent; }
.is-desk-home .workspace { width:min(1920px,100%); padding:20px clamp(24px,3.6vw,68px) 20px; }
.is-desk-home .masthead { min-height:46px; }
.is-desk-home .brand { font-size:18px; letter-spacing:-.6px; }
.is-desk-home .brand span { font-size:12px; }
.is-desk-home .desk-layout { display:grid; grid-template-columns:clamp(250px,24vw,360px) minmax(0,1fr); gap:clamp(28px,3.5vw,64px); align-items:start; padding:40px 0 64px; }
.is-desk-home .invitation { display:flex; flex-direction:column; position:static; padding:0; max-height:none; }
.is-desk-home .desk-byline { font-size:10px; font-weight:500; letter-spacing:.05em; line-height:1.6; text-transform:none; gap:10px; }
.is-desk-home .tiny-rule { width:21px; flex:0 0 21px; }
.is-desk-home .invitation h1 { font-size:clamp(45px,4.25vw,68px); font-weight:450; line-height:1.02; letter-spacing:-.055em; margin:24px 0 16px; }
.is-desk-home .intro { font-size:15px; line-height:1.6; margin:0 0 28px; }
.is-desk-home .desk-library { min-height:0; display:flex; flex-direction:column; flex-shrink:0; overflow:visible; }
.is-desk-home .selection-label { font-size:12px; flex-shrink:0; }
.is-desk-home #desk-total { font-size:11px; opacity:.9; }
.is-desk-home .desk-search-wrap { flex-shrink:0; border-radius:5px; background:#173d50d9; padding:0 14px; }
.is-desk-home #desk-search { min-height:48px; font-size:13px; }
.is-desk-home .desk-library .studies { height:clamp(360px,calc(100dvh - 470px),520px); min-height:360px; max-height:none; flex-shrink:0; margin-top:12px; overflow-y:auto; }
.is-desk-home .desk-group-label { font-size:11px; padding:10px 9px; margin:0 0 6px; font-weight:550; border-radius:3px; letter-spacing:0; }
.is-desk-home .desk-library .study-choice { min-height:52px; padding:11px 14px; margin-bottom:7px; border-radius:4px; gap:10px; }
.is-desk-home .desk-library .study-choice strong { font-size:13px; font-weight:500; }
.is-desk-home .desk-library .choice-number { font-size:10px; opacity:.85; }
.is-desk-home .hub-link { flex-shrink:0; align-self:flex-start; padding:0; border:0; background:none; color:inherit; font:inherit; font-size:11px; margin-top:9px; opacity:.9; text-decoration:none; }
.is-desk-home .hub-link:hover span { text-decoration:underline; text-underline-offset:4px; }
.is-desk-home .library-toggle { display:none; }
.is-desk-home .footer-replay { display:none; }
.is-desk-home .folio { width:100%; max-width:none; margin:28px 0 0; }
.is-desk-home .folio-tab { height:34px; top:-29px; padding-bottom:4px; font-size:11px; }
.is-desk-home .paper-header { padding:23px 24px 21px 32px; align-items:center; }
.is-desk-home .paper-heading h2 { font-size:clamp(24px,2.2vw,34px); line-height:1.15; letter-spacing:-.04em; max-width:none; }
.is-desk-home .paper-heading .eyebrow { font-size:9px; letter-spacing:1px; }
.is-desk-home .paper-actions { display:flex; align-items:center; gap:20px; }
.is-desk-home .sheet-number { font-size:28px; }
.is-desk-home .paper-actions .full-tool { display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:44px; padding:10px 13px; border:1px solid #c2d2d8; border-radius:4px; background:#e8f0f2; color:#263e4a; font-size:11px; text-decoration:none; white-space:nowrap; }
.is-desk-home .paper-actions .full-tool:hover { background:#dce8ec; }
.is-desk-home .paper-actions .full-tool svg { width:16px; height:16px; }
.is-desk-home.is-live .example-mount { padding:12px 14px 0 22px; }
.is-desk-home .live-tool-viewport { height:max(530px,calc(100dvh - 262px)); max-height:960px; }
.is-desk-home .paper-footer { padding:13px 0; min-height:42px; }
.is-desk-home .paper-footer p { display:block; max-width:none; margin:0; font-size:11px; }
.is-desk-home .desk-caption { margin:0; font-size:11px; }
.is-desk-home .workspace-footer { font-size:10px; opacity:.95; }
.is-desk-home .workspace-footer>span { max-width:none; }
.is-desk-home .workspace-footer>span:last-child { font-size:10px; }
.is-desk-home .setting-shade { background:linear-gradient(90deg,#102f45b8 0%,#193d4d70 23%,#1b405120 51%,transparent 82%),linear-gradient(0deg,#102d3f90,transparent 25%); }
.is-desk-home .noscript-note { position:fixed; inset:auto 16px 16px; z-index:90; margin:0; padding:20px; background:var(--paper); color:var(--ink); }
@media (min-width:901px) and (min-height:880px) {
  .is-desk-home .invitation { position:sticky; top:24px; }
}
@media (min-width:901px) and (max-height:800px) {
  .is-desk-home .desk-layout { padding-top:24px; }
  .is-desk-home .invitation h1 { font-size:44px; margin:12px 0 10px; }
  .is-desk-home .intro { font-size:13px; line-height:1.5; margin-bottom:16px; }
  .is-desk-home .live-tool-viewport { height:max(430px,calc(100dvh - 244px)); }
}
@media (max-width:1100px) and (min-width:901px) {
  .is-desk-home .workspace { padding-inline:24px; }
  .is-desk-home .desk-layout { grid-template-columns:240px minmax(0,1fr); gap:28px; }
  .is-desk-home .invitation h1 { font-size:46px; }
  .is-desk-home .desk-byline { font-size:9px; gap:8px; }
  .is-desk-home .paper-actions .sheet-number { display:none; }
  .is-desk-home .paper-header { padding-inline:25px 17px; gap:15px; }
}
@media (max-width:900px) {
  .is-desk-home .workspace { padding:17px 24px 22px; }
  .is-desk-home .desk-layout { display:flex; flex-direction:column; padding:24px 0 62px; gap:30px; }
  .is-desk-home .invitation { display:grid; grid-template-columns:1fr 1fr; column-gap:30px; width:100%; position:static; max-height:none; }
  .is-desk-home .desk-byline { grid-column:1/-1; font-size:11px; }
  .is-desk-home .invitation h1 { grid-column:1; grid-row:2/4; font-size:49px; margin:15px 0 0; }
  .is-desk-home .intro { display:none; }
  .is-desk-home .mobile-picker { grid-column:2; grid-row:2; margin-top:17px; gap:6px; font-size:11px; width:100%; align-self:stretch; }
  .is-desk-home .mobile-picker select { font-size:13px; }
  .is-desk-home .library-toggle { display:flex; grid-column:2; grid-row:3; align-items:center; gap:9px; justify-content:flex-start; min-height:44px; padding:0; color:#f5f8f8; background:none; font-size:11px; }
  .is-desk-home .library-toggle svg { width:16px; height:16px; }
  .is-desk-home .desk-library { display:none; grid-column:1/-1; margin-top:18px; }
  .is-desk-home.library-open .desk-library { display:flex; }
  .is-desk-home .desk-library .studies { height:clamp(360px,52dvh,460px); min-height:360px; max-height:460px; }
  .is-desk-home .hub-link { display:none; }
  .is-desk-home .folio { margin:24px 0 0; }
  .is-desk-home .live-tool-viewport { height:max(540px,70dvh); }
  .is-desk-home .setting-shade { background:linear-gradient(#16354eab 0%,#1c405d70 42%,#142d4050); }
  .is-desk-home .workspace-footer { gap:20px; }
  .is-desk-home .footer-replay { display:inline-flex; align-items:center; justify-content:center; background:none; padding:0 4px; min-height:44px; color:#f5f8f8; font:inherit; text-decoration:underline; text-underline-offset:4px; }
  .is-desk-home .footer-agents { display:inline-flex; align-items:center; justify-content:center; padding:0 4px; min-height:44px; color:#f5f8f8; font:inherit; font-size:.78rem; text-decoration:underline; text-underline-offset:4px; opacity:.75; }
}
@media (max-width:540px) {
  .is-desk-home .workspace { padding:12px 16px 20px; }
  .is-desk-home .masthead { gap:8px; }
  .is-desk-home .scene-controls { gap:6px; }
  .is-desk-home .motion-toggle { width:44px; min-width:44px; height:44px; background:transparent; color:#f5f8f8; }
  .is-desk-home .brand { font-size:17px; }
  .is-desk-home .brand span { font-size:11px; }
  .is-desk-home .desk-layout { padding-top:22px; gap:20px; }
  .is-desk-home .invitation { display:flex; }
  .is-desk-home .desk-byline { font-size:10px; letter-spacing:.02em; }
  .is-desk-home .invitation h1 { font-size:49px; line-height:1; margin:16px 0 23px; max-width:8ch; }
  .is-desk-home .invitation h1 br { display:block; }
  .is-desk-home .invitation h1 span { margin-left:0; }
  .is-desk-home .mobile-picker { margin-top:0; gap:7px; order:3; }
  .is-desk-home .desk-byline { order:1; }
  .is-desk-home .invitation h1 { order:2; }
  .is-desk-home .library-toggle { order:4; }
  .is-desk-home .desk-library { order:5; }
  .is-desk-home .mobile-picker select { font-size:14px; }
  .is-desk-home .library-toggle { align-self:flex-start; }
  .is-desk-home .desk-library { margin-top:4px; width:100%; }
  .is-desk-home .folio { width:100%; margin:18px 0 0; }
  .is-desk-home .paper-stack { display:block; inset:4px -3px -5px 3px; }
  .is-desk-home .paper { border:1px solid #ffffffd9; border-radius:3px; }
  .is-desk-home .paper::before { display:block; left:9px; }
  .is-desk-home .paper-header { display:flex; padding:17px 14px 16px 20px; gap:12px; }
  .is-desk-home .paper-heading h2 { font-size:23px; margin-top:7px; }
  .is-desk-home .paper-heading .eyebrow { font-size:8px; letter-spacing:.6px; }
  .is-desk-home .paper-actions .sheet-number { display:none; }
  .is-desk-home .paper-actions .full-tool { width:44px; height:44px; padding:10px; font-size:0; gap:0; }
  .is-desk-home .paper-actions .full-tool svg { width:20px; height:20px; }
  .is-desk-home.is-live .example-mount { padding:0 0 0 0; }
  .is-desk-home .live-tool-viewport { height:max(550px,72dvh); border-inline:0; border-top:1px solid var(--line); }
  .is-desk-home .paper-footer { margin:0 14px 0 20px; padding:12px 0; }
  .is-desk-home .paper-footer p { font-size:10px; }
  .is-desk-home .desk-caption { left:0; right:0; font-size:10px; top:calc(100% + 18px); }
  .is-desk-home .workspace-footer { font-size:9px; line-height:1.7; gap:12px; flex-wrap:wrap; }
  .is-desk-home .workspace-footer>span:last-child { font-size:9px; max-width:140px; }
}

/* Mobile visitors choose a page before the desk opens. */
.is-desk-home #tool-chooser[hidden],
.is-desk-home #study-panel[hidden],
.tool-chooser [hidden] { display:none !important; }
.desk-choice-pending .is-desk-home .folio,
.desk-choice-pending .is-desk-home .mobile-picker,
.desk-choice-pending .is-desk-home .library-toggle { display:none; }
.is-desk-home.desk-choosing .mobile-picker,
.is-desk-home.desk-choosing .library-toggle,
.is-desk-home.desk-choosing .desk-library { display:none; }
.tool-chooser {
  --chooser-surface:#f5f8f8;
  --chooser-cell:#e8f0f2;
  --chooser-ink:#263e4a;
  --chooser-secondary:#526a77;
  --chooser-rule:#c2d2d8;
  --chooser-accent:#A94A0A;
  width:100%;
  margin-top:28px;
  padding:24px;
  color:var(--chooser-ink);
  background:var(--chooser-surface);
  border:1px solid #ffffffd9;
  border-radius:12px;
  box-shadow:0 12px 36px #173d4433;
}
.chooser-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.chooser-eyebrow { margin:0 0 8px; color:var(--chooser-secondary); font-size:11px; line-height:1.3; }
.chooser-header h2 { margin:0; font-size:28px; line-height:1.1; font-weight:500; letter-spacing:-.04em; }
.chooser-total { white-space:nowrap; font-size:11px; color:var(--chooser-secondary); }
.chooser-intro { margin:12px 0 20px; color:var(--chooser-secondary); font-size:13px; line-height:1.5; }
.chooser-search { display:flex; align-items:center; gap:12px; padding-inline:12px; border:1px solid var(--chooser-rule); border-radius:8px; background:var(--chooser-cell); }
.chooser-search svg { width:19px; height:19px; flex-shrink:0; fill:none; stroke:var(--chooser-secondary); stroke-width:1.6; }
.chooser-search input { width:100%; min-width:0; min-height:48px; padding:8px 0; border:0; outline:0; background:transparent; font:inherit; font-size:16px; color:var(--chooser-ink); }
.chooser-search input::placeholder { color:var(--chooser-secondary); opacity:1; }
.chooser-search:focus-within { outline:3px solid #D2600F; outline-offset:3px; }
.chooser-group { margin-top:24px; }
.chooser-group h3 { margin:0 0 8px; font-size:12px; font-weight:600; color:var(--chooser-secondary); }
.chooser-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.chooser-choice { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:68px; width:100%; padding:12px; text-align:left; background:var(--chooser-cell); border:1px solid var(--chooser-rule); border-radius:8px; color:var(--chooser-ink); font:inherit; font-size:14px; line-height:1.35; font-weight:500; }
.chooser-choice span { min-width:0; overflow-wrap:anywhere; }
.chooser-choice svg { width:14px; height:14px; flex-shrink:0; fill:none; stroke:var(--chooser-accent); stroke-width:1.8; }
.chooser-choice:hover { border-color:var(--chooser-accent); background:#dce8ec; }
.chooser-choice:active { background:#d3e1e6; }
.chooser-choice:focus-visible, .chooser-empty button:focus-visible { outline:3px solid #D2600F; outline-offset:3px; }
.chooser-empty { padding:24px 0 8px; text-align:center; color:var(--chooser-secondary); font-size:14px; }
.chooser-empty p { margin:0 0 12px; }
.chooser-empty button { min-height:44px; padding:10px 20px; border:1px solid var(--chooser-rule); border-radius:8px; background:var(--chooser-cell); color:var(--chooser-ink); font:inherit; }
@media (max-width:900px) {
  .is-desk-home .tool-chooser { margin-top:0; }
  .is-desk-home.desk-choosing .invitation { display:block; }
  .is-desk-home.desk-choosing .invitation h1 { margin-bottom:0; }
}
@media (max-width:540px) {
  .is-desk-home .tool-chooser { padding:20px 16px; }
  .is-desk-home.desk-choosing .desk-layout { gap:24px; }
  .is-desk-home.desk-choosing .invitation h1 { font-size:44px; max-width:9ch; margin-top:16px; }
  .chooser-header h2 { font-size:27px; }
  .chooser-intro { margin-bottom:16px; }
  .is-desk-home .mobile-picker>span { font-size:12px; font-weight:500; }
  .is-desk-home .mobile-picker select { font-size:16px; }
}
@media (prefers-reduced-motion:no-preference) {
  .chooser-choice { transition:background-color 120ms ease-out,border-color 120ms ease-out; }
}

/* Keep tool navigation in reach while a phone visitor uses the preview. */
@media (max-width:900px) {
  .is-desk-home:not(.desk-choosing) .invitation {
    position:sticky; top:0; z-index:25;
    display:grid; grid-template-columns:minmax(0,1fr) 48px; gap:8px 12px;
    padding:10px 12px; border:1px solid #aec8d147; border-radius:8px;
    background:#173d50;
  }
  .is-desk-home:not(.desk-choosing) .invitation>.desk-byline,
  .is-desk-home:not(.desk-choosing) .invitation>.intro { display:none; }
  .is-desk-home:not(.desk-choosing) .invitation>h1 {
    grid-column:1/-1; grid-row:1; order:0; max-width:none;
    font-size:16px; line-height:1.3; letter-spacing:-.02em; margin:0;
  }
  .is-desk-home:not(.desk-choosing) .invitation>h1 br { display:none; }
  .is-desk-home:not(.desk-choosing) .invitation>h1 span { margin-left:.25em; }
  .is-desk-home:not(.desk-choosing) .mobile-picker {
    grid-column:1; grid-row:2; margin:0; gap:4px; order:0;
  }
  .is-desk-home:not(.desk-choosing) .library-toggle {
    grid-column:2; grid-row:2; align-self:end; justify-content:center;
    width:48px; min-height:48px; padding:0; font-size:0; order:0;
    border:1px solid #aec8d147; border-radius:4px;
  }
  .is-desk-home:not(.desk-choosing) .library-toggle svg { width:20px; height:20px; }
  .is-desk-home:not(.desk-choosing) .desk-library { grid-column:1/-1; grid-row:3; margin:4px 0 0; }
  .is-desk-home:not(.desk-choosing) .desk-library .studies {
    height:auto; min-height:120px; max-height:min(360px,calc(100dvh - 220px));
  }
  .is-desk-home:not(.desk-choosing) .folio :is(button,a,input,select,textarea,iframe,[tabindex],#study-title) { scroll-margin-top:152px; }
}

/* September 22: readable labels, a quiet visit count, and coherent selection feedback. */
.is-desk-home :is(.desk-byline,.desk-group-label,.choice-number,.paper-heading .eyebrow,.paper-footer p,.desk-caption,.folio-tab,.chooser-eyebrow,.chooser-total,.desk-sky-label,.desk-sky-condition,#desk-total) { font-size:12px; }
.is-desk-home .intro { font-size:16px; }
.is-desk-home .workspace-footer { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px 24px; font-size:12px; }
.is-desk-home .workspace-footer>span { max-width:none; font-size:12px; }
.is-desk-home .workspace-footer>span:first-child { flex:1 1 320px; }
.is-desk-home .workspace-footer>span:nth-child(2) { flex:1 1 250px; text-align:right; }
.is-desk-home .workspace-footer :is(a,button) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:0 4px; margin:0; background:none; color:#f5f8f8; font:inherit; text-decoration:underline; text-underline-offset:4px; }
.explored-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; line-height:1.5; margin-top:8px; }
.explored-tools button { min-width:44px; min-height:44px; padding:6px; background:none; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:3px; }
.explored-tools button:disabled { opacity:.5; text-decoration:none; }
.desk-library .study-choice { transition:translate 250ms cubic-bezier(.22,1,.36,1),background-color 150ms ease-out; }
.has-sliding-selection { position:relative; isolation:isolate; }
.has-sliding-selection::before { content:''; position:absolute; z-index:-1; left:0; top:3px; width:var(--selection-width,0); height:var(--selection-height,44px); background:#fff; border-radius:3px; box-shadow:0 1px 5px #2448581a; transform:translateX(var(--selection-x,3px)); transition:transform 250ms cubic-bezier(.22,1,.36,1),width 250ms cubic-bezier(.22,1,.36,1); }
.has-sliding-selection button[aria-pressed=true] { background:transparent; box-shadow:none; }
.has-sliding-selection.selection-static::before,.motion-paused .has-sliding-selection::before { transition:none; }
@media(max-width:600px) { .is-desk-home .workspace-footer { gap:4px 18px; } .is-desk-home .workspace-footer>span { flex-basis:100%; text-align:left!important; } }
@media(prefers-reduced-motion:reduce) { .desk-library .study-choice,.has-sliding-selection::before { transition:none; translate:none!important; } }

/* Audit: readable secondary desk labels. */
.desk-sky-place,.meet-spiney span{font-size:12px!important}
@media(min-width:541px){#full-tool{font-size:12px!important}}
.is-desk-home .replay-opening span{font-size:12px}

/* Chooser Spiney: outfit visibility follows data-outfit, set by desk-home/main.js
   from the session pick first, then weather. The raw SPINEY_ART markup hides
   every .outfit group via the display="none" attribute; these rules reveal the
   active one (CSS wins over presentation attributes). */
.chooser-spiney-art .outfit { display: none; }
.chooser-spiney[data-outfit="scarf"] .chooser-spiney-art .scarf,
.chooser-spiney[data-outfit="rain"] .chooser-spiney-art .outfit-rain,
.chooser-spiney[data-outfit="snow"] .chooser-spiney-art .outfit-snow,
.chooser-spiney[data-outfit="sun"] .chooser-spiney-art .outfit-sun,
.chooser-spiney[data-outfit="party"] .chooser-spiney-art .outfit-party,
.chooser-spiney[data-outfit="sleepy"] .chooser-spiney-art .outfit-sleepy,
.chooser-spiney[data-outfit="hero"] .chooser-spiney-art .outfit-hero,
.chooser-spiney[data-outfit="chef"] .chooser-spiney-art .outfit-chef,
.chooser-spiney[data-outfit="soccer"] .chooser-spiney-art .outfit-soccer { display: initial; }
.chooser-spiney:not([data-outfit="scarf"]) .chooser-spiney-art .scarf { display: none; }
/* Search recovery sits directly under the chooser field. */
.chooser-empty { padding:12px 0 8px; }
.chooser-empty .search-suggest { min-height:44px; padding:0 6px; border:0; background:none; color:inherit; text-decoration:underline; }
