.sleep-desk-screen { background:#081827; }
.sleep-desk { position:relative; z-index:1; width:min(1200px,calc(100% - 64px)); margin:auto; padding:28px 0 36px; }
.sleep-desk-heading { margin-bottom:24px; }
.sleep-desk-heading > span { color:#a9c0ce; }
.sleep-desk-heading h1 { font:30px/1.4 var(--font-title); margin:8px 0 12px; }
.sleep-desk-heading p { margin:0; }
.sleep-desk-tools { position:sticky; top:0; z-index:3; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:12px 0; margin-bottom:20px; background:#081827; }
.sleep-desk-tools button { min-height:76px; padding:12px; background:#112b45; color:#f4f1e8; border:1px solid #a9c0ce; font:17px/1.5 var(--font-body); cursor:pointer; }
.sleep-desk-tools button span,.sleep-desk-tools button strong { display:block; }
.sleep-desk-tools button span { font-size:15px; }
.sleep-desk-tools button[aria-pressed="true"] { background:#f1b43c; color:#192b3c; border:3px double #192b3c; padding:10px; }
.sleep-desk-tools p { grid-column:1/-1; margin:0; color:#f1b43c; font-size:15px; }
.sleep-source-sheet { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:#f4f1e8; color:#192b3c; padding:12px; box-shadow:4px 6px 12px #0003; }
.sleep-source-passage { min-width:0; padding:12px; }
.sleep-source-passage button { width:100%; min-height:182px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:20px; text-align:left; background:transparent; color:#192b3c; border:1px solid #91856d; font:18px/1.6 var(--font-body); cursor:pointer; }
.sleep-source-passage button > strong { font:24px/1.4 var(--font-title); }
.sleep-source-label { color:#08645f; font-size:15px; }
.sleep-rewrite-mark { font-size:16px; border:1px dashed #776c57; padding:2px 8px; margin-top:auto; }
.sleep-source-passage [data-marked="true"] { background:#f5df9d; border-color:#9b6206; }
[data-marked="true"] .sleep-rewrite-mark { border:3px double #895508; }
.sleep-source-passage[data-error="true"] button { border:2px solid #9d2520; }
.sleep-desk-error { color:#9d2520; font-size:16px; margin:8px 0 0; }
.sleep-desk button,.sleep-desk summary { scroll-margin-top:168px; scroll-margin-bottom:24px; }
.sleep-desk button:focus-visible,.sleep-desk summary:focus-visible { outline:3px solid #9b6206; outline-offset:4px; }
.sleep-desk-tools button:focus-visible,.sleep-desk-footer button:focus-visible,.sleep-desk summary:focus-visible { outline-color:#f1b43c; }
.sleep-desk button:hover { border-color:#9b6206; }
.sleep-study-reference { margin-top:24px; border-block:1px solid #31536d; }
.sleep-study-reference summary { min-height:48px; padding:12px 4px; cursor:pointer; }
.sleep-study-reference > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:8px 0 24px; }
.sleep-study-reference h2 { font:22px/1.4 var(--font-title); }
.sleep-study-reference p { max-width:70ch; }
.sleep-desk-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #31536d; margin-top:24px; padding-top:24px; }
.sleep-desk-footer p { margin:0 0 8px; }
.sleep-desk-footer .page-feedback { font-size:16px; }
.sleep-desk-footer > button { flex-shrink:0; }
.sleep-advice-papers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.sleep-advice-paper { min-width:0; display:flex; flex-direction:column; padding:28px; background:#f4f1e8; color:#192b3c; box-shadow:4px 6px 12px #0003; }
.sleep-advice-paper header { border-bottom:1px solid #08746e; padding-bottom:16px; }
.sleep-advice-paper header span { font-size:15px; color:#08645f; overflow-wrap:anywhere; }
.sleep-advice-paper h2 { font:26px/1.4 var(--font-title); margin:8px 0 0; }
.sleep-advice-paper > p { line-height:1.8; }
.sleep-advice-paper dl { border-top:1px dashed #91856d; padding-top:16px; margin:0 0 24px; }
.sleep-advice-paper dt { font-weight:800; }
.sleep-advice-paper dd { margin:4px 0 16px; }
.sleep-advice-paper button { margin-top:auto; min-height:52px; border:1px solid #776c57; padding:12px; background:transparent; color:#192b3c; font:18px/1.5 var(--font-body); cursor:pointer; }
.sleep-advice-paper button[aria-pressed="true"] { background:#f1b43c; border:3px double #192b3c; padding:10px; }
.sleep-advice-summary { padding:24px; margin:24px 0; background:#f4f1e8; color:#192b3c; text-align:center; }
.sleep-advice-summary h2 { font:24px/1.5 var(--font-title); margin:0 0 8px; }
.sleep-advice-summary p { margin:0; }
.sleep-advice-summary[data-complete="true"] { outline:3px double #f1b43c; outline-offset:3px; }
.sleep-desk .sleep-resolution-dialogue { display:block; background:transparent; padding:0; }
.sleep-desk .sleep-resolution-dialogue p { display:grid; grid-template-columns:64px 1fr; gap:12px; padding:12px 0; border-bottom:1px solid #31536d; background:transparent; }
.sleep-desk .sleep-resolution-dialogue strong { margin:0; }
@media (max-width:700px) {
  .sleep-desk { width:calc(100% - 32px); padding-top:20px; }
  .sleep-desk-heading h1 { font-size:25px; }
  .sleep-desk-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sleep-desk-tools button { font-size:16px; min-height:76px; padding:8px; }
  .sleep-desk-tools button[aria-pressed="true"] { padding:6px; }
  .sleep-desk-tools p { font-size:14px; }
  .sleep-desk button,.sleep-desk summary { scroll-margin-top:250px; }
  .sleep-source-sheet,.sleep-advice-papers,.sleep-study-reference > div { grid-template-columns:1fr; }
  .sleep-source-sheet { padding:6px; }
  .sleep-source-passage { padding:6px; }
  .sleep-source-passage button { min-height:176px; padding:16px; font-size:17px; }
  .sleep-source-passage button > strong { font-size:22px; }
  .sleep-desk-footer { align-items:stretch; flex-direction:column; gap:12px; }
  .sleep-advice-paper { padding:20px; }
  .sleep-advice-paper h2 { font-size:24px; }
  .sleep-advice-summary { padding:20px; }
  .sleep-advice-summary h2 { font-size:22px; }
  .sleep-desk .sleep-resolution-dialogue p { grid-template-columns:48px 1fr; gap:8px; }
}
@media (forced-colors:active) {
  .sleep-desk button,.sleep-desk summary { border:1px solid ButtonText; }
  .sleep-desk button[aria-pressed="true"],.sleep-source-passage [data-marked="true"] { outline:3px double Highlight; }
  .sleep-desk button:focus-visible,.sleep-desk summary:focus-visible { outline:3px solid Highlight; }
  .sleep-desk-tools { background:Canvas; }
  .sleep-desk-tools p,.sleep-source-label,.sleep-desk-error { color:CanvasText; }
  .sleep-source-passage[data-error="true"] button { border:3px dashed CanvasText; }
}
