/* ╔══════════════════════════════════════════════════════════════════╗
   ║  STREETWAY DESKTOP — full-page picker on viewports ≥ 1024px       ║
   ║  Hidden by default; activated by viewport-aware showTopicPage().  ║
   ╚══════════════════════════════════════════════════════════════════╝ */
.sw-desktop{display:none;background:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif;}
@media (min-width:1024px){
  body.show-topics .topic-page{display:none!important;}
  body.show-topics .sw-desktop{display:grid;grid-template-columns:340px 1fr;min-height:100vh;}
}

/* Sidebar */
.sw-sidebar{background:#141414;padding:36px 32px;display:flex;flex-direction:column;}
.sw-brand{font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#e8b84b;margin-bottom:56px;}
.sw-hero{font-family:Georgia,serif;font-size:44px;font-weight:900;color:rgba(255,255,255,.92);line-height:1;letter-spacing:-.02em;margin-bottom:4px;}
.sw-hero em{font-style:italic;color:#e8b84b;font-weight:900;}
.sw-hero-sub{font-size:13px;color:rgba(255,255,255,.4);margin-top:14px;line-height:1.5;max-width:220px;}
.sw-divider{height:1px;background:rgba(255,255,255,.08);margin:36px 0 24px;}
.sw-path-list{display:flex;flex-direction:column;gap:4px;}
.sw-path-item{display:grid;grid-template-columns:20px 1fr;gap:14px;padding:14px;border-radius:8px;cursor:pointer;position:relative;transition:background .15s;background:none;border:none;text-align:left;font-family:inherit;width:100%;color:inherit;}
.sw-path-item:hover:not(.sw-active){background:rgba(255,255,255,.03);}
.sw-path-item.sw-active{background:rgba(232,184,75,.08);}
.sw-path-item.sw-active::before{content:'';position:absolute;left:-32px;top:14px;bottom:14px;width:2px;background:#e8b84b;}
.sw-path-num{font-size:11px;color:rgba(255,255,255,.3);font-style:italic;font-family:Georgia,serif;padding-top:2px;}
.sw-path-item.sw-active .sw-path-num{color:#e8b84b;}
.sw-path-body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.sw-path-tag{font-size:8px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.3);}
.sw-path-name{font-family:Georgia,serif;font-size:18px;font-weight:700;color:rgba(255,255,255,.6);letter-spacing:-.01em;}
.sw-path-item.sw-active .sw-path-name{color:#fff;}
.sw-path-progress{font-size:10px;color:rgba(255,255,255,.4);margin-top:4px;letter-spacing:.02em;}
.sw-path-item.sw-active .sw-path-progress{color:rgba(232,184,75,.7);}
.sw-sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);}
.sw-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#e8b84b,#b88928);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#1a1200;flex-shrink:0;}
.sw-user-info{flex:1;line-height:1.3;min-width:0;}
.sw-user-name{font-size:12px;color:#fff;font-weight:600;}
.sw-user-streak{font-size:10px;color:rgba(255,255,255,.4);margin-top:2px;}
.sw-settings{color:rgba(255,255,255,.3);font-size:14px;cursor:pointer;}

/* Main */
.sw-main{background:#faf9f7;display:flex;flex-direction:column;min-width:0;overflow-y:auto;}
.sw-topbar{padding:32px 56px 24px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #f0ede8;}
.sw-tb-eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#b8b2a8;margin-bottom:6px;}
.sw-tb-title{font-size:32px;font-weight:800;color:#0a0a0a;letter-spacing:-.025em;}
.sw-progress-block{text-align:right;}
.sw-progress-num{font-size:26px;font-weight:800;color:#0a0a0a;letter-spacing:-.02em;line-height:1;}
.sw-progress-slash{font-size:16px;color:#c0bab2;font-weight:600;}
.sw-progress-label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#b8b2a8;margin-top:4px;}
.sw-progress-bar-wrap{padding:0 56px;background:#faf9f7;border-bottom:1px solid #f0ede8;}
.sw-progress-bar-row{display:flex;align-items:center;gap:14px;padding:16px 0;}
.sw-progress-bar{flex:1;height:3px;background:#eeebe5;border-radius:2px;overflow:hidden;}
.sw-progress-fill{height:100%;background:linear-gradient(90deg,#e8b84b,#f5cc6f);border-radius:2px;transition:width .4s ease;}
.sw-progress-pct{font-size:11px;font-weight:700;color:#0a0a0a;letter-spacing:-.01em;min-width:36px;}
.sw-tabs-row{padding:0 56px;display:flex;gap:0;border-bottom:1px solid #f0ede8;}
.sw-tab{padding:16px 14px;border:none;background:none;font-size:13px;font-weight:700;color:#b8b2a8;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;transition:all .15s;margin-bottom:-1px;letter-spacing:-.005em;}
.sw-tab:hover:not(.sw-on){color:#888;}
.sw-tab.sw-on{color:#0a0a0a;border-bottom-color:#e8b84b;}
.sw-content{padding:32px 56px 40px;flex:1;}
.sw-level-name{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#e8b84b;margin-bottom:20px;}
.sw-units{display:flex;flex-direction:column;gap:0;margin-bottom:40px;}
.sw-urow{display:grid;grid-template-columns:32px 1fr auto;gap:20px;align-items:center;padding:18px 16px;border-bottom:1px solid #f3f0eb;cursor:pointer;transition:background .15s;}
.sw-urow:hover{background:#f5f2ec;}
.sw-urow.sw-selected{background:#fffbf2;}
.sw-urow.sw-selected:hover{background:#fef6e7;}
.sw-urow:last-child{border-bottom:none;}
.sw-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sw-dot-done{background:#2d7a3a;color:#fff;}
.sw-dot-cur{background:#e8b84b;color:#0a0a0a;}
.sw-dot-up{background:#f0ede8;color:#bbb;font-size:13px;font-weight:700;}
.sw-uinfo{display:flex;flex-direction:column;gap:4px;min-width:0;}
.sw-uname{font-size:16px;font-weight:600;letter-spacing:-.01em;}
.sw-uname.sw-done{color:#aaa;text-decoration:line-through;text-decoration-color:rgba(170,170,170,.4);}
.sw-uname.sw-cur{color:#0a0a0a;font-weight:700;}
.sw-uname.sw-up{color:#555;}
.sw-umeta{font-size:11px;color:#b8b2a8;letter-spacing:-.005em;}
.sw-umeta.sw-cur{color:#e8b84b;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:10px;}
.sw-uarrow{font-size:18px;color:#d4d0ca;font-weight:300;transition:color .15s,transform .15s;}
.sw-urow:hover .sw-uarrow{color:#0a0a0a;transform:translateX(2px);}
.sw-urow.sw-selected .sw-uarrow{color:#e8b84b;}
.sw-cta-row{display:flex;justify-content:flex-end;padding-top:8px;}
.sw-cta{background:#0a0a0a;color:#fff;border:none;padding:16px 28px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:14px;letter-spacing:-.01em;transition:opacity .15s;}
.sw-cta:hover{opacity:.85;}
.sw-cta-arrow{width:28px;height:28px;border-radius:50%;background:#e8b84b;color:#1a1200;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;}
