:root{--bg: #ffffff;--bg-sub: #f8fafc;--bg-soft: #f1f5f9;--card: #ffffff;--card-hover: #f8fafc;--border: #e2e8f0;--border-strong: #cbd5e1;--text: #0f172a;--text-sub: #475569;--text-weak: #64748b;--brand: #2563eb;--brand-hover: #1d4ed8;--brand-sub: #eff6ff;--brand-soft: #dbeafe;--success: #16a34a;--success-sub: #f0fdf4;--warn: #ca8a04;--error: #dc2626;--error-sub: #fef2f2;--aws: #ff9900;--radius: 16px;--radius-sm: 12px;--radius-xs: 8px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .05);--shadow-md: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 12px -4px rgba(15, 23, 42, .06);--shadow-lg: 0 4px 6px -2px rgba(15, 23, 42, .04), 0 12px 24px -8px rgba(15, 23, 42, .08);--shadow-xl: 0 20px 40px -10px rgba(15, 23, 42, .1);--nav-h: 64px;--maxw: 1280px;--fs-xs: 11px;--fs-sm: 12px;--fs-caption: 13px;--fs-body: 14px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 17px;--fs-xl: 22px;--fs-2xl: 28px;--fs-display: 34px;--fs-hero: 52px;--lh-tight: 1.15;--lh-heading: 1.3;--lh-body: 1.7;--lh-loose: 1.8;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-18: 72px;--space-24: 96px;--space-30: 120px;--space-35: 140px;--text-placeholder: #94a3b8;--nav-blur: rgba(255, 255, 255, .95);--tabs-blur: rgba(255, 255, 255, .96);--border-soft: #f1f5f9;--initial: #7c3aed;--initial-sub: #f5f3ff;--platform-sub: #fff7ed;--platform-border: #fed7aa;--banner-bg: #fffbeb;--banner-border: #fde68a;--banner-fg: #92400e}[data-theme=dark]{--bg: #0b1220;--bg-sub: #0f172a;--bg-soft: #16233a;--card: #111c30;--card-hover: #16233a;--border: #24324d;--border-strong: #35476b;--text: #e6edf7;--text-sub: #a9b8ce;--text-weak: #8494ad;--text-placeholder: #5f7188;--brand: #4c8dff;--brand-hover: #6ba3ff;--brand-sub: #16294e;--brand-soft: #26437c;--success: #3fb950;--success-sub: #122e1c;--warn: #d4a72c;--error: #f85149;--error-sub: #3a1d20;--nav-blur: rgba(11, 18, 32, .92);--tabs-blur: rgba(11, 18, 32, .94);--border-soft: #1b2941;--initial: #a78bfa;--initial-sub: #221a3e;--platform-sub: #2b1f0e;--platform-border: #4d3a17;--banner-bg: #241f0b;--banner-border: #453a14;--banner-fg: #e3b341;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px -4px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 6px -2px rgba(0, 0, 0, .3), 0 12px 24px -8px rgba(0, 0, 0, .55);--shadow-xl: 0 20px 40px -10px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:var(--fs-base);line-height:var(--lh-body);font-weight:var(--fw-normal);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit}.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-5);border-radius:var(--radius-xs);font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--text);transition:all .15s ease;white-space:nowrap}.btn:hover{border-color:var(--border-strong);background:var(--bg-sub)}.btn svg{width:16px;height:16px}.btn--primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px #2563eb2e}.btn--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn--ghost{background:transparent;border-color:var(--border)}.btn--ghost:hover{background:var(--bg-sub)}.btn--outline{background:var(--card);border-color:var(--brand);color:var(--brand)}.btn--outline:hover{background:var(--brand-sub);border-color:var(--brand)}.btn--sm{height:34px;padding:0 var(--space-3);font-size:var(--fs-caption)}.btn--xs{height:28px;padding:0 var(--space-3);font-size:var(--fs-sm)}.btn--block{width:100%}.navbar{position:sticky;top:0;z-index:50;height:var(--nav-h);background:var(--nav-blur);border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px)}.navbar__inner{height:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--space-6);display:flex;align-items:center;gap:var(--space-7)}.navbar__logo{display:inline-flex;align-items:center;gap:var(--space-2);font-size:18px;font-weight:var(--fw-extrabold);color:var(--text);letter-spacing:-.3px}.navbar__logo-mark{width:28px;height:28px;border-radius:50%;background:var(--text);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:15px}.navbar__links{display:flex;gap:var(--space-2);margin-left:var(--space-3)}.navbar__link{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-sub);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);transition:color .15s,background .15s}.navbar__link:hover,.navbar__link.is-active{color:var(--text);background:var(--bg-sub)}.navbar__right{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}.navbar__hamburger{display:none;background:none;border:none;cursor:pointer;padding:var(--space-2);color:var(--text)}.navbar__hamburger-icon{display:flex;flex-direction:column;gap:4px;width:20px}.navbar__hamburger-icon span{display:block;height:2px;background:currentColor;border-radius:1px;transition:transform .2s,opacity .2s}.navbar__hamburger-icon.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.navbar__hamburger-icon.is-open span:nth-child(2){opacity:0}.navbar__hamburger-icon.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.navbar__mobile-menu{display:none}.navbar__search-wrap{position:relative;display:flex;align-items:center}.navbar__search-icon{position:absolute;left:var(--space-3);top:10px;color:var(--text-weak);pointer-events:none;display:flex}.navbar__search{width:230px;height:36px;border-radius:var(--radius-xs);background:var(--card);border:1px solid var(--border);padding:0 14px 0 34px;font-size:var(--fs-caption);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.navbar__search::placeholder{color:var(--text-placeholder)}.navbar__search:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2563eb14}.navbar__icon-btn{width:38px;height:38px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-sub);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.navbar__icon-btn:hover{color:var(--text);background:var(--bg-sub)}.navbar__lang{display:flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.navbar__lang button{border:none;background:var(--card);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);cursor:pointer;color:var(--text-sub);font-weight:var(--fw-medium)}.navbar__lang button.is-active{background:var(--brand-sub);color:var(--brand);font-weight:var(--fw-bold)}.section{padding:var(--space-14) 0}.section--sub{background:var(--bg-sub);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section--compact-top{padding-top:var(--space-8)}.section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-6)}.section__title{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0;letter-spacing:-.3px;line-height:var(--lh-heading)}.section__link{font-size:var(--fs-body);color:var(--brand);font-weight:var(--fw-semibold);display:inline-flex;align-items:center;gap:var(--space-1)}.section__link:hover{color:var(--brand-hover)}.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:var(--space-18);padding-bottom:var(--space-16);position:relative;z-index:1}.hero__title{font-size:var(--fs-hero);line-height:var(--lh-tight);font-weight:var(--fw-extrabold);margin:0 0 var(--space-6);color:var(--text);letter-spacing:-1.5px}.hero__title>span{display:block}.hero__title .accent{color:var(--brand)}.hero__subtitle{font-size:var(--fs-lg);color:var(--text-weak);max-width:480px;margin:0 0 var(--space-8);line-height:var(--lh-body)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero__actions .btn{height:48px;padding:0 var(--space-6);font-size:var(--fs-base);border-radius:var(--radius-xs)}.hero__actions .btn--ghost{background:var(--card)}.hero__art{display:flex;align-items:center;justify-content:center}.hero__art svg{width:100%;max-width:640px;height:auto;filter:drop-shadow(0 24px 48px rgba(15,23,42,.1))}.stats{background:var(--bg);padding-top:var(--space-2)}.stats__grid{display:grid;grid-template-columns:repeat(3,1fr);padding-top:var(--space-10);padding-bottom:var(--space-10);gap:0;background:var(--bg-sub);border:1px solid var(--border);border-radius:var(--radius)}.stat{text-align:center}.stat+.stat{border-left:1px solid var(--border)}.stat__num{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--brand);line-height:var(--lh-tight);letter-spacing:-.8px}.stat__label{font-size:var(--fs-caption);color:var(--text-weak);margin-top:var(--space-2)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.app-card{display:flex;align-items:center;gap:var(--space-4);background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:all .18s ease}.app-card:hover{border-color:var(--brand-soft);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.app-card--vertical{flex-direction:column;align-items:center;text-align:center;padding:var(--space-6);gap:var(--space-4)}.app-card--vertical .app-card__icon{width:52px;height:52px;border-radius:12px;font-size:22px}.app-card--vertical .app-card__headline{justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2)}.app-card--vertical .app-card__name{font-size:var(--fs-base)}.app-card--vertical .app-card__body{width:100%}.app-card--vertical .app-card__desc{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}.app-card--vertical .app-card__footer{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:var(--space-4)}.app-card--vertical .app-card__version{font-size:var(--fs-caption)}.app-card__icon{width:48px;height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--fw-extrabold);font-size:20px;flex-shrink:0;overflow:hidden}.app-card__icon img{width:100%;height:100%;object-fit:cover}.app-card__body{flex:1;min-width:0}.app-card__headline{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.app-card__name{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0;color:var(--text)}.app-card__desc{font-size:var(--fs-caption);color:var(--text-weak);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-card__meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--text-weak)}.app-card__stars{display:inline-flex;align-items:center;gap:var(--space-1)}.app-card__version{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--bg-soft);padding:2px 8px;border-radius:999px}.app-card__version--plain{background:transparent;padding:0;color:var(--text-weak)}.app-card__deploy{flex-shrink:0}.app-card__deploy-link{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--brand);cursor:pointer}.app-card__deploy-link:hover{color:var(--brand-hover);text-decoration:underline}.app-card__deploy-btn{height:30px;padding:0 var(--space-4);font-size:var(--fs-caption);border-radius:6px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:999px;font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:3px 10px;line-height:1.4}.badge svg{width:12px;height:12px}.badge--verified{background:var(--success-sub);color:var(--success)}.badge--new{background:var(--brand-sub);color:var(--brand)}.badge--security{background:var(--error-sub);color:var(--error)}.badge--bug{background:var(--bg-soft);color:var(--text-sub)}.badge--initial{background:var(--initial-sub);color:var(--initial)}.badge--platform{background:var(--platform-sub);color:var(--aws);border:1px solid var(--platform-border)}.badge--outline{background:var(--card);color:var(--text-sub);border:1px solid var(--border)}.feature-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-5)}.feature{text-align:center;padding:var(--space-7) var(--space-5);border:none;border-radius:var(--radius-sm);background:var(--bg-sub);transition:transform .2s}.feature:hover{transform:translateY(-2px)}.feature__icon{width:48px;height:48px;border-radius:0;background:transparent;color:var(--brand);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-3);box-shadow:none}.feature__icon svg{width:26px;height:26px}.feature__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}.feature__desc{font-size:var(--fs-body);color:var(--text-weak);margin:0;line-height:var(--lh-body)}.region-section{background:var(--bg)}.region-section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-7)}.region-section__title{font-size:var(--fs-xl);font-weight:var(--fw-extrabold);margin:0;letter-spacing:-.3px;line-height:var(--lh-heading)}.region-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-5)}.region-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-5);text-align:center;transition:border-color .15s,box-shadow .15s}.region-card:hover{border-color:var(--brand-soft);box-shadow:var(--shadow-md)}.region-card__code{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);margin:0 0 var(--space-2)}.region-card__city{font-size:var(--fs-caption);color:var(--text-weak);margin:0}.footer{background:var(--bg-sub);border-top:1px solid var(--border);color:var(--text-weak);padding-top:var(--space-11)}.footer__inner{max-width:var(--maxw);margin:0 auto;padding:var(--space-14) var(--space-6) var(--space-11);display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:var(--space-10)}.footer__logo{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-extrabold);font-size:18px;color:var(--text);letter-spacing:-.3px}.footer__logo-mark{width:26px;height:26px;border-radius:50%;background:var(--text);color:var(--bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.footer__tagline{margin:var(--space-3) 0 0;font-size:var(--fs-caption);color:var(--text-weak);max-width:260px}.footer__col{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);font-size:var(--fs-body)}.footer__col-title{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--text);margin-bottom:var(--space-1)}.footer__col a{color:var(--text-sub);transition:color .15s}.footer__col a:hover{color:var(--brand)}.footer__region{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-sub)}.footer__region-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-sub);flex-shrink:0}.footer__region-note{margin:2px 0 0;font-size:var(--fs-caption);color:var(--text-weak)}.footer__bottom{border-top:1px solid var(--border)}.footer__bottom-inner{max-width:var(--maxw);margin:0 auto;padding:var(--space-5) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:var(--fs-caption);color:var(--text-placeholder)}.filterbar{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-7);padding:var(--space-5);background:var(--bg-sub);border:1px solid var(--border);border-radius:var(--radius-sm)}.input,.select{height:42px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);padding:0 var(--space-4);font-size:var(--fs-body);color:var(--text);outline:none}.input:focus,.select:focus{border-color:var(--brand)}.filterbar__search{width:340px}.filterbar__spacer{flex:1}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-body);color:var(--text-sub);cursor:pointer}.result-count{font-size:var(--fs-base);color:var(--text-sub);margin-bottom:var(--space-5)}.empty{text-align:center;padding:var(--space-24) 0;color:var(--text-sub)}.empty .btn{margin:var(--space-3) var(--space-2) 0}.breadcrumb{font-size:var(--fs-base);color:var(--text-sub);margin:var(--space-4) 0 var(--space-5);display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.breadcrumb a:hover{color:var(--brand)}.breadcrumb .sep{color:var(--text-weak)}.breadcrumb .cur{color:var(--text);font-weight:var(--fw-semibold)}.detail-layout{display:grid;grid-template-columns:1fr 340px;gap:var(--space-12);align-items:start;padding-bottom:var(--space-12)}.detail-layout>*,.detail-header>*{min-width:0}.detail-header{display:grid;grid-template-columns:1fr 340px;gap:var(--space-12);align-items:start;padding:var(--space-6) 0 var(--space-8)}.detail-main__top{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.detail-title-wrap{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.detail-title-wrap .app-card__icon{width:72px;height:72px;font-size:32px}.detail-title{font-size:var(--fs-display);font-weight:var(--fw-extrabold);margin:0;letter-spacing:-.7px;line-height:var(--lh-heading);display:inline-flex;align-items:center;gap:var(--space-3)}.detail-title .badge{font-size:var(--fs-caption);padding:4px 10px}.detail-desc{font-size:var(--fs-md);color:var(--text-sub);margin:0 0 var(--space-5);max-width:560px;line-height:var(--lh-body)}.detail-desc--flush{margin:var(--space-1) 0 0}.deploy-msg{color:var(--brand);font-size:var(--fs-caption);margin-top:var(--space-3)}.prop-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.prop-tag{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:var(--fs-caption);background:var(--card);color:var(--text-sub)}.prop-tag--light{background:var(--bg-sub);border-color:var(--border);color:var(--text-sub)}.prop-tag svg{width:14px;height:14px}.detail-actions{display:flex;gap:var(--space-3)}.detail-actions .btn{height:48px;padding:0 var(--space-7);font-size:var(--fs-base)}.detail-side{display:flex;flex-direction:column;gap:var(--space-4)}.device-mockup{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);overflow:hidden}.device-mockup__screen{aspect-ratio:16 / 10;background:#f8fafc}.shot-zoom{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.shot-zoom img{display:block;width:100%;height:100%;object-fit:contain}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#020617d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox__figure{margin:0;max-width:min(1200px,92vw);display:flex;flex-direction:column;gap:var(--space-2)}.lightbox__figure img{max-width:100%;max-height:80vh;width:auto;height:auto;margin:0 auto;display:block;border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-lg);cursor:zoom-in;object-fit:contain}.lightbox__figure figcaption{color:#e2e8f0;font-size:14px;text-align:center;display:flex;justify-content:center;align-items:center;gap:var(--space-2)}.lightbox__count{color:#94a3b8;font-variant-numeric:tabular-nums}.lightbox__close{position:absolute;top:var(--space-4);right:var(--space-4);width:44px;height:44px;border:0;border-radius:999px;background:#ffffff1f;color:#fff;font-size:26px;line-height:1;cursor:pointer}.lightbox__close:hover{background:#ffffff38}.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:999px;background:#ffffff1f;color:#fff;font-size:30px;line-height:1;cursor:pointer}.lightbox__nav:hover{background:#ffffff38}.lightbox__nav--prev{left:var(--space-4)}.lightbox__nav--next{right:var(--space-4)}.mock-ui{display:flex;height:100%}.mock-ui__side{width:30%;background:#0f172a;padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.mock-ui__side span{height:8px;border-radius:4px;background:#334155}.mock-ui__side span:first-child{background:#475569}.mock-ui__main{flex:1;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.mock-ui__row{height:10px;border-radius:5px;background:#e2e8f0}.mock-ui__row--short{width:60%}.mock-ui__chat{margin-top:auto;height:36px;border-radius:var(--radius-xs);background:#fff;border:1px solid var(--border)}.shot-dots{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.shot-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--border-strong);cursor:pointer;padding:0}.shot-dot.is-active{background:var(--brand)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);position:sticky;top:var(--nav-h);background:var(--tabs-blur);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;overflow-x:auto;margin-bottom:var(--space-6)}.tabs__item{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-sub);padding:var(--space-3) var(--space-4);white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s}.tabs__item:hover{color:var(--text)}.tabs__item.is-active{color:var(--brand);border-bottom-color:var(--brand)}.detail-section{padding-bottom:var(--space-11);margin-bottom:var(--space-11);border-bottom:1px solid var(--border)}.detail-section:last-of-type{border-bottom:none;margin-bottom:0}.detail-section--plain{border-bottom:none;padding-bottom:0;margin-bottom:var(--space-8)}.detail-section--plain p{margin:0}.detail-section h2{font-size:var(--fs-xl);font-weight:var(--fw-extrabold);margin:0 0 var(--space-5);line-height:var(--lh-heading)}.detail-section h2.heading--flush{margin:0}.detail-section p,.detail-section ul{color:var(--text-sub);font-size:var(--fs-md);line-height:var(--lh-loose)}.detail-section ul{padding-left:var(--space-5)}.detail-section li{margin-bottom:var(--space-3)}.feature-list{list-style:none;padding:0;margin:var(--space-5) 0 0}.feature-list li{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);color:var(--text-sub)}.feature-list li svg{color:var(--success);flex-shrink:0;margin-top:2px}.info-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-5);background:var(--card)}.info-card__label{font-size:var(--fs-caption);color:var(--text-weak);margin:0 0 var(--space-2);text-transform:uppercase;letter-spacing:.4px;font-weight:var(--fw-bold)}.info-card__value{font-size:var(--fs-base);font-weight:var(--fw-bold);margin:0;color:var(--text);word-break:break-all;line-height:1.5}.info-card__value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.info-cards-stack{display:flex;flex-direction:column;gap:var(--space-3)}.info-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.info-card-list{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--card)}.info-card--row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border);border-radius:0;background:transparent}.info-card--row:last-child{border-bottom:none}.info-card--row .info-card__label{margin:0;text-transform:none;letter-spacing:0;font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-sub)}.info-card--row .info-card__value{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text);word-break:normal}.info-card--row .info-card__value.mono{word-break:break-all}.info-card__value--highlight{color:var(--success)}.quick-deploy{background:var(--bg-sub);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-8)}.quick-deploy__title{margin:0 0 var(--space-6);font-size:var(--fs-lg);font-weight:var(--fw-extrabold);color:var(--text)}.quick-deploy__row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-5);align-items:end}.quick-deploy__field label{display:block;font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--text-weak);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.04em}.quick-deploy__field .select{width:100%}.quick-deploy__verified-value{display:flex;align-items:center;width:100%;min-height:42px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-sub);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:var(--fw-semibold)}.quick-deploy__btn{display:flex;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap}.quick-deploy__btn .btn{white-space:nowrap}.quick-deploy__title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0 0 var(--space-6)}.quick-deploy__title-row .quick-deploy__title{margin:0}.quick-deploy__cost{margin:var(--space-4) 0 0;font-size:var(--fs-caption);color:var(--text-sub);line-height:1.6}.quick-deploy__cost strong{color:var(--text)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-3);border:1px solid var(--border);border-radius:999px;background:var(--bg-sub);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-weak);white-space:nowrap}.chip svg{color:var(--success);flex-shrink:0}.side-panel__title{font-size:var(--fs-base);font-weight:var(--fw-extrabold);margin:0 0 var(--space-4);color:var(--text)}.table-scroll{width:100%;overflow-x:auto;border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch}.table-scroll--spaced{margin-top:var(--space-4)}.table-scroll:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.vtable{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.vtable--spaced{margin-top:var(--space-4)}.vtable th{background:var(--bg-sub);color:var(--text-sub);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-weight:var(--fw-extrabold)}.vtable td{padding:var(--space-4);border-bottom:1px solid var(--border);font-size:var(--fs-body);vertical-align:middle}.vtable tr:last-child td{border-bottom:none}.vtable tbody tr:hover{background:var(--bg-sub)}.vtable .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-sub);font-weight:var(--fw-semibold)}.vrow-actions{display:flex;gap:var(--space-3)}.link-blue{color:var(--brand);font-weight:var(--fw-bold);cursor:pointer;background:none;border:none;font-size:var(--fs-base)}.link-blue:hover{color:var(--brand-hover)}.vdetail{padding:var(--space-6);background:var(--bg-sub);border-top:1px solid var(--border)}.vdetail__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.vdetail__title{font-size:var(--fs-base);font-weight:var(--fw-extrabold);color:var(--text)}.vdetail__tabs{display:flex;gap:var(--space-1);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1)}.vdetail__tab{border:none;background:transparent;padding:var(--space-2) var(--space-3);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--text-sub);border-radius:var(--radius-xs);cursor:pointer}.vdetail__tab.is-active{background:var(--brand-sub);color:var(--brand)}.vdetail__cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.vdetail__panel{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-5);background:var(--card)}.vdetail__panel h4{margin:0 0 var(--space-4);font-size:var(--fs-base);font-weight:var(--fw-extrabold)}.checklist{list-style:none;padding:0;margin:0}.checklist li{display:flex;justify-content:space-between;padding:var(--space-3) 0;font-size:var(--fs-base);border-bottom:1px dashed var(--border)}.checklist li:last-child{border-bottom:none}.check-ok{color:var(--success);font-weight:var(--fw-extrabold)}.markdown{font-size:var(--fs-base);color:var(--text-sub);line-height:var(--lh-loose)}.markdown h2{font-size:var(--fs-md);color:var(--text)}.markdown ul{padding-left:var(--space-5)}.markdown a{color:var(--brand)}.updates-list{border:1px solid var(--border-soft);border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow-sm)}.update-row{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);transition:background .15s}.update-row:last-child{border-bottom:none}.update-row:hover{background:var(--bg-sub)}.update-row__icon{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.update-row__body{flex:1;min-width:0}.update-row__line1{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.update-row__name{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.update-row__ver{font-size:var(--fs-caption);color:var(--text-weak);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.update-row__summary{font-size:var(--fs-caption);color:var(--text-weak);margin-top:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.update-row__time{font-size:var(--fs-caption);color:var(--text-weak);white-space:nowrap;margin-top:var(--space-1)}.update-row__right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex-shrink:0}.update-row__links{display:flex;gap:var(--space-4);flex-shrink:0;align-items:center}.update-row--inline .update-row__main{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;min-width:260px}.update-row--inline .update-row__summary{flex:1;min-width:0;margin-top:0}.update-row--inline .update-row__time{margin-top:0;min-width:90px;text-align:right}.load-more-wrap{text-align:center;margin-top:var(--space-7)}.solutions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.solution-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-7);background:var(--card);transition:border-color .2s,box-shadow .2s}.solution-card:hover{border-color:var(--brand-soft);box-shadow:var(--shadow-lg)}.solution-card__icon{width:46px;height:46px;border-radius:12px;background:var(--brand-sub);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.solution-card__icon svg{width:24px;height:24px}.solution-card__title{font-size:18px;font-weight:var(--fw-extrabold);margin:0 0 var(--space-2)}.solution-card__desc{font-size:var(--fs-base);color:var(--text-sub);margin:0 0 var(--space-4);min-height:42px}.solution-card__apps{font-size:var(--fs-body);color:var(--text-sub);margin-bottom:var(--space-3)}.solution-card__status{margin:0 0 var(--space-5);font-size:var(--fs-caption);color:var(--text-weak);font-weight:var(--fw-semibold)}.solution-detail__header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2)}.solution-detail__emoji{font-size:var(--space-9)}.solution-detail__subheading{font-size:var(--fs-xl);font-weight:var(--fw-extrabold);margin:var(--space-2) 0 var(--space-3);line-height:var(--lh-heading)}.solution-detail__subheading--spaced{margin-top:var(--space-7)}.solution-detail__deploy{margin-bottom:var(--space-6)}.stack-list{list-style:none;padding:0;margin:var(--space-4) 0;counter-reset:step}.stack-list li{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.stack-list li:before{counter-increment:step;content:counter(step);width:26px;height:26px;border-radius:999px;background:var(--brand-sub);color:var(--brand);font-weight:var(--fw-extrabold);font-size:var(--fs-body);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stack-list .name{font-weight:var(--fw-extrabold);font-size:var(--fs-base)}.stack-list__version{margin-left:auto}.arch-note{font-size:var(--fs-base);color:var(--text-sub);background:var(--bg-sub);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5);margin-top:var(--space-5)}.test-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.test-card{display:flex;align-items:flex-start;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);background:var(--card)}.test-card__icon{color:var(--success);flex-shrink:0;margin-top:1px;display:flex}.test-card__name{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--text)}.test-card__status{font-size:var(--fs-caption);font-weight:var(--fw-extrabold);color:var(--success);margin-top:2px}.test-card__time{font-size:var(--fs-sm);color:var(--text-weak);margin-top:2px}.mock-banner{background:var(--banner-bg);border-bottom:1px solid var(--banner-border);color:var(--banner-fg);font-size:var(--fs-body);text-align:center;padding:var(--space-3) var(--space-4)}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-extrabold);margin:0 0 var(--space-2);letter-spacing:-.5px;line-height:var(--lh-heading)}.page-title--flush{margin:0}.page-subtitle{font-size:var(--fs-lg);color:var(--text-sub);margin:0 0 var(--space-8)}.page-subtitle--narrow{max-width:640px}.not-found{text-align:center;padding-top:var(--space-35);padding-bottom:var(--space-35)}.not-found h1{font-size:var(--fs-2xl);margin:0 0 var(--space-2)}.not-found__desc{color:var(--text-sub);margin:0 0 var(--space-4)}[lang=zh] body{letter-spacing:.02em}[lang=zh] .hero__title,[lang=zh] .detail-title,[lang=zh] .page-title{letter-spacing:-.01em}[lang=zh] .stat__num{letter-spacing:-.02em}[lang=zh] .section__title,[lang=zh] .region-section__title{letter-spacing:0}@media (max-width: 1100px){.hero__title{font-size:46px}.hero__grid{gap:32px;padding-top:var(--space-14);padding-bottom:var(--space-12)}.section{padding:var(--space-12) 0}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-grid,.region-grid{grid-template-columns:repeat(3,1fr)}.detail-layout,.detail-header{grid-template-columns:1fr}.side-panel{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width: 900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solutions-grid{grid-template-columns:repeat(2,1fr)}.hero__grid{grid-template-columns:1fr;padding-top:var(--space-10);padding-bottom:var(--space-8)}.hero__art,.hero__right{display:none}.page-title{font-size:24px}.page-subtitle{font-size:var(--fs-base)}.section__title,.region-section__title,.detail-section h2{font-size:18px}.section{padding:var(--space-10) 0}.stats__grid{grid-template-columns:repeat(3,1fr);gap:14px;padding-top:var(--space-8);padding-bottom:var(--space-8)}.stat+.stat{border-left:none}.quick-deploy__row{grid-template-columns:1fr;gap:var(--space-4)}.quick-deploy{padding:var(--space-6)}.quick-deploy__btn{flex-direction:column}.quick-deploy__btn .btn{width:100%;justify-content:center}.navbar__links{display:none}.navbar__hamburger{display:flex}.navbar__mobile-menu{display:flex;flex-direction:column;padding:var(--space-2) var(--space-4) var(--space-4);border-top:1px solid var(--border);background:var(--bg)}.navbar__mobile-link{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-sub);padding:var(--space-3) var(--space-2);border-radius:var(--radius-xs);transition:color .15s,background .15s}.navbar__mobile-link:hover,.navbar__mobile-link.is-active{color:var(--text);background:var(--bg-sub)}.navbar__mobile-search{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0;padding:0 var(--space-3);min-height:42px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--card);color:var(--text-weak)}.navbar__mobile-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit}.footer__inner{grid-template-columns:1fr 1fr;padding:var(--space-10) var(--space-6) var(--space-8)}.footer__brand{grid-column:1 / -1}.info-cards{grid-template-columns:1fr}}@media (max-width: 640px){.hero__title{font-size:34px}.grid{grid-template-columns:minmax(0,1fr)}.feature-grid,.region-grid,.solutions-grid,.stats__grid{grid-template-columns:1fr}.page-title{font-size:var(--fs-xl)}.page-subtitle{font-size:var(--fs-body)}.navbar__search-wrap,.navbar__icon-btn{display:none}.navbar__inner{gap:var(--space-3);padding:0 var(--space-4)}.navbar__logo{font-size:var(--fs-md)}.feature-grid{gap:var(--space-3)}.app-card--vertical .app-card__footer{flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.update-row{flex-wrap:wrap}.update-row--inline .update-row__main{min-width:0}.vtable{min-width:720px}.vdetail__cols{grid-template-columns:1fr}.section__title,.region-section__title,.detail-section h2{font-size:var(--fs-md)}.stat__num{font-size:var(--fs-xl)}.section{padding:var(--space-8) 0}.hero__grid{padding-top:var(--space-8);padding-bottom:var(--space-6)}.container{padding:0 var(--space-4)}.filterbar{padding:var(--space-4)}.app-card{flex-direction:column;align-items:flex-start;padding:var(--space-4)}.app-card__body{width:100%}.app-card__deploy{align-self:stretch}.app-card__deploy .btn{width:100%}.solution-card{padding:var(--space-5)}.region-card{padding:var(--space-4)}.update-row{padding:var(--space-4);gap:var(--space-3)}.filterbar__search{width:100%}.detail-title-wrap{flex-direction:column;align-items:flex-start}.detail-title{font-size:28px}.side-panel,.detail-header{grid-template-columns:1fr}.footer__inner{grid-template-columns:1fr;gap:28px;padding:var(--space-8) var(--space-4) var(--space-6)}.footer__bottom-inner{justify-content:center;text-align:center}}.app-detail-page .container{max-width:1180px}.app-detail-page .detail-header{grid-template-columns:minmax(0,1fr) minmax(360px,440px);gap:clamp(32px,5vw,60px);padding:var(--space-5) 0 var(--space-6)}.app-detail-page .detail-title-wrap{gap:var(--space-4);margin-bottom:var(--space-4)}.app-detail-page .detail-title-wrap .app-card__icon{width:64px;height:64px}.app-detail-page .detail-title{font-size:clamp(29px,3vw,38px)}.app-detail-page .detail-desc{font-size:var(--fs-base);line-height:1.55}.app-detail-page .prop-tags{margin-bottom:var(--space-4)}.app-detail-page .detail-actions .btn{height:44px}.app-detail-page .detail-deploy-meta{margin-top:var(--space-2)}.app-detail-page .device-mockup{box-shadow:var(--shadow-md)}.app-detail-page .detail-project-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-5);color:var(--text-sub);font-size:var(--fs-caption)}.app-detail-page .detail-project-links>span,.app-detail-page .detail-project-links>a{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;overflow-wrap:anywhere}.app-detail-page .detail-project-links svg,.app-detail-page .detail-verification svg{flex:0 0 auto;color:var(--brand)}.app-detail-page .detail-project-links strong{color:var(--text);font-weight:var(--fw-semibold)}.app-detail-page .detail-verification{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);color:var(--text-sub);font-size:var(--fs-caption)}.app-detail-page .detail-verification__body{flex:1 1 240px;min-width:0;overflow-wrap:anywhere}.app-detail-page .detail-verification__body>span{color:var(--text);font-weight:var(--fw-semibold)}.app-detail-page .detail-verification__body p{margin:var(--space-1) 0 0;color:var(--text-weak);line-height:1.5}.app-detail-page .detail-verification>a{display:inline-flex;align-items:center;gap:var(--space-2)}.app-detail-page .detail-project-links>a,.app-detail-page .detail-verification>a{color:var(--brand);font-weight:var(--fw-semibold)}.app-detail-page .detail-project-links>a:hover,.app-detail-page .detail-verification>a:hover{text-decoration:underline;text-underline-offset:3px}.app-detail-page .tabs{margin:0;padding:0;overflow-x:auto;scrollbar-width:none}.app-detail-page .tabs::-webkit-scrollbar{display:none}.app-detail-page .tabs__item{min-width:90px;padding-right:var(--space-3);padding-left:var(--space-3)}.detail-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(36px,5vw,60px);align-items:start;padding-top:var(--space-7)}.detail-content-column{min-width:0}.app-detail-page .detail-content-column .detail-section{padding-bottom:var(--space-8);margin-bottom:var(--space-8)}.app-detail-page .detail-content-column .detail-section h2{font-size:20px;margin-bottom:var(--space-4)}.deploy-sidebar{position:sticky;top:calc(var(--nav-h) + 62px);min-width:0;scroll-margin-top:calc(var(--nav-h) + 76px)}.deploy-sidebar:has(.deployment-disclosure[open]){position:static}.deploy-configurator--sidebar{box-shadow:var(--shadow-md)}.deploy-configurator--sidebar .deploy-configurator__head{align-items:flex-start;padding:var(--space-5) var(--space-5) var(--space-3)}.deploy-configurator--sidebar .deploy-configurator__title{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.deploy-configurator__eyebrow{color:var(--brand);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}.deploy-configurator--sidebar .deploy-configurator__title h2{margin:0;color:var(--text);font-size:19px;line-height:var(--lh-heading)}.deploy-configurator--sidebar .deploy-configurator__cost{justify-content:space-between;padding:0 var(--space-5) var(--space-4)}.deploy-configurator--sidebar .deploy-configurator__cost strong{font-size:var(--fs-md)}.deploy-configurator--sidebar .deploy-configurator__fields{grid-template-columns:1fr;gap:var(--space-3);padding:0 var(--space-5) var(--space-4)}.deploy-configurator--sidebar .config-select{gap:5px;padding:0;border:0;border-radius:0;background:transparent}.deploy-configurator--sidebar .config-select__control{min-height:40px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-sub)}.deploy-configurator--sidebar .config-select select{height:38px}.deploy-configurator--sidebar .config-select__control>svg{right:var(--space-3)}.deploy-configurator--sidebar .deploy-configurator__status{align-items:flex-start;flex-direction:column;gap:var(--space-2);margin:0 var(--space-5) var(--space-4);padding:var(--space-3);border:1px solid;border-radius:var(--radius-xs);line-height:1.5}.deploy-configurator__status.is-unavailable{border-color:#fecaca;background:var(--error-sub);color:var(--error)}:root[data-theme=dark] .deploy-configurator__status.is-unavailable{border-color:#682b30}.deploy-configurator--sidebar .deploy-configurator__status a{padding-left:25px}.deploy-configurator--sidebar .deploy-configurator__action{align-items:stretch;padding:0 var(--space-5) var(--space-4)}.deploy-configurator--sidebar .deploy-configurator__action .btn{width:100%;min-width:0}.deploy-configurator--sidebar .deploy-configurator__action small,.deploy-configurator--sidebar .deploy-configurator__message{text-align:center}.deploy-configurator--sidebar .deploy-configurator__message{padding-right:var(--space-5);padding-left:var(--space-5)}.deploy-configurator--sidebar .deployment-disclosure>summary{min-height:46px;padding:0 var(--space-5);font-size:var(--fs-caption)}.deploy-configurator--sidebar .deployment-disclosure .deploy-guide{padding:var(--space-5)}.detail-content-column .technical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 1000px){.app-detail-page .detail-header{grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:var(--space-8)}.detail-workspace{grid-template-columns:minmax(0,1fr) 330px;gap:var(--space-8)}}@media (max-width: 820px){.app-detail-page .detail-header,.detail-workspace{grid-template-columns:1fr}.deploy-sidebar{position:static;order:-1}.deploy-configurator--sidebar .deploy-configurator__fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.app-detail-page .detail-header{padding-top:var(--space-4)}.app-detail-page .detail-title-wrap{margin-bottom:var(--space-3)}.app-detail-page .detail-title{font-size:25px}.detail-workspace{padding-top:var(--space-5)}.deploy-configurator--sidebar .deploy-configurator__head{flex-direction:row}.deploy-configurator--sidebar .deploy-configurator__fields,.detail-content-column .technical-grid{grid-template-columns:1fr}}.doc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4);margin-top:var(--space-5)}.doc-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md, 12px);color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}.doc-card:hover{border-color:var(--brand, #2563eb);box-shadow:var(--shadow-md)}.doc-card h3{margin:0;font-size:17px;color:var(--text, #0f172a)}.doc-card p{margin:0;font-size:14px;color:var(--muted, #475569);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.doc-card .section__link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--brand, #2563eb);font-size:14px}.doc-article{max-width:820px}.deploy-quickref{margin-top:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-sub);padding:var(--space-5) var(--space-6)}.deploy-quickref__title{margin:0 0 var(--space-4);font-size:var(--fs-base);font-weight:var(--fw-extrabold);color:var(--text)}.deploy-quickref__rows{display:grid;gap:var(--space-2)}.deploy-quickref__row{display:grid;grid-template-columns:minmax(96px,160px) 1fr;gap:var(--space-3);align-items:baseline;font-size:var(--fs-sm)}.deploy-quickref__label{color:var(--text-weak);font-weight:var(--fw-bold)}.deploy-quickref__value{color:var(--text)}.deploy-quickref__value.mono{font-family:var(--font-mono, ui-monospace, monospace);font-size:.92em}.deploy-quickref__value code{font-family:var(--font-mono, ui-monospace, monospace);background:var(--card);border:1px solid var(--border);border-radius:4px;padding:0 6px}.deploy-quickref__link{display:inline-block;margin-top:var(--space-4);color:var(--brand);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.deploy-guide{margin-top:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);padding:var(--space-6) var(--space-8)}.deploy-guide__title{margin:0 0 var(--space-5);font-size:var(--fs-lg);font-weight:var(--fw-extrabold);color:var(--text)}.deploy-guide__steps{margin:0;padding:0;list-style:none;counter-reset:dg-step;display:grid;gap:var(--space-4)}.deploy-guide__steps>li{counter-increment:dg-step;position:relative;padding-left:calc(var(--space-6) + var(--space-3));color:var(--text);font-size:var(--fs-sm);line-height:1.6}.deploy-guide__steps>li:before{content:counter(dg-step);position:absolute;left:0;top:0;width:var(--space-6);height:var(--space-6);display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-sub);border:1px solid var(--border-strong);color:var(--text);font-size:var(--fs-caption);font-weight:var(--fw-extrabold)}.deploy-guide__steps code,.deploy-guide__outputs code{font-family:var(--font-mono, ui-monospace, monospace);background:var(--bg-sub);border:1px solid var(--border);border-radius:4px;padding:0 6px;font-size:.92em}.deploy-guide__outputs{margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.deploy-guide__outputs li{display:flex;gap:var(--space-3);align-items:baseline;flex-wrap:wrap}.deploy-guide__outputs li span{color:var(--text-weak)}.deploy-guide__detail{margin:var(--space-2) 0 0;color:var(--text-weak)}.deploy-guide__notes{margin-top:var(--space-6);border-top:1px solid var(--border-soft);padding-top:var(--space-4)}.deploy-guide__notes h4{margin:0 0 var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-extrabold);color:var(--text)}.deploy-guide__notes ul{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-2)}.deploy-guide__notes li{color:var(--text-weak);font-size:var(--fs-sm);line-height:1.6}.deploy-guide__next{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-soft)}.deploy-guide__next h4{margin:0 0 var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-extrabold);color:var(--text)}.deploy-guide__next ul{margin:0 0 var(--space-4);padding-left:var(--space-5);display:grid;gap:var(--space-2)}.deploy-guide__next li{color:var(--text-weak);font-size:var(--fs-sm);line-height:1.6}.deploy-guide__warning{margin:0;padding:var(--space-3) var(--space-4);background:#fef3cd;border:1px solid #ffc107;border-radius:var(--radius-sm);font-size:var(--fs-caption);color:#664d03}:root[data-theme=dark] .deploy-guide__warning{background:#332701;border-color:#664d03;color:#ffda6a}.app-detail-page.section{padding-top:var(--space-5);padding-bottom:var(--space-14)}.app-detail-page .breadcrumb{margin-bottom:0}.app-detail-page .detail-header{grid-template-columns:minmax(0,1fr) minmax(380px,520px);gap:clamp(40px,6vw,76px);align-items:center;padding:var(--space-7) 0 var(--space-8)}.app-detail-page .detail-title-wrap{gap:var(--space-5);margin-bottom:var(--space-5)}.app-detail-page .detail-title{font-size:clamp(30px,3.2vw,42px)}.app-detail-page .detail-desc{max-width:650px}.app-detail-page .detail-actions{width:220px;max-width:100%}.app-detail-page .detail-actions .btn{flex:0 1 auto;width:100%;padding:0 var(--space-3);font-size:var(--fs-body);justify-content:center}.app-detail-page .detail-actions .btn svg{flex:0 0 auto}.detail-deploy-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0;color:var(--text-weak);font-size:var(--fs-caption)}.app-detail-page .detail-side{width:100%;max-width:420px;gap:var(--space-2)}.app-detail-page .device-mockup{border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.app-detail-page .device-mockup__screen{aspect-ratio:16 / 9;max-height:420px;background:var(--bg-sub)}.app-detail-page .detail-screenshot-caption{margin:0;color:var(--text-weak);font-size:var(--fs-xs);line-height:1.5;text-align:center}.app-detail-page .tabs__item{flex:0 0 auto;min-width:96px;text-align:center}.detail-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,64px);align-items:start;padding:0 0 var(--space-10);margin:0 0 var(--space-9);border-bottom:1px solid var(--border)}.app-detail-page .detail-section{scroll-margin-top:calc(var(--nav-h) + 58px);padding-bottom:var(--space-4);margin-bottom:var(--space-4)}.app-detail-page .detail-section h2,.project-panel h2{font-size:var(--fs-xl);margin:0 0 var(--space-4)}.detail-overview__lead{margin:0;max-width:760px}.project-panel{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-sm)}.project-panel h2{padding:var(--space-5) var(--space-5) var(--space-3)}.project-panel__rows{padding:0 var(--space-5) var(--space-4)}.project-panel__row{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border-soft);color:var(--text-sub);font-size:var(--fs-body)}.project-panel__row>span{display:flex;align-items:center;gap:var(--space-3);min-width:0}.project-panel__row svg{flex:0 0 auto;color:var(--brand)}.project-panel__row strong{color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-semibold);text-align:right}.project-panel__row--link{color:var(--brand);font-weight:var(--fw-semibold)}.project-panel__row--link:hover span{text-decoration:underline;text-underline-offset:3px}.project-panel__report{display:inline-flex;align-items:center;gap:var(--space-2);padding-top:var(--space-4);color:var(--brand);font-size:var(--fs-body);font-weight:var(--fw-semibold)}.deploy-configurator{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-sm)}.deploy-configurator__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-3)}.deploy-configurator__title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.deploy-configurator__title h3{margin:0;color:var(--text);font-size:var(--fs-lg);line-height:var(--lh-heading)}.deploy-configurator__cost{display:flex;align-items:baseline;gap:var(--space-2);white-space:nowrap;color:var(--text-weak);font-size:var(--fs-caption)}.deploy-configurator__cost strong{color:var(--text);font-size:var(--fs-lg)}.deploy-configurator__fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);padding:0 var(--space-4) var(--space-3)}.config-select{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-sub);color:var(--text-weak);font-size:var(--fs-caption)}.config-select__control{position:relative;display:flex;align-items:center}.config-select select{width:100%;min-width:0;height:28px;padding:0 26px 0 0;border:0;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--text);font:inherit;font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer}.config-select select:focus-visible{border-radius:4px;box-shadow:0 0 0 2px var(--brand-soft)}.config-select select:disabled{cursor:not-allowed;opacity:.55}.config-select__control>svg{position:absolute;right:0;pointer-events:none;color:var(--text-sub)}.deploy-configurator__status{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-top:1px solid;border-bottom:1px solid;font-size:var(--fs-caption)}.deploy-configurator__status>span,.deploy-configurator__status a{display:flex;align-items:center;gap:var(--space-2)}.deploy-configurator__status.is-verified{border-color:#bbf7d0;background:var(--success-sub);color:var(--success)}.deploy-configurator__status.is-custom{border-color:var(--banner-border);background:var(--banner-bg);color:var(--banner-fg)}.deploy-configurator__status a{flex:0 0 auto;color:var(--brand);font-weight:var(--fw-semibold)}.deploy-configurator__action{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-2)}.deploy-configurator__action .btn{min-width:min(100%,320px);justify-content:center}.deploy-configurator__action small{color:var(--text-weak);font-size:var(--fs-xs)}.deploy-configurator__message{margin:0;padding:0 var(--space-4) var(--space-3);text-align:right;color:var(--brand)!important;font-size:var(--fs-caption)!important;line-height:1.5!important}.deployment-disclosure{border-top:1px solid var(--border)}.deployment-disclosure>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--space-5);color:var(--text-sub);font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;list-style:none}.deployment-disclosure>summary::-webkit-details-marker{display:none}.deployment-disclosure>summary>span{display:flex;align-items:center;gap:var(--space-3)}.deployment-disclosure>summary svg:last-child{transition:transform .18s ease}.deployment-disclosure[open]>summary svg:last-child{transform:rotate(90deg)}.deployment-disclosure .deploy-guide{margin:0;border:0;border-top:1px solid var(--border-soft);border-radius:0;box-shadow:none}.app-detail-page .section__head{margin-bottom:var(--space-4)}.technical-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.technical-cell{display:flex;align-items:center;gap:var(--space-3);min-width:0;min-height:76px;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--card)}.technical-cell__icon{display:flex;flex:0 0 auto;color:var(--brand)}.technical-cell__body{display:flex;flex-direction:column;min-width:0;flex:1}.technical-cell__label{color:var(--text-weak);font-size:var(--fs-caption)}.technical-cell__value{overflow:hidden;color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap}.technical-cell__value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-caption)}.technical-cell__copy{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-weak);cursor:pointer}.technical-cell__copy:hover{background:var(--bg-soft);color:var(--brand)}.app-detail-page .detail-section--faq{padding-bottom:0;border-bottom:0}.faq-list{display:grid;gap:var(--space-2)}.faq-item{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--card)}.faq-item>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:46px;padding:0 var(--space-4);color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;list-style:none}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary svg{flex:0 0 auto;transition:transform .18s ease}.faq-item[open]>summary svg{transform:rotate(90deg)}.app-detail-page .faq-item p{margin:0;padding:0 var(--space-4) var(--space-4);color:var(--text-sub);font-size:var(--fs-body);line-height:1.65}:root[data-theme=dark] .deploy-configurator__status.is-verified{border-color:#235c35}@media (max-width: 1100px){.app-detail-page .detail-header{grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:var(--space-10)}.detail-overview-grid{grid-template-columns:minmax(0,1fr) 310px;gap:var(--space-8)}.technical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.app-detail-page .detail-header,.detail-overview-grid{grid-template-columns:1fr}.project-panel{max-width:none}.deploy-configurator__fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.app-detail-page.section{padding-top:var(--space-3);padding-bottom:var(--space-9)}.app-detail-page .breadcrumb{overflow:hidden;white-space:nowrap}.app-detail-page .breadcrumb .cur{overflow:hidden;text-overflow:ellipsis}.app-detail-page .detail-header{gap:var(--space-6);padding:var(--space-5) 0 var(--space-6)}.app-detail-page .detail-title-wrap{flex-direction:row;align-items:center;gap:var(--space-3)}.app-detail-page .detail-title-wrap .app-card__icon{width:56px;height:56px;flex:0 0 auto}.app-detail-page .detail-title{align-items:flex-start;flex-wrap:wrap;gap:var(--space-2);font-size:26px}.app-detail-page .detail-desc{font-size:var(--fs-body)}.app-detail-page .detail-actions{width:min(100%,280px);flex-direction:column}.detail-deploy-meta{align-items:flex-start}.app-detail-page .tabs__item{min-width:auto;padding:var(--space-3)}.detail-overview-grid{gap:var(--space-7);padding-bottom:var(--space-8);margin-bottom:var(--space-8)}.deploy-configurator__fields,.technical-grid{grid-template-columns:1fr}.deploy-configurator__head,.deploy-configurator__status{align-items:flex-start;flex-direction:column}.deploy-configurator__cost{width:100%;justify-content:space-between}.deploy-configurator__action{align-items:stretch}.deploy-configurator__action .btn{width:100%}.deploy-configurator__action small,.deploy-configurator__message{text-align:center}.deployment-disclosure>summary{padding:var(--space-2) var(--space-4)}.app-detail-page .section__head{align-items:flex-start}}.app-detail-page .detail-header{grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:clamp(32px,5vw,56px);padding:var(--space-5) 0 var(--space-6)}.detail-flow{padding-top:var(--space-6)}.detail-section__heading{align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.detail-section__heading p{margin:0;color:var(--text-weak);font-size:var(--fs-caption)}.deploy-configurator--inline{box-shadow:var(--shadow-md)}.deploy-configurator--inline .deploy-configurator__head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-soft)}.deploy-configurator--inline .deploy-configurator__title{display:flex;flex-direction:row;align-items:center;gap:var(--space-3)}.deploy-configurator--inline .deploy-configurator__title h3{margin:0;color:var(--text);font-size:var(--fs-md)}.deploy-configurator--inline .deploy-configurator__cost{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--space-2);padding:0}.app-detail-page .deployment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin:0;padding:var(--space-4) var(--space-5)}.app-detail-page .deployment-summary>div{min-width:0}.app-detail-page .deployment-summary dt{margin:0 0 var(--space-1);color:var(--text-weak);font-size:var(--fs-caption);overflow-wrap:anywhere}.app-detail-page .deployment-summary dd{margin:0;color:var(--text);font-size:var(--fs-body);font-weight:var(--fw-semibold);line-height:1.5;overflow-wrap:anywhere}.app-detail-page .deployment-customize{border-top:1px solid var(--border)}.app-detail-page .deployment-customize>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:48px;padding:var(--space-3) var(--space-5);color:var(--text-sub);font-size:var(--fs-body);font-weight:var(--fw-semibold);cursor:pointer;list-style:none}.app-detail-page .deployment-customize>summary::-webkit-details-marker{display:none}.app-detail-page .deployment-customize>summary:hover{color:var(--brand);background:var(--bg-sub)}.app-detail-page .deployment-customize>summary:focus-visible{outline:2px solid var(--brand);outline-offset:-4px}.app-detail-page .deployment-customize>summary>svg{flex:0 0 auto;transition:transform .18s ease}.app-detail-page .deployment-customize[open]>summary>svg{transform:rotate(90deg)}.app-detail-page .deployment-customize__hint{margin:0;padding:0 var(--space-5) var(--space-4);color:var(--text-weak);font-size:var(--fs-caption);line-height:1.5}.app-detail-page .deployment-reset{max-width:calc(100% - var(--space-5) * 2);height:auto;min-height:32px;margin:0 var(--space-5) var(--space-4);white-space:normal}.deploy-configurator--inline .deploy-configurator__fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);padding:0 var(--space-5) var(--space-4)}.deploy-configurator--inline .config-select{gap:5px;padding:0;border:0;border-radius:0;background:transparent}.deploy-configurator--inline .config-select__control{min-height:42px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-sub)}.deploy-configurator--inline .config-select select{height:40px}.deploy-configurator--inline .config-select__control>svg{right:var(--space-3)}.deploy-configurator__footer{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:stretch;border-top:1px solid var(--border)}.deploy-configurator--inline .deploy-configurator__status{align-items:center;flex-direction:row;min-width:0;margin:0;padding:var(--space-3) var(--space-5);border:0;border-right:1px solid var(--border);font-size:var(--fs-caption);line-height:1.5}.deploy-configurator--inline .deploy-configurator__status>span{min-width:0}.deploy-configurator--inline .deploy-configurator__status a{padding:0}.deploy-configurator--inline .deploy-configurator__action{align-items:stretch;justify-content:center;padding:var(--space-3) var(--space-4) var(--space-2)}.deploy-configurator--inline .deploy-configurator__action .btn{width:100%;min-width:0}.deploy-configurator--inline .deploy-configurator__action small,.deploy-configurator--inline .deploy-configurator__message{text-align:center}.deploy-configurator--inline .deploy-configurator__message{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-soft)}.deploy-configurator--inline .deployment-disclosure>summary{min-height:46px;font-size:var(--fs-caption)}.detail-flow>.detail-section .technical-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 900px){.app-detail-page .detail-header{grid-template-columns:1fr}.app-detail-page .deployment-summary,.deploy-configurator--inline .deploy-configurator__fields,.detail-flow>.detail-section .technical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deploy-configurator__footer{grid-template-columns:1fr}.deploy-configurator--inline .deploy-configurator__status{border-right:0;border-bottom:1px solid var(--border)}.deploy-configurator--inline .deploy-configurator__action{align-items:flex-end}.deploy-configurator--inline .deploy-configurator__action .btn{max-width:320px}}@media (max-width: 640px){.detail-section__heading{align-items:flex-start}.deploy-configurator--inline .deploy-configurator__head,.deploy-configurator--inline .deploy-configurator__title,.deploy-configurator--inline .deploy-configurator__status{align-items:flex-start;flex-direction:column}.deploy-configurator--inline .deploy-configurator__fields,.detail-flow>.detail-section .technical-grid{grid-template-columns:1fr}.deploy-configurator--inline .deploy-configurator__status a{padding-left:25px}.deploy-configurator--inline .deploy-configurator__action{align-items:stretch}.deploy-configurator--inline .deploy-configurator__action .btn{max-width:none}}
