:root{--bg:#0f1419;--bg-elevated:#161d24;--bg-editor:#0b1014;--bg-hover:#1c252e;--border:#24303a;--text:#e7eef4;--text-muted:#8b9aab;--text-faint:#5c6b7a;--accent:#2ec9b3;--accent-ink:#0b1014;--syntax:#e06b74;--ok:#5dba8c;--font:"IBM Plex Sans", ui-sans-serif, system-ui, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--topbar-h:48px;--status-h:30px}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font);margin:0;font-size:14px;line-height:1.4}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,textarea,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip{z-index:10;background:var(--bg-elevated);border:1px solid var(--accent);color:var(--text);padding:6px 10px;font-size:13px;text-decoration:none;position:absolute;top:-40px;left:12px}.skip:focus{top:8px}.topbar{height:var(--topbar-h);background:var(--bg-elevated);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.logo{flex:none;width:22px;height:22px;display:inline-flex}.logo img{width:22px;height:22px;display:block}.brand-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.brand-title{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.brand-site{color:var(--text-faint);letter-spacing:.04em;font-size:11px}.lang{color:var(--text-faint);flex:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}.lang button{color:var(--text-faint);padding:0;font-size:12px}.lang button[aria-pressed=true]{color:var(--text);font-weight:600}.lang-sep{color:var(--text-faint)}.mode-bar{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex:none;align-items:center;height:40px;padding:0 14px;display:flex}.seg{border:1px solid var(--border);height:28px;color:var(--text);background:#12181f;padding:0 12px;font-size:13px}.seg+.seg{margin-left:-1px}.seg:first-of-type{border-radius:6px 0 0 6px}.seg:last-of-type{border-radius:0 6px 6px 0}.seg[aria-pressed=true]{z-index:1;background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600;position:relative}.panel{background:var(--bg);flex:auto;min-height:0;padding:16px 14px 20px}.panel-title{margin:0 0 6px;font-size:14px;font-weight:600}.hint{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.45}.encoding-options{border:1px solid var(--border);background:#161d2499;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px;padding:6px 8px;display:flex}.encoding-options:disabled{opacity:.52}.encoding-options legend,.encoding-note{color:var(--text-muted);margin:0;padding:0;font-size:12px;font-weight:500}.encoding-option{color:var(--text);cursor:pointer;align-items:center;gap:5px;font-size:12px;display:inline-flex}.encoding-option input{accent-color:var(--accent)}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;display:flex}.tool{border:1px solid var(--border);height:28px;color:var(--text);background:#12181f;border-radius:6px;align-items:center;gap:6px;padding:0 9px;font-size:13px;display:inline-flex}.tool:hover{border-color:#334351}.tool svg{color:var(--text-muted);flex:none}.tool.is-copied{border-color:var(--accent);color:var(--accent)}.primary{border:1px solid var(--accent);background:var(--accent);height:28px;color:var(--accent-ink);border-radius:6px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.primary:hover{filter:brightness(1.05)}.filename{font-family:var(--font-mono);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:12px;overflow:hidden}.field-shell{margin:0 0 12px;position:relative}#field1,#field2{resize:vertical;border:1px solid var(--border);background:var(--bg-editor);width:100%;min-height:calc(10em + 16px);color:var(--text);caret-color:var(--accent);font-family:var(--font-mono);border-radius:6px;margin:0 0 12px;padding:8px 10px;font-size:13px;line-height:1.55;display:block}.field-shell #field1{margin:0}#field1::selection{background:#2ec9b347}#field2::selection{background:#2ec9b347}.field-overlay{color:var(--text-faint);pointer-events:none;margin:0;font-size:13px;line-height:1.55;position:absolute;top:8px;left:10px;right:10px}.field-shell.has-text .field-overlay{display:none}.privacy{color:var(--text-faint);margin:4px 0 0;font-size:12px}.status{height:var(--status-h);white-space:nowrap;border-top:1px solid var(--border);background:var(--bg-elevated);color:var(--text-faint);flex:none;align-items:center;gap:8px;padding:0 14px;font-size:12px;display:flex;overflow:hidden}.status-dot{background:var(--text-faint);border-radius:50%;flex:none;width:7px;height:7px}.status[data-state=ok]{color:var(--ok)}.status[data-state=ok] .status-dot{background:var(--ok)}.status[data-state=error]{color:var(--syntax)}.status[data-state=error] .status-dot{background:var(--syntax)}.status-text{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.legal-link{color:var(--text-faint);text-underline-offset:3px;flex:none;font-size:11px;text-decoration:underline}.legal-link:hover{color:var(--text)}.file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toast{z-index:5;border:1px solid var(--border);background:var(--bg-elevated);max-width:min(90vw,420px);color:var(--text);text-align:center;border-radius:6px;padding:.4rem .75rem;font-size:13px;position:fixed;bottom:42px;left:50%;transform:translate(-50%)}.about{max-width:40rem;color:var(--text);margin:0 auto;padding:2.5rem 1.25rem 4rem}.about h1{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.65rem;font-weight:600;line-height:1.25}.about h2{margin:1.75rem 0 .5rem;font-size:1.05rem;font-weight:600}.about p,.about-subline{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.55}.about-subline{margin-bottom:.25rem}.about code{font-family:var(--font-mono);color:var(--text);font-size:.88em}.faq{border-top:1px solid var(--border);margin-top:2.25rem;padding-top:1.5rem}.faq details{border-bottom:1px solid var(--border);padding:.65rem 0}.faq summary{cursor:pointer;color:var(--text);font-size:.95rem;font-weight:600}.faq details p{margin-top:.45rem}@media (width<=640px){.brand-site{display:none}}@media (width<=390px){.topbar,.mode-bar,.status{padding-left:10px;padding-right:10px}.tool,.primary,.seg{height:36px;min-height:36px}.status .legal-link:last-of-type{display:none}.encoding-note{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.primary:hover{filter:none}}
