:root{--ink:#14323d;--text:#43606c;--accent:#1d7a58;--accent-soft:rgba(29,122,88,.12);--wasm:#96681c;--wasm-soft:rgba(150,104,28,.13);--danger:#b0433a;--danger-soft:rgba(176,67,58,.1);--page-fallback:#cfe3ec;--veil:rgba(248,252,253,.2);--surface:rgba(255,255,255,.55);--surface-strong:rgba(255,255,255,.8);--modal-bg:rgba(255,255,255,.92);--border:rgba(20,50,61,.16);--border-strong:rgba(20,50,61,.32);--tooltip-bg:#14323d;--tooltip-fg:#f0f6f7;--shadow:0 2px 10px rgba(20,50,61,.06);--shadow-hover:0 14px 34px rgba(20,50,61,.16);--sans:system-ui, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;font:16px/150% var(--sans);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#e8f1f4;--text:#a3bdc6;--accent:#4fbe8d;--accent-soft:rgba(79,190,141,.16);--wasm:#d9ae56;--wasm-soft:rgba(217,174,86,.16);--danger:#e08578;--danger-soft:rgba(224,133,120,.14);--page-fallback:#0c1e26;--veil:rgba(7,19,24,.34);--surface:rgba(13,32,40,.55);--surface-strong:rgba(13,32,40,.78);--modal-bg:rgba(13,32,40,.92);--border:rgba(255,255,255,.16);--border-strong:rgba(255,255,255,.36);--tooltip-bg:#081a21;--tooltip-fg:#dcedf2;--shadow:0 2px 10px rgba(0,0,0,.2);--shadow-hover:0 14px 34px rgba(0,0,0,.4)}.tag{border-color:rgba(163,189,198,.28)}.tag-engine{border-color:rgba(79,190,141,.28)}.tag-wasm{border-color:rgba(217,174,86,.28)}}body{background:var(--page-fallback);margin:0}body:before{content:"";z-index:-1;background:linear-gradient(var(--veil), var(--veil)), url(/background.png) center / cover no-repeat;width:100vw;position:fixed;top:0;bottom:0;left:0;right:0}*{box-sizing:border-box}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{max-width:960px;min-height:100vh;flex-direction:column;min-height:100svh;margin:0 auto;padding:56px 24px 32px;display:flex}@media (max-width:640px){.page{padding:36px 16px 24px}}.page-header{margin-bottom:32px}.page-header:before{content:"";background:var(--accent);width:44px;height:3px;margin-bottom:16px;display:block}.page-header h1{letter-spacing:-.5px;color:var(--ink);margin:0 0 8px;font-size:31px;font-weight:650}.subtitle{max-width:560px;margin:0;font-size:15px;font-weight:400}.filters{flex-direction:column;margin-bottom:30px;display:flex}.filters>*+*{margin-top:10px}.filter-group{flex-wrap:wrap;align-items:center;margin-bottom:-8px;margin-right:-8px;display:flex}.filter-group>*{margin-bottom:8px;margin-right:8px}.filter-label{letter-spacing:.08em;width:38px;color:var(--text);font-size:12.5px;font-weight:600}.chip{font:inherit;border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);cursor:pointer;padding:5px 14px;font-size:13.5px;transition:color .15s,border-color .15s,background-color .15s}.chip:hover{border-color:var(--border-strong);color:var(--ink)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.grid{grid-gap:14px;flex-grow:1;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));align-content:flex-start;align-items:stretch;gap:14px;display:grid}.empty{text-align:center;border:1px dashed var(--border-strong);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-column:1/-1;margin:0;padding:48px 24px}.card{background:var(--surface);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;flex-direction:column;padding:18px 20px 14px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex}.card>*+*{margin-top:12px}.card:hover{border-color:var(--accent);background:var(--surface-strong);box-shadow:var(--shadow-hover)}.card-main{flex:1;min-width:0}.card-title{color:var(--ink);overflow-wrap:break-word;word-break:break-word;margin:0 0 10px;font-size:16px;font-weight:600}.card-title:before{content:"";background:var(--accent);width:8px;height:8px;margin-right:10px;display:inline-block;transform:translateY(-1px)}.card-tags{flex-wrap:wrap;display:flex}.card-tags>*{margin-right:6px}.tag{letter-spacing:.02em;background:var(--surface-strong);color:var(--text);border:1px solid rgba(67,96,108,.28);align-items:center;padding:2px 8px;font-size:11.5px;font-weight:500;display:inline-flex;position:relative}.tag-engine{cursor:pointer;color:var(--accent);background:var(--accent-soft);border-color:rgba(29,122,88,.28)}.tag-wasm{color:var(--wasm);background:var(--wasm-soft);border-color:rgba(150,104,28,.28)}.tooltip{background:var(--tooltip-bg);color:var(--tooltip-fg);white-space:nowrap;opacity:0;pointer-events:none;z-index:10;padding:6px 10px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(2px)}.tooltip:after{content:"";border:5px solid transparent;border-top-color:var(--tooltip-bg);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tag-engine:hover .tooltip{opacity:1;transform:translate(-50%)translateY(0)}.tag-engine:focus-visible .tooltip{opacity:1;transform:translate(-50%)translateY(0)}.card-actions{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;align-items:center;padding-top:10px;display:flex}.card-actions>*+*{margin-left:8px}.unsupported-badge{font:inherit;background:var(--danger-soft);color:var(--danger);cursor:pointer;border:1px solid transparent;padding:4px 10px;font-size:12.5px;font-weight:600;transition:border-color .15s}.unsupported-badge:hover{border-color:var(--danger)}.action-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.action-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.action-btn svg{width:17px;height:17px}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:rgba(8,22,28,.35);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--modal-bg);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);border:1px solid var(--border-strong);width:100%;max-width:460px;box-shadow:var(--shadow-hover);padding:20px 24px 24px}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.modal-head>*+*{margin-left:12px}.modal-head h3{color:var(--ink);margin:0;font-size:17px;font-weight:650}.modal-close{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px;line-height:1;transition:color .15s}.modal-close:hover{color:var(--accent)}.modal-body p{margin:0 0 10px;font-size:14.5px}.modal-body p:last-child{margin-bottom:0}.modal-body strong{color:var(--ink)}.muted{color:var(--text);opacity:.85}.modal-enter-active,.modal-leave-active{transition:opacity .18s}.modal-enter-active .modal,.modal-leave-active .modal{transition:transform .18s}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal,.modal-leave-to .modal{transform:translateY(8px)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@supports not selector(:focus-visible){:focus{outline:2px solid var(--accent);outline-offset:2px}.tag-engine:focus .tooltip{opacity:1;transform:translate(-50%)translateY(0)}}
