@font-face{font-family:Exposure;src:url(/fonts/Exposure-205TF-VAR.woff2)format("woff2");font-style:normal}@font-face{font-family:Exposure;src:url(/fonts/Exposure-205TF-VAR-Italic.woff2)format("woff2");font-style:italic}@font-face{font-family:OpenRunde;src:url(/fonts/OpenRunde-Regular.woff2)format("woff2");font-weight:400}@font-face{font-family:OpenRunde;src:url(/fonts/OpenRunde-Medium.woff2)format("woff2");font-weight:500}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Variable.woff2)format("woff2");font-weight:100 800}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--surface:#fffdfa;--ink:#171717;--muted:#737373;--line:#17171724;--accent:#3b6ea5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}.dark{--surface:#0e0e11;--ink:#f5f5f5;--muted:#9a9a9a;--line:#ffffff29;--accent:#7aa7d6}@media (prefers-color-scheme:dark){:root:not(.light){--surface:#0e0e11;--ink:#f5f5f5;--muted:#9a9a9a;--line:#ffffff29;--accent:#7aa7d6}}@theme{--font-sans: "OpenRunde", system-ui, sans-serif; --font-mono: "JetBrains Mono", ui-monospace, monospace; --text-eyebrow: 13px; --text-eyebrow--line-height: 1.5; --text-meta: 12px; --text-meta--line-height: 1.2; --text-label: 15px; --text-label--line-height: 1.2; --text-body: 15px; --text-body--line-height: 1.6; --text-heading: 18px; --text-heading--line-height: 1.4; --text-name: 24px; --text-name--line-height: 1.3;}html{background:var(--surface);color:var(--ink);overscroll-behavior:none;font-family:OpenRunde,system-ui,sans-serif}h1{font-variation-settings:"EXPO" -10;text-wrap:pretty;font-family:Exposure,OpenRunde,sans-serif;font-weight:500;line-height:1.2}h2,h3{text-wrap:pretty;font-family:OpenRunde,system-ui,sans-serif;font-weight:500;line-height:1.3}.font-display{font-variation-settings:"EXPO" -10;font-family:Exposure,OpenRunde,sans-serif;font-weight:500}h4,h5,h6{text-wrap:pretty;font-family:OpenRunde,system-ui,sans-serif;font-weight:500}a[href],button:not(:disabled),[role=button]:not(:disabled),[role=link],label[for],select:not(:disabled),summary{cursor:pointer}code,pre,kbd,samp{font-family:JetBrains Mono,ui-monospace,monospace}*,:before,:after{box-sizing:border-box}html,body{background:var(--surface);color:var(--ink);margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" on, "cv01" on;overscroll-behavior:none;min-height:100svh;font-family:OpenRunde,system-ui,sans-serif;font-size:15px;line-height:1.55}a{color:inherit;text-underline-offset:3px;text-decoration:none;text-decoration-thickness:1px}a:hover{text-decoration-color:currentColor}button,input,select,textarea{font:inherit;color:inherit}:focus{outline:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}::selection{background:var(--ink);color:var(--surface)}.shell{flex-direction:column;min-height:100svh;display:flex}.shell-main{flex:1;padding:28px clamp(20px,4vw,56px) 96px}.shell-main-inner{max-width:1240px;margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:24px;padding-bottom:88px;display:flex}.brand{align-items:baseline;gap:4px;display:inline-flex}.brand-mark{font-variation-settings:"EXPO" -10;letter-spacing:-.012em;white-space:nowrap;font-family:Exposure,OpenRunde,sans-serif;font-size:22px;font-weight:500;line-height:1}.brand-mark .dim{color:var(--muted)}.nav{align-items:center;gap:4px;display:flex}.nav a{color:var(--muted);border-radius:4px;padding:6px 10px;font-size:13px;font-weight:500;transition:color .14s,background-color .14s}.nav a:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent)}.nav a[aria-current=page]{color:var(--ink)}.status{border:1px solid var(--line);letter-spacing:.01em;background:color-mix(in srgb, var(--ink) 2%, transparent);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;font-weight:500;display:inline-flex}.status:before{content:"";background:#2d9d6a;border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out .1s infinite pulse;box-shadow:0 0 0 4px #2d9d6a2e}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.status:before{opacity:.85;animation:none}}.hero{flex-direction:column;gap:24px;max-width:880px;padding:8px 0 84px;display:flex}.hero h1{font-variation-settings:"EXPO" -10;letter-spacing:-.018em;text-wrap:balance;margin:0;font-family:Exposure,OpenRunde,sans-serif;font-size:clamp(36px,6.2vw,64px);font-weight:500;line-height:1.04}.hero h1 em{font-variation-settings:"EXPO" -6;font-style:italic}.hero-lede{color:var(--muted);text-wrap:pretty;max-width:60ch;margin:0;font-size:17px;line-height:1.55}.hero-meta{flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:color-mix(in srgb, var(--ink) 2%, transparent);border-radius:4px;align-items:center;gap:6px;padding:5px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:500;display:inline-flex}.chip strong{color:var(--ink);font-weight:500}.section{padding-top:64px;scroll-margin-top:24px}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:0;padding-bottom:16px;display:flex}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-family:OpenRunde,system-ui,sans-serif;font-size:13px;font-weight:500}.section-count{color:var(--muted);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.section-lede{color:var(--muted);max-width:60ch;margin:12px 0 0;font-size:13px}.tool-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;margin-top:-1px;display:grid}.tool{background:var(--surface);color:inherit;will-change:transform;flex-direction:column;gap:10px;padding:18px 20px 20px;text-decoration:none;transition:background-color .16s,transform .22s cubic-bezier(.2,.7,.1,1);display:flex;position:relative;transform:translateZ(0)}.tool:hover{background:color-mix(in srgb, var(--ink) 5%, var(--surface))}.tool:active{transform:scale(.985)}.tool-upcoming,.tool-upcoming:hover{background:color-mix(in srgb, var(--ink) 2%, var(--surface))}.tool-upcoming-name{text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-decoration-thickness:1px}.tool-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-name{letter-spacing:-.005em;font-family:OpenRunde,system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.25}.tool-arrow{color:var(--muted);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.tool-formats{color:var(--muted);letter-spacing:.02em;align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:flex}.tool-formats .arrow{opacity:.6}.tool-tag{border:1px solid var(--line);letter-spacing:.06em;color:var(--muted);text-transform:uppercase;background:0 0;border-radius:3px;padding:2px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:9px;font-weight:500;display:inline-flex}.tool:hover .tool-arrow{color:var(--ink);transition:transform .24s,color .14s;transform:translate(2px)}.api{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;padding-top:28px;display:grid}.api-card{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:8px;flex-direction:column;gap:12px;padding:22px 24px;transition:border-color .16s;display:flex;transform:translateZ(0)}.api-card:hover{border-color:color-mix(in srgb, var(--ink) 28%, transparent)}.api-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.api-method{background:var(--ink);height:22px;color:var(--surface);letter-spacing:.04em;border-radius:4px;align-items:center;padding:0 8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:500;display:inline-flex}.api-path{letter-spacing:-.005em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:16px}.api-desc{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.api-example{color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, var(--surface));border:1px solid var(--line);white-space:pre-wrap;word-break:break-all;border-radius:4px;margin:0;padding:12px 14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1.55}.copy-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:5px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:500;transition:color .14s,border-color .14s,transform .12s;display:inline-flex}.copy-btn:hover{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 30%, transparent)}.copy-btn:active{transform:scale(.96)}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:24px;padding:48px clamp(20px,4vw,56px) 32px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:flex}.site-footer a:hover{color:var(--ink)}.conv{max-width:760px;margin:0 auto;padding:8px clamp(20px,4vw,40px) 96px}.conv-back{color:var(--muted);border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;margin-left:-10px;padding:6px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;transition:color .14s,border-color .14s;display:inline-flex}.conv-back:hover{color:var(--ink);border-color:var(--line)}.conv-header{flex-direction:column;gap:10px;padding:36px 0 28px;display:flex}.conv-eyebrow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:inline-flex}.conv-title{font-variation-settings:"EXPO" -10;letter-spacing:-.015em;text-wrap:balance;margin:0;font-family:Exposure,OpenRunde,sans-serif;font-size:clamp(30px,4.6vw,48px);font-weight:500;line-height:1.04}.conv-desc{color:var(--muted);max-width:56ch;margin:0;font-size:14px;line-height:1.55}.conv-spec{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:6px;grid-template-columns:auto 1fr;gap:6px 16px;margin-bottom:28px;padding:18px 20px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:grid}.conv-spec dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-self:center;font-size:10px}.conv-spec dd{color:var(--ink);margin:0}.dropzone{text-align:center;border:1px dashed var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));cursor:pointer;border-radius:8px;place-items:center;gap:8px;min-height:240px;padding:40px 24px;transition:background-color .2s,border-color .2s,transform .24s cubic-bezier(.2,.7,.1,1);display:grid;position:relative;transform:translateZ(0)}.dropzone:hover,.dropzone.is-drag{background:color-mix(in srgb, var(--ink) 6%, var(--surface));border-color:color-mix(in srgb, var(--ink) 35%, transparent)}.dropzone:active{transform:scale(.992)}.dropzone-icon{width:28px;height:28px;color:var(--muted);border:1px solid var(--line);border-radius:6px;place-items:center;margin-bottom:4px;display:grid}.dropzone-title{color:var(--ink);margin:0;font-family:OpenRunde,sans-serif;font-size:15px;font-weight:500}.dropzone-hint{color:var(--muted);margin:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.dropzone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.queue{flex-direction:column;gap:12px;margin-top:32px;display:flex}.queue-empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:6px;padding:24px 12px;font-size:13px}.queue-item{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:6px;flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.queue-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.queue-name{color:var(--ink);word-break:break-all;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px}.queue-size{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.queue-status{color:var(--muted);letter-spacing:.02em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.queue-status.is-error{color:#b04040}.queue-status.is-done{color:#2d9d6a}.queue-progress{background:color-mix(in srgb, var(--ink) 8%, var(--surface));border-radius:999px;height:4px;overflow:hidden}.queue-progress span{background:var(--ink);width:0%;height:100%;transition:width .22s;display:block}.queue-actions{gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-family:OpenRunde,sans-serif;font-size:13px;font-weight:500;transition:background-color .14s,border-color .14s,transform .12s cubic-bezier(.2,.7,.1,1);display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--ink) 5%, var(--surface));border-color:color-mix(in srgb, var(--ink) 25%, transparent)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.btn-primary:hover{background:color-mix(in srgb, var(--ink) 88%, var(--surface));border-color:color-mix(in srgb, var(--ink) 88%, var(--surface))}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-link{color:var(--muted);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);cursor:pointer;background:0 0;border:none;padding:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.btn-link:hover{color:var(--ink);text-decoration-color:currentColor}.notfound{place-items:center;min-height:80svh;padding:24px clamp(20px,4vw,40px);display:grid}.notfound-card{text-align:left;flex-direction:column;gap:12px;display:flex}.notfound-code{color:var(--muted);letter-spacing:.08em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.notfound h1{font-variation-settings:"EXPO" -10;letter-spacing:-.018em;margin:0;font-family:Exposure,OpenRunde,sans-serif;font-size:clamp(40px,6vw,72px);font-weight:500;line-height:1.04}.notfound p{color:var(--muted);max-width:50ch;margin:0;font-size:14px}.enter{animation:.7s cubic-bezier(.2,.7,.1,1) both enter;animation-timeline:view();animation-range:entry entry 80%}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@supports not (animation-timeline:view()){.enter{opacity:1;animation:none;transform:none}}@media (prefers-reduced-motion:reduce){.enter{opacity:1;animation:none;transform:none}}@media (width<=640px){.site-header{flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:56px}.hero{gap:16px;padding:4px 0 56px}.shell-main{padding-top:20px}.section{padding-top:48px}.tool-grid{grid-template-columns:1fr 1fr}.site-footer{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=420px){.tool-grid{grid-template-columns:1fr}}@media (width>=1024px){.shell-main{padding-top:40px}}.search-bar{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:0 0 32px;padding:12px 16px;transition:border-color .16s;display:grid}.search-bar:focus-within{border-color:color-mix(in srgb, var(--ink) 35%, transparent)}.search-bar-icon{width:16px;height:16px;color:var(--muted);place-items:center;display:grid}.search-bar input{width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-family:OpenRunde,system-ui,sans-serif;font-size:14px}.search-bar input::placeholder{color:var(--muted)}.search-bar-count{color:var(--muted);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.hub-section{padding-top:56px;scroll-margin-top:24px}.hub-section:first-of-type{padding-top:24px}.hub-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;margin-top:-1px;display:grid}.hub-empty{text-align:center;background:var(--surface);color:var(--muted);grid-column:1/-1;padding:36px 24px;font-size:14px}.hub-row{background:var(--surface);color:inherit;will-change:transform;flex-direction:column;gap:6px;padding:18px 20px 20px;text-decoration:none;transition:background-color .16s,transform .22s cubic-bezier(.2,.7,.1,1);display:flex;position:relative;transform:translateZ(0)}.hub-row:hover{background:color-mix(in srgb, var(--ink) 5%, var(--surface))}.hub-row:active{transform:scale(.985)}.hub-row-name{letter-spacing:-.005em;font-family:OpenRunde,system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.25}.hub-row-blurb{color:var(--muted);max-width:38ch;font-size:12px;line-height:1.5}.hub-row-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:4px;margin-top:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:500;display:inline-flex}.tool-shell{max-width:1240px;margin:0 auto}.tool-cap{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:6px;padding:36px 0 28px;display:grid}.tool-cap-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:flex}.tool-cap-eyebrow a{color:var(--muted);text-decoration:none;transition:color .14s}.tool-cap-eyebrow a:hover{color:var(--ink)}.tool-cap-title{font-variation-settings:"EXPO" -10;letter-spacing:-.015em;text-wrap:balance;margin:0;font-family:Exposure,OpenRunde,sans-serif;font-size:clamp(28px,4.4vw,44px);font-weight:500;line-height:1.05}.tool-cap-title em{font-variation-settings:"EXPO" -5;font-style:italic}.tool-cap-blurb{color:var(--muted);max-width:56ch;margin:0;font-size:14px;line-height:1.55}.tool-spec{flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.io-split{gap:16px;padding-top:24px;display:grid}@media (width>=920px){.io-split{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}}.io-pane{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.io-pane-head{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--ink) 3%, var(--surface));justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.io-pane-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:500}.io-pane-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px}.io-pane-body{flex-direction:column;flex:1;min-height:0;display:flex}.io-pane textarea{resize:vertical;width:100%;min-height:240px;color:var(--ink);font-variant-numeric:tabular-nums;tab-size:2;background:0 0;border:none;outline:none;padding:14px 16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;line-height:1.55}.io-pane pre{color:var(--ink);white-space:pre-wrap;word-break:break-word;background:0 0;flex:1;margin:0;padding:14px 16px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;line-height:1.55;overflow:auto}.io-pane .frame-html{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex:1;margin:12px;padding:16px;overflow:auto}.io-pane .frame-html h1,.io-pane .frame-html h2,.io-pane .frame-html h3{margin:0 0 .5em}.io-pane .frame-html p{margin:0 0 .8em;line-height:1.6}.io-pane .frame-html code{background:color-mix(in srgb, var(--ink) 5%, var(--surface));border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.io-pane .frame-html pre{background:0 0;padding:0}.io-actions{border-top:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.form-grid{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:10px;flex-direction:column;gap:14px;padding:16px 18px 18px;display:flex}.form-row{grid-template-columns:minmax(80px,110px) minmax(0,1fr);align-items:center;gap:16px;display:grid}.form-row label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:500}.form-row-stack{flex-direction:column;gap:12px;display:flex}.input,.textarea,.select{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:6px;outline:none;padding:8px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;transition:border-color .14s}.input:hover,.textarea:hover,.select:hover{border-color:color-mix(in srgb, var(--ink) 22%, transparent)}.input:focus,.textarea:focus,.select:focus{border-color:var(--ink)}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input-mono{font-family:JetBrains Mono,ui-monospace,monospace}.checkbox,.radio{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink);align-items:center;gap:8px;font-size:13px;display:inline-flex}.checkbox input,.radio input{appearance:none;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:3px;place-items:center;width:14px;height:14px;transition:background .14s,border-color .14s;display:grid}.radio input{border-radius:50%}.checkbox input:checked{background:var(--ink);border-color:var(--ink)}.radio input:checked{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 3px var(--surface)}.checkbox input:focus-visible,.radio input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.range{appearance:none;background:0 0;width:100%;height:16px}.range::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--ink) 14%, var(--surface));border-radius:999px;height:3px}.range::-moz-range-track{background:color-mix(in srgb, var(--ink) 14%, var(--surface));border:none;border-radius:999px;height:3px}.range::-webkit-slider-thumb{appearance:none;background:var(--ink);cursor:grab;border:2px solid var(--surface);width:14px;height:14px;box-shadow:0 0 0 1px var(--line);border-radius:50%;margin-top:-6px;transition:transform .12s}.range::-moz-range-thumb{background:var(--ink);cursor:grab;border:2px solid var(--surface);width:14px;height:14px;box-shadow:0 0 0 1px var(--line);border-radius:50%}.range:active::-webkit-slider-thumb{transform:scale(.92)}.segmented{background:color-mix(in srgb, var(--ink) 6%, var(--surface));border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;outline:none;padding:6px 10px;font-family:OpenRunde,system-ui,sans-serif;font-size:12px;font-weight:500;transition:color .14s,background-color .14s,transform .12s}.segmented button:hover{color:var(--ink)}.segmented button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 8%, transparent), 0 2px 8px color-mix(in srgb, var(--ink) 6%, transparent)}.segmented button:active{transform:scale(.96)}.chip-group{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:500;transition:color .14s,background-color .14s,border-color .14s,transform .12s;display:inline-flex}.chip-btn:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 4%, var(--surface));border-color:color-mix(in srgb, var(--ink) 22%, transparent)}.chip-btn.is-active{color:var(--surface);background:var(--ink);border-color:var(--ink)}.chip-btn:active{transform:scale(.94)}.drop-mini{text-align:center;border:1px dashed var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));cursor:pointer;color:var(--muted);border-radius:8px;place-items:center;gap:6px;padding:28px 20px;font-size:13px;transition:background-color .16s,border-color .16s,transform .2s cubic-bezier(.2,.7,.1,1);display:grid;position:relative;transform:translateZ(0)}.drop-mini:hover,.drop-mini.is-drag{background:color-mix(in srgb, var(--ink) 5%, var(--surface));border-color:color-mix(in srgb, var(--ink) 30%, transparent)}.drop-mini:active{transform:scale(.99)}.drop-mini input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.kbd{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 3%, var(--surface));color:var(--ink);font-variant-numeric:tabular-nums;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;display:inline-block}.tag{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:0 0;border-radius:4px;align-items:center;gap:6px;padding:3px 7px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:500;display:inline-flex}.tag.is-accent{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 30%, transparent)}.btn-mini{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 9px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:500;transition:color .14s,background-color .14s,border-color .14s,transform .12s;display:inline-flex}.btn-mini:hover{background:color-mix(in srgb, var(--ink) 4%, var(--surface));border-color:color-mix(in srgb, var(--ink) 22%, transparent)}.btn-mini:active{transform:scale(.96)}.btn-mini.is-primary{background:var(--ink);color:var(--surface);border-color:var(--ink)}.btn-mini:disabled{opacity:.5;cursor:not-allowed}.shadow-preview{border:1px solid var(--line);background:var(--inline-img,linear-gradient(135deg, #d2c2a6, #eedcba 50%, #2a3540));border-radius:10px;justify-content:center;align-items:center;min-height:240px;padding:32px;display:flex;position:relative;overflow:hidden}.shadow-preview-shape{background:var(--shadow-shape-bg,color-mix(in srgb, var(--ink) 6%, var(--surface)));width:200px;height:120px;-webkit-backdrop-filter:var(--shadow-blur,blur(0px));background-color:var(--shadow-shape-bg,color-mix(in srgb, var(--ink) 6%, var(--surface)));box-shadow:var(--shadow,0 20px 50px #0000002e);border:1px solid color-mix(in srgb, var(--ink) 8%, transparent);border-radius:16px}.color-row{align-items:center;gap:10px;display:flex}.color-swatch{border:1px solid var(--line);cursor:pointer;border-radius:10px;width:44px;height:44px;position:relative;overflow:hidden}.color-swatch input[type=color]{cursor:pointer;opacity:0;background:0 0;border:none;width:100%;height:100%;position:absolute;inset:0}.color-swatch-fill{pointer-events:none;position:absolute;inset:0}.color-preset{border:1px solid var(--line);cursor:pointer;border-radius:5px;width:22px;height:22px;transition:transform .12s,box-shadow .14s}.color-preset:hover{transform:scale(1.08)}.color-preset.is-active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.preview-card{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:10px;grid-template-columns:1fr 1fr;gap:14px;padding:14px;display:grid}.preview-card canvas{border:1px solid var(--line);background:conic-gradient(from 90deg at 1px 1px, color-mix(in srgb, var(--ink) 6%, transparent) 90deg, transparent 90deg) 0 0/14px 14px;border-radius:6px;max-width:100%;display:block}.preview-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:flex}.preview-meta strong{color:var(--ink);font-weight:500}.patternista-stage{border:1px solid var(--line);background:var(--pattern-bg,#fbf7ef);contain:strict;border-radius:12px;height:clamp(440px,64svh,720px);position:relative;overflow:hidden}.patternista-canvas{place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.patternista-canvas.is-dragover{outline:2px dashed color-mix(in srgb, var(--ink) 35%, transparent);outline-offset:-8px}.glyph-origin{width:0;height:0;position:relative}.glyph{-webkit-user-select:none;user-select:none;will-change:transform;pointer-events:none;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,system-ui;line-height:1;position:absolute;top:0;left:0}.glyph-drift{animation-name:glyph-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:var(--dur,9s);animation-delay:var(--delay,0s);will-change:transform;display:inline-block}@keyframes glyph-drift{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translate3d(var(--dx,2px), var(--dy,2px), 0) rotate(var(--dr,1deg))}}@media (prefers-reduced-motion:reduce){.glyph-drift{animation:none!important}}.patternista-controls{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:12px;flex-direction:column;gap:16px;padding:20px 18px;display:flex}.patternista-row{grid-template-columns:1fr auto;gap:12px;display:grid}.patternista-row label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:500;display:flex}.patternista-row .value{color:var(--ink);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.patternista-emoji-input{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:border-color .14s,background-color .14s;display:flex}.patternista-emoji-input:focus-within{border-color:var(--ink)}.patternista-emoji-input input{color:var(--ink);text-align:center;background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:22px}.patternista-emoji-input input::placeholder{color:var(--muted)}.patternista-emoji-chips{flex-wrap:wrap;gap:4px;display:flex}.patternista-chip{background:color-mix(in srgb, var(--ink) 4%, var(--surface));cursor:pointer;border:1px solid #0000;border-radius:6px;place-items:center;width:32px;height:32px;font-size:18px;transition:transform .12s,background-color .12s;display:grid}.patternista-chip:hover{background:color-mix(in srgb, var(--ink) 8%, var(--surface));transform:translateY(-1px)}.patternista-chip:active{transform:scale(.92)}.patternista-chip.is-active{background:var(--ink);color:var(--surface)}.patternista-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:500}.patternista-stage-overlay{pointer-events:none;position:absolute;inset:0}.patternista-stage-overlay>*{pointer-events:auto}.patternista-cards{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;padding-top:24px;display:grid}@media (width<=760px){.patternista-cards{grid-template-columns:minmax(0,1fr)}}.patternista-preset-bg{flex-wrap:wrap;gap:6px;display:flex}.patternista-preset{border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);cursor:pointer;border-radius:6px;width:32px;height:32px;transition:transform .12s}.patternista-preset:hover{transform:scale(1.06)}.patternista-preset.is-active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.icon-svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.qr-frame{background:var(--surface);border:1px solid var(--line);border-radius:10px;place-items:center;padding:28px;display:grid}.qr-frame svg{width:clamp(220px,60%,360px);height:auto;display:block}.emoji-picker{flex-direction:column;gap:12px;display:flex}.emoji-picker input{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:8px;outline:none;padding:10px 12px;font-family:OpenRunde,system-ui,sans-serif;font-size:14px}.emoji-picker input:focus{border-color:var(--ink)}.emoji-grid{background:color-mix(in srgb, var(--ink) 2%, var(--surface));border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:4px;max-height:320px;padding:4px;display:grid;overflow:auto}.emoji-cell{cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;width:38px;height:38px;font-family:inherit;font-size:20px;transition:background-color .1s,transform .12s;display:grid}.emoji-cell:hover{background:color-mix(in srgb, var(--ink) 6%, var(--surface))}.emoji-cell:active{transform:scale(.9)}.emoji-cell.is-copied{background:var(--ink)}.history-list{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:10px;flex-direction:column;gap:4px;max-height:360px;padding:4px;display:flex;overflow:auto}.history-item{background:var(--surface);cursor:pointer;border:1px solid #0000;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;transition:background-color .12s,border-color .12s;display:grid}.history-item:hover{border-color:color-mix(in srgb, var(--ink) 18%, transparent)}.history-item-text{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;overflow:hidden}.history-item-time{color:var(--muted);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px}.qr-output{border:1px solid var(--line);background:var(--surface);border-radius:10px;place-items:center;padding:16px;display:grid}.qr-output svg{width:clamp(200px,50%,320px);height:auto;display:block}.diff-line{white-space:pre-wrap;word-break:break-word;grid-template-columns:56px 1fr;gap:10px;padding:2px 12px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;line-height:1.55;display:grid}.diff-line-num{text-align:right;color:var(--muted);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.diff-line.is-add{background:color-mix(in srgb, #2d9d6a 14%, var(--surface))}.diff-line.is-add .diff-line-num{color:#2d9d6a}.diff-line.is-del{background:color-mix(in srgb, #b04040 10%, var(--surface))}.diff-line.is-del .diff-line-num{color:#b04040}.diff-line.is-ctx{color:var(--muted)}.visit-card{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));border-radius:12px;gap:16px;padding:20px 22px;display:grid}.visit-key{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:500}.visit-val{color:var(--ink);word-break:break-all;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px}.visit-big{font-variation-settings:"EXPO" -10;letter-spacing:-.012em;word-break:break-all;font-family:Exposure,OpenRunde,sans-serif;font-size:clamp(28px,4vw,44px);font-weight:500;line-height:1.05}.visit-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.visit-stack{flex-direction:column;gap:4px;display:flex}@media (width<=640px){.tool-cap{padding-top:24px}.search-bar{grid-template-columns:auto 1fr}.search-bar-count{text-align:right;grid-column:2}.hub-grid{grid-template-columns:1fr 1fr}.preview-card{grid-template-columns:1fr}}@media (width<=420px){.hub-grid{grid-template-columns:1fr}}.pal-backdrop{z-index:60;background:color-mix(in srgb, var(--ink) 30%, transparent);-webkit-backdrop-filter:blur(6px)saturate(125%);contain:strict;place-items:start center;padding:clamp(48px,12svh,96px) 16px 16px;animation:.12s forwards pal-fade;display:grid;position:fixed;inset:0}@keyframes pal-fade{0%{opacity:0}to{opacity:1}}.pal-shell{background:var(--surface);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);width:min(680px,100%);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 8%, transparent), 0 18px 48px color-mix(in srgb, var(--ink) 26%, transparent);border-radius:12px;flex-direction:column;animation:.2s cubic-bezier(.22,1,.36,1) forwards pal-rise;display:flex;overflow:hidden;transform:translateY(-6px)}@keyframes pal-rise{to{transform:translateY(0)}}.pal-search{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 16px;display:flex}.pal-search>svg{color:var(--muted);flex-shrink:0}.pal-search>input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:0;font:16px OpenRunde,system-ui,sans-serif}.pal-search>input::placeholder{color:var(--muted);font:16px OpenRunde,system-ui,sans-serif}.pal-list{overscroll-behavior:contain;max-height:clamp(280px,56svh,480px);padding:6px;overflow-y:auto}.pal-item{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;font-family:OpenRunde,system-ui,sans-serif;font-size:14px;transition:background-color 80ms;display:flex}.pal-item.is-active{background:color-mix(in srgb, var(--ink) 8%, var(--surface))}.pal-item:hover:not(.is-active){background:color-mix(in srgb, var(--ink) 4%, var(--surface))}.pal-item-name{align-items:center;gap:10px;min-width:0;display:flex}.pal-item-glyph{text-align:center;flex-shrink:0;width:22px;font-size:18px;line-height:1}.pal-item-title{white-space:nowrap;text-overflow:ellipsis;max-width:360px;font-weight:500;overflow:hidden}.pal-item-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:3px;padding:2px 6px;font:500 10px JetBrains Mono,ui-monospace,monospace}.pal-item-cat{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap;flex-shrink:0;font:500 10px JetBrains Mono,ui-monospace,monospace}@media (width<=560px){.pal-item-cat,.pal-item-tag{display:none}}.pal-mark{background:color-mix(in srgb, var(--ink) 12%, transparent);color:inherit;border-radius:2px;padding:0 1px;font-weight:600}.pal-empty{text-align:center;color:var(--muted);padding:36px 18px;font-size:13px;line-height:1.5}.pal-foot{border-top:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;font:10px JetBrains Mono,ui-monospace,monospace;display:flex}.pal-hint{align-items:center;gap:6px;display:inline-flex}.pal-foot-fill{flex:1;min-width:4px}.pal-foot-count{font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:pre}@media (prefers-reduced-motion:reduce){.pal-backdrop,.pal-shell{animation:none}}.pal-trigger{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 2%, var(--surface));color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px 6px 8px;font:12px OpenRunde,system-ui,sans-serif;transition:background-color .14s,border-color .14s,transform .12s cubic-bezier(.2,.7,.1,1);display:inline-flex}.pal-trigger:hover{background:color-mix(in srgb, var(--ink) 6%, var(--surface));border-color:color-mix(in srgb, var(--ink) 22%, transparent)}.pal-trigger:active{transform:scale(.97)}.pal-trigger>svg{color:var(--muted)}.pal-trigger-label{letter-spacing:-.005em;font-weight:500}.pal-trigger>.kbd{margin-left:4px;font-size:10px}@media (width<=640px){.pal-trigger-label{display:none}.pal-trigger{padding:6px 8px}}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0}:root,.dark{--background:var(--surface);--foreground:var(--ink)}
