.uv-github-account{justify-content:flex-end;align-items:center;gap:var(--umd-space-8);overflow-wrap:anywhere;text-align:end;flex-wrap:wrap;min-width:0;margin-inline-start:auto;display:flex}.umd-bottom-sheet .umd-btn.uv-github-disconnect{padding:0 var(--umd-space-8);color:var(--umd-danger);font-size:var(--umd-text-sm);background:0 0;border:0}@media (hover:hover){.umd-bottom-sheet .umd-btn.uv-github-disconnect:hover{background:var(--umd-danger-bg)}}.uv-github-row{gap:var(--umd-space-8);display:flex}.uv-github-row>.umd-btn{min-width:0;padding-inline:var(--umd-space-8);white-space:nowrap;flex:1 1 0}.umd-btn.uv-github-secondary{color:var(--umd-text);border:1px solid var(--umd-border);background:0 0}.uv-github-hint{color:var(--umd-muted);font-size:var(--umd-text-sm)}.uv-github-code{text-align:center;padding:var(--umd-space-16);border-radius:var(--umd-radius-md);background:var(--umd-hover-bg);font:var(--umd-weight-semibold) var(--umd-text-2xl)/1.5 var(--umd-font-mono);display:block}.uv-github-repositories{gap:var(--umd-space-4);display:grid}.uv-github-repository{align-items:center;gap:var(--umd-space-12);padding:var(--umd-space-12);border-radius:var(--umd-radius-md);cursor:pointer;min-height:44px;display:flex}.uv-github-repository span{overflow-wrap:anywhere;min-width:0}.uv-github-repository strong,.uv-github-repository small{display:block}.uv-github-repository small{color:var(--umd-muted)}.uv-github-repository.is-pressed{background:var(--umd-hover-bg)}@media (hover:hover){.uv-github-repository:hover{background:var(--umd-hover-bg)}}#uv-github-first{display:none}[data-host=mobile] .uv-landing[data-start=first] #uv-github-first:not([hidden]){margin-top:var(--umd-space-12);display:block}@media (hover:hover){.umd-bottom-sheet .umd-btn.uv-github-secondary:hover{background:var(--umd-hover-bg)}}:root{--umd-font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, sans-serif;--umd-font-serif:Georgia, "Times New Roman", Times, serif;--umd-font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--umd-font-brand:"Rubik", var(--umd-font-system);--umd-text-2xs:.625rem;--umd-text-xs:.688rem;--umd-text-sm:.75rem;--umd-text-md:.813rem;--umd-text-base:.875rem;--umd-text-lg:1rem;--umd-text-xl:calc(1rem + .125 * var(--umd-text-unit));--umd-text-2xl:calc(1rem + .25 * var(--umd-text-unit));--umd-text-3xl:calc(1rem + .5 * var(--umd-text-unit));--umd-text-4xl:calc(1rem + var(--umd-text-unit));--umd-text-unit:16px;--umd-text-display-sm:calc(1rem + 1.5 * var(--umd-text-unit));--umd-text-display:calc(1rem + 2.5 * var(--umd-text-unit));--umd-container:1120px;--umd-container-narrow:720px;--umd-leading-tight:1.25;--umd-leading-snug:1.4;--umd-leading-normal:1.6;--umd-weight-regular:400;--umd-weight-medium:500;--umd-weight-semibold:600;--umd-weight-bold:700;--umd-space-2:2px;--umd-space-4:4px;--umd-space-6:6px;--umd-space-8:8px;--umd-space-12:12px;--umd-space-16:16px;--umd-space-20:20px;--umd-space-24:24px;--umd-space-32:32px;--umd-space-40:40px;--umd-space-48:48px;--umd-radius-sm:4px;--umd-radius-md:6px;--umd-radius-lg:8px;--umd-radius-xl:12px;--umd-radius-2xl:28px;--umd-radius-full:999px;--umd-hover-bg:color-mix(in srgb, var(--umd-accent) 8%, transparent);--umd-active-bg:color-mix(in srgb, var(--umd-accent) 12%, transparent);--umd-toc-active-bg:var(--umd-hover-bg);--umd-shadow-xs:0 1px 1px #0003;--umd-shadow-sm:0 1px 2px #00000026;--umd-shadow-md:0 4px 16px #0000002e;--umd-shadow-lg:0 30px 80px #0000001f;--umd-shadow-edge:-8px 0 24px #0000001f;--umd-z-base:1;--umd-z-raised:2;--umd-z-handle:3;--umd-z-float:5;--umd-z-bar:6;--umd-z-find:7;--umd-z-chrome:10;--umd-z-popover:200;--umd-z-overlay:9999;--umd-z-toast:10000;--umd-z-top:2147480000;--umd-duration-instant:.12s;--umd-duration-fast:.15s;--umd-duration-base:.2s;--umd-duration-moderate:.25s;--umd-duration-slow:.3s;--umd-duration-spring:.5s;--umd-duration-spinner:.8s;--umd-duration-arc:1.333s;--umd-duration-pulse:1.4s;--umd-duration-flash:1.5s;--umd-ease-standard:cubic-bezier(.2, 0, 0, 1);--umd-ease-enter:cubic-bezier(.2, .9, .3, 1);--umd-ease-exit:cubic-bezier(.4, 0, 1, 1);--umd-ease-spring:cubic-bezier(.25, 1.1, .4, 1);--umd-ease-spring-uikit:linear(0, .05, .165, .308, .455, .59, .706, .801, .874, .929, .967, .992, 1.008, 1.016, 1.019, 1.02, 1.018, 1.015, 1.013, 1.01, 1.007, 1.005, 1.003, 1.002, 1);--umd-overlay-icon:#fff;--umd-switch-knob:#fff;--umd-info-bg:color-mix(in srgb, var(--umd-accent) 10%, transparent);--umd-info-border:color-mix(in srgb, var(--umd-accent) 30%, transparent);--umd-danger-bg:color-mix(in srgb, var(--umd-danger) 8%, transparent);--umd-danger-border:color-mix(in srgb, var(--umd-danger) 30%, transparent)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--umd-bg:#fff;--umd-canvas:#fafaf7;--umd-surface:#fff;--umd-text:#1c1917;--umd-heading:#0c0a09;--umd-muted:#6f6863;--umd-subtle:#8f8984;--umd-border:#e7e5e4;--umd-border-strong:#d6d3d1;--umd-border-muted:color-mix(in srgb, var(--umd-border-strong) 70%, transparent);--umd-accent:#b45309;--umd-accent-hover:#92400e;--umd-accent-text:#fff;--umd-success:#4d7c5a;--umd-status-off:#9c5a5a;--umd-danger:#b42318;--umd-warning-bg:#fef9e7;--umd-warning-border:#f0d56c;--umd-warning-text:#6b5611;--umd-overlay-bg:color-mix(in srgb, var(--umd-bg) 70%, transparent);--umd-overlay-blur:6px;--umd-overlay-text:#111111e0;--umd-overlay-caption:#111111d1;--umd-overlay-muted:#1111118c;--umd-overlay-control-bg:#00000012;--umd-overlay-control-hover:#0000001a;--umd-fill:color-mix(in srgb, var(--umd-text) 7%, transparent);--umd-glass:color-mix(in srgb, var(--umd-surface) 84%, transparent);--umd-glass-shadow:0 6px 24px #1c191724, 0 0 0 .5px #1c19171a;--umd-search-fill:#7676801f;--umd-search-secondary:#3c3c4399;--umd-search-tertiary:#3c3c434d;--umd-mascot-sole:#1c1917;--umd-mascot-ground:#0000001a}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--umd-bg:#1c1917;--umd-canvas:#1c1917;--umd-surface:#24201d;--umd-text:#f0ece4;--umd-heading:#fafaf5;--umd-muted:#a8a29e;--umd-subtle:#78716c;--umd-border:#3d3733;--umd-border-strong:#4a433e;--umd-border-muted:color-mix(in srgb, var(--umd-border-strong) 70%, transparent);--umd-accent:#d97706;--umd-accent-hover:#f59e0b;--umd-accent-text:#1c1917;--umd-success:#7fb08c;--umd-status-off:#d69a9a;--umd-danger:#f87171;--umd-warning-bg:#2d2a1a;--umd-warning-border:#6b5611;--umd-warning-text:#f0d56c;--umd-overlay-bg:color-mix(in srgb, var(--umd-bg) 70%, transparent);--umd-overlay-blur:6px;--umd-overlay-text:#ffffffe6;--umd-overlay-caption:#ffffffd9;--umd-overlay-muted:#fff9;--umd-overlay-control-bg:#00000073;--umd-overlay-control-hover:#ffffff2e;--umd-fill:color-mix(in srgb, var(--umd-text) 10%, transparent);--umd-glass:#2e2925e0;--umd-glass-shadow:0 6px 24px #0006, 0 0 0 .5px #ffffff14;--umd-search-fill:#7676803d;--umd-search-secondary:#ebebf599;--umd-search-tertiary:#ebebf54d;--umd-mascot-sole:#f5f1e8;--umd-mascot-ground:#ffffff14}input,textarea,select,[contenteditable]{-webkit-user-select:text;user-select:text}.umd-btn{justify-content:center;align-items:center;gap:var(--umd-space-6);padding:var(--umd-space-8) var(--umd-space-16);border-radius:var(--umd-radius-md);background:var(--umd-accent);color:var(--umd-accent-text);font:inherit;font-size:var(--umd-text-base);cursor:pointer;transition:background var(--umd-duration-fast);border:0;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}@media (hover:hover){.umd-btn:hover{background:var(--umd-accent-hover)}}.umd-btn--danger{background:var(--umd-danger)}@media (hover:hover){.umd-btn--danger:hover{background:var(--umd-danger);filter:brightness(.92)}}.popup-header-link,.opts-header-link{align-items:center;gap:var(--umd-space-4);padding:var(--umd-space-4) var(--umd-space-8);border-radius:var(--umd-radius-sm);color:var(--umd-muted);font:inherit;font-size:var(--umd-text-sm);cursor:pointer;transition:color var(--umd-duration-fast), background var(--umd-duration-fast);background:0 0;border:0;text-decoration:none;display:inline-flex}@media (hover:hover){.popup-header-link:hover,.opts-header-link:hover{color:var(--umd-text);background:var(--umd-hover-bg)}}.umd-callout{align-items:flex-start;gap:var(--umd-space-8);padding:calc(var(--umd-space-8) + 1px) calc(var(--umd-space-12) + 1px);box-shadow:inset 0 0 0 1px var(--umd-callout-edge,currentColor);border-radius:var(--umd-radius-md);color:var(--umd-text);font-family:var(--umd-font-system);font-size:var(--umd-text-md);text-align:left;border:0;font-style:normal;line-height:1.45;display:flex}.umd-callout__icon{flex-shrink:0;margin-top:1px}.umd-callout__body{overflow-wrap:anywhere;flex:1;min-width:0}.umd-callout__title{font-weight:600;display:block}.umd-callout__text{margin:0}.umd-callout__title+.umd-callout__text{margin-top:var(--umd-space-2)}.umd-callout__actions{gap:var(--umd-space-8);margin-top:var(--umd-space-8);flex-wrap:wrap;display:flex}.umd-callout pre{margin:var(--umd-space-8) 0 0;color:inherit;font-family:var(--umd-font-mono);font-size:var(--umd-text-sm);white-space:pre-wrap;word-break:break-word;background:0 0;border:0;padding:0}.umd-callout--info{background:var(--umd-info-bg);--umd-callout-edge:var(--umd-info-border)}.umd-callout--info .umd-callout__icon{color:var(--umd-accent)}.umd-callout--warning{background:var(--umd-warning-bg);--umd-callout-edge:var(--umd-warning-border);color:var(--umd-warning-text)}.umd-callout--warning a{color:inherit;font-weight:600}.file-access-warning__img:empty{display:none}.file-access-warning__img img{max-width:100%;margin-top:var(--umd-space-8);border-radius:var(--umd-radius-md);border:1px solid var(--umd-border);display:block}.umd-callout--danger{background:var(--umd-danger-bg);--umd-callout-edge:var(--umd-danger-border)}.umd-callout--danger .umd-callout__icon{color:var(--umd-danger)}.umd-toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + var(--umd-space-16));z-index:var(--umd-z-toast);box-sizing:border-box;width:min(480px, calc(100% - 2 * var(--umd-space-16)));border-radius:var(--umd-radius-md);background:var(--umd-surface);box-shadow:var(--umd-shadow-lg);cursor:pointer;animation:umd-toast-in var(--umd-duration-base) var(--umd-ease-enter);transition:opacity var(--umd-duration-base) var(--umd-ease-exit);position:fixed;transform:translate(-50%)}.umd-toast[popover]{height:auto;color:inherit;border:0;margin:0;padding:0;top:auto;right:auto;overflow:visible}.umd-toast.is-leaving{opacity:0}@keyframes umd-toast-in{0%{opacity:0;transform:translate(-50%, var(--umd-space-8))}}@media (prefers-reduced-motion:reduce){.umd-toast{transition:none;animation:none}}.umd-callout--empty{padding:var(--umd-space-8) var(--umd-space-12);border:1px dashed var(--umd-border);box-shadow:none;color:var(--umd-muted);background:0 0}@media (pointer:coarse){input:not([type=checkbox],[type=radio],[type=range]),textarea,select{font-size:max(var(--umd-text-lg), 1em)!important}}.umd-bottom-sheet[open]{-webkit-user-select:none;user-select:none;font:var(--umd-text-base)/1.5 var(--umd-font-system);width:100%;max-width:640px;max-height:none;color:var(--umd-text);background:0 0;border:0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:visible}.umd-bottom-sheet::backdrop{transition:opacity var(--umd-duration-moderate) ease;background:#00000059}@starting-style{.umd-bottom-sheet[open]::backdrop{opacity:0}}.umd-bottom-sheet.is-closing::backdrop{opacity:0}.umd-bottom-sheet-panel{box-sizing:border-box;max-height:calc(100dvh - var(--umd-space-48));padding-bottom:env(safe-area-inset-bottom,0px);border-radius:var(--umd-radius-xl) var(--umd-radius-xl) 0 0;background:var(--umd-surface);box-shadow:var(--umd-shadow-md);transition:transform var(--umd-duration-moderate) var(--umd-ease-enter);outline:none;flex-direction:column;display:flex}@starting-style{.umd-bottom-sheet[open] .umd-bottom-sheet-panel{transform:translateY(100%)}}.umd-bottom-sheet.is-closing .umd-bottom-sheet-panel{transition-timing-function:var(--umd-ease-exit);transform:translateY(100%)}.umd-bottom-sheet-header{align-items:center;gap:var(--umd-space-12);padding:var(--umd-space-8) var(--umd-space-16) var(--umd-space-16);touch-action:none;display:flex}.umd-bottom-sheet-header h2{align-items:center;gap:var(--umd-space-8);font-size:var(--umd-text-2xl);font-weight:var(--umd-weight-semibold);margin:0;display:flex}.umd-bottom-sheet-header h2 svg{flex:none}.umd-bottom-sheet-body{gap:var(--umd-space-12);padding:0 var(--umd-space-16) var(--umd-space-16);flex-direction:column;display:flex;overflow-y:auto}.umd-bottom-sheet-body p{margin:0}.umd-bottom-sheet-body input[type=search]{padding:var(--umd-space-12);background:var(--umd-bg);color:var(--umd-text);border:1px solid var(--umd-border);border-radius:var(--umd-radius-md);font:inherit}.umd-bottom-sheet .umd-btn{min-height:44px}.umd-bottom-sheet .umd-btn:disabled{opacity:.45;cursor:default}.umd-bottom-sheet-body--rows{padding:0 0 var(--umd-space-8);gap:0}.umd-bottom-sheet-grabber{touch-action:none;width:36px;height:5px;margin:var(--umd-space-8) auto var(--umd-space-4);border-radius:var(--umd-radius-full);background:var(--umd-border);flex:none}[data-platform=android] .umd-bottom-sheet-panel{border-radius:var(--umd-radius-2xl) var(--umd-radius-2xl) 0 0;box-shadow:none}[data-platform=android] .umd-bottom-sheet-grabber{width:32px;height:4px;margin:var(--umd-space-20) auto var(--umd-space-12);background:var(--umd-muted);opacity:.4}[data-platform=android] .umd-bottom-sheet::backdrop{background:#00000052}@media (prefers-reduced-motion:reduce){.umd-bottom-sheet-panel{transition:none}}:root{accent-color:var(--umd-accent)}.umd-render-root{accent-color:auto}.umd-btn:focus-visible,.popup-header-link:focus-visible,.opts-header-link:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px}.umd-index-pill{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + var(--umd-space-16));z-index:var(--umd-z-popover);align-items:center;gap:var(--umd-space-8);padding:var(--umd-space-8) var(--umd-space-16);border:1px solid var(--umd-border);border-radius:var(--umd-radius-full);background:var(--umd-surface);box-shadow:var(--umd-shadow-md);color:var(--umd-text);font-size:var(--umd-text-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;animation:umd-toast-in var(--umd-duration-base) var(--umd-ease-enter);transition:opacity var(--umd-duration-base) var(--umd-ease-exit);display:inline-flex;position:fixed;overflow:hidden;transform:translate(-50%)}.umd-index-pill.is-leaving{opacity:0}.umd-index-pill__count{color:var(--umd-muted);font-variant-numeric:tabular-nums}.umd-index-pill__bar{background:var(--umd-border);height:2px;position:absolute;bottom:0;left:0;right:0}.umd-index-pill__fill{background:var(--umd-accent);width:0%;height:100%;transition:width var(--umd-duration-base) ease-out;display:block}.umd-index-pill__action{margin:calc(-1 * var(--umd-space-8)) calc(-1 * var(--umd-space-8)) calc(-1 * var(--umd-space-8)) 0;padding:var(--umd-space-8);color:var(--umd-accent);font:inherit;font-weight:var(--umd-weight-semibold);cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:none}.umd-index-pill__action--quiet{color:var(--umd-muted);font-weight:var(--umd-weight-regular)}.umd-index-pill__action:focus-visible{outline:2px solid var(--umd-accent);outline-offset:-2px;border-radius:var(--umd-radius-sm)}.umd-index-pill[data-mode=failed]{box-sizing:border-box;width:max-content;max-width:min(480px, calc(100% - 2 * var(--umd-space-16)));white-space:normal}.umd-index-pill[data-mode=asking]{align-items:stretch;gap:var(--umd-space-4);box-sizing:border-box;width:min(480px, calc(100% - 2 * var(--umd-space-16)));padding:var(--umd-space-12) var(--umd-space-16);border-radius:var(--umd-radius-md);box-shadow:var(--umd-shadow-lg);white-space:normal;flex-direction:column}.umd-index-pill__title{font-weight:var(--umd-weight-semibold)}.umd-index-pill__text{color:var(--umd-muted);overflow-wrap:anywhere;margin:0}.umd-index-pill__actions{justify-content:flex-end;gap:var(--umd-space-8);margin:0 calc(-1 * var(--umd-space-8)) calc(-1 * var(--umd-space-8));display:flex}.umd-index-pill__actions .umd-index-pill__action{margin:0}@media (prefers-reduced-motion:reduce){.umd-index-pill{transition:none;animation:none}}@media print{.umd-index-pill{display:none}}.umd-ft-folder-icon{--umd-ft-unit:calc(var(--umd-ft-icon,16px) / 16);width:calc(13 * var(--umd-ft-unit));height:calc(11 * var(--umd-ft-unit));margin-right:calc(1 * var(--umd-ft-unit));flex-shrink:0;position:relative}.umd-ft-folder-icon:before{content:"";inset:calc(1.8 * var(--umd-ft-unit)) 0 0;background:var(--umd-muted);border-radius:calc(1 * var(--umd-ft-unit)) calc(2 * var(--umd-ft-unit)) calc(2 * var(--umd-ft-unit)) calc(2 * var(--umd-ft-unit));opacity:.5;position:absolute}.umd-ft-folder-icon:after{content:"";width:calc(5.2 * var(--umd-ft-unit));height:calc(2.75 * var(--umd-ft-unit));background:var(--umd-muted);border-radius:calc(1 * var(--umd-ft-unit)) calc(1 * var(--umd-ft-unit)) 0 0;opacity:.5;position:absolute;top:0;left:0}.umd-ft-row.umd-ft-open>.umd-ft-folder-icon:after{width:calc(11.3 * var(--umd-ft-unit));height:calc(9.2 * var(--umd-ft-unit));border-radius:calc(1 * var(--umd-ft-unit)) calc(2 * var(--umd-ft-unit)) 0 0;clip-path:polygon(0 0,45% 0,55% 20%,100% 20%,100% 100%,0 100%);opacity:.45}.umd-ft-row.umd-ft-open>.umd-ft-folder-icon:before{inset:calc(4.6 * var(--umd-ft-unit)) 0 0;border-radius:calc(1 * var(--umd-ft-unit));clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);opacity:.8}.umd-file-error{box-sizing:border-box;max-width:640px;padding:var(--umd-space-24);margin:10vh auto}.umd-file-error h1{font-size:var(--umd-text-2xl);color:var(--umd-heading)}.umd-file-error>p{color:var(--umd-muted);font-size:var(--umd-text-md)}.umd-file-error__actions{gap:var(--umd-space-8);margin-top:var(--umd-space-16);flex-wrap:wrap;display:flex}.umd-find-bar{z-index:var(--umd-z-find);padding:calc(var(--umd-native-top,0px) + var(--umd-space-8)) max(var(--umd-space-16), env(safe-area-inset-right,0px)) var(--umd-space-8) max(var(--umd-space-16), env(safe-area-inset-left,0px));background:color-mix(in srgb, var(--umd-bg) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);border-bottom:1px solid color-mix(in srgb, var(--umd-border) 60%, transparent);font-family:var(--umd-font-system);position:fixed;top:0;left:0;right:0}.umd-find-bar[hidden]{display:none}.umd-find-row{align-items:center;gap:var(--umd-space-8);transform-origin:calc(100% - 18px) 0;display:flex}.umd-find-field{align-items:center;gap:var(--umd-space-6);min-width:0;height:36px;padding:0 var(--umd-space-6) 0 var(--umd-space-8);background:var(--umd-search-fill);color:var(--umd-search-secondary);border-radius:18px;flex:1;display:flex}.umd-find-field input{min-width:0;height:100%;color:var(--umd-text);font:inherit;letter-spacing:-.02em;appearance:none;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:17px}.umd-find-field input::-webkit-search-cancel-button{display:none}.umd-find-field input:focus{outline:none}.umd-find-field input::placeholder{color:var(--umd-search-secondary);opacity:1}.umd-find-count{font-variant-numeric:tabular-nums;color:var(--umd-search-secondary);flex-shrink:0;font-size:15px}.umd-find-bar--none .umd-find-count{color:var(--umd-danger)}.umd-find-clear{width:28px;height:28px;color:var(--umd-search-tertiary);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin-right:-2px;padding:0;display:inline-flex}.umd-find-clear[hidden],.umd-find-steps[hidden]{display:none}.umd-find-steps{background:var(--umd-search-fill);border-radius:18px;flex-shrink:0;height:36px;display:flex}.umd-find-btn{width:40px;height:36px;color:var(--umd-text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}#umd-find-close{background:var(--umd-search-fill);width:36px}.umd-find-btn:disabled{color:var(--umd-search-tertiary);cursor:default}.umd-find-btn:active:not(:disabled){opacity:.5}.umd-find-btn:focus-visible,.umd-find-clear:focus-visible{outline:2px solid var(--umd-accent);outline-offset:-2px}mark.umd-find-hit{background:var(--ujv-highlight-bg,color-mix(in srgb, var(--umd-accent) 28%, transparent));color:var(--ujv-highlight-text,inherit);border-radius:2px}mark.umd-find-current{outline:2px solid var(--umd-accent);outline-offset:1px}.umd-find-open,.umd-find-open .umd-content{scroll-padding-top:calc(var(--umd-native-top,0px) + 60px)}.umd-reading-bar{display:none}@media (width<=768px) and (orientation:portrait){[data-chrome=native] .umd-reading-bar{left:max(var(--umd-space-16), env(safe-area-inset-left,0px));right:max(var(--umd-space-16), env(safe-area-inset-right,0px));bottom:max(calc(env(safe-area-inset-bottom,0px) - var(--umd-space-4)), var(--umd-space-16));z-index:var(--umd-z-bar);align-items:center;gap:var(--umd-space-8);transition:transform var(--umd-duration-moderate) var(--umd-ease-standard), opacity var(--umd-duration-moderate) var(--umd-ease-standard);display:flex;position:fixed}[data-chrome=native].umd-has-reading-bar .umd-content{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}}:is(.umd-find-open .umd-reading-bar,:root:has(.umd-sheet[open]) .umd-reading-bar,[data-bar-hidden] .umd-reading-bar){transform:translateY(calc(100% + var(--umd-space-48)));opacity:0;pointer-events:none}.umd-rb-contents,.umd-rb-button{border-radius:var(--umd-radius-full);background:var(--umd-glass);height:52px;box-shadow:var(--umd-glass-shadow);-webkit-backdrop-filter:blur(20px)saturate(1.8);backdrop-filter:blur(20px)saturate(1.8);color:var(--umd-text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--umd-duration-instant) ease-out;border:0}.umd-rb-contents:active,.umd-rb-button:active{transform:scale(.96)}.umd-rb-contents:focus-visible,.umd-rb-button:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px}.umd-rb-contents{align-items:center;gap:var(--umd-space-8);min-width:0;padding:0 var(--umd-space-16);text-align:left;flex:1;display:flex}.umd-rb-icon{color:var(--umd-accent);flex:none;display:flex}.umd-rb-section{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:min(var(--umd-text-base), .95 * var(--umd-text-unit));font-weight:var(--umd-weight-semibold);flex:1;overflow:hidden}.umd-rb-count{color:var(--umd-muted);font-size:min(var(--umd-text-md), .875 * var(--umd-text-unit));font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.umd-rb-count:empty{display:none}.umd-rb-chevron{color:var(--umd-muted);flex:none;display:flex}.umd-rb-button{flex:none;place-items:center;width:52px;padding:0;display:grid}.umd-rb-button[hidden]{display:none}[data-platform=android] .umd-reading-bar{gap:var(--umd-space-4);height:64px;padding:0 var(--umd-space-8);border-radius:var(--umd-radius-full);background:var(--umd-glass);box-shadow:var(--umd-glass-shadow);-webkit-backdrop-filter:blur(20px)saturate(1.8);backdrop-filter:blur(20px)saturate(1.8)}[data-platform=android] :is(.umd-rb-contents,.umd-rb-button){height:48px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}[data-platform=android] .umd-rb-button{width:48px}[data-platform=android] .umd-rb-contents{background:var(--umd-active-bg)}[data-platform=android] .umd-rb-chevron{display:none}.umd-reading-bar--search{left:auto!important}[data-platform=android] .umd-reading-bar--search{justify-content:center;width:64px;padding:0}@media (prefers-reduced-motion:reduce){.umd-reading-bar,.umd-rb-contents,.umd-rb-button{transition:none}}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/rubik-latin-0V_ixqQm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/rubik-latin-ext-xIGCplNB.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@view-transition{navigation:auto}[data-uv-styling] body{visibility:hidden}:root:active-view-transition-type(ios-push,ios-pop,android-push,android-pop)::view-transition-old(root){mix-blend-mode:normal;animation-duration:var(--umd-duration-spring);animation-timing-function:var(--umd-ease-enter);animation-fill-mode:both}:root:active-view-transition-type(ios-push,ios-pop,android-push,android-pop)::view-transition-new(root){mix-blend-mode:normal;animation-duration:var(--umd-duration-spring);animation-timing-function:var(--umd-ease-enter);animation-fill-mode:both}:root:active-view-transition-type(ios-push)::view-transition-old(root){animation-name:umd-screen-behind}:root:active-view-transition-type(ios-push)::view-transition-new(root){box-shadow:var(--umd-shadow-edge);animation-name:umd-screen-in}:root:active-view-transition-type(ios-pop)::view-transition-old(root){z-index:1;box-shadow:var(--umd-shadow-edge);animation-name:umd-screen-out}:root:active-view-transition-type(ios-pop)::view-transition-new(root){animation-name:umd-screen-from-behind}:root:active-view-transition-type(android-push,android-pop)::view-transition-old(root){animation-duration:var(--umd-duration-slow);animation-timing-function:var(--umd-ease-standard)}:root:active-view-transition-type(android-push,android-pop)::view-transition-new(root){animation-duration:var(--umd-duration-slow);animation-timing-function:var(--umd-ease-standard)}:root:active-view-transition-type(android-push)::view-transition-old(root){animation-name:umd-axis-out-start}:root:active-view-transition-type(android-push)::view-transition-new(root){animation-name:umd-axis-in-end}:root:active-view-transition-type(android-pop)::view-transition-old(root){animation-name:umd-axis-out-end}:root:active-view-transition-type(android-pop)::view-transition-new(root){animation-name:umd-axis-in-start}@keyframes umd-screen-in{0%{transform:translate(100%)}}@keyframes umd-screen-out{to{transform:translate(100%)}}@keyframes umd-screen-behind{to{filter:brightness(.9);transform:translate(-30%)}}@keyframes umd-screen-from-behind{0%{filter:brightness(.9);transform:translate(-30%)}}@keyframes umd-axis-out-start{0%{opacity:1;transform:none}33%{opacity:0}to{opacity:0;transform:translate(-30px)}}@keyframes umd-axis-in-end{0%{opacity:0;transform:translate(30px)}33%{opacity:0}to{opacity:1;transform:none}}@keyframes umd-axis-out-end{0%{opacity:1;transform:none}33%{opacity:0}to{opacity:0;transform:translate(30px)}}@keyframes umd-axis-in-start{0%{opacity:0;transform:translate(-30px)}33%{opacity:0}to{opacity:1;transform:none}}*{box-sizing:border-box}body{background:var(--umd-canvas);color:var(--umd-text);font:var(--umd-text-lg)/1.5 var(--umd-font-system);-webkit-user-select:none;user-select:none;margin:0}:root[data-uv-opening] :is(.uv-landing,.umd-reading-bar){display:none}.uv-pending{z-index:var(--umd-z-base);position:fixed;inset:0;overflow:hidden}.uv-pending>.umd-content{min-height:100%}.uv-landing{max-width:640px;padding:var(--umd-space-48) var(--umd-space-16);gap:var(--umd-space-20);margin:0 auto;display:grid}[data-chrome=native]{font:-apple-system-body}[data-chrome=native][data-platform=ios]{--umd-text-unit:17px}[data-chrome=native][data-text-scale]{font-size:calc(100% * var(--umd-text-scale,1))}[data-chrome=native] .uv-landing{padding-top:calc(var(--umd-native-top,env(safe-area-inset-top,0px)) + var(--umd-space-24))}.uv-hero{text-align:center}.uv-mascot-slot{display:none}[data-host=mobile] .uv-mascot-slot{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:min(176px,50vw);margin:0 auto;display:block}[data-host=mobile] .uv-logo{display:none}.uv-hero h1{margin:var(--umd-space-8) 0 var(--umd-space-4);font-size:var(--umd-text-4xl)}.uv-hero>h1:first-child{margin:0 0 var(--umd-space-16)}.uv-hero>h1:first-child~.uv-tagline-hero{margin-top:var(--umd-space-16)}.uv-hero h1,.uv-landing>h2,.uv-card h2{font-family:var(--umd-font-brand);letter-spacing:-.01em;font-weight:600}.uv-tagline{color:var(--umd-muted);margin:0}.uv-tagline-hero{font-family:var(--umd-font-brand);font-size:min(var(--umd-text-3xl), calc((100vw - 2 * var(--umd-space-16)) / 14));letter-spacing:-.01em;color:var(--umd-text);white-space:nowrap;font-weight:500;line-height:1.25}.uv-tagline-hero+.uv-tagline{margin-top:var(--umd-space-4)}.uv-morph{color:var(--umd-accent);white-space:nowrap;font-weight:600}.uv-morph.is-morphing{vertical-align:bottom;perspective:20em;grid-template-columns:minmax(0,1fr);justify-items:center;display:inline-grid}.uv-morph-word{white-space:pre;grid-area:1/1}.uv-morph-word.is-ext{font-family:var(--umd-font-mono);letter-spacing:-.02em;font-size:.9em;font-weight:500}.uv-morph-letter{transform-origin:50% 60%;display:inline-block}.uv-morph-spoken{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.uv-tour{align-items:center;gap:var(--umd-space-12);padding:var(--umd-space-16) var(--umd-space-20);border-radius:var(--umd-radius-xl);background:var(--umd-accent);color:var(--umd-accent-text);-webkit-tap-highlight-color:transparent;transition:background-color var(--umd-duration-instant) ease-out;text-decoration:none;display:flex}.uv-tour:active{background:var(--umd-accent-hover)}@media (hover:hover){.uv-tour:hover{background:var(--umd-accent-hover)}}.uv-tour:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px}.uv-tour-icon,.uv-tour-chevron{flex:none}.uv-tour-text{gap:var(--umd-space-2);flex:1;min-width:0;display:grid}.uv-tour-title{font-family:var(--umd-font-brand);font-size:var(--umd-text-xl);letter-spacing:-.01em;font-weight:600}.uv-tour-hint{font-size:var(--umd-text-base)}.uv-smart{gap:var(--umd-space-8);display:grid}.uv-smart textarea{height:3.25rem;padding:var(--umd-space-12) var(--umd-space-16);border-color:var(--umd-subtle);border-radius:var(--umd-radius-xl);resize:none;transition:height var(--umd-duration-base) var(--umd-ease-standard);display:block}.uv-smart textarea::placeholder{color:var(--umd-muted);font-family:var(--umd-font-system);font-size:var(--umd-text-lg)}.uv-smart.has-input textarea{word-break:break-all;height:4.75rem}.uv-smart.has-text textarea{word-break:normal;resize:vertical;height:9rem}.uv-smart-row{justify-content:space-between;align-items:center;gap:var(--umd-space-8);min-height:2.25rem;display:flex}.uv-detected{align-items:center;gap:var(--umd-space-6);min-width:0;color:var(--umd-muted);font-size:var(--umd-text-base);white-space:nowrap;text-overflow:ellipsis;display:inline-flex;overflow:hidden}.uv-detected svg{flex:none}.uv-smart:not(.has-input) .uv-smart-row{display:none}.uv-open-row{gap:var(--umd-space-12);grid-template-columns:1fr 1fr;display:grid}.uv-open-tile{align-content:center;justify-items:center;gap:var(--umd-space-4);padding:var(--umd-space-16) var(--umd-space-8);border:1px solid var(--umd-subtle);border-radius:var(--umd-radius-xl);background:var(--umd-surface);color:var(--umd-text);font:inherit;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--umd-duration-instant) ease-out, background-color var(--umd-duration-instant) ease-out;display:grid}.uv-open-icon{color:var(--umd-accent)}.uv-open-label{font-weight:600}.uv-open-hint{color:var(--umd-muted);font-size:var(--umd-text-sm)}@media (hover:hover){.uv-open-tile:not([aria-disabled=true]):hover{border-color:var(--umd-accent)}}.uv-open-tile:not([aria-disabled=true]):active{background:var(--umd-hover-bg)}.uv-open-tile:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px}.uv-open-tile[aria-disabled=true]{color:var(--umd-muted);cursor:default;background:0 0;border-style:dashed}.uv-open-tile[aria-disabled=true] .uv-open-icon{color:var(--umd-subtle)}.uv-open-tile[aria-disabled=true] .uv-open-label{font-weight:400}@media (pointer:coarse){.uv-pointer-only{display:none}}.uv-landing{border-radius:var(--umd-radius-xl)}.uv-landing.is-over{outline:2px dashed var(--umd-accent);outline-offset:-8px;background:var(--umd-hover-bg)}.uv-landing.is-over .uv-open-tile:first-child{border-color:var(--umd-accent)}@media (prefers-reduced-motion:reduce){.uv-tour,.uv-smart textarea,.uv-open-tile{transition:none}}.uv-access-note[open]{width:min(400px, calc(100% - 2 * var(--umd-space-16)));border:1px solid var(--umd-border);border-radius:var(--umd-radius-xl);background:var(--umd-surface);color:var(--umd-text);box-shadow:var(--umd-shadow-md);padding:0}.uv-access-note::backdrop{background:#00000052}.uv-access-note-panel{justify-items:center;gap:var(--umd-space-12);padding:var(--umd-space-24) var(--umd-space-24) var(--umd-space-16);text-align:center;display:grid}.uv-access-note-icon{color:var(--umd-accent)}.uv-access-note p{font-size:var(--umd-text-lg);margin:0;line-height:1.5}.uv-access-note-actions{justify-content:center;gap:var(--umd-space-8);margin-top:var(--umd-space-4);flex-wrap:wrap;display:flex}.uv-access-note-cancel{padding:var(--umd-space-8) var(--umd-space-16);border-radius:var(--umd-radius-md);color:var(--umd-muted);font:inherit;font-size:var(--umd-text-base);cursor:pointer;background:0 0;border:0}@media (hover:hover){.uv-access-note-cancel:hover{background:var(--umd-hover-bg);color:var(--umd-text)}}.uv-access-note-cancel:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px}.uv-sample-restore{text-align:center;font-size:var(--umd-text-base);margin:0}.uv-text-button{color:var(--umd-accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.uv-text-button:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px;border-radius:var(--umd-radius-sm)}.uv-recent h2{margin:0 0 var(--umd-space-8);font-size:var(--umd-text-base);color:var(--umd-muted);font-weight:600}.uv-recent-list{border:1px solid var(--umd-border-strong);border-radius:var(--umd-radius-xl);background:var(--umd-surface);margin:0;padding:0;list-style:none;overflow:hidden}.uv-recent-item{position:relative;overflow:hidden}.uv-recent-item+.uv-recent-item{border-top:1px solid var(--umd-border)}.uv-recent-item.is-collapsing{transition:height var(--umd-duration-moderate) var(--umd-ease-enter)}.uv-recent-remove{background:var(--umd-danger);color:#fff;font:inherit;font-size:var(--umd-text-base);cursor:pointer;border:0;justify-content:flex-end;padding:0;font-weight:600;display:flex;position:absolute;inset:0}.uv-recent-remove-label{width:88px;transition:transform var(--umd-duration-slow) var(--umd-ease-enter);place-items:center;display:grid}.uv-recent-row{align-items:flex-start;gap:var(--umd-space-12);width:100%;padding:var(--umd-space-12) var(--umd-space-16);background:var(--umd-surface);color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:transform var(--umd-duration-slow) var(--umd-ease-enter);border:0;display:flex;position:relative}.uv-recent-item.is-swiping .uv-recent-row,.uv-recent-item.is-swiping .uv-recent-remove-label{will-change:transform;transition:none}.uv-recent-item.is-swiping.is-arming .uv-recent-remove-label{transition:transform var(--umd-duration-fast) ease-out}.uv-recent-item:not(.is-swiping):not(.is-open) .uv-recent-row:active{background:var(--umd-canvas)}.uv-recent-row:focus-visible{outline:2px solid var(--umd-accent);outline-offset:-2px}.uv-folder-heading{justify-content:space-between;align-items:center;gap:var(--umd-space-12);display:flex}.uv-folder-heading h2{flex:1}.uv-add-folder{width:44px;height:44px;border-radius:var(--umd-radius-full);color:var(--umd-accent);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-inline-end:calc(-1 * var(--umd-space-8));padding:0;display:grid}.uv-add-folder:active{background:var(--umd-hover-bg)}.uv-add-folder:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px}@media (hover:hover){.uv-add-folder:hover{background:var(--umd-hover-bg)}}.uv-recent-icon{width:24px;height:1.5em;color:var(--umd-muted);flex:none;justify-content:center;align-items:center;display:flex}.uv-recent-icon svg{width:22px;height:22px;display:block}.uv-recent-icon .umd-ft-folder-icon{--umd-ft-icon:22px;margin:0}.uv-recent-item--sample .uv-recent-icon{color:var(--umd-accent)}.uv-recent-item--sample .umd-ft-folder-icon:before,.uv-recent-item--sample .umd-ft-folder-icon:after{background:var(--umd-accent);opacity:1}.uv-recent-item--sample .umd-ft-folder-icon:before{opacity:.85}.uv-recent-text{flex:1;min-width:0;display:grid}.uv-recent-head{align-items:baseline;gap:var(--umd-space-8);min-width:0;display:flex}.uv-recent-name{overflow-wrap:anywhere;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1;min-width:0;font-weight:600;display:-webkit-box;overflow:hidden}.uv-recent-when,.uv-recent-count,.uv-recent-badge{color:var(--umd-muted);font-size:var(--umd-text-sm);flex:none}.uv-recent-item--github .uv-recent-badge{align-items:center;gap:var(--umd-space-4);display:inline-flex}.uv-recent-item--github .uv-recent-badge svg{flex:none}.uv-recent-where{color:var(--umd-muted);font-size:var(--umd-text-sm);overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){.uv-recent-row,.uv-recent-remove-label,.uv-recent-item.is-collapsing{transition:none}}input,textarea{font:inherit;color:inherit;background:var(--umd-surface);border:1px solid var(--umd-border-strong);border-radius:var(--umd-radius-md);padding:var(--umd-space-8) var(--umd-space-12)}textarea{width:100%;font-family:var(--umd-font-mono);font-size:var(--umd-text-base)}input:focus,textarea:focus{outline:2px solid var(--umd-accent);outline-offset:-1px}.uv-values,.uv-home-search,.uv-home-search-empty,.uv-share-hint,.uv-fab{display:none}.uv-clip[hidden],.uv-home-search-empty[hidden]{display:none!important}[data-host=mobile] .uv-landing{gap:var(--umd-space-16);min-height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--umd-space-24));flex-direction:column;display:flex}[data-host=mobile] .uv-smart{display:none}[data-host=mobile] .uv-recent h2{margin:0 0 var(--umd-space-12);color:var(--umd-text);font-size:var(--umd-text-2xl);font-weight:var(--umd-weight-bold);letter-spacing:-.01em}[data-host=mobile] .uv-clip{align-items:center;gap:var(--umd-space-12);padding:var(--umd-space-12) var(--umd-space-6) var(--umd-space-12) var(--umd-space-12);border-radius:var(--umd-radius-2xl);background:var(--umd-surface);box-shadow:0 0 0 1px var(--umd-border);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.uv-clip-icon,.uv-values-icon,.uv-open-sheet-icon{border-radius:var(--umd-radius-xl);background:var(--umd-info-bg);color:var(--umd-accent);flex:none;place-items:center;display:grid}.uv-clip-icon{width:36px;height:36px}.uv-clip-text{min-width:0;display:grid}.uv-clip-title,.uv-clip-hint{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uv-clip-title{font-weight:var(--umd-weight-semibold)}.uv-clip-hint{color:var(--umd-muted);font-size:var(--umd-text-md)}.uv-clip-paste{height:34px;padding:0 var(--umd-space-16);border-radius:var(--umd-radius-full);background:var(--umd-accent);color:var(--umd-accent-text);font:inherit;font-weight:var(--umd-weight-semibold);-webkit-tap-highlight-color:transparent;border:0}.uv-clip-paste:active{background:var(--umd-accent-hover)}.uv-clip-close{border-radius:var(--umd-radius-full);width:32px;height:32px;color:var(--umd-muted);-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;padding:0;display:grid}.uv-clip-close:active{background:var(--umd-fill)}.uv-clip-paste:focus-visible,.uv-clip-close:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px}[data-host=mobile] .uv-landing[data-start=first] .uv-mascot-slot{width:min(124px,34vw)}[data-host=mobile] .uv-landing[data-start=first] .uv-hero>h1:first-child{margin-bottom:var(--umd-space-12)}[data-host=mobile] .uv-landing[data-start=first] .uv-hero>h1:first-child~.uv-tagline-hero{margin-top:var(--umd-space-8);font-size:min(var(--umd-text-2xl), calc((100vw - 2 * var(--umd-space-16)) / 14))}[data-host=mobile] .uv-landing[data-start=first] .uv-values{gap:var(--umd-space-16);margin:var(--umd-space-24) 0 0;padding:0 var(--umd-space-8);text-align:left;list-style:none;display:grid}.uv-values li{align-items:flex-start;gap:var(--umd-space-16);color:var(--umd-muted);font-size:var(--umd-text-base);line-height:var(--umd-leading-snug);display:flex}.uv-values-icon{width:40px;height:40px}.uv-values strong{color:var(--umd-text);font-size:var(--umd-text-lg);font-weight:var(--umd-weight-semibold);display:block}[data-host=mobile] .uv-landing[data-start=first] :is(.uv-recent,.uv-home-search){display:none}[data-host=mobile] .uv-landing[data-start=first] .uv-tour{min-height:56px;padding:0 var(--umd-space-24);border-radius:var(--umd-radius-full);justify-content:center;margin-top:auto}[data-host=mobile] .uv-landing[data-start=first] :is(.uv-tour-hint,.uv-tour-chevron){display:none}[data-host=mobile] .uv-landing[data-start=first] .uv-tour-text{flex:none}[data-host=mobile] .uv-landing[data-start=first] .uv-tour-title{font-size:var(--umd-text-lg)}[data-host=mobile] .uv-landing[data-start=first] .uv-open-row{gap:var(--umd-space-12)}[data-host=mobile] .uv-landing[data-start=first] .uv-open-tile{justify-content:center;gap:var(--umd-space-8);min-height:50px;padding:0 var(--umd-space-12);border-radius:var(--umd-radius-full);background:var(--umd-fill);border:0;grid-auto-flow:column}[data-host=mobile] .uv-landing[data-start=first] .uv-share-hint{color:var(--umd-muted);font-size:var(--umd-text-md);text-align:center;margin:0;display:block}[data-chrome=native] .uv-landing[data-start=returning]{padding-top:calc(var(--umd-native-top,env(safe-area-inset-top,0px)) + var(--umd-space-4))}[data-host=mobile] .uv-landing[data-start=returning] .uv-hero{align-items:center;gap:var(--umd-space-12);text-align:left;display:flex}[data-host=mobile] .uv-landing[data-start=returning] .uv-hero>h1:first-child{font-size:var(--umd-text-4xl);order:2;margin:0}[data-host=mobile] .uv-landing[data-start=returning] .uv-logo{--uv-logo-rim:6;order:1;width:34px;height:34px;display:block}[data-host=mobile] .uv-landing[data-start=returning] :is(.uv-mascot-slot,.uv-tagline,.uv-tour,.uv-share-hint){display:none}[data-host=mobile] .uv-landing[data-start=returning][data-search-field] .uv-home-search{align-items:center;gap:var(--umd-space-6);height:36px;padding:0 var(--umd-space-8);background:var(--umd-search-fill);color:var(--umd-search-secondary);border-radius:18px;display:flex}[data-host=mobile] .uv-home-search svg{flex:none}[data-host=mobile] .uv-home-search input{min-width:0;height:100%;color:var(--umd-text);letter-spacing:-.02em;appearance:none;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:17px}[data-host=mobile] .uv-home-search input::placeholder{color:var(--umd-search-secondary);opacity:1}[data-host=mobile] .uv-home-search input::-webkit-search-decoration{-webkit-appearance:none}[data-host=mobile] .uv-landing[data-start=returning] .uv-home-search-empty:not([hidden]){display:block}[data-host=mobile] .uv-recent.is-filtered-out{display:none}[data-host=mobile] .uv-landing[data-start=returning] #uv-recent{order:1}[data-host=mobile] .uv-landing[data-start=returning] #uv-recent-folders{order:2}[data-host=mobile] .uv-landing[data-start=returning]{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 104px)}[data-host=mobile] #uv-recent{--uv-recent-layout:cards}[data-host=mobile] #uv-recent .uv-recent-list{gap:var(--umd-space-12);margin:0 calc(var(--umd-space-16) * -1);padding:var(--umd-space-4) var(--umd-space-16) var(--umd-space-12);scroll-snap-type:x mandatory;scroll-padding-inline:var(--umd-space-16);scrollbar-width:none;background:0 0;border:0;border-radius:0;display:flex;overflow:auto hidden}[data-host=mobile] #uv-recent .uv-recent-list::-webkit-scrollbar{display:none}.uv-recent-card{scroll-snap-align:start;width:152px;transition:transform var(--umd-duration-fast) var(--umd-ease-standard), opacity var(--umd-duration-moderate) var(--umd-ease-exit);flex:none;position:relative;overflow:visible}.uv-recent-card+.uv-recent-card{border-top:0}.uv-recent-card .uv-recent-row{border-radius:var(--umd-radius-xl);background:var(--umd-surface);height:100%;box-shadow:0 0 0 1px var(--umd-border), var(--umd-shadow-xs);touch-action:manipulation;transition:transform var(--umd-duration-fast) var(--umd-ease-standard);flex-direction:column;align-items:stretch;gap:0;padding:0;display:flex;overflow:hidden}.uv-recent-card .uv-recent-row:active{background:var(--umd-surface);transform:scale(.97)}.uv-recent-card .uv-recent-text{padding:var(--umd-space-8) var(--umd-space-12) var(--umd-space-12)}.uv-recent-card .uv-recent-name{font-size:var(--umd-text-base);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.uv-recent-card .uv-recent-where{font-size:var(--umd-text-sm);white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;overflow:hidden}.uv-recent-card.is-menu{z-index:var(--umd-z-base);transform:scale(1.03)}.uv-recent-card.is-menu .uv-recent-row{box-shadow:0 0 0 1px var(--umd-border), var(--umd-shadow-md)}.uv-recent-card.is-removing{opacity:0;transform:scale(.8)}.uv-recent-card-remove{top:var(--umd-space-8);right:var(--umd-space-8);height:30px;padding:0 var(--umd-space-12);border-radius:var(--umd-radius-full);background:var(--umd-danger);color:var(--umd-accent-text);font:inherit;font-size:var(--umd-text-md);font-weight:var(--umd-weight-semibold);box-shadow:var(--umd-shadow-md);opacity:0;pointer-events:none;transition:opacity var(--umd-duration-fast), transform var(--umd-duration-fast) var(--umd-ease-spring);border:0;position:absolute;transform:scale(.8)}.uv-recent-card.is-menu .uv-recent-card-remove,.uv-recent-card-remove:focus-visible{opacity:1;pointer-events:auto;transform:none}@media (prefers-reduced-motion:reduce){.uv-recent-card,.uv-recent-card .uv-recent-row,.uv-recent-card-remove{transition:none}}.uv-preview{height:96px;padding:var(--umd-space-12) var(--umd-space-12) 0;background:var(--umd-fill);color:var(--umd-muted);text-align:left;flex-direction:column;gap:3px;font-size:8.5px;line-height:1.35;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.uv-preview-title{color:var(--umd-text);font-size:10.5px;font-weight:var(--umd-weight-bold);margin-bottom:2px;line-height:1.2}.uv-preview-line{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.uv-preview--code,.uv-preview--tree{font-family:var(--umd-font-mono);gap:2px;font-size:8px}.uv-preview--code .uv-preview-line,.uv-preview--tree .uv-preview-line{white-space:pre;text-overflow:clip;display:block}.uv-preview--table{padding-inline:var(--umd-space-8);gap:0}.uv-preview-row{gap:var(--umd-space-4);padding:3px var(--umd-space-4);border-bottom:1px solid var(--umd-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.uv-preview-row>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uv-preview-row.is-head{color:var(--umd-text);font-weight:var(--umd-weight-semibold)}.uv-preview--icon{justify-content:center;align-items:center;padding:0;-webkit-mask-image:none;mask-image:none}.uv-preview--icon svg{width:32px;height:32px}[data-host=mobile] #uv-recent-folders .uv-recent-list{border-radius:var(--umd-radius-2xl);box-shadow:0 0 0 1px var(--umd-border);border:0}[data-host=mobile] .uv-landing[data-start=returning]:after{content:"";height:calc(env(safe-area-inset-bottom,0px) + 96px);background:linear-gradient(color-mix(in srgb, var(--umd-canvas) 0%, transparent), var(--umd-canvas) 60%);pointer-events:none;z-index:var(--umd-z-float);position:fixed;bottom:0;left:0;right:0}[data-host=mobile] .uv-landing[data-start=returning] .uv-open-row{left:max(var(--umd-space-20), env(safe-area-inset-left,0px));right:max(var(--umd-space-20), env(safe-area-inset-right,0px));bottom:max(env(safe-area-inset-bottom,0px) - var(--umd-space-4), var(--umd-space-16));z-index:var(--umd-z-bar);max-width:600px;height:56px;padding:var(--umd-space-4);border-radius:var(--umd-radius-full);background:var(--umd-glass);box-shadow:var(--umd-glass-shadow);-webkit-backdrop-filter:blur(20px)saturate(1.8);backdrop-filter:blur(20px)saturate(1.8);align-items:center;margin:0 auto;display:flex;position:fixed}[data-host=mobile] .uv-landing[data-start=returning] .uv-open-tile{justify-content:center;gap:var(--umd-space-8);border-radius:var(--umd-radius-full);background:0 0;border:0;flex:1;grid-auto-flow:column;height:48px;padding:0}.umd-has-reading-bar[data-host=mobile] .uv-landing[data-start=returning] .uv-open-row{left:max(var(--umd-space-16), env(safe-area-inset-left,0px));right:calc(max(var(--umd-space-16), env(safe-area-inset-right,0px)) + 52px + var(--umd-space-8));height:52px;margin:0}.umd-has-reading-bar[data-host=mobile] .uv-landing[data-start=returning] .uv-open-tile{height:44px}[data-host=mobile] .uv-landing[data-start=returning] :is(.uv-open-row,.uv-fab){transition:transform var(--umd-duration-moderate) var(--umd-ease-standard), opacity var(--umd-duration-moderate) var(--umd-ease-standard)}.umd-find-open[data-host=mobile] .uv-landing[data-start=returning] :is(.uv-open-row,.uv-fab){transform:translateY(calc(100% + var(--umd-space-48)));opacity:0;pointer-events:none}[data-host=mobile] .uv-landing[data-start=returning]:has(#uv-home-search:is(:focus,:not(:placeholder-shown))) :is(.uv-open-row,.uv-fab){transform:translateY(calc(100% + var(--umd-space-48)));opacity:0;pointer-events:none}.umd-find-open[data-host=mobile] .uv-landing[data-start=returning]:after{opacity:0}[data-host=mobile] .uv-landing[data-start=returning]:has(#uv-home-search:is(:focus,:not(:placeholder-shown))):after{opacity:0}:root:has(.uv-landing[data-start=first]) .umd-reading-bar{display:none}[data-host=mobile] .uv-landing[data-start=returning] .uv-open-tile+.uv-open-tile{box-shadow:-1px 0 0 0 var(--umd-border-strong);border-radius:0 var(--umd-radius-full) var(--umd-radius-full) 0}[data-host=mobile] .uv-landing[data-start=returning] .uv-open-tile:active{background:var(--umd-fill)}[data-platform=android] .uv-landing[data-start=returning] .uv-open-row,[data-platform=android] .uv-landing[data-start=returning]:after{display:none}[data-platform=android] .uv-landing[data-start=returning] .uv-fab{right:var(--umd-space-16);bottom:calc(env(safe-area-inset-bottom,0px) + var(--umd-space-16));z-index:var(--umd-z-bar);align-items:center;gap:var(--umd-space-12);height:56px;padding:0 var(--umd-space-20) 0 var(--umd-space-16);border-radius:var(--umd-space-16);background:var(--umd-accent);color:var(--umd-accent-text);font:inherit;font-weight:var(--umd-weight-semibold);box-shadow:var(--umd-shadow-md);-webkit-tap-highlight-color:transparent;border:0;display:flex;position:fixed}[data-platform=android] .uv-fab:active{background:var(--umd-accent-hover)}[data-platform=android]:has(.uv-landing[data-start=returning]) .umd-reading-bar--search{bottom:calc(env(safe-area-inset-bottom,0px) + var(--umd-space-16) + 56px + var(--umd-space-12))}.uv-fab:focus-visible{outline:2px solid var(--umd-accent);outline-offset:2px}.uv-open-sheet[open]{width:100%;max-width:640px;max-height:none;color:var(--umd-text);background:0 0;border:0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:visible}.uv-open-sheet::backdrop{background:#00000052;transition:opacity .25s}@starting-style{.uv-open-sheet[open]::backdrop{opacity:0}}.uv-open-sheet.is-closing::backdrop{opacity:0}.uv-open-sheet-panel{padding:0 0 calc(env(safe-area-inset-bottom,0px) + var(--umd-space-24));border-radius:var(--umd-radius-2xl) var(--umd-radius-2xl) 0 0;background:var(--umd-surface);transition:transform var(--umd-duration-moderate) var(--umd-ease-enter);flex-direction:column;display:flex}@starting-style{.uv-open-sheet[open] .uv-open-sheet-panel{transform:translateY(100%)}}.uv-open-sheet.is-closing .uv-open-sheet-panel{transition-timing-function:var(--umd-ease-exit);transform:translateY(100%)}.uv-open-sheet-handle{border-radius:var(--umd-radius-full);background:var(--umd-subtle);width:32px;height:4px;margin:22px auto 0}.uv-open-sheet h2{margin:22px var(--umd-space-24) var(--umd-space-8);font-family:var(--umd-font-brand);font-size:var(--umd-text-2xl);font-weight:var(--umd-weight-semibold)}.uv-open-sheet hr{width:calc(100% - 2 * var(--umd-space-24));margin:var(--umd-space-8) auto;border:0;border-top:1px solid var(--umd-border)}.uv-open-sheet-item{align-items:center;gap:var(--umd-space-16);min-height:72px;padding:var(--umd-space-8) var(--umd-space-24);color:inherit;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;display:flex}.uv-open-sheet-item:active{background:var(--umd-hover-bg)}.uv-open-sheet-item:focus-visible{outline:2px solid var(--umd-accent);outline-offset:-2px}@media (hover:hover){.uv-open-sheet-item:hover{background:var(--umd-hover-bg)}}.uv-open-sheet-icon{width:44px;height:44px}.uv-open-sheet-icon.is-quiet{background:var(--umd-fill);color:var(--umd-text)}.uv-open-sheet-text{gap:var(--umd-space-2);display:grid}.uv-open-sheet-label{font-weight:var(--umd-weight-medium)}.uv-open-sheet-hint{color:var(--umd-muted);font-size:var(--umd-text-base)}@media (prefers-reduced-motion:reduce){.uv-open-sheet-panel{transition:none}}a{color:var(--umd-accent)}a:not([href^=http\:]):not([href^=https\:]):not([href^=mailto\:]){-webkit-touch-callout:none}.uv-footer{color:var(--umd-muted);font-size:var(--umd-text-base);text-align:center;margin:0}.uv-error:not([hidden]){gap:var(--umd-space-12);justify-items:center;display:grid}.uv-error{scroll-margin-top:calc(var(--umd-native-top,env(safe-area-inset-top,0px)) + var(--umd-space-16))}.uv-error-actions{justify-content:center;gap:var(--umd-space-8);flex-wrap:wrap;display:flex}.uv-about-version{margin:var(--umd-space-12) 0 0;font-size:var(--umd-text-base);font-variant-numeric:tabular-nums}.uv-page .uv-mascot-slot{width:min(128px,36vw)}.uv-page>h2{margin:var(--umd-space-8) 0 calc(var(--umd-space-12) * -1);font-size:var(--umd-text-xl)}.uv-page>p{margin:0}.uv-release{gap:var(--umd-space-4);display:grid}.uv-release h2{font-size:var(--umd-text-xl);font-family:var(--umd-font-brand);margin:0;font-weight:600}.uv-release ul{margin:var(--umd-space-4) 0 0;padding-left:var(--umd-space-20);gap:var(--umd-space-4);display:grid}.uv-release-try{margin:var(--umd-space-8) 0 0;padding:var(--umd-space-12) var(--umd-space-16);border:1px solid var(--umd-border);border-radius:var(--umd-radius-lg);background:var(--umd-surface)}.uv-release-try b{font-weight:var(--umd-weight-semibold)}.uv-release-promise{margin:var(--umd-space-8) 0 0;font-weight:var(--umd-weight-semibold)}.uv-licenses{gap:var(--umd-space-8);display:grid}.uv-licenses h2{margin:0}.uv-list{background:var(--umd-surface);border:1px solid var(--umd-border);border-radius:var(--umd-radius-xl);display:grid;overflow:hidden}.uv-list>*+*{border-top:1px solid var(--umd-border)}.uv-list>a,.uv-list summary{justify-content:space-between;align-items:center;gap:var(--umd-space-12);min-height:44px;padding:var(--umd-space-8) var(--umd-space-16);color:var(--umd-text);cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration:none;display:flex}.uv-list>a:active,.uv-list summary:active{background:var(--umd-hover-bg)}.uv-list>a:after{content:"›";color:var(--umd-subtle);font-size:var(--umd-text-xl);line-height:1}.uv-list summary{overflow-wrap:anywhere;list-style:none}.uv-list summary::-webkit-details-marker{display:none}.uv-list-detail{color:var(--umd-muted);font-size:var(--umd-text-sm);flex:none}.uv-list pre{padding:var(--umd-space-12) var(--umd-space-16);background:var(--umd-code-bg);color:var(--umd-code-text);font:var(--umd-text-xs)/1.5 var(--umd-font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.uv-download{max-width:720px}.uv-home{line-height:0;display:inline-block}.uv-muted{color:var(--umd-muted);font-size:var(--umd-text-base);margin:0}.uv-cards{gap:var(--umd-space-16);display:grid}.uv-card{gap:var(--umd-space-12);padding:var(--umd-space-20);background:var(--umd-surface);border:1px solid var(--umd-border-strong);border-radius:var(--umd-radius-xl);min-width:0;display:grid}.uv-card.is-mine{border:2px solid var(--umd-accent)}.uv-card-head{align-items:center;gap:var(--umd-space-8);flex-wrap:wrap;display:flex}.uv-card h2{font-size:var(--umd-text-xl);margin:0}.uv-badge{font-size:var(--umd-text-sm);padding:var(--umd-space-2) var(--umd-space-8);border-radius:var(--umd-radius-full);border:1px solid var(--umd-border-strong);color:var(--umd-muted);font-weight:600}.uv-badge--accent{border-color:var(--umd-accent);color:var(--umd-accent)}.uv-download .umd-btn{justify-self:start}.uv-steps{padding-left:var(--umd-space-20);font-size:var(--umd-text-base);gap:var(--umd-space-4);margin:0;display:grid}.uv-checksum{font-size:var(--umd-text-sm);color:var(--umd-muted);overflow-wrap:anywhere;margin:0}.uv-checksum code{font-size:var(--umd-text-xs)}.uv-older summary{cursor:pointer;color:var(--umd-muted)}.uv-older ul{margin:var(--umd-space-8) 0 0;padding-left:var(--umd-space-20);font-size:var(--umd-text-base)}.uv-icons{gap:var(--umd-space-6);margin-right:var(--umd-space-4);display:inline-flex}.uv-icons img{object-fit:contain;width:28px;height:28px;display:block}.uv-icons-sm{vertical-align:-3px;margin-right:var(--umd-space-4);display:inline-flex}.uv-icons-sm img{object-fit:contain;width:16px;height:16px;display:block}.uv-copy{align-items:baseline;gap:var(--umd-space-6);margin:0 var(--umd-space-2);padding:1px var(--umd-space-8);font:inherit;color:var(--umd-text);background:var(--umd-canvas);border:1px solid var(--umd-border-strong);border-radius:var(--umd-radius-md);cursor:pointer;font-weight:400;display:inline-flex}@media (hover:hover){.uv-copy:hover{background:var(--umd-canvas);border-color:var(--umd-accent)}}.uv-copy code{font-size:var(--umd-text-md)}.uv-copy-hint{font-size:var(--umd-text-sm);color:var(--umd-accent);font-weight:600}.uv-copy.is-copied{border-color:var(--umd-accent)}
