.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus{outline:none}button:focus-visible,.btn:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #646cff40}[data-theme=dark] button:focus-visible,[data-theme=dark] .btn:focus-visible{outline-color:#646cff;box-shadow:0 0 0 4px #646cff59}[data-theme=light] button:focus-visible,[data-theme=light] .btn:focus-visible{outline-color:#535bf2;box-shadow:0 0 0 4px #535bf233}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #646cff40}[data-theme=dark] input:focus-visible,[data-theme=dark] textarea:focus-visible,[data-theme=dark] select:focus-visible{outline-color:#646cff;box-shadow:0 0 0 4px #646cff59}[data-theme=light] input:focus-visible,[data-theme=light] textarea:focus-visible,[data-theme=light] select:focus-visible{outline-color:#535bf2;box-shadow:0 0 0 4px #535bf233}a:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;border-radius:4px}.auth-tab:focus-visible,.sidebar-tab:focus-visible,.nav-btn:focus-visible{outline:3px solid var(--primary-color);outline-offset:-2px;box-shadow:inset 0 0 0 3px #646cff4d}.scenario-card:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #646cff40,0 12px 40px #0984e34d}.suggestion-chip:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #646cff40,0 6px 20px #6c5ce759}.scroll-to-bottom:focus-visible{outline:3px solid white;outline-offset:2px;box-shadow:0 0 0 4px #ffffff80,0 6px 24px #646cff99}.theme-toggle:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #646cff40}.btn-icon:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:4px}.scenario-modal-close:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;box-shadow:0 0 0 4px #646cff40}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--primary-color);color:#fff;padding:.75rem 1.5rem;text-decoration:none;border-radius:0 0 8px;z-index:10000;font-weight:600;transition:top .3s ease}.skip-to-content:focus{top:0;outline:3px solid white;outline-offset:-3px}.app{width:100%;min-height:100vh;display:flex;flex-direction:column;color:var(--text-primary);transition:background .3s ease,color .3s ease;position:relative}[data-theme=dark] .app{background:linear-gradient(135deg,#0a0a1f,#1a2a5e,#0f3460,#6c5ce7,#0984e3,#00b894,#1a2a5e 90%,#0a0a1f);background-size:400% 400%;animation:gradientShift 20s ease infinite}[data-theme=dark] .app:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(9,132,227,.4) 0%,transparent 60%),radial-gradient(circle at 80% 80%,rgba(108,92,231,.35) 0%,transparent 60%),radial-gradient(circle at 40% 20%,rgba(0,184,148,.3) 0%,transparent 60%),radial-gradient(circle at 60% 60%,rgba(253,203,110,.15) 0%,transparent 60%),radial-gradient(circle at 90% 40%,rgba(214,48,49,.2) 0%,transparent 60%);pointer-events:none;z-index:0;animation:glowPulse 8s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:1;transform:translateZ(0)}50%{opacity:.8;transform:translateZ(0)}}.app:before,[data-theme=dark] .app:before,[data-theme=light] .app:before,.auth-screen:before,[data-theme=dark] .auth-screen:before,[data-theme=light] .auth-screen:before{will-change:opacity;transform:translateZ(0)}[data-theme=light] .app{background:linear-gradient(135deg,#dfe6e9,#a8daff,#dcc6ff,#a3f7bf,#ffe8cc,#dfe6e9);background-size:400% 400%;animation:gradientShift 20s ease infinite}[data-theme=light] .app:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(9,132,227,.25) 0%,transparent 60%),radial-gradient(circle at 70% 70%,rgba(108,92,231,.2) 0%,transparent 60%),radial-gradient(circle at 50% 90%,rgba(0,184,148,.18) 0%,transparent 60%),radial-gradient(circle at 85% 15%,rgba(253,203,110,.2) 0%,transparent 60%),radial-gradient(circle at 15% 85%,rgba(253,121,168,.15) 0%,transparent 60%);pointer-events:none;z-index:0;animation:glowPulse 8s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.app,[data-theme=dark] .app,[data-theme=light] .app,.auth-screen,[data-theme=dark] .auth-screen,[data-theme=light] .auth-screen{will-change:background-position;transform:translateZ(0)}.app>*{position:relative;z-index:1}.app-header{padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:0 4px 30px #0000001a}[data-theme=dark] .app-header{background:#1a1a2ecc;border-bottom:1px solid rgba(108,92,231,.3)}[data-theme=light] .app-header{background:#fffc;border-bottom:1px solid rgba(108,92,231,.2)}.guest-info-banner-header{background:linear-gradient(135deg,#6c5ce726,#0984e326);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);padding:.75rem 1.5rem;text-align:center;font-size:.9rem;color:var(--text-primary);position:relative;z-index:99}[data-theme=dark] .guest-info-banner-header{background:linear-gradient(135deg,#6c5ce733,#0984e333);border-bottom:1px solid rgba(108,92,231,.3)}[data-theme=light] .guest-info-banner-header{background:linear-gradient(135deg,#6c5ce71a,#0984e31a);border-bottom:1px solid rgba(108,92,231,.2)}.header-left{display:flex;align-items:center;gap:1rem}.app-title{font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.header-subtitle{font-size:.8rem;opacity:.7;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{display:flex;align-items:center;gap:.5rem}.theme-toggle{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease;color:var(--text-secondary)}.theme-toggle:hover{background:var(--bg-elevated);border-color:var(--border-hover);color:var(--text-primary);transform:scale(1.05) translateZ(0)}.theme-toggle:active{transform:scale(.95) translateZ(0)}.theme-toggle{will-change:transform}.user-menu{display:flex;align-items:center;gap:.4rem;padding:.3rem .7rem;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color);font-size:.85rem}.app-main{flex:1;overflow-y:auto}.app-loading,.evaluation-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.btn{border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,border-color .3s ease;display:inline-flex;align-items:center;gap:.4rem;position:relative;overflow:hidden;will-change:transform}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px) translateZ(0);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-hover)}.btn-warning{background:#d630311a;color:var(--danger-color);border:1px solid rgba(214,48,49,.3)}.btn-warning:hover:not(:disabled){background:#d6303133}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-google{background:#fff;color:#333;border:1px solid #ddd}.btn-google:hover:not(:disabled){background:#f8f8f8}.btn-small{padding:.35rem .7rem;font-size:.8rem}.btn-large{padding:1rem 2rem;font-size:1.1rem}.btn-full{width:100%;justify-content:center}.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5);position:relative}.btn:disabled:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(0,0,0,.05) 2px,rgba(0,0,0,.05) 4px);pointer-events:none}.btn-icon{background:none;border:none;cursor:pointer;padding:.25rem;color:inherit;opacity:.7;transition:opacity .2s}.btn-icon:hover{opacity:1}.link-button{background:none;border:none;color:#646cff;cursor:pointer;font-weight:600;padding:0;text-decoration:underline}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;position:relative}[data-theme=dark] .auth-screen{background:linear-gradient(135deg,#0a0a1f,#1a2a5e,#0f3460,#6c5ce7,#0984e3,#00b894,#1a2a5e 90%,#0a0a1f);background-size:400% 400%;animation:gradientShift 20s ease infinite}[data-theme=dark] .auth-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(9,132,227,.4) 0%,transparent 60%),radial-gradient(circle at 80% 80%,rgba(108,92,231,.35) 0%,transparent 60%),radial-gradient(circle at 40% 20%,rgba(0,184,148,.3) 0%,transparent 60%);pointer-events:none;z-index:0;animation:glowPulse 8s ease-in-out infinite}[data-theme=light] .auth-screen{background:linear-gradient(135deg,#dfe6e9,#a8daff,#dcc6ff,#a3f7bf,#ffe8cc,#dfe6e9);background-size:400% 400%;animation:gradientShift 20s ease infinite}[data-theme=light] .auth-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 40%,rgba(9,132,227,.25) 0%,transparent 60%),radial-gradient(circle at 70% 70%,rgba(108,92,231,.2) 0%,transparent 60%),radial-gradient(circle at 50% 90%,rgba(0,184,148,.18) 0%,transparent 60%);pointer-events:none;z-index:0;animation:glowPulse 8s ease-in-out infinite}.auth-container{background:var(--bg-secondary);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:16px;padding:3rem;max-width:450px;width:100%;box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{display:inline-flex;padding:1rem;background:linear-gradient(135deg,#646cff,#535bf2);border-radius:12px;margin-bottom:1rem}.auth-logo svg{color:#fff}.auth-header h1{margin:1rem 0 .5rem;font-size:2rem}.auth-header p{color:var(--text-secondary);font-size:.9rem}.auth-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:var(--bg-tertiary);padding:.25rem;border-radius:8px}.auth-tab{flex:1;padding:.75rem;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:6px;transition:all .3s;font-weight:600}.auth-tab.active{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color)}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-form .form-group{display:flex;flex-direction:column;gap:.5rem}.auth-form label{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem}.auth-form input{padding:.75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:1rem}.auth-form input:focus{outline:none;border-color:var(--primary-color)}.error-message{padding:.75rem;background:#d630311a;border:1px solid rgba(214,48,49,.3);border-radius:8px;color:var(--danger-color);font-size:.9rem}.auth-divider{text-align:center;margin:1.5rem 0;position:relative}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:40%;height:1px;background:var(--border-color)}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background:var(--bg-secondary);padding:0 1rem;color:var(--text-tertiary)}.auth-footer{margin-top:1.5rem;text-align:center;font-size:.9rem;color:var(--text-secondary)}.scenario-select{padding:2rem;max-width:1400px;margin:0 auto}.hero-section{margin-bottom:3rem;text-align:center}.hero-content{max-width:1000px;margin:0 auto}.hero-title{font-size:2.75rem;font-weight:800;line-height:1.2;margin-bottom:1rem;color:var(--text-primary);text-shadow:0 2px 10px rgba(0,0,0,.1)}.hero-subtitle{font-size:1.15rem;line-height:1.6;color:var(--text-primary);opacity:.95;margin-bottom:2.5rem;max-width:800px;margin-left:auto;margin-right:auto}[data-theme=dark] .hero-title{color:#fff}[data-theme=light] .hero-title{color:#1f2937}.hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem;padding:2rem 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.hero-feature{text-align:center;padding:0}.hero-feature h3{font-size:1.25rem;font-weight:700;margin:0 0 .75rem;color:var(--text-primary)}.hero-feature p{font-size:.95rem;margin:0;color:var(--text-primary);opacity:.85;line-height:1.6}[data-theme=dark] .hero-feature h3{color:#fff}[data-theme=dark] .hero-feature p{color:#ffffffe6}[data-theme=light] .hero-feature h3{color:#1f2937}[data-theme=light] .hero-feature p{color:#1f2937e6}[data-theme=dark] .hero-features{border-color:#fff3}[data-theme=light] .hero-features{border-color:#1f293733}.scenario-header{text-align:center;margin-bottom:2rem}.scenario-header h1{font-size:2rem;margin-bottom:.75rem}.scenario-header p{font-size:1rem;opacity:.8}.scenario-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}.scenario-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:1rem;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;animation:cardFloat 6s ease-in-out infinite}.scenario-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(9,132,227,.1) 50%,transparent 70%);transform:rotate(0);transition:transform .6s}.scenario-card:hover:before{transform:rotate(180deg)}@keyframes cardFloat{0%,to{transform:translateY(0) translateZ(0)}50%{transform:translateY(-5px) translateZ(0)}}.scenario-card,.custom-card,.stakeholder-card,.overall-score-card,.criterion-score-card,.stat-card,.session-card{will-change:transform}.scenario-card:hover{transform:translateY(-8px) scale(1.02) translateZ(0);border-color:var(--primary-color);background:var(--bg-elevated);box-shadow:0 12px 40px #0984e34d;cursor:pointer}[data-theme=dark] .scenario-card:hover{box-shadow:0 12px 40px #0984e366,0 0 20px #6c5ce733}[data-theme=light] .scenario-card:hover{box-shadow:0 12px 40px #0984e340,0 0 15px #6c5ce726}.scenario-card:active{transform:translateY(-2px) scale(.98) translateZ(0)}.scenario-card>*{position:relative;z-index:1}.scenario-card.selected{border-color:var(--primary-color);background:var(--bg-elevated)}.scenario-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.scenario-card .icon{color:#646cff}.difficulty-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;animation:badgePulse 2s ease-in-out infinite;box-shadow:0 2px 8px #0003}@keyframes badgePulse{0%,to{transform:scale(1) translateZ(0)}50%{transform:scale(1.05) translateZ(0)}}.difficulty-badge{will-change:transform}.scenario-card h3{margin-bottom:.5rem;color:var(--text-primary);font-size:1.1rem}.scenario-description{color:var(--text-secondary);margin-bottom:.75rem;line-height:1.4;font-size:.85rem}.scenario-meta{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-tertiary)}.custom-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;border-style:dashed;animation:cardFloat 6s ease-in-out infinite;animation-delay:1s}.custom-card:hover{border-style:solid;background:linear-gradient(135deg,var(--bg-elevated) 0%,var(--bg-secondary) 100%)}.custom-card .icon-large{width:48px;height:48px;margin-bottom:1rem;color:var(--primary-color);animation:iconSpin 3s ease-in-out infinite}@keyframes iconSpin{0%,to{transform:rotate(0) scale(1) translateZ(0)}50%{transform:rotate(5deg) scale(1.1) translateZ(0)}}.custom-card .icon-large{will-change:transform}.scenario-modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .2s ease-out}[data-theme=light] .scenario-modal-overlay{background:#2d343699}.scenario-modal-content{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;max-width:700px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out}.scenario-modal-close{position:absolute;top:1rem;right:1rem;background:var(--bg-tertiary);border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.scenario-modal-close:hover{background:var(--bg-elevated);transform:scale(1.1) translateZ(0)}.scenario-modal-header{display:flex;gap:1.25rem;padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.scenario-modal-icon{width:56px;height:56px;min-width:56px;border-radius:12px;background:linear-gradient(135deg,#646cff,#535bf2);display:flex;align-items:center;justify-content:center;color:#fff}.scenario-modal-icon .icon,.scenario-modal-icon svg{width:32px;height:32px}.scenario-modal-header h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-primary)}.scenario-modal-badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.meta-badge{padding:.25rem .6rem;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;font-weight:500;color:var(--text-secondary)}.scenario-modal-body{flex:1;overflow-y:auto;padding:2rem}.scenario-modal-body .detail-section{margin-bottom:1.5rem}.scenario-modal-body .detail-section:last-child{margin-bottom:0}.scenario-modal-body .detail-section h4{font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;color:var(--primary-color);font-weight:700}.scenario-modal-body .detail-section p{line-height:1.6;color:var(--text-secondary)}.scenario-modal-body .detail-section ul{padding-left:1.5rem;line-height:1.8;color:var(--text-secondary)}.scenario-modal-body .detail-section li{margin-bottom:.5rem}.scenario-modal-body .stakeholder-info{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:1rem;border-radius:8px;margin-bottom:.75rem}.scenario-modal-body .stakeholder-info:last-child{margin-bottom:0}.scenario-modal-body .stakeholder-info strong{color:var(--text-primary)}.scenario-modal-body .stakeholder-personality{margin-top:.5rem;font-size:.9rem;color:var(--text-secondary)}.scenario-modal-footer{display:flex;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-tertiary);justify-content:flex-end}@keyframes fadeIn{0%{opacity:0;transform:translateZ(0)}to{opacity:1;transform:translateZ(0)}}.scenario-modal-overlay{will-change:opacity}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95) translateZ(0)}to{opacity:1;transform:translateY(0) scale(1) translateZ(0)}}.scenario-modal-content{will-change:transform,opacity}.scenario-details{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;margin-top:2rem}.scenario-details h2{margin-bottom:1.5rem;color:#646cff}.detail-section{margin-bottom:1.5rem}.detail-section h4{margin-bottom:.75rem;color:#fff;font-size:1rem}.detail-section p,.detail-section ul{opacity:.9;line-height:1.6}.detail-section ul{padding-left:1.5rem}.detail-section li{margin-bottom:.5rem}.stakeholder-info{background:#ffffff0d;padding:1rem;border-radius:8px;margin-bottom:.75rem}.stakeholder-personality{font-size:.9rem;opacity:.8;margin-top:.5rem}.custom-form form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{padding:.75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.stakeholder-form-group{border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin-bottom:1rem;background:var(--bg-secondary)}.stakeholder-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.stakeholder-form-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.simulation-layout{display:grid;grid-template-columns:1fr 350px;height:calc(100vh - 50px);overflow:hidden}.simulation-main{display:flex;flex-direction:column;height:100%}.chat-interface{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.chat-header{padding:1rem 1.5rem;background:var(--bg-tertiary);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border-color);box-shadow:0 4px 20px #0000001a;position:relative;overflow:hidden}.chat-header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#646cff1a,#535bf20d,#0984e314);pointer-events:none;z-index:0}[data-theme=dark] .chat-header{background:#1a1a2eb3;border-bottom:1px solid rgba(108,92,231,.3);box-shadow:0 4px 20px #0000004d}[data-theme=dark] .chat-header:before{background:linear-gradient(135deg,#646cff26,#535bf21a,#0984e31f)}[data-theme=light] .chat-header{background:#ffffffb3;border-bottom:1px solid rgba(108,92,231,.2);box-shadow:0 4px 20px #00000014}[data-theme=light] .chat-header:before{background:linear-gradient(135deg,#646cff14,#535bf20a,#0984e30f)}.chat-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;position:relative;z-index:1}.chat-title h2{font-size:1.2rem;margin:0;color:var(--text-primary);font-weight:700;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.turn-counter{font-size:.95rem;font-weight:700;padding:.4rem .8rem;border-radius:8px;background:var(--bg-elevated);border:1px solid var(--border-color);transition:all .3s ease;display:inline-flex;align-items:center;gap:.4rem}.turn-counter[style*="color: rgb(239, 68, 68)"],.turn-counter[style*="color:#ef4444"]{background:linear-gradient(135deg,#ef444426,#dc26261a);border-color:#ef444466;border-width:2px;animation:turnWarningPulse 2s ease-in-out infinite;box-shadow:0 0 20px #ef44444d;font-weight:800}[data-theme=dark] .turn-counter[style*="color: rgb(239, 68, 68)"],[data-theme=dark] .turn-counter[style*="color:#ef4444"]{background:linear-gradient(135deg,#ef444433,#dc262626);border-color:#ef444480;box-shadow:0 0 25px #ef444466}[data-theme=light] .turn-counter[style*="color: rgb(239, 68, 68)"],[data-theme=light] .turn-counter[style*="color:#ef4444"]{background:linear-gradient(135deg,#ef44441f,#dc262614);border-color:#ef444459;box-shadow:0 0 15px #ef444440}.turn-counter[style*="color: rgb(16, 185, 129)"],.turn-counter[style*="color:#10b981"]{background:linear-gradient(135deg,#10b98126,#0596691a);border-color:#10b98166}[data-theme=dark] .turn-counter[style*="color: rgb(16, 185, 129)"],[data-theme=dark] .turn-counter[style*="color:#10b981"]{background:linear-gradient(135deg,#10b98133,#05966926);border-color:#10b98180}[data-theme=light] .turn-counter[style*="color: rgb(16, 185, 129)"],[data-theme=light] .turn-counter[style*="color:#10b981"]{background:linear-gradient(135deg,#10b9811f,#05966914);border-color:#10b98159}@keyframes turnWarningPulse{0%,to{transform:scale(1) translateZ(0);box-shadow:0 0 20px #ef44444d}50%{transform:scale(1.05) translateZ(0);box-shadow:0 0 30px #ef444480}}.turn-counter[style*="color: rgb(239, 68, 68)"],.turn-counter[style*="color:#ef4444"]{will-change:transform,box-shadow}.chat-actions{display:flex;gap:.75rem;position:relative;z-index:1}.chat-actions .btn{padding:.5rem 1rem;border-radius:8px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.chat-actions .btn:hover:not(:disabled){transform:translateY(-2px) translateZ(0);box-shadow:0 4px 12px #0003}.chat-actions .btn:active:not(:disabled){transform:translateY(0) translateZ(0);box-shadow:0 2px 6px #00000026}.chat-actions .btn-secondary{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary)}.chat-actions .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}[data-theme=dark] .chat-actions .btn-secondary{background:#ffffff14;border-color:#fff3}[data-theme=dark] .chat-actions .btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#646cff80;box-shadow:0 4px 12px #646cff4d}[data-theme=light] .chat-actions .btn-secondary{background:#ffffffe6;border-color:#00000026}[data-theme=light] .chat-actions .btn-secondary:hover:not(:disabled){background:#fff;border-color:#646cff80;box-shadow:0 4px 12px #646cff33}.chat-actions .btn-warning{background:linear-gradient(135deg,#ef444426,#dc26261a);border:1px solid rgba(239,68,68,.4);color:var(--danger-color)}.chat-actions .btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#ef444440,#dc262633);border-color:#ef444499;box-shadow:0 4px 12px #ef44444d}[data-theme=dark] .chat-actions .btn-warning{background:linear-gradient(135deg,#ef444433,#dc262626);border-color:#ef444480}[data-theme=dark] .chat-actions .btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#ef44444d,#dc262640);border-color:#ef4444b3;box-shadow:0 4px 12px #ef444466}[data-theme=light] .chat-actions .btn-warning{background:linear-gradient(135deg,#ef44441f,#dc262614);border-color:#ef444459}[data-theme=light] .chat-actions .btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#ef444433,#dc262626);border-color:#ef444480;box-shadow:0 4px 12px #ef444440}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;position:relative}.scroll-to-bottom{position:absolute;bottom:1.5rem;right:1.5rem;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #646cff66;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10;animation:scrollButtonFadeIn .3s ease-out}.scroll-to-bottom:hover{transform:translateY(-3px) scale(1.1) translateZ(0);box-shadow:0 6px 24px #646cff99;background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary-color) 100%)}.scroll-to-bottom:active{transform:translateY(-1px) scale(1.05) translateZ(0);box-shadow:0 3px 12px #646cff80}[data-theme=dark] .scroll-to-bottom{box-shadow:0 4px 16px #646cff80}[data-theme=dark] .scroll-to-bottom:hover{box-shadow:0 6px 28px #646cffb3}[data-theme=light] .scroll-to-bottom{box-shadow:0 4px 16px #646cff59}[data-theme=light] .scroll-to-bottom:hover{box-shadow:0 6px 24px #646cff80}@keyframes scrollButtonFadeIn{0%{opacity:0;transform:translateY(10px) scale(.8) translateZ(0)}to{opacity:1;transform:translateY(0) scale(1) translateZ(0)}}.scroll-to-bottom{will-change:transform,opacity}.message{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:.75rem 1rem;box-shadow:0 2px 8px #0000001a;animation:messageSlideIn .4s cubic-bezier(.4,0,.2,1);transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:visible;display:flex;flex-direction:column;gap:.5rem;will-change:transform,opacity}.message:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.03) 100%);pointer-events:none}.message:hover{transform:translateY(-2px) translateZ(0);box-shadow:0 4px 12px #00000026}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:absolute;box-shadow:0 2px 8px #00000026;transition:transform .3s ease,box-shadow .3s ease;will-change:transform}.message-avatar-user{background:linear-gradient(135deg,#646cffe6,#535bf2e6);color:#fff;right:-12px;top:8px}[data-theme=dark] .message-avatar-user{background:linear-gradient(135deg,#646cff,#535bf2);box-shadow:0 2px 12px #646cff66}[data-theme=light] .message-avatar-user{background:linear-gradient(135deg,#646cffd9,#535bf2d9);box-shadow:0 2px 8px #646cff4d}.message-avatar-ai{background:var(--bg-elevated);border:2px solid var(--border-color);color:var(--primary-color);left:-12px;top:8px}[data-theme=dark] .message-avatar-ai{background:#ffffff1a;border-color:#fff3;box-shadow:0 2px 12px #0000004d}[data-theme=light] .message-avatar-ai{background:#ffffffe6;border-color:#00000026;box-shadow:0 2px 8px #0000001a}.message:hover .message-avatar{transform:scale(1.1) translateZ(0);box-shadow:0 4px 16px #00000040}[data-theme=dark] .message:hover .message-avatar-user{box-shadow:0 4px 20px #646cff99}[data-theme=light] .message:hover .message-avatar-user{box-shadow:0 4px 16px #646cff66}.user-message{margin-left:20%;background:linear-gradient(135deg,#646cff26,#535bf21a);border-color:#646cff66;border-radius:16px 16px 4px;box-shadow:0 2px 8px #646cff33}[data-theme=dark] .user-message{background:linear-gradient(135deg,#646cff33,#535bf226);border-color:#646cff80;box-shadow:0 2px 12px #646cff4d}[data-theme=light] .user-message{background:linear-gradient(135deg,#646cff1f,#535bf214);border-color:#646cff59;box-shadow:0 2px 8px #646cff26}.user-message:hover{box-shadow:0 4px 16px #646cff4d;border-color:#646cff99}.ai-message{margin-right:20%;background:var(--bg-secondary);border-radius:16px 16px 16px 4px;box-shadow:0 2px 8px #0000001a}[data-theme=dark] .ai-message{background:#ffffff0d;border-color:#ffffff26}[data-theme=light] .ai-message{background:#00000008;border-color:#0000001f}.ai-message:hover{box-shadow:0 4px 12px #00000026}.system-message{background:linear-gradient(135deg,#3b82f61f,#2563eb14);border-color:#3b82f659;border-radius:12px;box-shadow:0 2px 8px #3b82f626;margin-left:5%;margin-right:5%}[data-theme=dark] .system-message{background:linear-gradient(135deg,#3b82f626,#2563eb1a);border-color:#3b82f666;box-shadow:0 2px 12px #3b82f633}[data-theme=light] .system-message{background:linear-gradient(135deg,#3b82f61a,#2563eb0f);border-color:#3b82f64d}.system-message:hover{box-shadow:0 4px 16px #3b82f640}.coaching-message{background:linear-gradient(135deg,#f59e0b1f,#d9770614);border-color:#f59e0b59;border-radius:12px;box-shadow:0 2px 8px #f59e0b26;margin-left:10%;margin-right:10%}[data-theme=dark] .coaching-message{background:linear-gradient(135deg,#f59e0b26,#d977061a);border-color:#f59e0b66;box-shadow:0 2px 12px #f59e0b33}[data-theme=light] .coaching-message{background:linear-gradient(135deg,#f59e0b1a,#d977060f);border-color:#f59e0b4d}.coaching-message:hover{box-shadow:0 4px 16px #f59e0b40}.message+.message.user-message{margin-top:.5rem}.message+.message.ai-message{margin-top:.5rem}.message.user-message+.message.user-message{margin-top:.25rem;animation:messageSlideInGrouped .3s ease-out}.message.ai-message+.message.ai-message{margin-top:.25rem;animation:messageSlideInGrouped .3s ease-out}.message-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;font-weight:600;font-size:.8rem;opacity:.9}.coaching-header{color:#f59e0b}.role-badge{padding:.15rem .4rem;background:#ffffff1a;border-radius:3px;font-size:.7rem;font-weight:500}.message-content p{margin:0;line-height:1.5;font-size:.9rem}.message-timestamp{margin-top:.5rem;font-size:.7rem;opacity:0;text-align:right;color:var(--text-tertiary);font-weight:500;letter-spacing:.3px;animation:timestampFadeIn .6s ease-out .3s forwards;transition:opacity .3s ease,color .3s ease}.message:hover .message-timestamp{opacity:.8;color:var(--text-secondary)}@keyframes timestampFadeIn{0%{opacity:0;transform:translateY(-4px) translateZ(0)}to{opacity:.5;transform:translateY(0) translateZ(0)}}.message-timestamp{will-change:opacity,transform}.loading{opacity:.7}.typing-indicator{display:flex;gap:.5rem;align-items:center;padding:.25rem 0}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--primary-color);animation:typingWave 1.4s ease-in-out infinite;transform:translateZ(0);will-change:transform,opacity;transition:background-color .3s ease}[data-theme=dark] .typing-indicator span{background:#646cff;box-shadow:0 0 8px #646cff66}[data-theme=light] .typing-indicator span{background:#535bf2;box-shadow:0 0 6px #535bf24d}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.timeout-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:#f59e0b}.chat-input-container{padding:1.5rem 2rem;background:var(--bg-tertiary);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:2px solid var(--border-color);display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 -6px 30px #00000026;position:relative}.chat-input-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(108,92,231,.5) 50%,transparent 100%);opacity:.6}[data-theme=dark] .chat-input-container{background:linear-gradient(180deg,#1a1a2ef2,#1a1a2ed9);border-top:2px solid rgba(108,92,231,.4);box-shadow:0 -6px 30px #0006,0 -2px 15px #6c5ce733}[data-theme=light] .chat-input-container{background:linear-gradient(180deg,#fffffff2,#ffffffd9);border-top:2px solid rgba(108,92,231,.3);box-shadow:0 -6px 30px #0000001f,0 -2px 15px #6c5ce726}.suggestions-container{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#6c5ce71f,#646cff14);border:1px solid rgba(108,92,231,.35);border-radius:12px;box-shadow:0 2px 12px #6c5ce726;position:relative;overflow:hidden}.suggestions-container:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.03) 100%);pointer-events:none}[data-theme=dark] .suggestions-container{background:linear-gradient(135deg,#6c5ce726,#646cff1a);border-color:#6c5ce766;box-shadow:0 2px 16px #6c5ce733}[data-theme=light] .suggestions-container{background:linear-gradient(135deg,#6c5ce71a,#646cff0f);border-color:#6c5ce74d;box-shadow:0 2px 12px #6c5ce71f}.suggestions-header{display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem;position:relative;z-index:1;letter-spacing:.3px}.suggestions-header svg{width:18px;height:18px;animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1) translateZ(0);opacity:1}50%{transform:scale(1.1) translateZ(0);opacity:.8}}.suggestions-header svg{will-change:transform,opacity}.suggestions-list{display:flex;flex-direction:column;gap:.75rem;position:relative;z-index:1}.suggestion-chip{padding:1rem 1.25rem;background:var(--bg-secondary);border:2px solid rgba(108,92,231,.3);border-radius:10px;color:var(--text-primary);font-size:.95rem;text-align:left;cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s ease,border-color .3s ease,box-shadow .3s ease;line-height:1.5;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014;font-weight:500;will-change:transform}.suggestion-chip:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(108,92,231,.15),transparent);transition:left .5s}.suggestion-chip:hover:not(:disabled):before{left:100%}[data-theme=dark] .suggestion-chip{background:#ffffff14;border-color:#6c5ce766;box-shadow:0 2px 8px #0003}[data-theme=light] .suggestion-chip{background:#fffffff2;border-color:#6c5ce740;box-shadow:0 2px 8px #0000000f}.suggestion-chip:hover:not(:disabled){background:linear-gradient(135deg,#6c5ce733,#646cff26);border-color:var(--primary-color);transform:translate(8px) scale(1.02) translateZ(0);box-shadow:0 6px 20px #6c5ce759}[data-theme=dark] .suggestion-chip:hover:not(:disabled){background:linear-gradient(135deg,#6c5ce740,#646cff33);box-shadow:0 6px 24px #6c5ce773}[data-theme=light] .suggestion-chip:hover:not(:disabled){background:linear-gradient(135deg,#6c5ce726,#646cff1a);box-shadow:0 6px 20px #6c5ce74d}.suggestion-chip:active:not(:disabled){transform:translate(4px) scale(.98) translateZ(0);box-shadow:0 3px 12px #6c5ce740}.suggestion-chip:disabled{opacity:.5;cursor:not-allowed;transform:none}.suggestion-skeleton{height:60px;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-elevated) 50%,var(--bg-secondary) 100%);background-size:200% 100%;border-radius:10px;animation:skeletonShimmer 1.5s ease-in-out infinite;border:2px solid rgba(108,92,231,.2);box-shadow:0 2px 8px #0000000d}[data-theme=dark] .suggestion-skeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:200% 100%;border-color:#6c5ce74d;box-shadow:0 2px 8px #0003}[data-theme=light] .suggestion-skeleton{background:linear-gradient(90deg,#00000008,#0000000f,#00000008);background-size:200% 100%;border-color:#6c5ce733;box-shadow:0 2px 8px #0000000a}@keyframes skeletonShimmer{0%{background-position:-200% 0;transform:translateZ(0)}to{background-position:200% 0;transform:translateZ(0)}}.suggestion-skeleton{will-change:background-position}.input-row{display:flex;gap:.5rem;align-items:flex-end}.input-wrapper{flex:1;position:relative;display:flex;flex-direction:column;gap:.5rem}.chat-input{width:100%;padding:1.25rem 1.5rem;border-radius:14px;border:2px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:1.05rem;font-family:inherit;resize:vertical;min-height:100px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease;box-shadow:0 3px 12px #00000014;line-height:1.6;will-change:transform;font-weight:500}.chat-input::placeholder{color:var(--text-tertiary);opacity:.6;font-weight:400}.chat-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 5px #646cff33,0 0 20px #646cff4d,0 6px 16px #00000026;transform:translateY(-2px) translateZ(0)}[data-theme=dark] .chat-input{background:#ffffff1a;border-color:#ffffff40;box-shadow:0 3px 12px #0000004d,inset 0 1px 3px #ffffff0d}[data-theme=dark] .chat-input:focus{background:#ffffff24;border-color:var(--primary-color);box-shadow:0 0 0 5px #646cff4d,0 0 25px #646cff66,0 6px 20px #646cff59}[data-theme=light] .chat-input{background:#fffffffa;border-color:#6c5ce74d;box-shadow:0 3px 12px #00000014,inset 0 1px 3px #00000008}[data-theme=light] .chat-input:focus{background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 5px #646cff26,0 0 20px #646cff40,0 6px 16px #646cff33}.chat-input:disabled{opacity:.6;cursor:not-allowed;filter:grayscale(.3)}.character-count{font-size:.8rem;color:var(--text-secondary);text-align:right;padding:0 .25rem;opacity:.7;transition:opacity .3s ease,color .3s ease;font-weight:500;letter-spacing:.3px}[data-theme=dark] .character-count{color:#ffffff80}[data-theme=light] .character-count{color:#00000080}.chat-input:focus~.character-count{opacity:1;color:var(--primary-color)}.input-actions{display:flex;gap:1rem;align-items:stretch}.input-actions .btn{padding:1rem 1.5rem;font-size:1rem;font-weight:700;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 10px #0000001f;letter-spacing:.3px;min-height:56px}.input-actions .btn-secondary{background:var(--bg-elevated);border:2px solid var(--border-color);position:relative;overflow:hidden}.input-actions .btn-secondary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(108,92,231,.1),transparent);transition:left .5s}.input-actions .btn-secondary:hover:not(:disabled):before{left:100%}.input-actions .btn:hover:not(:disabled){transform:translateY(-3px) translateZ(0);box-shadow:0 6px 20px #00000040}.input-actions .btn:active:not(:disabled){transform:translateY(-1px) translateZ(0);box-shadow:0 3px 12px #0003}[data-theme=dark] .input-actions .btn-secondary{background:#ffffff1a;border-color:#ffffff40}[data-theme=dark] .input-actions .btn-secondary:hover:not(:disabled){background:#ffffff26;border-color:#6c5ce780;box-shadow:0 6px 20px #6c5ce74d}[data-theme=light] .input-actions .btn-secondary{background:#fffffff2;border-color:#6c5ce74d}[data-theme=light] .input-actions .btn-secondary:hover:not(:disabled){background:#fff;border-color:#6c5ce780;box-shadow:0 6px 20px #6c5ce740}.btn-icon{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.btn-send{align-self:stretch;background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;border:none;box-shadow:0 5px 15px #646cff66,0 2px 8px #646cff4d,inset 0 1px #fff3;position:relative;overflow:hidden;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.2)}.btn-send:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s}.btn-send:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 50%,rgba(0,0,0,.1) 100%);pointer-events:none}.btn-send:hover:not(:disabled):before{left:100%}.btn-send:hover:not(:disabled){background:linear-gradient(135deg,#535bf2,#646cff);box-shadow:0 8px 25px #646cff99,0 4px 12px #646cff66,inset 0 1px #ffffff4d;transform:translateY(-4px) scale(1.02) translateZ(0)}.btn-send:active:not(:disabled){transform:translateY(-2px) scale(.98) translateZ(0);box-shadow:0 4px 15px #646cff80,0 2px 8px #646cff4d}.btn-send:disabled{background:linear-gradient(135deg,#646cff4d,#535bf24d);box-shadow:0 2px 6px #0000001a;opacity:.5;filter:grayscale(.5)}[data-theme=dark] .btn-send{box-shadow:0 5px 15px #646cff80,0 2px 8px #646cff66,inset 0 1px #fff3}[data-theme=dark] .btn-send:hover:not(:disabled){box-shadow:0 8px 30px #646cffb3,0 4px 15px #646cff80,inset 0 1px #ffffff4d}[data-theme=light] .btn-send{box-shadow:0 5px 15px #646cff59,0 2px 8px #646cff40,inset 0 1px #ffffff4d}[data-theme=light] .btn-send:hover:not(:disabled){box-shadow:0 8px 25px #646cff80,0 4px 12px #646cff59,inset 0 1px #fff6}.turn-limit-reached{padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;text-align:center;font-weight:600}.sidebar{background:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar-tabs{display:flex;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:0}.sidebar-tab{flex:1;padding:.6rem;background:none;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.3rem;transition:all .3s;font-weight:600;font-size:.85rem;border-bottom:2px solid transparent}.sidebar-tab.active{color:var(--text-primary);background:var(--bg-elevated);border-bottom-color:var(--primary-color)}.sidebar-content{flex:1;overflow-y:auto;padding:1rem}.context-panel h3,.rubric-panel h3,.notes-panel h3{margin-bottom:.75rem;color:var(--primary-color);font-size:1rem}.help-text{font-size:.75rem;opacity:.7;margin-bottom:.75rem}.context-section{margin-bottom:1.25rem}.context-section h4{margin-bottom:.5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.stakeholder-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;margin-bottom:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:cardFloat 6s ease-in-out infinite;animation-delay:.5s}.stakeholder-card:hover{transform:translateY(-3px) translateZ(0);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.stakeholder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.9rem;color:var(--text-primary)}.role-tag{padding:.15rem .4rem;background:#646cff33;border-radius:3px;font-size:.7rem}.stakeholder-details{margin-top:.5rem;font-size:.8rem}.stakeholder-details ul{padding-left:1rem;margin-top:.2rem}.stakeholder-details li{margin-bottom:.15rem;opacity:.9}.constraints-list{padding-left:1.25rem}.constraints-list li{margin-bottom:.5rem;opacity:.9}.file-upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#646cff1a;border:1px solid rgba(100,108,255,.3);border-radius:8px;cursor:pointer;transition:all .3s;font-weight:600}.file-upload-btn:hover{background:#646cff33}.uploaded-files{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.uploaded-file{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#ffffff0d;border-radius:4px;font-size:.85rem}.rubric-criterion{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.75rem;margin-bottom:.75rem}.criterion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.criterion-header h4{margin:0;font-size:.9rem}.criterion-weight{padding:.15rem .4rem;background:#646cff33;border-radius:3px;font-size:.7rem;font-weight:700}.criterion-description{font-size:.8rem;opacity:.9;margin-bottom:.6rem;line-height:1.4}.criterion-anchors{display:flex;flex-direction:column;gap:.4rem}.anchor{display:flex;gap:.5rem;align-items:flex-start;font-size:.75rem}.anchor-score{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#646cff33;border-radius:50%;font-weight:700;flex-shrink:0;font-size:.7rem}.notes-textarea{width:100%;min-height:300px;padding:.75rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:.85rem;font-family:inherit;resize:vertical}.notes-textarea:focus{outline:none;border-color:var(--primary-color)}.feedback-container{padding:2rem;max-width:1200px;margin:0 auto}.feedback-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.feedback-header{text-align:center;margin-bottom:1.5rem}.feedback-header h1{font-size:2rem;margin-bottom:.5rem}.scenario-title{font-size:1rem;opacity:.8}.feedback-nav{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#ffffff0d;padding:.4rem;border-radius:10px}.nav-btn{flex:1;padding:.5rem 1rem;background:transparent;border:none;color:#fff9;cursor:pointer;border-radius:8px;transition:all .3s;font-weight:600;font-size:.9rem}.nav-btn.active{background:#646cff33;color:#fff}.feedback-content{margin-bottom:1.5rem}.overall-score-card{background:linear-gradient(135deg,#646cff1a,#535bf21a);border:2px solid rgba(100,108,255,.3);border-radius:12px;padding:2rem;margin-bottom:1.5rem;text-align:center;animation:cardFloat 6s ease-in-out infinite;animation-delay:.2s;transition:all .3s ease}.overall-score-card:hover{transform:scale(1.02) translateZ(0);box-shadow:var(--shadow-lg)}.score-display{display:flex;align-items:center;justify-content:center;gap:1.5rem}.score-circle{width:120px;height:120px;border-radius:50%;border:6px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:scoreCirclePulse 3s ease-in-out infinite}@keyframes scoreCirclePulse{0%,to{transform:scale(1) translateZ(0)}50%{transform:scale(1.05) translateZ(0)}}.score-circle{will-change:transform}.score-value{font-size:2.5rem;font-weight:800;line-height:1}.score-max{font-size:1.2rem;opacity:.6}.score-label{text-align:left}.score-label h2{font-size:1.5rem;margin-bottom:.5rem}.criteria-scores{margin-bottom:1.5rem}.criteria-scores h3{margin-bottom:1rem;font-size:1.3rem}.criterion-score-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1rem;margin-bottom:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:cardFloat 6s ease-in-out infinite;animation-delay:.4s}.criterion-score-card:hover{transform:translateY(-3px) translateZ(0);box-shadow:var(--shadow-md);border-color:var(--accent-color)}.criterion-score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.criterion-score-header h4{margin:0;font-size:1rem}.weight-badge{padding:.25rem .75rem;background:#ffffff1a;border-radius:12px;font-size:.75rem;margin-left:.5rem}.score-badge{padding:.5rem 1rem;background:#646cff33;border-radius:8px;font-weight:700;font-size:1.1rem}.score-bar{width:100%;height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin-bottom:1rem}.score-fill{height:100%;transition:width .5s ease;border-radius:6px}.evidence-list{font-size:.9rem;opacity:.9}.evidence-list ul{padding-left:1.5rem;margin-top:.5rem}.evidence-list li{margin-bottom:.25rem}.missed-opportunities{margin-top:2rem}.missed-opportunities h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.5rem;color:#f59e0b}.opportunity-card{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.opportunity-card h4{margin-bottom:.75rem;color:#f59e0b}.what-missed{margin-bottom:1rem;opacity:.9}.how-to-improve{background:#ffffff0d;padding:1rem;border-radius:8px}.how-to-improve strong{display:block;margin-bottom:.5rem;color:#10b981}.moments-section h3,.drills-section h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.5rem}.section-description{margin-bottom:1.5rem;opacity:.8}.moment-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.moment-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.turn-badge{padding:.25rem .75rem;background:#646cff33;border-radius:12px;font-size:.75rem;font-weight:700}.moment-header h4{margin:0;font-size:1.1rem}.moment-why{opacity:.9;line-height:1.6}.reflection-section{margin-top:2rem}.reflection-section h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.5rem;color:#10b981}.reflection-card{background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:12px;padding:1.5rem}.reflection-question{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:#10b981}.reflection-textarea{width:100%;padding:1rem;border-radius:8px;border:1px solid rgba(16,185,129,.3);background:#ffffff0d;color:#fff;font-size:1rem;font-family:inherit;resize:vertical}.reflection-textarea:focus{outline:none;border-color:#10b981}.drill-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;margin-bottom:1rem}.drill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.drill-header h4{margin:0;font-size:1.1rem}.time-badge{padding:.25rem .75rem;background:#f59e0b33;border-radius:12px;font-size:.75rem;font-weight:700;color:#f59e0b}.drill-instructions{margin-bottom:1rem;opacity:.9;line-height:1.6}.feedback-actions{display:flex;justify-content:center;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.progress-dashboard{padding:2rem;max-width:1400px;margin:0 auto}.progress-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard-header h1{font-size:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;display:flex;gap:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:cardFloat 6s ease-in-out infinite;animation-delay:.3s}.stat-card:hover{transform:translateY(-5px) scale(1.03) translateZ(0);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}[data-theme=dark] .stat-card:hover{box-shadow:0 8px 32px #0984e34d}[data-theme=light] .stat-card:hover{box-shadow:0 8px 32px #0984e333}.stat-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-content h3{font-size:1.6rem;margin-bottom:.25rem}.stat-content p{opacity:.8;font-size:.9rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-radar-section{margin-bottom:3rem}.skill-radar-section h2{margin-bottom:1.5rem;font-size:1.8rem}.skill-radar-placeholder{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:3rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.radar-chart{position:relative}.radar-labels{position:absolute;inset:0}.radar-label{position:absolute;font-size:.85rem;font-weight:600;color:#646cff}.radar-label.top{top:0;left:50%;transform:translate(-50%)}.radar-label.right{top:50%;right:0;transform:translateY(-50%)}.radar-label.bottom{bottom:0;left:50%;transform:translate(-50%)}.radar-label.left{top:50%;left:0;transform:translateY(-50%)}.radar-note{opacity:.7;font-size:.9rem}.session-history h2{margin-bottom:1.5rem;font-size:1.8rem}.empty-state{text-align:center;padding:4rem 2rem;background:#ffffff0d;border:2px dashed rgba(255,255,255,.2);border-radius:16px}.empty-state svg{color:#646cff;margin-bottom:1rem}.empty-state h3{margin-bottom:.5rem;font-size:1.5rem}.empty-state p{opacity:.8;margin-bottom:2rem}.session-list{display:flex;flex-direction:column;gap:1rem}.session-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1rem;display:flex;justify-content:space-between;transition:all .4s cubic-bezier(.4,0,.2,1);animation:cardFloat 6s ease-in-out infinite;animation-delay:.7s;position:relative;overflow:hidden;cursor:pointer}.session-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(108,92,231,.1) 50%,transparent 70%);transform:rotate(0);transition:transform .6s;z-index:0}.session-card:hover:before{transform:rotate(180deg)}.session-card>*{position:relative;z-index:1}.session-card:hover{transform:translateY(-6px) scale(1.02) translateZ(0);border-color:var(--primary-color)}[data-theme=dark] .session-card:hover{box-shadow:0 8px 32px #6c5ce759}[data-theme=light] .session-card:hover{box-shadow:0 8px 32px #6c5ce740}.session-info{flex:1}.session-info h4{margin-bottom:.25rem;font-size:1.1rem}.session-date{font-size:.85rem;opacity:.7}.session-score{display:flex;align-items:center;gap:1rem}.score-badge-large{padding:.75rem 1.25rem;border-radius:8px;font-weight:800;font-size:1.5rem;color:#fff}.incomplete-badge{padding:.5rem 1rem;background:#ef444433;border-radius:8px;font-weight:600;color:#ef4444;font-size:.85rem}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95) translateZ(0)}to{opacity:1;transform:translateY(0) scale(1) translateZ(0)}}@keyframes messageSlideInGrouped{0%{opacity:0;transform:translateY(10px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px) translateZ(0)}to{opacity:1;transform:translateY(0) translateZ(0)}}@keyframes typingWave{0%,60%,to{transform:translateY(0) scale(1);opacity:.7}30%{transform:translateY(-12px) scale(1.1);opacity:1}}.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#646cff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0) translateZ(0)}to{transform:rotate(360deg) translateZ(0)}}.spinner{will-change:transform}@media (max-width: 1024px){.simulation-layout{grid-template-columns:1fr}.sidebar{display:none}}@media (max-width: 768px){.app-header{padding:.75rem 1rem}.app-title{font-size:1.1rem}.header-left{flex-direction:row;align-items:center;gap:.5rem}.header-subtitle{font-size:.75rem;display:none}.header-right{flex-direction:row;align-items:center;gap:.5rem}.guest-info-banner-header{padding:.5rem 1rem;font-size:.8rem}.scenario-select,.feedback-container,.progress-dashboard{padding:1rem}.hero-section{margin-bottom:2rem}.hero-title{font-size:1.5rem;margin-bottom:.75rem;line-height:1.3}.hero-subtitle{font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.hero-features{grid-template-columns:1fr;gap:1.25rem;padding:1.25rem 0;margin-top:1.5rem}.hero-feature h3{font-size:1rem;margin-bottom:.5rem}.hero-feature p{font-size:.85rem;line-height:1.5}.scenario-header{margin-bottom:1.5rem}.scenario-header h1{font-size:1.5rem;margin-bottom:.5rem}.scenario-header p{font-size:.9rem}.scenario-templates{grid-template-columns:1fr;gap:.75rem}.scenario-card{padding:1rem}.scenario-card h3{font-size:1.1rem}.scenario-description{font-size:.85rem;line-height:1.4}.scenario-meta{font-size:.8rem;gap:.75rem}.difficulty-badge{padding:.25rem .75rem;font-size:.7rem}.stats-grid{grid-template-columns:1fr}.score-display{flex-direction:column}.score-label{text-align:center}.form-row{grid-template-columns:1fr}.feedback-actions{flex-direction:column}.user-menu span{display:none}.btn{padding:.65rem 1.1rem;font-size:.9rem;min-height:44px}.btn-small{padding:.5rem .85rem;font-size:.85rem;min-height:40px}.btn-large{padding:1.1rem 2rem;font-size:1.05rem;min-height:48px}.scenario-modal-overlay{padding:.5rem}.scenario-modal-content{max-height:95vh;max-width:100%}.scenario-modal-header{padding:1rem;flex-direction:column;gap:.75rem}.scenario-modal-header h2{font-size:1.25rem}.scenario-modal-icon{width:40px;height:40px;min-width:40px}.scenario-modal-icon .icon,.scenario-modal-icon svg{width:20px;height:20px}.scenario-modal-body{padding:1rem}.detail-section{margin-bottom:1.25rem}.detail-section h4{font-size:1rem;margin-bottom:.5rem}.detail-section p,.detail-section li{font-size:.85rem}.scenario-modal-footer{padding:1rem;gap:.75rem}.stakeholder-form-group{padding:.75rem;margin-bottom:.75rem}.scenario-modal-footer .btn{width:100%;justify-content:center}.chat-header{padding:.75rem 1rem}.chat-title h2{font-size:1.1rem}.turn-counter{font-size:.85rem;padding:.4rem .75rem}.chat-actions{gap:.5rem}.chat-actions .btn{padding:.6rem .9rem;font-size:.85rem}.chat-messages{padding:.75rem;gap:.65rem}.user-message{margin-left:10%}.ai-message{margin-right:10%}.system-message{margin-left:2%;margin-right:2%}.coaching-message{margin-left:5%;margin-right:5%}.message{padding:.75rem .9rem}.message-content p{font-size:.9rem;line-height:1.5}.message-header{font-size:.8rem}.message-timestamp{font-size:.7rem}.message-avatar{width:32px;height:32px}.message-avatar-user{right:-10px}.message-avatar-ai{left:-10px}.chat-input-container{padding:1.25rem 1.5rem;gap:1rem}.chat-input{font-size:1rem;min-height:85px;padding:1rem 1.25rem}.character-count{font-size:.75rem}.suggestions-container{padding:1rem 1.25rem;gap:.75rem}.suggestions-header{font-size:.85rem}.suggestion-chip{padding:.9rem 1.1rem;font-size:.9rem}.input-actions{gap:.75rem}.input-actions .btn{padding:.9rem 1.25rem;font-size:.95rem;min-height:52px}.input-actions .btn{padding:.75rem 1.1rem;font-size:.9rem;min-height:44px}.btn-send{min-width:100px}.scroll-to-bottom{width:44px;height:44px;bottom:1.25rem;right:1.25rem}.feedback-header h1{font-size:1.5rem}.criterion-score-card,.opportunity-card,.moment-card,.drill-card{padding:1rem}.auth-container{padding:2rem;max-width:400px}.auth-header h1{font-size:1.75rem}}@media (max-width: 480px){.scenario-select,.feedback-container,.progress-dashboard{padding:.75rem}.hero-title{font-size:1.35rem}.hero-subtitle{font-size:.85rem}.hero-features{gap:1rem;padding:1rem 0}.hero-feature h3{font-size:.95rem}.hero-feature p{font-size:.8rem}.scenario-header h1{font-size:1.35rem}.scenario-header p{font-size:.85rem}.scenario-card{padding:.85rem}.guest-info-banner-header{font-size:.75rem;padding:.4rem .75rem}.app-header{padding:.6rem .75rem}.app-title{font-size:1rem}.btn{padding:.75rem 1.25rem;font-size:.95rem;min-height:48px}.btn-small{padding:.6rem 1rem;font-size:.85rem;min-height:44px}.btn-large{padding:1.2rem 2rem;font-size:1.1rem;min-height:52px}.chat-header{padding:.65rem .75rem}.chat-title{margin-bottom:.5rem}.chat-title h2{font-size:1rem}.turn-counter{font-size:.8rem;padding:.35rem .65rem}.chat-actions{gap:.4rem;flex-wrap:wrap}.chat-actions .btn{padding:.55rem .8rem;font-size:.8rem;min-height:40px}.chat-messages{padding:.65rem;gap:.6rem}.user-message{margin-left:5%}.ai-message{margin-right:5%}.system-message{margin-left:0;margin-right:0}.coaching-message{margin-left:2%;margin-right:2%}.message{padding:.7rem .85rem;border-radius:10px}.message-content p{font-size:.9rem;line-height:1.5}.message-header{font-size:.75rem;margin-bottom:.4rem}.message-timestamp{font-size:.65rem}.message-avatar{width:28px;height:28px}.message-avatar-user{right:-8px;top:6px}.message-avatar-ai{left:-8px;top:6px}.chat-input-container{padding:1rem 1.25rem;gap:.85rem}.chat-input{font-size:1rem;min-height:90px;padding:1rem 1.25rem;border-radius:12px}.character-count{font-size:.75rem}.input-actions .btn{padding:.85rem 1.1rem;font-size:.9rem;min-height:50px}.suggestions-container{padding:.75rem .85rem;gap:.6rem;border-radius:10px}.suggestions-header{font-size:.8rem;margin-bottom:.4rem}.suggestions-list{gap:.6rem}.suggestion-chip{padding:.8rem .9rem;font-size:.9rem;border-radius:8px}.input-actions{gap:.6rem}.input-actions .btn{padding:.8rem 1.2rem;font-size:.95rem;min-height:48px}.btn-send{min-width:110px}.scroll-to-bottom{width:48px;height:48px;bottom:1rem;right:1rem}.scenario-modal-overlay{padding:.25rem}.scenario-modal-content{border-radius:12px}.scenario-modal-header,.scenario-modal-body{padding:.85rem}.scenario-modal-footer{padding:.85rem;flex-direction:column}.scenario-modal-footer .btn{width:100%}.auth-container{padding:1.5rem;max-width:100%}.auth-header h1{font-size:1.5rem}.auth-logo{padding:.75rem}.feedback-header h1{font-size:1.35rem}.overall-score-card{padding:1.5rem}.score-circle{width:100px;height:100px;border-width:5px}.score-value{font-size:2rem}.score-max{font-size:1rem}.criterion-score-card,.opportunity-card,.moment-card,.drill-card{padding:.85rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-header h1{font-size:1.5rem}.session-card{flex-direction:column;gap:.75rem;padding:.85rem}.session-score{justify-content:flex-start}.typing-indicator span{width:7px;height:7px}}.guest-indicator{padding:.5rem 1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:#f59e0b;font-weight:600;font-size:.875rem}.guest-banner{padding:.75rem 1.5rem;background:#f59e0b1a;border-bottom:1px solid rgba(245,158,11,.3);display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.9rem;color:#f59e0b}.guest-feedback-banner{margin-top:1.5rem;padding:1.5rem;background:#646cff1a;border:1px solid rgba(100,108,255,.3);border-radius:12px;text-align:center}.guest-feedback-banner p{margin-bottom:1rem;font-size:1rem}.btn-link{background:none;border:none;color:inherit;cursor:pointer;font-weight:600;padding:.25rem .75rem;text-decoration:underline;transition:opacity .2s}.btn-link:hover{opacity:.8}.modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}[data-theme=light] .modal-overlay{background:#2d343699}.modal-content{position:relative;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.modal-content .auth-screen{min-height:auto;padding:0}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--bg-tertiary);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--text-primary);transition:all .2s;z-index:10;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-elevated);transform:scale(1.1) translateZ(0)}.auth-reason{margin-bottom:1rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;text-align:center}.auth-reason p{margin:0;color:var(--primary-color)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95) translateZ(0)}to{opacity:1;transform:translateY(0) scale(1) translateZ(0)}}.modal-content{will-change:transform,opacity}@media (prefers-color-scheme: light){.app{background:linear-gradient(135deg,#f9fafb,#e5e7eb);color:#1f2937}.app-header,.scenario-card,.message,.sidebar,.feedback-container{background:#00000005;border-color:#0000001a}.chat-input,.notes-textarea,.form-group input,.form-group textarea,.form-group select{background:#fff;border-color:#0003;color:#1f2937}.user-message{background:#646cff1a;border-color:#646cff4d}}[data-theme=dark]{.message{background:#ffffff0d;border-color:#ffffff26;box-shadow:0 2px 8px #0000004d}.message:hover{background:#ffffff14;box-shadow:0 4px 16px #0006}.message:before{background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.05) 100%)}.user-message{background:linear-gradient(135deg,#646cff33,#535bf226);border-color:#646cff80;box-shadow:0 2px 12px #646cff4d}.user-message:hover{background:linear-gradient(135deg,#646cff40,#535bf233);box-shadow:0 4px 20px #646cff73;border-color:#646cffb3}.ai-message{background:#ffffff0d;border-color:#ffffff26;box-shadow:0 2px 8px #0000004d}.ai-message:hover{background:#ffffff14;box-shadow:0 4px 16px #0006;border-color:#ffffff40}.system-message{background:linear-gradient(135deg,#3b82f626,#2563eb1a);border-color:#3b82f666;box-shadow:0 2px 12px #3b82f633}.system-message:hover{background:linear-gradient(135deg,#3b82f633,#2563eb26);box-shadow:0 4px 20px #3b82f64d}.coaching-message{background:linear-gradient(135deg,#f59e0b26,#d977061a);border-color:#f59e0b66;box-shadow:0 2px 12px #f59e0b33}.coaching-message:hover{background:linear-gradient(135deg,#f59e0b33,#d9770626);box-shadow:0 4px 20px #f59e0b4d}.message-timestamp{color:#fff6}.message:hover .message-timestamp{color:#fff9}.typing-indicator span{background:#646cff;box-shadow:0 0 8px #646cff66}.scroll-to-bottom{background:linear-gradient(135deg,#646cff,#535bf2);box-shadow:0 4px 16px #646cff80}.scroll-to-bottom:hover{box-shadow:0 6px 28px #646cffb3}.suggestions-container{background:linear-gradient(135deg,#6c5ce726,#646cff1a);border-color:#6c5ce766;box-shadow:0 2px 16px #6c5ce733}.suggestion-chip{background:#ffffff14;border-color:#6c5ce766;box-shadow:0 2px 8px #0003;color:#fffffff2}.suggestion-chip:hover:not(:disabled){background:linear-gradient(135deg,#6c5ce740,#646cff33);border-color:#646cff;box-shadow:0 6px 24px #6c5ce773;color:#fff}.suggestion-skeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:200% 100%;border-color:#6c5ce74d;box-shadow:0 2px 8px #0003}.chat-input{background:#ffffff14;border-color:#fff3;color:#fffffff2}.chat-input:focus{background:#ffffff1f;border-color:#646cff;box-shadow:0 0 0 4px #646cff40,0 4px 16px #646cff4d;color:#fff}.chat-input::placeholder{color:#fff6}.character-count{color:#ffffff80}.chat-input:focus~.character-count{color:#646cff}.btn-send{background:linear-gradient(135deg,#646cff,#535bf2);box-shadow:0 4px 12px #646cff66}.btn-send:hover:not(:disabled){background:linear-gradient(135deg,#535bf2,#646cff);box-shadow:0 6px 24px #646cff99}.btn-send:disabled{background:linear-gradient(135deg,#646cff4d,#535bf24d);box-shadow:none}.chat-header{background:#1a1a2eb3;border-bottom:1px solid rgba(108,92,231,.3);box-shadow:0 4px 20px #0000004d}.chat-header:before{background:linear-gradient(135deg,#646cff26,#535bf21a,#0984e31f)}.chat-input-container{background:#1a1a2ecc;border-top:1px solid rgba(108,92,231,.3);box-shadow:0 -4px 20px #0000004d}.turn-counter[style*="color: rgb(239, 68, 68)"],.turn-counter[style*="color:#ef4444"]{background:linear-gradient(135deg,#ef444433,#dc262626);border-color:#ef444480;box-shadow:0 0 25px #ef444466}.turn-counter[style*="color: rgb(16, 185, 129)"],.turn-counter[style*="color:#10b981"]{background:linear-gradient(135deg,#10b98133,#05966926);border-color:#10b98180}.chat-actions .btn-secondary{background:#ffffff14;border-color:#fff3;color:#ffffffe6}.chat-actions .btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:#646cff80;box-shadow:0 4px 12px #646cff4d;color:#646cff}.chat-actions .btn-warning{background:linear-gradient(135deg,#ef444433,#dc262626);border-color:#ef444480}.chat-actions .btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#ef44444d,#dc262640);border-color:#ef4444b3;box-shadow:0 4px 12px #ef444466}}[data-theme=light]{.message{background:#00000008;border-color:#0000001f;box-shadow:0 2px 8px #0000000f}.message:hover{background:#0000000d;box-shadow:0 4px 12px #0000001a}.message:before{background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.5) 100%)}.user-message{background:linear-gradient(135deg,#646cff1f,#535bf214);border-color:#646cff59;box-shadow:0 2px 8px #646cff26}.user-message:hover{background:linear-gradient(135deg,#646cff2e,#535bf21f);box-shadow:0 4px 16px #646cff40;border-color:#646cff80}.ai-message{background:#00000008;border-color:#0000001f;box-shadow:0 2px 8px #0000000f}.ai-message:hover{background:#0000000d;box-shadow:0 4px 12px #0000001a;border-color:#0000002e}.system-message{background:linear-gradient(135deg,#3b82f61a,#2563eb0f);border-color:#3b82f64d;box-shadow:0 2px 8px #3b82f61f}.system-message:hover{background:linear-gradient(135deg,#3b82f626,#2563eb1a);box-shadow:0 4px 16px #3b82f633}.coaching-message{background:linear-gradient(135deg,#f59e0b1a,#d977060f);border-color:#f59e0b4d;box-shadow:0 2px 8px #f59e0b1f}.coaching-message:hover{background:linear-gradient(135deg,#f59e0b26,#d977061a);box-shadow:0 4px 16px #f59e0b33}.message-timestamp{color:#0006}.message:hover .message-timestamp{color:#0009}.typing-indicator span{background:#535bf2;box-shadow:0 0 6px #535bf24d}.scroll-to-bottom{background:linear-gradient(135deg,#646cff,#535bf2);box-shadow:0 4px 16px #646cff59}.scroll-to-bottom:hover{box-shadow:0 6px 24px #646cff80}.suggestions-container{background:linear-gradient(135deg,#6c5ce71a,#646cff0f);border-color:#6c5ce74d;box-shadow:0 2px 12px #6c5ce71f}.suggestion-chip{background:#fffffff2;border-color:#6c5ce740;box-shadow:0 2px 8px #0000000f;color:#000000d9}.suggestion-chip:hover:not(:disabled){background:linear-gradient(135deg,#6c5ce726,#646cff1a);border-color:#535bf2;box-shadow:0 6px 20px #6c5ce74d;color:#000000f2}.suggestion-skeleton{background:linear-gradient(90deg,#00000008,#0000000f,#00000008);background-size:200% 100%;border-color:#6c5ce733;box-shadow:0 2px 8px #0000000a}.chat-input{background:#fffffff2;border-color:#6c5ce740;color:#000000e6}.chat-input:focus{background:#fff;border-color:#535bf2;box-shadow:0 0 0 4px #646cff1f,0 4px 12px #646cff26;color:#000000f2}.chat-input::placeholder{color:#0006}.character-count{color:#00000080}.chat-input:focus~.character-count{color:#535bf2}.btn-send{background:linear-gradient(135deg,#646cff,#535bf2);box-shadow:0 4px 12px #646cff40}.btn-send:hover:not(:disabled){background:linear-gradient(135deg,#535bf2,#646cff);box-shadow:0 6px 20px #646cff66}.btn-send:disabled{background:linear-gradient(135deg,#646cff4d,#535bf24d);box-shadow:none}.chat-header{background:#ffffffb3;border-bottom:1px solid rgba(108,92,231,.2);box-shadow:0 4px 20px #00000014}.chat-header:before{background:linear-gradient(135deg,#646cff14,#535bf20a,#0984e30f)}.chat-input-container{background:#fffc;border-top:1px solid rgba(108,92,231,.2);box-shadow:0 -4px 20px #00000014}.turn-counter[style*="color: rgb(239, 68, 68)"],.turn-counter[style*="color:#ef4444"]{background:linear-gradient(135deg,#ef44441f,#dc262614);border-color:#ef444459;box-shadow:0 0 15px #ef444440}.turn-counter[style*="color: rgb(16, 185, 129)"],.turn-counter[style*="color:#10b981"]{background:linear-gradient(135deg,#10b9811f,#05966914);border-color:#10b98159}.chat-actions .btn-secondary{background:#ffffffe6;border-color:#00000026;color:#000c}.chat-actions .btn-secondary:hover:not(:disabled){background:#fff;border-color:#646cff80;box-shadow:0 4px 12px #646cff33;color:#535bf2}.chat-actions .btn-warning{background:linear-gradient(135deg,#ef44441f,#dc262614);border-color:#ef444459}.chat-actions .btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#ef444433,#dc262626);border-color:#ef444480;box-shadow:0 4px 12px #ef444440}}.offline-indicator{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background-color:#f59e0b;color:#fff;font-size:.875rem;font-weight:500;box-shadow:0 2px 4px #0000001a;animation:slideDown .3s ease-out}.offline-indicator svg{flex-shrink:0}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--light-greenish-blue: #55efc4;--faded-poster: #81ecec;--green-darner-tail: #74b9ff;--shy-moment: #a29bfe;--city-lights: #dfe6e9;--mint-leaf: #00b894;--robins-egg-blue: #00cec9;--electron-blue: #0984e3;--exodus-fruit: #6c5ce7;--soothing-breeze: #b2bec3;--sour-lemon: #ffeaa7;--first-date: #fab1a0;--pink-glamour: #ff7675;--pico-8-pink: #fd79a8;--american-river: #636e72;--bright-yarrow: #fdcb6e;--orangeville: #e17055;--chi-gong: #d63031;--prunus-avium: #e84393;--dracula-orchid: #2d3436}[data-theme=dark]{--bg-primary: #0a0a0f;--bg-secondary: #1a1a2e;--bg-tertiary: rgba(255, 255, 255, .05);--bg-elevated: rgba(255, 255, 255, .08);--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .5);--border-color: rgba(255, 255, 255, .1);--border-hover: rgba(255, 255, 255, .2);--primary-color: var(--electron-blue);--primary-hover: var(--green-darner-tail);--accent-color: var(--exodus-fruit);--success-color: var(--mint-leaf);--warning-color: var(--bright-yarrow);--danger-color: var(--chi-gong);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5)}[data-theme=light]{--bg-primary: #f5f6fa;--bg-secondary: #ffffff;--bg-tertiary: #e8eaf0;--bg-elevated: #ffffff;--text-primary: #2d3436;--text-secondary: #636e72;--text-tertiary: #b2bec3;--border-color: rgba(45, 52, 54, .15);--border-hover: rgba(45, 52, 54, .3);--primary-color: var(--electron-blue);--primary-hover: #0770c4;--accent-color: var(--exodus-fruit);--success-color: var(--mint-leaf);--warning-color: var(--orangeville);--danger-color: var(--chi-gong);--shadow-sm: 0 2px 8px rgba(45, 52, 54, .08);--shadow-md: 0 4px 16px rgba(45, 52, 54, .12);--shadow-lg: 0 8px 32px rgba(45, 52, 54, .16)}:root{color-scheme:dark;color:var(--text-primary);background-color:var(--bg-primary)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;overflow-x:hidden;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{width:100%;margin:0 auto}a{font-weight:500;color:var(--primary-color);text-decoration:inherit;transition:color .3s ease}a:hover{color:var(--primary-hover)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .3s ease}button:hover{border-color:var(--primary-color)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
