.pm-site{--pm-surface: #111518;--pm-raised: #191e22;--pm-text: #f1f3f4;--pm-muted: #9ca5ad;--pm-line: #ffffff20;--pm-accent: var(--socra-accent);--pm-brand-hover: #00aad1;--pm-brand-active: #009dc3;--pm-on-brand-hover: #000;background:var(--pm-bg);color:var(--pm-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:clip}html[data-socra-theme=light] .pm-site{--pm-surface: #fff;--pm-raised: #edf0f3;--pm-text: #151b20;--pm-muted: #596671;--pm-line: #14202c26;--pm-brand-hover: #006f91;--pm-brand-active: #006384;--pm-on-brand-hover: #fff}.pm-site *{box-sizing:border-box}.pm-site :where(h1,h2,h3,p,figure){margin:0}.pm-site a{color:inherit;text-decoration:none}.pm-site button{font:inherit}.pm-site :where(a,button,summary):focus-visible{outline:2px solid var(--pm-accent);outline-offset:5px}.pm-site button{cursor:pointer}.pm-site main:focus{outline:none}.pm-skip{position:fixed;top:8px;left:8px;z-index:100;padding:12px 20px;background:var(--pm-text);color:var(--pm-bg)!important;transform:translateY(-150%)}.pm-skip:focus{transform:none}.pm-identity{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;font-size:18px;letter-spacing:-.035em;font-weight:450}.pm-identity img{object-fit:contain}.pm-identity strong{font-weight:650}.pm-action{background:var(--socra-primary)!important;color:var(--socra-on-primary)!important;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:14px 22px;border:1px solid transparent;border-radius:var(--socra-ui-radius);corner-shape:var(--socra-ui-container-corner-shape);font-size:14px;font-weight:600;box-shadow:0 1px 1px #0002;white-space:nowrap}.pm-action:not(.pm-action-secondary):hover{background:var(--pm-brand-hover)!important;color:var(--pm-on-brand-hover)!important}.pm-action:not(.pm-action-secondary):active{background:var(--pm-brand-active)!important;color:var(--pm-on-brand-hover)!important}.pm-action-secondary{background:transparent!important;color:var(--pm-text)!important;border-color:var(--pm-line)}.pm-text-link{font-size:14px;display:inline-flex;align-items:center;gap:22px;min-height:48px;font-weight:550}.pm-text-link:hover{color:var(--pm-accent)}.pm-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.pm-hero{max-width:1440px;margin:auto;padding:96px 48px 0}.pm-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}.pm-hero h1{font-size:clamp(48px,5.6vw,80px);line-height:1.035;letter-spacing:-.065em;font-weight:600;max-width:680px;text-wrap:balance}.pm-lead{font-size:18px;line-height:1.65;color:var(--pm-muted);max-width:500px}.pm-hero .pm-lead{margin:28px 0 34px;max-width:460px}.pm-hero-media{padding:16px 0 0}.pm-principles{margin-top:85px;padding:30px 0;border-top:1px solid var(--pm-line);border-bottom:1px solid var(--pm-line);display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.pm-principles>div{display:flex;gap:22px}.pm-index{font:11px/1.6 ui-monospace,SFMono-Regular,monospace;color:var(--pm-muted);padding-top:4px}.pm-principles strong{font-size:14px;font-weight:550}.pm-principles p{font-size:12px;color:var(--pm-muted);margin-top:5px;max-width:280px}.pm-project-preview{position:relative}.pm-project-boundary{position:relative;border:1px solid #7ddbf645;border-radius:var(--socra-ui-radius);corner-shape:var(--socra-ui-container-corner-shape);background:linear-gradient(160deg,#152630,#111a22 44%,#101418);box-shadow:0 32px 100px -44px #30b5e045,0 0 0 8px #76daf604;overflow:hidden;color:#f0f5f8}.pm-project-top{padding:26px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #fff1}.pm-project-top strong{display:block;font-size:16px;font-weight:550;letter-spacing:-.025em;margin-top:3px}.pm-project-emblem{display:grid;place-items:center;width:38px;height:38px;border:1px solid #79d9f63d;border-radius:var(--socra-ui-radius);corner-shape:var(--socra-ui-container-corner-shape);color:#8ee2fa;background:#64cbe30c;font-size:27px}.pm-example-label{margin-left:auto;font-size:9px;color:#94a8b6;white-space:nowrap;border:1px solid #fff2;padding:5px 8px;border-radius:var(--socra-ui-radius);corner-shape:var(--socra-ui-container-corner-shape)}.pm-project-resources{padding:22px;display:grid;gap:10px}.pm-resource{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:15px 17px;border:1px solid #ffffff13;border-radius:var(--socra-ui-radius);corner-shape:var(--socra-ui-container-corner-shape);background:#ffffff04;color:#d5e2eb;transition:background .18s,border-color .18s}.pm-resource:hover{background:#ffffff0c}.pm-resource[aria-pressed=true]{background:#182d3a;border-color:#8bd9f573;box-shadow:0 3px 14px #0002}.pm-resource-symbol{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffffff22;border-radius:var(--socra-ui-radius);corner-shape:var(--socra-ui-container-corner-shape);color:#9ae4fa;font-size:21px}.pm-resource small{display:block;color:#a3b5c1;font-size:10px;margin-bottom:3px}.pm-resource strong{font:12px ui-monospace,SFMono-Regular,monospace;color:#eef6fa}.pm-resource-number{margin-left:auto;color:#8da1af;font:10px ui-monospace,monospace}.pm-project-detail{padding:0 26px 24px;min-height:133px}.pm-project-detail p{font-size:13px;color:#b6c6d1;margin:9px 0 12px;max-width:380px}.pm-project-detail a{font-size:11px;color:#f0f5f8;display:inline-flex;gap:16px;min-height:24px}.pm-project-base{padding:15px 26px;border-top:1px solid #ffffff13;display:flex;justify-content:space-between;gap:12px;color:#8d9fab;font-size:9px;letter-spacing:.02em}.pm-project-preview figcaption{text-align:center;font-size:11px;color:var(--pm-muted);margin:20px auto 0;max-width:360px;min-height:34px}.pm-section{max-width:1344px;margin:auto;padding:112px 0}.pm-section h2{font-size:clamp(34px,3.5vw,48px);line-height:1.1;letter-spacing:-.05em;font-weight:550;text-wrap:balance}.pm-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:64px;margin-bottom:36px}.pm-section-heading h2{max-width:550px}.pm-section-heading>p{max-width:380px;font-size:15px;line-height:1.65;color:var(--pm-muted)}.pm-services{padding-bottom:96px}.pm-filter{display:flex;gap:7px;margin-bottom:24px;flex-wrap:wrap}.pm-filter button{min-height:40px;padding:9px 18px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--pm-muted);font-size:12px}.pm-filter button:hover{color:var(--pm-text);background:var(--pm-surface)}.pm-filter button[aria-pressed=true]{border-color:var(--pm-line);background:var(--pm-raised);color:var(--pm-text)}.pm-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--pm-line);border-left:1px solid var(--pm-line);border-radius:var(--socra-ui-radius);corner-shape:var(--socra-ui-container-corner-shape);overflow:hidden}.pm-service-card{padding:26px;border-right:1px solid var(--pm-line);border-bottom:1px solid var(--pm-line);background:var(--pm-surface);min-height:222px;display:flex;flex-direction:column;transition:background .2s}.pm-service-card:hover{background:var(--pm-raised)}.pm-service-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.pm-service-symbol{font-size:27px;line-height:1;color:var(--pm-accent);font-weight:300}.pm-card-arrow{color:var(--pm-muted);font-size:16px}.pm-service-card h3{font-size:16px;letter-spacing:-.025em;font-weight:550;margin-bottom:9px}.pm-service-card p{font-size:12px;line-height:1.6;color:var(--pm-muted);max-width:245px}.pm-service-category{font-size:9px;letter-spacing:.04em;margin-top:auto;padding-top:22px;color:var(--pm-muted)}.pm-note{font-size:11px;color:var(--pm-muted);margin-top:22px;max-width:680px;line-height:1.7}.pm-principle{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--pm-line)}.pm-principle h2{margin:23px 0}.pm-principle .pm-text-link{margin-top:26px}.pm-principle-items>div{display:flex;gap:24px;border-bottom:1px solid var(--pm-line);padding:28px 0}.pm-principle-items>div:first-child{padding-top:0}.pm-principle-items h3{font-size:18px;font-weight:550;letter-spacing:-.02em;margin-bottom:10px}.pm-principle-items p{font-size:14px;line-height:1.7;color:var(--pm-muted)}.pm-developer{border-top:1px solid var(--pm-line);display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}.pm-developer h2{margin:23px 0}.pm-developer-copy>p{font-size:15px;line-height:1.7;color:var(--pm-muted)}.pm-steps{margin-top:30px;display:grid}.pm-steps button{background:none;color:var(--pm-muted);border:0;border-bottom:1px solid var(--pm-line);min-height:61px;display:flex;align-items:center;gap:22px;text-align:left}.pm-steps button>span:first-child{font:10px ui-monospace,monospace}.pm-steps strong{font-size:13px;font-weight:500}.pm-steps button>span:last-child{margin-left:auto}.pm-steps button[aria-pressed=true]{color:var(--pm-text)}.pm-steps button[aria-pressed=true]>span:first-child{color:var(--pm-accent)}.pm-code-panel{border:1px solid var(--pm-line);border-radius:var(--socra-ui-radius);corner-shape:var(--socra-ui-container-corner-shape);overflow:hidden;background:var(--pm-surface)}.pm-code-toolbar{height:56px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;border-bottom:1px solid var(--pm-line);color:var(--pm-muted);font:11px ui-monospace,monospace}.pm-code-toolbar button{background:none;border:0;color:var(--pm-muted);font-size:11px;min-height:44px;padding:8px}.pm-code-toolbar button:hover{color:var(--pm-text)}.pm-code-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;min-height:200px;margin:0;padding:40px 28px;color:var(--pm-accent);font:13px/1.9 ui-monospace,SFMono-Regular,monospace}.pm-code-panel code{background:none;color:inherit;padding:0;font:inherit}.pm-code-explanation{border-top:1px solid var(--pm-line);padding:22px 28px}.pm-code-explanation p{color:var(--pm-muted);font-size:12px;min-height:58px;line-height:1.7}.pm-code-explanation a{display:inline-flex;min-height:40px;align-items:center;gap:20px;font-size:12px}.pm-code-explanation [role=status]{display:block;font-size:11px;color:var(--pm-accent)}.pm-faq{display:grid;grid-template-columns:.7fr 1fr;gap:100px;border-top:1px solid var(--pm-line)}.pm-faq article{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--pm-line)}.pm-faq article:last-child{margin-bottom:0}.pm-faq h3{font-size:16px;font-weight:550;margin-bottom:14px;letter-spacing:-.02em}.pm-faq p{font-size:14px;line-height:1.8;color:var(--pm-muted)}.pm-closing{border-top:1px solid var(--pm-line);border-bottom:1px solid var(--pm-line);background:radial-gradient(ellipse at 50% 100%,#1581ab1c,transparent 70%);padding:100px 32px;text-align:center}.pm-closing-inner{max-width:800px;margin:auto}.pm-closing h2{font-size:clamp(34px,4.4vw,62px);font-weight:550;line-height:1.1;letter-spacing:-.05em;margin:24px 0}.pm-closing p{font-size:17px;color:var(--pm-muted);margin-bottom:30px}.pm-footer{max-width:1440px;margin:auto;padding:60px 48px 24px}.pm-footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px}.pm-footer-main>div p{color:var(--pm-muted);font-size:12px;margin-top:16px}.pm-footer nav{display:flex;flex-direction:column;gap:13px}.pm-footer nav strong{font-size:12px;font-weight:550;margin-bottom:10px}.pm-footer nav a{font-size:12px;color:var(--pm-muted)}.pm-footer nav a:hover{color:var(--pm-text)}.pm-footer-bottom{border-top:1px solid var(--pm-line);padding-top:24px;display:flex;justify-content:space-between;gap:24px;color:var(--pm-muted);font-size:10px}@media(min-width:1441px){.pm-section{max-width:1344px}}@media(max-width:1440px){.pm-section{margin-left:48px;margin-right:48px}}@media(max-width:1100px){.pm-hero-grid{gap:40px}.pm-hero{padding-top:72px}.pm-hero h1{font-size:56px}.pm-project-top{padding:20px}.pm-example-label{display:none}.pm-project-resources{padding:16px}.pm-project-detail{padding:0 20px 18px}.pm-section{padding-top:80px;padding-bottom:80px}.pm-section-heading{gap:40px}.pm-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-principle,.pm-developer,.pm-faq{gap:60px}}@media(max-width:800px){.pm-identity{font-size:17px}.pm-hero{padding:64px 24px 0}.pm-hero-grid{grid-template-columns:1fr;gap:46px}.pm-hero h1{font-size:clamp(45px,8vw,64px);max-width:630px;letter-spacing:-.055em}.pm-hero .pm-lead{font-size:17px;max-width:500px;margin:25px 0}.pm-hero-media{padding:0;max-width:530px;width:100%;margin:auto}.pm-hero-copy{max-width:600px}.pm-principles{margin-top:44px;gap:22px;padding:26px 0}.pm-principles>div{display:block}.pm-principles .pm-index{display:block;margin-bottom:10px}.pm-principles strong{font-size:12px}.pm-principles p{font-size:11px}.pm-section{margin:0 24px;padding:68px 0}.pm-section-heading{display:block}.pm-section-heading>p{margin-top:22px;max-width:500px}.pm-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-service-card{padding:22px;min-height:220px}.pm-principle,.pm-developer,.pm-faq{grid-template-columns:1fr;gap:40px}.pm-principle-items>div{padding:22px 0}.pm-code-panel pre{min-height:160px}.pm-faq{gap:32px}.pm-faq h2{font-size:36px}.pm-closing{padding:70px 24px}.pm-footer{padding:44px 24px 24px}.pm-footer-main{grid-template-columns:repeat(3,1fr);gap:32px}.pm-footer-main>div{grid-column:1/-1}.pm-footer-bottom{flex-wrap:wrap;font-size:10px}}@media(max-width:430px){.pm-identity{gap:8px;font-size:16px}.pm-identity img{width:24px;height:24px}.pm-hero{padding:50px 22px 0}.pm-hero h1{font-size:46px}.pm-actions{gap:18px}.pm-action{padding:13px 18px;gap:16px;font-size:13px}.pm-text-link{font-size:13px;gap:12px}.pm-principles{grid-template-columns:1fr;gap:20px}.pm-principles>div{display:flex;gap:18px}.pm-principles .pm-index{margin:0}.pm-principles p{margin-top:3px}.pm-principles strong{font-size:13px}.pm-service-card{padding:18px;min-height:226px}.pm-service-card h3{font-size:15px}.pm-service-card p{font-size:12px}.pm-filter{gap:3px}.pm-filter button{padding:8px 12px;font-size:11px}.pm-project-resources{padding:14px}.pm-resource{padding:14px 12px;gap:12px}.pm-resource strong{font-size:11px}.pm-project-base{padding:14px 18px;font-size:8px}.pm-section{margin:0 22px}.pm-footer-main{gap:20px}.pm-footer nav a{min-height:26px}.pm-footer-bottom>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){.pm-site *,.pm-site *:before,.pm-site *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.pm-action,.pm-resource{border-radius:var(--socra-ui-control-radius)}
