@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary-gradient:linear-gradient(135deg, #0f766e 0%, #0d9488 100%);--secondary-gradient:linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--bg-gradient:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--card-bg:#ffffffd9;--text-primary:#0f172a;--text-secondary:#475569;--border:#e2e8f0cc;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 20px -2px #0f766e14;--shadow-lg:0 10px 30px -5px #0000000d;--accent-gold:#d97706;--glass-blur:blur(12px);--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bubble-peer:#f1f5f9;--bubble-me:#0d9488;--bubble-me-text:#fff;--bubble-peer-text:#0f172a}@media (prefers-color-scheme:dark){:root{--bg-gradient:linear-gradient(135deg, #0f172a 0%, #020617 100%);--card-bg:#0f172abf;--text-primary:#f8fafc;--text-secondary:#94a3b8;--border:#33415580;--shadow-md:0 4px 20px -2px #0000004d;--accent-gold:#fbbf24;--bubble-peer:#1e293b;--bubble-me:#0d9488;--bubble-me-text:#fff;--bubble-peer-text:#f8fafc}}*{box-sizing:border-box;font-family:var(--font-family);-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-primary);justify-content:center;align-items:center;min-height:100svh;display:flex}#root{background:0 0;flex-direction:column;width:100%;max-width:500px;min-height:100svh;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow-md);padding:1.5rem}.btn-primary{background:var(--primary-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 12px #0d948833}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0d94884d}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--text-secondary);background:#ffffff0d}.input-field{border:1px solid var(--border);width:100%;color:var(--text-primary);background:#ffffff0d;border-radius:12px;padding:.85rem 1rem;font-size:1rem;transition:all .2s}.input-field:focus{border-color:#0d9488;outline:none;box-shadow:0 0 0 3px #0d948826}.app-container{background:var(--bg-gradient);flex-direction:column;width:100%;max-width:500px;height:100svh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #00000026}.app-header{background:var(--primary-gradient);color:#fff;z-index:10;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;box-shadow:0 4px 12px #0000001a}.app-header h2{letter-spacing:-.5px;color:#fff;font-size:1.25rem;font-weight:700}.lang-badge{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border:1px solid #ffffff4d;border-radius:20px;align-items:center;gap:.35rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.lang-badge:hover{background:#ffffff4d;transform:scale(1.03)}.app-main{flex-direction:column;flex:1;gap:1.25rem;padding:1.25rem 1.25rem 5.5rem;display:flex;overflow-y:auto}.app-nav{background:var(--card-bg);height:4.5rem;-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:10;justify-content:space-around;align-items:center;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #00000008}.nav-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:30%;height:100%;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.nav-item svg{width:1.5rem;height:1.5rem;stroke:var(--text-secondary);transition:all .2s}.nav-item.active{color:#0d9488}.nav-item.active svg{stroke:#0d9488;transform:translateY(-2px)}.lang-select-container{text-align:center;background:var(--bg-gradient);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:2rem;animation:.5s ease-out fadeIn;display:flex}.lang-select-title{letter-spacing:-1px;background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.25rem;font-weight:800}.lang-select-subtitle{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.1rem}.lang-grid{grid-template-columns:1fr;gap:1rem;width:100%;max-width:360px;display:grid}.lang-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:1.25rem;font-size:1.1rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.lang-btn:hover{box-shadow:var(--shadow-md);background:#0d94880a;border-color:#0d9488;transform:translateY(-2px)}.lang-btn .flag{font-size:1.75rem}.chat-container{flex-direction:column;height:100%;display:flex;position:relative}.chat-room-setup{flex-direction:column;gap:1.5rem;margin-top:auto;margin-bottom:auto;display:flex}.chat-room-code-display{letter-spacing:4px;text-align:center;color:#0d9488;background:#0d948814;border:2px dashed #0d9488;border-radius:12px;padding:1rem;font-size:2.5rem;font-weight:700}.chat-feed{flex-direction:column;flex:1;gap:1rem;padding:.5rem 0;display:flex;overflow-y:auto}.chat-bubble{border-radius:16px;max-width:80%;padding:.75rem 1rem;animation:.3s ease-out fadeIn;position:relative}.chat-bubble.me{background:var(--bubble-me);color:var(--bubble-me-text);border-bottom-right-radius:4px;align-self:flex-end;box-shadow:0 4px 10px #0d948826}.chat-bubble.peer{background:var(--bubble-peer);color:var(--bubble-peer-text);border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 4px 10px #00000005}.chat-bubble .translation{font-size:1.05rem;font-weight:500;line-height:1.35}.chat-bubble .original{opacity:.7;border-top:1px solid #ffffff26;margin-top:.35rem;padding-top:.25rem;font-size:.8rem}.chat-bubble.peer .original{border-top:1px solid #0000000f}.system-msg{color:var(--text-secondary);text-align:center;background:#0000000d;border-radius:12px;align-self:center;max-width:90%;padding:.35rem .75rem;font-size:.75rem;font-weight:500}.chat-input-bar{border-top:1px solid var(--border);background:0 0;gap:.5rem;padding:.75rem 0;display:flex}.dropzone{border:2px dashed var(--border);border-radius:var(--border-radius);text-align:center;cursor:pointer;background:#ffffff05;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;transition:all .2s;display:flex}.dropzone:hover,.dropzone.active{background:#0d94880a;border-color:#0d9488}.dropzone svg{width:3rem;height:3rem;stroke:var(--text-secondary)}.dropzone:hover svg,.dropzone.active svg{stroke:#0d9488;transition:transform .2s;transform:translateY(-4px)}.doc-blocks-container{flex-direction:column;gap:1rem;display:flex}.doc-block{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.doc-block .translated-paragraph{color:var(--text-primary);font-size:1.1rem;font-weight:500}.doc-block .original-paragraph{color:var(--text-secondary);border-left:2px solid var(--border);background:#00000005;border-radius:6px;padding:.5rem;font-size:.9rem}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loader-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}
