:root{
  color-scheme: light dark;
  --bg:#ffffff;
  --fg:#17181a;
  --muted:#686e76;
  --line:#e6e6e8;
  --star:#fd6301;
  --card-bg:#f7f7f8;
  --card-bg-hover:#efeff1;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:#0e0f11;
    --fg:#e8e6e1;
    --muted:#8a8d93;
    --line:#212327;
    --card-bg:#17181b;
    --card-bg-hover:#1e2023;
  }
}

*{box-sizing:border-box;}

html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

.wrap{
  max-width:560px;
  margin:0 auto;
  padding:64px 24px 48px;
}

.hero{
  text-align:center;
  margin-bottom:56px;
}

.avatar{
  width:72px;
  height:72px;
  border-radius:50%;
  display:block;
  margin:0 auto 16px;
}

.hero h1{
  font-size:22px;
  font-weight:600;
  margin:0 0 8px;
  letter-spacing:-0.01em;
}

.bio{
  color:var(--muted);
  font-size:15px;
  margin:0;
}

.block{
  margin-bottom:40px;
}

.block h2{
  font-size:12px;
  text-transform:lowercase;
  letter-spacing:0.06em;
  color:var(--muted);
  font-weight:500;
  margin:0 0 12px;
}

.lines{
  list-style:none;
  margin:0;
  padding:0;
}

.lines li{
  border-bottom:1px solid var(--line);
}

.lines li:last-child{
  border-bottom:none;
}

.lines a{
  display:block;
  color:var(--fg);
  text-decoration:none;
  padding:14px 2px;
  font-size:15px;
}

.lines a:hover .repo-name{
  color:var(--star);
}

.lines a:focus-visible{
  outline:2px solid var(--star);
  outline-offset:2px;
  border-radius:2px;
}

.repo-top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}

.repo-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  transition:color .15s ease;
}

.repo-stars{
  color:var(--muted);
  font-size:13px;
  flex-shrink:0;
  font-variant-numeric:tabular-nums;
}

.repo-stars::before{
  content:"★ ";
  color:var(--star);
}

.repo-desc{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  margin-top:4px;
  overflow-wrap:break-word;
}

.loading{
  color:var(--muted);
  font-size:14px;
  padding:12px 2px;
}

.foot{
  text-align:center;
  margin-top:64px;
}

.discussion-card{
  display:flex;
  align-items:center;
  gap:14px;
  background:var(--card-bg);
  border:1px solid var(--line);
  border-radius:10px;
  padding:16px;
  text-decoration:none;
  color:var(--fg);
  transition:background .15s ease, border-color .15s ease;
}

.discussion-card:hover{
  background:var(--card-bg-hover);
  border-color:var(--star);
}

.discussion-card:focus-visible{
  outline:2px solid var(--star);
  outline-offset:2px;
}

.discussion-icon{
  flex-shrink:0;
  color:var(--star);
}

.discussion-text{
  display:flex;
  flex-direction:column;
  gap:2px;
  flex:1;
  min-width:0;
}

.discussion-text strong{
  font-size:15px;
  font-weight:600;
}

.discussion-text small{
  font-size:13px;
  color:var(--muted);
}

.discussion-arrow{
  flex-shrink:0;
  color:var(--muted);
}

.foot a{
  color:var(--muted);
  font-size:13px;
  text-decoration:none;
}

.foot a:hover{
  color:var(--fg);
}

@media (prefers-reduced-motion:no-preference){
  .lines a{
    transition:color .15s ease;
  }
}
