/* layout.css — page shell: sidebar + content, nav, responsive frame */
.app{display:flex;max-width:1240px;margin:0 auto;min-height:100vh}
.sidebar{flex:0 0 258px;border-right:1px solid var(--line);padding:var(--s6) var(--s5);position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}
.content{flex:1 1 auto;min-width:0;max-width:820px;padding:var(--s8) var(--s8) 120px}

.brand{display:block;text-decoration:none;margin-bottom:var(--s6)}
.brand .bt{font-family:var(--display);font-size:17px;font-weight:600;color:var(--text);letter-spacing:-.01em}
.brand .bs{display:block;font-size:var(--fs-micro);color:var(--faint);font-weight:500;margin-top:3px;text-transform:uppercase;letter-spacing:.14em}
.menu-btn{display:none}

.navlabel{font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--faint);margin:0 0 var(--s3) 11px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;font-size:var(--fs-body);transition:.15s}
.nav-item:hover{background:var(--surf);color:var(--text)}
.nav-item.active{background:var(--surf2);color:var(--text)}
.nav-item.active .num{color:var(--accent)}
.nav-item .num{font-family:var(--mono);font-size:var(--fs-caption);color:var(--faint);font-weight:600;flex:0 0 auto}
.nav-item.soon{opacity:.5;pointer-events:none}

@media (max-width:860px){
  .app{display:block;max-width:none}
  .sidebar{position:static;height:auto;flex:none;width:auto;border-right:0;border-bottom:1px solid var(--line);padding:var(--s3) var(--s4);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .brand{margin-bottom:0}
  .menu-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line2);color:var(--muted);font:inherit;font-size:var(--fs-body);padding:7px 12px;border-radius:999px;cursor:pointer}
  .navlabel{display:none}
  .nav{display:none;flex-basis:100%;margin-top:var(--s3)}
  .sidebar.open .nav{display:flex}
  .content{padding:var(--s6) var(--s5) 80px;max-width:none}
  h1{font-size:28px}
}
