@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root,[data-theme=dark]{--bg:#0a0a0a;--surface:#111;--border:#222;--text:#f0f0f0;--muted:#555;--btn-fg:#000;--btn-bg:#f0f0f0}[data-theme=light]{--bg:#fff;--surface:#f6f6f6;--border:#e0e0e0;--text:#0a0a0a;--muted:#999;--btn-fg:#fff;--btn-bg:#0a0a0a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;transition:background .2s,color .2s}.app{flex-direction:column;gap:.75rem;height:100vh;margin:0 auto;padding:1rem 1.25rem;display:flex}.header{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.logo{letter-spacing:-.3px;white-space:nowrap;font-size:1rem;font-weight:600}.key-badge{border:1px solid var(--border);border-radius:6px;align-items:center;gap:.4rem;padding:.2rem .65rem;display:inline-flex}.key-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.7rem;font-weight:500}.key-value{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.82rem}.header-actions{align-items:center;gap:1rem;display:flex}.btn{cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.35rem;font-family:inherit;font-size:.82rem;font-weight:500;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--ghost{color:var(--text);border:1px solid var(--border);background:0 0;padding:.3rem .75rem}.btn--ghost:hover:not(:disabled){background:var(--border)}.btn--ok{color:var(--text);border-color:var(--border)}.btn--icon{color:var(--muted);border:1px solid var(--border);background:0 0;padding:.3rem .55rem;font-size:1rem;line-height:1}.btn--icon:hover:not(:disabled){color:var(--text);background:var(--border)}.btn--primary{background:var(--btn-bg);color:var(--btn-fg);border:none;padding:.45rem 1.4rem;font-size:.88rem;font-weight:600}.btn--primary:hover:not(:disabled){opacity:.85}.btn--primary:active:not(:disabled){opacity:.7}.editor-section{flex:1;min-height:0;display:flex}.editor{resize:none;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);border-radius:10px;outline:none;padding:1rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.75;transition:border-color .15s}.editor::placeholder{color:var(--muted)}.editor:focus{border-color:var(--text)}.editor:disabled{opacity:.4;cursor:wait}.banner{background:var(--surface);border:1px solid var(--border);height:2rem;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;padding:0 .9rem;font-size:.75rem;font-weight:500;transition:color .2s,border-color .2s;display:flex;overflow:hidden}.banner--saving{color:var(--muted)}.banner--saved{color:var(--text);border-color:var(--border)}.banner--copied{color:var(--text)}.banner--error{color:#e05252;border-color:#e05252}.banner--dirty{color:var(--text)}.spinner{border:2px solid #0003;border-top-color:var(--btn-fg);border-radius:50%;width:11px;height:11px;animation:.6s linear infinite spin;display:inline-block}.spinner--banner{border-color:var(--border);border-top-color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}.btn--save{justify-content:center;min-width:4.5rem}.btn--save-dirty{border-color:var(--text);color:var(--text)}.btn--save.btn--ok{border-color:var(--border)}@media (width<=480px){.app{gap:.6rem;padding:.65rem}.header{flex-wrap:wrap}.header-actions{gap:.5rem}}
