*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;font-size:13px;line-height:1.55}body{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dim)}*{-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:0 0;margin:8px 0}::-webkit-scrollbar-thumb{background:#3a362e padding-box padding-box;border:4px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffb00073 padding-box padding-box}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:#3a362e transparent}}.intro{z-index:100;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.intro-title{font-family:var(--font-pixel);letter-spacing:-.5px;color:var(--accent);opacity:0;font-size:22px}.intro.booting .intro-title{opacity:0}.intro.booted{animation:.5s ease-in 1.5s forwards intro-out}.intro.booted .intro-title{animation:.5s ease-out forwards intro-in,1.1s ease-in-out .5s alternate intro-glow}@keyframes intro-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;text-shadow:0 0 14px #ffb00080;transform:none}}@keyframes intro-glow{to{text-shadow:0 0 22px #ffb000d9}}@keyframes intro-out{to{opacity:0;visibility:hidden;transform:translateY(-16px)scale(.96)}}.page{max-width:1120px;margin:0 auto;padding:40px 24px 64px}.hero{margin-bottom:32px;padding:28px 0 8px}.hero-title{font-family:var(--font-pixel);letter-spacing:-.5px;color:var(--accent);text-shadow:0 0 14px #ffb00080;margin:0 0 16px;font-size:26px;animation:3.2s ease-in-out infinite alternate title-pulse}@keyframes title-pulse{0%{text-shadow:0 0 12px #ffb00066}to{text-shadow:0 0 20px #ffb0009e}}.hero-sub{color:var(--muted);max-width:62ch;margin:0}.controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:30px;display:flex}.search{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text);font-family:var(--font-mono);border:none;border-radius:8px;flex:260px;padding:10px 14px;font-size:13px;transition:background .12s,box-shadow .12s}.search:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.search:focus,.sort:focus{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--accent) 70%, transparent);outline:none}.search::placeholder{color:var(--muted)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:color-mix(in srgb, var(--text) 5%, transparent);color:var(--muted);font-family:var(--font-mono);cursor:pointer;border:none;border-radius:999px;padding:6px 13px;font-size:11px;transition:background .12s,color .12s}.chip:hover{color:var(--text);background:color-mix(in srgb, var(--text) 9%, transparent)}.chip.on{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);font-weight:700}.chips.readonly .chip{cursor:default}.sort-wrap{align-items:center;gap:8px;margin-left:auto;display:flex}.sort-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.sort{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text);font-family:var(--font-mono);cursor:pointer;border:none;border-radius:8px;padding:8px 10px;font-size:12px}.sort option{background:var(--panel)}.section{margin-bottom:40px}.section-head{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 16px;font-size:12px}.section-head:before{content:">";color:var(--accent);margin-right:8px}.count{color:var(--muted);font-variant-numeric:tabular-nums}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.card{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:12px;flex-direction:column;transition:background .18s,transform .18s cubic-bezier(.2,.8,.2,1);display:flex;overflow:hidden}#grid .card{animation:.34s cubic-bezier(.2,.8,.2,1) both card-in;animation-delay:calc(var(--i,0) * 28ms)}@keyframes card-in{0%{opacity:0;transform:translateY(9px)scale(.985)}to{opacity:1;transform:none}}.card:hover{background:color-mix(in srgb, var(--text) 6.5%, transparent)}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-3px)}.card-media{aspect-ratio:1200/630;background:var(--panel);position:relative;overflow:hidden}.card-img{object-fit:cover;object-position:top center;filter:saturate(.9)brightness(.88);width:100%;height:100%;transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .25s;position:absolute;inset:0}.card:hover .card-img{filter:none;transform:scale(1.035)}.card-ph{background:repeating-linear-gradient(0deg, #ffb00009 0 1px, transparent 1px 3px), radial-gradient(ellipse at 50% 120%, #ffb0001f, transparent 65%), var(--panel);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.card-ph span{font-family:var(--font-pixel);text-align:center;overflow-wrap:anywhere;color:color-mix(in srgb, var(--accent) 70%, transparent);text-shadow:0 0 12px #ffb00059;font-size:12px;line-height:1.6}.card-media.loaded .card-ph span{visibility:hidden}.media-tag{letter-spacing:.06em;color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b8;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;top:10px;left:10px}.media-tag.tag-wip{color:var(--warn)}.card-body{flex-direction:column;flex:1;padding:14px 16px 16px;display:flex}.card-badges{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.card-title{margin:0 0 6px;font-size:15px;font-weight:700}.card-title-link{color:var(--text)}.card.clickable:hover .card-title-link{color:var(--accent)}.card-title-plain{color:var(--text)}.card-desc{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1;margin:0 0 14px;font-size:12.5px;display:-webkit-box;overflow:hidden}.card-meta{color:var(--muted);letter-spacing:.02em;margin-bottom:12px;font-size:11px}.card-meta .num{font-variant-numeric:tabular-nums}.card-links{gap:8px;display:flex}.btn{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text);font-family:var(--font-mono);cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s;display:inline-block}.btn:hover{background:color-mix(in srgb, var(--text) 13%, transparent);color:var(--text)}.btn.primary{background:var(--accent);color:#000;font-weight:600}.btn.primary:hover{background:var(--accent-dim);color:#000}.badge{letter-spacing:.06em;background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--muted);text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.badge-featured{color:#000;background:var(--accent)}.badge.tag-wip{color:var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent)}.empty{color:var(--muted);grid-column:1/-1;padding:24px 0}.muted{color:var(--muted)}.error{color:var(--danger);background:#ff6b6b1a;border-radius:8px;padding:12px 14px}.error a{color:var(--danger);text-decoration:underline}code{font-family:var(--font-mono);background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:4px;padding:1px 5px;font-size:12px}.foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:32px;font-size:12px;display:flex}.foot-links{gap:16px;display:flex}.detail .back{color:var(--muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;margin-bottom:24px;padding:0;font-size:12px}.detail .back:hover{color:var(--accent)}.detail-head{margin-bottom:32px;padding-bottom:8px}.detail-cover{background:var(--panel);border-radius:12px;width:100%;max-width:80ch;margin-top:8px;display:block}.detail-title{font-family:var(--font-pixel);letter-spacing:-.5px;color:var(--accent);text-shadow:0 0 12px #ffb00073;margin:12px 0;font-size:20px;line-height:1.5}.detail-desc{color:var(--text);max-width:70ch;margin:0 0 18px}.detail-links{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.facts{flex-wrap:wrap;gap:18px;margin-bottom:16px;display:flex}.fact{color:var(--text);font-size:12px}.fact .k{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:2px;font-size:10px;display:block}.fact .num{font-variant-numeric:tabular-nums}.readme{overflow-wrap:break-word;max-width:80ch;line-height:1.7}.readme-loading{color:var(--muted);font-size:13px}.readme-loading .cursor{vertical-align:text-bottom;background:var(--accent);width:8px;height:14px;margin-left:3px;animation:1s step-end infinite blink;display:inline-block;box-shadow:0 0 8px #ffb00099}.readme-loading .dots:after{content:"";animation:1.2s steps(4,end) infinite dots}@keyframes blink{50%{opacity:0}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.readme.reveal>*{opacity:0;animation:.42s cubic-bezier(.2,.8,.2,1) both block-in;animation-delay:calc(var(--i,0) * 42ms)}@keyframes block-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.readme h1,.readme h2,.readme h3,.readme h4{color:var(--text);margin:1.6em 0 .6em;font-weight:700;line-height:1.35}.readme h1{font-size:20px}.readme h2{font-size:17px}.readme h3{font-size:15px}.readme p{margin:0 0 1em}.readme a{text-decoration:underline}.readme ul,.readme ol{margin:0 0 1em;padding-left:1.4em}.readme li{margin:.25em 0}.readme code{font-size:12px}.readme pre{background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:10px;margin:0 0 1.2em;padding:14px 16px;overflow-x:auto}.readme pre code{background:0 0;border:none;padding:0}.readme blockquote{border-left:2px solid var(--accent-dim);color:var(--muted);margin:0 0 1em;padding:2px 0 2px 14px}.readme img{max-width:100%;height:auto}.readme table{border-collapse:collapse;margin:0 0 1.2em;display:block;overflow-x:auto}.readme th,.readme td{border:1px solid var(--border);text-align:left;padding:6px 10px}.readme hr{background:color-mix(in srgb, var(--text) 7%, transparent);border:none;height:2px;margin:1.6em 0}::view-transition-old(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-new(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-group(*){animation-duration:.34s}@media (prefers-reduced-motion:reduce){.intro{display:none}.hero-title,.intro-title{animation:none}.readme.reveal>*{opacity:1;animation:none}*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
