:root{--ink:#202522;--text:#3f4944;--muted-ink:#68736d;--paper:#fbfaf4;--surface:#fff;--surface-soft:#f5f7f0;--line:#2025221c;--line-strong:#20252233;--mint:#dceee3;--sage:#9fcfba;--aqua:#9ecbd2;--coral:#f2a197;--amber:#f0c66b;--lemon:#eff08f;--lilac:#d8cfe8;--green:#1c9f6b;--shadow-soft:0 15px 46px #26312b14;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 12% 3%,#d8cfe894,#0000 30%),radial-gradient(circle at 86% 18%,#9ecbd247,#0000 30%),linear-gradient(140deg,#fbfaf4 0%,#f1f7f2 48%,#edf5f4 100%);font-family:Avenir Next,Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body:before{z-index:-2;content:"";pointer-events:none;background-image:linear-gradient(#20252207 1px,#0000 1px),linear-gradient(90deg,#20252206 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 86%);mask-image:linear-gradient(#000,#0000 86%)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{border:0}h1,h2,p{margin-top:0}h1,h2{color:var(--ink);font-weight:900}img{max-width:100%}::selection{color:var(--ink);background:var(--lemon)}.portal-shell{min-height:100vh;position:relative;overflow:hidden}.constellation{z-index:-1;opacity:.08;pointer-events:none;width:min(1000px,76vw);position:fixed;top:-18vw;right:-18vw;transform:rotate(8deg)}.topbar{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(22px)saturate(130%);backdrop-filter:blur(22px)saturate(130%);background:#fbfaf4db;grid-template-columns:minmax(270px,.72fr) minmax(360px,1.3fr) minmax(300px,.7fr);align-items:center;gap:28px;min-height:84px;padding:12px clamp(22px,4vw,72px);display:grid;position:sticky;top:0;box-shadow:0 8px 30px #20252209}.brand{min-width:0;color:var(--ink);align-items:center;display:flex}.brand img{object-fit:contain;filter:drop-shadow(0 8px 13px #1c9f6b2e);width:54px;height:54px;margin-right:13px}.brand__word{letter-spacing:-.045em;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:900}.brand__product{border-left:1px solid var(--line-strong);color:var(--muted-ink);margin-left:10px;padding-left:10px;font-size:.86rem;font-weight:760}.search-box{background:#ffffffb8;border:1px solid #20252217;border-radius:18px;align-items:center;gap:12px;height:54px;padding:0 18px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex;box-shadow:inset 0 1px #fffc}.search-box:focus-within{background:#fff;border-color:#1c9f6b57;box-shadow:0 0 0 4px #1c9f6b14}.search-box svg{color:#96a19b;width:23px}.search-box input{width:100%;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;font-size:1rem}.search-box input::placeholder{color:#9aa39e}.search-box button{background:var(--surface-soft);width:28px;height:28px;color:var(--muted-ink);cursor:pointer;border-radius:50%}.account{justify-content:flex-end;align-items:center;gap:10px;display:flex}.environment{color:#157a53;white-space:nowrap;background:#dceee394;border:1px solid #1c9f6b2e;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}.login-link,.icon-link{color:var(--muted-ink);justify-content:center;align-items:center;display:inline-flex}.login-link{gap:6px;padding:9px 11px;font-weight:800}.login-link svg,.icon-link svg{width:22px}.icon-link{border-radius:13px;width:42px;height:42px}.login-link:hover,.icon-link:hover{color:var(--ink);background:#dceee39e}.catalog{width:min(1880px,100% - clamp(28px,5vw,104px));margin:0 auto;padding:clamp(36px,5vw,72px) 0 54px}.catalog-intro{grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);align-items:end;gap:42px;padding-bottom:34px;display:grid}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin:0 0 12px;font-size:.74rem;font-weight:900}.catalog-intro h1{letter-spacing:-.055em;max-width:16ch;margin:0;font-size:clamp(2.2rem,3.8vw,4.25rem);line-height:.98}.catalog-intro>p{border-left:3px solid var(--coral);max-width:48ch;color:var(--muted-ink);margin:0;padding-left:20px;font-size:1rem;line-height:1.75}.filter-row{justify-content:space-between;align-items:center;gap:20px;margin:4px 0 30px;display:flex}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters button{min-height:50px;color:var(--muted-ink);cursor:pointer;background:#ffffff94;border:1px solid #ffffffdb;border-radius:16px;align-items:center;gap:9px;padding:0 17px;font-weight:820;transition:transform .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex;box-shadow:0 8px 24px #2025220b}.filters button:hover{color:var(--ink);transform:translateY(-1px)}.filters button.active{background:var(--ink);color:#fff;border-color:#0000;box-shadow:0 12px 26px #2025222e}.filters svg{width:21px}.filters em{background:#20252214;border-radius:999px;place-items:center;min-width:23px;height:23px;padding:0 6px;font-size:.73rem;font-style:normal;display:grid}.filters button.active em{background:#ffffff29}.result-count{color:var(--muted-ink);white-space:nowrap;margin:0;font-size:.9rem}.result-count strong{color:var(--ink)}.app-grid{grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:22px;display:grid}.app-card{background:#ffffffb8;border:1px solid #ffffffe6;border-radius:22px;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden;box-shadow:0 16px 44px #26312b13}.app-card:hover{border-color:#1c9f6b38;transform:translateY(-5px);box-shadow:0 24px 62px #26312b21}.app-card__visual{background:var(--mint);height:176px;position:relative;overflow:hidden}.app-card__visual>img{object-fit:cover;width:100%;height:100%;transition:transform .32s}.app-card:hover .app-card__visual>img{transform:scale(1.035)}.app-card--extension .app-card__visual>img{object-fit:contain;opacity:.9;padding:28px}.app-card--extension:nth-child(3n+1) .app-card__visual{background:linear-gradient(135deg,#eef8f1,#dceee3)}.app-card--extension:nth-child(3n+2) .app-card__visual{background:linear-gradient(135deg,#f8f0eb,#f5d8d2)}.app-card--extension:nth-child(3n) .app-card__visual{background:linear-gradient(135deg,#eff6f7,#d7ebee)}.app-card__visual-shade{pointer-events:none;background:linear-gradient(#0000 45%,#18221d29);position:absolute;inset:0}.type-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.05em;color:#16764f;background:#ffffffd1;border:1px solid #ffffffb8;border-radius:11px;align-items:center;gap:7px;padding:7px 10px;font-size:.73rem;font-weight:900;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 7px 22px #20252214}.type-badge__dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #1c9f6b1f}.app-symbol{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#20252294;border:1px solid #ffffff70;border-radius:14px;place-items:center;width:47px;height:47px;display:grid;position:absolute;bottom:14px;left:15px}.app-symbol svg{width:23px}.app-card__body{flex-direction:column;min-height:274px;padding:24px 22px 20px;display:flex}.app-card__heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.app-card h2{letter-spacing:-.025em;min-width:0;margin:0;font-size:1.34rem;line-height:1.25}.state{white-space:nowrap;border-radius:999px;flex:none;margin-top:2px;padding:4px 7px;font-size:.66rem;font-weight:900}.state--online{color:#116b48;background:#dceee3eb}.state--staging{color:#8a6122;background:#f0c66b38}.app-card__body>p{-webkit-line-clamp:3;min-height:76px;color:var(--muted-ink);-webkit-box-orient:vertical;margin:14px 0 22px;line-height:1.66;display:-webkit-box;overflow:hidden}.app-card__footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:16px;display:flex}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-list span{color:var(--muted-ink);background:#f5f7f0e6;border-radius:7px;padding:5px 7px;font-size:.7rem;font-weight:720}.open-link{color:var(--green);white-space:nowrap;flex:none;font-weight:900}.open-link span{margin-left:3px}.open-link:hover{color:#117b51}.open-link--disabled{color:#9a8c6d;cursor:default}.empty-state{border:1px dashed var(--line-strong);text-align:center;background:#ffffff85;border-radius:22px;align-content:center;place-items:center;min-height:360px;padding:50px;display:grid}.empty-state svg{width:42px;color:var(--sage)}.empty-state h2{margin:16px 0 6px;font-size:1.5rem}.empty-state p{color:var(--muted-ink);margin:0 0 18px}.empty-state button{background:var(--ink);color:#fff;cursor:pointer;border-radius:10px;padding:10px 14px}.about-panel{box-shadow:var(--shadow-soft);background:linear-gradient(125deg,#dceee3b8,#ffffffa3 52%,#d8cfe861);border:1px solid #ffffffe0;border-radius:24px;grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);gap:40px;margin-top:70px;padding:clamp(28px,5vw,58px);display:grid}.about-panel span{letter-spacing:.15em;color:var(--green);font-size:.72rem;font-weight:900}.about-panel h2{max-width:12ch;margin:10px 0 0;font-size:clamp(2rem,3vw,3.3rem);line-height:1.05}.about-panel p{max-width:62ch;color:var(--muted-ink);align-self:end;margin:0;font-size:1.03rem;line-height:1.8}footer{border-top:1px solid var(--line);color:var(--muted-ink);justify-content:space-between;gap:20px;padding:24px clamp(22px,4vw,72px) 32px;font-size:.82rem;font-weight:750;display:flex}@media (width>=1760px){.app-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=1120px){.topbar{grid-template-columns:minmax(220px,.75fr) minmax(280px,1.2fr) auto;gap:16px}.environment{display:none}.catalog-intro{grid-template-columns:1fr}.catalog-intro>p{max-width:64ch}}@media (width<=760px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:12px 6px;padding:14px 18px 18px;position:relative}.brand img{width:44px;height:44px;margin-right:9px}.brand__product{display:none}.account{gap:3px}.login-link{padding-inline:8px}.icon-link{width:36px;height:36px}.search-box{grid-column:1/-1;height:48px}.catalog{width:min(100% - 28px,620px);padding-top:28px}.catalog-intro{gap:20px}.catalog-intro h1{max-width:18ch;font-size:clamp(2rem,8.5vw,3rem)}.filter-row{flex-direction:column;align-items:flex-start}.filters{grid-template-columns:1fr 1fr;width:100%;display:grid}.filters button{justify-content:flex-start;padding:0 12px}.filters em{margin-left:auto}.app-grid{grid-template-columns:1fr}.app-card__visual{height:192px}.about-panel{grid-template-columns:1fr;gap:22px}footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
