@layer tokens,base,layout,components,content,ads,utilities;@layer tokens{:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Arabic", "Segoe UI Arabic", sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--text-xs: .75rem;--text-s: .875rem;--text-m: 1rem;--text-l: 1.25rem;--text-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);--text-2xl: clamp(1.9rem, 1.4rem + 2.2vw, 2.6rem);--leading: 1.6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-s: 6px;--radius-m: 10px;--radius-l: 16px;--shadow-1: 0 1px 2px rgb(15 23 42 / .06), 0 1px 3px rgb(15 23 42 / .08);--shadow-2: 0 4px 12px rgb(15 23 42 / .1), 0 2px 4px rgb(15 23 42 / .06);--container: 68rem;--gutter: clamp(1rem, 4vw, 2rem);--z-header: 40;--z-overlay: 90;--z-toast: 100;color-scheme:light;--bg: #f6f8fb;--bg-soft: #eef2f7;--surface: #ffffff;--surface-2: #f8fafc;--text: #0f172a;--text-muted: #52607a;--border: #dde5ef;--border-strong: #b9c8d8;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-contrast: #ffffff;--accent-soft: #eaf1fe;--success: #047857;--success-soft: #e7f6f0;--warn: #b45309;--warn-soft: #fdf3e3;--danger: #be123c;--danger-soft: #fdeef2;--focus-ring: #2563eb}[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--bg-soft: #0e1729;--surface: #121d31;--surface-2: #16233a;--text: #e4eaf3;--text-muted: #97a4bb;--border: #233349;--border-strong: #33455f;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-contrast: #08101f;--accent-soft: #14263f;--success: #34d399;--success-soft: #0c2b22;--warn: #fbbf24;--warn-soft: #33260a;--danger: #fb7185;--danger-soft: #33121c;--focus-ring: #3b82f6}}@layer base{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-m);line-height:var(--leading);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}main{flex:1;width:100%}h1,h2,h3,h4{line-height:1.25;font-weight:700;text-wrap:balance;overflow-wrap:anywhere}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-l)}p{overflow-wrap:anywhere}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent)}img,svg,video{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-s)}::selection{background:var(--accent);color:var(--accent-contrast)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer utilities{.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;inset-inline-start:var(--space-4);inset-block-start:-100%;z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-s);box-shadow:var(--shadow-2);transition:inset-block-start .12s ease}.skip-link:focus{inset-block-start:var(--space-2);color:var(--text)}[dir=rtl] .flip-rtl{transform:scaleX(-1)}}@layer layout{.container{width:min(var(--container),100% - var(--gutter) * 2);margin-inline:auto}.site-header{border-block-end:1px solid var(--border);background:var(--surface)}.site-header .container{width:min(80rem,100% - var(--gutter) * 2)}.header-inner{display:flex;align-items:center;gap:var(--space-4);min-height:3.5rem;padding-block:var(--space-2)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--text-l);text-decoration:none;color:var(--text)}.brand:hover{color:var(--text)}.brand svg{inline-size:1.5rem;block-size:1.5rem;color:var(--accent)}.bn-short{display:none}.header-nav{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:1 1 auto;min-inline-size:0}.header-nav nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);flex:0 1 auto;min-inline-size:0}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.lang-list{white-space:nowrap}.header-search{display:flex;align-items:center;gap:var(--space-2);flex:0 1 12rem;min-inline-size:0;color:var(--text-muted)}.header-search input{flex:1;min-inline-size:0;padding:var(--space-1) var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface);font:inherit;font-size:var(--text-s);color:var(--text)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;inline-size:2.5rem;block-size:2.5rem;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--surface);color:var(--text)}.icon-btn:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.menu{position:relative}.menu>summary{list-style:none;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);font-size:var(--text-s);font-weight:600;color:var(--text-muted);cursor:pointer}.menu>summary::-webkit-details-marker{display:none}.menu>summary:hover{background:var(--surface-2);color:var(--text)}.menu[open]>summary{background:var(--surface-2);color:var(--text)}.menu-panel{position:absolute;inset-inline-start:0;inset-block-start:calc(100% + var(--space-2));z-index:var(--z-header);min-inline-size:16rem;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.menu-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.menu-panel a{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);text-decoration:none;font-size:var(--text-s);font-weight:500}.menu-panel a:hover{background:var(--accent-soft);color:var(--text)}.menu-panel a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}[data-theme=dark] .menu-panel a[aria-current=page]{color:var(--accent-hover)}.menu-tool-icon{color:var(--accent);flex-shrink:0}.menu-blurb{padding:var(--space-2) var(--space-3);font-size:var(--text-s);color:var(--text-muted)}.lang-list{display:flex;gap:var(--space-1)}.lang-list a{padding:var(--space-1) var(--space-2);border-radius:var(--radius-s);font-size:var(--text-s);font-weight:600;text-decoration:none;color:var(--text-muted)}.lang-list a:hover{background:var(--surface-2);color:var(--text)}.lang-list a[aria-current=true]{background:var(--accent);color:var(--accent-contrast)}.site-footer{margin-block-start:var(--space-8);border-block-start:1px solid var(--border);background:var(--surface);font-size:var(--text-s)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-6);padding-block:var(--space-6)}.footer-grid h2,.footer-grid h3{font-size:var(--text-s);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-block-end:var(--space-3)}.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.footer-grid a{text-decoration:none;color:var(--text-muted)}.footer-grid a:hover{color:var(--text)}.footer-bottom{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;padding-block:var(--space-4);border-block-start:1px solid var(--border);color:var(--text-muted)}.lang-banner{position:fixed;inset-block-end:var(--space-4);inset-inline-start:var(--space-4);z-index:var(--z-toast);display:none;align-items:center;gap:var(--space-3);max-inline-size:min(26rem,calc(100vw - 2rem));padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-2);font-size:var(--text-s)}.lang-banner[data-show=true]{display:flex}.lang-banner a{flex-shrink:0;font-weight:600}.lang-banner .icon-btn{inline-size:2rem;block-size:2rem;border:none;flex-shrink:0}@media(max-width:500px){.bn-full{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.bn-short{display:inline}.header-inner{gap:var(--space-2)}}.home-head{padding-block:var(--space-6) var(--space-4);text-align:center}.home-head h1{font-size:var(--text-xl)}.home-head-sub{margin-block-start:var(--space-2);color:var(--text-muted);font-size:var(--text-m)}.home-section{padding-block:var(--space-5)}.home-section>h2{margin-block-end:var(--space-2)}.section-blurb{color:var(--text-muted);margin-block-end:var(--space-5);max-inline-size:44rem}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-4)}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--space-4)}.why-icon{color:var(--accent);margin-block-end:var(--space-3)}.why-card h3{font-size:var(--text-m);margin-block-end:var(--space-2)}.why-card p{font-size:var(--text-s);color:var(--text-muted)}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-m);font-weight:600;font-size:var(--text-m);text-decoration:none;border:1px solid transparent;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-contrast)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-2);color:var(--text);border-color:var(--accent)}.btn-ghost{color:var(--text-muted);padding:var(--space-2) var(--space-3)}.btn-ghost:hover{color:var(--text);background:var(--surface-2)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-s);border-radius:var(--radius-s)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-1)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:var(--text-s);font-weight:500;color:var(--text-muted)}.chip svg{inline-size:1rem;block-size:1rem;color:var(--success);flex-shrink:0}.tool-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-5);text-decoration:none;transition:border-color .12s ease,box-shadow .12s ease}.tool-card:hover{border-color:var(--accent);box-shadow:var(--shadow-2);color:var(--text)}.tool-icon-chip{display:grid;place-items:center;inline-size:3rem;block-size:3rem;border-radius:var(--radius-m);background:var(--accent-soft);color:var(--accent)}.tool-card h3{font-size:var(--text-m)}.tool-card p{font-size:var(--text-s);color:var(--text-muted)}.tool-card-arrow{position:absolute;inset-inline-end:var(--space-4);inset-block-start:var(--space-5);color:var(--border-strong);transition:color .12s ease,transform .12s ease}.tool-card:hover .tool-card-arrow{color:var(--accent);transform:translate(2px)}[dir=rtl] .tool-card:hover .tool-card-arrow{transform:translate(-2px)}.why-card{padding:var(--space-5)}}@layer components{.tool-card-main{padding:var(--space-5);display:grid;gap:var(--space-4)}.dropzone{position:relative;display:grid;place-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);text-align:center;border:2px dashed var(--border-strong);border-radius:var(--radius-l);background:var(--surface-2);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.dropzone:hover,.dropzone:focus-visible{border-color:var(--accent)}.dropzone.drag-over{border-color:var(--accent);background:var(--accent-soft)}.dropzone svg{inline-size:2.5rem;block-size:2.5rem;color:var(--accent)}.dropzone-title{font-size:var(--text-l);font-weight:700}.dropzone-hint{font-size:var(--text-s);color:var(--text-muted)}.dropzone-paste{font-size:var(--text-xs);color:var(--text-muted)}.dropzone.dropzone-compact{padding:var(--space-4);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);text-align:start}.dropzone-compact svg{inline-size:1.5rem;block-size:1.5rem}.dropzone-compact .dropzone-title{font-size:var(--text-s);font-weight:600}.dropzone-compact .dropzone-hint,.dropzone-compact .dropzone-paste{display:none}.dropzone-compact .btn{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.dropzone-compact .btn:hover{border-color:var(--accent);background:var(--surface-2)}.drag-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(2px);pointer-events:none}.drag-overlay-inner{padding:var(--space-7) var(--space-8);border:2px dashed var(--accent);border-radius:var(--radius-l);background:var(--surface);color:var(--accent);font-size:var(--text-l);font-weight:700;box-shadow:var(--shadow-2)}.file-list{display:grid;gap:var(--space-2)}.file-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.file-row-invalid{border-color:var(--danger);background:var(--danger-soft)}.file-icon{inline-size:2rem;block-size:2rem;flex-shrink:0;color:var(--accent)}.file-meta{min-inline-size:0;flex:1;display:grid;gap:2px}.file-name{font-weight:600;font-size:var(--text-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:var(--text-xs);color:var(--text-muted)}.file-error{font-size:var(--text-xs);color:var(--danger)}.file-actions{display:flex;gap:var(--space-1);flex-shrink:0}.file-actions .icon-btn{inline-size:2.5rem;block-size:2.5rem;border:none;background:transparent;color:var(--text-muted)}.file-actions .icon-btn:hover{background:var(--surface-2);color:var(--text)}.file-actions .icon-btn:disabled{opacity:.35;cursor:default}.file-list-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.file-count{font-size:var(--text-s);font-weight:600}.order-hint{font-size:var(--text-xs);color:var(--text-muted)}.options-panel{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2)}.options-panel h3{font-size:var(--text-m)}.option-field{display:grid;gap:var(--space-1)}.option-field label{font-size:var(--text-s);font-weight:600}.option-help,.option-feedback{font-size:var(--text-xs);color:var(--text-muted)}.option-feedback.is-error{color:var(--danger);font-weight:600}.option-field select,.option-field input[type=text],.option-field input[type=number],.option-field input[type=password]{padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface);max-inline-size:24rem}.progress-card{display:grid;gap:var(--space-3);padding:var(--space-5);text-align:center}.progress-title{font-size:var(--text-l);font-weight:700}.progress-track{inline-size:min(24rem,100%);block-size:.5rem;margin-inline:auto;border-radius:999px;background:var(--bg-soft);border:1px solid var(--border);overflow:hidden}.progress-fill{block-size:100%;inline-size:0%;border-radius:inherit;background:var(--accent);transition:inline-size .15s ease}.progress-label{font-size:var(--text-s);color:var(--text-muted)}.local-notice{display:inline-flex;align-items:center;gap:var(--space-2);justify-self:center;font-size:var(--text-s);color:var(--text-muted)}.local-notice svg{inline-size:1rem;block-size:1rem;color:var(--success)}.result-card{display:grid;gap:var(--space-3);padding:var(--space-5);text-align:center;border-color:var(--success)}.result-ready{font-size:var(--text-xl);font-weight:800;color:var(--success)}.result-file{display:grid;gap:var(--space-1);justify-items:center}.result-name{font-weight:700}.result-meta{font-size:var(--text-s);color:var(--text-muted)}.result-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-block-start:var(--space-2)}.handoff-banner{display:flex;align-items:center;gap:var(--space-2);margin-block-end:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius-m);background:var(--accent-soft);font-size:var(--text-s)}.handoff-banner>svg{color:var(--accent);flex-shrink:0}.handoff-banner p{flex:1;margin:0;font-weight:500}.handoff-banner .icon-btn{inline-size:2rem;block-size:2rem;flex-shrink:0}.next-step-card{margin-block-start:var(--space-4);padding:var(--space-4) var(--space-5);display:grid;gap:var(--space-2);justify-items:start}.next-step-title{margin:0;font-size:var(--text-s);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.next-step-blurb{margin:0}.next-step-carried{margin:0;font-size:var(--text-s);color:var(--success);display:inline-flex;align-items:center;gap:var(--space-1)}.next-step-card .btn{margin-block-start:var(--space-1)}.nudge-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-block-start:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-2);font-size:var(--text-s)}.nudge-banner>svg{color:var(--accent);flex-shrink:0}.nudge-banner p{flex:1 1 14rem;margin:0;color:var(--text-muted)}.nudge-actions{display:flex;gap:var(--space-2)}.sticky-cta{position:fixed;inset-block-end:0;inset-inline:0;z-index:var(--z-header);display:none;justify-content:center;padding:var(--space-3) var(--space-4);padding-block-end:calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--surface);border-block-start:1px solid var(--border);box-shadow:var(--shadow-2)}@media(max-width:720px){.sticky-cta{display:flex}}.sticky-cta .btn{min-inline-size:min(100%,22rem)}.error-card{padding:var(--space-4) var(--space-5);border:1px solid var(--danger);border-radius:var(--radius-m);background:var(--danger-soft);display:grid;gap:var(--space-2);justify-items:start}.error-card p{color:var(--text)}.error-card .btn{margin-inline-start:auto}.toast-stack{position:fixed;inset-block-end:var(--space-4);inset-inline:var(--space-4);z-index:var(--z-toast);display:grid;gap:var(--space-2);justify-items:center;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:var(--space-2);max-inline-size:32rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-2);font-size:var(--text-s)}.toast-message{flex:1}.toast-action{color:var(--accent);font-weight:700;white-space:nowrap}[data-theme=dark] .toast-action{color:var(--accent-hover)}.toast-error{border-color:var(--danger);background:var(--danger-soft)}.page-grid-wrap{display:grid;gap:var(--space-3)}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.page-toolbar-actions{display:flex;gap:var(--space-1)}.page-warn{font-size:var(--text-xs);color:var(--warn)}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:var(--space-3);touch-action:pan-y}.page-card{position:relative;display:grid;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);transition:border-color .12s ease,opacity .12s ease,transform .12s ease;user-select:none;-webkit-touch-callout:none}.page-card-excluded{opacity:.45;border-style:dashed}.page-card-excluded .page-thumb{filter:grayscale(1)}.page-card-marked{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.page-card-marked .page-thumb{filter:grayscale(.6)}.page-dragging{opacity:.85;border-color:var(--accent);box-shadow:var(--shadow-2);transform:scale(1.03);pointer-events:none;z-index:2}.page-drag-ghost{position:fixed;z-index:calc(var(--z-toast) + 1);pointer-events:none;margin:0;border-color:var(--accent);box-shadow:var(--shadow-2);background:var(--surface);opacity:.95}.page-drag-source{opacity:.3;border-style:dashed}body.page-dragging-cursor,body.page-dragging-cursor *{cursor:url(/cursors/move-active.svg) 12 12,grabbing!important}.page-zoom-btn{display:block;position:relative;padding:0;border:none;background:none;cursor:url(/cursors/zoom-in.svg) 10 10,zoom-in;border-radius:var(--radius-s)}.page-rotate-badge{position:absolute;inset-block-start:var(--space-1);inset-inline-end:var(--space-1);padding:.05rem .4rem;font-size:var(--text-xs);font-weight:700;border-radius:999px;color:var(--surface);background:var(--accent)}.page-zoom-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.zoom-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:grid;place-items:center;padding:var(--space-5);background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(2px)}.zoom-dialog{display:grid;gap:var(--space-2);padding:var(--space-3);max-inline-size:min(92vw,62rem);max-block-size:88vh}.zoom-body{display:grid;place-items:center;min-block-size:12rem;overflow:auto}.zoom-canvas{max-inline-size:100%;max-block-size:72vh;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--bg-soft)}.zoom-loading{color:var(--text-muted);font-size:var(--text-s);padding:var(--space-7)}.zoom-caption{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-s);color:var(--text-muted);overflow-wrap:anywhere}.page-thumb{inline-size:100%;aspect-ratio:3 / 4;object-fit:contain;border-radius:var(--radius-s);background:var(--bg-soft);border:1px solid var(--border)}.page-thumb-empty{background:repeating-linear-gradient(45deg,var(--bg-soft),var(--bg-soft) 8px,var(--surface-2) 8px,var(--surface-2) 16px)}.page-skeleton .page-thumb-empty{animation:page-pulse 1.2s ease-in-out infinite}@keyframes page-pulse{0%,to{opacity:.5}50%{opacity:1}}.page-grip{position:absolute;inset-block-start:var(--space-1);inset-inline-start:var(--space-1);z-index:1;display:grid;place-items:center;inline-size:1.75rem;block-size:1.75rem;border-radius:var(--radius-s);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);cursor:url(/cursors/move.svg) 12 12,grab;touch-action:none}.page-grip:hover{border-color:var(--accent);color:var(--accent)}.page-actions{position:absolute;inset-block-start:var(--space-1);inset-inline-end:var(--space-1);z-index:1;display:flex;gap:var(--space-1)}.page-actions .icon-btn{inline-size:1.75rem;block-size:1.75rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted)}.page-actions .icon-btn:hover{border-color:var(--accent);color:var(--accent)}.page-meta{display:grid;gap:1px;font-size:var(--text-xs);min-inline-size:0}.page-check{display:flex;align-items:center;gap:var(--space-1);font-weight:600;cursor:pointer}.page-check input{accent-color:var(--accent);inline-size:1rem;block-size:1rem}.page-file{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(pointer:coarse){.page-grip,.page-actions .icon-btn{inline-size:2.5rem;block-size:2.5rem}.page-actions{gap:var(--space-1)}.page-check{padding-block:var(--space-2)}.page-check input{inline-size:1.375rem;block-size:1.375rem}}.sticky-mobile-cta{position:sticky;inset-block-end:var(--space-2);display:none}@media(max-width:640px){.sticky-mobile-cta[data-visible=true]{display:block}.sticky-mobile-cta .btn{inline-size:100%}}}@layer content{.breadcrumbs{padding-block:var(--space-4);font-size:var(--text-s);color:var(--text-muted)}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.breadcrumbs li{display:flex;align-items:center;gap:var(--space-2)}.breadcrumbs li+li:before{content:"/";color:var(--border-strong)}.breadcrumbs a{color:var(--text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--text)}.breadcrumbs [aria-current=page]{color:var(--text);font-weight:600}.tool-head{padding-block:var(--space-4) var(--space-5)}.tool-head h1{margin-block-end:var(--space-2)}.tool-head .value-prop{font-size:var(--text-l);color:var(--text-muted)}.trust-strip{display:flex;flex-wrap:wrap;gap:var(--space-3);padding-block:var(--space-5)}.content-section{padding-block:var(--space-5)}.content-section>h2{margin-block-end:var(--space-4)}.content-collapse>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);cursor:pointer}.content-collapse>summary::-webkit-details-marker{display:none}.content-collapse>summary h2{margin-block-end:0}.content-collapse>summary svg{color:var(--text-muted);flex-shrink:0;transition:transform .15s ease}.content-collapse[open]>summary svg{transform:rotate(180deg)}.content-collapse .content-body{padding-block-start:var(--space-4)}@media(max-width:640px){.breadcrumbs{display:none}.tool-head{padding-block:var(--space-3) var(--space-4)}.tool-head h1{font-size:var(--text-l)}.tool-head .value-prop{display:none}.trust-strip{padding-block:var(--space-4);gap:var(--space-2)}.chip{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);gap:var(--space-1)}.content-section{padding-block:var(--space-3)}.content-collapse>summary{padding-block:var(--space-2)}.content-collapse>summary h2{font-size:var(--text-l)}.home-head{padding-block:var(--space-4) var(--space-2)}.home-head h1{font-size:var(--text-l)}.home-head-sub{display:none}body.has-ad-anchor{padding-block-end:72px}body.has-ad-anchor .lang-banner{inset-block-end:calc(var(--space-4) + 72px)}}.steps{list-style:none;margin:0;padding:0;counter-reset:step;display:grid;gap:var(--space-4)}.steps li{counter-increment:step;display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start}.steps li:before{content:counter(step);display:grid;place-items:center;inline-size:2rem;block-size:2rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:var(--text-s)}.steps h3{font-size:var(--text-m);margin-block-end:var(--space-1)}.steps p{color:var(--text-muted);font-size:var(--text-s)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-4)}.feature-grid h3{font-size:var(--text-m);margin-block-end:var(--space-1)}.feature-grid p{color:var(--text-muted);font-size:var(--text-s)}.feature-grid>div{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface)}.tips-list{margin:0;padding-inline-start:1.2rem;display:grid;gap:var(--space-2);color:var(--text-muted)}.faq-list{display:grid;gap:var(--space-2)}.faq-list details{border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface);padding:var(--space-3) var(--space-4)}.faq-list summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--space-3);align-items:center}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-size:var(--text-l);color:var(--text-muted);flex-shrink:0}.faq-list details[open] summary:after{content:"−"}.faq-list details>p{margin-block-start:var(--space-2);color:var(--text-muted);font-size:var(--text-s)}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-4)}.prose{max-inline-size:46rem}.prose>*+*{margin-block-start:var(--space-4)}.prose h2{margin-block-start:var(--space-6)}.prose h3{margin-block-start:var(--space-5)}.prose ul,.prose ol{padding-inline-start:1.4rem}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-soft);padding:.1em .35em;border-radius:var(--radius-s)}.blog-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-5)}.blog-list h2{margin-block-end:var(--space-1)}.blog-item-desc{color:var(--text-muted);font-size:var(--text-m);margin:0}.notfound{padding-block:var(--space-8);text-align:center;display:grid;gap:var(--space-4);justify-items:center}.notfound h1{font-size:var(--text-2xl)}.notfound p{color:var(--text-muted);max-inline-size:34rem}}@layer ads{.ad-label{font-size:var(--text-xs);color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.06em;margin-block-end:var(--space-2)}.ad-slot-a{margin-block:6rem var(--space-6);min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center}.ad-slot-a .ad-unit{min-width:300px;min-height:250px;inline-size:100%;max-inline-size:970px}.ad-rail{display:none}@media(min-width:1200px){.has-ad-rail{padding-inline-end:calc(300px + var(--space-5))}.ad-rail{display:block;position:fixed;inset-inline-end:var(--space-4);inset-block-start:6rem;inline-size:300px;min-height:600px;z-index:1}}.ad-anchor-container{position:fixed;inset-block-end:0;inset-inline:0;z-index:var(--z-header);min-height:60px;background:var(--surface);border-block-start:1px solid var(--border);padding-block-end:env(safe-area-inset-bottom,0px);text-align:center}.ad-anchor-container .ad-label{display:block;margin-block:var(--space-1) 0}.ad-anchor-container .ad-unit{inline-size:100%;min-block-size:50px}.ad-rail .ad-unit{inline-size:300px;block-size:600px}.ad-placeholder .ad-unit{display:grid;place-items:center;gap:var(--space-1);inline-size:100%;min-height:inherit;border:1px dashed var(--border-strong);border-radius:var(--radius-m);background:var(--bg-soft);text-align:center}.ad-placeholder .ad-label{margin-block-end:0}.ad-placeholder-note{font-size:var(--text-s);color:var(--text-muted)}.ad-placeholder-size{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.ad-slot-rail.ad-placeholder{position:fixed;inset-inline-end:var(--space-4);inset-block-start:6rem;inline-size:300px;min-height:600px;z-index:1}.ad-slot-anchor.ad-placeholder{position:fixed;inset-block-end:0;inset-inline:0;z-index:var(--z-header);min-height:64px;display:none;background:var(--surface);border-block-start:1px dashed var(--border-strong)}.ad-slot-anchor.ad-placeholder .ad-unit{min-height:64px;border:none;background:transparent}@media(max-width:640px){.ad-slot-anchor.ad-placeholder{display:block}}@media(min-width:1200px){.ad-slot-rail.ad-placeholder{display:block}}@media(max-width:1199px){.ad-slot-rail.ad-placeholder{display:none}}}#theme-toggle[data-astro-cid-6n5zmev5]{position:relative}#theme-toggle[data-astro-cid-6n5zmev5] svg{position:absolute;inset:0;margin:auto;transition:opacity .12s ease}html[data-theme-pref=light] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-light,html[data-theme-pref=dark] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-dark,html[data-theme-pref=system] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-system,#theme-toggle[data-astro-cid-6n5zmev5]:not([data-pref=light]):not([data-pref=dark]) .theme-icon-system{opacity:1}html[data-theme-pref=light] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-dark,html[data-theme-pref=light] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-system,html[data-theme-pref=dark] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-light,html[data-theme-pref=dark] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-system,html[data-theme-pref=system] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-light,html[data-theme-pref=system] #theme-toggle[data-astro-cid-6n5zmev5] .theme-icon-dark{opacity:0}.bookmark-star-wrap[data-astro-cid-kyfl2idy]{position:relative;display:inline-flex}.star-tip[data-astro-cid-kyfl2idy]{position:absolute;inset-block-start:calc(100% + var(--space-1));inset-inline-end:0;z-index:var(--z-header);inline-size:max-content;max-inline-size:16rem;padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-s);background:var(--surface);box-shadow:var(--shadow-2);font-size:var(--text-s)}@media(max-width:500px){#bookmark-star[data-astro-cid-kyfl2idy]{display:none}}.header-search[data-astro-cid-2tirt7id]{position:relative;display:none;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-2)}.header-search[data-astro-cid-2tirt7id]:focus-within{border-color:var(--accent);background:var(--surface)}.header-search[data-astro-cid-2tirt7id]>svg[data-astro-cid-2tirt7id]{color:var(--text-muted);flex-shrink:0}.header-search[data-astro-cid-2tirt7id] input[data-astro-cid-2tirt7id]{border:none;background:transparent;inline-size:9.5rem;font-size:var(--text-s);color:var(--text)}.header-search[data-astro-cid-2tirt7id] input[data-astro-cid-2tirt7id]:focus{outline:none}.header-search[data-astro-cid-2tirt7id] input[data-astro-cid-2tirt7id]::-webkit-search-cancel-button{-webkit-appearance:none}.search-results[data-astro-cid-2tirt7id]{position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-end:0;z-index:var(--z-header);min-inline-size:16rem;max-block-size:18rem;overflow-y:auto;margin:0;padding:var(--space-2);list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow-2)}.search-results[data-astro-cid-2tirt7id] [data-astro-cid-2tirt7id][role=option]{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);font-size:var(--text-s);font-weight:500;cursor:pointer}.search-results[data-astro-cid-2tirt7id] [data-astro-cid-2tirt7id][role=option]:hover,.search-results[data-astro-cid-2tirt7id] [data-astro-cid-2tirt7id][role=option][aria-selected=true]{background:var(--accent-soft);color:var(--text)}.search-empty[data-astro-cid-2tirt7id]{padding:var(--space-2) var(--space-3);font-size:var(--text-s);color:var(--text-muted)}@media(min-width:900px){.header-search[data-astro-cid-2tirt7id]{display:flex}}
