:root{--bg: #f6f7fb;--panel: #ffffff;--border: rgba(15, 23, 42, .12);--text: rgba(15, 23, 42, .92);--muted: rgba(15, 23, 42, .62);--glow1: rgba(99, 102, 241, .18);--glow2: rgba(16, 185, 129, .14);--panelHeaderH: 40px;--panelFooterH: 40px;--codeAreaH: 70vh;--panelBg: linear-gradient(180deg, rgba(15, 23, 42, .04), transparent);--panelHeaderBg: rgba(15, 23, 42, .02);--toggleHoverBg: rgba(99, 102, 241, .12);--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.theme-dark{--bg: #0b1020;--panel: #121a33;--border: rgba(255, 255, 255, .12);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .65);--glow1: rgba(99, 102, 241, .25);--glow2: rgba(16, 185, 129, .2);--panelBg: linear-gradient(180deg, rgba(255, 255, 255, .04), transparent);--panelHeaderBg: rgba(255, 255, 255, .03);--toggleHoverBg: rgba(99, 102, 241, .22)}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(60% 45% at 20% 10%,var(--glow1),transparent),radial-gradient(50% 40% at 80% 0%,var(--glow2),transparent),var(--bg);background-repeat:no-repeat;color:var(--text);min-height:100vh}.app{padding:16px;max-width:1400px;margin:0 auto}.header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.rightBar{display:flex;align-items:center;gap:12px}.title{font-weight:700;letter-spacing:.2px}.hint{color:var(--muted);font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel{background:var(--panelBg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.panelHeader{display:flex;align-items:center;justify-content:space-between;height:var(--panelHeaderH);padding:0 12px;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--panelHeaderBg)}.panelHeader strong{font-size:13px;line-height:1}.panelHeader span{font-size:12px;color:var(--muted);line-height:1}.panelFooter{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 12px;border-top:1px solid var(--border);background:var(--panelHeaderBg);height:var(--panelFooterH);box-sizing:border-box;overflow:hidden}.panelFooterLeft{display:flex;align-items:center;min-width:0}.panelFooterRight{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}.themeToggle,.langSelect{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:8px;padding:8px 10px;font-size:12px;cursor:pointer;line-height:1;-webkit-user-select:none;user-select:none}.panelHeaderRight{display:flex;align-items:center;gap:10px}.copyButton{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:8px;height:28px;padding:0 10px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;box-sizing:border-box;line-height:1;-webkit-user-select:none;user-select:none}.formatSelect{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:8px;height:28px;padding:0 10px;font-size:12px;cursor:pointer;line-height:1;-webkit-user-select:none;user-select:none;box-sizing:border-box}.formatSelect:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:2px}.downloadButton{white-space:nowrap}.copyButton:hover{background:var(--toggleHoverBg)}.copyButton:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:2px}.copyButton:disabled{opacity:.55;cursor:not-allowed}.langSelect:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:2px}.themeToggle:hover{background:var(--toggleHoverBg)}.themeToggle:focus-visible{outline:2px solid rgba(99,102,241,.45);outline-offset:2px}textarea{width:100%;height:100%;resize:none;border:0;outline:none;padding:12px;box-sizing:border-box;background:transparent;color:var(--text);font-family:var(--mono);font-size:12.5px;line-height:1.45}.placeholder{color:#ffffff80}.codeEditor{position:relative;height:calc(var(--codeAreaH) - var(--panelFooterH))}.highlightLayer{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:12px;overflow:auto;box-sizing:border-box;white-space:pre;pointer-events:none}.highlightLayer code{font-family:var(--mono);font-size:12.5px;line-height:1.45;color:var(--text)}.inputLayer{position:relative;z-index:1;height:100%;width:100%;background:transparent;border:0;outline:none;resize:none;font-family:var(--mono);font-size:12.5px;line-height:1.45;padding:12px;box-sizing:border-box;color:transparent;caret-color:var(--text)}.inputLayer::selection{background:#6366f159}.inputLayer:focus{outline:none}.codeArea{width:100%;height:calc(var(--codeAreaH) - var(--panelFooterH));overflow:auto;margin:0;padding:12px;box-sizing:border-box;background:transparent;color:var(--text);font-family:var(--mono);font-size:12.5px;line-height:1.45;white-space:pre}.codeArea code{font-family:inherit;font-size:inherit}.outputTextArea::placeholder{color:#0f172a59}.theme-dark .outputTextArea::placeholder{color:#ffffff80}.codePlaceholder{color:#0f172a59}.token.comment{color:#334155cc;font-style:italic}.token.selector{color:#0f766e;font-weight:600}.token.property{color:#0284c7;font-weight:600}.token.atrule{color:#b45309}.token.punctuation{color:#0f172a8c}.token.string{color:#059669}.token.function{color:#2563eb}.token.number{color:#db2777}.token.important{color:#dc2626;font-weight:800}.theme-dark .codePlaceholder{color:#ffffff80}.theme-dark .token.comment{color:#ffffff8c;font-style:italic}.theme-dark .token.selector{color:#a6e22e}.theme-dark .token.property{color:#7dd3fc}.theme-dark .token.atrule{color:#fbbf24}.theme-dark .token.punctuation{color:#ffffffb3}.theme-dark .token.string{color:#34d399}.theme-dark .token.function{color:#60a5fa}.theme-dark .token.number{color:#f472b6}.theme-dark .token.important{color:#f87171;font-weight:700}@media(max-width:1000px){.grid{grid-template-columns:1fr}:root{--codeAreaH: 45vh}}@media(max-width:520px){.app{padding:12px}.header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:10px}.rightBar{width:100%;justify-content:space-between;gap:8px}.hint{font-size:12px}.title{font-size:18px;line-height:1.1}.grid{gap:10px}.panelHeader{height:var(--panelHeaderH);padding:0 10px}.panelHeader strong{font-size:12px}.panelHeader span{font-size:11px}:root{--panelHeaderH: 36px;--panelFooterH: 64px;--codeAreaH: 40vh}.panelFooter{height:var(--panelFooterH);padding:8px 10px;flex-wrap:wrap;justify-content:flex-start;align-content:center;gap:8px}.panelFooterRight{gap:8px}.downloadButton{white-space:normal;height:28px}textarea{padding:10px;font-size:12px;line-height:1.4}.highlightLayer{padding:10px}.highlightLayer code{font-size:12px;line-height:1.4}.inputLayer,.codeArea{padding:10px;font-size:12px;line-height:1.4}}@media(max-width:380px){:root{--codeAreaH: 36vh;--panelFooterH: 58px;--panelHeaderH: 34px}.panelFooter{padding:8px;gap:6px}.panelFooterRight{gap:6px}.themeToggle,.langSelect{font-size:11px;padding:7px 9px}.copyButton,.formatSelect{font-size:11px;padding:0 9px}}
