@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap";:root{--bg:#f4efe6;--surface:#fff9ef;--surface-strong:#fff;--ink:#1c211d;--muted:#5c665f;--line:#d9d1c5;--brand:#1d7f6f;--brand-strong:#145f53;--accent:#d46a2d;--danger-bg:#ffe8df;--danger-ink:#7a2d17;--radius:18px}:root[data-theme=dark]{--bg:#0f1512;--surface:#141d18;--surface-strong:#1a2520;--ink:#e6f0eb;--muted:#a2b7ac;--line:#274035;--brand:#2aa38e;--brand-strong:#208776;--accent:#e38b54;--danger-bg:#3b231a;--danger-ink:#ffd7c8}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at 10% 10%, #f3d6c5 0%, transparent 35%), radial-gradient(circle at 85% 18%, #d4e9db 0%, transparent 32%), var(--bg);min-height:100vh;margin:0;font-family:Manrope,Segoe UI,sans-serif;line-height:1.55}:root[data-theme=dark] body{background:radial-gradient(circle at 12% 10%, #2b896f26 0%, transparent 32%), radial-gradient(circle at 86% 16%, #4e5cad29 0%, transparent 30%), var(--bg)}a{color:inherit}#root{min-height:100vh}h1,h2,h3{letter-spacing:-.02em;font-family:Sora,Manrope,sans-serif}.app-shell{flex-direction:column;max-width:1220px;min-height:100vh;margin:0 auto;padding:0 1rem 2rem;display:flex}.site-header{z-index:40;border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9efdb;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.8rem 1rem;display:flex;position:sticky;top:0}:root[data-theme=dark] .site-header{background:#151d18e0}.brand{align-items:center;gap:.55rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{background:linear-gradient(130deg, var(--brand), #3ea693);color:#fff;border-radius:10px;padding:.32rem .44rem;font-size:.9rem}.site-header nav{align-items:center;gap:.6rem;display:flex}.site-header nav a{color:var(--muted);border-radius:999px;padding:.42rem .78rem;text-decoration:none}.theme-toggle{border:1px solid var(--line);background:var(--surface-strong);color:var(--muted);cursor:pointer;border-radius:999px;padding:.42rem .78rem;font-weight:700}.icon-toggle{justify-content:center;align-items:center;width:2.2rem;height:2.2rem;padding:0;display:inline-flex}.icon-toggle svg{width:1rem;height:1rem}.theme-toggle:hover{color:var(--ink);border-color:var(--brand)}.site-header nav a.active{color:#fff;background:var(--brand)}main{flex:1}.page{gap:1.6rem;margin-top:1.6rem;display:grid}.hero{grid-template-columns:1.1fr .9fr;gap:1.4rem;display:grid}.hero-copy,.hero-art{border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--surface)}.hero-copy{padding:2.35rem}.hero-copy h1{margin:.2rem 0 .8rem;font-size:clamp(1.9rem,5vw,3.2rem)}.hero-copy p{color:var(--muted);margin:0}.hero-copy p+.hero-actions{margin-top:1rem}.hero-art{min-height:320px;overflow:hidden}.hero-art picture,.how-visual picture,.progressive-image picture{width:100%;height:100%;display:block}.progressive-image{background:#e9e3d6;width:100%;height:100%;position:relative;overflow:hidden}.progressive-image img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .26s ease-out;display:block}.progressive-image.is-loaded img,.progressive-image.is-failed img{opacity:1}.progressive-image-placeholder{background:linear-gradient(100deg,#eee7db 8%,#f7f2e9 22%,#eee7db 38%) 0 0/220% 100%;animation:1.4s ease-in-out infinite imageShimmer;position:absolute;inset:0}.progressive-image.is-loaded .progressive-image-placeholder,.progressive-image.is-failed .progressive-image-placeholder{opacity:0;pointer-events:none;transition:opacity .22s ease-out}@keyframes imageShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.hero-art img,.preview-hero img,.app-card-media img{object-fit:cover;width:100%;height:100%;display:block}.hero-image,.how-image,.app-card-image,.preview-hero-image{width:100%;height:100%}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-strong);margin:0;font-size:.75rem;font-weight:700}.hero-actions,.card-actions,.portal-layout,.mode-toggle,.platform-row,.chips{flex-wrap:wrap;gap:.65rem;display:flex}.btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.64rem 1rem;font-weight:700;text-decoration:none}.btn:hover{background:var(--brand-strong)}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-muted{color:#283026;background:#ece7de}.directory,.faq,.how-it-works,.features,.portal-link-panel,.portal-layout>article,.preview-hero,.site-footer,.status-banner,.auth-panel,.paywall-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.directory,.faq,.how-it-works,.features,.portal-link-panel,.site-footer,.status-banner,.auth-panel,.paywall-panel{padding:1.35rem}.directory>section+section,.portal-page .portal-layout,.legal-page .faq+.faq{margin-top:1.15rem}.search-input,.auth-panel input{border:1px solid var(--line);background:var(--surface-strong);width:100%;color:var(--ink);border-radius:12px;padding:.75rem .85rem;font-size:1rem}.filters{gap:.8rem;display:grid}.chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:.4rem .8rem}.chip.active{color:#fff;background:#183d35;border-color:#183d35}.apps-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:1rem;margin-top:1rem;display:grid}.app-card{border:1px solid var(--line);background:var(--surface-strong);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.app-card-media{height:150px;position:relative}.badge{color:#fff;letter-spacing:.06em;background:#1b3125;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;position:absolute;top:.6rem;right:.6rem}.app-card-body{gap:.6rem;padding:.85rem;display:grid}.app-card-body h3,.preview-hero h1,.features h2,.portal-page h1,.how-it-works h2,.faq h2,.directory h2{margin:0}.tagline{color:var(--brand-strong);margin:0;font-weight:700}.description,.app-card-body li,.faq-item p,.site-footer p,.portal-page p,.status-inline,.how-it-works p{color:var(--muted)}.categories{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.categories li{border:1px solid var(--line);color:#33453d;background:#f5f4ef;border-radius:999px;padding:.22rem .5rem;font-size:.75rem}.platform-row{align-items:center}.platform-row.compact{gap:.4rem}.platform-btn{border:1px solid var(--line);color:#304138;background:#fcfcfb;border-radius:10px;justify-content:center;align-items:center;padding:.34rem .55rem;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.platform-empty{color:var(--muted);margin:0;font-size:.85rem}.how-it-works ol{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.how-it-works li{border:1px solid var(--line);background:var(--surface-strong);border-radius:12px;padding:.7rem}.how-visual{border:1px solid var(--line);border-radius:12px;min-height:210px;overflow:hidden}.faq-list{gap:.9rem;display:grid}.faq-item{border:1px solid var(--line);background:var(--surface-strong);border-radius:12px;padding:.75rem}.faq-item h3{margin:0 0 .3rem}.preview-hero{grid-template-columns:.95fr 1.05fr;display:grid;overflow:hidden}.preview-hero>div{padding:1rem}.features ul,.paywall-panel ul{gap:.45rem;margin:.8rem 0 0;display:grid}.portal-layout{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.auth-panel form{gap:.65rem;display:grid}.auth-panel label{gap:.28rem;font-weight:600;display:grid}.status-banner{background:var(--danger-bg);color:var(--danger-ink)}.status-banner h1,.status-banner h2,.status-banner p{margin:0 0 .45rem}.status-inline{margin-top:.7rem}.site-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-top:1.5rem;display:flex}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--brand-strong)}.legal-page h2{margin:1rem 0 .45rem}.legal-page p{margin:.15rem 0 0}.site-footer h2{margin:0}.site-footer ul{gap:.8rem;margin:0;padding:0;list-style:none;display:flex}.sr-only{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.hero,.preview-hero{grid-template-columns:1fr}.site-header{flex-direction:column;align-items:flex-start}.site-header nav{width:100%;overflow-x:auto}.page{gap:1.2rem}.hero-copy{padding:1.4rem}}
