.ico{width:1.25em;height:1.25em;mask:var(--src) center / contain no-repeat;-webkit-mask:var(--src) center / contain no-repeat;background:currentColor;flex:none;display:inline-block}.ico.tech{--src:url(/icons/tech.svg)}.ico.diary{--src:url(/icons/diary.svg)}.ico.review{--src:url(/icons/review.svg)}.ico.event{--src:url(/icons/event.svg)}.tech{--bg:var(--color-primary);--on:var(--color-on-primary)}.diary{--bg:var(--color-accent-1);--on:var(--color-on-accent-1)}.review{--bg:var(--color-accent-2);--on:var(--color-on-accent-2)}.event{--bg:var(--color-text);--on:var(--color-bg)}.badge{align-items:center;gap:var(--space-1);padding:0 var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:700;font-size:var(--text-xs);background:var(--bg);color:var(--on);justify-self:start;line-height:1.8;display:inline-flex}.meta{font-size:var(--text-xs);color:var(--color-text-muted);gap:var(--space-1) var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.stars{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-primary);font-weight:700}.stars .off{color:var(--color-border)}.list-head{gap:var(--space-4);padding:var(--space-8) 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);align-items:center;display:flex}.list-head h1{font-size:var(--text-2xl);color:var(--color-text)}.list-head p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.tile-ico{border:2px solid var(--color-text);border-radius:var(--radius-md);background:var(--bg);width:4rem;height:4rem;color:var(--on);box-shadow:var(--shadow-sm);place-items:center;display:grid}.tile-ico .ico{width:2.25rem;height:2.25rem}.tabs{gap:var(--space-2);padding:0 0 var(--space-4);border-bottom:2px dashed var(--color-border);margin:0;list-style:none;display:flex;overflow-x:auto}.tabs a{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-4);border:2px solid var(--color-text);border-radius:var(--radius-pill);background:var(--color-surface);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);flex:none;text-decoration:none;display:inline-flex}.tabs a[aria-current=page]{background:var(--bg,var(--color-primary));color:var(--on,var(--color-on-primary))}.row{gap:var(--space-1);padding:var(--space-4) 0;border-bottom:2px dashed var(--color-border);text-decoration:none;display:grid}.row h3{font-size:var(--text-lg)}.row p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.empty{padding:var(--space-8) 0;color:var(--color-text-muted)}.list-layout{gap:var(--space-8);display:grid}@media (width>=64rem){.list-layout{grid-template-columns:1fr 17rem}}.side-box{padding:var(--space-4);border:2px solid var(--color-text);border-radius:var(--radius-md);background:var(--color-surface);align-self:start}.side-box h2{font-size:var(--text-base);margin-bottom:var(--space-3)}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{padding:0 var(--space-3);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--text-sm);text-decoration:none;display:inline-block}.chip small{color:var(--color-text-muted);margin-left:var(--space-1)}.pager{justify-content:center;gap:var(--space-2);margin-top:var(--space-8);font-family:var(--font-display);font-weight:700;display:flex}.pager a{border:2px solid var(--color-text);border-radius:var(--radius-pill);background:var(--color-surface);place-items:center;min-width:2.5rem;height:2.5rem;text-decoration:none;display:grid}.pager a[aria-current=page]{background:var(--color-primary);color:var(--color-on-primary)}.cat-tiles{gap:var(--space-4);margin:var(--space-8) 0;grid-template-columns:1fr 1fr;padding:0;list-style:none;display:grid}@media (width>=48rem){.cat-tiles{grid-template-columns:repeat(4,1fr)}}.cat-tile{gap:var(--space-1);padding:var(--space-4);border:2px solid var(--color-text);border-radius:var(--radius-md);background:var(--bg);color:var(--on);box-shadow:var(--shadow-sm);font-family:var(--font-display);justify-items:start;font-weight:700;text-decoration:none;display:grid}.cat-tile .ico{width:2rem;height:2rem}.cat-tile small{font-weight:500;font-size:var(--text-xs)}
