:root{--bg:#fdf7f9;--bg2:#f9ebf0;--card:#ffffff;--ink:#1c1018;--ink2:#433140;--muted:#7a6372;--line:#f0dfe6;--field:#ffffff;--brand:#be185d;--brand2:#e11d48;--brand3:#ea580c;--brand-soft:#fde7ef;--ok:#15803d;--grad:linear-gradient(120deg,#db2777 0%,#e11d48 36%,#f43f5e 62%,#f97316 100%);--grad-text:linear-gradient(100deg,#be185d,#e11d48 40%,#ea580c 80%,#be185d);--warm:linear-gradient(120deg,#f43f5e,#f59e0b);--shadow:0 24px 60px -28px rgba(30,41,99,.35);--shadow-sm:0 10px 30px -18px rgba(30,41,99,.35);--r:20px;--wrap:1180px;--font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--display:"Sora","Plus Jakarta Sans",system-ui,sans-serif;color-scheme:light}[data-theme="dark"]{--bg:#150a10;--bg2:#1d0d16;--card:#26111c;--ink:#fdf2f8;--ink2:#f1d4e0;--muted:#c49aad;--line:#3e2030;--field:#1c0c15;--brand:#f472b6;--brand2:#fb7185;--brand3:#fb923c;--brand-soft:rgba(244,114,182,.16);--ok:#4ade80;--grad-text:linear-gradient(100deg,#f9a8d4,#fda4af 40%,#fdba74 80%,#f9a8d4);--shadow:0 30px 70px -30px rgba(0,0,0,.8);--shadow-sm:0 12px 30px -18px rgba(0,0,0,.8);color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font);font-size:16.5px;line-height:1.65;color:var(--ink);background:var(--bg);background-image:radial-gradient(1100px 520px at 12% -8%,rgb(219 39 119 / .09),transparent 60%),radial-gradient(900px 480px at 100% 0%,rgb(249 115 22 / .09),transparent 55%);background-attachment:fixed;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg{max-width:100%;height:auto}a{color:var(--brand2);text-underline-offset:3px}a:hover{color:var(--brand)}h1,h2,h3,h4{font-family:var(--display);line-height:1.15;letter-spacing:-.02em;color:var(--ink);margin:0 0 .5em}p{margin:0 0 1em}.wrap{width:min(var(--wrap),100% - 32px);margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:100;background:var(--card);padding:10px 14px;border-radius:10px}:focus-visible{outline:3px solid var(--brand2);outline-offset:2px;border-radius:6px}.grad-text{background:var(--grad-text);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:#fff0;animation:flow 10s ease-in-out infinite alternate}@keyframes flow{to{background-position:100% 0}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:14px 24px;font:inherit;font-weight:800;font-size:16px;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .2s,filter .2s;white-space:nowrap}.btn svg{width:19px;height:19px}.btn-main{background:var(--grad);color:#fff;box-shadow:0 14px 30px -12px rgb(225 29 72 / .75)}.btn-main:hover{color:#fff;transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 18px 36px -12px rgb(225 29 72 / .85)}.btn-ghost{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn-ghost:hover{color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand)}.btn-sm{padding:10px 18px;font-size:14.5px}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid #fff0;transition:border-color .2s,box-shadow .2s}.site-header.scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px -22px rgb(15 23 42 / .4)}.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad);opacity:.85}.hdr{display:flex;align-items:center;gap:14px;height:72px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}.brand img{width:42px;height:42px;border-radius:50%;box-shadow:0 6px 16px -6px rgb(225 29 72 / .5)}.brand-name{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.01em}.brand-name .b2{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#fff0}.nav{margin-inline-start:auto}.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}.nav a{display:block;padding:9px 13px;border-radius:12px;color:var(--ink2);text-decoration:none;font-weight:700;font-size:15px}.nav a:hover,.nav .current-menu-item>a,.nav a[aria-current]{color:var(--brand);background:var(--brand-soft)}.nav .nav-cta a{background:var(--grad);color:#fff;padding:10px 18px;border-radius:999px;margin-inline-start:6px;box-shadow:0 10px 24px -12px rgb(225 29 72 / .8)}.nav .nav-cta a:hover{color:#fff;filter:brightness(1.08)}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink2);cursor:pointer;flex:none}.icon-btn:hover{color:var(--brand);border-color:var(--brand)}.icon-btn svg{width:20px;height:20px}.theme-toggle .ti-moon{display:none}[data-theme="dark"] .theme-toggle .ti-sun{display:none}[data-theme="dark"] .theme-toggle .ti-moon{display:inline}.lang-wrap{position:relative}.lang-toggle{display:flex;align-items:center;gap:6px;height:42px;padding:0 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink2);font:inherit;font-weight:800;font-size:13px;cursor:pointer}.lang-toggle svg{width:18px;height:18px}.lang-panel{position:absolute;right:0;top:calc(100% + 8px);width:290px;max-height:420px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);z-index:80}.lang-search{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;background:var(--field);color:var(--ink);margin-bottom:6px}.lang-list{list-style:none;margin:0;padding:0}.lang-list button{display:flex;justify-content:space-between;gap:8px;width:100%;border:0;background:#fff0;padding:8px 10px;border-radius:10px;cursor:pointer;color:var(--ink);font:inherit;font-size:14.5px;text-align:start}.lang-list button:hover,.lang-list button[aria-current]{background:var(--brand-soft)}.lang-list small{color:var(--muted)}.lang-note{font-size:12px;color:var(--muted);margin:8px 4px 0}.nav-toggle{display:none}#google_translate_element,.goog-te-banner-frame,.skiptranslate iframe{display:none!important}body{top:0!important}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:64px 0 40px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--ink2)}.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgb(34 197 94 / .2)}.hero h1{font-size:clamp(38px,5.6vw,66px);font-weight:800;margin:18px 0 18px;letter-spacing:-.035em}.hero .lead{font-size:clamp(17px,1.6vw,20px);color:var(--ink2);max-width:560px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 22px}.ticks{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0;padding:0;font-weight:700;font-size:14.5px;color:var(--ink2)}.ticks li{display:flex;align-items:center;gap:7px}.ticks svg{width:18px;height:18px;color:var(--ok);flex:none}.hero h1{margin-bottom:4px}.hero-free{font-family:var(--display);font-size:clamp(38px,5.6vw,66px);font-weight:800;line-height:1.1;letter-spacing:-.035em;margin:0 0 18px}.hero-art{position:relative;min-height:470px;align-self:stretch}.hero-photo{position:absolute;inset:-46px -40px -10px -70px;background-image:var(--hp);background-size:cover;background-position:40% 26%;background-repeat:no-repeat;opacity:.85;filter:contrast(1.02);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgb(0 0 0 / .35) 18%,#000 42%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 16%,#000 74%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,rgb(0 0 0 / .35) 18%,#000 42%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 16%,#000 74%,transparent 100%);mask-composite:intersect;transition:opacity .6s ease}.hero:hover .hero-photo{opacity:1}[data-theme="dark"] .hero-photo{opacity:.8;filter:brightness(.92) contrast(1.04) saturate(.9)}html[dir="rtl"] .hero-photo{transform:scaleX(-1)}.mock{position:absolute;inset:10px 30px 10px 40px;background:#fff;border-radius:16px;box-shadow:var(--shadow);display:grid;grid-template-columns:36% 1fr;overflow:hidden;transform:rotate(-2deg)}.mock-side{background:linear-gradient(180deg,#4f46e5,#7c3aed);padding:26px 18px;display:flex;flex-direction:column;gap:10px;align-items:center}.mock-ph{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#fde68a,#f9a8d4);border:4px solid rgb(255 255 255 / .4);margin-bottom:6px}.mock-l{height:8px;border-radius:6px;background:rgb(255 255 255 / .55);width:80%}.mock-l.s{width:55%;background:rgb(255 255 255 / .35)}.mock-bar{width:100%;height:6px;border-radius:6px;background:rgb(255 255 255 / .25);overflow:hidden}.mock-bar i{display:block;height:100%;background:#fff;border-radius:6px}.mock-main{padding:28px 24px;display:flex;flex-direction:column;gap:9px}.mock-h{height:16px;width:62%;border-radius:8px;background:#0f172a}.mock-t{height:9px;width:40%;border-radius:6px;background:#6366f1;margin-bottom:10px}.mock-sec{height:8px;width:34%;border-radius:6px;background:#4f46e5;margin-top:10px}.mock-x{height:7px;border-radius:5px;background:#e2e8f0}.float{position:absolute;display:flex;align-items:center;gap:10px;background:var(--card);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);font-weight:800;font-size:14px;color:var(--ink)}.float small{display:block;font-weight:600;color:var(--muted);font-size:12px}.float .ring{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#22c55e 96%,var(--line) 0);font-size:13px}.float .ring span{width:34px;height:34px;border-radius:50%;background:var(--card);display:grid;place-items:center}.f1{left:4%;bottom:90px;animation:bob 6s ease-in-out infinite}.f2{right:0;bottom:24px;animation:bob 7s ease-in-out infinite reverse}.f3{right:0;top:30px;animation:bob 8s ease-in-out infinite}.f2 .ic,.f3 .ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--grad)}.f3 .ic{background:var(--warm)}.f2 .ic svg,.f3 .ic svg{width:20px;height:20px}@keyframes bob{50%{transform:translateY(-10px)}}.section{padding:56px 0}.section-head{text-align:center;max-width:760px;margin:0 auto 34px}.section-head h2{font-size:clamp(28px,3.6vw,42px);font-weight:800}.section-head p{color:var(--muted);font-size:17.5px;margin:0}.kicker{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#fff0;margin-bottom:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:10px 0 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;text-align:center}.stat b{display:block;font-family:var(--display);font-size:32px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#fff0;line-height:1.1}.stat span{color:var(--muted);font-weight:700;font-size:14px}.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feat{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.feat:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#fff0}.feat::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--c,var(--grad))}.feat .fi{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--c,var(--grad));margin-bottom:14px;box-shadow:0 10px 22px -12px rgb(15 23 42 / .6)}.feat .fi svg{width:24px;height:24px}.feat h3{font-size:18px;margin-bottom:6px}.feat p{color:var(--muted);margin:0;font-size:15px}.feat .paid{position:absolute;top:14px;right:14px;font-size:11px;font-weight:800;color:#be123c;background:#ffe4e6;padding:3px 8px;border-radius:999px;text-decoration:line-through}[data-theme="dark"] .feat .paid{background:rgb(244 63 94 / .18);color:#fda4af}.compare{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:15.5px}.compare th,.compare td{padding:14px 18px;text-align:start;border-bottom:1px solid var(--line)}.compare thead th{background:var(--bg2);font-family:var(--display)}.compare thead th:last-child{background:var(--grad);color:#fff}.compare tr:last-child td{border-bottom:0}.compare td:last-child{font-weight:800;color:var(--ok)}.compare td.no{color:#dc2626;font-weight:700}.tpl-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tcard{display:block;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;transition:transform .2s,box-shadow .2s}.tcard:hover{transform:translateY(-5px);box-shadow:var(--shadow);color:var(--ink)}.tthumb{display:block;position:relative;aspect-ratio:794/1123;border-radius:12px;overflow:hidden;background:#f1f5f9;border:1px solid var(--line)}.tthumb .hcv-thost{position:absolute;left:0;top:0;transform-origin:top left;pointer-events:none}.tcard b{display:block;margin-top:10px;font-family:var(--display);font-size:16px}.tcard small{color:var(--muted);font-weight:700}.tcard .use{display:inline-flex;margin-top:8px;font-size:13.5px;font-weight:800;color:var(--brand)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;position:relative}.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--grad);color:#fff;font-family:var(--display);font-weight:800;font-size:20px;margin-bottom:14px}.step h3{font-size:19px}.step p{color:var(--muted);margin:0}.faq{max-width:840px;margin:0 auto}.faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:10px;padding:0 20px}.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:800;font-size:16.5px;display:flex;justify-content:space-between;gap:14px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:24px;line-height:1;color:var(--brand);transition:transform .2s}.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{color:var(--ink2);margin:0 0 18px}.cta{position:relative;overflow:hidden;border-radius:28px;padding:54px 40px;background:var(--grad);color:#fff;text-align:center;box-shadow:var(--shadow)}.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 240px at 20% 0%,rgb(255 255 255 / .25),transparent 60%),radial-gradient(500px 260px at 100% 100%,rgb(255 255 255 / .18),transparent 60%)}.cta>*{position:relative}.cta h2{color:#fff;font-size:clamp(28px,3.6vw,44px)}.cta p{color:rgb(255 255 255 / .9);font-size:18px;max-width:620px;margin:0 auto 24px}.cta .btn{background:#fff;color:#be185d}.cta .btn:hover{color:#9d174d}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card-link{display:block;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:transform .2s,box-shadow .2s}.card-link:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:var(--ink)}.card-link .tag{display:inline-block;font-size:12px;font-weight:800;color:var(--brand);background:var(--brand-soft);padding:3px 10px;border-radius:999px;margin-bottom:10px}.card-link h3{font-size:18px;margin-bottom:6px}.card-link p{color:var(--muted);font-size:15px;margin:0}.privacy-band{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}.privacy-band .big{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff}.privacy-band .big svg{width:34px;height:34px}.privacy-band h3{margin-bottom:4px}.privacy-band p{margin:0;color:var(--muted)}.page-hero{padding:46px 0 10px;text-align:center}.crumbs{font-size:13.5px;font-weight:700;color:var(--muted);margin-bottom:12px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--brand)}.page-hero h1{font-size:clamp(32px,4.6vw,52px);font-weight:800;max-width:900px;margin:0 auto 12px}.page-hero .lead{color:var(--ink2);font-size:18.5px;max-width:760px;margin:0 auto}.app-wrap{width:min(1440px,100% - 24px);margin:26px auto 10px}.entry{max-width:800px;margin:0 auto;padding:30px 0 20px}.entry-wide{max-width:var(--wrap)}.entry h2{font-size:clamp(24px,2.8vw,32px);margin-top:1.6em}.entry h3{font-size:21px;margin-top:1.4em}.entry p,.entry li{color:var(--ink2)}.entry ul,.entry ol{padding-inline-start:1.3em}.entry li{margin:.35em 0}.entry li::marker{color:var(--brand)}.entry table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:15px;background:var(--card);border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.entry th,.entry td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}.entry th{background:var(--bg2);font-weight:800}.entry blockquote{margin:1.4em 0;padding:16px 20px;border-radius:14px;background:var(--brand-soft);border-inline-start:4px solid var(--brand);color:var(--ink)}.callout{display:flex;gap:14px;padding:18px 20px;border-radius:16px;background:var(--card);border:1px solid var(--line);margin:1.4em 0;box-shadow:var(--shadow-sm)}.callout b{color:var(--ink)}.callout.tip{border-color:#bbf7d0;background:color-mix(in srgb,#22c55e 8%,var(--card))}.callout.warn{border-color:#fde68a;background:color-mix(in srgb,#f59e0b 9%,var(--card))}.entry .btn{margin:6px 0}.entry .lead{font-size:19px;color:var(--ink)}.meta-line{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-size:14px;color:var(--muted);font-weight:700;margin-top:14px}.author-box{display:flex;gap:16px;align-items:center;margin:2.4em 0 1em;padding:18px;border-radius:18px;background:var(--card);border:1px solid var(--line)}.author-box img{width:64px;height:64px;border-radius:50%;object-fit:cover}.author-box p{margin:0;font-size:14.5px;color:var(--muted)}.founder{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center;margin:2em 0}.founder img{width:200px;height:200px;border-radius:24px;object-fit:cover;box-shadow:var(--shadow)}.founder-text{min-width:0}.founder-text h2{margin-top:0}.founder-text p:last-child{margin-bottom:0}.related{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:1.4em 0}.related a{display:block;padding:14px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);text-decoration:none;font-weight:800;color:var(--ink)}.related a:hover{border-color:var(--brand);color:var(--brand)}.toc{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin:1.4em 0}.toc b{display:block;margin-bottom:6px}.toc ol{margin:0}.chk{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chk textarea{width:100%;min-height:260px;border:1.5px solid var(--line);border-radius:16px;padding:14px;font:inherit;font-size:15px;background:var(--field);color:var(--ink);resize:vertical}.chk label{display:block;font-weight:800;margin-bottom:8px}.chk-out{margin-top:20px}.chk-res{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px}.site-footer{margin-top:70px;background:var(--card);border-top:1px solid var(--line);position:relative}.site-footer::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--grad)}.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding:46px 0 28px}.ft .ft-h{font-family:var(--font);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.ft ul{list-style:none;margin:0;padding:0}.ft li{margin:7px 0}.ft a{color:var(--ink2);text-decoration:none;font-weight:600}.ft a:hover{color:var(--brand)}.ft-brand p{color:var(--muted);font-size:14.5px;margin:12px 0 14px}.foot-word{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:.02em;direction:ltr;unicode-bidi:isolate}.foot-word .b2{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:#fff0}.socials{display:flex;gap:8px;flex-wrap:wrap}.socials a,.foot-contact{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink2);font:inherit;font-weight:700;font-size:14px;text-decoration:none;background:#fff0;cursor:pointer}.socials a:hover{background:#1877f2;border-color:#1877f2;color:#fff}.foot-contact:hover{border-color:var(--brand);color:var(--brand)}.socials svg,.foot-contact svg{width:17px;height:17px}.foot-legal{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 0 26px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.foot-legal p{margin:0}.foot-legal a{color:var(--ink2);font-weight:700;text-decoration:none}.family{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.family a{font-size:13px;font-weight:800;padding:5px 11px;border-radius:999px;background:var(--brand-soft);color:var(--brand);text-decoration:none}.contact-open{background:none;border:0;padding:0;font:inherit;color:var(--brand2);text-decoration:underline;cursor:pointer}.contact-modal{position:fixed;inset:0;z-index:200;background:rgb(9 12 27 / .6);display:grid;place-items:center;padding:16px;backdrop-filter:blur(4px)}.contact-modal[hidden]{display:none}.cm-box{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:var(--card);border-radius:24px;padding:28px;box-shadow:var(--shadow);animation:cmIn .25s ease}@keyframes cmIn{from{opacity:0;transform:translateY(10px) scale(.98)}}.cm-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:12px;border:0;background:var(--bg2);color:var(--ink);font-size:22px;cursor:pointer}.cm-box h2{font-size:24px}.cm-sub{color:var(--muted)}.cm-box form{display:grid;gap:12px}.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cm-box label{display:grid;gap:6px;font-weight:700;font-size:14px}.cm-box input,.cm-box textarea{border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;background:var(--field);color:var(--ink)}.cm-box input:focus,.cm-box textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.cm-hp{position:absolute!important;left:-9999px!important}.cm-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cm-note{font-size:13px;color:var(--muted)}.cm-status{padding:10px 12px;border-radius:12px;background:#fee2e2;color:#991b1b;font-weight:700;margin:0}.cm-ok{font-weight:700;color:var(--ok)}.cookie-bar{position:fixed;z-index:90;left:16px;right:16px;bottom:16px;max-width:780px;margin:0 auto;display:flex;gap:14px 18px;align-items:center;flex-wrap:wrap;padding:16px 18px;border-radius:18px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}.cookie-bar[hidden]{display:none}.cookie-bar p{margin:0;flex:1 1 320px;font-size:14px;line-height:1.55}.cookie-btns{display:flex;gap:10px;margin-inline-start:auto}.cookie-bar .btn{padding:10px 18px;font-size:14px}@media (max-width:1060px){.hero{grid-template-columns:1fr;gap:20px;padding-top:40px}.hero-art{min-height:420px;max-width:620px;width:100%;margin:0 auto}.hero-photo{inset:0;background-image:none;opacity:0;transition:opacity .7s ease;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 16%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 16%,#000 80%,transparent 100%);mask-composite:intersect}.hp-ready .hero-photo{background-image:var(--hp-sm);opacity:1}.feat-grid,.cards{grid-template-columns:repeat(2,1fr)}.tpl-strip{grid-template-columns:repeat(3,1fr)}.ft{grid-template-columns:1fr 1fr}}@media (max-width:860px){.nav-toggle{display:inline-grid}.nav{position:fixed;left:0;right:0;top:72px;background:var(--card);border-bottom:1px solid var(--line);padding:12px 16px 18px;display:none;box-shadow:var(--shadow)}.nav.open{display:block}.nav ul{flex-direction:column;align-items:stretch}.nav a{padding:12px 14px;font-size:16px}.nav .nav-cta a{text-align:center;margin:6px 0 0}.hdr{gap:8px}.brand-name{font-size:20px}.stats{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.chk{grid-template-columns:1fr}.founder{grid-template-columns:1fr;text-align:center}.founder img{margin:0 auto}}@media (max-width:620px){body{font-size:16px}.feat-grid,.cards,.related{grid-template-columns:1fr}.tpl-strip{grid-template-columns:repeat(2,1fr);gap:12px}.ft{grid-template-columns:1fr}.compare{font-size:14px}.compare th,.compare td{padding:11px 10px}.cta{padding:40px 22px}.hero-art{min-height:340px;margin-top:60px}.hero-photo{inset:0 16px}.float{padding:9px 12px;font-size:13px}.f1{left:0;bottom:60px}.f2{bottom:6px}.lang-toggle .lang-code{display:none}.lang-toggle{padding:0 10px}.cm-row{grid-template-columns:1fr}.privacy-band{grid-template-columns:1fr;text-align:center}.privacy-band .big{margin:0 auto}}@media (max-width:1060px){.hero{position:relative;isolation:isolate}.hero .hero-art{position:static;min-height:0;max-width:none;width:auto;margin:6px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.hero .hero-photo{position:absolute;inset:0 0 auto 0;height:min(600px,100%);z-index:-1;background-image:var(--hp-sm);opacity:.32;transition:none;background-position:42% 18%;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%);mask-composite:intersect}.hero:hover .hero-photo{opacity:.32}[data-theme="dark"] .hero .hero-photo{opacity:.3}.hero .float{position:static;animation:none}}.tthumb{position:relative;overflow:hidden}.tthumb>div{position:absolute;left:0;top:0;transform-origin:top left}.hiv-app{margin-bottom:8px}.hero-photo{transform:scaleX(-1)}html[dir="rtl"] .hero-photo{transform:none}@media (min-width:1061px){.hero .hero-photo{opacity:1!important;filter:none!important;background-position:46% 22%!important;transition:transform .8s ease;-webkit-mask-image:linear-gradient(to left,transparent 0%,rgb(0 0 0 / .4) 16%,#000 38%,#000 90%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to left,transparent 0%,rgb(0 0 0 / .4) 16%,#000 38%,#000 90%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 78%,transparent 100%);mask-composite:intersect}.hero:hover .hero-photo{opacity:1!important;transform:scaleX(-1) scale(1.015)}[data-theme="dark"] .hero .hero-photo{filter:brightness(.88) saturate(.95)!important}html[dir="rtl"] .hero:hover .hero-photo{transform:scale(1.015)}}.hf{margin:6px 0 0;padding:22px 0 8px;border-top:1px solid rgb(127 127 127 / .22)}.hf-h{font-size:13px!important;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin:0 0 12px!important;font-weight:800}.hf-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.hf-c{position:relative;display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:14px;border:1px solid rgb(127 127 127 / .28);background:rgb(127 127 127 / .08);color:inherit!important;text-decoration:none!important;transition:transform .15s,border-color .15s}.hf-c:hover{transform:translateY(-2px);border-color:currentColor}.hf-i{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px;line-height:1}.hf-t{min-width:0}.hf-c b{display:block;font-size:15px;line-height:1.25}.hf-c small{display:block;font-size:12.5px;line-height:1.35;opacity:.85}.hf-c[aria-current]{border-color:currentColor}.hf-c em{position:absolute;top:-9px;right:10px;font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;padding:2px 7px;border-radius:999px;background:var(--brand,#db2777);color:#fff}@media (max-width:1100px){.hf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.hf-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.hf-grid{grid-template-columns:1fr}}.nav a{white-space:nowrap}@media (min-width:861px) and (max-width:1240px){.nav ul{gap:0}.nav a{padding:8px 9px;font-size:14px}.nav .nav-cta a{padding:9px 14px;margin-inline-start:4px}}@media (min-width:861px) and (max-width:1000px){.nav a{padding:8px 6px;font-size:13.5px}}.ph-dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:10px 0 30px}.ph-dir a{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;padding:16px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .15s,border-color .15s,box-shadow .2s}.ph-dir a:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow-sm);color:var(--ink)}.ph-dir .di{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;background:var(--c,var(--grad))}.ph-dir .di svg{width:24px;height:24px}.ph-dir b{display:block;font-size:16px;margin-bottom:2px}.ph-dir span.d{display:block;color:var(--muted);font-size:13.5px;line-height:1.45}.app-wrap{width:min(1320px,100% - 24px)}body{letter-spacing:-.003em}.site-header{background:color-mix(in srgb,var(--bg) 72%,transparent)}.hero h1{font-size:clamp(40px,6vw,74px);letter-spacing:-.035em}.hero h1 .count{background:var(--grad-text);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:#fff0}.section-head h2{letter-spacing:-.03em}.feat,.card-link,.step,.stat,.ph-dir a{border-radius:22px;background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(8px)}.stat b{letter-spacing:-.03em}.btn{border-radius:16px}.nav .nav-cta a{border-radius:14px}.tool-search{display:flex;align-items:center;gap:10px;max-width:640px;margin:0 auto 16px;padding:6px 8px 6px 18px;border-radius:18px;background:var(--card);border:1.5px solid var(--line);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}.tool-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.tool-search svg{width:20px;height:20px;color:var(--muted);flex:none}.tool-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--ink);font:inherit;font-size:16.5px;padding:11px 0}.tool-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 22px}.tool-cats button{padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink2);font:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:all .15s}.tool-cats button:hover{border-color:var(--brand);color:var(--brand)}.tool-cats button.on{background:var(--grad);border-color:#fff0;color:#fff}.ph-dir a{position:relative;overflow:hidden}.ph-dir a::after{content:"→";position:absolute;right:16px;top:14px;color:var(--brand);font-weight:800;opacity:0;transform:translateX(-6px);transition:all .18s}.ph-dir a:hover::after{opacity:1;transform:none}.ph-dir a[hidden]{display:none}.ph-dir .new{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:10.5px;font-weight:800;vertical-align:2px}.no-tool{text-align:center;color:var(--muted);font-weight:700}.brand-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0 0}.brand-strip span{padding:6px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:13.5px;font-weight:700;color:var(--ink2)}.hph-tool{position:relative;margin:0 0 34px}.hph-tool [hidden]{display:none!important}.hph-tool:not(.ph-ready){min-height:260px;display:grid;place-items:center;color:var(--muted);border:2px dashed var(--line);border-radius:24px;background:var(--card)}.ph-file{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none}.ph-err{padding:24px;background:#fff1f2;color:#9f1239;border-radius:16px}.ph-start{display:grid;gap:16px}.ph-start[hidden]{display:none}.ph-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:300px;padding:34px 20px;border-radius:26px;cursor:pointer;background:radial-gradient(600px 240px at 50% 0%,color-mix(in srgb,var(--brand) 9%,transparent),transparent 70%),var(--card);border:2px dashed color-mix(in srgb,var(--brand) 38%,var(--line));box-shadow:var(--shadow-sm);transition:border-color .2s,transform .2s,background .2s}.ph-drop:hover,.ph-drop.over,.ph-drop:focus-visible{border-color:var(--brand);transform:translateY(-2px)}.ph-drop.over{background:color-mix(in srgb,var(--brand) 9%,var(--card))}.ph-drop-ic{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:var(--grad);color:#fff;box-shadow:0 14px 30px -14px rgb(225 29 72 / .8);margin-bottom:6px}.ph-drop-ic svg{width:30px;height:30px}.ph-drop b{font-family:var(--display);font-size:clamp(20px,3vw,26px);color:var(--ink)}.ph-drop p{margin:0 0 10px;color:var(--muted)}.ph-drop small{color:var(--muted);margin-top:10px;font-size:13.5px}.ph-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s,transform .15s,filter .15s;white-space:nowrap}.ph-btn:hover{border-color:var(--brand);color:var(--brand)}.ph-btn svg{flex:none}.ph-btn.main{background:var(--grad);border-color:#fff0;color:#fff;box-shadow:0 12px 26px -14px rgb(225 29 72 / .85)}.ph-btn.main:hover{color:#fff;filter:brightness(1.07);transform:translateY(-1px)}.ph-btn.big{min-height:50px;padding:12px 26px;font-size:16px}.ph-btn.ic{width:42px;padding:0}.ph-btn.on{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.ph-btn[disabled]{opacity:.5;pointer-events:none}.ph-work{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.ph-work[hidden]{display:none}.ph-main{min-width:0;display:grid;gap:12px}.ph-left{position:relative;min-width:0}.ph-panel{display:grid;gap:12px;position:sticky;top:86px;max-height:calc(100vh - 100px);overflow:auto;padding:2px 4px 8px 2px;scrollbar-width:thin}.ph-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ph-top:empty{display:none}.ph-stage-wrap{position:relative;border-radius:22px;overflow:hidden;background:#1a1218;box-shadow:var(--shadow-sm)}.ph-stage{display:block;width:100%;touch-action:none;cursor:grab;outline:none;background-color:#2a2028;background-image:linear-gradient(45deg,#3a2f38 25%,transparent 25%,transparent 75%,#3a2f38 75%),linear-gradient(45deg,#3a2f38 25%,transparent 25%,transparent 75%,#3a2f38 75%);background-size:22px 22px;background-position:0 0,11px 11px}.ph-stage.grab{cursor:grabbing}.ph-stage.sel{cursor:crosshair}.ph-stage:focus-visible{box-shadow:inset 0 0 0 3px var(--brand2)}.ph-stage-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:5px 12px;border-radius:999px;background:rgb(0 0 0 / .55);color:#fff;font-size:12.5px;font-weight:600;pointer-events:none;white-space:nowrap}.ph-light{background-color:#fff;background-image:linear-gradient(45deg,#eee 25%,transparent 25%,transparent 75%,#eee 75%),linear-gradient(45deg,#eee 25%,transparent 25%,transparent 75%,#eee 75%);background-size:20px 20px;background-position:0 0,10px 10px}.ph-sec{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px;display:grid;gap:10px}.ph-sec h3{margin:0;font-size:15px;font-family:var(--font);font-weight:800;letter-spacing:0;color:var(--ink)}.ph-sec[hidden],.ph-sec [hidden]{display:none!important}.ph-lbl{margin:2px 0 -4px;font-size:13px;font-weight:700;color:var(--ink2)}.ph-note{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.ph-info{margin:0;font-size:13px;color:var(--ink2);font-weight:600}.ph-preview{width:100%;height:auto;border-radius:12px;display:block}.ph-range label{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;font-weight:700;color:var(--ink2);margin-bottom:2px}.ph-range output{color:var(--brand);font-variant-numeric:tabular-nums}.ph-range input{width:100%;accent-color:var(--brand2);margin:0;height:26px}.ph-seg{display:flex;flex-wrap:wrap;gap:6px}.ph-seg button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:7px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--field);color:var(--ink2);font:inherit;font-weight:700;font-size:13.5px;cursor:pointer}.ph-seg button:hover{border-color:var(--brand)}.ph-seg button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.ph-seg.ph-small button{min-height:34px;padding:5px 11px;font-size:13px}.ph-seg.ph-shapes{display:grid;grid-template-columns:repeat(4,1fr)}.ph-seg.ph-shapes button{flex-direction:column;gap:3px;padding:8px 4px;font-size:12px}.ph-seg.ph-shapes svg{width:26px;height:26px;fill:color-mix(in srgb,currentColor 18%,transparent);stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.ph-seg.ph-wide{display:grid;grid-template-columns:1fr 1fr}.ph-seg.ph-wide.ph-3{grid-template-columns:1fr 1fr 1fr}.ph-field{display:grid;gap:5px}.ph-field label{font-size:13.5px;font-weight:700;color:var(--ink2)}.ph-field select,.ph-field input,.ph-input{width:100%;min-height:42px;padding:8px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--field);color:var(--ink);font:inherit;font-size:15px}.ph-field select:focus,.ph-field input:focus,.ph-input:focus{outline:none;border-color:var(--brand)}.ph-unit{display:flex;align-items:center;gap:6px}.ph-unit span{font-size:13px;color:var(--muted);font-weight:700}.ph-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ph-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ph-color{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink2)}.ph-color input{width:38px;height:34px;padding:0;border:1.5px solid var(--line);border-radius:10px;background:none;cursor:pointer}.ph-check{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--ink2);cursor:pointer}.ph-check input{width:18px;height:18px;accent-color:var(--brand2)}.ph-iconrow{display:flex;flex-wrap:wrap;gap:8px}.ph-swatches{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.ph-sw{width:32px;height:32px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0;box-shadow:inset 0 0 0 2px var(--card)}.ph-sw.none{background:repeating-conic-gradient(#ddd 0 25%,#fff 0 50%) 50%/12px 12px!important;position:relative}.ph-sw.none::after{content:"";position:absolute;left:50%;top:3px;bottom:3px;width:2px;background:#e11d48;transform:rotate(45deg)}.ph-sw.on,.ph-sw-pick.on{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--card),0 0 0 2px var(--brand)}.ph-sw-pick{width:34px;height:34px;padding:0;border:2px solid var(--line);border-radius:50%;cursor:pointer;background:conic-gradient(red,#ff0,lime,cyan,blue,#f0f,red)}.ph-sw-pick::-webkit-color-swatch-wrapper{padding:3px}.ph-sw-pick::-webkit-color-swatch{border:0;border-radius:50%}.ph-thumbs{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px}.ph-thumb{position:relative;flex:none;width:72px;height:72px;border-radius:14px;border:2px solid var(--line);padding:0;overflow:hidden;cursor:pointer;background:var(--bg2)}.ph-thumb canvas{width:100%;height:100%;object-fit:cover;display:block}.ph-thumb.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.ph-thumb-x{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:rgb(0 0 0 / .6);color:#fff;display:grid;place-items:center}.ph-thumb-x svg{width:13px;height:13px}.ph-results{display:grid;gap:10px}.ph-res{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.ph-res canvas,.ph-res img{width:64px;height:64px;object-fit:cover;border-radius:10px;background:var(--bg2)}.ph-res b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-res small{color:var(--muted);font-size:13px}.ph-res .ok{color:#15803d;font-weight:800}.ph-res .bad{color:#be123c;font-weight:800}.ph-big{display:block;width:auto;height:auto;max-width:100%;max-height:560px;min-width:0;margin:0 auto;border-radius:12px;object-fit:contain}.ph-viewbox{border-radius:22px;padding:14px;display:flex;align-items:center;justify-content:center;min-height:260px;overflow:hidden}.ph-chips{display:flex;flex-wrap:wrap;gap:6px}.ph-chips button{min-height:34px;padding:5px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--field);color:var(--ink2);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.ph-chips button.on,.ph-chips button:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.ph-busy{position:absolute;inset:0;z-index:5;display:grid;place-content:center;justify-items:center;gap:12px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(3px);border-radius:22px;text-align:center;padding:20px}.ph-busy b{max-width:340px;font-size:15px;color:var(--ink)}.ph-spin{width:42px;height:42px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--brand2);animation:phspin .8s linear infinite}@keyframes phspin{to{transform:rotate(360deg)}}.ph-toast{position:fixed;left:50%;bottom:22px;z-index:200;transform:translate(-50%,30px);opacity:0;max-width:min(560px,calc(100% - 32px));padding:12px 18px;border-radius:14px;background:#1c1018;color:#fff;font-weight:600;font-size:14.5px;box-shadow:0 18px 40px -16px rgb(0 0 0 / .6);transition:transform .3s,opacity .3s}.ph-toast.err{background:#9f1239}.ph-toast.show{transform:translate(-50%,0);opacity:1}.ph-fx-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.ph-fx{flex:none;display:grid;gap:4px;justify-items:center;padding:4px;border:2px solid #fff0;border-radius:14px;background:none;cursor:pointer;font:inherit;font-size:12.5px;font-weight:700;color:var(--ink2)}.ph-fx canvas{width:76px;height:76px;object-fit:cover;border-radius:10px;display:block}.ph-fx.on{border-color:var(--brand);color:var(--brand)}.ph-posgrid{display:grid;grid-template-columns:repeat(3,44px);gap:6px}.ph-posgrid button{height:34px;border-radius:9px;border:1.5px solid var(--line);background:var(--field);cursor:pointer;position:relative}.ph-posgrid button::after{content:"";position:absolute;inset:11px 15px;border-radius:3px;background:var(--line)}.ph-posgrid button.on{border-color:var(--brand)}.ph-posgrid button.on::after{background:var(--brand2)}.ph-sigpad{max-width:100%}.ph-dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:10px 0 30px}.ph-dir a{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;padding:16px;border-radius:18px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .15s,border-color .15s,box-shadow .2s}.ph-dir a:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:var(--shadow-sm)}.ph-dir .di{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;background:var(--c,var(--grad))}.ph-dir .di svg{width:24px;height:24px}.ph-dir b{display:block;font-size:16px;margin-bottom:2px}.ph-dir span.d{display:block;color:var(--muted);font-size:13.5px;line-height:1.45}@media (max-width:1060px){.ph-work{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width:860px){.ph-work{grid-template-columns:1fr}.ph-panel{position:static;max-height:none;overflow:visible;padding:0}.ph-bar{position:sticky;bottom:0;z-index:6;padding:10px;margin:0 -6px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-radius:16px}.ph-bar .ph-btn.big{flex:1 1 100%}}@media (max-width:480px){.ph-drop{min-height:250px}.ph-seg.ph-shapes{grid-template-columns:repeat(4,1fr)}.ph-res{grid-template-columns:52px minmax(0,1fr)}.ph-res canvas,.ph-res img{width:52px;height:52px}.ph-res .ph-btn{grid-column:1/-1}}.ph-range-row{display:flex;align-items:center;gap:8px}.ph-range-row input{flex:1;min-width:0}.ph-step{flex:none;width:30px;height:30px;border-radius:10px;border:1.5px solid var(--line);background:var(--field);color:var(--ink);font:inherit;font-size:19px;font-weight:700;line-height:1;cursor:pointer;display:grid;place-items:center;user-select:none;touch-action:manipulation;transition:border-color .15s,color .15s,transform .1s}.ph-step:hover{border-color:var(--brand);color:var(--brand)}.ph-step:active{transform:scale(.92);background:var(--brand-soft)}.ph-details{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line);font-size:13.5px}.ph-details b{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.ph-d-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--brand-soft);color:var(--brand)}.ph-chip{padding:3px 10px;border-radius:999px;background:var(--bg2);color:var(--ink2);font-weight:700;font-size:12.5px}.ph-sec h3{display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none}.ph-sec h3::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s;margin-right:3px}.ph-sec.closed h3::after{transform:rotate(-45deg)}.ph-sec.closed>:not(h3){display:none!important}.ph-sec{box-shadow:0 8px 24px -22px rgb(30 20 40 / .5)}.ph-res{grid-template-columns:64px minmax(0,1fr) auto}.ph-res-act{display:flex;gap:6px;align-items:center}.ph-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:rgb(15 8 14 / .6);backdrop-filter:blur(4px)}.ph-modal-box{position:relative;width:min(440px,100%);max-height:90vh;overflow:auto;display:grid;gap:12px;padding:22px;border-radius:22px;background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.ph-modal-box h3{margin:0;font-size:20px}.ph-modal-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:var(--bg2);color:var(--ink);cursor:pointer;display:grid;place-items:center}.ph-modal-img{display:block;max-width:100%;max-height:220px;margin:0 auto;border-radius:12px}.ph-sharelinks{display:flex;flex-wrap:wrap;gap:8px}.ph-sharelinks a{padding:8px 14px;border-radius:999px;color:#fff!important;text-decoration:none;font-weight:700;font-size:13.5px}.ph-pagegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.ph-pagecard{display:grid;gap:8px;justify-items:center;padding:10px;background:var(--card);border:1px solid var(--line);border-radius:16px}.ph-pagecard canvas{width:100%;height:160px;object-fit:contain;background:var(--bg2);border-radius:10px}.ph-pagecard .ph-btn.ic{width:36px;min-height:36px}.ph-meta{margin-top:12px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:6px 14px;overflow:auto}.ph-meta table{width:100%;border-collapse:collapse;font-size:14px}.ph-meta th,.ph-meta td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}.ph-meta th{width:40%;color:var(--muted);font-weight:700}.ph-meta tr:last-child th,.ph-meta tr:last-child td{border-bottom:0}.ph-warn{margin:0;padding:10px 12px;border-radius:12px;font-weight:700;font-size:13.5px}.ph-warn.bad{background:#ffe4e6;color:#9f1239}.ph-warn.ok{background:#dcfce7;color:#166534}.ph-bigsw{height:84px;border-radius:14px;border:1px solid var(--line)}.ph-codes{display:grid;gap:6px}.ph-code{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--field);color:var(--ink);cursor:pointer;font:inherit}.ph-code:hover{border-color:var(--brand)}.ph-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ph-palette button{height:54px;border-radius:10px;border:1px solid rgb(0 0 0 / .12);cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:0 0 4px}.ph-palette span{font-size:10.5px;font-weight:700;padding:1px 4px;border-radius:5px;background:rgb(255 255 255 / .85);color:#111}.ph-drop{overflow:hidden}.ph-drop::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,color-mix(in srgb,var(--brand2) 10%,transparent),transparent 40%);animation:phspin 9s linear infinite;pointer-events:none}.ph-drop>*{position:relative}.ph-stage-wrap{border-radius:24px}.ph-btn{border-radius:14px}.ph-btn.main{border-radius:14px}@media (max-width:480px){.ph-res-act{grid-column:1/-1}.ph-res{grid-template-columns:52px minmax(0,1fr)}}.ph-stage-hint{top:10px;bottom:auto}.ph-scenes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:300px;overflow:auto;padding:2px;scrollbar-width:thin}.ph-scene{padding:0;border:2px solid #fff0;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--bg2);aspect-ratio:3/2}.ph-scene canvas{display:block;width:100%;height:100%}.ph-scene.on,.ph-scene:hover{border-color:var(--brand)}.ph-ba{position:absolute;top:22px;padding:4px 10px;border-radius:999px;background:rgb(0 0 0 / .6);color:#fff;font-size:12px;font-weight:800;opacity:0;transition:opacity .2s;pointer-events:none}.ph-ba.l{left:24px}.ph-ba.r{right:24px}.done .ph-ba{opacity:1}.ph-scene{display:block;aspect-ratio:auto;height:auto}.ph-scene canvas{width:100%;height:auto;aspect-ratio:3/2}.ph-scenes{grid-auto-rows:max-content;align-content:start}.ph-scene{min-height:0;flex:none}.ph-bgpane{display:grid;gap:10px;margin-top:10px}.ph-bgpane[hidden]{display:none}.ph-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:330px;overflow:auto;padding:2px;scrollbar-width:thin;align-content:start;grid-auto-rows:max-content}.ph-ptile{min-height:0;height:auto;position:relative;padding:0;border:2px solid #fff0;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--bg2);aspect-ratio:3/2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink,inherit);font:inherit}.ph-ptile[hidden]{display:none}.ph-ptile img{display:block;width:100%;height:100%;object-fit:cover}.ph-ptile.on,.ph-ptile:hover,.ph-ptile:focus-visible{border-color:var(--brand)}.ph-ptile small{font-size:12px;font-weight:700}.ph-up span{font-size:26px;line-height:1;font-weight:800;color:var(--brand)}.ph-up{border:2px dashed var(--line)}.ph-none{background:repeating-conic-gradient(#d9dde3 0 25%,#fff 0 50%) 0 0/14px 14px;color:#111}.ph-chips{display:flex;flex-wrap:wrap;gap:6px}.ph-progress{width:min(320px,80vw);height:8px;border-radius:999px;background:var(--line);overflow:hidden}.ph-progress i{display:block;height:100%;width:0;background:var(--grad);transition:width .3s}