/* Map the original desk widgets to the street palette, including saved light mode. */
:root, html[data-theme=dark] {
  --bg:var(--street-bg); --fg:var(--street-text); --card:var(--street-panel); --border:var(--street-line);
  --muted:var(--street-muted); --accent:var(--street-ice); --accent-weak:color-mix(in srgb,var(--accent) 12%,transparent);
  --topbar:var(--street-bg); --desk-ink:var(--street-text); --desk-wash:var(--street-raised);
  --purple:var(--street-ice); --green:var(--street-lime);
}
.layout{max-width:1550px;grid-template-columns:196px minmax(0,1fr)}
.sidebar{padding:24px 12px 28px;background:var(--street-bg)}
.side-top{padding:0 5px 12px;border-bottom:1px solid var(--border)}
.nav-cta,.nav-cta:hover {background:var(--desk-wash);color:var(--fg);border:1px solid var(--border);border-left:3px solid var(--street-lime);border-radius:3px;box-shadow:none}
.nav-i {border-radius:2px}
.desk-topics summary {padding:9px 10px;color:var(--muted);font-size:14px;cursor:pointer}
.desk-topics[open] summary {color:var(--fg)}
.street-world :is(.wbtn,.topbtn,.card,.pg-overview,.game-card,.wiz-steps li,.st-card,.tree-node,.tpl-box,.hm-wrap,.share-box){border-radius:4px}
.street-world .wbtn.primary {background:var(--street-active);color:var(--street-active-ink)}
.street-world #progress {background:var(--street-ice)}
#desk-main {padding-inline:clamp(16px,2.7vw,42px)}
.side-logo{color:white;font-size:28px}
.side-name{font-size:16px}.side-name small{margin-top:3px}
.nav-i{padding:8px 10px}.nav-cta{font-weight:650}
.c-planner{--cat:var(--street-ice)}.c-plan{--cat:#529ae0}.c-progress{--cat:#30a9dd}.c-tree{--cat:var(--street-lime)}
#desk-menu{display:none}
#desk-main{min-width:0;outline:0}
#desk-main h1{font-size:clamp(24px,3vw,38px);color:var(--desk-ink);line-height:1.25;letter-spacing:-.04em;margin:18px 0 12px}
#view-dashboard .wiz-head{padding:0;background:none;border:0;box-shadow:none;margin:0}
#view-dashboard .pg-overview{margin-top:24px}
#searchStatus{font-size:12px}
#q{padding-left:15px}
.desk-resume:not([hidden]){display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--border);border-radius:4px;background:var(--card);margin:12px 0}
.desk-resume p{margin:0;color:var(--muted);font-size:14px}.desk-resume h2{flex:1 1 12rem;margin:0;overflow-wrap:anywhere;font-size:17px}
.desk-fold{background:var(--card);border:1px solid var(--border);border-radius:12px}.desk-fold summary{padding:12px;font-weight:600;cursor:pointer}
.desk-footer{display:flex;gap:10px 20px;flex-wrap:wrap;justify-content:center;padding:24px 10px;font-size:12px;color:var(--muted)}
.desk-game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:14px;margin:16px 0 22px}
.desk-game{display:grid;gap:8px;padding:24px 18px;color:var(--desk-ink);background:var(--desk-wash);border-radius:4px;border:1px solid var(--border)}
.desk-game strong{font-size:20px}.desk-game span{color:var(--muted)}
#view-games>.wbtn{margin-right:10px}
.skip-desk{position:fixed;left:8px;top:-80px;padding:10px;background:var(--card);z-index:300}
.skip-desk:focus{top:8px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:960px){
.layout{display:block}.sidebar{position:sticky;top:0;height:auto;max-height:80dvh;overflow:auto;background:var(--bg);padding:8px 14px;z-index:80}
#desk-nav{display:none;max-height:65dvh;overflow:auto}#desk-nav.open{display:block}
#desk-nav .nav-i,#desk-nav .nav-cta{display:flex}
#desk-menu{display:block;margin-left:auto;min-height:42px}
.side-top{margin-bottom:0}.side-logo{height:34px;width:34px}
.topbar{position:static}.topbar #searchStatus,.topbar #denseBtn{display:none}
#desk-main{padding:0 12px 32px}#desk-main h1{margin:14px 0;font-size:26px}
.topbar{gap:5px;flex-wrap:nowrap}.search-wrap{min-width:48px}.topbtn{padding:6px 8px}#statusFilter{max-width:78px}
.dash-grid{grid-template-columns:1fr}.sec,.card,.tree-drawer{max-width:100%}
.card-t,.pchip,.tree-node,.plan-head,.pg-row{overflow-wrap:anywhere}
}

/* Learning sequence and optional ways to explore the desk. */
.desk-global-tools {display:none}
body[data-view="dashboard"] .topbar {display:none}
body[data-view="dashboard"] .desk-global-tools {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
#resource-search {display:flex;align-items:center;width:min(100%,38rem);padding:3px 4px 3px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card)}
#resource-search input {width:100%;min-width:0;border:0;background:transparent;color:var(--fg);font:inherit;font-size:14px;padding:6px 0}
#resource-search button,#home-theme {border:0;border-radius:7px;color:var(--desk-ink);background:var(--desk-wash);font:inherit;font-size:14px;padding:5px 13px;cursor:pointer;white-space:nowrap}
#home-theme {font-size:22px;line-height:25px}
.learning-order {margin:12px 0 22px; color:var(--fg)}
.order-header,.district-bar {display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.order-header {margin:12px 0}
.order-header h2 {color:var(--fg);font-size:18px;margin:0}
.order-header label {display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}
.order-track {max-width:100%;min-height:37px;border:1px solid var(--border);border-radius:2px;padding:5px 10px;background:var(--card);color:var(--fg);font:inherit}
.desk-district {display:grid;grid-template-columns:minmax(0,1.8fr) minmax(245px,.85fr);gap:14px}
.district-map,.order-action {min-width:0;border:1px solid var(--border);background:var(--card)}
.district-map {display:flex;flex-direction:column}
.district-bar,.district-caption {padding:9px 14px}
.district-bar {border-bottom:1px solid var(--border);font-size:14px}
.district-bar strong::before {content:"";display:inline-block;margin-right:9px;width:7px;height:7px;background:var(--street-lime)}
.district-count,.district-caption {color:var(--muted);font-size:12px}
.district-count {font-variant-numeric:tabular-nums}
.district-caption {border-top:1px solid var(--border);margin-top:auto}
.order-map {background:#122d4e;flex:1;display:grid;align-content:center}
.order-action {position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(16px,1.6vw,26px);background:linear-gradient(150deg,var(--street-raised),var(--card) 68%)}
.order-action::before {content:"";position:absolute;top:-1px;left:-1px;width:42px;height:3px;background:var(--street-ice)}
.order-position {color:var(--accent);font:650 13px/1.5 var(--street-sans);letter-spacing:.04em}
.order-mission {font-size:clamp(21px,2.25vw,33px);line-height:1.32;letter-spacing:-.035em;margin:9px 0}
.order-task {margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.order-controls {display:grid;gap:6px;margin-top:16px}
.order-next,.starter-start {display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--street-active);color:var(--street-active-ink);padding:8px 12px;line-height:1.4;text-align:center;text-decoration:none;font-weight:750}
.order-next:hover,.starter-start:hover {color:var(--street-active-ink);text-decoration:underline}
.is-intro .order-next,.order-reset {min-height:34px;padding:4px;background:transparent;color:var(--accent);font:inherit;font-size:13px;border:0;cursor:pointer}
.order-stages {display:flex;list-style:none;padding:0;margin:10px 0;gap:8px}
.order-stages li {flex:1;min-width:0}
.order-stage {height:100%;display:flex;flex-direction:column;gap:3px;padding:8px 13px;color:var(--fg);border:1px solid var(--border);background:var(--card);text-decoration:none}
.order-stage small {font:500 12px/1.4 var(--street-sans);color:var(--muted)}
.order-stage strong {font-size:15px}
.order-stages [aria-current=step] .order-stage {border-left:3px solid var(--street-lime);padding-left:11px}
.order-stages [aria-current=step] small {color:var(--street-lime)}
.order-stage:hover {border-color:var(--accent)}
.explore-heading {color:var(--desk-ink); font-size:18px; margin:20px 0 8px}
.start-guide {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0 0 16px}
.start-secondary {position:relative; border-radius:3px; text-decoration:none}
.start-secondary:hover {text-decoration:none; border-color:var(--accent)}
.start-find .start-icon {background:#dce8fb; color:#314c80}
.start-secondary {display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--border);background:var(--card);color:var(--fg)}
.start-secondary strong {display:block;font-size:clamp(17px,1.5vw,21px);line-height:1.4}
.start-secondary small {display:block;font-size:13px;line-height:1.5;margin-top:3px;color:var(--muted)}
.start-secondary b {color:var(--muted);margin-left:auto}
.start-icon {display:grid;place-items:center;border-radius:12px;font-weight:650;font-size:23px;width:44px;height:44px;flex:none;background:#dfefe8;color:#21624e}
.start-ai .start-icon {background:#ebe5fd;color:#633caf}
.practice-tray {display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 15px;padding:14px 18px;margin:14px 0 18px;border:1px solid var(--border);border-radius:4px;background:var(--card)}
.practice-tray h2 {font-size:16px;margin:0}.practice-link {font-size:14px;color:var(--accent)}
.practice-tray details {grid-column:1/-1;border:0;background:transparent}
.practice-tray summary {font-size:14px;padding:6px 0;color:var(--muted)}
@media(max-width:700px){
 .start-guide{grid-template-columns:1fr;gap:9px}
 .order-header {align-items:flex-start}
 .order-stages {gap:8px;margin:20px 0}
 .order-stage {padding-right:0}
 .order-action {gap:10px}
 .order-stage small {font-size:12px}
 .start-secondary{padding:10px 14px;gap:11px}.start-icon{width:36px;height:36px;font-size:19px}
 .practice-tray{padding:12px}.start-guide{margin-bottom:12px}
}
@media (min-width:701px) and (max-width:1100px) { .start-secondary {flex-wrap:wrap} .start-secondary .start-icon {display:none} }

#view-dashboard .desk-title-row {display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:16px 0 2px}
#desk-main .desk-title-row h1 {margin:0;font-size:clamp(30px,3.9vw,55px);line-height:1.13;letter-spacing:-.055em;color:var(--fg)}
.desk-library-cta {display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:1px solid var(--accent);color:var(--accent);background:var(--card);font-size:14px;font-weight:700}
.desk-library-cta:hover {background:var(--desk-wash)}
.start-find .start-icon,.start-ai .start-icon,.start-icon {color:var(--accent);background:var(--desk-wash);border-radius:2px}
@media(max-width:960px){
  .sidebar .side-top {padding:0;border-bottom:0}
}
@media(max-width:700px){
  #desk-main{padding-inline:12px}
  #view-dashboard .desk-title-row {padding-top:10px}
  .desk-library-cta {min-height:38px}
  .desk-district {grid-template-columns:1fr;gap:10px}
  .is-intro .order-action {grid-row:1}
  .order-header {align-items:center;margin:8px 0}
  .order-track {min-height:34px;padding:4px}
  .learning-order {margin:8px 0 14px}
  .order-action {padding:12px 14px}
  .order-mission {margin:4px 0}
  .order-task {font-size:14px}
  .order-controls {margin-top:10px}
  .district-bar,.district-caption {padding:6px 10px}
  .order-stages {gap:5px;margin:8px 0}
  .order-stage {padding:7px}
  .order-stage small {font-size:11px}
  .order-stage strong {font-size:13px}
  .order-stages [aria-current=step] .order-stage {padding-left:5px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
