*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#07111f;color:#fff}body{background:radial-gradient(circle at top left,#2667ff 0,transparent 30%),radial-gradient(circle at top right,#8b5cf6 0,transparent 26%),linear-gradient(135deg,#07111f,#111827 58%,#020617)}button,select,textarea{font:inherit}.app{width:100%;max-width:560px;height:100dvh;max-height:100dvh;margin:0 auto;padding:calc(8px + env(safe-area-inset-top)) 10px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:7px;overflow:hidden}.hero{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.105);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px)}.brand{font-size:11px;font-weight:900;letter-spacing:.04em;color:rgba(255,255,255,.72)}.hero h1{margin:1px 0 0;font-size:20px;line-height:1}.status{font-size:12px;color:rgba(255,255,255,.78);white-space:nowrap}.pulse{display:none;width:10px;height:10px;margin-right:5px;border-radius:50%;background:#22c55e;vertical-align:-1px;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:pulse 1s infinite}.listening .pulse{display:inline-block}@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}button{border:0;border-radius:14px;padding:10px 9px;font-weight:850;color:#fff;cursor:pointer;touch-action:manipulation}button:active{transform:translateY(1px)}.mode-card{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mode-btn{background:rgba(255,255,255,.13);font-size:13px;padding:9px}.mode-btn.active{background:linear-gradient(135deg,#22c55e,#14b8a6)}.lang-card{display:grid;grid-template-columns:1fr 42px 1fr;gap:7px;align-items:end;padding:9px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px)}label{display:block;margin:0 0 4px;font-size:12px;font-weight:800;color:rgba(255,255,255,.72)}select,textarea{width:100%;border:0;outline:0;border-radius:13px;background:rgba(255,255,255,.94);color:#111827;font-size:15px}select{height:39px;padding:0 9px}.swap{height:39px;background:rgba(255,255,255,.14);font-size:18px;padding:0}.dialog-card{display:grid;grid-template-columns:1fr 1fr;gap:7px}.dialog-card button{background:rgba(255,255,255,.14);padding:9px}.text-stack{min-height:0;display:grid;grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr);gap:7px}.panel{min-height:0;display:flex;flex-direction:column;padding:9px;border-radius:18px;background:rgba(255,255,255,.105);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.mini-actions{display:flex;gap:5px}.mini{border-radius:11px;padding:6px 9px;background:rgba(255,255,255,.13);font-size:12px}textarea{flex:1;min-height:0;resize:none;padding:10px;line-height:1.35}.detected{height:18px;padding-top:4px;overflow:hidden;font-size:12px;color:rgba(255,255,255,.72);white-space:nowrap;text-overflow:ellipsis}.result{flex:1;min-height:0;overflow:auto;padding:10px;border-radius:13px;background:rgba(0,0,0,.28);font-size:18px;line-height:1.36;white-space:pre-wrap}.controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}.controls button{font-size:15px;padding:12px 9px}.primary{background:linear-gradient(135deg,#2f7cff,#7c3aed);box-shadow:0 10px 24px rgba(47,124,255,.3)}.danger{background:linear-gradient(135deg,#ef4444,#f97316);box-shadow:0 10px 24px rgba(239,68,68,.24)}.secondary{background:rgba(255,255,255,.15)}.wide{grid-column:1/3}@media(max-height:680px){.app{gap:5px;padding:calc(6px + env(safe-area-inset-top)) 8px calc(6px + env(safe-area-inset-bottom))}.hero{padding:8px 10px;border-radius:16px}.hero h1{font-size:18px}.brand{font-size:10px}.mode-btn{padding:8px}.lang-card{padding:7px}.panel{padding:7px}.controls button{padding:10px 8px}.result{font-size:16px}select{height:36px;font-size:14px}.swap{height:36px}textarea{font-size:14px;padding:8px}}@media(max-width:380px){.app{padding-left:7px;padding-right:7px}.hero h1{font-size:17px}.status{font-size:11px}.mode-btn,.controls button{font-size:13px}select{font-size:13px}.result{font-size:16px}}
