@font-face{font-family:"Inter Fallback";src:local("Arial"),local("ArialMT"),local("Helvetica");size-adjust:107.4%;ascent-override:90.2%;descent-override:22.48%;line-gap-override:0%}:root{--bg:#f3f6f8;--surface:#ffffff;--surface-2:#eef3f6;--ink:#0d1b26;--ink-2:#22313d;--muted:#4f5f6c;--line:#d3dde4;--line-2:#b7c5cf;--accent:#0b5f8a;--accent-rgb:11,95,138;--accent-ink:#ffffff;--accent-hover:#094e72;--accent-soft:#e1eef6;--accent-text:#0a4f73;--gold:#a87711;--gold-bright:#e0b64a;--gold-soft:#fbf1da;--gold-grad:linear-gradient(135deg,#f0c75a 0%,#dcaa3a 55%,#c4902a 100%);--gold-ink:#2b1d00;--danger:#b4261a;--warn-soft:#fdf3e2;--warn-text:#7a4a00;--shadow:0 1px 2px rgba(13,27,38,.05),0 8px 24px rgba(13,27,38,.06);--focus:0 0 0 3px rgba(11,95,138,.35);--grad:linear-gradient(135deg,#1688b8 0%,#0b5f8a 55%,#08486a 100%);--glow-1:rgba(22,136,184,.16);--glow-2:rgba(224,182,74,.14);--tb1:rgba(11,95,138,.6);--tb2:rgba(201,154,46,.6);--ring:rgba(11,95,138,.12);--shadow-lg:0 1px 2px rgba(13,27,38,.05),0 14px 40px rgba(8,72,106,.11);--hover-shadow:0 8px 22px rgba(13,27,38,.09);--spring:cubic-bezier(.34,1.56,.64,1);--head-color:#08486a;--head-bg:linear-gradient(120deg,#073b57 0%,#0b5f8a 50%,#13809f 100%);--foot-bg:linear-gradient(160deg,#062f47 0%,#08405f 100%);--font:"Inter","Inter Fallback","Noto Sans Tamil",system-ui,-apple-system,"Segoe UI",Roboto,"Nirmala UI","Tamil Sangam MN","Latha","Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--r-sm:8px;--r:12px;--r-lg:18px;--wrap:1120px;--head:64px;--ease:cubic-bezier(.2,.7,.2,1);color-scheme:light;}:root[data-theme="dark"]{--bg:#0c131a;--surface:#131d26;--surface-2:#192631;--ink:#eaf2f7;--ink-2:#cbd8e1;--muted:#97a8b5;--line:#243440;--line-2:#34495a;--accent:#4fb3e0;--accent-rgb:79,179,224;--accent-ink:#03202f;--accent-hover:#79c7ea;--accent-soft:#12324a;--accent-text:#7fc8ec;--gold:#e0b64a;--gold-bright:#e9c463;--gold-soft:rgba(224,182,74,.14);--gold-grad:linear-gradient(135deg,#f3cf6c 0%,#e0b64a 55%,#c99a2e 100%);--gold-ink:#241800;--danger:#ff8a7f;--warn-soft:#2e2414;--warn-text:#f0c47a;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.28);--focus:0 0 0 3px rgba(79,179,224,.4);--grad:linear-gradient(135deg,#6cc4ea 0%,#4fb3e0 55%,#2f95c4 100%);--glow-1:rgba(79,179,224,.14);--glow-2:rgba(224,182,74,.08);--tb1:rgba(79,179,224,.6);--tb2:rgba(224,182,74,.5);--ring:rgba(79,179,224,.14);--shadow-lg:0 1px 2px rgba(0,0,0,.3),0 16px 44px rgba(0,0,0,.38);--hover-shadow:0 10px 26px rgba(0,0,0,.38);--head-color:#062b40;--head-bg:linear-gradient(120deg,#05243a 0%,#08364f 50%,#0b4766 100%);--foot-bg:linear-gradient(160deg,#071822 0%,#0a2230 100%);color-scheme:dark;}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#0c131a;--surface:#131d26;--surface-2:#192631;--ink:#eaf2f7;--ink-2:#cbd8e1;--muted:#97a8b5;--line:#243440;--line-2:#34495a;--accent:#4fb3e0;--accent-rgb:79,179,224;--accent-ink:#03202f;--accent-hover:#79c7ea;--accent-soft:#12324a;--accent-text:#7fc8ec;--gold:#e0b64a;--gold-bright:#e9c463;--gold-soft:rgba(224,182,74,.14);--gold-grad:linear-gradient(135deg,#f3cf6c 0%,#e0b64a 55%,#c99a2e 100%);--gold-ink:#241800;--danger:#ff8a7f;--warn-soft:#2e2414;--warn-text:#f0c47a;--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.28);--focus:0 0 0 3px rgba(79,179,224,.4);--grad:linear-gradient(135deg,#6cc4ea 0%,#4fb3e0 55%,#2f95c4 100%);--glow-1:rgba(79,179,224,.14);--glow-2:rgba(224,182,74,.08);--tb1:rgba(79,179,224,.6);--tb2:rgba(224,182,74,.5);--ring:rgba(79,179,224,.14);--shadow-lg:0 1px 2px rgba(0,0,0,.3),0 16px 44px rgba(0,0,0,.38);--hover-shadow:0 10px 26px rgba(0,0,0,.38);--head-color:#062b40;--head-bg:linear-gradient(120deg,#05243a 0%,#08364f 50%,#0b4766 100%);--foot-bg:linear-gradient(160deg,#071822 0%,#0a2230 100%);color-scheme:dark;}}*,*::before,*::after{box-sizing:border-box}html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--head) + 12px)}@supports (overflow:clip){html,body{overflow-x:clip}}body{margin:0;max-width:100%;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink-2);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.theme-anim,body.theme-anim *{transition:background-color .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)!important}img,svg{display:block;max-width:100%}a{color:var(--accent-text);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent-hover)}h1,h2,h3{color:var(--ink);line-height:1.25;margin:0;font-weight:700;letter-spacing:-.01em}h1{font-size:clamp(1.7rem,1.25rem + 1.9vw,2.5rem);letter-spacing:-.02em}h2{font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem)}h3{font-size:1.1rem}p{margin:0 0 1em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}[hidden]{display:none!important}[lang="ta"]{line-height:1.8}.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--accent);color:var(--accent-ink);padding:10px 14px;border-radius:var(--r-sm);font-weight:600}.skip:focus{top:10px}.site-head{position:sticky;top:0;z-index:50;height:var(--head);background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}.head-in{height:100%;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:-.01em;margin-right:auto;white-space:nowrap;min-width:0}.brand-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.brand:hover{color:var(--ink)}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--accent);background:var(--grad);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 12px rgba(var(--accent-rgb),.25);transition:transform .35s var(--spring);color:var(--accent-ink);display:grid;place-items:center;font-size:19px;font-weight:700;line-height:1;padding-bottom:2px}.brand small{display:block;font-size:.72rem;font-weight:500;color:var(--muted);letter-spacing:0;line-height:1.2}.brand-text{line-height:1.15}.nav{display:flex;align-items:center;gap:2px}.nav a{display:block;padding:8px 12px;border-radius:var(--r-sm);color:var(--ink-2);text-decoration:none;font-size:.95rem;font-weight:500}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a[aria-current="page"]{color:var(--accent-text);background:var(--accent-soft)}.head-act{display:flex;align-items:center;gap:6px}.ibtn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--ink-2);padding:0;transition:background-color .15s,color .15s,border-color .15s,transform .1s}.ibtn:hover{background:var(--surface-2);color:var(--ink)}.ibtn:active{transform:scale(.94)}.ibtn[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-text)}.theme-btn .i-sun{display:none}:root[data-theme="dark"] .theme-btn .i-sun{display:block}:root[data-theme="dark"] .theme-btn .i-moon{display:none}.menu-btn{display:none}.install-btn{width:auto;padding:0 12px;gap:6px;display:inline-flex;align-items:center;border-color:var(--line);font-size:.9rem;font-weight:600}.scrim{position:fixed;inset:0;z-index:60;background:rgba(10,16,15,.45);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility .2s}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(320px,86vw);background:var(--surface);border-left:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:4px;transform:translateX(100%);visibility:hidden;transition:transform .25s var(--ease),visibility .25s}.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:700;color:var(--ink)}.drawer a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-sm);text-decoration:none;color:var(--ink-2);font-weight:500}.drawer a:hover,.drawer a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-text)}.nav-open .scrim{opacity:1;visibility:visible}.nav-open .drawer{transform:none;visibility:visible}.nav-open{overflow:hidden}main{flex:1 0 auto;padding:24px 0 56px;position:relative}main>.wrap{position:relative;z-index:1}.glow{position:absolute;left:0;right:0;top:0;height:560px;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(640px 320px at 12% -4%,var(--glow-1),transparent 70%),radial-gradient(560px 300px at 88% 6%,var(--glow-2),transparent 70%);-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}.glow::after{content:"அ";position:absolute;top:-70px;right:max(-40px,calc(50% - 640px));font-size:380px;line-height:1;font-weight:700;color:var(--accent);opacity:.045}html.scrolled .site-head{box-shadow:0 8px 24px rgba(4,30,48,.25)}.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.06)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}.chips li{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);font-size:.85rem;font-weight:500}.chips .ic{width:16px;height:16px;color:var(--accent-text)}.tool-note{animation:rise .6s var(--ease) .15s both}.dir.flip #cv-from{animation:inR .4s var(--ease)}.dir.flip #cv-to{animation:inL .4s var(--ease)}.pane.flash .field{animation:flash .8s ease-out}.pane.loading .field{background-image:linear-gradient(90deg,transparent,var(--surface-2),transparent);background-size:200% 100%;animation:shim 1.1s linear infinite}.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.js .rv.in{opacity:1;transform:none}.nav-open .drawer a{animation:inR .35s var(--ease) both}.nav-open .drawer a:nth-of-type(2){animation-delay:.03s}.nav-open .drawer a:nth-of-type(3){animation-delay:.06s}.nav-open .drawer a:nth-of-type(4){animation-delay:.09s}.nav-open .drawer a:nth-of-type(5){animation-delay:.12s}.nav-open .drawer a:nth-of-type(6){animation-delay:.15s}.nav-open .drawer a:nth-of-type(7){animation-delay:.18s}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}@keyframes rise{from{opacity:0;transform:translateY(14px)}}@keyframes inR{from{opacity:0;transform:translateX(12px)}}@keyframes inL{from{opacity:0;transform:translateX(-12px)}}@keyframes flash{from{background-color:var(--accent-soft)}to{background-color:transparent}}@keyframes shim{to{background-position:-200% 0}}@keyframes ring{from{transform:scale(1);opacity:.6}to{transform:scale(1.7);opacity:0}}@keyframes pop{50%{transform:scale(1.05)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes rp{to{transform:translate(-50%,-50%) scale(36);opacity:0}}.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.875rem;color:var(--muted);margin:0 0 14px;padding:0;list-style:none}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent-text);text-decoration:underline}.crumbs li{display:flex;align-items:center;gap:6px}.crumbs li+li::before{content:"/";color:var(--line-2)}.crumbs [aria-current]{color:var(--ink-2)}.intro{margin:0 0 20px;max-width:780px}.intro h1{margin-bottom:8px}.intro .lead{font-size:1.05rem;color:var(--muted);margin:0}.intro .lead-ta{margin:6px 0 0;color:var(--ink-2);font-size:1.02rem}.tool{border:1px solid transparent;border-radius:var(--r-lg);background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(135deg,var(--tb1),var(--line) 32%,var(--line) 68%,var(--tb2)) border-box;box-shadow:var(--shadow-lg);overflow:clip;transition:box-shadow .3s var(--ease);animation:rise .6s var(--ease) .05s both}.tool:focus-within{box-shadow:0 0 0 4px var(--ring),var(--shadow-lg)}.tool-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.dir{display:flex;align-items:center;gap:10px;min-width:0}.dir-side{display:flex;flex-direction:column;min-width:0;line-height:1.2}.dir-side b{color:var(--ink);font-size:1.02rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dir-side span{color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swap{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface);color:var(--accent-text);padding:0;flex:none;transition:transform .55s var(--spring),background-color .2s,border-color .2s,color .2s,box-shadow .2s}.swap:hover{background:var(--accent);background:var(--grad);border-color:transparent;color:var(--accent-ink);box-shadow:0 6px 16px rgba(var(--accent-rgb),.3)}.swap.spin{transform:rotate(180deg)}.font-pick{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}.select{position:relative;display:inline-flex}.select select{appearance:none;-webkit-appearance:none;min-height:40px;padding:8px 36px 8px 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-weight:600;max-width:62vw}.select .ic{position:absolute;right:10px;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none;color:var(--muted)}.panes{display:grid;grid-template-columns:1fr}.pane{position:relative;display:flex;flex-direction:column;min-width:0}.pane+.pane{border-top:1px solid var(--line)}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 6px 16px;min-height:52px}.pane-head label{font-weight:600;color:var(--ink);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tools{display:flex;align-items:center;gap:2px;flex-wrap:wrap;justify-content:flex-end}.tbtn{display:inline-flex;align-items:center;gap:6px;height:36px;min-width:36px;padding:0 8px;justify-content:center;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--muted);font-size:.85rem;font-weight:600;transition:background-color .15s,color .15s,transform .1s}.tbtn:hover{background:var(--surface-2);color:var(--ink)}.tbtn:active{transform:scale(.95)}.tbtn[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent-text)}.tbtn.live{color:#fff;background:var(--danger)}.tbtn.live .ic{animation:pulse 1.2s ease-in-out infinite}.tbtn{position:relative}.tbtn.live::before,.tbtn.live::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--danger);animation:ring 1.6s ease-out infinite;pointer-events:none}.tbtn.live::after{animation-delay:.8s}@keyframes pulse{50%{opacity:.35}}.tbtn .tag{font-size:.8rem}.field{display:block;width:100%;flex:1;min-height:200px;border:0;outline:0;resize:vertical;background:transparent;color:var(--ink);padding:6px 16px 12px;font-size:1.15rem;line-height:1.8}.field::placeholder{color:var(--muted);opacity:.85}.field:focus-visible{box-shadow:none}.pane:focus-within{background:color-mix(in srgb,var(--accent-soft) 22%,transparent)}.pane-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 16px 12px;font-size:.82rem;color:var(--muted);min-height:36px}.status{display:inline-flex;align-items:center;gap:6px;text-align:right}.status.on{color:var(--accent-text)}.acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--line);background:var(--surface)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none;white-space:nowrap;position:relative;overflow:hidden;transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease),box-shadow .2s,filter .2s}.btn:hover{background:var(--surface-2);color:var(--ink);transform:translateY(-1px);box-shadow:var(--hover-shadow)}.btn:active{transform:translateY(0) scale(.97);box-shadow:none}.btn-primary{background:var(--accent);background:var(--grad);border-color:transparent;color:var(--accent-ink);box-shadow:0 6px 16px rgba(var(--accent-rgb),.25)}.btn-primary:hover{background:var(--accent);background:var(--grad);color:var(--accent-ink);filter:brightness(1.06);box-shadow:0 10px 24px rgba(var(--accent-rgb),.32)}.btn-copy{min-width:132px}.btn.done{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);box-shadow:none;animation:pop .35s var(--spring)}.btn.done .ic{stroke-dasharray:24;stroke-dashoffset:24;animation:draw .4s .05s var(--ease) forwards}.rp{position:absolute;width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.28;pointer-events:none;transform:translate(-50%,-50%) scale(0);animation:rp .55s ease-out forwards}.menu-wrap{position:relative}.menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:20;min-width:200px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s var(--ease),transform .15s var(--ease),visibility .15s}.menu.open{opacity:1;visibility:visible;transform:none}.menu button,.menu a{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-2);text-decoration:none;font-weight:500;text-align:left}.menu button:hover,.menu a:hover{background:var(--surface-2);color:var(--ink)}.drop{position:absolute;inset:6px;z-index:5;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:var(--r);background:var(--surface);background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--accent-text);font-weight:600;opacity:0;visibility:hidden;transition:opacity .15s}.pane.dragging .drop{opacity:1;visibility:visible}.interim{color:var(--muted);font-style:italic}.tool-note{display:flex;gap:8px;align-items:flex-start;margin:12px 4px 0;font-size:.85rem;color:var(--muted)}.tool-note .ic{width:16px;height:16px;margin-top:3px}.toast{position:fixed;left:50%;bottom:24px;z-index:100;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:.92rem;font-weight:500;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%,16px) scale(.96);transition:opacity .25s var(--ease),transform .4s var(--spring),visibility .25s}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}.toast .ic{width:18px;height:18px}.sec{margin-top:48px}.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.sec-head p{margin:4px 0 0;color:var(--muted)}.filter{position:relative;flex:0 1 320px}.filter input{width:100%;min-height:44px;padding:10px 14px 10px 40px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}.filter .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);width:18px;height:18px}.fonts{--kc:var(--accent-text);--kb:var(--accent-soft);display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none}.fonts li{position:relative;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}.fonts li:hover{transform:translateY(-3px);box-shadow:var(--hover-shadow);border-color:var(--kc)}.fhead{display:flex;align-items:center;gap:12px;margin-bottom:6px;min-width:0;max-width:100%}.av{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--kb);color:var(--kc);font-size:1.25rem;font-weight:700;line-height:1;transition:transform .35s var(--spring)}.fonts li:hover .av{transform:rotate(-6deg) scale(1.06)}.fnames{display:flex;flex-direction:column;min-width:0;max-width:100%}.fnames .ft,.fnames .fe{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kind{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:var(--kb);color:var(--kc);font-size:.7rem;font-weight:600;font-style:normal;line-height:1.6;vertical-align:1px}.k-popular{--kc:#047857;--kb:#def5ea}.k-dtp{--kc:#0f766e;--kb:#dff3ef}.k-news{--kc:#1d4ed8;--kb:#e3ebfd}.k-web{--kc:#6d28d9;--kb:#efe7fd}.k-standard{--kc:#b45309;--kb:#fdf0dc}.k-design{--kc:#be185d;--kb:#fce7f1}.k-keyboard{--kc:#475569;--kb:#e8edf2}:root[data-theme="dark"] .k-popular{--kc:#6ee7b7;--kb:rgba(110,231,183,.13)}:root[data-theme="dark"] .k-dtp{--kc:#5eead4;--kb:rgba(94,234,212,.12)}:root[data-theme="dark"] .k-news{--kc:#93b4fb;--kb:rgba(147,180,251,.13)}:root[data-theme="dark"] .k-web{--kc:#c4a5fb;--kb:rgba(196,165,251,.13)}:root[data-theme="dark"] .k-standard{--kc:#f5c27a;--kb:rgba(245,194,122,.13)}:root[data-theme="dark"] .k-design{--kc:#f6a3c8;--kb:rgba(246,163,200,.13)}:root[data-theme="dark"] .k-keyboard{--kc:#aab6c6;--kb:rgba(170,182,198,.13)}.fonts .ft{color:var(--ink);font-weight:700;font-size:1.05rem;line-height:1.4}.fonts .fe{color:var(--muted);font-size:.85rem;margin-bottom:4px}.fonts a{display:inline-flex;align-items:center;gap:4px;font-size:.9rem;font-weight:500;text-decoration:none;color:#CC3A63;padding:2px 0}.fonts a:hover{text-decoration:underline}.fonts a .ic{width:14px;height:14px}.fonts li.main a.primary{font-weight:600}.empty{padding:24px;border:1px dashed var(--line-2);border-radius:var(--r);color:var(--muted);text-align:center;margin-top:12px}.content{display:grid;grid-template-columns:1fr;gap:40px;margin-top:48px}.prose{max-width:74ch}.prose h2{margin:40px 0 12px}.prose>h2:first-child,.prose section:first-child>h2:first-child{margin-top:0}.prose h3{margin:26px 0 8px}.prose p,.prose li{color:var(--ink-2)}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:0;list-style:none}.prose ul li{position:relative;padding-left:24px;margin:0 0 8px}.prose ul li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;border-radius:2px;background:var(--accent);opacity:.75}.prose ol{counter-reset:s}.prose ol li{position:relative;padding-left:40px;margin:0 0 12px;counter-increment:s;min-height:28px}.prose ol li::before{content:counter(s);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;font-size:.85rem;font-weight:700;line-height:1}.prose code{font-family:var(--mono);font-size:.92em;background:var(--surface-2);border:1px solid var(--line);padding:1px 6px;border-radius:6px;color:var(--ink)}.prose strong{color:var(--ink);font-weight:600}.prose section+section{margin-top:40px}.ta-block{margin-top:40px;padding:22px 24px;border-radius:var(--r);background:var(--surface);background:linear-gradient(135deg,var(--accent-soft),transparent 55%),var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent)}.ta-block h2{margin-top:0}.note{display:flex;gap:10px;padding:14px 16px;border-radius:var(--r);background:var(--accent-soft);color:var(--ink-2);margin:20px 0}.note .ic{color:var(--accent-text);margin-top:3px}.note p{margin:0}.warn{background:var(--warn-soft);color:var(--warn-text)}.warn .ic{color:var(--warn-text)}.faq{border-top:1px solid var(--line);margin:8px 0 0}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 4px;color:var(--ink);font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary .ic{margin-top:3px;color:var(--muted);transition:transform .3s var(--spring),color .2s}.faq summary:hover,.faq summary:hover .ic{color:var(--accent-text)}.faq details::details-content{block-size:0;overflow:hidden;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}.faq details[open]::details-content{block-size:auto}.faq details[open] summary .ic{transform:rotate(180deg)}.faq .a{padding:0 4px 16px;color:var(--ink-2)}.faq .a p:last-child{margin:0}.side{display:flex;flex-direction:column;gap:20px}.side-box{padding:18px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.side-box h2{font-size:1rem;margin:0 0 10px}.side-box ul{list-style:none;margin:0;padding:0}.side-box li a{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink-2);font-size:.92rem}.side-box li:last-child a{border-bottom:0}.side-box li a:hover{color:var(--accent-text)}.side-box li a span{color:var(--muted)}.alias{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.alias li{padding:3px 10px;border-radius:999px;border:1px solid var(--line);font-size:.82rem;color:var(--muted)}.page{max-width:780px}.page .prose{max-width:none}.form{display:grid;gap:16px;margin-top:16px}.form label{display:block;font-weight:600;color:var(--ink);margin-bottom:6px;font-size:.95rem}.input{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}.input:focus{outline:0;border-color:var(--accent);box-shadow:var(--focus)}textarea.input{min-height:160px;resize:vertical;line-height:1.6}.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.alert{padding:14px 16px;border-radius:var(--r);margin:16px 0;border:1px solid}.alert-ok{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.alert-err{background:var(--warn-soft);border-color:var(--warn-text);color:var(--warn-text)}.alert ul{margin:6px 0 0;padding-left:18px}.ad{display:flex;justify-content:center;margin:24px auto;min-height:100px;overflow:hidden}.site-foot{border-top:1px solid var(--line);background:var(--surface);padding:40px 0 28px;font-size:.92rem}.foot-grid{display:grid;grid-template-columns:1fr;gap:28px}.foot-grid h2{font-size:.95rem;margin:0 0 10px}.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.foot-grid a{color:var(--ink-2);text-decoration:none}.foot-grid a:hover{color:var(--accent-text);text-decoration:underline}.foot-about p{color:var(--muted);max-width:36ch;margin-top:12px}.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:28px;padding-top:18px;color:var(--muted);font-size:.85rem}.nf{text-align:center;padding:48px 0}.nf .big{font-size:clamp(4rem,12vw,7rem);font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.04em;margin-bottom:12px}p.cta,.cta{margin-top:28px}.nf p{color:var(--muted);max-width:52ch;margin:12px auto 24px}.nf .row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.fl-bar{display:grid;grid-template-columns:1fr;gap:12px;margin:16px 0}.fl-bar .select select{width:100%;max-width:none}.fl-bar .select{display:flex}.fl-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px;color:var(--muted);font-size:.9rem}.view-tg{display:flex;gap:4px}.fl{display:grid;gap:12px;grid-template-columns:1fr}.fl-item{display:grid;grid-template-columns:1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.fl-item h3{font-size:1.02rem;margin:0 0 4px}.fl-item h3 a{color:var(--ink);text-decoration:none}.fl-item h3 a:hover{color:var(--accent-text)}.fl-info{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:.85rem}.fl-prev{border-radius:var(--r-sm);overflow:hidden;background:#fff;border:1px solid var(--line);aspect-ratio:12/5}.fl-prev img{width:100%;height:100%;object-fit:contain}.badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);margin-bottom:6px}.badge.is-legacy{background:var(--warn-soft);color:var(--warn-text);border-color:transparent}.badge.is-unicode{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.fl.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:24px}.pager a,.pager span{min-width:42px;height:42px;padding:0 12px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-sm);text-decoration:none;color:var(--ink-2);background:var(--surface)}.pager a:hover{border-color:var(--accent);color:var(--accent-text)}.pager [aria-current]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.fd{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}.fd>*{min-width:0}.fd-prev{border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line);aspect-ratio:12/5}.fd-prev img{width:100%;height:100%;object-fit:contain}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}.facts div{padding:12px 14px;border-bottom:1px solid var(--line)}.facts div:nth-child(odd){border-right:1px solid var(--line)}.facts dt{font-size:.8rem;color:var(--muted)}.facts dd{margin:2px 0 0;color:var(--ink);font-weight:600;word-break:break-word}.btn-lg{min-height:52px;font-size:1rem;width:100%}#print-area{display:none}@media (min-width:640px){.fl-bar{grid-template-columns:2fr 1fr 1fr 1fr;align-items:end}.fl-item{grid-template-columns:1fr 1.1fr auto;align-items:center}.fl.grid .fl-item{grid-template-columns:1fr;align-items:stretch}.foot-grid{grid-template-columns:1fr 1fr}}@media (min-width:860px){.panes{grid-template-columns:1fr 1fr}.pane+.pane{border-top:0;border-left:1px solid var(--line)}.field{min-height:300px}.content{grid-template-columns:minmax(0,1fr) 300px}.side{position:sticky;top:calc(var(--head) + 20px);align-self:start}.fd{grid-template-columns:1.4fr 1fr}.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}@media (max-width:959px){.nav{display:none}.menu-btn{display:inline-grid}}@media (max-width:719px){main{padding-top:16px}.wrap{padding:0 16px}.brand small{display:none}.tool{border-radius:var(--r)}.tool-bar{padding:12px}.font-pick{width:100%}.font-pick .select{flex:1}.font-pick .select select{width:100%;max-width:none}.pane-head{padding-left:12px}.field{padding:6px 12px 10px;min-height:170px;font-size:1.1rem}.pane-foot{padding:6px 12px 10px}.acts{position:sticky;bottom:0;z-index:4;padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 16px rgba(0,0,0,.05)}.acts .btn-copy{flex:1}.acts .btn-label{display:none}.acts .btn{padding:0 13px}.tbtn .tag{display:none}.install-btn span{display:none}.install-btn{width:40px;padding:0;justify-content:center;border-color:transparent}.facts{grid-template-columns:1fr}.filter{flex:1 1 100%}.fonts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fonts li{padding:12px}.fhead{flex-direction:column;align-items:stretch;gap:8px}.av{align-self:flex-start}.fnames .ft,.fnames .fe{white-space:normal;overflow-wrap:anywhere}.fonts li a{overflow-wrap:anywhere}.av{width:38px;height:38px;font-size:1.1rem;border-radius:10px}.kind{display:none}.chips{gap:6px}.chips li{font-size:.78rem;padding:4px 10px}.glow::after{font-size:240px;top:-30px;right:-50px;opacity:.045}.fonts .ft{font-size:.98rem}.fonts .fe{font-size:.8rem;margin-bottom:2px}.fonts a{font-size:.82rem}.fonts a .ic{display:none}.facts div:nth-child(odd){border-right:0}}@media (max-width:359px){.head-in{gap:8px}.brand{gap:8px;font-size:.88rem;letter-spacing:-.02em}.brand-mark{width:30px;height:30px;font-size:17px}.ibtn{width:40px;height:40px}.fonts li{padding:10px}}@media (pointer:coarse){.tbtn{height:42px;min-width:42px}.ibtn{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.js .rv{opacity:1!important;transform:none!important;transition:none!important}.glow,.toast{display:none!important}body.print-out>*{display:none!important}body.print-out #print-area{display:block!important;white-space:pre-wrap;font-size:14pt;line-height:1.8;color:#000}.site-head,.site-foot,.tool,.ad,.side,.crumbs{display:none!important}}.site-head{background:var(--head-color);background-image:radial-gradient(420px 140px at 88% -60%,rgba(255,255,255,.22),transparent 70%),var(--head-bg);border-bottom:0;color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;transition:box-shadow .3s var(--ease)}.site-head .brand,.site-head .brand:hover{color:#fff}.site-head .brand small{color:rgba(255,255,255,.78)}.site-head .brand-mark{background:#fff;color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.18)}:root[data-theme="dark"] .site-head .brand-mark{background:#eef7fc;color:#08486a}.site-head .nav a{color:rgba(255,255,255,.88);transition:background-color .2s,color .2s}.site-head .nav a:hover{background:rgba(255,255,255,.13);color:#fff}.site-head .nav a[aria-current="page"]{background:rgba(255,255,255,.2);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.site-head .ibtn{color:#fff}.site-head .ibtn:hover{background:rgba(255,255,255,.15);color:#fff}.site-head .install-btn{border-color:rgba(255,255,255,.4)}.site-head :focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,.7)}:root{--out-bg:#f8fbfd;--gold-text:#7d5a0e}:root[data-theme="dark"]{--out-bg:#0f1820;--gold-text:#e9c463}@media (prefers-color-scheme:dark){:root:not([data-theme]){--out-bg:#0f1820;--gold-text:#e9c463}}body{line-height:1.7}.tool-bar{background:linear-gradient(180deg,var(--surface-2),var(--surface))}#cv-pane-out{background:var(--out-bg)}#cv-pane-out .acts{background:var(--out-bg)}.pane-head label{font-weight:700;color:var(--ink)}.tbtn{border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}.tbtn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.tbtn[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.tbtn.live{border-color:var(--danger)}.btn{border-color:var(--line-2);color:var(--ink)}.btn:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.btn-primary,.btn-primary:hover{color:var(--accent-ink);border-color:transparent}.btn-convert{background:var(--gold-bright);background:var(--gold-grad);border-color:transparent;color:var(--gold-ink);font-weight:700;min-width:150px;box-shadow:0 6px 16px rgba(201,154,46,.32)}.btn-convert:hover{background:var(--gold-bright);background:var(--gold-grad);border-color:transparent;color:var(--gold-ink);filter:brightness(1.05);box-shadow:0 10px 24px rgba(201,154,46,.4)}.btn-convert.busy .ic{animation:spin .8s linear infinite}.foot-info{display:flex;flex-direction:column;gap:2px;min-width:0}.foot-info .status{text-align:left}.swap{color:var(--gold);border-color:var(--line-2)}.site-head .nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--gold-bright)}.chips .ic{color:var(--gold)}.chips li{border-color:var(--line-2)}.prose h2,.sec-head h2{position:relative;padding-left:14px}.prose h2::before,.sec-head h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;border-radius:4px;background:var(--gold-bright);background:var(--gold-grad)}.prose ol li::before{background:var(--gold-soft);color:var(--gold-text);box-shadow:inset 0 0 0 1px rgba(201,154,46,.35)}.ta-block{border-left-color:var(--gold-bright)}.faq{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 18px;margin-top:12px}.faq details:last-child{border-bottom:0}.side-box{border-color:var(--line)}.side-box h2{color:var(--ink)}.site-foot{background:var(--head-color);background:var(--foot-bg);border-top:0;color:rgba(255,255,255,.78)}.site-foot .brand,.site-foot .brand:hover{color:#fff}.site-foot .brand small{color:rgba(255,255,255,.7)}.site-foot .brand-mark{background:#fff;color:var(--accent)}:root[data-theme="dark"] .site-foot .brand-mark{color:#08486a}.foot-grid h2{color:#fff}.foot-grid h2::after{content:"";display:block;width:24px;height:2px;margin-top:8px;border-radius:2px;background:var(--gold-bright)}.foot-grid a{color:rgba(255,255,255,.8)}.foot-grid a:hover{color:var(--gold-bright)}.foot-about p{color:rgba(255,255,255,.72)}.foot-bottom{border-top-color:rgba(255,255,255,.14);color:rgba(255,255,255,.62)}.site-foot :focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,.7)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:719px){.pane-foot{flex-wrap:wrap;row-gap:8px}.btn-convert{width:100%;min-height:46px}}