body,html{height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100%;width:100%}button,input,textarea{font-family:inherit}.typography{margin:0;padding:0}.typography-h1{font-size:3.5rem}.typography-h1,.typography-h2{font-weight:700;margin-bottom:.5rem}.typography-h2{font-size:2.8rem}.typography-h3{font-size:2.2rem}.typography-h3,.typography-h4{font-weight:600;margin-bottom:.4rem}.typography-h4{font-size:1.8rem}.typography-h5{font-size:1.5rem;font-weight:500;margin-bottom:.3rem}.typography-subtitle1{font-size:1.3rem;font-weight:500;margin-bottom:.3rem}.typography-subtitle2{font-size:1.1rem;font-weight:500;margin-bottom:.2rem}.typography-body1{font-size:1rem}.typography-body1,.typography-body2{font-weight:400;line-height:1.5;margin-bottom:.2rem}.typography-body2{font-size:.9rem}.typography-caption{font-size:.8rem;font-weight:400;line-height:1.4}.typography-default{color:inherit}.typography-primary{color:#1e3a8a}.typography-secondary{color:#1e40af}.typography-white{color:#fff}.typography-light{color:#1e40af}.typography-dark{color:#1e3a8a}.typography-success{color:#66bb6a}.typography-error{color:#ff6b6b}.typography-info{color:#1e40af}.typography-left{text-align:left}.typography-center{text-align:center}.typography-right{text-align:right}.button{align-items:center;border:none;border-radius:30px;cursor:pointer;display:inline-flex;font-weight:700;justify-content:center;transition:all .3s ease}.button-primary{background-color:#ed2939;box-shadow:0 4px 15px #ed293980;color:#fff}.button-primary:hover{background-color:#ff3a4c;transform:scale(1.05)}.button-secondary{background-color:#002395;box-shadow:0 4px 15px #00239580;color:#fff}.button-secondary:hover{background-color:#03d;transform:scale(1.05)}.button-outline{background-color:initial;border:2px solid #ed2939;color:#ed2939}.button-outline:hover{background-color:#ed29391a;transform:scale(1.05)}.button-small{font-size:.9rem;padding:8px 16px}.button-medium{font-size:1.1rem;padding:12px 24px}.button-large{font-size:1.3rem;padding:16px 32px}.pdf-uploader{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.pdf-upload-button{border-radius:8px;cursor:pointer;padding:.75rem 1.5rem;transition:all .3s ease}.pdf-upload-button:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.pdf-upload-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.error-message{color:#f44}.error-message,.success-message{margin-top:.5rem;text-align:center}.success-message{color:#4caf50}.loading-message{animation:pulse 1.5s infinite;color:#2196f3;margin-top:.5rem;text-align:center}.tech-stack-input{margin:0 auto;max-width:600px;width:100%}.input-section{margin-bottom:1.5rem}.input-label{color:#1e3a8a;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.input-description{color:#1e40af;font-size:1rem;line-height:1.4;margin-bottom:1rem}.tech-textarea{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #1e3a8a4d;border-radius:10px;color:#1e3a8a;font-family:inherit;font-size:.95rem;margin-bottom:.75rem;min-height:100px;padding:.875rem;resize:vertical;transition:all .3s ease;width:100%}.tech-textarea:focus{background:#ffffff26;border-color:#4caf50;box-shadow:0 0 0 3px #4caf5033;outline:none}.tech-textarea::placeholder{color:#1e3a8a99}.submit-button{font-size:.95rem;margin-top:.25rem;padding:.75rem 1.5rem;width:100%}.error-message{background:#f443361a;border:1px solid #f443364d;border-radius:6px;color:#ff6b6b;font-size:.85rem;margin-bottom:.75rem;padding:.625rem}.examples-section{background:#ffffff0d;border-radius:10px;margin-bottom:1rem;padding:1rem}.examples-title{color:#1e3a8a;font-size:1rem;font-weight:600;margin-bottom:1rem}.examples-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.example-tag{border:none;border-radius:20px;color:#fff;cursor:pointer;display:inline-block;font-size:.8rem;font-weight:500;outline:none;padding:.5rem .75rem;transition:all .2s ease}.example-tag:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.example-tag.react{background:linear-gradient(135deg,#61dafb,#21a0c4)}.example-tag.nodejs{background:linear-gradient(135deg,#68a063,#4f7c47)}.example-tag.dotnet{background:linear-gradient(135deg,#512bd4,#3c1e9f)}.example-tag.fullstack{background:linear-gradient(135deg,#ff6b6b,#ee5a5a)}.example-item,.example-text{display:none}@media (max-width:768px){.tech-stack-input{max-width:100%;padding:0 1rem}.tech-textarea{font-size:16px;min-height:100px}.examples-section{padding:1rem}.example-tag{font-size:.75rem;padding:.4rem .6rem}.input-label{font-size:1.1rem}.input-description{font-size:.9rem}}.model-viewer-container{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease}.model-viewer-container:hover{box-shadow:var(--shadow-md)}model-viewer{--interaction-prompt:none;--progress-bar-height:0;--progress-bar-size:0}model-viewer::part(default-ar-button),model-viewer::part(default-ar-prompt),model-viewer::part(default-error),model-viewer::part(default-interaction-prompt),model-viewer::part(default-progress-bar),model-viewer::part(poster){display:none!important;opacity:0!important;visibility:hidden!important}.model-viewer-loading{align-items:center;display:flex;flex-direction:column;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.spinner{animation:spin 1s linear infinite;border:3px solid #fff3;border-radius:50%;border-top:3px solid var(--secondary-color);height:30px;width:30px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.floating-character-model{animation:float-around 20s ease-in-out infinite;position:absolute;transform:translate(-50%,-50%);z-index:1}.floating-model{animation:pulse 4s ease-in-out infinite;transition:all .3s ease}.floating-character-model:hover .floating-model{transform:scale(1.2)}@keyframes float-around{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(-50%,-50%) translate(100px,-80px)}50%{transform:translate(-50%,-50%) translate(50px,120px)}75%{transform:translate(-50%,-50%) translate(-120px,30px)}}.ni-model-enlarged{z-index:10}.ni-model-enlarged .floating-model{filter:drop-shadow(0 0 30px rgba(29,91,225,.8));opacity:1!important}.ni-model-enlarged:hover .floating-model{transform:scale(1.1)}@media (max-width:768px){.floating-character-model{display:none}.floating-character-model:first-child,.floating-character-model:nth-child(2){display:block;transform:scale(.7) translate(-50%,-50%)}}.floating-models-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.floating-models-container .floating-character-model{pointer-events:auto}.landing-template{align-items:center;background:linear-gradient(135deg,#1a237e,#283593);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.landing-template:after,.landing-template:before{animation:float 15s ease-in-out infinite;background:radial-gradient(#42a5f54d,#42a5f500);border-radius:50%;content:"";height:300px;pointer-events:none;position:absolute;width:300px}.landing-template:before{animation-delay:0s;right:-50px;top:-100px}.landing-template:after{animation-delay:-7.5s;bottom:-100px;height:500px;left:-50px;width:500px}@keyframes float{0%,to{transform:translate(0)}25%{transform:translate(50px,50px)}50%{transform:translate(25px,-25px)}75%{transform:translate(-50px,25px)}}.landing-content{align-items:center;display:flex;flex-direction:column;max-width:800px;padding:40px;position:relative;z-index:2}.landing-header{margin-bottom:2rem;text-align:center}.interview-icon{align-items:center;background:#fff;border-radius:50%;box-shadow:0 10px 25px #42a5f580;color:#1a237e;display:flex;font-size:2rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 1.5rem;transition:transform .3s var(--transition-normal);width:80px}.interview-icon:hover{transform:translateY(-5px)}.landing-title{margin-bottom:.5rem;position:relative}.landing-subtitle{color:#fff;font-weight:500;letter-spacing:.5px;max-width:600px;text-shadow:0 1px 2px #0000004d}.pdf-success{animation:fadeIn .5s ease-in;background-color:#fffc;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#4caf50;font-weight:500;margin-top:1rem;padding:8px 16px}.landing-cta{font-size:1rem;letter-spacing:.5px;margin-top:1.5rem;min-width:200px;padding:.875rem 2rem}.landing-cta:disabled{background-color:#9e9e9e;border-color:#0000;box-shadow:none;color:#ffffffb3;cursor:not-allowed;opacity:.4;position:relative;transform:none}.landing-cta:disabled:before{content:"⚠️";font-size:.9rem;left:15px;position:absolute;top:50%;transform:translateY(-50%)}.upload-hint{color:#1e3a8a;font-size:.9rem;font-style:italic;font-weight:500;margin-top:.75rem;opacity:.9}.interview-type-selection{margin:1.5rem 0;width:100%}.section-title{font-size:1.3rem;font-weight:600;margin-bottom:1rem}.interview-type-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.interview-type-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:12px;cursor:pointer;min-height:140px;overflow:hidden;padding:1.25rem 1rem;position:relative;text-align:center;transition:all .3s ease}.interview-type-btn:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.interview-type-btn.active{background:#4caf5033;border-color:#4caf50;box-shadow:0 0 0 3px #4caf504d}.interview-type-btn.active:hover{background:#4caf5040}.interview-type-icon{filter:grayscale(1) brightness(.8);font-size:2.2rem;margin-bottom:.75rem;transition:filter .3s ease}.interview-type-btn.active .interview-type-icon{filter:none}.interview-type-title{color:#1e3a8a;font-size:1rem;font-weight:600;margin-bottom:.4rem}.interview-type-description{color:#1e40af;font-size:.8rem;line-height:1.3;padding:0 .25rem}.interview-type-btn.active .interview-type-title{color:#1e3a8a}.interview-type-btn.active .interview-type-description{color:#1e40af}.behavioral-setup,.technical-setup{margin:1.5rem 0;width:100%}.success-message{background:#4caf501a;border:1px solid #4caf504d;border-radius:8px;color:#66bb6a;font-size:.9rem;margin-top:1rem;padding:.875rem}@media (max-width:768px){.landing-content{padding:30px 20px;width:90%}.interview-icon{font-size:1.5rem;height:60px;width:60px}.interview-type-buttons{gap:.875rem;grid-template-columns:1fr}.interview-type-btn{min-height:120px;padding:1rem .875rem}.interview-type-icon{font-size:2rem;margin-bottom:.5rem}.interview-type-title{font-size:.95rem}.interview-type-description{font-size:.75rem}.section-title{font-size:1.2rem}}@media (max-width:480px){.interview-type-btn{min-height:100px;padding:.875rem .625rem}.interview-type-icon{font-size:1.75rem;margin-bottom:.375rem}.interview-type-title{font-size:.9rem}.interview-type-description{font-size:.7rem}}.avatar{border-radius:50%;display:inline-block;overflow:hidden;position:relative}.avatar-small{height:32px;width:32px}.avatar-medium{height:40px;width:40px}.avatar-large{height:56px;width:56px}.avatar-image{height:100%;object-fit:cover;width:100%}.avatar-status{border:2px solid #fff;border-radius:50%;bottom:0;height:10px;position:absolute;right:0;width:10px}.avatar-status-online{background-color:#4caf50}.avatar-status-away{background-color:#ffc107}.avatar-status-offline{background-color:#9e9e9e}.avatar-status-busy{background-color:#f44336}.voice-settings{position:relative}.header-voice-settings{margin-right:5px}.voice-settings-toggle{align-items:center;display:flex;height:36px;justify-content:center;padding:0;width:36px}.settings-icon{font-size:1.1rem}.voice-settings-panel{animation:panel-enter .2s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0003;display:flex;flex-direction:column;max-height:70vh;overflow:hidden;padding:15px;position:absolute;transform-origin:bottom right;width:300px;z-index:1000}.panel-bottom{margin-top:10px;right:0;top:100%}.panel-top{animation:panel-enter-top .2s ease-out;bottom:100%;margin-bottom:10px;right:0;transform-origin:top right}@keyframes panel-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-enter-top{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.voice-settings-title{border-bottom:1px solid #eee;margin-bottom:10px;padding-bottom:5px}.voice-list{flex-grow:1;max-height:calc(60vh - 100px);overflow-y:auto;padding-right:5px}.voice-list::-webkit-scrollbar{width:5px}.voice-list::-webkit-scrollbar-track{background:#f1f1f1}.voice-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.voice-group{margin-bottom:15px}.voice-group-label{display:block;font-weight:700;margin-bottom:5px}.voice-option{font-size:.85rem;margin:3px;padding:6px 10px}.voice-settings-actions{border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:15px;padding-top:10px}.reset-button{background-color:#002395}@media (max-height:600px){.voice-settings-panel{bottom:100%;margin-bottom:10px;margin-top:0;top:auto}}.chat-header{background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;height:70px;justify-content:space-between;padding:15px;position:sticky;top:0;width:100%;z-index:20}.chat-header,.chat-header-left{align-items:center;display:flex}.chat-header-left{gap:12px;overflow:hidden}.chat-header-info{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-status{margin-top:-2px}.chat-header-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.chat-header-action{align-items:center;display:flex;height:36px;justify-content:center;padding:0;width:36px}.action-icon{font-size:1.1rem}.chat-header-back{align-items:center;display:flex;flex-shrink:0;font-size:1.2rem;height:32px;justify-content:center;margin-right:4px;padding:0;width:32px}.message-bubble{word-wrap:break-word;border-radius:18px;cursor:default;margin-bottom:8px;max-width:70%;padding:10px 15px;position:relative;transition:all .3s ease}.message-other{align-self:flex-start;background-color:#f5f5fff2;border:1px solid #1a237e33;border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000000d;color:#333}.message-user{align-self:flex-end;background-color:#1a237ee6;border-bottom-right-radius:4px;box-shadow:0 2px 5px #1a237e33;color:#fff}.message-content{font-weight:400;line-height:1.5;margin-bottom:4px;position:relative}.message-content strong{color:#1a237e;font-weight:600}.message-user .message-content strong{color:#fff}.message-tooltip{animation:fadeIn .3s ease-in;background-color:var(--neutral-dark);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);color:var(--white);font-size:.9rem;left:calc(100% + 10px);max-width:250px;min-width:200px;padding:10px;position:absolute;top:0;width:max-content;z-index:100}.message-tooltip:before{border-bottom:6px solid #0000;border-right:6px solid var(--neutral-dark);border-top:6px solid #0000;content:"";height:0;left:-6px;position:absolute;top:10px;width:0}.message-user .message-tooltip{left:auto;right:calc(100% + 10px)}.message-user .message-tooltip:before{border-left:6px solid var(--neutral-dark);border-right:none;left:auto;right:-6px}.message-footer{align-items:center;display:flex;font-size:.7rem;gap:4px;justify-content:flex-end}.message-time{font-size:.7rem;opacity:.7}.message-status{font-size:.8rem}.message-status-delivered,.message-status-sent{color:#ffffffb3}.message-status-read{color:#4caf50}.message-translation-indicator{font-size:.8rem;margin-left:4px;opacity:.7;transition:opacity .3s ease}.message-bubble:hover .message-translation-indicator{opacity:1}@media (max-width:768px){.message-tooltip{bottom:75px;box-shadow:var(--shadow-lg);left:10px;max-width:none;position:fixed;right:10px;top:auto;width:auto;z-index:1000}.message-tooltip:before{display:none}.message-user .message-tooltip{left:10px;right:10px}}.message{align-items:flex-end;display:flex;gap:8px;margin-bottom:16px}.message-left{justify-content:flex-start}.message-right{justify-content:flex-end}.message-avatar{flex-shrink:0}.message-info-card{justify-content:center;margin-bottom:12px;margin-top:8px}.info-card-bubble{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#4caf5026,#2196f326);border:1px solid #4caf504d;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:85%;padding:12px 16px}.info-card-content{color:#ffffffe6;font-size:14px;line-height:1.4;text-align:center}.info-card-content strong{color:#4caf50;font-weight:600}@media (max-width:768px){.info-card-bubble{max-width:95%;padding:10px 14px}.info-card-content{font-size:13px}}.message-list{background-color:#f5f5f5;display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;padding:20px}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:#f1f1f1}.message-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.message-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.message-date-separator{align-items:center;display:flex;justify-content:center;margin:16px 0;position:relative}.message-date{background-color:#0000001a;border-radius:12px;color:#555;font-size:.75rem;padding:4px 12px;z-index:1}.typing-indicator{align-items:center;background-color:#f0f0f0;border-radius:18px;border-bottom-left-radius:4px;display:flex;height:35px;margin:10px 0;padding:10px 15px;width:fit-content}.typing-bubble{animation:typing-animation 1.5s ease-in-out infinite;background-color:#999;border-radius:50%;height:8px;margin:0 2px;width:8px}.typing-bubble:first-child{animation-delay:0s}.typing-bubble:nth-child(2){animation-delay:.3s}.typing-bubble:nth-child(3){animation-delay:.6s}@keyframes typing-animation{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.text-input-container{position:relative;width:100%}.text-input{background:#fff;border:1px solid #e0e0e0;border-radius:24px;font-size:.95rem;outline:none;padding:12px 16px;transition:border-color .3s,box-shadow .3s;width:100%}.text-input:focus{border-color:#002395;box-shadow:0 0 0 2px #00239533}.text-input-multiline{min-height:60px;resize:none}.text-input-with-icon .text-input{padding-left:40px}.text-input-icon-right .text-input{padding-left:16px;padding-right:40px}.text-input-icon{color:#888;position:absolute;top:50%;transform:translateY(-50%)}.text-input-icon-left .text-input-icon{left:12px}.text-input-icon-right .text-input-icon{right:12px}.chat-footer{align-items:center;background-color:#fff;border-top:1px solid #e0e0e0;display:flex;gap:10px;padding:12px 15px}.chat-footer-complete{background-color:#f5f7fa;border-top:1px solid #e0e0e0;justify-content:flex-end;padding:8px 15px}.chat-footer-button{align-items:center;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:0;transition:all .3s ease;width:40px}.chat-footer-button:disabled{animation:none;background-color:#f5f5f5;cursor:not-allowed;opacity:.5}.chat-footer-button.recording{animation:pulse 1.5s infinite;background-color:#f003;border-color:#ff3b30;box-shadow:0 0 0 3px #ff3b304d;color:#ff3b30;font-weight:700;position:relative}.chat-footer-button.recording:after{animation:blink 1s infinite;background-color:#ff3b30;border-radius:50%;content:"";height:6px;position:absolute;right:5px;top:5px;width:6px}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.chat-footer-button.recording .footer-icon{font-size:1.3rem}.chat-footer-input{flex-grow:1}.chat-footer-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.chat-footer-send{align-items:center;display:flex;flex-shrink:0;height:40px;justify-content:center;padding:0;width:40px}.chat-footer-send:disabled{background-color:#ddd;box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.chat-footer-debug{align-items:center;background-color:initial;border:1px solid #ddd;display:flex;flex-shrink:0;height:32px;justify-content:center;opacity:.5;padding:0;width:32px}.chat-footer-debug:hover{background-color:#f5f5f5;opacity:1}.chat-debug-panel{background-color:#f8f9fa;border-top:1px solid #e0e0e0;color:#555;font-size:.85rem;gap:10px;padding:10px 15px}.chat-debug-panel,.debug-info{display:flex;flex-direction:column}.debug-info{gap:5px}.debug-info p{line-height:1.2;margin:0}.chat-debug-panel button{align-self:flex-start;font-size:.85rem;margin-top:5px;padding:5px 10px}.footer-icon{font-size:1.1rem}.api-key-form{background-color:#0000000d;border-radius:8px;margin-bottom:20px;padding:15px}.api-key-label{display:block;margin-bottom:10px}.api-key-input-container{display:flex;gap:10px;margin-bottom:10px}.api-key-input{flex-grow:1}.api-key-info{color:#666;font-style:italic}.api-key-display{align-items:center;display:flex;justify-content:space-between}.chat-template{background-color:var(--white);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:auto;margin:0 auto;max-width:800px;min-height:calc(100vh - 40px);overflow:hidden;position:relative;width:100%}.chat-template:before{bottom:-50px;color:#1a237e;content:"AI";font-size:300px;font-weight:700;opacity:.04;pointer-events:none;position:absolute;right:-50px;z-index:0}.chat-content{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#ffffffe6;display:flex;flex-direction:column;flex-grow:1;max-height:calc(100vh - 150px);overflow:auto;padding-top:15px;position:relative;z-index:2}.chat-content-spacer{height:40px;width:100%}.chat-api-key-container{background-color:var(--white);left:0;margin:20px;padding:30px;position:absolute;right:0;top:0;z-index:10}.env-instructions{background-color:#00000005;border-radius:var(--border-radius-md);margin-bottom:20px;padding:20px;transition:var(--transition-normal)}.env-instructions:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.code-block{background-color:var(--neutral-dark);border-radius:var(--border-radius-sm);font-family:monospace;margin:15px 0;overflow-x:auto;padding:15px;position:relative;white-space:pre-wrap}.code-block:before{background:linear-gradient(180deg,#1a237e,#283593);border-radius:var(--border-radius-sm) 0 0 var(--border-radius-sm);content:"";height:100%;left:0;position:absolute;top:0;width:3px}.code-block code{color:var(--neutral-light);font-size:.9rem;line-height:1.5}.chat-error{background-color:#ff4d4f1a;border-left:3px solid var(--error)}.chat-error,.chat-loading{animation:slideIn .3s ease-out;border-radius:var(--border-radius-sm);margin:15px;padding:12px 18px}.chat-loading{background-color:#1a237e1a;border-left:3px solid #1a237e}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-dots:after{animation:dots 1.5s infinite;content:""}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.chat-speaking-indicator{animation:pulse 1.5s infinite;background-color:#1a237e;border:none;border-radius:20px;bottom:85px;box-shadow:var(--shadow-md);color:#fff;padding:8px 15px;position:fixed;right:20px;z-index:100}.speaking-wave{align-items:center;display:inline-flex}.speaking-wave:after{animation:wave 1s infinite;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 14v2c0 1.1-.9 2-2 2s-2-.9-2-2V8c0-1.1.9-2 2-2s2 .9 2 2v2m5 4v4c0 1.1-.9 2-2 2s-2-.9-2-2V6c0-1.1.9-2 2-2s2 .9 2 2v4m5 4v2c0 1.1-.9 2-2 2s-2-.9-2-2V8c0-1.1.9-2 2-2s2 .9 2 2v2Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;height:16px;margin-left:8px;width:24px}@keyframes wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width:800px){.chat-template{border-radius:0;height:100vh;max-width:none;width:100%}}.chat-instructions{background-color:#f5f5fff2;border-left:3px solid #1a237e;border-radius:10px;box-shadow:0 2px 8px #0000000d;color:#333;line-height:1.5;margin:15px;padding:20px 15px;position:relative}.chat-instructions .close-button{align-items:center;background-color:#e0e0e0;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:5px;top:5px;transition:all .2s ease;width:24px;z-index:5}.chat-instructions .close-button:hover{background-color:#ff5252;color:#fff}.chat-instructions ul{margin-top:12px;padding-left:20px}.chat-instructions li{color:#333;margin-bottom:8px}.chat-instructions strong{color:#1a237e;font-weight:600}.chat-pdf-notification{align-items:flex-start;animation:slideDown .3s ease-out;background-color:#f5f5fff2;border-left:4px solid #43a047;border-radius:10px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;margin:1.5rem .75rem 1rem;padding:1rem;position:relative;z-index:5}.chat-pdf-notification .close-button{align-items:center;background-color:#ffffffb3;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;line-height:1;position:absolute;right:5px;top:5px;transition:all .2s ease;width:20px}.chat-pdf-notification .close-button:hover{background-color:#ff5252;color:#fff}.pdf-indicator{color:#43a047;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.pdf-help{color:#2e7d32;display:block;font-size:.9em;line-height:1.4;opacity:.9}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.interview-complete-container{animation:fadeIn 1s ease-out;display:flex;justify-content:center;padding:20px;position:sticky;top:0;width:100%;z-index:50}.interview-score-card{align-items:center;animation:scoreCardAppear 1s ease-out;background:linear-gradient(135deg,#1a237e,#3949ab);border-radius:12px;box-shadow:0 10px 25px #1a237e4d;display:flex;flex-direction:column;margin:20px 0;max-width:300px;padding:30px;text-align:center}.interview-score{animation:scoreAppear 1.5s ease-out;color:#fff!important;font-size:4rem!important;font-weight:700!important;margin:0!important;text-shadow:0 2px 10px #0003}.score-label{color:#ffffffe6!important;font-size:1.2rem!important;margin-bottom:20px!important;margin-top:5px!important}.restart-button{margin-top:15px}.interview-complete-footer{animation:slideUp .5s ease-out;background-color:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;justify-content:center;padding:15px;position:sticky;z-index:20}.restart-interview-button{animation:pulseButton 2s infinite;min-width:200px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scoreCardAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes scoreAppear{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulseButton{0%,to{box-shadow:0 5px 15px #1a237e33;transform:scale(1)}50%{box-shadow:0 8px 20px #1a237e66;transform:scale(1.05)}}.chat-pdf-required{align-items:center;background-color:#ffffffe6;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:15px;margin:20px;padding:25px;text-align:center}.upload-pdf-button{margin-top:10px}.orbital-container{height:100%;left:0;opacity:.6;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.orbital-model{animation:orbit var(--orbit-duration) infinite linear;animation-delay:calc(var(--orbit-duration)*var(--start-offset)/360);filter:drop-shadow(0 0 15px rgba(0,0,0,.15));left:var(--center-x);pointer-events:auto;position:absolute;top:var(--center-y);transform-origin:center;transform-style:preserve-3d}.model-container{animation:counter-orbit var(--orbit-duration) infinite linear;animation-delay:calc(var(--orbit-duration)*var(--start-offset)/360);pointer-events:auto;transform:translateX(-50%) translateY(-50%) rotateX(5deg);transition:all .3s ease;z-index:1}model-viewer{--poster-color:#0000;--interaction-prompt-color:#0000;--interaction-prompt-opacity:0;--interaction-prompt-scale:0;--progress-bar-color:#0000;--progress-bar-height:0px;--progress-mask:none;background-color:initial;cursor:default!important;height:100%;margin:0;padding:0;width:100%}model-viewer::part(default-ar-button),model-viewer::part(default-ar-prompt),model-viewer::part(default-error),model-viewer::part(default-interaction-prompt),model-viewer::part(default-progress-bar){display:none!important;opacity:0!important;visibility:hidden!important}.orbital-model:hover .model-container{filter:drop-shadow(0 0 20px rgba(255,255,255,.7));opacity:1;transform:translateX(-50%) translateY(-50%) rotateX(5deg) scale(1.3)}.orbital-model:hover{opacity:.8;z-index:2}.orbital-model:hover,.orbital-model:hover .model-container{animation-play-state:paused}.orbital-model:hover model-viewer{animation-play-state:running}@keyframes orbit{0%{transform:rotate(var(--start-offset)) translateX(var(--orbit-size))}to{transform:rotate(calc(1turn + var(--start-offset))) translateX(var(--orbit-size))}}@keyframes counter-orbit{0%{transform:translateX(-50%) translateY(-50%) rotateX(5deg) rotate(calc(var(--start-offset)*-1))}to{transform:translateX(-50%) translateY(-50%) rotateX(5deg) rotate(calc(-1turn - var(--start-offset)))}}.model-wen-3{filter:drop-shadow(0 0 20px rgba(255,255,255,.5))!important;opacity:.8!important;z-index:1}.model-ni-0{filter:drop-shadow(0 0 25px rgba(29,91,225,.5))!important;opacity:.9!important;z-index:1}.model-ni-0 model-viewer{--poster-color:#0000;background-color:initial}.model-ni-0:hover .model-container{transform:translateX(-50%) translateY(-50%) rotateX(5deg) scale(1.15)}@media (max-width:768px){.orbital-model{display:none}.orbital-model:nth-child(-n+2){display:block}}.chat-page{background:linear-gradient(135deg,#f5f7fa,#e4e8f0);display:flex;min-height:100vh;overflow:hidden;padding:20px 0;position:relative}.chat-container,.chat-page{align-items:center;justify-content:center;width:100%}.chat-container{height:auto;max-height:calc(100vh - 40px);max-width:100%;min-height:calc(100vh - 40px);overflow:visible}.chat-page:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%231a237e' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E");content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.technical-chat-page{background:linear-gradient(135deg,#1a237e,#283593);display:flex;min-height:100vh;overflow:hidden;position:relative}.technical-chat-page:before{background:radial-gradient(circle at 20% 80%,#7877c64d 0,#0000 50%),radial-gradient(circle at 80% 20%,#ff8a804d 0,#0000 50%),radial-gradient(circle at 40% 40%,#7877c633 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.chat-container{display:flex;flex:1 1;flex-direction:column;position:relative;z-index:10}.technical-chat-page .glass-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#ffffff14;border:1px solid #ffffff1a;box-shadow:0 8px 32px #0003}.technical-chat-page .chat-header{background:linear-gradient(135deg,#4caf5033,#2196f333)}.technical-chat-page .message-bubble.user{background:linear-gradient(135deg,#4caf50,#66bb6a)}.technical-chat-page .message-bubble.assistant{background:linear-gradient(135deg,#2196f3,#42a5f5)}@media (max-width:768px){.technical-chat-page{flex-direction:column}.chat-container{min-height:100vh}}.chinese-character-model{align-items:center;background-color:#fffc;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;margin:15px;max-width:300px;padding:20px;transition:transform .3s ease}.chinese-character-model:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.character-info{margin-bottom:15px;text-align:center;width:100%}.character{color:var(--primary-color);font-size:3rem;margin-bottom:5px}.pinyin{color:var(--secondary-color);font-size:1.2rem;margin-bottom:5px}.meaning{color:var(--neutral-medium);font-size:1rem}.character-model{border:1px solid #f5c6424d;border-radius:var(--border-radius-md);overflow:hidden}@media (max-width:768px){.chinese-character-model{max-width:100%;padding:15px}.character{font-size:2.5rem}}.character-gallery{margin:0 auto;max-width:1200px;padding:30px 15px}.gallery-title{margin-bottom:30px;text-align:center}.gallery-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));justify-items:center}@media (max-width:768px){.character-gallery{padding:20px 10px}.gallery-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.models-page{background:linear-gradient(135deg,#c3272b0d,#f5c6421a);min-height:100vh;padding:20px}.models-header{margin:0 auto 40px;max-width:800px;position:relative;text-align:center}.back-button{left:0;position:absolute;top:0}.page-title{color:var(--primary-color);font-size:2rem;margin-bottom:15px}.page-description{color:var(--neutral-medium);margin:0 auto;max-width:600px}@media (max-width:768px){.models-header{margin-top:50px;padding-top:20px}.back-button{display:block;margin-bottom:20px;margin-left:auto;margin-right:auto;position:relative}}.App{min-height:100vh;width:100%}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f9f9f9;font-family:Outfit,sans-serif}:root{--white:#fff;--black:#000;--neutral-light:#f5f5f5;--neutral-medium:#e5e5e5;--neutral-dark:#333;--primary-color:#1a237e;--secondary-color:#283593;--accent-color:#42a5f5;--success:#4caf50;--error:#f44336;--warning:#ff9800;--shadow-sm:0 1px 3px #0000001f,0 1px 2px #0000003d;--shadow-md:0 4px 6px #0000001a,0 1px 3px #00000014;--shadow-lg:0 10px 25px #0000001a,0 5px 10px #0000000d;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:16px;--border-radius-xl:24px;--font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem;--spacing-3xl:3rem;--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}.App:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 50H0L50 0v50Z' fill='%23C3272B' fill-opacity='.02'/%3E%3Cpath d='M50 50h50l-50 50V50Z' fill='%23F5C642' fill-opacity='.02'/%3E%3C/svg%3E");background-position:50%;background-size:cover;content:"";height:100%;left:0;opacity:.8;position:fixed;top:0;width:100%;z-index:-1}.glass-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:1px solid #ffffff4d;border-radius:16px;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;box-shadow:var(--shadow-md);transition:.3s ease;transition:var(--transition-normal)}.glass-card:hover{box-shadow:0 10px 25px #0000001a,0 5px 10px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-5px)}.btn{align-items:center;border:none;border-radius:16px;border-radius:var(--border-radius-lg);cursor:pointer;display:inline-flex;font-family:Outfit,sans-serif;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:12px 24px;position:relative;transition:.15s ease;transition:var(--transition-fast)}.btn-primary{background-color:#1a237e;background-color:var(--primary-color);box-shadow:0 4px 14px #c3272b4d;color:#fff;color:var(--white)}.btn-primary:hover{background-color:var(--primary-dark);box-shadow:0 6px 20px #c3272b66;transform:translateY(-2px)}.btn-secondary{background-color:#283593;background-color:var(--secondary-color);box-shadow:0 4px 14px #f5c6424d;color:#333;color:var(--neutral-dark)}.btn-secondary:hover{background-color:var(--secondary-dark);box-shadow:0 6px 20px #f5c64266;transform:translateY(-2px)}.btn:after{background-image:radial-gradient(circle,#fff 10%,#0000 11%);background-position:50%;background-repeat:no-repeat;content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform:scale(10);transition:transform .6s,opacity .6s;width:100%}.btn:active:after{opacity:.2;transform:scale(0);transition:0s}.heading-xl{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(90deg,#1a237e,#283593);background:linear-gradient(90deg,var(--primary-color) 0,var(--secondary-color) 100%);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700;letter-spacing:-.5px;line-height:1.2}.heading-lg{font-size:2.5rem;font-weight:700;letter-spacing:-.3px;line-height:1.3}.heading-md{font-size:2rem;font-weight:600;line-height:1.4}.text-gradient{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(90deg,#1a237e,#283593);background:linear-gradient(90deg,var(--primary-color) 0,var(--secondary-color) 100%);-webkit-background-clip:text;background-clip:text}@media (max-width:768px){.heading-xl{font-size:2.5rem}.heading-lg{font-size:2rem}.heading-md{font-size:1.5rem}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background:linear-gradient(135deg,#002395,#001852);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}h1{color:#fff;font-size:3.5rem;margin-bottom:.5rem}.subtitle{color:#ed2939;font-size:1.5rem;font-weight:300;margin-bottom:3rem}.features{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:3rem;max-width:1000px}.feature{background-color:#ffffff1a;border-radius:10px;padding:25px;transition:transform .3s ease;width:250px}.feature:hover{transform:translateY(-10px)}.feature-icon{display:block;font-size:3rem;margin-bottom:15px}.feature h3{color:#fff;font-size:1.3rem;margin-bottom:10px}.feature p{color:#fffc;font-size:.95rem}.cta-button{background-color:#ed2939;border:none;border-radius:30px;box-shadow:0 4px 15px #ed293980;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 30px;transition:all .3s ease}.cta-button:hover{background-color:#ff3a4c;transform:scale(1.05)}@media (max-width:768px){h1{font-size:2.5rem}.subtitle{font-size:1.2rem}.features{align-items:center;flex-direction:column}.feature{max-width:300px;width:100%}}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.1ecd8fc5.css.map*/