:root {
  --bg: #e9dfcc;
  --panel: #f4ebd8;
  --line: #1e1e1e;
  --yellow: #f4dc2e;
  --orange: #ff7428;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Space Grotesk',sans-serif;background:var(--bg);color:#111}
.app-shell{max-width:1180px;margin:30px auto;border:2px solid var(--line);display:grid;grid-template-columns:90px 1fr 310px;background:var(--panel)}
.sidebar{border-right:2px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:12px 8px;gap:20px}
.logo{font-size:24px}
.nav-item{font-size:12px;text-align:center;padding:8px 4px;border:1px solid transparent;cursor:default}
.nav-item.active,.nav-item:hover{border-color:var(--line);background:#fff7e8}
.sidebar nav,.sidebar-bottom{display:flex;flex-direction:column;gap:8px;width:100%}
.sidebar-bottom{margin-top:auto}
.main{padding:0 18px 18px;border-right:2px solid var(--line)}
.topbar{display:flex;border-bottom:2px solid var(--line);margin:0 -18px 18px}
.search{flex:1;border:0;border-right:2px solid var(--line);padding:16px;background:var(--yellow);font-size:16px}
.profile{width:260px;display:flex;align-items:center;gap:10px;padding:8px 12px}
.profile img{width:48px;height:48px;border:1px solid var(--line);object-fit:cover}
h2{font-size:24px;margin:10px 0}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tag{font-size:13px;padding:6px 10px;border:1px solid var(--line);background:#fff7e8}
.tag.active{background:var(--orange);color:white}
.section-head{display:flex;justify-content:space-between;align-items:center}
.section-head a{font-size:13px;text-decoration:underline}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.card img{width:100%;aspect-ratio:3/4;border:1px solid var(--line);object-fit:cover}
.card h3{font-size:16px;margin:6px 0 2px}
.card p{font-size:13px;margin:0 0 4px;color:#333}
.detail{padding:12px}
.project-head{display:flex;gap:10px;align-items:center;border-bottom:2px solid var(--line);padding-bottom:10px}
.project-head img{width:74px;height:74px;object-fit:cover;border:1px solid var(--line)}
.btn{width:100%;padding:12px;border:2px solid var(--line);background:#f7ecd9;margin-top:12px;font-size:16px}
.btn.accent{background:var(--orange);color:#fff}
.stats{margin-top:16px;border-top:2px solid var(--line);padding-top:10px;display:grid;gap:8px}
.stats div{display:flex;justify-content:space-between;font-size:14px}
.about{margin-top:14px;padding-top:14px;border-top:2px solid var(--line);line-height:1.4}
@media (max-width:1100px){.app-shell{grid-template-columns:70px 1fr}.detail{grid-column:1 / -1;border-top:2px solid var(--line)}.main{border-right:0}.cards{grid-template-columns:repeat(2,1fr)}}
