.project-detail-v2{--pdv2-ink: #17201c;--pdv2-muted: #5f6d66;--pdv2-green: #087a5b;--pdv2-green-strong: #075d46;--pdv2-green-soft: #e8f3ee;--pdv2-surface: #ffffff;--pdv2-subtle: #f3f6f4;--pdv2-line: #dfe6e2;--pdv2-warm: #f7f4eb;--pdv2-warning: #8a5a08;--pdv2-warning-bg: #fff7df;position:relative;width:min(1240px,calc(100% - 48px));margin:0 auto;padding:clamp(28px,5vw,72px) 0 clamp(72px,9vw,132px);background:#f7f9f8;box-shadow:0 0 0 100vmax #f7f9f8;clip-path:inset(0 -100vmax);color:var(--pdv2-ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.project-detail-v2 :is(a,button):focus-visible{outline:3px solid #0a7d5e;outline-offset:4px}.pdv2-breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:clamp(24px,4vw,44px);color:var(--pdv2-muted);font-size:14px}.pdv2-breadcrumb a{display:inline-flex;min-height:44px;align-items:center;color:var(--pdv2-green-strong);font-weight:760}.pdv2-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}.project-detail-v2>article{display:grid;gap:clamp(56px,8vw,104px)}.pdv2-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(36px,7vw,92px);align-items:end;padding-bottom:clamp(48px,7vw,80px);border-bottom:1px solid var(--pdv2-line)}.pdv2-product-heading{display:grid;grid-template-columns:96px minmax(0,1fr);gap:clamp(20px,3vw,32px);align-items:start}.pdv2-app-icon{display:grid;width:96px;height:96px;overflow:hidden;place-items:center;border:1px solid rgba(23,32,28,.1);border-radius:22px;background:var(--pdv2-ink);box-shadow:0 16px 38px #1c322924;color:#fff;font-size:30px;font-weight:800;letter-spacing:-.05em}.pdv2-app-icon img{width:100%;height:100%;object-fit:cover}.pdv2-eyebrow{display:block;margin-bottom:10px;color:var(--pdv2-green-strong);font-size:12px;font-weight:800;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}.pdv2-product-heading h1{max-width:760px;margin:0;font-size:clamp(42px,7vw,76px);font-weight:780;letter-spacing:-.055em;line-height:.98}.pdv2-subtitle{max-width:760px;margin:20px 0 0;color:var(--pdv2-muted);font-size:clamp(17px,2vw,21px);line-height:1.65}.pdv2-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:clamp(32px,5vw,52px) 0 0;padding:0;border-top:1px solid var(--pdv2-line);border-bottom:1px solid var(--pdv2-line)}.pdv2-signal-grid>div{display:grid;gap:7px;min-width:0;padding:18px 16px 18px 0}.pdv2-signal-grid>div+div{padding-left:16px;border-left:1px solid var(--pdv2-line)}.pdv2-signal-grid dt,.pdv2-facts dt{color:var(--pdv2-muted);font-size:12px;font-weight:700}.pdv2-signal-grid dd,.pdv2-facts dd{min-width:0;margin:0;font-size:14px;font-weight:760;line-height:1.45;overflow-wrap:anywhere}.pdv2-tag-list,.pdv2-highlight-list{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}.pdv2-tag-list li,.pdv2-highlight-list li{padding:7px 11px;border-radius:999px;background:var(--pdv2-subtle);color:#405048;font-size:13px;font-weight:700}.pdv2-action-card{display:grid;gap:18px;padding:26px;border:1px solid var(--pdv2-line);border-radius:22px;background:var(--pdv2-surface);box-shadow:0 22px 60px #2339301c}.pdv2-action-card>div{display:flex;gap:9px;align-items:center;font-size:14px}.pdv2-status-dot{width:10px;height:10px;border:3px solid #caeee1;border-radius:999px;background:var(--pdv2-green);box-sizing:content-box}.pdv2-action-card p{margin:0;color:var(--pdv2-muted);font-size:14px;line-height:1.65}.pdv2-action-card.is-preview{border-color:#d8c9a4;background:var(--pdv2-warning-bg);box-shadow:none}.pdv2-action-card.is-preview .pdv2-status-dot{border-color:#f3dfac;background:var(--pdv2-warning)}.pdv2-primary-action,.pdv2-disabled-action{display:flex;min-height:48px;align-items:center;justify-content:space-between;padding:0 17px;border:1px solid var(--pdv2-green-strong);border-radius:13px;background:var(--pdv2-green);color:#fff;font-size:15px;font-weight:780;transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}.pdv2-primary-action:hover{background:var(--pdv2-green-strong);box-shadow:0 10px 24px #087a5b33;transform:translateY(-1px)}.pdv2-disabled-action{justify-content:center;border-color:var(--pdv2-line);background:var(--pdv2-subtle);color:var(--pdv2-muted)}.pdv2-action-card small{color:var(--pdv2-muted);font-size:12px;text-align:center}.pdv2-showcase,.pdv2-related{display:grid;gap:clamp(28px,5vw,48px)}.pdv2-section-heading{display:grid;grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);gap:32px;align-items:start}.pdv2-section-heading>span{padding-top:9px;color:var(--pdv2-green-strong);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.pdv2-section-heading h2,.pdv2-section h2,.pdv2-disclosure h2,.pdv2-source-update h2{margin:0;font-size:clamp(28px,4vw,46px);font-weight:740;letter-spacing:-.035em;line-height:1.13}.pdv2-section-heading p,.pdv2-source-update h2+p{max-width:640px;margin:13px 0 0;color:var(--pdv2-muted);font-size:16px}.pdv2-screenshot-grid{display:grid;grid-auto-columns:minmax(min(88vw,860px),1fr);grid-auto-flow:column;gap:18px;overflow-x:auto;padding:0 0 18px;scroll-snap-type:x mandatory;scrollbar-color:#aab8b1 transparent}.pdv2-screenshot-grid.is-single{display:block;overflow:visible;padding-bottom:0}.pdv2-screenshot-grid figure{min-width:0;margin:0;scroll-snap-align:start}.pdv2-screenshot-grid img{width:100%;aspect-ratio:16 / 9;border:1px solid var(--pdv2-line);border-radius:clamp(16px,2.4vw,28px);background:var(--pdv2-subtle);box-shadow:0 26px 70px #1e342b1f;object-fit:contain;object-position:center}.pdv2-screenshot-grid figcaption{margin-top:12px;color:var(--pdv2-muted);font-size:12px}.pdv2-editorial-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:clamp(44px,8vw,108px);align-items:start}.pdv2-editorial-main{display:grid;gap:clamp(56px,7vw,88px)}.pdv2-section,.pdv2-disclosure{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;align-items:start}.pdv2-section-index{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--pdv2-line);border-radius:999px;background:var(--pdv2-surface);color:var(--pdv2-green-strong);font-size:12px;font-weight:850}.pdv2-audience-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:28px 0 0;padding:0;list-style:none}.pdv2-audience-list li{position:relative;min-height:72px;padding:16px 16px 16px 42px;border:1px solid var(--pdv2-line);border-radius:16px;background:var(--pdv2-surface);font-size:14px;font-weight:720;line-height:1.5}.pdv2-audience-list li:before{position:absolute;top:18px;left:17px;width:14px;height:14px;border:4px solid #cee9df;border-radius:999px;background:var(--pdv2-green);content:"";box-sizing:border-box}.pdv2-prose{margin-top:26px}.pdv2-prose p{margin:0 0 1.25em;color:#34423b;font-size:clamp(16px,1.55vw,18px);line-height:1.9}.pdv2-prose p:first-child{color:var(--pdv2-ink);font-size:clamp(18px,2vw,22px);font-weight:630;line-height:1.72}.pdv2-highlight-list li{background:var(--pdv2-green-soft);color:var(--pdv2-green-strong)}.pdv2-pending{display:inline-flex;min-height:44px;align-items:center;margin:22px 0 0;padding:10px 13px;border-radius:10px;background:var(--pdv2-subtle);color:var(--pdv2-muted);font-size:14px}.pdv2-facts{position:sticky;top:146px}.pdv2-facts section{padding:24px;border-top:3px solid var(--pdv2-green);border-radius:0 0 18px 18px;background:var(--pdv2-subtle)}.pdv2-facts dl{margin:0}.pdv2-facts dl>div{display:grid;gap:6px;padding:15px 0;border-bottom:1px solid var(--pdv2-line)}.pdv2-facts dl>div:last-child{padding-bottom:0;border-bottom:0}.pdv2-disclosure{padding:clamp(26px,4vw,42px);border:1px solid #d9e6df;border-radius:24px;background:var(--pdv2-green-soft)}.pdv2-disclosure.is-first-party{border-color:#ead69e;background:var(--pdv2-warning-bg)}.pdv2-disclosure.is-first-party .pdv2-eyebrow{color:var(--pdv2-warning)}.pdv2-disclosure p{max-width:850px;margin:18px 0 0;color:#34423b;font-size:16px;line-height:1.75}.pdv2-source-update{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:1px;overflow:hidden;border:1px solid var(--pdv2-line);border-radius:24px;background:var(--pdv2-line)}.pdv2-source-panel,.pdv2-update-panel{padding:clamp(26px,4vw,44px);background:var(--pdv2-surface)}.pdv2-source-panel p{margin:22px 0 18px;color:var(--pdv2-muted)}.pdv2-source-panel>a{display:inline-flex;min-height:44px;align-items:center;gap:10px;color:var(--pdv2-green-strong);font-size:14px;font-weight:790}.pdv2-source-panel>a:hover{text-decoration:underline;text-underline-offset:4px}.pdv2-update-panel ol{display:grid;gap:0;margin:26px 0 0;padding:0;list-style:none}.pdv2-update-panel li{position:relative;padding:0 0 25px 30px;border-left:1px solid #b9c9c1}.pdv2-update-panel li:last-child{padding-bottom:0;border-left-color:transparent}.pdv2-update-panel li:before{position:absolute;top:3px;left:-6px;width:11px;height:11px;border:3px solid var(--pdv2-surface);border-radius:999px;background:var(--pdv2-green);box-shadow:0 0 0 1px var(--pdv2-green);content:""}.pdv2-update-panel li>div{display:flex;gap:12px;align-items:baseline;justify-content:space-between}.pdv2-update-panel time{color:var(--pdv2-muted);font-size:12px;white-space:nowrap}.pdv2-update-panel li p{margin:4px 0 0;color:var(--pdv2-muted);font-size:14px}.pdv2-related{padding-top:clamp(40px,6vw,72px);border-top:1px solid var(--pdv2-line)}.pdv2-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pdv2-related-grid a{display:grid;min-height:220px;gap:14px;align-content:start;padding:22px;border:1px solid var(--pdv2-line);border-radius:18px;background:var(--pdv2-surface);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.pdv2-related-grid a:hover{border-color:#a9bab1;box-shadow:0 14px 36px #2339301a;transform:translateY(-2px)}.pdv2-related-grid strong{font-size:18px;line-height:1.35}.pdv2-related-grid span{color:var(--pdv2-muted);font-size:14px}.pdv2-related-grid em{margin-top:auto;color:var(--pdv2-green-strong);font-size:13px;font-style:normal;font-weight:780}@media(max-width:940px){.pdv2-hero,.pdv2-editorial-layout,.pdv2-source-update{grid-template-columns:1fr}.pdv2-hero{align-items:start}.pdv2-action-card{max-width:520px}.pdv2-facts{position:static}.pdv2-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.pdv2-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.project-detail-v2{width:min(100% - 32px,1240px);padding-top:20px}.project-detail-v2>article{gap:64px}.pdv2-hero{gap:34px;padding-bottom:48px}.pdv2-product-heading{grid-template-columns:72px minmax(0,1fr);gap:16px}.pdv2-app-icon{width:72px;height:72px;border-radius:17px}.pdv2-product-heading h1{font-size:clamp(36px,12vw,52px);line-height:1}.pdv2-subtitle{grid-column:1 / -1;font-size:16px}.pdv2-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdv2-signal-grid>div:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--pdv2-line)}.pdv2-signal-grid>div:nth-child(4){border-top:1px solid var(--pdv2-line)}.pdv2-section-heading,.pdv2-section,.pdv2-disclosure{grid-template-columns:1fr;gap:16px}.pdv2-section-heading>span{padding-top:0}.pdv2-audience-list,.pdv2-facts dl,.pdv2-related-grid{grid-template-columns:1fr}.pdv2-section-index{width:40px;height:40px}.pdv2-screenshot-grid{grid-auto-columns:calc(100vw - 48px)}.pdv2-screenshot-grid img{border-radius:16px}.pdv2-source-panel,.pdv2-update-panel{padding:24px 20px}.pdv2-update-panel li>div{display:grid;gap:2px;justify-content:start}.pdv2-related-grid a{min-height:0}}@media(max-width:360px){.pdv2-product-heading,.pdv2-signal-grid{grid-template-columns:1fr}.pdv2-product-heading h1{font-size:32px}.pdv2-signal-grid>div,.pdv2-signal-grid>div+div{padding:14px 0;border-left:0;border-top:1px solid var(--pdv2-line)}.pdv2-signal-grid>div:first-child{border-top:0}}@media(prefers-reduced-motion:reduce){.project-detail-v2 *,.project-detail-v2 *:before,.project-detail-v2 *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pdv2-screenshot-grid{scroll-snap-type:none}}@media(forced-colors:active){.pdv2-status-dot,.pdv2-audience-list li:before,.pdv2-update-panel li:before{border:1px solid ButtonText;background:ButtonText}}
