/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--spacing:.25rem;--text-xs:12px;--text-xs--line-height:calc(1 / .75);--text-sm:13px;--text-sm--line-height:calc(1.25 / .875);--text-lg:16px;--text-xl:20px;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-3xl:1.875rem;--font-weight-medium:500;--font-weight-semibold:600;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base;@layer legacy{:root{color-scheme:light;--bg:#fff;--surface:#fff;--soft:#f7f7f7;--hover:#efefef;--text:#171717;--body:#404040;--muted:#6f6f6f;--faint:#a3a3a3;--border:#ebebeb;--strong-border:#d9d9d9;--primary:#171717;--on-primary:#fff;--green:#18794e;--state-bg:#e9f6ef;--warning:#875f12;--warning-bg:#fbf3e1;--danger:#b42318;--danger-bg:#fdeceb;--overlay:#09090b73;--shadow:0 1px 2px #09090b0a,0 8px 24px #09090b14;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b74' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:28px;--text-3xl:clamp(38px,5vw,60px);--r-sm:6px;--r-md:8px;--r-lg:12px;--page:1160px;--gutter:32px;--section:64px;--sans:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,monospace;font-family:var(--sans);font-size:var(--text-md);color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}:root[data-theme=dark]{color-scheme:dark;--bg:#000;--surface:#0a0a0a;--soft:#111;--hover:#1a1a1a;--text:#ededed;--body:#b4b4b4;--muted:#878787;--faint:#525252;--border:#1f1f1f;--strong-border:#2e2e2e;--primary:#ededed;--on-primary:#000;--green:#62c073;--state-bg:#0f2416;--warning:#e2bf78;--warning-bg:#2b2416;--danger:#f19189;--danger-bg:#2e1816;--overlay:#0009;--shadow:0 0 0 1px #ffffff05,0 16px 40px #0009;--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238f909a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.5}svg{flex-shrink:0;width:16px;height:16px;display:block}:focus-visible{outline:2px solid var(--text);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}::selection{background:var(--state-bg);color:var(--text)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{letter-spacing:-.02em;color:var(--text);font-weight:600}h1{font-size:var(--text-2xl);letter-spacing:-.025em;text-wrap:balance;font-weight:700;line-height:1.15}code,kbd{font-family:var(--mono)}.skip-link{z-index:100;border-radius:var(--r-md);background:var(--primary);color:var(--on-primary);font-size:var(--text-sm);padding:8px 12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.footer-bottom,.footer-inner,.nav-inner,main{max-width:var(--page);margin:0 auto}main{min-height:75vh;padding:0 var(--gutter) var(--section)}main:focus{outline:none}.topbar{z-index:20;background:var(--bg);height:60px;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.topbar{background:color-mix(in srgb,var(--bg) 88%,transparent)}}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px)}.nav-inner{height:100%;padding:0 var(--gutter);justify-content:space-between;gap:24px}.brand,.nav-inner{align-items:center;display:flex}.brand{font-size:var(--text-lg);letter-spacing:-.02em;white-space:nowrap;gap:4px;font-weight:700}.brand-mark{width:26px;height:26px;color:var(--text);flex-shrink:0;display:block}.nav-inner nav{align-items:center;gap:2px;display:flex}.nav-inner nav a{border-radius:var(--r-md);height:32px;font-size:var(--text-sm);color:var(--muted);align-items:center;gap:6px;padding:0 12px;font-weight:500;display:flex;position:relative}.nav-inner nav a:hover{color:var(--text);background:var(--soft)}.nav-inner nav a.active{color:var(--text);background:var(--hover)}.nav-icon{display:none}.nav-dot{background:var(--green);border-radius:50%;width:5px;height:5px;margin-left:1px}.nav-actions{align-items:center;gap:4px;display:flex}.nav-separator{background:var(--border);width:1px;height:16px;margin:0 6px}.submit-nav{border-radius:var(--r-md);background:var(--primary);height:32px;color:var(--on-primary);font-size:var(--text-sm);align-items:center;margin-right:4px;padding:0 12px;font-weight:500;display:inline-flex}.submit-nav:hover{opacity:.86}.icon-button{border-radius:var(--r-md);width:32px;height:32px;color:var(--muted);flex-shrink:0;place-items:center;display:grid}.icon-button:hover{color:var(--text);background:var(--soft)}.icon-button svg{width:17px;height:17px}.footer{border-top:1px solid var(--border)}.footer-inner{padding:48px var(--gutter) 40px;grid-template-columns:minmax(0,1fr) auto;gap:80px;display:grid}.footer-identity{max-width:340px}.footer-brand{width:max-content}.footer-identity>p{font-size:var(--text-sm);color:var(--muted);margin-top:12px;line-height:1.6}.footer-nav{grid-template-columns:repeat(2,minmax(140px,auto));gap:48px;display:grid}.footer-nav>div{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.footer-nav>div>span{font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.footer-nav a,.footer-nav button{font-size:var(--text-sm);color:var(--muted);text-align:left}.footer-nav a:hover,.footer-nav button:hover{color:var(--text)}.footer-bottom{padding:20px var(--gutter) 28px;border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--muted);justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-credit{white-space:nowrap}.footer-credit a{color:var(--body);text-decoration:underline;-webkit-text-decoration-color:var(--strong-border);text-decoration-color:var(--strong-border);text-underline-offset:3px}.footer-credit a:hover{color:var(--text);text-decoration-color:currentColor}.eyebrow{font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-weight:400;display:inline-block}.text-link{font-size:var(--text-sm);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-weight:500;display:inline-flex}.text-link:hover{color:var(--text)}.text-link svg{width:14px;height:14px}.button{border-radius:var(--r-md);height:36px;font-size:var(--text-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}.button svg{width:15px;height:15px}.button-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.button-primary:hover{opacity:.86}.button-secondary{background:var(--surface);border-color:var(--strong-border);color:var(--text)}.button-secondary:hover{background:var(--soft)}.moderation-badge,.selfhost-tag,.source-badge{border-radius:var(--r-sm);white-space:nowrap;align-items:center;height:20px;padding:0 6px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.source-badge{background:var(--warning-bg);color:var(--warning)}.selfhost-tag{background:var(--soft);color:var(--body)}.trend-badge{color:var(--green);white-space:nowrap;align-items:center;gap:3px;font-weight:500;display:inline-flex}.section{margin-top:var(--section)}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.section-heading h2{font-size:var(--text-xl);align-items:center;gap:8px;line-height:1.25;display:flex}.section-heading p{font-size:var(--text-sm);color:var(--muted);margin-top:4px}.search-box{border:1px solid var(--strong-border);border-radius:var(--r-lg);background:var(--surface);align-items:center;gap:10px;height:44px;padding:0 14px;display:flex}.search-box:focus-within{border-color:var(--muted);box-shadow:0 0 0 3px var(--soft)}.search-box>svg{width:17px;height:17px;color:var(--muted)}.search-box input{min-width:0;height:100%;color:var(--text);font-family:var(--mono);font-size:var(--text-sm);text-overflow:ellipsis;background:0 0;border:0;flex:1}.search-box input::placeholder{color:var(--muted)}.search-box input::-webkit-search-cancel-button{display:none}.search-box kbd{border:1px solid var(--border);background:var(--soft);white-space:nowrap;padding:2px 6px;font-size:11px}.search-box kbd,.search-clear{border-radius:var(--r-sm);color:var(--muted)}.search-clear{width:24px;height:24px;font-size:18px;line-height:1}.search-clear:hover{color:var(--text);background:var(--soft)}.discovery-hero{text-align:center;padding:72px 0 8px}.hero-label{font-family:var(--mono);font-size:var(--text-xs);color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.hero-count{text-transform:uppercase;letter-spacing:.02em}.nowrap{white-space:nowrap}.hero-underline{display:inline-block;position:relative}.hero-underline svg{fill:none;width:104%;height:.22em;stroke:var(--green);stroke-width:6px;stroke-linecap:round;pointer-events:none;position:absolute;bottom:-.1em;left:-2%;overflow:visible}.hero-label-divider{background:var(--faint);border-radius:50%;width:3px;height:3px}.discovery-hero h1{text-wrap:balance;max-width:960px;font-size:var(--text-3xl);letter-spacing:-.045em;margin:18px auto 14px;font-weight:700;line-height:1.04}.hero-heading>p{max-width:560px;color:var(--muted);margin:0 auto;font-size:19px;font-weight:500;line-height:1.5}.hero-search-area{max-width:600px;margin:32px auto 0}.discovery-hero .search-box{border-color:var(--strong-border);height:52px;box-shadow:var(--shadow);padding:0 16px}.discovery-hero .search-box:focus-within{border-color:var(--muted);box-shadow:var(--shadow),0 0 0 3px var(--soft)}.discovery-hero .search-box input{font-size:15px}.hero-categories{flex-wrap:wrap;justify-content:center;gap:6px;margin:20px auto 0;display:flex}.hero-categories a{border:1px solid var(--border);height:30px;font-size:var(--text-sm);color:var(--body);border-radius:999px;align-items:center;padding:0 12px;display:inline-flex}.hero-categories a:hover{border-color:var(--strong-border);background:var(--soft);color:var(--text)}.popular-searches{font-size:var(--text-sm);color:var(--muted);align-items:center;margin-top:16px}.popular-searches,.replacement-suggestions{flex-wrap:wrap;justify-content:center;gap:4px 14px;display:flex}.popular-searches a{font-size:var(--text-sm);color:var(--body);text-decoration:underline;-webkit-text-decoration-color:var(--strong-border);text-decoration-color:var(--strong-border);text-underline-offset:3px}.popular-searches a:hover{color:var(--text);text-decoration-color:currentColor}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.feature{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;min-width:0;display:flex;overflow:hidden}.feature:hover{border-color:var(--strong-border)}.feature-art{background:var(--soft);background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:16px 16px;height:172px;padding:20px;position:relative;overflow:hidden}.feature-art>.eyebrow,.feature-art>.feature-tagline,.feature-art>h3{z-index:1;position:relative}.feature h3{max-width:50%;font-size:var(--text-lg);text-wrap:balance;margin-top:6px;line-height:1.25}.feature-tagline{max-width:48%;font-size:var(--text-sm);color:var(--muted);margin-top:6px;line-height:1.45}.promo-visual{pointer-events:none;width:50%;height:144px;position:absolute;top:16px;right:-10px}.promo-visual img{object-fit:contain;width:100%;height:100%;display:block}.feature-foot{border-top:1px solid var(--border);align-items:center;gap:12px;padding:14px 20px;display:flex}.feature-foot h4{font-size:var(--text-md)}.feature-foot p{font-size:var(--text-xs);color:var(--muted);margin-top:1px}.feature-foot .app-icon{border-radius:var(--r-md);width:36px;height:36px}.feature-arrow{color:var(--faint);margin-left:auto}.feature:hover .feature-arrow{color:var(--text)}.app-icon{border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.app-icon.image-icon{background:#fff;padding:4px;box-shadow:inset 0 0 0 1px #09090b14}.app-icon img{object-fit:contain;width:100%;height:100%}.app-github{border-radius:var(--r-sm);width:28px;height:28px;color:var(--faint);flex-shrink:0;place-items:center;display:grid}.app-github:hover{color:var(--text);background:var(--soft)}.app-github svg{width:16px;height:16px}.apps-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;display:grid}.app-row{border-top:1px solid var(--border);align-items:flex-start;gap:12px;min-width:0;padding:16px 0;display:flex}.app-copy{flex:1;min-width:0}.app-copy h3{font-size:var(--text-md);align-items:center;gap:6px;line-height:1.3;display:flex}.app-copy h3 a:hover,.catalog-card h3 a:hover{text-underline-offset:3px;text-decoration:underline}.app-copy>p{font-size:var(--text-sm);color:var(--body)}.app-copy>p,.replace-label{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.replace-label{font-size:var(--text-xs);color:var(--muted)}.replace-label b{color:var(--body);font-weight:500}.app-meta{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:6px;display:flex}.app-meta .stars,.app-meta .trend-badge{font-family:var(--mono)}.app-meta .stars{align-items:center;gap:3px;display:inline-flex}.app-meta svg{width:12px;height:12px}.app-meta .divider{color:var(--faint)}.app-meta a:hover{color:var(--text)}.app-meta .trend-badge{margin-left:4px}.trend-note{font-family:var(--mono);color:var(--muted);align-items:center;gap:6px;margin-top:14px;font-size:11px;display:flex}.trend-note svg{width:14px;height:14px}.leaderboard{border-bottom:1px solid var(--border)}.leaderboard ol{margin:0;padding:0;list-style:none}.leaderboard-head,.leaderboard-row{grid-template-columns:40px minmax(0,1fr) 150px 220px 80px 28px;align-items:center;gap:16px;display:grid}.leaderboard-head{border-bottom:1px solid var(--border);font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);padding:0 12px 10px;font-size:11px}.leaderboard-head span:nth-child(4),.leaderboard-head span:nth-child(5){text-align:right}.leaderboard-row{border-top:1px solid var(--border);min-height:64px;padding:10px 12px;position:relative}.leaderboard-row:first-child{border-top:0}.leaderboard-row:hover{background:var(--soft)}.leaderboard-rank{font-family:var(--mono);font-size:var(--text-sm);color:var(--muted)}.leaderboard-app{align-items:center;gap:12px;min-width:0;display:flex}.leaderboard-app:after{content:"";position:absolute;inset:0}.leaderboard-app .app-icon{border-radius:var(--r-md);width:36px;height:36px}.leaderboard-app>span{align-items:baseline;gap:8px;min-width:0;display:flex}.leaderboard-app strong{white-space:nowrap;font-size:15px;font-weight:600}.leaderboard-app small{font-family:var(--mono);font-size:var(--text-xs);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.leaderboard-category{font-size:var(--text-sm);color:var(--muted)}.leaderboard-trend{font-family:var(--mono);font-size:var(--text-sm);color:var(--green);justify-content:flex-end;align-items:center;gap:12px;display:flex}.leaderboard-value{text-align:right;min-width:52px}.leaderboard-bar{background:var(--border);border-radius:2px;flex:none;width:120px;height:4px;overflow:hidden}.leaderboard-bar>span{border-radius:inherit;background:var(--green);height:100%;display:block}.leaderboard-stars{font-family:var(--mono);font-size:var(--text-sm);color:var(--text);text-align:right}.leaderboard-row .app-github{z-index:1;position:relative}.category-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.category-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);align-items:center;gap:10px;min-width:0;padding:14px 16px;display:flex}.category-card:hover{border-color:var(--strong-border);background:var(--soft)}.category-card>div{min-width:0}.category-card svg{width:18px;height:18px;color:var(--muted)}.category-card span{font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.category-directory{margin-bottom:var(--section);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.category-directory .category-card{gap:14px;padding:18px 20px}.category-directory .category-card svg{width:20px;height:20px}.category-directory .category-card span{font-size:var(--text-md);font-weight:600}.category-directory .category-card p{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.recent-grid,.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.recent-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.recent-card:hover{border-color:var(--strong-border)}.recent-cover{background:var(--soft);border-bottom:1px solid var(--border);height:148px;padding:16px 20px 0;display:block;overflow:hidden}.recent-cover img{object-fit:cover;object-position:top;border-radius:var(--r-sm) var(--r-sm) 0 0;width:100%;height:100%;box-shadow:0 0 0 1px var(--border);display:block}.recent-card .app-row{border:0;padding:16px}.review-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;padding:20px;display:flex}.review-app{align-items:center;gap:12px;display:flex}.review-app>div{flex:1;min-width:0}.review-app h3{font-size:var(--text-md)}.review-app p{font-size:var(--text-xs);color:var(--muted);margin-top:1px}.review-app>svg{width:14px;height:14px;color:var(--faint)}.review-app:hover>svg{color:var(--text)}.review-rating{width:fit-content;font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:inline-flex}.review-rating svg{width:13px;height:13px;fill:var(--warning);stroke:var(--warning)}.review-rating strong{font-family:var(--mono);font-size:var(--text-sm);color:var(--text);font-weight:500}.review-rating:hover>span{color:var(--text)}.review-card>.review-rating{margin-top:16px}.review-summary{font-size:var(--text-sm);color:var(--body);margin:8px 0 16px;line-height:1.6}.feedback-source{font-size:var(--text-xs);margin:-6px 0 16px}.review-card-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;display:flex}.review-card-foot>span{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:4px;display:flex}.review-card-foot>span svg{width:12px;height:12px}.review-collection-note{font-size:var(--text-xs);color:var(--muted);margin-top:12px;line-height:1.6}.community-entry{margin-top:var(--section);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--soft);justify-content:space-between;align-items:center;gap:40px;padding:32px;display:flex}.community-entry h2{font-size:var(--text-xl);margin:6px 0}.community-entry p{max-width:560px;font-size:var(--text-sm);color:var(--muted);line-height:1.6}.community-entry-actions,.community-hero-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.collection-banner{margin-top:var(--section);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:64px;padding:48px;display:grid}.collection-copy{max-width:400px}.collection-banner h2{font-size:var(--text-2xl);letter-spacing:-.025em;margin:8px 0 12px;line-height:1.15}.collection-copy>p{font-size:var(--text-md);color:var(--muted);margin-bottom:24px;line-height:1.6}.collection-action{border-radius:var(--r-md);background:var(--primary);height:36px;color:var(--on-primary);font-size:var(--text-sm);align-items:center;gap:6px;padding:0 14px;font-weight:500;display:inline-flex}.collection-action:hover{opacity:.86}.collection-action svg{width:15px;height:15px}.collection-panel{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.collection-app{border-top:1px solid var(--border);grid-template-columns:40px minmax(0,1fr) 16px;align-items:center;gap:14px;padding:14px 16px;display:grid}.collection-app:first-child{border-top:0}.collection-app:hover{background:var(--soft)}.collection-app .app-icon{width:40px;height:40px}.collection-app-copy{flex-direction:column;min-width:0;display:flex}.collection-app-copy strong{font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.collection-app-copy small{font-size:var(--text-xs);color:var(--muted)}.collection-app-arrow{color:var(--faint)}.collection-app:hover .collection-app-arrow{color:var(--text)}.explore-intro{justify-content:space-between;align-items:flex-end;gap:32px;padding:48px 0 28px;display:flex}.explore-intro h1{margin:4px 0 8px}.explore-intro p{max-width:620px;font-size:var(--text-md);color:var(--muted);line-height:1.6}.explore-intro .search-box{flex-shrink:0;width:340px}.browse-intro{padding-bottom:24px}.browse-controls{z-index:15;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 0;position:sticky;top:60px}.browse-toolbar{align-items:center;gap:8px;display:flex}.browse-toolbar .search-box{border-radius:var(--r-md);flex:1;min-width:180px;height:38px}.filter-select{min-width:0;color:var(--muted);display:block;position:relative}.filter-select:after{content:"";pointer-events:none;border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;position:absolute;top:50%;right:12px;transform:translateY(-70%)rotate(45deg)}.filter-select select{border:1px solid var(--strong-border);border-radius:var(--r-md);background:var(--surface);max-width:170px;height:38px;color:var(--text);font-size:var(--text-sm);cursor:pointer;appearance:none;padding:0 32px 0 12px}.filter-select select:hover{background:var(--soft)}.filter-select select:focus-visible{outline:2px solid var(--text);outline-offset:2px}.filter-trigger{border:1px solid var(--strong-border);border-radius:var(--r-md);background:var(--surface);height:38px;font-size:var(--text-sm);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:flex}.filter-trigger svg{width:15px;height:15px}.filter-trigger:hover{background:var(--soft)}.filter-trigger.has-filters{border-color:var(--text)}.filter-count{border-radius:var(--r-sm);background:var(--primary);min-width:18px;height:18px;color:var(--on-primary);place-items:center;padding:0 4px;font-size:11px;display:grid}.filter-count.mobile-only,.sheet-mobile-only{display:none}.category-pills{scrollbar-width:none;gap:6px;margin-top:12px;display:flex;overflow-x:auto}.category-pills::-webkit-scrollbar{display:none}.category-pill{border:1px solid var(--border);height:30px;font-size:var(--text-sm);color:var(--body);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;display:flex}.category-pill svg{width:14px;height:14px;color:var(--muted)}.category-pill:hover{border-color:var(--strong-border);color:var(--text)}.category-pill.active{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.category-pill.active svg{color:currentColor}.results-heading{justify-content:space-between;padding:20px 0 4px}.results-heading,.results-summary{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.results-summary{min-width:0}.results-heading strong{font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;font-weight:400}.results-heading strong,.selfhost-toggle{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.selfhost-toggle{border:1px solid var(--border);height:28px;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;display:flex}.selfhost-toggle svg{width:13px;height:13px}.selfhost-toggle:hover{border-color:var(--strong-border);color:var(--text)}.selfhost-toggle[aria-pressed=true]{border-color:var(--green);background:var(--state-bg);color:var(--green)}.active-filters{flex-wrap:wrap;gap:6px;margin:12px 0 4px;display:flex}.active-filters button{background:var(--soft);max-width:100%;height:28px;font-size:var(--text-xs);color:var(--body);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:8px;padding:0 10px;display:flex}.active-filters button span{color:var(--muted);font-size:15px;line-height:1}.active-filters button:hover{background:var(--hover)}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;margin-top:12px;display:grid}.catalog-card{border-top:1px solid var(--border);flex-direction:column;min-width:0;padding:20px 0;display:flex;position:relative}.catalog-card-top{align-items:center;gap:12px;display:flex}.catalog-card-top .app-icon{width:44px;height:44px}.catalog-identity{flex:1;min-width:0}.catalog-card h3{font-size:var(--text-md);overflow-wrap:anywhere;font-weight:600;line-height:1.3}.catalog-card-link:after{content:"";position:absolute;inset:0}.catalog-card:hover h3 a{text-decoration:underline;-webkit-text-decoration-color:var(--strong-border);text-decoration-color:var(--strong-border);text-underline-offset:3px}.catalog-card .app-github{z-index:1;align-self:flex-start;position:relative}.catalog-identity p{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 4px;margin-top:2px;display:flex}.catalog-identity .source-badge{margin-left:4px}.catalog-description{color:var(--body);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:12px;line-height:1.5;display:-webkit-box}.card-replaces,.catalog-description{font-size:var(--text-sm);overflow:hidden}.card-replaces{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:8px 0 14px;font-weight:500}.card-replaces span{color:var(--muted);margin-right:6px;font-weight:400}.card-meta{border-top:1px dashed var(--border);min-width:0;font-family:var(--mono);font-size:var(--text-xs);color:var(--body);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:14px;margin-top:auto;padding-top:12px;display:flex}.card-meta>span{flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.card-meta svg{width:13px;height:13px;color:var(--muted)}.card-meta .card-rating svg{fill:var(--warning);stroke:var(--warning)}.card-meta .card-platforms{color:var(--muted);gap:8px;margin-left:auto}.card-platforms>span{display:inline-flex}.card-meta .card-platforms svg{width:14px;height:14px;color:inherit}.replacement-chip{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.replacement-chip b{color:var(--body);font-weight:500}.load-more{text-align:center;padding:32px 0 8px}.load-more p{font-size:var(--text-sm);color:var(--muted);margin-bottom:12px}.empty-state{text-align:center;border:1px dashed var(--strong-border);border-radius:var(--r-lg);grid-column:1/-1;padding:64px 24px}.empty-state>svg{width:28px;height:28px;color:var(--muted);margin:0 auto 16px}.empty-state h1,.empty-state h2{font-size:var(--text-xl);margin-bottom:8px}.empty-state p{max-width:440px;font-size:var(--text-sm);color:var(--muted);margin:0 auto 20px}.empty-state .button{margin:0 4px}.zero-result-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.breadcrumbs{font-size:var(--text-sm);color:var(--muted);align-items:center;gap:6px;padding:28px 0 24px;display:flex}.breadcrumbs svg{width:12px;height:12px;color:var(--faint)}.breadcrumbs a:hover,.breadcrumbs span{color:var(--text)}.detail-hero{align-items:flex-start;gap:24px;padding-bottom:32px;display:flex}.detail-hero>.app-icon{border-radius:20px;width:88px;height:88px;padding:8px}.detail-hero>div:nth-child(2){flex:1;min-width:0}.detail-hero h1{margin:2px 0 6px;font-size:32px}.detail-hero p{max-width:520px;font-size:var(--text-lg);color:var(--body);line-height:1.5}.detail-tags{font-size:var(--text-xs);color:var(--muted);gap:6px;margin-top:10px}.detail-actions,.detail-tags{align-items:center;display:flex}.detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto;padding-top:4px}.detail-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:48px;display:grid}.detail-stat{border-left:1px solid var(--border);flex-direction:column;gap:4px;padding:18px 20px;display:flex}.detail-stat:first-child{border-left:0;padding-left:0}.detail-stat span{font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:11px}.detail-stat strong{font-family:var(--mono);font-size:var(--text-xl);letter-spacing:-.02em;align-items:center;gap:6px;font-weight:500;display:flex}.detail-stat strong svg{width:15px;height:15px;color:var(--muted)}.detail-stat .detail-stat-text{min-height:28px;font-family:var(--sans);font-size:var(--text-md);font-weight:600;line-height:1.35}.detail-stat small{font-size:var(--text-xs);color:var(--muted)}.screenshot-section{margin-bottom:48px}.screenshot-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:16px;display:flex}.detail-body h2,.screenshot-heading h2{font-size:var(--text-xl)}.screenshot-heading span{font-size:var(--text-xs);color:var(--muted)}.screenshot-gallery{scroll-snap-type:x mandatory;gap:16px;padding-bottom:6px;display:flex;overflow:auto}.screenshot-button{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--soft);scroll-snap-align:start;flex:1;min-width:75%;overflow:hidden}.screenshot-button:only-child{min-width:100%}.screenshot-button img{object-fit:contain;width:100%;max-height:480px;display:block}.screenshot-button:hover{border-color:var(--strong-border)}.product-resource{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--soft);justify-content:space-between;align-items:center;gap:24px;margin-bottom:48px;padding:24px;display:flex}.product-resource h3{font-size:var(--text-lg)}.product-resource p{font-size:var(--text-sm);color:var(--muted);margin-top:4px}.selection-panel{border:1px solid var(--border);border-radius:var(--r-lg);grid-template-columns:1fr 1.4fr;gap:12px 48px;margin-bottom:48px;padding:28px;display:grid}.selection-title h2{max-width:380px;font-size:var(--text-xl);margin-top:4px;line-height:1.3}.fit-consideration{max-width:380px;font-size:var(--text-sm);color:var(--body);grid-column:1;line-height:1.65}.feedback-panel{border-left:1px solid var(--border);grid-area:1/2/3;padding-left:48px}.feedback-panel h3{font-size:var(--text-md);margin-bottom:8px}.feedback-panel>p{font-size:var(--text-sm);color:var(--body);margin-top:10px;line-height:1.65}.unrated{font-size:var(--text-sm);color:var(--muted);display:block}.feedback-links{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;display:flex}.feedback-links>span{font-size:var(--text-xs);color:var(--muted)}.feedback-links .text-link{color:var(--text)}.feedback-links .text-link svg{color:var(--muted)}.feedback-panel>p.review-context{font-size:var(--text-xs);color:var(--muted);margin-top:14px}.detail-body{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:64px;display:grid}.detail-body h2{margin-bottom:12px}.detail-body p{font-size:var(--text-md);color:var(--body);line-height:1.7}.detail-body ul{margin:20px 0 0;padding:0;list-style:none}.detail-body li{font-size:var(--text-md);color:var(--body);align-items:center;gap:10px;margin:10px 0;display:flex}.detail-body li svg{width:15px;height:15px;color:var(--green)}.detail-body .detail-subheading{margin-top:40px}.detail-body p.detail-snapshot,.detail-snapshot{font-size:var(--text-xs);color:var(--muted);margin-top:14px;line-height:1.6}.license-note{border-radius:var(--r-md);background:var(--warning-bg);color:var(--warning);font-size:var(--text-sm);margin-top:20px;padding:14px 16px;line-height:1.6}.license-note a{text-underline-offset:2px;text-decoration:underline}.alternative-chips{flex-wrap:wrap;gap:6px;display:flex}.alternative-chips span{border:1px solid var(--border);height:28px;font-size:var(--text-sm);color:var(--body);border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.detail-info h3{font-size:var(--text-md);margin-bottom:8px}.detail-info dl{margin:0 0 16px}.detail-info dl div{border-bottom:1px solid var(--border);font-size:var(--text-sm);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.detail-info dt{color:var(--muted)}.detail-info dd{max-width:65%;color:var(--text);text-align:right;overflow-wrap:anywhere;margin:0}.detail-info dl div:nth-child(5) dd{font-family:var(--mono);font-size:var(--text-xs)}.detail-info dd a:hover{text-underline-offset:3px;text-decoration:underline}.detail-info .text-link{width:fit-content;color:var(--text);padding:4px 0;display:flex}.back-button,.detail-info .text-link svg{color:var(--muted)}.back-button{font-size:var(--text-sm);align-items:center;gap:4px;margin-top:24px;display:inline-flex}.back-button svg{width:14px;height:14px}.back-button:hover{color:var(--text)}.save-button[aria-pressed=true]{color:var(--green);background:var(--state-bg)}.save-button[aria-pressed=true] svg{fill:currentColor}.loading{text-align:center;font-size:var(--text-sm);color:var(--muted);padding:120px 0}.loading .brand-mark{margin:0 auto}.loading p{margin-top:16px}dialog{border:1px solid var(--border);background:var(--surface);width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 48px);color:var(--text);box-shadow:var(--shadow);border-radius:14px;padding:28px;overflow:auto}dialog::backdrop{background:var(--overlay)}.dialog-close{font-size:22px;line-height:1;position:absolute;top:12px;right:12px}.about-dialog h2,.filter-dialog h2{font-size:var(--text-xl);margin:4px 0 8px;line-height:1.3}.about-dialog p{font-size:var(--text-sm);color:var(--body);margin:12px 0;line-height:1.65}.about-dialog .button{margin-top:8px}.image-dialog{max-width:1100px;padding:20px}.image-dialog img{object-fit:contain;width:100%;max-height:78vh;margin-top:20px}.image-dialog p{text-align:center;font-size:var(--text-xs);color:var(--muted);padding-top:12px}.filter-dialog{width:420px;max-width:calc(100% - 32px);padding:24px}.filter-intro{font-size:var(--text-sm);color:var(--muted);margin-bottom:12px}.sheet-select{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:16px 0;display:flex}.sheet-select>span{font-size:var(--text-sm);font-weight:500}.sheet-select select{border:1px solid var(--strong-border);border-radius:var(--r-md);background:var(--surface);height:38px;font-size:var(--text-sm);padding:0 10px}.sheet-check{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.sheet-check strong{font-size:var(--text-sm);font-weight:500;display:block}.sheet-check small{font-size:var(--text-xs);color:var(--muted);margin-top:2px;line-height:1.5;display:block}.sheet-check input{background:var(--strong-border);cursor:pointer;appearance:none;border-radius:999px;flex-shrink:0;width:34px;height:20px;margin:0;position:relative}.sheet-check input:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.sheet-check input:checked{background:var(--green)}.sheet-check input:checked:before{transform:translate(14px)}.sheet-check input:focus-visible{outline:2px solid var(--text);outline-offset:3px}.filter-dialog-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:20px;display:flex}.toast{z-index:60;border-radius:var(--r-md);background:var(--primary);color:var(--on-primary);font-size:var(--text-sm);box-shadow:var(--shadow);opacity:0;pointer-events:none;padding:10px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%,8px)}.toast.visible{opacity:1;transform:translate(-50%)}.community-hero{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:40px;padding:48px 0 32px;display:flex}.community-hero h1,.form-page-head h1{max-width:720px;margin:4px 0 10px}.community-hero p,.form-page-head p{max-width:640px;font-size:var(--text-md);color:var(--muted);line-height:1.6}.form-page-head{border-bottom:1px solid var(--border);padding:48px 0 32px}.compact-section{margin-top:40px}.community-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.community-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;min-width:0;padding:20px;display:flex}.community-card-head{align-items:flex-start;gap:12px;display:flex}.community-card-head>div{min-width:0}.community-card-head h2{font-size:var(--text-lg);overflow-wrap:anywhere;margin:4px 0 2px}.community-card-head p{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere}.community-card-label{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-pending{background:var(--warning-bg);color:var(--warning)}.status-approved{background:var(--state-bg);color:var(--green)}.status-rejected{background:var(--danger-bg);color:var(--danger)}.community-description{font-size:var(--text-sm);color:var(--body);margin:14px 0 10px;line-height:1.6}.community-signals{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.community-signals span{align-items:center;gap:4px;display:flex}.community-signals svg{width:13px;height:13px}.community-signals strong{color:var(--body);font-weight:600}.community-card .replacement-chip{margin-bottom:14px}.community-card-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;display:flex}.community-card-foot>div{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.recommend-button{border:1px solid var(--border);border-radius:var(--r-md);height:32px;font-size:var(--text-xs);color:var(--muted);align-items:center;gap:6px;padding:0 10px;display:flex}.recommend-button svg{width:14px;height:14px}.recommend-button strong{font-size:var(--text-sm);color:var(--body)}.recommend-button:hover{border-color:var(--strong-border);color:var(--text)}.recommend-button[aria-pressed=true]{border-color:var(--green);background:var(--state-bg);color:var(--green)}.recommend-button[aria-pressed=true] strong{color:var(--green)}.community-feedback{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.community-feedback summary{width:max-content;max-width:100%;font-size:var(--text-xs);color:var(--muted);cursor:pointer}.community-feedback summary:hover{color:var(--text)}.community-feedback>.text-link{margin-top:8px}.feedback-form{gap:8px;margin-top:10px;display:grid}.feedback-form label{font-size:var(--text-xs);color:var(--body);gap:6px;display:grid}.feedback-form textarea{border:1px solid var(--strong-border);border-radius:var(--r-md);background:var(--surface);width:100%;font-size:var(--text-sm);resize:vertical;padding:10px 12px}.feedback-form .form-feedback{min-height:0;padding:0}.feedback-form .button{justify-self:start}.inline-state{text-align:center;border:1px dashed var(--strong-border);border-radius:var(--r-lg);flex-direction:column;align-items:center;gap:6px;margin:32px 0;padding:48px 24px;display:flex}.inline-state>svg{width:24px;height:24px;color:var(--muted);margin-bottom:6px}.inline-state strong{font-size:var(--text-lg);font-weight:600}.inline-state p{font-size:var(--text-sm);color:var(--muted)}.inline-state .button{margin-top:10px}.error-state{background:var(--soft);border-style:solid}.user-strip{border:1px solid var(--border);border-radius:var(--r-lg);font-size:var(--text-sm);color:var(--muted);align-items:center;gap:10px;margin:20px 0;padding:10px 14px;display:flex}.user-strip img,.user-strip>svg{border-radius:50%;width:28px;height:28px}.user-strip a,.user-strip strong{color:var(--text)}.user-strip a{margin-left:auto;font-weight:500}.auth-notice{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--soft);align-items:center;gap:16px;margin:24px 0;padding:18px 20px;display:flex}.auth-notice>svg{width:22px;height:22px}.auth-notice>div{flex:1}.auth-notice strong{font-size:var(--text-md);font-weight:600}.auth-notice p{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.editor-form{margin-top:24px}.bot-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-section{border-bottom:1px solid var(--border);grid-template-columns:minmax(200px,.6fr) minmax(0,1.4fr);gap:48px;padding:32px 0;display:grid}.form-section-copy h2{font-size:var(--text-lg)}.form-section-copy p{max-width:280px;font-size:var(--text-sm);color:var(--muted);margin-top:6px;line-height:1.6}.form-fields{gap:16px;display:grid}.form-fields.two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form-field{flex-direction:column;gap:6px;min-width:0;display:flex}.form-field>label,.form-field>span,.solution-form label>span{font-size:var(--text-sm);color:var(--text);font-weight:500}.form-field small{font-size:var(--text-xs);color:var(--muted);line-height:1.5}.form-field input,.form-field select,.form-field textarea,.solution-form input,.solution-form select{border:1px solid var(--strong-border);border-radius:var(--r-md);background:var(--surface);width:100%;min-height:40px;color:var(--text);font-size:var(--text-sm);resize:vertical;padding:9px 12px}.form-field textarea{line-height:1.55}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--faint)}.form-field select,.solution-form select{background-image:var(--chevron);appearance:none;cursor:pointer;background-position:right 12px center;background-repeat:no-repeat;background-size:14px;padding-right:36px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.solution-form input:focus,.solution-form select:focus{border-color:var(--muted);box-shadow:0 0 0 3px var(--soft)}.input-action{align-items:center;gap:8px;display:flex}.input-action input{flex:1;min-width:0}.input-action .button{flex-shrink:0;height:40px}.checkbox-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.checkbox-grid label{border:1px solid var(--border);border-radius:var(--r-md);min-height:38px;font-size:var(--text-sm);color:var(--body);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;display:flex}.checkbox-grid label:has(input:checked){border-color:var(--text);color:var(--text)}.check-field{border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;display:flex}.check-field strong{font-size:var(--text-sm);font-weight:500;display:block}.check-field small{font-size:var(--text-xs);color:var(--muted);margin-top:2px;display:block}.field-error{color:var(--danger)!important}.form-feedback{min-height:20px;font-size:var(--text-sm);color:var(--danger);padding-top:8px}.form-actions{justify-content:flex-end;align-items:center;gap:16px;padding-top:20px;display:flex}.form-actions .text-link{margin-right:auto}.wanted-request-form{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--soft);align-items:flex-end;gap:12px;margin:24px 0;padding:20px;display:flex}.wanted-request-form>div:first-child{flex:1;grid-template-columns:240px minmax(280px,1fr);gap:12px;display:grid}.wanted-request-form>.form-feedback{display:none}.wanted-list{gap:12px;display:grid}.wanted-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);grid-template-columns:80px minmax(0,1fr);display:grid;overflow:hidden}.wanted-rank{border-right:1px solid var(--border);place-items:center;padding:16px;display:grid}.wanted-rank button{border-radius:var(--r-md);color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:6px 10px;display:flex}.wanted-rank button:hover{background:var(--soft);color:var(--text)}.wanted-rank svg{width:14px;height:14px;transform:rotate(-90deg)}.wanted-rank strong{font-size:var(--text-xl);color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.wanted-rank span{font-size:11px}.wanted-rank button[aria-pressed=true]{color:var(--green)}.wanted-copy{padding:18px 20px}.wanted-copy>div:first-child{align-items:center;gap:8px;display:flex}.wanted-author{font-size:var(--text-xs);color:var(--muted)}.wanted-copy h2{font-size:var(--text-lg);margin:6px 0 4px}.wanted-copy>p{font-size:var(--text-sm);color:var(--muted);line-height:1.6}.solution-list{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.solution-list>strong{font-size:var(--text-xs);color:var(--muted);font-weight:500}.solution-list span{border-radius:var(--r-sm);background:var(--state-bg);height:24px;font-size:var(--text-xs);align-items:center;gap:4px;padding:0 8px;display:flex}.solution-list svg{width:12px;color:var(--green)}.solution-form-wrap{margin-top:14px}.solution-form-wrap summary{width:max-content;font-size:var(--text-sm);color:var(--body);cursor:pointer;font-weight:500}.solution-form{border-radius:var(--r-md);background:var(--soft);grid-template-columns:1fr auto 1fr auto;align-items:end;gap:10px;margin-top:10px;padding:14px;display:grid}.solution-form label{flex-direction:column;gap:6px;display:flex}.form-or{font-size:var(--text-xs);color:var(--muted);padding-bottom:11px}.solution-form .form-feedback{grid-column:1/-1;min-height:0;padding:0}.admin-summary{align-items:baseline;gap:6px;margin:24px 0;display:flex}.admin-summary strong{font-size:var(--text-2xl)}.admin-summary span{font-size:var(--text-sm);color:var(--muted)}.admin-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.admin-overview>div{border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:4px;padding:16px;display:flex}.admin-overview strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;line-height:1}.admin-overview span{font-size:var(--text-xs);color:var(--muted)}.admin-filter-row{flex-wrap:wrap;gap:6px;margin:20px 0 16px;display:flex}.admin-filter-row button{border:1px solid var(--border);height:30px;font-size:var(--text-sm);color:var(--muted);border-radius:999px;padding:0 12px}.admin-filter-row button:hover{color:var(--text);border-color:var(--strong-border)}.admin-filter-row button[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.admin-list-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.admin-list-heading h2{font-size:var(--text-lg)}.admin-list-heading span{font-size:var(--text-xs);color:var(--muted)}.moderation-list{gap:16px;display:grid}.moderation-card{border:1px solid var(--border);border-radius:var(--r-lg);padding:22px}.moderation-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.moderation-head h2{font-size:var(--text-lg);margin:6px 0 2px}.moderation-head a{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:4px;display:flex}.moderation-head a:hover{color:var(--text)}.moderation-head a svg{width:12px}.admin-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.moderation-actions{justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.reject-action{color:var(--danger);margin-right:auto}.admin-signals{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.admin-signals span{align-items:center;gap:5px;display:flex}.admin-signals svg{width:13px;height:13px}.admin-signals strong{font-size:var(--text-md);color:var(--text)}.admin-alternatives,.admin-description,.admin-submitted{font-size:var(--text-xs);color:var(--muted);line-height:1.5}.admin-submitted{margin-top:6px}.admin-description{font-size:var(--text-sm);color:var(--body)}.admin-alternatives{margin:6px 0 14px}.admin-repo-facts{flex-wrap:wrap;gap:6px;margin:-2px 0 14px;display:flex}.admin-repo-facts span{border-radius:var(--r-sm);background:var(--soft);height:24px;font-size:var(--text-xs);color:var(--muted);padding:3px 8px}.admin-repo-facts .admin-archived{background:var(--danger-bg);color:var(--danger)}.admin-no-votes,.admin-voters{font-size:var(--text-xs);color:var(--muted);margin:0 0 14px}.admin-voters summary{width:max-content;color:var(--body);cursor:pointer}.admin-voters>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.admin-voters span{border-radius:var(--r-sm);background:var(--soft);padding:4px 8px}.admin-feedback{border-radius:var(--r-md);background:var(--soft);margin:0 0 14px;padding:12px 14px}.admin-feedback>strong{font-size:var(--text-xs)}.admin-feedback p{font-size:var(--text-sm);color:var(--body);overflow-wrap:anywhere;gap:3px;margin-top:8px;line-height:1.5;display:grid}.admin-feedback p span{font-size:var(--text-xs);color:var(--muted)}.admin-editor{border-top:1px solid var(--border);padding-top:12px}.admin-editor summary{width:max-content;font-size:var(--text-sm);color:var(--body);cursor:pointer;font-weight:500}.admin-editor[open] summary{margin-bottom:16px}.submit-page{max-width:880px;margin:0 auto}.submit-head{padding:56px 0 40px}.submit-head h1{margin:4px 0 10px;font-size:32px}.submit-head p{max-width:560px;font-size:var(--text-md);color:var(--muted);line-height:1.6}.submit-flow{counter-reset:flow;font-size:var(--text-sm);color:var(--body);flex-wrap:wrap;gap:8px 10px;margin:20px 0 0;padding:0;list-style:none}.submit-flow,.submit-flow li{align-items:center;display:flex}.submit-flow li{counter-increment:flow;gap:8px}.submit-flow li:before{content:counter(flow);border:1px solid var(--strong-border);width:20px;height:20px;font-family:var(--mono);color:var(--muted);border-radius:50%;place-items:center;font-size:11px;display:grid}.submit-flow li:not(:last-child):after{content:"";background:var(--strong-border);width:20px;height:1px;margin-left:2px}.submit-page .user-strip{margin:0 0 8px}.submit-form{min-width:0;margin:0}.submit-section{border-top:1px solid var(--border);grid-template-columns:220px minmax(0,1fr);gap:48px;padding:32px 0;display:grid}.submit-section-head h2{font-size:var(--text-md);margin-top:6px;font-weight:600}.submit-section-head p{font-size:var(--text-sm);color:var(--muted);margin-top:4px;line-height:1.5}.submit-step{font-family:var(--mono);font-size:var(--text-xs);color:var(--faint)}.submit-section-body{min-width:0}.submit-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;display:grid}.submit-fields>:nth-child(n+3){grid-column:1/-1}.submit-form .form-field input,.submit-form .form-field select{min-height:42px}.submit-form .form-field textarea{min-height:88px}.submit-form .form-field small{justify-content:space-between;gap:12px;display:flex}.char-count{font-family:var(--mono);color:var(--faint);flex-shrink:0}.repo-field{border:1px solid var(--strong-border);border-radius:var(--r-md);background:var(--surface);align-items:center;gap:8px;height:48px;padding:0 5px 0 14px;display:flex}.repo-field:focus-within{border-color:var(--muted);box-shadow:0 0 0 3px var(--soft)}.repo-field>svg{width:16px;height:16px;color:var(--muted);flex-shrink:0}.submit-form .repo-field input{min-width:0;height:100%;min-height:0;box-shadow:none;font-family:var(--mono);text-overflow:ellipsis;background:0 0;border:0;flex:1;padding:0}.repo-field .button{flex-shrink:0;height:36px}.metadata-preview{border:1px solid var(--border);border-radius:var(--r-md);background:var(--soft);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.metadata-preview[hidden]{display:none}.metadata-preview img,.metadata-preview>svg:first-child{border-radius:var(--r-sm);width:32px;height:32px}.metadata-preview>div{flex:1;min-width:0}.metadata-preview strong,.metadata-preview>div>span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.metadata-preview strong{font-family:var(--mono);font-size:var(--text-sm);font-weight:500}.metadata-preview>div>span{font-size:var(--text-xs);color:var(--muted);margin-top:1px}.metadata-status{font-size:var(--text-xs);color:var(--green);align-items:center;gap:4px;font-weight:500;display:inline-flex}.metadata-status svg{width:14px;height:14px}.metadata-warning{border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--warning);flex-basis:100%;padding-top:10px}.metadata-preview.is-error{background:var(--danger-bg);border-color:#0000}.metadata-preview.is-error>svg:first-child{width:16px;height:16px;color:var(--danger)}.metadata-preview.is-error .field-error{font-size:var(--text-sm)}.submit-platforms{border:0;min-width:0;margin:0;padding:0}.submit-platforms legend{font-size:var(--text-sm);margin-bottom:8px;padding:0;font-weight:500}.submit-platforms legend small{font-size:var(--text-xs);color:var(--muted);margin-left:6px;font-weight:400}.platform-options{flex-wrap:wrap;gap:8px;display:flex}.platform-options label{border:1px solid var(--strong-border);height:34px;font-size:var(--text-sm);color:var(--body);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex;position:relative}.platform-options input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.platform-options svg{width:14px;height:14px;margin-left:-4px;display:none}.platform-options label:hover{border-color:var(--muted);color:var(--text)}.platform-options label:has(input:checked){border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.platform-options label:has(input:checked) svg{display:block}.platform-options label:has(input:focus-visible){outline:2px solid var(--text);outline-offset:2px}.submit-optional-toggle{border:1px dashed var(--strong-border);border-radius:var(--r-md);height:36px;font-size:var(--text-sm);color:var(--body);cursor:pointer;align-items:center;gap:6px;padding:0 14px;font-weight:500;list-style:none;display:inline-flex}.submit-optional-toggle::-webkit-details-marker{display:none}.submit-optional-toggle:hover{border-color:var(--muted);color:var(--text)}.submit-optional-toggle svg{width:14px;height:14px;transform:rotate(90deg)}.submit-optional-toggle .when-open,.submit-optional[open] .when-closed{display:none}.submit-optional[open] .when-open{display:inline}.submit-optional[open] .submit-optional-toggle{border-style:solid;margin-bottom:20px}.submit-optional[open] .submit-optional-toggle svg{transform:rotate(-90deg)}.check-field input{accent-color:var(--primary);margin:2px 0 0}.submit-form>.form-feedback{min-height:0}.submit-form>.form-feedback:not(:empty){padding-top:16px}.submit-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:24px 0 8px;display:flex}.submit-footer p{font-size:var(--text-sm);color:var(--muted)}.submit-footer p a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--strong-border);text-decoration-color:var(--strong-border);text-underline-offset:3px}.submit-footer p a:hover{text-decoration-color:currentColor}.submit-footer>div{align-items:center;gap:20px;display:flex}.submit-footer .button{height:40px;padding:0 18px}@media (max-width:900px){.submit-section{grid-template-columns:minmax(0,1fr);gap:20px}}@media (max-width:540px){.submit-head{padding:32px 0 28px}.submit-head h1{font-size:var(--text-2xl)}.submit-flow{flex-direction:column;align-items:flex-start}.submit-flow li:not(:last-child):after{content:none}.submit-section{padding:28px 0}.submit-fields{grid-template-columns:minmax(0,1fr);gap:18px}.submit-footer{flex-direction:column;align-items:stretch;gap:16px}.submit-footer>div{flex-direction:column-reverse;align-items:stretch;gap:12px}.submit-footer .text-link{justify-content:center}}@media (max-width:1000px){:root{--gutter:24px;--section:56px}.apps-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}.leaderboard-head,.leaderboard-row{grid-template-columns:32px minmax(0,1fr) 120px 160px 64px 28px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-grid>:nth-child(10){display:none}.recent-grid,.review-grid{gap:12px}.review-card{padding:18px}.collection-banner{gap:32px;padding:36px}.detail-actions{max-width:200px}.detail-actions .button{flex:1}.detail-stat{padding:16px 14px}.detail-body{gap:40px}.form-section{gap:32px}.solution-form{grid-template-columns:1fr auto 1fr}.solution-form .button{grid-column:1/-1;width:max-content}.wanted-request-form>div:first-child{grid-template-columns:200px minmax(220px,1fr)}}@media (max-width:760px){:root{--gutter:20px;--section:48px;--text-2xl:26px}body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.feedback-form textarea,.form-field input,.form-field select,.form-field textarea,.search-box input,.solution-form input{font-size:16px!important}.topbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;height:56px}.nav-inner{gap:12px}.nav-actions .github-nav,.nav-separator{display:none}#theme-toggle{order:-1}.submit-nav{margin-left:4px;margin-right:0}.nav-inner nav{left:50%;bottom:calc(10px + env(safe-area-inset-bottom));z-index:50;border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr)) 56px repeat(2,minmax(0,1fr));align-items:stretch;gap:2px;width:min(100vw - 24px,420px);height:60px;padding:4px;display:grid;position:fixed}@supports (color:color-mix(in lab,red,red)){.nav-inner nav{background:color-mix(in srgb,var(--surface) 86%,transparent)}}.nav-inner nav{box-shadow:var(--shadow);-webkit-backdrop-filter:saturate(1.4)blur(16px);backdrop-filter:saturate(1.4)blur(16px);transform:translate(-50%)}.nav-inner nav a{min-width:0;height:auto;color:var(--muted);border-radius:14px;flex-direction:column;justify-content:center;gap:3px;padding:0;font-size:11px;line-height:1}.nav-inner nav a:hover{background:0 0}.nav-inner nav a.active{background:var(--hover);color:var(--text);font-weight:600}.nav-inner nav a:nth-child(3){grid-column:4}.nav-icon{width:19px;height:19px;display:block}.nav-inner nav .nav-dot{margin:0;position:absolute;top:9px;left:calc(50% + 8px)}#search-shortcut{left:50%;bottom:calc(19px + env(safe-area-inset-bottom));z-index:52;background:var(--primary);width:42px;height:42px;color:var(--on-primary);border-radius:14px;position:fixed;transform:translate(-50%)}#search-shortcut:hover{opacity:.86}#search-shortcut svg{width:19px;height:19px}.toast{bottom:calc(88px + env(safe-area-inset-bottom))}.discovery-hero{padding:36px 0 0}.discovery-hero h1{margin:14px auto 12px;font-size:min(38px,8.92857vw - 3.57143px);line-height:1.08}.hero-heading>p{white-space:nowrap;max-width:none;font-size:clamp(14px,4.6vw,16px)}.hero-search-area{margin-top:24px}.discovery-hero .search-box{height:48px}.hero-categories{margin:14px calc(var(--gutter) * -1) 0;padding:0 var(--gutter);scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;max-width:none;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.popular-searches,.replacement-suggestions{white-space:nowrap;flex-wrap:nowrap;justify-content:safe center}.popular-searches{margin:14px calc(var(--gutter) * -1) 0;padding:0 var(--gutter);scrollbar-width:none;overflow-x:auto}.hero-categories::-webkit-scrollbar,.popular-searches::-webkit-scrollbar{display:none}.hero-categories a{flex-shrink:0}.search-box kbd{display:none}.section-heading{flex-wrap:wrap;align-items:baseline;row-gap:0;margin-bottom:16px}.section-heading>div{display:contents}.section-heading h2{flex:1;min-width:0}.section-heading>a{order:1}.section-heading p{flex-basis:100%;order:2}.feature-grid{margin-right:calc(var(--gutter) * -1);padding-right:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:repeat(3,minmax(270px,1fr));overflow-x:auto}.feature-grid::-webkit-scrollbar{display:none}.feature{scroll-snap-align:start}.apps-grid{grid-template-columns:minmax(0,1fr)}.leaderboard-head,.leaderboard-row{grid-template-columns:14px minmax(0,1fr) auto 56px;gap:10px;padding-left:0;padding-right:0}.leaderboard-app{gap:10px}.leaderboard-bar,.leaderboard-category,.leaderboard-head span:nth-child(3),.leaderboard-head span:nth-child(6),.leaderboard-row .app-github{display:none}.leaderboard-app>span{flex-direction:column;align-items:stretch;gap:0}.leaderboard-app strong{text-overflow:ellipsis;overflow:hidden}.leaderboard-row:hover{background:0 0}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid>:nth-child(10){display:flex}.category-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-grid,.review-grid{grid-template-columns:minmax(0,1fr)}.recent-cover{height:160px}.community-entry{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}.collection-banner{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 24px}.explore-intro{flex-direction:column;align-items:stretch;gap:20px;padding:32px 0 20px}.explore-intro .search-box{width:100%}.browse-controls{position:relative;top:auto}.browse-toolbar .search-box{min-width:0;height:44px}.browse-toolbar .filter-select,.filter-count.desktop-only,.filter-trigger-label,.results-summary .selfhost-toggle{display:none}.filter-trigger{flex-shrink:0;justify-content:center;width:44px;height:44px;padding:0;position:relative}.filter-trigger svg{width:17px;height:17px}.filter-trigger.has-filters{border-color:var(--strong-border)}.filter-trigger.has-sheet-filters{border-color:var(--text)}.filter-trigger .filter-count.mobile-only{border-radius:999px;display:grid;position:absolute;top:-7px;right:-7px}.sheet-mobile-only{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sheet-mobile-only .sheet-select{border-bottom:0;min-width:0}.category-pills{margin:10px calc(var(--gutter) * -1) 0;padding:0 var(--gutter);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.category-pill{height:32px;padding:0 13px}.category-pill svg{display:none}.catalog-grid{grid-template-columns:minmax(0,1fr)}.detail-hero{flex-wrap:wrap;gap:16px}.detail-hero>.app-icon{border-radius:16px;width:72px;height:72px}.detail-hero h1{font-size:var(--text-2xl)}.detail-hero p{font-size:var(--text-md)}.detail-actions{justify-content:flex-start;width:100%;max-width:none;margin-left:0;padding-top:0}.detail-actions .button{flex:none}.detail-stats{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.detail-stat{border-left:0;border-top:1px solid var(--border);padding:14px 0}.detail-stat strong{font-size:var(--text-lg)}.selection-panel{padding:22px;display:block}.fit-consideration{margin-top:12px}.feedback-panel{border-left:0;border-top:1px solid var(--border);margin-top:20px;padding:20px 0 0}.detail-body{grid-template-columns:minmax(0,1fr);gap:40px}.product-resource{flex-direction:column;align-items:flex-start}.footer-inner{padding:40px var(--gutter) 32px;grid-template-columns:minmax(0,1fr);gap:32px}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.community-hero{flex-direction:column;align-items:flex-start;gap:20px;padding-top:36px}.community-grid,.form-section{grid-template-columns:minmax(0,1fr)}.form-section{gap:16px}.wanted-request-form{flex-direction:column;align-items:stretch}.wanted-request-form>div:first-child{grid-template-columns:1fr 1fr}.wanted-request-form .button{align-self:flex-end}.auth-notice{flex-wrap:wrap;align-items:flex-start}.auth-notice>div{min-width:220px}.solution-form{grid-template-columns:minmax(0,1fr)}.form-or{padding:0}.solution-form .button{grid-column:auto}.admin-fields{grid-template-columns:minmax(0,1fr)}}@media (max-width:540px){:root{--gutter:16px}.nav-actions{gap:0}.submit-nav{padding:0 10px}.hero-label .eyebrow{display:none}.empty-state{padding:44px 16px}.zero-result-actions{flex-direction:column;align-items:stretch}.zero-result-actions .button{white-space:normal;text-align:center;height:auto;min-height:40px;margin:0;padding:9px 14px}.hero-label-divider{display:none}.popular-searches{gap:4px 12px}.category-directory{grid-template-columns:minmax(0,1fr)}.filter-dialog{width:100%;max-width:none;max-height:85dvh;padding:24px 20px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;margin:0;position:fixed;inset:auto 0 0}.detail-info dl div{font-size:var(--text-sm)}.screenshot-heading span{display:none}.screenshot-button img{max-height:280px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}.community-entry-actions,.community-hero-actions{flex-direction:column;align-items:stretch;width:100%}.community-card-foot{flex-direction:column;align-items:flex-start}.community-card-foot>div{justify-content:flex-start}.user-strip{flex-wrap:wrap}.user-strip a{margin-left:0}.input-action{flex-direction:column;align-items:stretch}.form-actions{flex-direction:column-reverse;align-items:stretch;gap:16px}.form-actions .text-link{justify-content:center;margin:0}.form-fields.two-column,.wanted-request-form>div:first-child{grid-template-columns:minmax(0,1fr)}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wanted-card{grid-template-columns:60px minmax(0,1fr)}.wanted-rank{padding:10px}.wanted-copy{padding:16px}.moderation-card{padding:18px}.moderation-actions,.moderation-head{flex-wrap:wrap}.moderation-actions .button{flex:1}.reject-action{margin-right:0}.admin-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-list-heading,.moderation-head{flex-direction:column;align-items:flex-start}.admin-signals{align-items:flex-start}}@media (prefers-reduced-motion:no-preference){.hero-underline path{stroke-dasharray:1;stroke-dashoffset:1px;animation:underline-draw .7s cubic-bezier(.65,0,.35,1) .25s forwards}@keyframes underline-draw{to{stroke-dashoffset:0}}.category-card,.feature,.recent-card,a,button{transition:background-color .15s,border-color .15s,color .15s,opacity .15s}.submit-optional-toggle svg{transition:transform .15s}.toast{transition:opacity .15s,transform .15s}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}}@layer components{@keyframes overlay-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}[data-slot=dialog-overlay][data-state=open]{animation:overlay-in .16s ease-out}[data-slot=dialog-content][data-state=open]{animation:dialog-in .18s cubic-bezier(.2,.8,.2,1)}@media (max-width:760px){[data-slot=dialog-content][data-sheet][data-state=open]{animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}}}@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-\[12vh\]{top:12vh}.right-3{right:calc(var(--spacing) * 3)}.left-1\/2{left:50%}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-1{margin-top:var(--spacing)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.h-11{height:calc(var(--spacing) * 11)}.h-\[52px\]{height:52px}.h-full{height:100%}.max-h-\[78vh\]{max-height:78vh}.max-h-\[calc\(100dvh-48px\)\]{max-height:calc(100dvh - 48px)}.max-h-\[min\(420px\,60vh\)\]{max-height:min(420px,60vh)}.w-\[420px\]{width:420px}.w-\[calc\(100\%-24px\)\]{width:calc(100% - 24px)}.w-\[calc\(100\%-32px\)\]{width:calc(100% - 32px)}.w-full{width:100%}.max-w-\[480px\]{max-width:480px}.max-w-\[600px\]{max-width:600px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[calc\(100\%-32px\)\]{max-width:calc(100% - 32px)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-y-1\/2{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.scroll-py-2{scroll-padding-block:calc(var(--spacing) * 2)}.appearance-none{appearance:none}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[14px\]{border-radius:14px}.rounded-md{border-radius:var(--r-md)}.rounded-sm{border-radius:var(--r-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.bg-overlay{background-color:var(--overlay)}.bg-primary{background-color:var(--primary)}.bg-soft{background-color:var(--soft)}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.font-mono{font-family:var(--mono)}.text-sm{font-size:13px;line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:20px;line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:12px;line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[22px\]{font-size:22px}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.text-body{color:var(--body)}.text-faint{color:var(--faint)}.text-foreground{color:var(--text)}.text-muted{color:var(--muted)}.text-on-primary{color:var(--on-primary)}.capitalize{text-transform:capitalize}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-panel{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-panel{--tw-shadow:var(--shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-faint::placeholder{color:var(--faint)}.data-\[selected\=true\]\:bg-hover[data-selected=true]{background-color:var(--hover)}.data-\[selected\=true\]\:text-foreground[data-selected=true]{color:var(--text)}@media not all and (min-width:760px){.max-\[760px\]\:top-auto{top:auto}.max-\[760px\]\:bottom-0{bottom:0}.max-\[760px\]\:left-0{left:0}.max-\[760px\]\:max-h-\[85dvh\]{max-height:85dvh}.max-\[760px\]\:w-full{width:100%}.max-\[760px\]\:max-w-none{max-width:none}.max-\[760px\]\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.max-\[760px\]\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.max-\[760px\]\:rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.max-\[760px\]\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.max-\[760px\]\:px-5{padding-inline:calc(var(--spacing) * 5)}.max-\[760px\]\:pb-\[calc\(20px\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}@media (min-width:40rem){.sm\:block{display:block}}.\[\&_\[cmdk-group-heading\]\]\:px-2\.5 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2.5)}.\[\&_\[cmdk-group-heading\]\]\:pt-3 [cmdk-group-heading]{padding-top:calc(var(--spacing) * 3)}.\[\&_\[cmdk-group-heading\]\]\:pb-1\.5 [cmdk-group-heading]{padding-bottom:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:font-mono [cmdk-group-heading]{font-family:var(--mono)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:12px;line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:tracking-\[\.02em\] [cmdk-group-heading]{--tw-tracking:.02em;letter-spacing:.02em}.\[\&_\[cmdk-group-heading\]\]\:text-faint [cmdk-group-heading]{color:var(--faint)}.\[\&_\[cmdk-group-heading\]\]\:uppercase [cmdk-group-heading]{text-transform:uppercase}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_8c25df{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_8c25df{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}