:root{color-scheme:light;--page:#fff;--hero:#f5f9ff;--soft:#f3f7fc;--surface:#fff;--ink:#12243a;--copy:#4d6179;--muted:#71839a;--line:#dce6f2;--blue:#2c7be8;--blue-hover:#1e67ca;--blue-soft:#eaf3ff;--blue-ink:#1d5dad;--header:rgba(255,255,255,.94);--code-bg:#f5f8fc;--code-ink:#29415e;--privacy:#153a63;--privacy-copy:#d7e6f8;--privacy-muted:#acc4e2;--shadow:0 24px 70px rgba(26,71,123,.13);--sans:Montserrat,Arial,sans-serif;--serif:Amiri,Georgia,serif;--max:1300px}
:root[data-theme="dark"]{color-scheme:dark;--page:#0e1724;--hero:#111e2e;--soft:#121e2d;--surface:#162438;--ink:#edf4ff;--copy:#bdcde0;--muted:#92a6bf;--line:#293b52;--blue:#68a9ff;--blue-hover:#8abaff;--blue-soft:#172d48;--blue-ink:#a8cfff;--header:rgba(14,23,36,.94);--code-bg:#0f1c2c;--code-ink:#d8e8fa;--privacy:#102c4a;--privacy-copy:#d7e6f8;--privacy-muted:#acc4e2;--shadow:0 24px 70px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--page);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;font:inherit}img,svg{display:block}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400}
.wrap{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;z-index:50;top:10px;left:10px;padding:9px 14px;transform:translateY(-150%);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:clamp(18px,3vw,42px);min-height:78px;padding:12px max(24px,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line);background:var(--header);backdrop-filter:blur(14px)}
.brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}.brand img{width:44px;height:44px;border-radius:13px}.brand span{display:grid;line-height:1.2}.brand strong{font-size:16px;font-weight:760;letter-spacing:-.035em}.brand small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:clamp(16px,2.1vw,30px);margin-left:auto}.main-nav a,.site-footer a{color:var(--copy);font-size:12px;font-weight:650;transition:color .18s ease}.main-nav a:hover,.site-footer a:hover{color:var(--blue)}
.header-actions{display:flex;align-items:center;gap:9px}.language-switcher{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.language-option{min-width:31px;padding:4px 7px;border-radius:999px;color:var(--muted);font-size:9px;font-weight:750;text-align:center}.language-option:hover,.language-option.is-active{background:var(--blue-soft);color:var(--blue-ink)}
.theme-toggle,.menu-toggle{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface)}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.theme-toggle .icon-sun{display:none}:root[data-theme="dark"] .theme-toggle .icon-moon{display:none}:root[data-theme="dark"] .theme-toggle .icon-sun{display:block}.menu-toggle{display:none;gap:3px;align-content:center;padding:9px}.menu-toggle span{width:16px;height:1.5px;border-radius:2px;background:currentColor}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 42%,rgba(69,141,236,.12),transparent 34%),var(--hero)}.hero::after{position:absolute;right:-140px;bottom:-310px;width:510px;height:510px;border:1px solid rgba(44,123,232,.12);border-radius:50%;content:"";pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);align-items:center;gap:clamp(42px,7vw,94px);min-height:610px;padding-block:72px 84px}
.eyebrow,.kicker,.panel-label{margin-bottom:17px;color:var(--blue-ink);font-size:10px;font-weight:800;letter-spacing:.14em}.hero h1{max-width:650px;margin-bottom:21px;font-size:clamp(42px,5.3vw,69px);font-weight:760;letter-spacing:-.065em;line-height:1.04}.hero h1 span{color:var(--blue)}
.lead{max-width:570px;margin-bottom:29px;color:var(--copy);font-size:clamp(16px,1.5vw,19px);line-height:1.65}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:21px}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:11px;padding:0 19px;border-radius:8px;font-size:12px;font-weight:750;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--blue);color:#fff;box-shadow:0 9px 22px rgba(44,123,232,.2)}.button.primary:hover{background:var(--blue-hover)}.text-link{color:var(--blue-ink);font-size:12px;font-weight:750}.text-link:hover{color:var(--blue)}
.availability{display:flex;align-items:flex-start;gap:9px;max-width:470px;margin:24px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.status-dot{width:7px;height:7px;flex:0 0 7px;margin-top:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(44,123,232,.12)}
.workflow-visual{position:relative;margin:0}.visual-window{overflow:hidden;border:1px solid rgba(189,207,229,.75);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);transform:rotate(1deg)}.window-bar{display:flex;min-height:52px;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid var(--line);color:var(--copy)}.window-brand{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:750}.window-brand img{width:22px;height:22px;border-radius:6px}.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;border-radius:50%;background:var(--line)}
.visual-content{padding:clamp(20px,3vw,30px)}.source-file{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.file-type{display:grid;width:39px;height:42px;flex:0 0 39px;place-items:center;border-radius:7px;background:var(--blue-soft);color:var(--blue-ink);font-size:9px;font-weight:850}.file-copy{display:grid;min-width:0}.file-copy strong{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.file-copy small{color:var(--muted);font-size:9px}.file-check{display:grid;width:21px;height:21px;margin-left:auto;place-items:center;border-radius:50%;background:#e5f6ee;color:#278157;font-size:11px;font-weight:800}
.flow-arrow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:48px;margin:12px auto;color:var(--blue);font-size:18px;line-height:1}.flow-arrow span{height:1px;background:var(--line)}.code-card{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--code-bg)}.code-card-head{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:0 13px;border-bottom:1px solid var(--line);color:var(--copy);font-size:10px}.code-card-head span{padding:4px 7px;border-radius:5px;background:var(--blue-soft);color:var(--blue-ink);font-size:8px;font-weight:750}.code-card pre{overflow:hidden;margin:0;padding:17px 14px 20px;color:var(--code-ink);font:10px/1.9 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-card b{color:#7662c4}:root[data-theme="dark"] .code-card b{color:#c3b5ff}.workflow-visual figcaption{margin-top:15px;color:var(--muted);font-size:10px;text-align:center}
.section{padding-block:102px}.section-soft{background:var(--soft)}.section-heading{max-width:720px;margin-bottom:39px}.kicker{margin-bottom:13px}.section-heading h2,.privacy-copy h2{margin-bottom:14px;font-size:clamp(30px,4vw,45px);font-weight:730;letter-spacing:-.052em;line-height:1.13}.section-heading>p:last-child{max-width:650px;margin-bottom:0;color:var(--copy);font-size:14px}
.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.step-card{min-height:208px;padding:24px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.step-number{display:inline-grid;width:34px;height:34px;margin-bottom:27px;place-items:center;border-radius:9px;background:var(--blue-soft);color:var(--blue-ink);font-size:10px;font-weight:800}.step-card h3,.format-panel h3{margin-bottom:9px;font-size:17px;font-weight:730;letter-spacing:-.025em}.step-card p{margin-bottom:0;color:var(--copy);font-size:12px}
.formats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.format-panel{padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-radius:14px;background:var(--surface)}.panel-label{margin-bottom:12px;font-size:9px}.format-panel h3{margin-bottom:19px}.format-chips{display:flex;flex-wrap:wrap;gap:8px}.format-chips span{padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--page);color:var(--copy);font-size:10px;font-weight:650}.template-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.template-list li{display:flex;min-height:35px;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);font-size:11px}.template-list li:last-child{border-bottom:0}.template-list li span{color:var(--ink);font-weight:700}.template-list small{color:var(--muted);font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.important-note{display:flex;align-items:flex-start;gap:11px;max-width:800px;margin:19px 0 0;color:var(--muted);font-size:11px}.important-note span{display:grid;width:18px;height:18px;flex:0 0 18px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--blue-ink);font-size:10px;font-weight:800}
.privacy-panel{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:clamp(35px,7vw,85px);padding:clamp(30px,6vw,70px);border-radius:18px;background:var(--privacy);color:#fff}.kicker-light{color:#9fcaff}.privacy-copy h2{max-width:520px}.privacy-copy>p:last-child{max-width:510px;margin-bottom:0;color:var(--privacy-copy);font-size:13px}.privacy-facts{display:grid;gap:0}.privacy-facts>div{display:grid;grid-template-columns:31px 1fr;column-gap:12px;padding:14px 0;border-bottom:1px solid rgba(221,237,255,.17)}.privacy-facts>div:last-child{border-bottom:0}.privacy-facts span{grid-row:span 2;color:#83b9fa;font-size:10px;font-weight:800}.privacy-facts strong{font-size:12px;font-weight:730}.privacy-facts small{color:var(--privacy-muted);font-size:10px}
.download-section{background:var(--soft)}.download-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);align-items:start;gap:clamp(32px,7vw,90px);margin-bottom:42px}.download-heading h2{max-width:540px;margin-bottom:0;font-size:clamp(34px,4.5vw,52px);font-weight:400;letter-spacing:-.05em;line-height:1.1}.download-copy p{max-width:610px;margin-bottom:18px;color:var(--copy);font-size:15px}.download-copy .text-link{display:inline-flex;align-items:center;gap:7px}.download-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--surface)}.download-facts>div{display:grid;align-content:start;gap:7px;min-height:100px;padding:20px 22px;border-right:1px solid var(--line)}.download-facts>div:last-child{border-right:0}.download-facts small{color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.download-facts strong{font-size:12px;font-weight:720}
.creator-section{background:var(--page)}.creator-panel{display:grid;grid-template-columns:minmax(200px,300px) 1fr;align-items:center;gap:clamp(32px,7vw,90px)}.creator-photo{display:block;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);background:var(--blue-soft)}.creator-photo img{width:100%;height:100%;object-fit:cover}.creator-copy{max-width:700px}.creator-copy h2{margin-bottom:14px;font-size:clamp(34px,4vw,48px);font-weight:400;letter-spacing:-.04em;line-height:1.1}.creator-copy>p:not(.kicker){max-width:640px;margin-bottom:22px;color:var(--copy);font-size:15px}.creator-copy .text-link{display:inline-flex;align-items:center;gap:7px}
.site-footer{padding-block:22px;border-top:1px solid var(--line)}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink)!important}.footer-brand img{width:30px;height:30px;border-radius:8px}.footer-brand strong{font-size:12px}.footer-row>span{color:var(--muted);font-size:10px;text-align:center}.footer-row>a:last-child{font-size:10px}.github-link{display:inline-grid;width:35px;height:30px;place-items:center;border-right:1px solid var(--line);padding-right:15px;color:var(--copy)}.github-link svg{width:17px;height:17px;fill:currentColor}.github-link:hover{color:var(--blue)}
@media(max-width:920px){.site-header{gap:16px;padding-inline:24px}.main-nav{gap:14px}.main-nav a{font-size:10px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:35px}.hero h1{font-size:clamp(42px,6vw,57px)}}
@media(max-width:740px){html{scroll-padding-top:78px}.wrap{width:min(var(--max),calc(100% - 38px))}.site-header{gap:8px;min-height:68px;padding-inline:19px}.brand{gap:8px;min-width:0}.brand img{width:34px;height:34px;flex:0 0 34px}.brand strong{font-size:14px}.brand small{display:none}.main-nav{position:absolute;top:calc(100% - 1px);right:0;left:0;display:none;align-items:stretch;gap:0;margin:0;padding:8px 19px 15px;border-bottom:1px solid var(--line);background:var(--header)}.main-nav.is-open{display:flex;flex-direction:column}.main-nav a{padding:11px 2px;border-bottom:1px solid var(--line);font-size:12px}.main-nav a:last-child{border-bottom:0}.header-actions{gap:7px;margin-left:auto}.menu-toggle{display:grid}.theme-toggle,.menu-toggle{width:34px;height:34px}.hero-grid{grid-template-columns:1fr;gap:46px;min-height:0;padding-block:70px 65px}.hero h1{max-width:590px;font-size:clamp(43px,11vw,62px)}.workflow-visual{width:min(100%,540px);margin-inline:auto}.section{padding-block:74px}.step-grid,.formats-grid{grid-template-columns:1fr}.step-card{min-height:0;padding:22px}.step-number{margin-bottom:17px}.privacy-panel{grid-template-columns:1fr;gap:30px;padding:32px 24px}.download-heading{grid-template-columns:1fr;gap:24px}.download-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.download-facts>div:nth-child(2){border-right:0}.download-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.creator-panel{grid-template-columns:1fr;gap:28px}.creator-photo{width:min(100%,320px)}.footer-row{flex-wrap:wrap;justify-content:flex-start}.footer-row>span{order:3;width:100%;text-align:left}}
@media(max-width:390px){.wrap{width:calc(100% - 30px)}.site-header{gap:6px;padding-inline:14px}.header-actions{gap:4px}.github-link{width:29px;padding-right:9px}.language-option{min-width:25px;padding-inline:4px}.theme-toggle,.menu-toggle{width:32px;height:32px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.visual-content{padding:16px}.code-card pre{font-size:9px}.privacy-panel{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Rounded corners are reserved for the language and theme controls. */
*,*::before,*::after{border-radius:0!important}
.language-switcher,.language-option{border-radius:999px!important}
.theme-toggle{border-radius:50%!important}


/* User manual */
.manual-page .skip-link{border-radius:0}
.manual-hero{padding-block:76px 64px;border-bottom:1px solid var(--line);background:var(--soft)}
.manual-hero .wrap{max-width:1000px}
.manual-hero h1{max-width:780px;margin:14px 0;font-size:clamp(3rem,6vw,5rem);line-height:.96}
.manual-intro{max-width:760px;color:var(--copy);font-size:17px}
.manual-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin:24px 0 0;color:var(--muted);font-size:12px}
.manual-meta span{display:inline-flex;gap:7px}
.manual-meta b{color:var(--ink)}
.manual-meta .manual-meta-author{flex-basis:100%}
.manual-layout{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr);align-items:start;gap:clamp(30px,6vw,84px);max-width:1100px;padding-block:66px 100px}
.manual-toc{position:sticky;top:100px;padding:20px 0;border-top:2px solid var(--ink)}
.manual-toc h2{margin:0 0 12px;font:700 11px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.manual-toc ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.manual-toc a{display:block;padding:6px 0;color:var(--muted);font-size:12px}
.manual-toc a:hover{color:var(--blue-ink)}
.manual-content>section{padding:0 0 36px;border-bottom:1px solid var(--line)}
.manual-content>section+section{padding-top:38px}
.manual-content h2{margin:0 0 16px;font:400 clamp(1.8rem,3vw,2.5rem)/1.1 var(--serif);letter-spacing:-.025em}
.manual-content h3{margin:26px 0 8px;font:700 16px/1.4 var(--sans)}
.manual-content p,.manual-content li{color:var(--copy);font-size:14px;line-height:1.8}
.manual-content ul,.manual-content ol{padding-left:22px}
.manual-content a:not(.button){color:var(--blue-ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.manual-note{margin:20px 0;padding:16px 18px;border-left:3px solid var(--blue);background:var(--blue-soft);color:var(--copy);font-size:13px}
.manual-code{overflow-x:auto;margin:12px 0 20px;padding:14px 16px;border:1px solid var(--line);background:var(--soft);color:var(--ink);font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}
.manual-shot{margin:22px 0 0;break-inside:avoid;page-break-inside:avoid}
.manual-shot-box{display:grid;min-height:150px;place-items:center;padding:22px;border:1px dashed var(--blue);background:var(--soft);text-align:center}
.manual-shot-box span{max-width:58ch;color:var(--copy);font-size:13px;line-height:1.75}
.manual-shot .manual-shot-placeholder{box-sizing:border-box;aspect-ratio:16/10;min-height:150px;align-content:center;justify-items:center;gap:8px;padding:clamp(18px,3vw,28px)}
.manual-shot .manual-shot-placeholder>*{width:100%;max-width:60ch}
.manual-shot .manual-shot-label{color:var(--ink);font-size:14px;font-weight:700}
.manual-shot .manual-shot-description{color:var(--copy);font-size:13px;line-height:1.65}
.manual-shot .manual-shot-alt{color:var(--muted);font-size:11px;line-height:1.55}
.manual-shot img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.manual-shot figcaption{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.5}
.manual-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:22px 0;border-top:1px solid var(--line)}
.manual-facts>div{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}
.manual-facts dt{color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.manual-facts dd{margin:0;color:var(--copy);font-size:13px}
.manual-print-note{margin-top:28px;color:var(--muted)!important;font-size:12px!important}
.manual-page .main-nav a[aria-current="page"]{color:var(--blue-ink)}
@media(max-width:740px){
  .manual-hero{padding-block:48px 38px}
  .manual-hero h1{font-size:clamp(2.7rem,11vw,3.6rem)}
  .manual-intro{font-size:15px}
  .manual-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:40px 70px}
  .manual-toc,.manual-content{min-width:0}
  .manual-toc{position:static;padding:15px 0}
  .manual-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
  .manual-content h2{font-size:2rem}
  .manual-facts{grid-template-columns:1fr}
  .manual-meta .manual-meta-author{display:block}
  .manual-meta .manual-meta-author b{margin-right:7px}
  .manual-content p code,.manual-content li code{overflow-wrap:anywhere}
  .manual-shot .manual-shot-placeholder{min-height:145px;padding:18px}
  .manual-shot .manual-shot-label{font-size:13px}
  .manual-shot .manual-shot-description{font-size:12px}
  .manual-shot .manual-shot-alt{font-size:10px}
}
@media print{
  @page{size:A4;margin:16mm 14mm}
  body.manual-page{background:#fff!important;color:#111!important}
  body.manual-page .site-header,body.manual-page .manual-toc,body.manual-page .site-footer,body.manual-page .manual-print-note{display:none!important}
  body.manual-page .manual-hero{padding:0 0 8mm;border:0;background:#fff!important}
  body.manual-page .manual-hero .wrap,body.manual-page .manual-layout{width:100%;max-width:none}
  body.manual-page .manual-hero h1{margin-top:0;color:#111;font-size:30pt}
  body.manual-page .manual-intro,body.manual-page .manual-meta,body.manual-page .manual-content p,body.manual-page .manual-content li,body.manual-page .manual-facts dd{color:#222!important}
  body.manual-page .manual-layout{display:block;padding:0}
  body.manual-page .manual-content>section{padding:0 0 8mm;border-color:#bbb}
  body.manual-page .manual-content>section+section{padding-top:8mm}
  body.manual-page .manual-content h2,body.manual-page .manual-content h3{color:#111;break-after:avoid;page-break-after:avoid}
  body.manual-page .manual-facts,body.manual-page .manual-facts>div,body.manual-page .manual-note,body.manual-page .manual-code,body.manual-page .manual-shot-placeholder{break-inside:avoid;page-break-inside:avoid}
  body.manual-page .manual-shot-placeholder{background:#fff;border-color:#777;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body.manual-page .manual-content a:not(.button){color:#111}
  body.manual-page .manual-code{overflow-wrap:anywhere;white-space:pre-wrap}
  body.manual-page p,body.manual-page li{orphans:3;widows:3}
}
