.f-list{display:flex;flex-direction:column;gap:8px}
.f-topic{display:flex;align-items:center;gap:16px;padding:14px 16px;background:rgba(var(--fg),.03);border:1px solid rgba(var(--fg),.07);border-radius:var(--radius-lg);cursor:pointer;transition:background .12s,border-color .12s}
.f-topic:hover{background:rgba(var(--fg),.055);border-color:rgba(var(--fg),.12)}
.f-vote{flex-shrink:0;width:3.25rem;height:3.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:none;border:1px solid rgba(var(--fg),.12);border-radius:var(--radius-md);color:rgba(var(--fg),.82);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.f-vote svg{width:16px;height:16px}
.f-vote span{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}
.f-vote span:empty{display:none}
.f-vote:hover{background:rgba(var(--fg),.05);border-color:rgba(var(--fg),.24);color:rgb(var(--fg))}
.f-vote.voted,.f-vote.voted:hover{background:rgba(var(--ft-blue),.16);border-color:transparent;color:rgb(var(--ft-blue))}
.f-topic-body{flex:1;min-width:0}
.f-topic-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:1.0625rem;font-weight:600;line-height:1.35;color:rgba(var(--fg),.92)}
.f-topic-title:hover{color:rgb(var(--fg))}
.f-topic.st-unseen .f-topic-title{font-weight:700;color:rgb(var(--fg))}
.f-topic.st-read .f-topic-title{font-weight:500;color:rgba(var(--fg),.72)}
.f-topic-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:.875rem;color:rgba(var(--fg),.62)}
.fl-flag{font-weight:600;color:rgba(var(--fg),.85)}
.fl-st{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:rgba(var(--fg),.9)}
.fl-st i{font-size:.8125rem}
.fl-st--planned{color:rgb(var(--ft-blue))}
.fl-st--in_progress{color:rgb(var(--ft-orange))}
.fl-st--done,.fl-st--solved{color:rgb(var(--ft-green))}
.fl-st--declined{color:rgba(var(--fg),.5)}
.fl-who{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:12rem}
.fl-who__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f-verif{flex-shrink:0;color:#4f9cf0;font-size:.75rem}
.fl-when{white-space:nowrap}
.f-com{flex-shrink:0;display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;min-width:4.5rem;min-height:2.75rem;padding:0 4px;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:rgba(var(--fg),.85)}
.f-com i{font-size:.9375rem;opacity:.6}
.f-com__new{font-size:.875rem;color:rgb(var(--ft-blue))}
.f-cover{position:relative;flex-shrink:0;width:5.5rem;height:3.5rem;overflow:hidden;background:rgba(var(--fg),.06);border-radius:var(--radius-md)}
.f-cover img{display:block;width:100%;height:100%;object-fit:cover}
.f-cover__more{position:absolute;right:4px;bottom:4px;padding:1px 6px;background:rgba(0,0,0,.72);border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;line-height:1.4;color:#fff}
.f-cover__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.f-cover__play i{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;padding-left:2px;background:rgba(0,0,0,.7);border-radius:50%;font-size:.6875rem;color:#fff}

.f-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:12px}
.f-code{container-type:inline-size;display:flex;flex-direction:column;gap:10px;padding:10px;background:rgba(var(--fg),.03);border:1px solid rgba(var(--fg),.07);border-radius:var(--radius-lg);cursor:pointer;transition:background .12s,border-color .12s}
.f-code:hover{background:rgba(var(--fg),.055);border-color:rgba(var(--fg),.12)}
.f-code__pic{display:grid;gap:2px;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-md)}
.f-code__pic--n1{grid-template-columns:1fr}
.f-code__pic--n2{grid-template-columns:1fr 1fr}
.f-code__pic--n3,.f-code__pic--n4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.f-code__pic--n3 .f-code__tile:first-child{grid-row:span 2}
.f-code__tile{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;background:rgba(var(--fg),.08)}
.f-code__tile img{width:100%;height:100%;object-fit:cover}
.f-code__pic--n2 .f-code__tile img,.f-code__pic--n3 .f-code__tile:first-child img{object-fit:contain}
.f-code__more{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.58);font-size:1.125rem;font-weight:700;color:#fff}
.f-code__pic--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(var(--fg),.05);font-size:.875rem;font-weight:600;color:rgba(var(--fg),.5)}
.f-code__pic--empty i{font-size:1.5rem;color:rgba(var(--fg),.35)}
.f-code__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:0 2px}
.f-code__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:.9375rem;font-weight:600;line-height:1.35;color:rgba(var(--fg),.92)}
.f-code__ids{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:.8125rem;color:rgba(var(--fg),.6)}
.f-code__ids code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:'Courier New',monospace;font-size:.875rem;font-weight:700;color:rgba(var(--fg),.85)}
.f-code__ids span{flex-shrink:0}
.f-code__meta{display:flex;align-items:center;gap:4px;min-width:0;margin:0 -4px}
.f-code__by{flex:1;min-width:0;display:inline-flex;align-items:center;gap:8px;min-height:2.5rem;padding:0 4px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;color:rgba(var(--fg),.75)}
a.f-code__by:hover{color:rgb(var(--fg))}
.f-code__ava{flex-shrink:0;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:rgba(var(--fg),.1);font-size:.6875rem;font-weight:700;color:rgba(var(--fg),.6)}
.f-code__ava img{width:100%;height:100%;object-fit:cover}
.f-code__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.f-code .f-com{min-width:0;min-height:2.5rem;padding:0 4px;font-size:.875rem;color:rgba(var(--fg),.72)}
.f-code .f-com i{font-size:.875rem}
.f-code__acts{display:flex;gap:8px}
.f-code .f-vote{flex-shrink:0;flex-direction:row;gap:4px;width:auto;min-width:3.5rem;height:2.75rem;padding:0 .5rem}
.f-code .f-vote span{font-size:.9375rem}
.f-code__copy{position:relative;flex:1;min-width:0;min-height:2.75rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 .5rem;background:rgba(var(--fg),.07);border:0;border-radius:var(--radius-md);color:rgb(var(--fg));font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .14s}
.f-code__copy i{flex-shrink:0;font-size:.875rem;opacity:.75}
.f-code__lbl{min-width:0;overflow:hidden;text-overflow:ellipsis}
.f-code__copy:hover{background:rgba(var(--fg),.13)}
.f-code__copy.is-done{background:rgba(var(--ft-green),.16);color:rgb(var(--ft-green))}
.f-code__copy.is-done i:before{content:"\f00c"}
.f-cover--item{background:rgba(var(--fg),.08)}
.f-cover--item img{object-fit:contain;object-position:30% 50%}
.f-code__by:focus-visible{outline:2px solid rgba(var(--fg),.7);outline-offset:-2px}
@container (max-width:18rem){.f-code__n{display:none}}
@container (max-width:14rem){.f-code__all{display:none}}
@container (max-width:11rem){.f-code__acts{gap:6px}.f-code .f-vote{min-width:0;gap:2px;padding:0 .375rem}.f-code .f-vote span{font-size:.875rem}.f-code__copy{padding:0 .25rem;font-size:.8125rem}.f-code__copy i{display:none}.f-code__copy.is-done i{display:inline-block;font-size:1rem}.f-code__copy.is-done .f-code__lbl{display:none}}
.f-vote:focus-visible,.f-com:focus-visible,.f-code__copy:focus-visible,.f-topic-title:focus-visible,.f-code__title:focus-visible{outline:2px solid rgba(var(--fg),.7);outline-offset:2px}

html.pub-light .f-topic,html.pub-light .f-code{background:#fff;border-color:rgba(0,0,0,.08)}
html.pub-light .f-topic:hover,html.pub-light .f-code:hover{border-color:rgba(0,0,0,.16)}

@media (max-width:640px){
    .f-topic{display:grid;grid-template-columns:minmax(0,1fr) auto 4.5rem;grid-template-areas:"title title title" "meta vote com";align-items:center;gap:8px 8px;padding:12px 12px 8px 14px}
    .f-topic-body{display:contents}
    .f-topic-title{grid-area:title;font-size:1rem;-webkit-line-clamp:3}
    .f-topic.has-cover{grid-template-areas:"title title cover" "meta vote com"}
    .f-topic.has-extra{grid-template-columns:minmax(0,1fr) auto auto 4.5rem;grid-template-areas:"title title title title" "meta extra vote com"}
    .f-topic.has-extra.has-cover{grid-template-areas:"title title title cover" "meta extra vote com"}
    .f-topic.has-extra>:last-child{grid-area:extra}
    .f-cover{grid-area:cover;align-self:start;width:4.5rem;height:3rem}
    .f-topic-meta{grid-area:meta;margin:0;gap:2px 12px;font-size:.8125rem}
    .f-vote{grid-area:vote;flex-direction:row;justify-content:center;gap:4px;width:auto;min-width:4rem;height:2.75rem;padding:0 .625rem}
    .f-com{grid-area:com;min-width:3rem}
    .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .f-code{padding:8px;gap:8px}
}
@media (max-width:399px){
    .fl-who{display:none}
}
@media (max-width:359px){
    .f-grid{grid-template-columns:minmax(0,1fr)}
}
