*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;background:#f5f5f5}.app{display:flex;height:100vh;overflow:hidden}.menu-toggle{display:none;position:fixed;top:12px;left:12px;z-index:200;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;width:40px;height:40px;border-radius:10px;font-size:18px;cursor:pointer;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea66}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);z-index:99}.sidebar{width:260px;flex-shrink:0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;transition:transform .3s ease;z-index:100}.new-chat-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);color:#fff;padding:12px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s}.new-chat-btn:hover{background:rgba(255,255,255,.3)}.conversations{flex:1;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.conversation-item{background:rgba(255,255,255,.1);border:none;color:#fff;padding:12px;border-radius:6px;text-align:left;cursor:pointer;transition:all .2s;flex-shrink:0}.conversation-item:hover,.conversation-item.active{background:rgba(255,255,255,.2)}.sidebar-footer{display:flex;flex-direction:column;gap:10px;margin-top:auto}.profile-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.4);color:#fff;padding:12px;border-radius:8px;cursor:pointer;transition:all .3s;font-size:14px;font-weight:600}.profile-btn:hover{background:rgba(255,255,255,.2)}.chat{flex:1;display:flex;flex-direction:column;background:white}.messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message{display:flex;animation:slideIn .3s ease-out}.message.user{justify-content:flex-end}.message-content{max-width:70%;padding:12px 16px;border-radius:12px;line-height:1.5}.message.user .message-content{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.message.assistant .message-content{background:#f0f0f0;color:#333}.loading{animation:pulse 1.4s infinite}.input-form{display:flex;gap:12px;padding:16px;background:white;border-top:1px solid #ddd}.input-form input{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:24px;font-size:14px;font-family:inherit}.input-form input:focus{outline:none;border-color:#667eea}.input-form button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 24px;border-radius:24px;cursor:pointer;font-weight:600}.input-form button:hover:not(:disabled){transform:translateY(-2px)}.input-form button:disabled{opacity:.6;cursor:not-allowed}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0d0d1a 0%,#1a1040 50%,#0d1a2e 100%);padding:20px}.auth-layout{display:flex;align-items:center;gap:48px;width:100%;max-width:820px}.auth-tagline{text-align:center;color:#9ca3af;font-size:13px;margin-top:-8px}.auth-toggle-btn{background:transparent!important;color:#a78bfa!important;border:1px solid rgba(167,139,250,.3)!important}.auth-toggle-btn:hover{background:rgba(167,139,250,.1)!important}.auth-forgot-btn{background:transparent!important;color:#9ca3af!important;border:none!important;font-size:12px!important;padding:8px!important;margin-top:-8px!important}.auth-forgot-btn:hover{color:#a78bfa!important;text-decoration:underline}.auth-message{padding:12px;border-radius:8px;font-size:13px;text-align:center;background:rgba(167,139,250,.1);color:#a78bfa}.logout-btn{border-color:#ef44444d!important;color:#fca5a5!important;margin-top:auto}.logout-btn:hover{background:rgba(239,68,68,.1)!important;border-color:#ef444499!important;color:#fecaca!important}.auth-posters{flex:1;display:flex;flex-direction:column;gap:14px}.auth-posters-label{font-size:11px;color:#6b7280;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:2px}.poster-cards{display:flex;flex-direction:column;gap:12px}.poster-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:rgba(255,255,255,.04);border:1px solid rgba(102,126,234,.2);border-radius:12px;text-decoration:none;color:#fff;transition:all .2s;cursor:pointer}.poster-card:hover{background:rgba(102,126,234,.12);border-color:#667eea80;transform:translate(4px)}.poster-card-flag{font-size:28px;flex-shrink:0}.poster-card-title{font-size:16px;font-weight:700;color:#e5e7eb;flex:1}.poster-card-sub{font-size:12px;color:#6b7280}@media (max-width: 700px){.menu-toggle{display:flex}.sidebar{position:fixed;top:0;left:0;height:100vh;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block}.chat{width:100%}.messages{padding:60px 12px 12px}.message-content{max-width:85%}.input-form{padding:10px 12px;gap:8px}.input-form input,.auth-form input{font-size:16px}.auth-container{align-items:flex-start;padding:24px 16px}.auth-layout{flex-direction:column;gap:24px}.auth-form{max-width:100%;padding:28px 20px}.auth-posters{width:100%}.poster-cards{flex-direction:row;gap:10px}.poster-card{flex-direction:column;align-items:center;text-align:center;padding:14px 10px;gap:8px;flex:1}.poster-card:hover{transform:translateY(-2px)}.poster-card-sub{display:none}.poster-card-flag{font-size:22px}.poster-card-title{font-size:13px}}.auth-form{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:40px;border-radius:16px;box-shadow:0 20px 60px #0006;width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}.auth-form h1{text-align:center;color:#e5e7eb}.auth-form input{padding:12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;font-size:14px;background:rgba(255,255,255,.07);color:#fff}.auth-form input::placeholder{color:#6b7280}.auth-form button{padding:12px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:white;padding:0;border-radius:12px;max-width:400px;width:90%;display:flex;flex-direction:column;max-height:80vh}.modal-large{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:20px}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#333}.profile-tabs{display:flex;gap:0;border-bottom:1px solid #eee;padding:0 30px;overflow-x:auto}.tab-btn{background:none;border:none;padding:12px 16px;cursor:pointer;color:#999;border-bottom:3px solid transparent;font-weight:500;transition:all .3s;white-space:nowrap}.tab-btn:hover{color:#667eea}.tab-btn.active{color:#667eea;border-bottom-color:#667eea}.tab-content{flex:1;overflow-y:auto;padding:30px}.profile-section{display:flex;flex-direction:column;gap:15px}.profile-section p{margin:0;font-size:14px}.profile-section h4{margin:15px 0 10px;font-size:14px;color:#333}.profile-section label{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.profile-section input[type=checkbox]{width:18px;height:18px;cursor:pointer}.traits-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.traits-grid div{padding:10px;background:#f5f5f5;border-radius:6px;font-size:13px}.add-memory,.add-goal{display:flex;gap:8px}.add-memory input,.add-goal input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px}.add-memory button,.add-goal button{padding:10px 16px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px}.memories-list,.goals-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.memory-item,.goal-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f5f5;border-radius:6px;font-size:13px}.memory-item button,.goal-item button{padding:4px 12px;background:#ff6b6b;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.confidence-note{padding:12px;background:#e3f2fd;border-radius:6px;font-size:13px;margin-bottom:12px}.learning-insights{display:flex;flex-direction:column;gap:12px}.insight{display:flex;flex-direction:column;gap:6px}.insight strong{font-size:13px}.confidence-bar{height:8px;background:#eee;border-radius:4px;overflow:hidden}.confidence-fill{height:100%;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%)}.modal-footer{display:flex;gap:12px;padding:20px 30px;border-top:1px solid #eee;justify-content:flex-end}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;border:none}.btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.btn-secondary{background:#f0f0f0;color:#333}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}
