@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-tracking:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"Be Vietnam Pro", "Be Vietnam Pro Fallback", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, "Noto Sans Arabic", "Noto Sans Devanagari", "Noto Sans CJK SC", "Noto Sans CJK JP", "Noto Sans CJK KR", sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-xl:36rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-normal:1.5;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Be Vietnam Pro", "Be Vietnam Pro Fallback", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, "Noto Sans Arabic", "Noto Sans Devanagari", "Noto Sans CJK SC", "Noto Sans CJK JP", "Noto Sans CJK KR", sans-serif;--default-mono-font-family:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--color-accent:var(--accent-soft)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);text-rendering:optimizelegibility;font-synthesis-weight:none;-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;display:flex}main{flex:1 0 auto}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}a{color:var(--accent-text);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}h1,h2,h3{line-height:var(--lh-heading);letter-spacing:var(--track-snug);text-wrap:balance;font-weight:700}::selection{background:var(--accent-soft);color:var(--fg)}img,svg{display:block}button,input,select,textarea{font:inherit;color:inherit}kbd{font-family:var(--font-mono)}}@layer components{.container-page{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:1rem}@media (min-width:40rem){.container-page{padding-inline:1.5rem}}@media (min-width:80rem){.container-page{padding-inline:2rem}}.container-prose{max-width:46rem}.section{padding-block:var(--section-y)}.section-tight{padding-block:clamp(2rem,1.5rem + 2.5vw,3.5rem)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.5rem 1.5rem;margin-block-end:1.75rem;display:flex}.section-title{font-size:var(--fs-2xl);letter-spacing:var(--track-snug);margin:0;font-weight:700}.section-lead{color:var(--fg-muted);max-width:38rem;margin:.5rem 0 0}.cv-auto{content-visibility:auto;contain-intrinsic-size:auto 38rem}.aurora{isolation:isolate;position:relative}.aurora:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse 55% 130% at 10% 0%, var(--glow), transparent 72%), radial-gradient(ellipse 50% 120% at 92% 0%, var(--grad-b), transparent 72%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.aurora:before{background:radial-gradient(ellipse 55% 130% at 10% 0%, var(--glow), transparent 72%), radial-gradient(ellipse 50% 120% at 92% 0%, color-mix(in srgb, var(--grad-b) 16%, transparent), transparent 72%)}}.aurora:before{-webkit-mask-image:linear-gradient(#000 45%,#0000);mask-image:linear-gradient(#000 45%,#0000)}@supports (background:color-mix(in srgb, red, blue)){.aurora:before{background:radial-gradient(ellipse 55% 130% at 10% 0%, color-mix(in srgb, var(--grad-a) 22%, transparent), transparent 72%), radial-gradient(ellipse 50% 120% at 92% 0%, color-mix(in srgb, var(--grad-b) 18%, transparent), transparent 72%)}}.grid-texture:after{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.55;background-size:3rem 3rem;position:absolute;inset:0;-webkit-mask-image:radial-gradient(65% 90% at 50% 0,#000,#0000 80%);mask-image:radial-gradient(65% 90% at 50% 0,#000,#0000 80%)}.skip-link{z-index:100;background:var(--surface);color:var(--fg);border:2px solid var(--accent);border-radius:var(--r-sm);inset-inline-start:.5rem;padding:.6rem 1rem;font-weight:600;position:absolute;top:-4rem}.skip-link:focus{top:.5rem}.logo{color:var(--fg);align-items:center;gap:.65rem;display:inline-flex}.logo-mark{flex:none;place-items:center;display:inline-grid}.logo-mark img{display:block}.logo-word{letter-spacing:-.03em;font-size:1.25rem;font-weight:700}.site-header{z-index:40;background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--bg) 82%, transparent)}}.site-header{-webkit-backdrop-filter:saturate(1.6)blur(14px);border-block-end:1px solid var(--line)}.site-header-inner{min-height:var(--header-h);align-items:center;gap:.5rem;display:flex;position:relative}.nav-link,.menu>summary{border-radius:var(--r-sm);min-height:2.75rem;color:var(--fg);font-weight:600;font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:.35rem;padding-inline:.85rem;text-decoration:none;list-style:none;transition:background-color .15s;display:inline-flex}.menu>summary::-webkit-details-marker{display:none}.nav-link:hover,.menu>summary:hover,.menu[open]>summary,.nav-link[aria-current=page]{background:var(--surface2);text-decoration:none}.menu>summary .chev{transition:transform .2s var(--ease)}.menu[open]>summary .chev{transform:rotate(180deg)}.mega{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);inline-size:min(100% - 3rem,56rem);box-shadow:var(--elev-lg);animation:pop-in .18s var(--ease);grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 2rem;padding:1.25rem;display:grid;position:absolute;inset-block-start:calc(100% - .25rem);inset-inline-start:1.5rem}.mega-col{align-content:start;gap:.25rem;min-inline-size:0;display:grid}.mega-title{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);align-items:center;gap:.5rem;margin:0 0 .25rem;padding-inline:.5rem;font-weight:700;display:flex}.mega-item{border-radius:var(--r-sm);color:var(--fg);align-items:flex-start;gap:.75rem;padding:.55rem .5rem;text-decoration:none;display:flex}.mega-item:hover{background:var(--surface2);text-decoration:none}.mega-item .icon-tile{border-radius:.7rem;flex:none;block-size:2.25rem;inline-size:2.25rem}.mega-item strong{font-weight:600;font-size:var(--fs-sm);line-height:1.3;display:block}.mega-item span.sub{color:var(--fg-muted);font-size:var(--fs-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.mega-foot{border-block-start:1px solid var(--line);font-size:var(--fs-sm);grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .5rem 0;display:flex}.mega-foot a{font-weight:600}.search-pill{border-radius:var(--r-sm);min-height:2.75rem;inline-size:2.75rem;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.6rem;padding:0;transition:border-color .15s,background-color .15s;display:inline-flex}.search-pill:hover{background:var(--surface2)}.search-pill .search-label,.search-pill kbd{display:none}@media (min-width:48rem){.search-pill{background:var(--surface);border-color:var(--line);border-radius:var(--r-pill);inline-size:15rem;box-shadow:var(--elev-sm);justify-content:flex-start;padding-inline:.8rem .5rem}.search-pill:hover{border-color:var(--line-strong);background:var(--surface)}.search-pill .search-label{text-align:start;font-size:var(--fs-sm);flex:1;display:inline}.search-pill kbd{display:inline-block}}kbd.key{text-align:center;border:1px solid var(--line);background:var(--surface2);min-inline-size:2.6rem;color:var(--fg-muted);border-radius:.45rem;padding:.1rem .4rem;font-size:.72rem;line-height:1.5}.lang-menu{position:relative}.lang-menu>summary{cursor:pointer;border-radius:var(--r-sm);min-height:2.75rem;font-weight:600;font-size:var(--fs-sm);color:var(--fg-muted);align-items:center;gap:.4rem;padding-inline:.6rem;list-style:none;display:inline-flex}.lang-menu>summary::-webkit-details-marker{display:none}.lang-menu>summary:hover,.lang-menu[open]>summary{background:var(--surface2);color:var(--fg)}.lang-list,.theme-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);z-index:45;inline-size:max-content;max-inline-size:calc(100vw - 2rem);min-width:13.5rem;box-shadow:var(--elev-lg);animation:pop-in .18s var(--ease);inset-inline-end:0;margin:0;padding:.4rem;list-style:none;position:absolute;top:calc(100% + .35rem)}.lang-list a,.theme-option{border-radius:var(--r-xs);color:var(--fg);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;text-decoration:none;display:flex}.lang-list a{white-space:nowrap}.lang-list a:hover,.theme-option:hover{background:var(--surface2)}.lang-list a[aria-current=true],.theme-option[aria-checked=true]{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.theme-list{inline-size:max-content;min-width:12.5rem;max-inline-size:calc(100vw - 2rem)}.theme-option{white-space:nowrap;inline-size:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;justify-content:flex-start}.theme-option .theme-check{margin-inline-start:auto}.theme-option:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.theme-inline{background:var(--surface2);border-radius:var(--r-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-block:.25rem .5rem;padding:.3rem;display:grid}.theme-inline .theme-option{text-align:center;white-space:normal;min-block-size:2.75rem;line-height:1.2;font-size:var(--fs-xs);flex-direction:column;justify-content:center;gap:.2rem;padding-inline:.4rem;font-weight:600}.theme-inline .theme-option[aria-checked=true]{background:var(--surface);color:var(--fg);box-shadow:var(--elev-sm)}.theme-icon-moon,:root[data-theme=dark] .theme-icon-sun{display:none}:root[data-theme=dark] .theme-icon-moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-icon-sun{display:none}:root:not([data-theme=light]) .theme-icon-moon{display:block}}.mobile-menu>summary{cursor:pointer;border-radius:var(--r-sm);justify-content:center;align-items:center;block-size:2.75rem;inline-size:2.75rem;list-style:none;display:inline-flex}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary:hover,.mobile-menu[open]>summary{background:var(--surface2)}.mobile-menu .when-open{display:none}.mobile-menu[open] .when-open{display:block}.mobile-menu[open] .when-closed{display:none}.mobile-panel{max-block-size:calc(100dvh - var(--header-h));background:var(--surface);border-block-end:1px solid var(--line);box-shadow:var(--elev-lg);animation:pop-in .18s var(--ease);inset-inline:0;gap:.25rem;padding:.75rem 1rem 1.25rem;display:grid;position:absolute;top:100%;overflow-y:auto}.mobile-group-title{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:.75rem .5rem .25rem;font-weight:700}.mobile-panel .mega-item{align-items:center;padding-block:.4rem}.site-footer{background:var(--surface);border-block-start:1px solid var(--line);margin-block-start:var(--section-y);position:relative}.site-footer:before{content:"";background:var(--grad);opacity:.8;block-size:2px;position:absolute;inset-block-start:-1px;inset-inline:0}.footer-grid{grid-template-columns:1fr;gap:2rem;padding-block:3rem 2rem;display:grid}@media (min-width:40rem){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.footer-grid{grid-template-columns:1.6fr repeat(4,minmax(0,1fr));gap:2.5rem}}.footer-title{font-weight:700;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 .6rem}.footer-list{gap:.1rem;margin:0;padding:0;list-style:none;display:grid}.footer-list a{color:var(--fg);font-size:var(--fs-sm);padding-block:.3rem;text-decoration:none;display:inline-block}.footer-list a:hover{color:var(--accent-text);text-decoration:underline}.footer-bottom{border-block-start:1px solid var(--line);color:var(--fg-muted);font-size:var(--fs-xs);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-block:1.25rem 2rem;display:flex}.chip:focus-visible{outline:3px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}.btn-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn-row.center{justify-content:center}.link-arrow{align-items:center;gap:.35rem;font-weight:600;text-decoration:none;display:inline-flex}.link-arrow svg{transition:transform .2s var(--ease)}.link-arrow:hover svg{transform:translate(3px)}.label{font-weight:600;font-size:var(--fs-sm);margin-block-end:.35rem;display:block}.field{align-content:start;gap:.25rem;min-width:0;display:grid}.field-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.field-head .label{margin:0}.inline-field{align-items:center;gap:.75rem;margin-block-start:.75rem;display:flex}.inline-field .label{margin:0}.mono{font-family:var(--font-mono);font-size:.95em}.tabular{font-variant-numeric:tabular-nums}.hint{font-size:var(--fs-xs);color:var(--fg-muted);margin:0}.muted{color:var(--fg-muted)}.small{font-size:var(--fs-sm)}.error-text{color:var(--danger);margin:0;font-weight:500}.options{gap:.1rem;display:grid}.radio-row{gap:.25rem;display:grid}.fieldset{border:1px solid var(--line);border-radius:var(--r-md);min-width:0;margin:0;padding:.75rem 1rem 1rem}.fieldset>legend{margin:0;padding-inline:.35rem;font-weight:600}.grid-2,.grid-3{grid-template-columns:1fr;align-items:end;gap:1rem;display:grid}@media (min-width:40rem){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}}.grid-2>.field,.grid-3>.field{align-content:end}.grid-top{align-items:start}.grid-top>.field{align-content:start}.stack{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.color-input{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;width:100%;block-size:2.9rem;padding:.2rem}.range-row{align-items:center;gap:.75rem;display:flex}.input-row{gap:.5rem;display:flex}.inline-icon{vertical-align:-.15em;display:inline-block}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);min-height:2.5rem;color:var(--fg);font-weight:600;font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:.4rem;padding-inline:1rem;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.chip:hover{background:var(--surface2);text-decoration:none}.chip[aria-checked=true],.chip[aria-pressed=true],.chip[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tool-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}@media (min-width:64rem){.tool-layout{grid-template-columns:minmax(0,1fr) minmax(0,25rem);gap:1.5rem}.tool-layout--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tool-layout>.tool-panel{grid-area:1/1}.tool-layout>.tool-side{top:calc(var(--header-h) + 1rem);grid-area:1/2;position:sticky}}.tool-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);min-width:0;box-shadow:var(--elev-md);grid-template-columns:minmax(0,1fr);gap:1.35rem;padding:1.25rem;display:grid}@media (min-width:40rem){.tool-panel{padding:1.75rem}}.tool-side{grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0;display:grid}.tool-frame{min-width:0;position:relative}html[data-js] .tool-frame[data-tool-state=pending]:before{content:"";background:linear-gradient(90deg, transparent, var(--accent) 50%, transparent) 0 0 / 40% 100% no-repeat;opacity:.55;pointer-events:none;border-radius:1px;block-size:2px;animation:1.1s ease-in-out infinite tool-loading;position:absolute;inset-block-start:-.5rem;inset-inline:0}html[data-js] .tool-frame[data-tool-state=pending] :is(button,[role=tab],[role=radio],[role=switch],[role=checkbox],[role=combobox],summary,label){cursor:progress}@keyframes tool-loading{0%{background-position:-40% 0}to{background-position:140% 0}}@media (prefers-reduced-motion:reduce){html[data-js] .tool-frame[data-tool-state=pending]:before{opacity:.3;background-size:100% 100%;animation:none}}.result-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);min-width:0;box-shadow:var(--elev-lg);gap:.9rem;padding:1.25rem;display:grid;position:relative;overflow:hidden}.result-box:before{content:"";background:var(--grad);block-size:4px;position:absolute;inset-block-start:0;inset-inline:0}.result-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.result-head .label{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.result-text{min-height:4.5rem}.result-text>p.muted:only-child{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--r-md);min-height:5.5rem;font-size:var(--fs-sm);place-items:center;margin:0;padding:1rem;display:grid}.result-words{font-size:var(--fs-xl);overflow-wrap:anywhere;letter-spacing:-.01em;margin:0 0 .5rem;font-weight:600;line-height:1.4}.details-box{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);padding:.5rem 1rem}.details-box>summary{cursor:pointer;align-items:center;min-height:2.5rem;font-weight:600;display:flex}.details-box[open]>summary{margin-block-end:.5rem}.dropzone{text-align:center;border:2px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--surface2);color:var(--fg);cursor:pointer;justify-items:center;gap:.4rem;padding:1.75rem 1rem;transition:border-color .15s,background-color .15s;display:grid;position:relative}.dropzone:hover,.dropzone[data-over]{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-within{outline:3px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}.dropzone svg{color:var(--accent-text)}.dropzone-title{font-weight:600;font-size:var(--fs-base)}.dropzone[data-compact]{grid-auto-flow:column;justify-content:center;align-items:center;padding:.85rem 1rem}.note-list{margin:0;list-style:none}.img-summary{font-size:var(--fs-sm);margin:0}.img-good{color:var(--success)}.img-bad{color:var(--danger)}.img-list{overscroll-behavior:contain;gap:.5rem;max-block-size:min(70vh,38rem);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.img-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.6rem;display:grid}.img-row[data-state=working],.img-row[data-state=queued]{opacity:.75}.img-thumb{border-radius:var(--r-xs);background:var(--surface2);block-size:3.5rem;inline-size:3.5rem;color:var(--fg-faint);place-items:center;display:grid;overflow:hidden}.img-thumb img{object-fit:cover;block-size:100%;inline-size:100%}.img-main{gap:.1rem;min-inline-size:0;display:grid}.img-main p{margin:0}.img-name{font-weight:600;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.img-line{font-size:var(--fs-xs);overflow-wrap:anywhere;line-height:1.45}.img-flag{color:var(--fg);background:var(--warning-soft);border-radius:var(--r-xs);padding:0 .3rem;font-weight:700}.img-actions{gap:.35rem;display:flex}.file-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.file-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.6rem .75rem;display:grid}.file-row[draggable=true]{cursor:grab}.file-row[data-dragging]{opacity:.5}.file-row[data-target]{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-halo)}.file-row[data-active]{border-color:var(--accent)}.file-icon{border-radius:var(--r-xs);background:var(--surface2);block-size:2.25rem;inline-size:2.25rem;color:var(--accent-text);place-items:center;display:grid}.file-main{min-inline-size:0}.file-main p{margin:0}.file-name{font-weight:600;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-detail{font-size:var(--fs-xs);overflow-wrap:anywhere}.file-actions{gap:.25rem;display:flex}.hash-progress{block-size:.65rem;inline-size:100%;accent-color:var(--accent)}.algo-grid{flex-wrap:wrap;gap:.1rem 1.5rem;display:flex}.hash-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.hash-row{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);gap:.3rem;min-inline-size:0;padding:.6rem .75rem;display:grid}.hash-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hash-name{font-weight:700;font-size:var(--fs-sm)}.hash-value{overflow-wrap:anywhere;word-break:break-all;-webkit-user-select:all;user-select:all;font-size:.82rem;line-height:1.5;display:block}.barcode-stage{border:1px solid var(--line);border-radius:var(--r-md);background:repeating-conic-gradient(var(--surface2) 0% 25%, var(--surface) 0% 50%) 0 0 / 16px 16px;place-items:center;padding:.75rem;display:grid;overflow-x:auto}.barcode-stage img{block-size:auto;max-inline-size:100%;display:block}@media (min-width:64rem){.tool-layout.tool-layout--stack{grid-template-columns:minmax(0,1fr)}.tool-layout.tool-layout--stack>.tool-side{grid-area:2/1;position:static}}.drop-input{white-space:pre;overflow-x:auto}.drop-input[data-over]{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus-halo)}.diff-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);overflow-x:auto}.diff-table{border-collapse:collapse;table-layout:fixed;inline-size:100%;font-family:var(--font-mono);font-size:.82rem;line-height:1.55}.diff-table[data-view=side]{min-inline-size:48rem}.diff-col-ln{inline-size:3rem}.diff-col-sign{inline-size:1.5rem}.diff-table td{vertical-align:top;padding:0 .4rem}.diff-ln{text-align:end;color:var(--fg-muted);background:var(--surface2);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.diff-sign{text-align:center;-webkit-user-select:none;user-select:none;font-weight:700;padding:0!important}.diff-code{white-space:pre-wrap;overflow-wrap:anywhere}.diff-del{background:var(--danger-soft)}.diff-ins{background:var(--success-soft)}.diff-gap{background:var(--surface2)}.diff-word{color:inherit;border-radius:3px;padding:0 1px}.diff-word-del{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.diff-word-del{background:color-mix(in oklab, var(--danger) 30%, transparent)}}.diff-word-ins{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.diff-word-ins{background:color-mix(in oklab, var(--success) 30%, transparent)}}.diff-collapsed td{text-align:center;background:var(--surface2);font-family:var(--font-sans);padding:.15rem}.diff-table[data-view=side] td:nth-child(3){border-inline-end:1px solid var(--line)}.colour-preview{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface2);place-items:center;padding:.5rem;display:grid}.colour-preview img{object-fit:contain;border-radius:var(--r-xs);max-block-size:14rem;max-inline-size:100%}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.swatch{text-align:start;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);inline-size:100%;color:var(--fg);cursor:pointer;gap:.25rem;padding:.4rem;transition:border-color .15s,transform .15s;display:grid}.swatch:hover{border-color:var(--accent);transform:translateY(-1px)}.swatch:focus-visible{outline:3px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}.swatch-colour{border-radius:var(--r-xs);block-size:4.25rem;display:block;box-shadow:inset 0 0 0 1px #0000001f}.swatch-value{overflow-wrap:anywhere;font-size:.8rem;font-weight:600}.swatch-share{font-size:var(--fs-xs);color:var(--fg-muted)}.colour-pick{flex:none;inline-size:3.5rem}.colour-sample{border:1px solid var(--line-strong);border-radius:var(--r-md);gap:.4rem;padding:1.1rem 1.25rem;display:grid}.colour-sample p{margin:0}.colour-sample-large{font-size:1.5rem;font-weight:700;line-height:1.25}.colour-sample-normal{font-size:1rem}.colour-ratio{font-size:var(--fs-3xl);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.1}.check-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.check-list li{border-radius:var(--r-sm);background:var(--surface2);font-size:var(--fs-sm);grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.5rem .75rem;display:grid}.check-list li[data-pass=true] svg{color:var(--success)}.check-list li[data-pass=false] svg{color:var(--danger)}.colour-chip{border-radius:var(--r-xs);block-size:2rem;inline-size:2rem;box-shadow:inset 0 0 0 1px #0003}.colour-big{border-radius:var(--r-md);block-size:9rem;box-shadow:inset 0 0 0 1px #0000001f}.status{border-radius:var(--r-sm);background:var(--surface2);border-inline-start:4px solid var(--line-strong);color:var(--fg);gap:.2rem;padding:.75rem 1rem;display:grid}.status-ok{background:var(--success-soft);border-inline-start-color:var(--success)}.status-ok svg{color:var(--success)}.status-error{background:var(--danger-soft);border-inline-start-color:var(--danger)}.status-warn{background:var(--warning-soft);border-inline-start-color:var(--warning)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0;display:grid}@media (min-width:40rem){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{background:var(--surface2);border-radius:var(--r-sm);padding:.7rem .9rem}.stat dt{font-size:var(--fs-xs);color:var(--fg-muted)}.stat dd{font-size:var(--fs-xl);letter-spacing:-.02em;margin:0;font-weight:700}.strength-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.meter{border-radius:var(--r-pill);background:var(--surface2);height:.65rem;margin-block-start:.5rem;overflow:hidden}.meter>span{border-radius:var(--r-pill);background:var(--fg-faint);height:100%;transition:width .3s var(--ease);display:block}.meter.s-weak>span{background:var(--danger)}.meter.s-strong>span{background:var(--accent)}.meter.s-very_strong>span{background:var(--success)}.strength-label.s-weak{color:var(--danger)}.strength-label.s-strong{color:var(--accent-text)}.strength-label.s-very_strong{color:var(--success)}.qr-preview{justify-items:center}.qr-frame{aspect-ratio:1;border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--elev-sm);background:#fff;place-items:center;display:grid;overflow:hidden}.qr-image{width:100%;height:auto}.qr-empty{text-align:center;color:#4b5563;margin:0;padding:1rem}[data-sonner-toaster]{z-index:90;font-family:inherit}.app-toast{font-weight:600;font-size:var(--fs-sm);box-shadow:var(--elev-lg);padding-block:.65rem;padding-inline:1rem}@keyframes pop-in{0%{opacity:0;transform:translateY(-.4rem)scale(.985)}}@keyframes float-y{50%{transform:translateY(-.6rem)}}.icon-tile{border-radius:var(--r-md);background:linear-gradient(135deg, var(--h-from), var(--h-to));color:#fff;block-size:3rem;inline-size:3rem;box-shadow:inset 0 1px 0 #ffffff4d, 0 10px 20px -10px var(--h-from);flex:none;place-items:center;display:grid}.icon-tile-soft{background:var(--h-soft);color:var(--h-text);box-shadow:none}.hero{padding-block:clamp(2.25rem,1.5rem + 3.5vw,5rem) clamp(2.5rem,2rem + 3vw,4.5rem);overflow-x:clip}.hero-grid{grid-template-columns:minmax(0,1fr);align-items:center;gap:2.5rem;display:grid}@media (min-width:64rem){.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:3.5rem}}.hero h1{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--track-tight);margin:1.1rem 0;font-weight:700}.hero .lead{font-size:var(--fs-lg);color:var(--fg-muted);max-width:38rem;margin:0 0 1.75rem}.grad-text{color:#0000;background:var(--grad);-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text;padding-block:.08em}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.grad-text{-webkit-text-fill-color:currentColor;color:var(--accent-text);background:0 0}}.search-hero{max-width:38rem;position:relative}.search-hero .search-icon{color:var(--accent-text);pointer-events:none;inset-inline-start:1.1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-hero .search-key{pointer-events:none;inset-inline-end:.9rem;position:absolute;top:50%;transform:translateY(-50%)}.quick-links{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block-start:1rem;display:flex}.quick-links .chip{min-height:2.25rem;font-size:var(--fs-xs);border-color:var(--line);box-shadow:var(--elev-sm);padding-inline:.8rem .9rem}.quick-links .chip svg{color:var(--h-text)}.quick-label{font-size:var(--fs-xs);color:var(--fg-muted);margin-inline-end:.25rem;font-weight:600}.hero-results{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--elev-md);gap:.1rem;margin:.6rem 0 0;padding:.4rem;list-style:none;display:grid}.hero-results a{border-radius:var(--r-sm);color:var(--fg);align-items:center;gap:.75rem;padding:.5rem .6rem;text-decoration:none;display:flex}.hero-results a:hover,.hero-results a:focus-visible{background:var(--surface2)}.hero-results .icon-tile{border-radius:.7rem;block-size:2.25rem;inline-size:2.25rem}.hero-results strong{font-weight:600;font-size:var(--fs-sm);line-height:1.3;display:block}.hero-results .sub{color:var(--fg-muted);font-size:var(--fs-xs);line-height:1.4;display:block}.hero-empty{color:var(--fg-muted);font-size:var(--fs-sm);margin:.75rem 0 0}.hero-stage{isolation:isolate;justify-self:center;inline-size:100%;max-inline-size:26rem;padding:1rem;position:relative}@media (min-width:64rem){.hero-stage{justify-self:end;max-inline-size:27rem}}.hero-stage:before{content:"";z-index:-1;background:var(--grad);opacity:.2;border-radius:2rem;position:absolute;inset:0;transform:rotate(4deg)}.hero-stage:after{content:"";z-index:-1;background-image:radial-gradient(var(--fg-faint) 1.1px, transparent 1.2px);opacity:.22;background-size:1.1rem 1.1rem;border-radius:2rem;position:absolute;inset:0;transform:translate(1.1rem,1.1rem);-webkit-mask-image:linear-gradient(135deg,#0000 40%,#000);mask-image:linear-gradient(135deg,#0000 40%,#000)}.demo-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--elev-lg);gap:1rem;padding:1.1rem 1.25rem 1.25rem;display:grid;position:relative}.demo-head{font-size:var(--fs-xs);color:var(--fg-muted);align-items:center;gap:.6rem;font-weight:600;display:flex}.demo-dots{gap:.3rem;display:inline-flex}.demo-dots i{background:var(--line-strong);opacity:.55;border-radius:50%;block-size:.6rem;inline-size:.6rem}.demo-qr{aspect-ratio:1;border-radius:var(--r-md);border:1px solid var(--line);inline-size:min(100%,14.5rem);box-shadow:var(--elev-md);background:#fff;justify-self:center;padding:.85rem}.demo-qr svg{shape-rendering:crispedges;block-size:100%;inline-size:100%}.float-tile{display:none}@media (min-width:64rem){.float-tile{background:linear-gradient(135deg, var(--h-from), var(--h-to));color:#fff;block-size:3.25rem;inline-size:3.25rem;box-shadow:0 14px 28px -12px var(--h-from), inset 0 1px 0 #ffffff4d;z-index:2;border-radius:1.1rem;place-items:center;display:grid;position:absolute}.float-tile.ft-1{inset-block-start:-.5rem;inset-inline-start:-1.5rem;rotate:-8deg}.float-tile.ft-2{inset-block-end:3.5rem;inset-inline-end:-1.75rem;rotate:9deg}.float-tile.ft-3{border-radius:.95rem;block-size:2.75rem;inline-size:2.75rem;inset-block-end:-1rem;inset-inline-start:1.5rem;rotate:-5deg}}@media (min-width:64rem) and (prefers-reduced-motion:no-preference){.float-tile{animation:7s ease-in-out infinite float-y}.float-tile.ft-2{animation-duration:8s;animation-delay:-2.3s}.float-tile.ft-3{animation-duration:6.5s;animation-delay:-4.6s}}.group-title{font-size:var(--fs-lg);letter-spacing:var(--track-snug);align-items:center;gap:.6rem;margin:0 0 .85rem;display:flex}.group-dot{border-radius:var(--r-pill);background:linear-gradient(135deg, var(--h-from), var(--h-to));block-size:.7rem;inline-size:.7rem}.tool-grid{grid-template-columns:1fr;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.tool-grid>li{min-width:0;display:grid}@media (min-width:40rem){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bento>li:first-child{grid-area:span 2/span 2}.bento{grid-auto-flow:dense}}.tool-card{isolation:isolate;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);block-size:100%;color:var(--fg);box-shadow:var(--elev-sm);transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .2s;flex-direction:column;align-items:flex-start;gap:.55rem;padding:1.25rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.tool-card:before{content:"";z-index:-1;background:radial-gradient(20rem 11rem at 0% 0%, var(--h-soft), transparent 72%);opacity:.85;transition:opacity .25s;position:absolute;inset:0}.tool-card:hover{text-decoration:none}@media (hover:hover){.tool-card:hover{box-shadow:var(--elev-md);border-color:var(--h-text);transform:translateY(-4px)}.tool-card:hover:before{opacity:1}.tool-card:hover .go{opacity:1;transform:none}}.tool-card .top{justify-content:space-between;align-items:flex-start;gap:.75rem;inline-size:100%;margin-block-end:.35rem;display:flex}.tool-card h3,.tool-card h2{font-size:var(--fs-lg);letter-spacing:-.015em;margin:0;line-height:1.25}.tool-card p{color:var(--fg-muted);font-size:var(--fs-sm);margin:0;line-height:1.55}.tool-card .go{color:var(--h-text);font-size:var(--fs-xs);opacity:0;transition:opacity .2s, transform .25s var(--ease);align-items:center;gap:.35rem;margin-block-start:auto;padding-block-start:.5rem;font-weight:600;display:inline-flex;transform:translate(-4px)}@media (hover:none){.tool-card .go{opacity:1;transform:none}}.tool-card-art{z-index:-1;block-size:15rem;inline-size:15rem;color:var(--h-from);opacity:.12;pointer-events:none;position:absolute;inset-block-end:-1.5rem;inset-inline-end:-1.5rem}.tool-card--feature .icon-tile{border-radius:var(--r-lg);block-size:3.5rem;inline-size:3.5rem}@media (min-width:64rem){.tool-card--feature{gap:.75rem;padding:1.75rem}.tool-card--feature h3{font-size:var(--fs-2xl);letter-spacing:var(--track-snug)}.tool-card--feature p{font-size:var(--fs-base);max-inline-size:26rem}.tool-card--feature .go{opacity:1;font-size:var(--fs-sm);transform:none}}.trust{flex-wrap:wrap;justify-content:center;gap:.5rem 1.75rem;display:flex}.trust-item{font-size:var(--fs-sm);color:var(--fg-muted);align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.trust-item svg{color:var(--accent-text)}.page-head{padding-block:1.25rem 1rem}.page-head h1{font-size:var(--fs-3xl);letter-spacing:var(--track-tight);line-height:var(--lh-display);margin:.75rem 0;font-weight:700}.page-head .lead{font-size:var(--fs-lg);color:var(--fg-muted);max-width:46rem;margin:0}.tool-hero-head{align-items:center;gap:1rem;margin-block-start:.5rem;display:flex}.tool-hero-head h1{font-size:var(--fs-2xl);margin:0}.tool-hero-head .icon-tile{border-radius:var(--r-md);block-size:3rem;inline-size:3rem}.crumbs{font-size:var(--fs-xs);color:var(--fg-muted)}.crumbs ol{flex-wrap:wrap;gap:.25rem .5rem;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--fg-faint);margin-inline-end:.5rem}.crumbs a{color:var(--fg-muted)}.crumbs [aria-current=page]{color:var(--fg);font-weight:500}.info-band{background:var(--tint);border-block:1px solid var(--line);margin-block-start:var(--section-y);padding-block:clamp(2.5rem,2rem + 3vw,4.5rem)}.info-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:2rem;display:grid}@media (min-width:64rem){.info-grid{grid-template-columns:minmax(0,1fr) 21rem;gap:2.5rem}.info-side{top:calc(var(--header-h) + 1rem);position:sticky}}.info-main{gap:2.25rem;min-width:0;display:grid}.info-side{gap:1rem;min-width:0;display:grid}.side-title{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);align-items:center;gap:.5rem;margin:0 0 .25rem;font-weight:700;display:flex}.side-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.mini-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--elev-sm);color:var(--fg);transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;align-items:center;gap:.85rem;padding:.85rem 1rem;text-decoration:none;display:flex}.mini-card:hover{text-decoration:none}@media (hover:hover){.mini-card:hover{border-color:var(--h-text);box-shadow:var(--elev-md);transform:translateY(-2px)}}.mini-card .icon-tile{border-radius:.8rem;block-size:2.5rem;inline-size:2.5rem}.mini-card strong{font-size:var(--fs-sm);font-weight:600;line-height:1.3;display:block}.mini-card .sub{-webkit-line-clamp:2;color:var(--fg-muted);font-size:var(--fs-xs);-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.prose-doc{max-width:var(--prose-max);font-size:var(--fs-base);line-height:1.75}.prose-doc>:first-child{margin-block-start:0}.prose-doc h2{font-size:var(--fs-2xl);letter-spacing:var(--track-snug);scroll-margin-top:calc(var(--header-h) + 1rem);margin:2.75rem 0 .9rem;font-weight:700}.prose-doc h2:before{content:"";background:var(--grad);border-radius:2px;block-size:4px;inline-size:2.5rem;margin-block-end:.85rem;display:block}.prose-doc>h2:first-child{margin-block-start:0}.prose-doc h3{font-size:var(--fs-xl);scroll-margin-top:calc(var(--header-h) + 1rem);margin:2rem 0 .5rem}.prose-doc p,.prose-doc ul,.prose-doc ol,.prose-doc blockquote,.prose-doc pre,.prose-doc .table-wrap{margin:0 0 1.25rem}.prose-doc ul{list-style:outside}.prose-doc ol{list-style:decimal}.prose-doc ul,.prose-doc ol{padding-inline-start:1.5rem}.prose-doc li{margin-block-end:.45rem;padding-inline-start:.2rem}.prose-doc li::marker{color:var(--accent-text);font-weight:600}.prose-doc strong{font-weight:600}.prose-doc a{text-decoration-color:currentColor;text-decoration-thickness:1px}@supports (color:color-mix(in lab, red, red)){.prose-doc a{-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent)}}.prose-doc a:hover{text-decoration-color:currentColor}.prose-doc code{background:var(--surface2);font-family:var(--font-mono);border-radius:.4rem;padding:.1rem .4rem;font-size:.88em}.prose-doc pre{background:var(--surface2);border-radius:var(--r-md);border:1px solid var(--line);padding:1rem 1.1rem;line-height:1.55;overflow-x:auto}.prose-doc pre code{background:0 0;padding:0}.prose-doc blockquote{background:var(--accent-soft);border-radius:var(--r-md);border-inline-start:4px solid var(--accent);color:var(--fg);padding:1rem 1.25rem 1rem 3.4rem;position:relative}[dir=rtl] .prose-doc blockquote{padding:1rem 3.4rem 1rem 1.25rem}.prose-doc blockquote:before{content:"";background:var(--accent-text);block-size:1.4rem;inline-size:1.4rem;-webkit-mask:var(--icon-info) center / contain no-repeat;-webkit-mask:var(--icon-info) center / contain no-repeat;-webkit-mask:var(--icon-info) center / contain no-repeat;-webkit-mask:var(--icon-info) center / contain no-repeat;mask:var(--icon-info) center / contain no-repeat;position:absolute;inset-block-start:1.15rem;inset-inline-start:1.1rem}.prose-doc blockquote>:last-child{margin-block-end:0}.prose-doc .table-wrap{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow-x:auto}.prose-doc table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);line-height:1.5}.prose-doc th,.prose-doc td{text-align:start;border-block-end:1px solid var(--line);vertical-align:top;padding:.7rem 1rem}.prose-doc thead th{background:var(--surface2);font-weight:600}.prose-doc tbody tr:last-child th,.prose-doc tbody tr:last-child td{border-block-end:0}:root{--icon-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E")}.faq{max-width:var(--prose-max);gap:.75rem;display:grid}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--elev-sm);transition:border-color .2s}.faq details[open]{border-color:var(--accent)}.faq summary{cursor:pointer;border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;padding:1rem 1.25rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";background:linear-gradient(var(--accent-text), var(--accent-text)) center / .75rem 2px no-repeat, linear-gradient(var(--accent-text), var(--accent-text)) center / 2px .75rem no-repeat, var(--accent-soft);block-size:1.6rem;inline-size:1.6rem;transition:transform .25s var(--ease);border-radius:50%;flex:none}.faq details[open] summary:after{transform:rotate(135deg)}.faq .answer{color:var(--fg-muted);padding:0 1.25rem 1.1rem}.faq .answer p{margin:0}.post-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.post-grid>li{min-width:0;display:grid}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--fg);block-size:100%;box-shadow:var(--elev-sm);transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .2s;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.post-card:hover{text-decoration:none}@media (hover:hover){.post-card:hover{box-shadow:var(--elev-md);border-color:var(--h-text);transform:translateY(-4px)}.post-card:hover .post-cover svg.glyph{transform:scale(1.08)rotate(-4deg)}}.post-cover{isolation:isolate;aspect-ratio:16/8;background:linear-gradient(135deg, var(--h-from), var(--h-to));color:#fff;position:relative;overflow:hidden}.post-cover:before{content:"";z-index:-1;background-image:radial-gradient(#ffffff47 1.2px,#0000 1.4px);background-size:1.2rem 1.2rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#000,#0000 70%);mask-image:linear-gradient(120deg,#000,#0000 70%)}.post-cover:after{content:"";aspect-ratio:1;z-index:-1;background:#ffffff24;border-radius:50%;inline-size:60%;position:absolute;inset-block-end:-40%;inset-inline-end:-8%}.post-cover svg.glyph{opacity:.95;block-size:auto;max-block-size:70%;inline-size:38%;transition:transform .35s var(--ease);position:absolute;inset-block-end:14%;inset-inline-end:9%}.post-body{flex:1;align-content:start;gap:.5rem;padding:1.25rem 1.35rem 1.4rem;display:grid}.post-card h2,.post-card h3{font-size:var(--fs-lg);letter-spacing:-.015em;margin:0;line-height:1.3}.post-card p{color:var(--fg-muted);font-size:var(--fs-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.post-meta{color:var(--fg-muted);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;display:flex}.post-meta svg{vertical-align:-.2em;display:inline-block}.post-card .read{color:var(--h-text);font-weight:600;font-size:var(--fs-xs);align-items:center;gap:.35rem;margin-block-start:.35rem;display:inline-flex}@media (min-width:64rem){.post-card--feature{flex-direction:row}.post-card--feature .post-cover{aspect-ratio:auto;flex:1.1;min-block-size:17rem}.post-card--feature .post-body{flex:1;align-content:center;gap:.75rem;padding:2rem 2.25rem}.post-card--feature h2,.post-card--feature h3{font-size:var(--fs-2xl);letter-spacing:var(--track-snug)}.post-card--feature p{-webkit-line-clamp:4;font-size:var(--fs-base)}}.post-head{padding-block:1.75rem 2rem}.post-head h1{font-size:var(--fs-3xl);letter-spacing:var(--track-tight);line-height:var(--lh-display);max-inline-size:24ch;margin:1rem 0}.post-head .lead{font-size:var(--fs-lg);color:var(--fg-muted);max-inline-size:46rem;margin:0}.byline{font-size:var(--fs-sm);color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-block-start:1.5rem;display:flex}.byline .who{color:var(--fg);align-items:center;gap:.6rem;font-weight:600;display:inline-flex}.byline .avatar{block-size:2.25rem;inline-size:2.25rem;font-size:var(--fs-xs)}.byline .dot{color:var(--fg-faint)}.article-layout{grid-template-columns:minmax(0,1fr);justify-content:center;gap:1.5rem 3rem;display:grid}@media (min-width:64rem){.article-layout{grid-template-columns:minmax(0, var(--prose-max))}.article-layout--toc{grid-template-columns:minmax(0, var(--prose-max)) 16rem;align-items:start}}.toc{font-size:var(--fs-sm)}.toc-title{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 .6rem;font-weight:700}.toc ol{border-inline-start:2px solid var(--line);margin:0;padding:0;list-style:none}.toc a{color:var(--fg-muted);border-inline-start:2px solid #0000;margin-inline-start:-2px;padding:.35rem .9rem;line-height:1.4;text-decoration:none;display:block}.toc a:hover{color:var(--accent-text);border-inline-start-color:var(--accent);text-decoration:none}.toc-desktop{display:none}@media (min-width:64rem){.toc-desktop{top:calc(var(--header-h) + 1.5rem);grid-area:1/2;display:block;position:sticky}.toc-mobile{display:none}}.toc-mobile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:.25rem 1rem}.toc-mobile>summary{cursor:pointer;align-items:center;min-height:2.75rem;font-weight:600;display:flex}.toc-mobile[open]>summary{margin-block-end:.5rem}.toc-mobile .toc ol{margin-block-end:.75rem}.author-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);max-width:var(--prose-max);box-shadow:var(--elev-sm);align-items:flex-start;gap:1.1rem;padding:1.5rem;display:flex}.avatar{background:var(--grad);block-size:3.5rem;inline-size:3.5rem;color:var(--accent-ink);letter-spacing:-.02em;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.ad-slot{background:var(--surface2);border-radius:var(--r-md);color:var(--fg-faint);font-size:var(--fs-xs);place-items:center;margin-block:1.5rem;display:grid;overflow:hidden}.coming-soon{max-width:46rem}.search-input-row{border-block-end:1px solid var(--line);align-items:center;gap:.6rem;padding:.25rem .75rem .25rem 1.1rem;display:flex}.search-input-row:focus-within{border-block-end-color:var(--accent)}.search-results{flex:1;min-block-size:0}.search-text{gap:.1rem;min-inline-size:0;display:grid}.search-tile{border-radius:.7rem;block-size:2.25rem;inline-size:2.25rem}.search-text .sub{color:var(--fg-muted);font-size:var(--fs-xs)}.search-foot{border-block-start:1px solid var(--line);background:var(--bg);align-items:center;gap:.75rem;margin:0;padding:.6rem 1.1rem .8rem;display:flex}.consent-bar{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);max-width:40rem;box-shadow:var(--elev-lg);inset-inline:1rem;gap:.75rem;margin-inline:auto;padding:1rem;display:grid;position:fixed;bottom:1rem}.logo-link{color:var(--fg);text-decoration:none;display:inline-flex}.logo-link:hover{text-decoration:none}[dir=rtl] .flip-rtl{transform:scaleX(-1)}[dir=rtl] .link-arrow:hover svg{transform:scaleX(-1)translate(3px)}.details-box>summary,.toc-mobile>summary{justify-content:space-between;gap:.75rem;list-style:none}.details-box>summary::-webkit-details-marker{display:none}.toc-mobile>summary::-webkit-details-marker{display:none}.details-box>summary:after,.toc-mobile>summary:after{content:"";border-inline-end:2px solid var(--fg-muted);border-block-end:2px solid var(--fg-muted);block-size:.55rem;inline-size:.55rem;transition:transform .2s var(--ease);flex:none;transform:rotate(45deg)translateY(-2px)}.details-box[open]>summary:after,.toc-mobile[open]>summary:after{transform:rotate(225deg)translateY(-2px)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-\[10vh\]{top:10vh}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[81\]{z-index:81}.z-\[90\]{z-index:90}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-auto{margin-inline:auto}.my-1\.5{margin-block:calc(var(--spacing) * 1.5)}.me-auto{margin-inline-end:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[0\.2rem\]{margin-top:.2rem}.mb-0{margin-bottom:0}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-\[0\.35rem\]{margin-bottom:.35rem}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-2{height:calc(var(--spacing) * 2)}.h-7{height:calc(var(--spacing) * 7)}.h-full{height:100%}.h-px{height:1px}.max-h-\[78vh\]{max-height:78vh}.max-h-\[min\(22rem\,var\(--radix-select-content-available-height\)\)\]{max-height:min(22rem, var(--radix-select-content-available-height))}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-13{min-height:calc(var(--spacing) * 13)}.min-h-15{min-height:calc(var(--spacing) * 15)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-\[2\.9rem\]{min-height:2.9rem}.min-h-\[3\.4rem\]{min-height:3.4rem}.w-12{width:calc(var(--spacing) * 12)}.w-\[5\.5rem\]{width:5.5rem}.w-\[min\(40rem\,calc\(100vw-2rem\)\)\]{width:min(40rem,100vw - 2rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[min\(32rem\,calc\(100vw-1\.5rem\)\)\]{max-width:min(32rem,100vw - 1.5rem)}.max-w-full{max-width:100%}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-\(--radix-select-trigger-width\){min-width:var(--radix-select-trigger-width)}.min-w-0{min-width:0}.flex-1{flex:1}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-y{resize:vertical}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.content-start{align-content:flex-start}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[0\.3rem\]{gap:.3rem}.gap-\[0\.4rem\]{gap:.4rem}.gap-\[0\.65rem\]{gap:.65rem}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\(--r-lg\){border-radius:var(--r-lg)}.rounded-\(--r-md\){border-radius:var(--r-md)}.rounded-\(--r-pill\){border-radius:var(--r-pill)}.rounded-\(--r-sm\){border-radius:var(--r-sm)}.rounded-\(--r-xl\){border-radius:var(--r-xl)}.rounded-\(--r-xs\){border-radius:var(--r-xs)}.rounded-\[0\.4rem\]{border-radius:.4rem}.rounded-\[0\.65rem\]{border-radius:.65rem}.rounded-\[calc\(var\(--r-md\)-0\.3rem\)\]{border-radius:calc(var(--r-md) - .3rem)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-input{border-color:var(--input)}.border-line,.border-line\/70{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){.border-line\/70{border-color:color-mix(in oklab, var(--line) 70%, transparent)}}.border-primary{border-color:var(--primary)}.border-success{border-color:var(--success)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/55{border-color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.border-white\/55{border-color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.bg-\(--deep\)\/55{background-color:var(--deep)}@supports (color:color-mix(in lab, red, red)){.bg-\(--deep\)\/55{background-color:color-mix(in oklab, var(--deep) 55%, transparent)}}.bg-accent-soft{background-color:var(--accent-soft)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-danger-soft{background-color:var(--danger-soft)}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--muted)}.bg-muted-foreground{background-color:var(--muted-foreground)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-primary-foreground{background-color:var(--primary-foreground)}.bg-second-soft{background-color:var(--second-soft)}.bg-success-soft{background-color:var(--success-soft)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-\(image\:--grad\){background-image:var(--grad)}.stroke-\[3\]{stroke-width:3px}.p-0{padding:0}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-\[0\.3rem\]{padding:.3rem}.p-\[3px\]{padding:3px}.p-\[clamp\(1\.25rem\,1rem\+1\.5vw\,2\.25rem\)\]{padding:clamp(1.25rem,1rem + 1.5vw,2.25rem)}.px-0{padding-inline:0}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[0\.8rem\]{padding-inline:.8rem}.px-\[0\.65rem\]{padding-inline:.65rem}.px-\[0\.85rem\]{padding-inline:.85rem}.px-\[1\.1rem\]{padding-inline:1.1rem}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-\[0\.2rem\]{padding-block:.2rem}.py-\[0\.15rem\]{padding-block:.15rem}.py-\[0\.55rem\]{padding-block:.55rem}.ps-13{padding-inline-start:calc(var(--spacing) * 13)}.pe-3{padding-inline-end:calc(var(--spacing) * 3)}.pe-18{padding-inline-end:calc(var(--spacing) * 18)}.pt-5{padding-top:calc(var(--spacing) * 5)}.text-start{text-align:start}.text-\(length\:--fs-base\){font-size:var(--fs-base)}.text-\(length\:--fs-lg\){font-size:var(--fs-lg)}.text-\(length\:--fs-sm\){font-size:var(--fs-sm)}.text-\(length\:--fs-xs\){font-size:var(--fs-xs)}.text-\[0\.78rem\]{font-size:.78rem}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.25\]{--tw-leading:1.25;line-height:1.25}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-\(--deep\){color:var(--deep)}.text-\(--deep-ink\){color:var(--deep-ink)}.text-accent-text{color:var(--accent-text)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-second-text{color:var(--second-text)}.text-success{color:var(--success)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-foreground{accent-color:var(--foreground)}.shadow-\(--elev-lg\){--tw-shadow:var(--elev-lg);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\(--elev-md\){--tw-shadow:var(--elev-md);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\(--elev-sm\){--tw-shadow:var(--elev-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_var\(--line\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--line));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgb\(255_255_255\/0\.22\)\,0_8px_16px_-8px_var\(--glow\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff38), 0 8px 16px -8px var(--tw-shadow-color,var(--glow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgb\(255_255_255\/0\.28\)\,0_12px_24px_-10px_var\(--glow\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff47), 0 12px 24px -10px var(--tw-shadow-color,var(--glow));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[background-color\,border-color\,box-shadow\,transform\,color\,filter\]{transition-property:background-color,border-color,box-shadow,transform,color,filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,box-shadow\]{transition-property:background-color,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\]{transition-property:background-color,border-color,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.group-data-\[state\=open\]\/trigger\:rotate-180:is(:where(.group\/trigger)[data-state=open] *){rotate:180deg}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.placeholder\:text-faint::placeholder{color:var(--fg-faint)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:-inset-2\.5:after{content:var(--tw-content);inset:calc(var(--spacing) * -2.5)}@media (hover:hover){.hover\:border-input:hover{border-color:var(--input)}.hover\:border-muted-foreground:hover{border-color:var(--muted-foreground)}.hover\:border-primary:hover{border-color:var(--primary)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:shadow-\[0_0_0_5px_var\(--focus-halo\)\]:hover{--tw-shadow:0 0 0 5px var(--tw-shadow-color,var(--focus-halo));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:not-disabled\:bg-muted:hover:not(:disabled){background-color:var(--muted)}.hover\:not-disabled\:bg-white\/12:hover:not(:disabled){background-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.hover\:not-disabled\:bg-white\/12:hover:not(:disabled){background-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.hover\:not-disabled\:no-underline:hover:not(:disabled){text-decoration-line:none}.hover\:not-disabled\:brightness-105:hover:not(:disabled){--tw-brightness:brightness(105%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:not-disabled\:brightness-\[0\.94\]:hover:not(:disabled){--tw-brightness:brightness(.94);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:not-disabled\:brightness-\[0\.97\]:hover:not(:disabled){--tw-brightness:brightness(.97);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus-visible\:border-primary:focus-visible{border-color:var(--primary)}.focus-visible\:shadow-\[0_0_0_5px_var\(--focus-halo\)\]:focus-visible{--tw-shadow:0 0 0 5px var(--tw-shadow-color,var(--focus-halo));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:shadow-\[0_0_0_6px_var\(--focus-halo\)\]:focus-visible{--tw-shadow:0 0 0 6px var(--tw-shadow-color,var(--focus-halo));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-3:focus-visible{outline-style:var(--tw-outline-style);outline-width:3px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-primary:focus-visible{outline-color:var(--primary)}.active\:cursor-grabbing:active{cursor:grabbing}.active\:not-disabled\:translate-y-px:active:not(:disabled){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:focus-visible\:outline-destructive[aria-invalid=true]:focus-visible{outline-color:var(--destructive)}.data-highlighted\:bg-accent[data-highlighted]{background-color:var(--accent-soft)}.data-highlighted\:text-accent-foreground[data-highlighted]{color:var(--accent-text)}.data-placeholder\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent-soft)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=checked\]\:font-semibold[data-state=checked]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:min-h-9{min-height:calc(var(--spacing) * 9)}}@media (min-width:48rem){.md\:me-2{margin-inline-end:calc(var(--spacing) * 2)}.md\:flex{display:flex}.md\:hidden{display:none}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-checked\:translate-x-5:where([data-state=checked]),.data-checked\:translate-x-5:where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-checked\:border-primary:where([data-state=checked]),.data-checked\:border-primary:where([data-checked]:not([data-checked=false])){border-color:var(--primary)}.data-checked\:bg-primary:where([data-state=checked]),.data-checked\:bg-primary:where([data-checked]:not([data-checked=false])){background-color:var(--primary)}.data-checked\:bg-primary-foreground:where([data-state=checked]),.data-checked\:bg-primary-foreground:where([data-checked]:not([data-checked=false])){background-color:var(--primary-foreground)}.data-checked\:text-primary-foreground:where([data-state=checked]),.data-checked\:text-primary-foreground:where([data-checked]:not([data-checked=false])){color:var(--primary-foreground)}@media (hover:hover){:is(.data-checked\:hover\:bg-primary:where([data-state=checked]),.data-checked\:hover\:bg-primary:where([data-checked]:not([data-checked=false]))):hover{background-color:var(--primary)}}.rtl\:data-checked\:-translate-x-5:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *):where([data-state=checked]),.rtl\:data-checked\:-translate-x-5:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *):where([data-checked]:not([data-checked=false])){--tw-translate-x:calc(var(--spacing) * -5);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-disabled\:pointer-events-none:where([data-disabled=true]),.data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.data-disabled\:cursor-not-allowed:where([data-disabled=true]),.data-disabled\:cursor-not-allowed:where([data-disabled]:not([data-disabled=false])){cursor:not-allowed}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-active\:bg-card:where([data-state=active]),.data-active\:bg-card:where([data-active]:not([data-active=false])){background-color:var(--card)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.data-active\:shadow-\(--elev-sm\):where([data-state=active]),.data-active\:shadow-\(--elev-sm\):where([data-active]:not([data-active=false])){--tw-shadow:var(--elev-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[\&_\[cmdk-group-heading\]\]\:px-3 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 3)}.\[\&_\[cmdk-group-heading\]\]\:pt-2\.5 [cmdk-group-heading]{padding-top:calc(var(--spacing) * 2.5)}.\[\&_\[cmdk-group-heading\]\]\:pb-1 [cmdk-group-heading]{padding-bottom:var(--spacing)}.\[\&_\[cmdk-group-heading\]\]\:text-\(length\:--fs-xs\) [cmdk-group-heading]{font-size:var(--fs-xs)}.\[\&_\[cmdk-group-heading\]\]\:font-bold [cmdk-group-heading]{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.\[\&_\[cmdk-group-heading\]\]\:tracking-\[0\.06em\] [cmdk-group-heading]{--tw-tracking:.06em;letter-spacing:.06em}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group-heading\]\]\:uppercase [cmdk-group-heading]{text-transform:uppercase}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/be-vietnam-pro-400.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/be-vietnam-pro-500.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/be-vietnam-pro-600.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/be-vietnam-pro-700.woff2)format("woff2")}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial),local(ArialMT),local(Liberation Sans),local(Helvetica);font-weight:400 500;size-adjust:110%;ascent-override:90.9%;descent-override:24.1%;line-gap-override:0%}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial Bold),local(Arial-BoldMT),local(Liberation Sans Bold),local(Helvetica Bold);font-weight:600 700;size-adjust:107%;ascent-override:93.5%;descent-override:24.8%;line-gap-override:0%}[data-hue],[data-hue=navy]{--h-from:var(--hue-navy-from);--h-to:var(--hue-navy-to);--h-soft:var(--hue-navy-soft);--h-text:var(--hue-navy-text)}[data-hue=teal]{--h-from:var(--hue-teal-from);--h-to:var(--hue-teal-to);--h-soft:var(--hue-teal-soft);--h-text:var(--hue-teal-text)}[data-hue=amber]{--h-from:var(--hue-amber-from);--h-to:var(--hue-amber-to);--h-soft:var(--hue-amber-soft);--h-text:var(--hue-amber-text)}[data-hue=green]{--h-from:var(--hue-green-from);--h-to:var(--hue-green-to);--h-soft:var(--hue-green-soft);--h-text:var(--hue-green-text)}[data-hue=sky]{--h-from:var(--hue-sky-from);--h-to:var(--hue-sky-to);--h-soft:var(--hue-sky-soft);--h-text:var(--hue-sky-text)}:root{--h-from:var(--hue-navy-from);--h-to:var(--hue-navy-to);--h-soft:var(--hue-navy-soft);--h-text:var(--hue-navy-text);--grad:linear-gradient(120deg, var(--grad-a), var(--grad-b));--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--ease:cubic-bezier(.2, .7, .2, 1)}@supports (background:linear-gradient(in oklch, red, blue)){:root{--grad:linear-gradient(in oklch 120deg, var(--grad-a), var(--grad-b))}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media (forced-colors:active){[data-slot=button],[data-slot=input],[data-slot=textarea],[data-slot=select-trigger],[data-slot=select-content],[data-slot=checkbox],[data-slot=switch],[data-slot=radio-group-item],[data-slot=slider-thumb],[data-slot=tabs-list],.chip,.tool-card,.post-card,.mini-card,.tool-panel,.result-box{border:1px solid canvastext}.grad-text{-webkit-text-fill-color:currentColor;color:canvastext;background:0 0}.icon-tile,.float-tile{forced-color-adjust:none;color:canvastext;background:canvas;border:1px solid canvastext}}@media print{.site-header,.site-footer,.hero-stage,[data-sonner-toaster],.consent-bar,.ad-slot{display:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-tracking{syntax:"*";inherits:false}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
