:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}.shell{min-height:100vh;display:grid;place-items:center;padding:2rem}.translator{width:100%;max-width:32rem;display:flex;flex-direction:column;gap:1rem}h1{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.subtitle{margin:0;color:#ffffff80;font-size:.9rem}.lang-bar{display:flex;align-items:center;gap:.5rem}.lang-bar select{flex:1;padding:.6rem 2rem .6rem .75rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fafafa;font-size:.9rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='rgba(255,255,255,0.5)' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.lang-bar select:focus{outline:none;border-color:#78a0ff80}.swap-btn{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffb3;font-size:1.25rem;cursor:pointer;display:grid;place-items:center;transition:background .15s,border-color .15s}.swap-btn:hover{background:#ffffff1a;border-color:#fff3}.input-area{width:100%;padding:.75rem 1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fafafa;font-size:1rem;font-family:inherit;resize:vertical;line-height:1.5}.input-area::placeholder{color:#ffffff4d}.input-area:focus{outline:none;border-color:#78a0ff80}.translate-btn{padding:.7rem 1.5rem;border-radius:.5rem;border:none;background:#4f8cff;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.translate-btn:hover:not(:disabled){background:#3a7aff}.translate-btn:disabled{opacity:.5;cursor:not-allowed}.error{padding:.75rem 1rem;border-radius:.5rem;background:#ff50501f;border:1px solid rgba(255,80,80,.25);color:#ff8080;font-size:.9rem}.result-box{padding:1rem 1.25rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.result-label{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#fff6;margin-bottom:.5rem}.result-text{margin:0;font-size:1.25rem;font-weight:500;color:#fafafa;word-break:break-word}
