@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600;1,700&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&display=swap";:root{--dark: #12100e;--dark-2: #1a1510;--gold: #c9923c;--gold-light: #e8c170;--cream: #faf6ef;--cream-2: #f0e6d3;--red: #9b2335;--border-gold: rgba(196, 140, 50, .2);--text-dim: rgba(240, 230, 211, .45)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,-apple-system,sans-serif;background:var(--dark);color:var(--cream-2);height:100vh}#root{height:100vh;display:flex;flex-direction:column}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1.25rem;background:var(--dark);background-image:repeating-linear-gradient(45deg,transparent 0,transparent 30px,rgba(196,140,50,.03) 30px,rgba(196,140,50,.03) 31px),repeating-linear-gradient(-45deg,transparent 0,transparent 30px,rgba(196,140,50,.03) 30px,rgba(196,140,50,.03) 31px)}.loading-brand{font-family:Cormorant Garamond,serif;font-size:2.25rem;font-weight:400;color:var(--cream-2);letter-spacing:-.02em}.loading-brand em{font-style:italic;font-weight:600;color:var(--gold)}.loading-message{font-size:.85rem;font-weight:300;color:var(--text-dim);letter-spacing:.05em}.loading-screen button{padding:.6rem 1.5rem;background:transparent;border:1px solid var(--border-gold);border-radius:3px;color:var(--gold);font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer;transition:background .2s}.loading-screen button:hover{background:#c48c321a}.app{display:flex;flex-direction:column;height:100vh;background:var(--dark)}.header{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.5rem;background:var(--dark);border-bottom:1px solid var(--border-gold);flex-shrink:0;position:relative}.header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--gold) 25%,var(--gold-light) 55%,var(--red) 100%)}.header-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:400;color:var(--cream-2);letter-spacing:-.02em;line-height:1}.header-title em{font-style:italic;font-weight:600;color:var(--gold)}.header-controls{display:flex;align-items:center;gap:.6rem}.header-controls select{padding:.28rem .6rem;border:1px solid var(--border-gold);border-radius:4px;background:#c48c3212;color:var(--cream-2);font-family:DM Sans,sans-serif;font-size:.8rem;cursor:pointer;outline:none;transition:border-color .2s}.header-controls select:hover{border-color:var(--gold)}.header-controls select option{background:var(--dark)}.btn-ghost{padding:.28rem .65rem;border:1px solid var(--border-gold);border-radius:4px;background:transparent;color:var(--cream-2);font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:400;cursor:pointer;letter-spacing:.01em;transition:background .2s,border-color .2s,color .2s}.btn-ghost:hover{background:#c48c321a;border-color:var(--gold);color:var(--gold)}.main{display:flex;flex:1;overflow:hidden;background:var(--dark-2)}.chat-area{display:flex;flex-direction:column;flex:1;overflow:hidden}.chat-area.with-panel{flex:1;min-width:0}.messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background-image:repeating-linear-gradient(45deg,transparent 0,transparent 30px,rgba(196,140,50,.02) 30px,rgba(196,140,50,.02) 31px),repeating-linear-gradient(-45deg,transparent 0,transparent 30px,rgba(196,140,50,.02) 30px,rgba(196,140,50,.02) 31px)}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--border-gold);border-radius:2px}.empty-state{color:var(--text-dim);text-align:center;margin-top:3rem;font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.15rem}.message{display:flex}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.bubble{max-width:68%;padding:.7rem 1.1rem;border-radius:12px;font-size:.925rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;font-family:DM Sans,sans-serif;font-weight:300}.message.user .bubble{background:linear-gradient(135deg,var(--gold) 0%,#a8731e 100%);color:var(--dark);font-weight:400;border-bottom-right-radius:3px}.message.assistant .bubble{background:var(--cream);color:#1e1408;border-bottom-left-radius:3px;border-left:2px solid var(--gold);box-shadow:0 2px 16px #0000004d}.typing{color:var(--gold);letter-spacing:4px;font-size:1rem;opacity:.7}.error{color:#e05c6a;font-size:.85rem}.error.bar{padding:.5rem 1.5rem;background:#9b23351f;border-top:1px solid rgba(155,35,53,.25)}.input-bar{display:flex;align-items:center;gap:.5rem;padding:.7rem 1rem;background:var(--dark);border-top:1px solid var(--border-gold);flex-shrink:0}.input-bar input{flex:1;padding:.55rem .5rem;border:none;border-bottom:1.5px solid rgba(196,140,50,.25);background:transparent;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:300;color:var(--cream-2);outline:none;border-radius:0;transition:border-color .2s;-webkit-appearance:none}.input-bar input::placeholder{color:var(--text-dim)}.input-bar input:focus{border-bottom-color:var(--gold)}.input-bar button[type=submit]{padding:.55rem 1.2rem;background:var(--gold);color:var(--dark);border:none;border-radius:3px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background .2s,transform .15s}.input-bar button[type=submit]:hover:not(:disabled){background:var(--gold-light)}.input-bar button[type=submit]:active:not(:disabled){transform:scale(.97)}.input-bar button[type=submit]:disabled{opacity:.35;cursor:not-allowed}.btn-icon{width:2.1rem;height:2.1rem;border:1px solid var(--border-gold);border-radius:50%;background:transparent;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;flex-shrink:0}.btn-icon:hover:not(:disabled){background:#c48c321a;border-color:var(--gold)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-icon.recording{background:#9b23352e;border-color:var(--red);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.mic-select{font-size:.75rem;padding:2px 4px;border:1px solid var(--border-gold);border-radius:4px;background:transparent;color:var(--cream-2);max-width:160px}.expressions-panel{width:300px;flex-shrink:0;background:var(--cream);border-left:1px solid var(--border-gold);display:flex;flex-direction:column;overflow:hidden}.expressions-panel h2{padding:.85rem 1.25rem;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-style:italic;font-weight:600;color:var(--dark);letter-spacing:-.01em;border-bottom:1px solid rgba(196,140,50,.2);flex-shrink:0}.expressions-panel ul{flex:1;overflow-y:auto;padding:.75rem;list-style:none;display:flex;flex-direction:column;gap:.5rem}.expression-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.75rem;background:#fff;border-radius:6px;border:1px solid rgba(196,140,50,.12);border-left:2.5px solid var(--gold)}.expression-text{flex:1;min-width:0}.expression-hungarian{font-size:.875rem;font-weight:500;color:var(--dark);word-break:break-word}.expression-translation{font-size:.78rem;color:#6b5a44;margin-top:.2rem}.expression-note{font-size:.78rem;color:#9b8572;font-style:italic;margin-top:.2rem;font-family:Cormorant Garamond,serif}.btn-delete{background:none;border:none;cursor:pointer;color:#c48c3259;font-size:.8rem;padding:.1rem .3rem;border-radius:3px;flex-shrink:0;transition:color .2s}.btn-delete:hover{color:var(--red)}@media (max-width: 640px){.header{flex-wrap:wrap;padding:.5rem .75rem;gap:.4rem}.header-title{font-size:1.2rem}.header-controls{width:100%;flex-wrap:wrap;gap:.35rem}.btn-ghost{font-size:.72rem;padding:.2rem .45rem;touch-action:manipulation}.header-controls select{font-size:.72rem;padding:.2rem .4rem}.messages{padding:.75rem}.bubble{max-width:85%}.input-bar{padding:.5rem;gap:.35rem}.input-bar input{font-size:1rem;padding:.55rem .5rem}.input-bar button[type=submit]{padding:.55rem .9rem;font-size:.85rem}.btn-icon{width:2.5rem;height:2.5rem;font-size:1rem;touch-action:manipulation}.mic-select{display:none}.expressions-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:100}}.landing{min-height:100vh;display:grid;grid-template-columns:1fr 440px;background:#12100e;font-family:DM Sans,sans-serif;overflow-x:hidden;position:relative}.landing-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.folk-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(45deg,transparent 0px,transparent 30px,rgba(196,140,50,.04) 30px,rgba(196,140,50,.04) 31px),repeating-linear-gradient(-45deg,transparent 0px,transparent 30px,rgba(196,140,50,.04) 30px,rgba(196,140,50,.04) 31px)}.folk-glow-a{position:absolute;top:-15%;left:-10%;width:700px;height:700px;background:radial-gradient(circle,rgba(196,140,50,.07) 0%,transparent 65%);animation:glowDrift 8s ease-in-out infinite}.folk-glow-b{position:absolute;bottom:-20%;right:25%;width:500px;height:500px;background:radial-gradient(circle,rgba(155,35,53,.05) 0%,transparent 65%);animation:glowDrift 10s ease-in-out infinite reverse}@keyframes glowDrift{0%,to{transform:scale(1) translate(0);opacity:.7}50%{transform:scale(1.12) translate(2%,2%);opacity:1}}.landing-left{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:2.5rem 5.5rem;overflow-y:auto;animation:revealLeft .9s cubic-bezier(.16,1,.3,1) both}@keyframes revealLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}.brand-flag{font-size:2rem;display:block;margin-bottom:1.25rem;filter:drop-shadow(0 2px 8px rgba(196,140,50,.3))}.brand-name{font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,5.5vw,5.75rem);font-weight:400;color:#f0e6d3;line-height:1;letter-spacing:-.025em;margin-bottom:.2em}.brand-name em{font-style:italic;font-weight:600;color:#c9923c;display:block}.brand-rule{width:48px;height:1.5px;background:linear-gradient(90deg,#c9923c,transparent);margin:1.5rem 0}.brand-tagline{font-size:1.05rem;font-weight:300;color:#f0e6d380;line-height:1.65;letter-spacing:.01em;margin-bottom:2.75rem;max-width:340px}.feature-list{list-style:none;display:flex;flex-direction:column;gap:.85rem;margin-bottom:3.5rem}.feature-list li{display:flex;align-items:center;gap:.85rem;font-size:.9rem;font-weight:300;color:#f0e6d399;letter-spacing:.01em;opacity:0;animation:revealLeft .7s cubic-bezier(.16,1,.3,1) forwards}.feature-list li:nth-child(1){animation-delay:.2s}.feature-list li:nth-child(2){animation-delay:.32s}.feature-list li:nth-child(3){animation-delay:.44s}.feature-dot{width:5px;height:5px;border-radius:50%;background:#c9923c;flex-shrink:0;box-shadow:0 0 6px #c9923c80}.landing-ornament{color:#c9923c;width:180px;opacity:.55}.landing-right{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;background:#faf6ef;border-left:1px solid rgba(196,140,50,.18);padding:3.5rem 3rem;animation:revealRight .9s cubic-bezier(.16,1,.3,1) both}@keyframes revealRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.landing-right:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,#c9923c 30%,#e8c170 55%,#9b2335 100%)}.landing-right:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:0}.login-box{width:100%;max-width:320px;position:relative;z-index:1}.login-header{margin-bottom:2.5rem}.login-header h2{font-family:Cormorant Garamond,serif;font-size:2.4rem;font-weight:600;color:#12100e;letter-spacing:-.025em;line-height:1.1;margin-bottom:.4rem}.login-header p{font-size:.85rem;font-weight:300;color:#8a7a68;letter-spacing:.01em}.field{margin-bottom:1.5rem;position:relative}.field label{display:block;font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#a89880;margin-bottom:.5rem;transition:color .2s}.field.focused label{color:#c9923c}.field input{width:100%;padding:.65rem 0;border:none;border-bottom:1.5px solid #d4c8b4;background:transparent;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:400;color:#12100e;outline:none;transition:border-color .25s;border-radius:0;-webkit-appearance:none}.field input:focus{border-bottom-color:transparent}.field-line{position:absolute;bottom:0;left:0;width:100%;height:1.5px;background:#d4c8b4;overflow:hidden}.field-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#c9923c;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}.field.focused .field-line:after{transform:scaleX(1)}.login-error{font-size:.825rem;color:#9b2335;margin-bottom:1rem;padding:.5rem .75rem;background:#9b233512;border-radius:3px;border-left:2px solid #9b2335}.login-btn{width:100%;margin-top:2rem;padding:.9rem 1.5rem;background:#12100e;color:#f0e6d3;border:none;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.06em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;border-radius:2px;transition:background .3s,transform .15s;position:relative;overflow:hidden}.login-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#c9923c,#9b2335);opacity:0;transition:opacity .3s}.login-btn:hover:not(:disabled):before{opacity:1}.login-btn span{position:relative;z-index:1}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.btn-arrow{font-size:1.1rem;transition:transform .2s}.login-btn:hover:not(:disabled) .btn-arrow{transform:translate(5px)}.login-hint{text-align:center;margin-top:2.5rem;font-size:.7rem;color:#c4b49e;letter-spacing:.14em;text-transform:uppercase}@media (max-width: 720px){.landing{grid-template-columns:1fr;grid-template-rows:auto 1fr}.folk-pattern,.folk-glow-a,.folk-glow-b{display:none}.landing-left{padding:2.75rem 1.75rem 2rem;animation:none;opacity:1}.brand-name{font-size:3.2rem}.brand-tagline{font-size:.9rem;margin-bottom:0}.feature-list,.landing-ornament{display:none}.brand-rule{margin:1rem 0 .75rem}.landing-right{border-left:none;border-top:1px solid rgba(196,140,50,.2);padding:2.5rem 1.75rem 3rem;align-items:flex-start;animation:none;opacity:1}.login-box{max-width:100%}}
