:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--bg:#f5f5f7;--bg-elevated:#fff;--glass:#ffffffb8;--label:#1d1d1f;--label-secondary:#3c3c43bf;--label-tertiary:#3c3c439e;--separator:#00000014;--tint:#0071e3;--tint-contrast:#fff;--shadow-rest:0 2px 12px #0000000f;--shadow-hover:0 12px 32px #00000021;--focus-ring:#0071e3;--accent-blue:#0071e3;--accent-blue-soft:#d6e9ff;--accent-purple:#7d5fff;--accent-purple-soft:#e6dfff;--accent-green:#2fa84f;--accent-green-soft:#d8f2df;--accent-orange:#f28b30;--accent-orange-soft:#ffe7cf;--accent-pink:#e8558b;--accent-pink-soft:#ffdce8;--accent-graphite:#6e6e73;--accent-graphite-soft:#e6e6e8;--r-card:16px;--r-sheet:18px;--r-pill:980px;--r-field:12px;--ease:cubic-bezier(.32, .72, 0, 1);--dur-fast:.2s;--dur:.4s;--topbar-h:48px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#000;--bg-elevated:#1c1c1e;--glass:#1c1c1eb8;--label:#f5f5f7;--label-secondary:#ebebf59e;--label-tertiary:#ebebf573;--separator:#ffffff1a;--tint:#0a84ff;--tint-contrast:#fff;--shadow-rest:0 2px 12px #0006;--shadow-hover:0 12px 32px #0009;--focus-ring:#0a84ff;--accent-blue:#0a84ff;--accent-blue-soft:#10263d;--accent-purple:#a78bfa;--accent-purple-soft:#241c3d;--accent-green:#30d158;--accent-green-soft:#10301a;--accent-orange:#ff9f0a;--accent-orange-soft:#3a2608;--accent-pink:#ff6482;--accent-pink-soft:#3a1622;--accent-graphite:#98989d;--accent-graphite-soft:#2c2c2e}}:root[data-theme=dark]{--bg:#000;--bg-elevated:#1c1c1e;--glass:#1c1c1eb8;--label:#f5f5f7;--label-secondary:#ebebf59e;--label-tertiary:#ebebf573;--separator:#ffffff1a;--tint:#0a84ff;--tint-contrast:#fff;--shadow-rest:0 2px 12px #0006;--shadow-hover:0 12px 32px #0009;--focus-ring:#0a84ff;--accent-blue:#0a84ff;--accent-blue-soft:#10263d;--accent-purple:#a78bfa;--accent-purple-soft:#241c3d;--accent-green:#30d158;--accent-green-soft:#10301a;--accent-orange:#ff9f0a;--accent-orange-soft:#3a2608;--accent-pink:#ff6482;--accent-pink-soft:#3a1622;--accent-graphite:#98989d;--accent-graphite-soft:#2c2c2e}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--label);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:1.5}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.page{flex-direction:column;min-height:100%;display:flex}.container{width:100%;max-width:1180px;padding:0 22px;padding-left:max(22px, env(safe-area-inset-left));padding-right:max(22px, env(safe-area-inset-right));margin:0 auto}.topbar{z-index:20;height:var(--topbar-h);background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);transition:border-color var(--dur-fast) var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}.topbar.is-scrolled{border-bottom-color:var(--separator)}.topbar-inner{align-items:center;gap:14px;height:100%;display:flex}.brand{letter-spacing:-.01em;font-size:18px;font-weight:600}.topbar-spacer{flex:1}.topbar-nav{align-items:center;gap:6px;display:flex}.topbar-link{color:var(--label-secondary);border-radius:var(--r-pill);transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);padding:6px 10px;font-size:14px}.topbar-link:hover{color:var(--label);background:var(--separator)}.topbar-link.is-active{color:var(--label)}.btn{border-radius:var(--r-pill);cursor:pointer;transition:transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:7px 16px;font-size:14px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--tint);color:var(--tint-contrast)}.btn-quiet{color:var(--label-secondary)}.btn-quiet:hover{color:var(--label);background:var(--separator)}.btn-icon{width:32px;height:32px;padding:0;font-size:15px;line-height:1}.hero{text-align:center;padding:72px 0 44px}.hero-title{letter-spacing:-.02em;font-size:56px;font-weight:600;line-height:1.08}.hero-subtitle{color:var(--label-secondary);margin-top:14px;font-size:19px}.main{flex:1;padding-bottom:72px}.category{scroll-margin-top:calc(var(--topbar-h) + 16px);margin-top:32px}.category-title{letter-spacing:-.01em;align-items:center;gap:10px;margin-bottom:12px;font-size:24px;font-weight:600;display:flex}.category-title-emoji{font-size:22px;line-height:1}.empty{text-align:center;background:var(--bg-elevated);border-radius:var(--r-card);max-width:420px;box-shadow:var(--shadow-rest);margin:56px auto 0;padding:36px 28px}.empty-emoji{font-size:38px;line-height:1}.empty-title{margin-top:14px;font-size:19px;font-weight:600}.empty-text{color:var(--label-secondary);margin-top:8px;font-size:15px}.empty-action{margin-top:20px}.state-note{text-align:center;color:var(--label-secondary);margin:64px auto;font-size:15px}.footer{padding:26px 0 34px;padding-bottom:max(34px, env(safe-area-inset-bottom));text-align:center;color:var(--label-secondary);font-size:13px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.hero{padding:48px 0 32px}.hero-title{font-size:38px}.hero-subtitle{font-size:17px}.container{padding:0 16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}}.menu{display:inline-flex;position:relative}.menu-trigger{gap:4px}.menu-trigger.is-open{color:var(--label);background:var(--separator)}.menu-caret{opacity:.7;font-size:10px;line-height:1}.menu-list{z-index:30;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--r-field);min-width:200px;box-shadow:var(--shadow-hover);animation:menu-in var(--dur-fast) var(--ease) both;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-item{text-align:left;white-space:nowrap;cursor:pointer;color:var(--label);background:0 0;border:none;border-radius:8px;padding:9px 12px;font-size:14px}.menu-item:hover{background:var(--separator)}.menu-item.is-danger{color:var(--accent-pink)}.topbar-burger{display:none}@media (width<=600px){.topbar-burger{display:inline-flex}.topbar-nav{top:var(--topbar-h);z-index:30;background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--r-field);min-width:180px;box-shadow:var(--shadow-hover);flex-direction:column;align-items:stretch;gap:2px;padding:8px;display:none;position:absolute;right:16px}.topbar-nav.is-open{display:flex}.topbar-nav .topbar-link,.topbar-nav .btn{justify-content:flex-start;width:100%;padding:9px 12px}.topbar-nav .btn-icon{height:auto}.topbar-nav .menu{width:100%}.topbar-nav .menu-list{min-width:0;box-shadow:none;background:0 0;border:none;border-radius:0;padding:2px 0 2px 10px;animation:none;position:static}}@media (prefers-reduced-motion:reduce){.menu-list{animation:none}.btn,.topbar-link{transition:none}.btn:active{transform:none}}.tools{margin-top:4px;margin-bottom:8px}.finder{align-items:center;gap:12px;max-width:560px;margin:0 auto;display:flex}.finder-field{flex:1;align-items:center;display:flex;position:relative}.finder-glyph{color:var(--label-secondary);pointer-events:none;font-size:15px;position:absolute;left:14px}.finder-input{width:100%;font:inherit;appearance:none;color:var(--label);background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--r-pill);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:10px 40px 10px 38px;font-size:16px}.finder-input::placeholder{color:var(--label-secondary)}.finder-input::-webkit-search-cancel-button{appearance:none}.finder-input:hover{border-color:var(--label-tertiary)}.finder-clear{border-radius:var(--r-pill);width:28px;height:28px;color:var(--label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:15px;line-height:1;position:absolute;right:6px}.finder-clear:hover{color:var(--label);background:var(--separator)}.finder-count{min-width:4.5em;color:var(--label-secondary);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.catnav{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.catnav-chip{color:var(--label);background:var(--bg-elevated);border:1px solid var(--separator);border-radius:var(--r-pill);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);align-items:center;gap:6px;padding:7px 14px;font-size:14px;display:inline-flex}.catnav-chip:hover{box-shadow:var(--shadow-rest);transform:translateY(-1px)}.catnav-chip:active{transform:scale(.97)}.catnav-chip-emoji{font-size:14px;line-height:1}.catnav-chip-count{color:var(--label-secondary);font-variant-numeric:tabular-nums;font-size:12px}.catnav-skeleton{border-radius:var(--r-pill);background:var(--bg-elevated);border:1px solid var(--separator);opacity:.55;width:88px;height:33px}.state-note-error{color:var(--label)}.state-note-action{text-align:center;margin-top:16px}@media (width<=600px){.finder{max-width:none}.catnav{overscroll-behavior-x:contain;scrollbar-width:none;margin-top:10px;margin-left:calc(-1 * max(16px, env(safe-area-inset-left)));margin-right:calc(-1 * max(16px, env(safe-area-inset-right)));padding-top:6px;padding-bottom:6px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));flex-wrap:nowrap;justify-content:flex-start;gap:6px;overflow-x:auto}.catnav::-webkit-scrollbar{display:none}.catnav-chip,.catnav-skeleton{flex:none}.catnav-chip{white-space:nowrap;padding:6px 12px;font-size:13px}}@media (prefers-reduced-motion:reduce){.catnav-chip,.finder-input{transition:none}.catnav-chip:hover,.catnav-chip:active{transform:none}}.card-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=600px){.card-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (width>=900px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1280px){.card-grid{grid-template-columns:repeat(4,1fr)}}.card-grid>*{animation:rise var(--dur) var(--ease) both;animation-delay:0s}.card-grid>:nth-child(n+2){animation-delay:30ms}.card-grid>:nth-child(n+3){animation-delay:60ms}.card-grid>:nth-child(n+4){animation-delay:90ms}.card-grid>:nth-child(n+5){animation-delay:.12s}.card-grid>:nth-child(n+6){animation-delay:.15s}.card-grid>:nth-child(n+7){animation-delay:.18s}.card-grid>:nth-child(n+8){animation-delay:.21s}.card-grid>:nth-child(n+9){animation-delay:.24s}.card-grid>:nth-child(n+10){animation-delay:.27s}.card-grid>:nth-child(n+11){animation-delay:.3s}.card-grid>:nth-child(n+12){animation-delay:.33s}.card-grid>:nth-child(n+13){animation-delay:.36s}.card-grid>:nth-child(n+14){animation-delay:.39s}.card-grid>:nth-child(n+15){animation-delay:.42s}.card-grid>:nth-child(n+16){animation-delay:.45s}.card-grid>:nth-child(n+17){animation-delay:.48s}.card-grid>:nth-child(n+18){animation-delay:.51s}.card-grid>:nth-child(n+19){animation-delay:.54s}.card-grid>:nth-child(n+20){animation-delay:.57s}.card-grid>:nth-child(n+21){animation-delay:.6s}.card-grid>:nth-child(n+22){animation-delay:.63s}.card-grid>:nth-child(n+23){animation-delay:.66s}.card-grid>:nth-child(n+24){animation-delay:.69s}.card-grid.is-filtered>*{animation:none}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.skeleton-card{border-radius:var(--r-card);background:var(--bg-elevated);min-height:81px;box-shadow:var(--shadow-rest);opacity:.55;animation:skeleton-pulse 1.6s var(--ease) infinite}.card-grid.is-skeleton{align-content:start;min-height:62vh}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}@media (prefers-reduced-motion:reduce){.skeleton-card{animation:none}}.accent-blue{--card-accent:var(--accent-blue);--card-accent-soft:var(--accent-blue-soft)}.accent-purple{--card-accent:var(--accent-purple);--card-accent-soft:var(--accent-purple-soft)}.accent-green{--card-accent:var(--accent-green);--card-accent-soft:var(--accent-green-soft)}.accent-orange{--card-accent:var(--accent-orange);--card-accent-soft:var(--accent-orange-soft)}.accent-pink{--card-accent:var(--accent-pink);--card-accent-soft:var(--accent-pink-soft)}.accent-graphite{--card-accent:var(--accent-graphite);--card-accent-soft:var(--accent-graphite-soft)}.card{background:var(--bg-elevated);border-radius:var(--r-card);box-shadow:var(--shadow-rest);transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex-direction:row;align-items:center;gap:12px;padding:12px 14px;display:flex;position:relative}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.card:active{transform:scale(.97)}.card-icon{background:var(--card-accent-soft,var(--separator));border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;line-height:1;display:flex;overflow:hidden}.card-icon-img{object-fit:cover;width:100%;height:100%}.card-icon-monogram{color:var(--label);font-size:16px;font-weight:600}.card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.card-title{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.35;overflow:hidden}.card-subtitle{color:var(--label-secondary);-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.card-host{color:var(--label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.card-arrow{color:var(--card-accent,var(--label-tertiary));opacity:0;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);flex:none;font-size:14px;line-height:1;transform:translate(-3px)}.card:hover .card-arrow,.card:focus-visible .card-arrow{opacity:1;transform:none}@media (width<=600px){.card{gap:10px;padding:10px 12px}}@media (prefers-reduced-motion:reduce){.card-grid>*{animation:none}.card,.card-arrow,.topbar{transition:none}.card:hover{transform:none}}
