*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:#f7fafc;background-color:var(--bg,#f7fafc);color:#0f172a;color:var(--text-primary,#0f172a);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#eef4f7;background:var(--surface-alt,#eef4f7)}::-webkit-scrollbar-thumb{background:#a7d9eb;background:var(--accent-200,#a7d9eb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4fb3d7;background:var(--accent-400,#4fb3d7)}:root{--accent-50:#e9f6fb;--accent-100:#d3ecf5;--accent-200:#a7d9eb;--accent-300:#7bc6e1;--accent-400:#4fb3d7;--accent-500:#2596be;--accent-600:#1e7898;--accent-700:#175a72;--accent-800:#103c4c;--accent-900:#081e26;--bg:#f7fafc;--surface:#fff;--surface-alt:#eef4f7;--border:#d7e3ea;--text-primary:#0f172a;--text-secondary:#5b6b78;--text-tertiary:#6b7a87;--text-muted:#8a99a6;--text-light:#8a99a6;--accent-purple:#667eea;--accent-purple-dark:#764ba2;--success:#22a06b;--warning:#d97706;--error:#d92d20;--error-dark:#b42318;--info:#2596be;--primary-color:var(--accent-500);--primary-dark:var(--accent-600);--primary-darker:var(--accent-700);--primary-light:var(--accent-300);--primary-lighter:var(--accent-200);--primary-bg:var(--accent-50);--primary-bg-light:var(--accent-100);--error-color:var(--error);--bg-white:var(--surface);--bg-gray:var(--surface-alt);--bg-gray-light:var(--bg);--border-light:var(--border);--border-gray:var(--border)}.app{background-color:#e9f6fb;background-color:var(--primary-bg);display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;width:100%}.switch-mode-button{align-items:center;background:linear-gradient(135deg,#2596be,#1e7898);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:25px;box-shadow:0 4px 12px #2596be66;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.switch-mode-button:hover:not(:disabled){box-shadow:0 6px 20px #2596be99;transform:translateY(-2px)}.switch-mode-button:active:not(:disabled){transform:translateY(0)}.switch-mode-button:disabled{background:#d7e3ea;background:var(--border);cursor:not-allowed;opacity:.5}.main-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;position:relative}.header{background-color:#fff;background-color:var(--bg-white);border-bottom:1px solid #a7d9eb;border-bottom:1px solid var(--primary-lighter);flex-wrap:wrap;gap:10px;justify-content:space-between;min-height:68px;padding:1em}.header,.header-left{align-items:center;display:flex}.header-left{flex:1 1;gap:15px}.header-right{align-items:center;display:flex;gap:10px}.header-left h1{font-size:24px}.header h1,.header-left h1{align-items:center;display:flex;font-weight:600;margin:0}.header h1{color:#0f172a;color:var(--text-primary);flex:1 1;font-size:clamp(14px,3.5vw,20px);gap:clamp(5px,2vw,10px);min-width:0}.header-title{display:inline}.header h1 svg{flex-shrink:0}.logo-link{align-items:center;cursor:pointer;display:inline-flex;text-decoration:none;transition:opacity .2s ease}.logo-link:hover{opacity:.8}.logo-image{height:28px;margin-right:10px;vertical-align:middle}.connection-status{align-items:center;color:#2596be;color:var(--primary-color);display:flex;font-size:clamp(12px,2.5vw,14px);gap:8px;white-space:nowrap}.status-dot{animation:pulse-dot 2s infinite;border-radius:50%;height:8px;width:8px}.status-dot.connected{background-color:#2596be;background-color:var(--primary-color)}.status-dot.disconnected{background-color:#d92d20;background-color:var(--error-color)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.document-container{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:20px;position:relative}.document-container,.empty-state{display:flex;flex-direction:column}.empty-state{align-items:center;box-sizing:border-box;height:100%;justify-content:center;margin:0 auto;max-width:min(700px,95%);padding:clamp(1rem,3vh,2rem) 0;text-align:center;width:100%}.empty-state,.mic-icon{color:#2596be;color:var(--primary-color)}.mic-icon{height:clamp(2rem,8vw,3rem);margin-bottom:clamp(.75rem,2vw,1.5rem);opacity:.3;width:clamp(2rem,8vw,3rem)}.dictation-header{box-sizing:border-box;color:#2596be;color:var(--accent-500);margin-bottom:calc(clamp(1.25rem, 3vw, 1.5rem) + 20px);max-width:100%;padding:0 clamp(.75rem,2vw,1rem);text-align:center}.dictation-header h1{align-items:center;color:#2596be;color:var(--accent-500);display:flex;flex-wrap:wrap;font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;gap:clamp(.5rem,2vw,.9375rem);justify-content:center;line-height:1.2;margin:0 0 clamp(.5rem,1.5vw,.625rem);text-shadow:2px 2px 4px #0000001a;word-break:break-word}.dictation-header h1 svg{flex-shrink:0;height:clamp(1.5rem,4vw,2rem);width:clamp(1.5rem,4vw,2rem)}.dictation-header p{color:#1e7898;color:var(--accent-600);font-size:clamp(.875rem,2.5vw,1.1rem);line-height:1.5;margin:0;opacity:.9;padding:0 .5rem}.intro-text{color:#6b7a87;color:var(--text-tertiary);font-size:18px;line-height:1.8;margin-bottom:30px;text-align:center}.steps-container{gap:clamp(1rem,2.5vw,1.5rem);margin:0 0 clamp(1.25rem,3vw,1.5rem)}.step-card{background-color:#fff;border:2px solid #e9f6fb;gap:clamp(.75rem,2.5vw,1rem);min-height:clamp(3.5rem,10vw,4.5rem);padding:clamp(.75rem,2.5vw,1.25rem)}.step-number{background:linear-gradient(135deg,#2596be,#1e7898)}.step-action{color:#2596be;color:var(--primary-color);display:inline;font-size:clamp(.75rem,2.5vw,.875rem);font-weight:700;letter-spacing:.02em;word-break:break-word}.step-description{color:#0f172a}.footer-text{color:#8a99a6;color:var(--text-muted);font-size:1rem;line-height:1.5;margin-bottom:0;text-align:center}.contact-link{border-bottom:1px solid #0000;color:#2596be;color:var(--primary-color);font-weight:600;text-decoration:none;transition:all .2s ease}.contact-link:hover{border-bottom-color:#1e7898;border-bottom-color:var(--primary-dark);color:#1e7898;color:var(--primary-dark)}.legend{align-items:flex-start;background-color:#fff;background-color:var(--bg-white);border:1px solid #a7d9eb;border:1px solid var(--primary-lighter);border-radius:clamp(8px,2vw,12px);box-sizing:border-box;flex-direction:column;max-width:400px;padding:clamp(15px,4vw,20px);width:100%}.legend,.legend-item{display:flex;gap:10px}.legend-item{align-items:center;font-size:clamp(12px,2.5vw,14px)}.legend-dot{border-radius:50%;height:12px;width:12px}.legend-dot.partial{background-color:#7bc6e1;background-color:var(--primary-light)}.legend-dot.confirmed{background-color:#5b6b78;background-color:var(--text-secondary)}.legend-dot.recognized{background-color:#2596be;background-color:var(--primary-color)}.text-document{background:#fff;background:var(--surface);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:98%;margin:0 auto;max-width:95%;overflow-x:hidden;width:95%}.document-page{word-wrap:break-word;color:#5b6b78;color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:16px;gap:20px;line-height:1.8;min-height:100%;overflow-wrap:break-word;padding:40px 60px;position:relative}.dictation-text-area{flex:1 1;line-height:1.8;min-height:0;overflow-x:hidden;overflow-y:auto;position:relative;text-align:left}.dictation-speak-now{color:#8a99a6;color:var(--text-muted);font-style:italic}.recognized-text{color:#0f172a;color:var(--text-primary);font-weight:500}.recognized-text.fading{opacity:.3;transition:opacity .3s ease}.partial-text-chunk{display:inline;letter-spacing:normal;margin:0;padding:0;word-spacing:normal}.partial-text-chunk.partial{color:#2596be;color:var(--primary-color);font-style:italic;font-weight:400}.partial-text-chunk.confirmed{color:#0f172a;color:var(--text-primary);font-weight:400}.message{animation:slideIn .3s ease;background-color:#fff;background-color:var(--bg-white);border:1px solid #a7d9eb;border-left:3px solid #2596be;border:1px solid var(--primary-lighter);border-left:3px solid var(--primary-color);border-radius:clamp(8px,2vw,12px);box-shadow:0 2px 8px #2596be1a;box-sizing:border-box;padding:clamp(15px,4vw,20px);width:100%}.message-header{font-size:12px;font-weight:600;gap:10px;margin-bottom:12px}.message-header,.message-icon{align-items:center;color:#2596be;color:var(--primary-color);display:flex}.message-type{color:#2596be;color:var(--primary-color);letter-spacing:.5px;text-transform:uppercase}.message-time{margin-left:auto}.message-content{word-wrap:break-word;color:#8a99a6;color:var(--text-light);font-size:clamp(14px,3vw,16px);font-weight:500;line-height:1.6;overflow-wrap:break-word}.controls{align-self:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff;background-color:var(--bg-white);border:1px solid #0000001a;border-radius:50px;box-shadow:0 4px 20px #00000026;flex-wrap:nowrap;gap:8px;margin-top:12px;padding:6px;width:-webkit-fit-content;width:fit-content}.control-btn,.controls{align-items:center;display:flex;justify-content:center}.control-btn{border:none;border-radius:50px;cursor:pointer;font-size:13px;font-weight:600;gap:6px;min-height:44px;padding:0 20px;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.record-btn{background:linear-gradient(135deg,#2596be,#1e7898);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);box-shadow:0 4px 12px #2596be4d;color:#fff;min-width:auto}.record-btn:hover:not(:disabled){background:linear-gradient(135deg,#1e7898,#175a72);background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-darker) 100%);box-shadow:0 6px 16px #2596be66;transform:translateY(-1px)}.record-btn:active:not(:disabled){transform:translateY(0)}.record-btn.recording{animation:pulse-recording 2s infinite;background:#d92d20;background:var(--error-color);box-shadow:0 4px 12px #ef44444d}.record-btn.recording:hover:not(:disabled){background-color:#b42318;background-color:var(--error-dark)}.clear-btn{background-color:initial;border:1px solid #0000;color:#8a99a6;color:var(--text-muted);min-width:auto;padding:0 24px}.clear-btn:hover:not(:disabled){background-color:#0000000d;box-shadow:none;color:#d92d20;color:var(--error-color);transform:none}.control-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:30em){.main-content{width:100%}.header-left{flex-wrap:nowrap;min-width:0}.header h1{font-size:clamp(14px,3.5vw,18px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mic-icon{height:clamp(1.75rem,7vw,2.5rem);margin-bottom:.625rem;width:clamp(1.75rem,7vw,2.5rem)}.intro-text{font-size:clamp(.6875rem,2.5vw,.8125rem);margin-bottom:.75rem}.steps-container{gap:clamp(.75rem,2vw,1rem);max-width:100%;padding:clamp(.5rem,1.5vw,.75rem)}.step-card{gap:clamp(.625rem,2vw,.875rem);padding:clamp(.625rem,2vw,.875rem)}.dictation-header{margin-bottom:clamp(.75rem,2vw,1rem)}.dictation-header h1{gap:clamp(.375rem,1.5vw,.5rem)}.footer-text{font-size:.72rem}.control-btn{min-height:52px}}@media (max-width:56em) and (orientation:landscape){.app{height:100dvh}.header{min-height:60px}.header h1{font-size:14px}.header h1 svg{height:20px;width:20px}.ai-floating-controls{margin-top:12px}.ai-history-btn{height:38px;width:38px}.ai-assistance-btn{font-size:12px;padding:9px 14px}.dictation-header{margin-bottom:clamp(.5rem,1.5vw,.75rem)}.dictation-header h1{font-size:clamp(1rem,3vw,1.5rem)}.dictation-header p{font-size:clamp(.75rem,2vw,.875rem)}.steps-container{gap:clamp(.625rem,1.5vw,.875rem)}.step-card,.steps-container{padding:clamp(.5rem,1.5vw,.75rem)}.step-card{max-width:100%;min-height:clamp(3rem,8vw,3.5rem)}.header{min-height:50px;padding:10px 15px}.messages-container{padding:15px}.mic-icon{height:1.5rem;margin-bottom:.5rem;width:1.5rem}.intro-text{font-size:.6875rem;line-height:1.4;margin-bottom:.625rem}}@media (hover:none) and (pointer:coarse){.control-btn{min-height:48px;min-width:48px}.control-btn:hover{transform:none}.control-btn:active{transform:scale(.98)}.step-card{-webkit-tap-highlight-color:rgba(37,150,190,.1);min-height:3.75rem;padding:clamp(.875rem,2.5vw,1.125rem)}.step-card:hover{transform:none}.step-card:active{box-shadow:0 2px 8px #2596be1f;transform:scale(.99)}.dictation-header h1,.dictation-header p,.image-analysis-header h1,.image-analysis-header p,.step-action,.step-description{-webkit-user-select:text;user-select:text}}.ai-floating-controls{align-self:flex-end;flex-direction:row;margin-top:auto}.ai-floating-controls,.ai-history-btns{align-items:center;display:flex;gap:8px}.ai-history-btn{align-items:center;background:#fff;background:var(--surface);border:2px solid #667eea;border:2px solid var(--accent-purple);border-radius:50%;box-shadow:0 2px 8px #667eea33;color:#667eea;color:var(--accent-purple);cursor:pointer;display:flex;height:44px;justify-content:center;padding:0;transition:all .3s ease;width:44px}.ai-history-btn:hover:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--accent-purple) 0,var(--accent-purple-dark) 100%);border-color:#667eea;border-color:var(--accent-purple);box-shadow:0 4px 12px #667eea66;color:#fff;transform:translateY(-2px) scale(1.05)}.ai-history-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.ai-history-btn.active{background:#667eea1a;border-color:#667eea;border-color:var(--accent-purple);box-shadow:0 0 0 3px #667eea26}.ai-history-btn:disabled{background:#f7fafc;background:var(--bg);border-color:#d7e3ea;border-color:var(--border);box-shadow:none;color:#8a99a6;color:var(--text-muted);cursor:not-allowed;opacity:.25}.ai-history-btn svg{transition:transform .2s ease}.ai-history-btn:hover:not(:disabled) svg{transform:scale(1.1)}.ai-assistance-btn{align-items:center;background:linear-gradient(135deg,#2596be,#1e7898);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:25px;box-shadow:0 4px 12px #2596be66;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 20px;transition:all .3s ease}.ai-assistance-btn:hover:not(:disabled){background:linear-gradient(135deg,#1e7898,#175a72);background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-darker) 100%);box-shadow:0 6px 20px #2596be99;transform:translateY(-2px)}.ai-assistance-btn:active:not(:disabled){transform:translateY(0)}.ai-assistance-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.ai-processing-overlay{align-items:center;display:flex;justify-content:center;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:100}.ai-processing-content{align-items:center;background:#fffffffa;border:2px solid #2596be;border:2px solid var(--primary-color);border-radius:16px;box-shadow:0 8px 32px #2596be40;display:flex;flex-direction:column;gap:16px;padding:32px 48px}.ai-processing-spinner{animation:ai-pulse 1.5s ease-in-out infinite}.ai-processing-spinner svg{color:#2596be;color:var(--primary-color);filter:drop-shadow(0 2px 8px rgba(37,150,190,.3))}@keyframes ai-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.ai-processing-text{color:#2596be;color:var(--primary-color);font-size:18px;font-weight:600;letter-spacing:.5px}.ai-processing-dots{align-items:center;display:flex;gap:8px}.ai-processing-dots span{animation:ai-dot-bounce 1.4s ease-in-out infinite;background-color:#2596be;background-color:var(--primary-color);border-radius:50%;height:8px;width:8px}.ai-processing-dots span:first-child{animation-delay:0s}.ai-processing-dots span:nth-child(2){animation-delay:.2s}.ai-processing-dots span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-bounce{0%,60%,to{opacity:1;transform:translateY(0)}30%{opacity:.7;transform:translateY(-12px)}}.ai-modal-backdrop{align-items:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ai-modal-content{animation:slideInModal .3s ease-in-out;background:#fff;background:var(--surface);border-radius:8px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;height:85vh;overflow:hidden;width:85vw}.ai-modal-body{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow:hidden;padding:35px}.ai-dictation-area{border-radius:0;display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:0;position:relative}.ai-dictation-area,.ai-instruction-textarea{background:#fff;background:var(--surface);border:none;color:#5b6b78;color:var(--text-secondary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:18px;line-height:1.8}.ai-instruction-textarea{flex:1 1;outline:none;padding:35px;resize:none;width:100%}.ai-instruction-textarea::placeholder{color:#0f172a;color:var(--text-primary);font-style:italic;font-weight:600;opacity:1}.ai-dictation-area .recognized-text{color:#0f172a;color:var(--text-primary);font-weight:500}.ai-dictation-area .partial-text-chunk{transition:all .3s ease}.ai-dictation-area .partial-text-chunk.partial{color:#2596be;color:var(--primary-color);font-style:italic;font-weight:400}.ai-dictation-area .partial-text-chunk.confirmed{color:#0f172a;color:var(--text-primary);font-weight:400}.ai-dictation-area .speak-now-message{color:#8a99a6;color:var(--text-muted);display:block;font-style:italic;margin-top:20px;opacity:.6;text-align:center}.dictation-text-area .speak-now-message{color:#0f172a;color:var(--text-primary);display:block;font-style:italic;font-weight:600;margin-top:20px;opacity:1;text-align:left}.ai-examples{padding:15px 0 20px}.ai-examples-title{color:#5b6b78;color:var(--text-secondary);font-size:14px;font-weight:600;margin-bottom:12px;text-align:center}.ai-examples-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));max-width:100%}.ai-example-item{align-items:center;background:#fff;background:var(--surface);border:2.5px solid #e9f6fb;border:2.5px solid var(--primary-bg);border-radius:12px;box-shadow:0 2px 8px #2596be1f;cursor:pointer;display:flex;flex-direction:column;font-size:15px;font-weight:500;gap:8px;justify-content:center;min-height:90px;padding:16px 12px;text-align:center;transition:all .3s ease}.ai-example-item,.ai-example-item svg{color:#2596be;color:var(--primary-color)}.ai-example-item svg{stroke-width:2;flex-shrink:0;height:28px;width:28px}.ai-example-item span{word-wrap:break-word;line-height:1.3;max-width:100%}.ai-example-item:hover{background:linear-gradient(135deg,#e9f6fb,#d3ecf5);background:linear-gradient(135deg,var(--primary-bg) 0,var(--primary-bg-light) 100%);border-color:#2596be;border-color:var(--primary-color);box-shadow:0 6px 12px #2596be33;transform:translateY(-3px)}.ai-example-item:active{box-shadow:0 3px 8px #2596be26;transform:translateY(-1px)}.ai-example-item.active{background:linear-gradient(135deg,#2596be,#1e7898);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border-color:#1e7898;border-color:var(--primary-dark);box-shadow:0 4px 12px #2596be66;color:#fff}.ai-example-item.active svg{color:#fff}.ai-example-item.disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.ai-example-item.disabled:hover{background:#fff;background:var(--surface);border-color:#e9f6fb;border-color:var(--primary-bg);box-shadow:0 2px 6px #2596be14;transform:none}.ai-examples-grid>div{display:flex;flex-direction:column;position:relative}.ai-examples-grid>div>.ai-example-item{height:100%;width:100%}.language-menu{animation:scaleIn .2s ease-out;background:#fff;background:var(--surface);border:2px solid #2596be;border:2px solid var(--primary-color);border-radius:12px;box-shadow:0 8px 32px #00000040;left:50%;max-height:500px;max-width:400px;overflow:hidden;overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:2000}@keyframes scaleIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.language-option{align-items:center;background:#fff;background:var(--surface);border:none;color:#2596be;color:var(--primary-color);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:10px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.language-option:hover{background:#e9f6fb;background:var(--primary-bg)}.language-option:active{background:#d3ecf5;background:var(--primary-bg-light)}.language-option.featured{font-style:italic;font-weight:700}.language-flag{font-size:20px;line-height:1}.ai-modal-actions{border-top:2px solid #d7e3ea;border-top:2px solid var(--border);display:flex;gap:15px;justify-content:flex-end;padding-top:15px}.ai-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:16px;font-weight:600;gap:8px;padding:14px 28px;transition:all .3s ease}.cancel-btn{background:#eef4f7;background:var(--bg-gray);border:2px solid #d7e3ea;border:2px solid var(--border-light);color:#5b6b78;color:var(--text-secondary)}.cancel-btn:hover{background:#f7fafc;background:var(--bg-gray-light);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.cancel-btn:active{transform:translateY(0)}.apply-btn{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--accent-purple) 0,var(--accent-purple-dark) 100%);box-shadow:0 4px 12px #667eea4d;color:#fff}.apply-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.apply-btn:active:not(:disabled){transform:translateY(0)}.apply-btn:disabled{background:#d7e3ea;background:var(--border);box-shadow:none;cursor:not-allowed;opacity:.5}@media (max-width:48em){.text-document{padding:clamp(10px,2vw,20px);width:95%}.document-page{gap:15px;min-height:100%;padding:clamp(15px,3vw,25px)}.dictation-text-area{line-height:1.6}.ai-assistance-btn{font-size:13px;padding:10px 16px}.ai-assistance-btn svg{height:18px;width:18px}.header-title{display:none}.switch-mode-button{font-size:12px;padding:10px 16px;right:10px;top:10px}.ai-processing-content{gap:12px;padding:24px 32px}.ai-processing-spinner svg{height:32px;width:32px}.ai-processing-text{font-size:16px}.ai-processing-dots span{height:6px;width:6px}.ai-modal-content{border-radius:6px;height:90vh;width:95vw}.ai-modal-body{gap:15px;padding:20px}.ai-dictation-area{font-size:16px;padding:20px}.ai-examples{padding:10px 0}.ai-examples-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.ai-example-item{font-size:12px;min-height:85px;padding:14px 10px}.ai-example-item svg{height:24px;width:24px}.ai-modal-actions{flex-direction:column;gap:10px}.ai-action-btn{font-size:15px;justify-content:center;padding:12px 20px;width:100%}.apply-btn{order:1}.cancel-btn{order:2}}.info-button{align-items:center;background:var(--primary-color);border:2px solid var(--primary-color);border-radius:25px;box-shadow:0 2px 8px #2596be40;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;transition:all .3s ease;white-space:nowrap}.info-button:hover{background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:0 4px 12px #2596be66;transform:scale(1.05)}.info-button:active{transform:scale(.98)}@media (max-width:768px){.info-button{font-size:13px;padding:8px 14px}.info-button svg{height:18px;width:18px}}@media (max-width:480px){.info-button span{display:none}.info-button{border-radius:50%;height:40px;padding:10px;width:40px}}.image-analysis-container{background:var(--primary-bg);box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;padding:20px}.image-analysis-header{box-sizing:border-box;color:var(--primary-color);margin-bottom:clamp(1rem,2.5vw,1.5rem);max-width:100%;padding:0 clamp(.75rem,2vw,1rem);text-align:center}.image-analysis-header h1{align-items:center;color:var(--primary-color);display:flex;flex-wrap:wrap;font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;gap:clamp(.5rem,2vw,.9375rem);justify-content:center;line-height:1.2;margin-bottom:clamp(.5rem,1.5vw,.625rem);text-shadow:2px 2px 4px #0000001a;word-break:break-word}.image-analysis-header h1 svg{flex-shrink:0;height:clamp(1.5rem,4vw,2rem);width:clamp(1.5rem,4vw,2rem)}.image-analysis-header p{color:var(--primary-dark);font-size:clamp(.875rem,2.5vw,1.1rem);line-height:1.5;opacity:.9;padding:0 .5rem}.image-analysis-content{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1400px;width:100%}.examples-section{background:var(--bg-white);border:1px solid var(--primary-bg-light);border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:20px}.examples-section h3{align-items:center;color:var(--primary-color);display:flex;font-size:clamp(1rem,2.5vw,1.1rem);font-weight:600;gap:8px;margin-bottom:12px}.example-tasks{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.example-task-card{background:var(--bg-white);border:2px solid var(--primary-bg-light);border-radius:10px;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.example-badge{align-items:center;background:#2596bef2;border-radius:4px;bottom:6px;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:.7rem;font-weight:600;gap:5px;padding:4px 8px;position:absolute;right:6px;transition:all .3s ease;z-index:10}.example-task-card.active .example-badge{background:#10b981f2}.example-task-card:hover .example-badge{background:#2596be;transform:scale(1.05)}.example-task-card.active:hover .example-badge{background:#10b981}.example-task-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2596be26;transform:translateY(-2px)}.example-task-card.active{background:var(--primary-bg);border-color:var(--primary-color);box-shadow:0 3px 10px #2596be33}.example-image-wrapper{background:var(--bg);height:100px;overflow:hidden;position:relative;width:100%}.example-preview{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.example-task-card:hover .example-preview{transform:scale(1.05)}.example-overlay{align-items:center;background:#2596bed9;bottom:0;display:flex;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.example-task-card:hover .example-overlay{opacity:1}.example-overlay span{background:#0003;border-radius:6px;color:#fff;font-size:1rem;font-weight:600;padding:10px 20px}.example-info{background:var(--primary-bg);border-bottom:1px solid var(--primary-bg-light);padding:10px}.example-info h4{color:var(--text-primary);font-size:clamp(.875rem,2.5vw,1rem);font-weight:600;margin:0 0 4px}.example-info p{color:var(--text-muted);font-size:clamp(.8rem,2vw,.9rem);line-height:1.3;margin:0}@media (min-width:1025px){.image-analysis-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.upload-section{grid-column:1;grid-row:1}.examples-section{grid-column:1;grid-row:2}.results-section{grid-column:2;grid-row:1/3}}.upload-section{background:var(--bg-white);border-radius:16px;box-shadow:0 4px 20px #00000014;box-sizing:border-box;display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;padding:20px;position:relative;width:100%;z-index:1}.upload-section h3{color:var(--primary-color);font-size:clamp(1rem,2.5vw,1.1rem);font-weight:600;gap:8px;margin-bottom:15px}.drop-zone,.upload-section h3{align-items:center;display:flex}.drop-zone{background:var(--primary-bg);border:3px dashed var(--primary-bg-light);border-radius:12px;box-sizing:border-box;cursor:pointer;justify-content:center;max-width:100%;min-height:180px;overflow:hidden;padding:30px;position:relative;text-align:center;transition:all .3s ease}.drop-zone.dragging,.drop-zone:hover{background:var(--primary-bg-light);border-color:var(--primary-color)}.drop-zone.dragging{transform:scale(1.02)}.drop-zone.has-image{border:none;padding:0}.drop-zone-content{align-items:center;display:flex;flex-direction:column;gap:15px}.upload-icon{color:var(--primary-color);opacity:.5;transition:all .3s ease}.drop-zone:hover .upload-icon{opacity:.8;transform:scale(1.05)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.upload-text{color:var(--text-primary);font-size:clamp(1rem,2.5vw,1.1rem);font-weight:600;margin:0}.upload-subtext{font-size:clamp(.875rem,2.5vw,1rem)}.upload-formats,.upload-subtext{color:var(--text-muted);margin:0}.upload-formats{font-size:clamp(.75rem,2vw,.85rem)}.image-preview{box-sizing:border-box;overflow:hidden;position:relative}.image-preview,.image-preview img{height:100%;max-width:100%;width:100%}.image-preview img{border-radius:1rem;display:block;max-height:100%;object-fit:contain}.image-overlay{align-items:center;background:#0009;border-radius:12px;bottom:0;display:flex;flex-direction:column;gap:10px;justify-content:center;left:0;opacity:1;position:absolute;right:0;top:0;transition:all .3s ease}.image-overlay svg{color:#fff}.image-preview:hover .image-overlay{background:#000000bf}.image-overlay p{color:#fff;font-size:1rem;font-weight:600;margin:0}.instruction-section{margin-top:20px}.instruction-section label{color:var(--primary-color);display:flex;flex-direction:column;font-size:clamp(1rem,2.5vw,1.1rem);font-weight:600;gap:5px;margin-bottom:10px}.edit-hint{align-items:center;animation:pulse-text 2s ease-in-out infinite;color:var(--accent-purple);display:flex;font-size:.85rem;font-weight:400;gap:5px}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}.editable-instruction{background:var(--primary-bg);border:2px solid var(--primary-color)!important}.editable-instruction:focus{background:var(--bg-white);border-color:var(--primary-dark)!important}.instruction-examples{background:var(--primary-bg);border-left:4px solid var(--primary-color);border-radius:8px;margin-top:12px;padding:12px}.instruction-examples small{color:var(--text-secondary);font-size:clamp(.875rem,2.5vw,1rem);line-height:1.6}.instruction-examples strong{color:var(--primary-color);display:block;font-size:clamp(.875rem,2.5vw,1rem);margin-bottom:8px}.instruction-examples ul{margin:8px 0 0;padding-left:20px}.instruction-examples li{color:var(--primary-dark);font-size:clamp(.875rem,2.5vw,1rem);margin:5px 0}.quick-actions{display:none}.instruction-section textarea{border:2px solid var(--primary-bg-light);border-radius:8px;font-family:inherit;font-size:clamp(.875rem,2.5vw,1rem);padding:12px;resize:vertical;transition:all .3s ease;width:100%}.instruction-section textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2596be1a;outline:none}.instruction-section textarea:disabled{background:var(--primary-bg);cursor:not-allowed}.control-buttons{gap:15px;margin-top:25px}.analyze-button,.control-buttons{display:flex;justify-content:center}.analyze-button{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:50px;box-shadow:0 4px 12px #2596be4d;color:#fff;cursor:pointer;font-size:clamp(.875rem,2.5vw,1rem);font-weight:600;gap:8px;min-width:200px;padding:15px 40px;transition:all .3s ease}.analyze-button:hover:not(:disabled){box-shadow:0 10px 20px #2596be4d;transform:translateY(-2px)}.analyze-button:disabled{cursor:not-allowed;opacity:.6}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.results-section{background:var(--bg-white);border-radius:16px;box-shadow:0 4px 20px #00000014;box-sizing:border-box;display:flex;flex-direction:column;height:100%;padding:20px;position:relative;width:100%;z-index:1}.results-header{border-bottom:2px solid var(--primary-bg-light);flex-shrink:0;margin-bottom:15px;padding-bottom:10px}.results-header h2,.results-header h3{color:var(--primary-color);font-size:clamp(1rem,2.5vw,1.1rem);font-weight:600;margin:0}.results-content{display:flex;flex:1 1;max-height:calc(80vh - 180px);min-height:300px;overflow-x:hidden;overflow-y:auto}.analyzing-state,.empty-state,.error-state{align-items:center;display:flex;flex-direction:column;justify-content:center;text-align:center;width:100%}.analyzing-animation{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.pulse{animation:pulse 1.5s ease-in-out infinite;background:var(--accent-500);border-radius:50%;height:15px;width:15px}.pulse:nth-child(2){animation-delay:.2s}.pulse:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.analyzing-state p{color:var(--text-secondary);font-size:clamp(.875rem,2.5vw,1rem)}.error-state{color:var(--error-color)}.error-icon{font-size:3rem;margin-bottom:15px}.error-state p{font-size:1rem}.empty-icon,.empty-state{color:var(--text-muted)}.empty-icon{margin-bottom:15px;opacity:.5}.empty-hint{font-size:.95rem!important;margin-top:8px!important;opacity:.7}.result-text{display:flex;flex-direction:column;gap:15px;height:100%;width:100%}.result-content{word-wrap:break-word;background:var(--primary-bg);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:clamp(.875rem,2.5vw,1rem);line-height:1.6;min-height:0;overflow-wrap:anywhere;overflow-x:hidden;overflow-y:auto;padding:20px;scroll-behavior:smooth;white-space:pre-wrap}.markdown-content{white-space:normal}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--primary-color);font-weight:600;line-height:1.3;margin-bottom:.5em;margin-top:1.5em}.markdown-content h1{border-bottom:2px solid var(--primary-bg-light);font-size:clamp(1.3em,4vw,2em);padding-bottom:.3em}.markdown-content h2{border-bottom:1px solid var(--primary-bg-light);font-size:1.5em;padding-bottom:.3em}.markdown-content h3{font-size:1.25em}.markdown-content h4{font-size:1.1em}.markdown-content p{margin-bottom:1em}.markdown-content strong{color:var(--text-primary);font-weight:700}.markdown-content em{font-style:italic}.markdown-content code{background:var(--primary-bg);border-radius:3px;color:var(--error-color);font-family:Courier New,monospace;font-size:.9em;padding:.2em .4em}.markdown-content pre{background:var(--accent-900);border-radius:8px;color:var(--bg);margin-bottom:1em;overflow-x:auto;padding:1em}.markdown-content pre code{background:#0000;color:inherit;padding:0}.markdown-content ol,.markdown-content ul{margin-bottom:1em;margin-left:1.5em}.markdown-content li{margin-bottom:.5em}.markdown-content blockquote{border-left:4px solid var(--primary-color);color:var(--text-secondary);font-style:italic;margin:1em 0;padding-left:1em}.markdown-content table{border-collapse:collapse;display:block;margin-bottom:1em;overflow-x:auto;width:100%}.markdown-content table thead{background:var(--primary-color);color:#fff}.markdown-content table td,.markdown-content table th{border:1px solid var(--primary-bg-light);padding:.75em;text-align:left}.markdown-content table tbody tr:nth-child(2n){background:var(--primary-bg)}.markdown-content table tbody tr:hover{background:var(--primary-bg-light)}.markdown-content a{border-bottom:1px solid #0000;color:var(--primary-color);text-decoration:none;transition:border-color .2s}.markdown-content a:hover{border-bottom-color:var(--primary-color)}.markdown-content hr{border:none;border-top:2px solid var(--primary-bg-light);margin:2em 0}.markdown-content img{border-radius:8px;height:auto;margin:1em 0;max-width:100%}.result-content.streaming{position:relative}.result-content.streaming:after{animation:blink 1s infinite;color:var(--primary-color);content:"▊";margin-left:2px}.copy-button{align-items:center;align-self:flex-end;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:50px;box-shadow:0 2px 8px #2596be33;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:clamp(.8rem,2vw,.9rem);font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.copy-button:hover{background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-darker) 100%);transform:translateY(-2px)}@media (hover:none) and (pointer:coarse){.example-task-card{-webkit-tap-highlight-color:rgba(37,150,190,.1);min-height:3.5rem}.example-task-card:hover{transform:none}.example-task-card:active{box-shadow:0 8px 25px #2596be40;transform:scale(.98)}.analyze-button{-webkit-tap-highlight-color:rgba(37,150,190,.1);min-height:3.25rem}.analyze-button:hover{transform:none}.analyze-button:active{transform:scale(.98)}.copy-button{-webkit-tap-highlight-color:rgba(37,150,190,.1);min-height:2.75rem}.copy-button:hover{transform:none}.copy-button:active{transform:scale(.98)}.drop-zone{-webkit-tap-highlight-color:transparent}.image-analysis-header h1,.image-analysis-header p,.instruction-section textarea,.result-content{-webkit-user-select:text;user-select:text}}@media (max-width:1024px){.image-analysis-content{display:flex!important;flex-direction:column;gap:20px;max-width:800px}.results-section,.upload-section{width:100%}.example-tasks{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.image-analysis-container{padding:clamp(.75rem,2.5vw,1rem)}.image-analysis-content{display:flex!important;flex-direction:column;gap:clamp(1rem,2.5vw,1.25rem)}.image-analysis-header{margin-bottom:clamp(1rem,2.5vw,1.5rem)}.image-analysis-header h1{flex-direction:column;gap:clamp(.5rem,2vw,.75rem)}.results-section,.upload-section{padding:clamp(1rem,3vw,1.25rem);width:100%}.drop-zone{min-height:clamp(180px,30vw,200px);padding:clamp(1.5rem,4vw,2rem) clamp(1rem,3vw,1.25rem)}.analyze-button{font-size:clamp(.875rem,2.5vw,1rem);max-width:none;padding:clamp(.875rem,3vw,1rem) clamp(1.5rem,4vw,2rem);width:100%}.example-tasks{display:flex;flex-direction:row;gap:10px;overflow-x:auto;padding-bottom:8px}.example-task-card{flex:0 0 140px;min-width:140px}.example-image-wrapper{height:70px}.example-badge{font-size:.6rem;padding:3px 6px}.examples-section{padding:clamp(1rem,3vw,1.5rem)}}@media (max-width:480px){.image-analysis-container{padding:clamp(.625rem,2vw,.875rem)}.image-analysis-content{display:flex!important;flex-direction:column;gap:clamp(.875rem,2vw,1rem)}.image-analysis-header{margin-bottom:clamp(.75rem,2vw,1rem)}.image-analysis-header h1{gap:clamp(.375rem,1.5vw,.5rem)}.back-button{font-size:clamp(.75rem,2.5vw,.8125rem);min-height:2.75rem;padding:clamp(.5rem,2vw,.625rem) clamp(.875rem,3vw,1rem)}.results-section,.upload-section{border-radius:clamp(.75rem,2vw,1rem);padding:clamp(.875rem,2.5vw,1rem);width:100%}.instruction-section textarea{font-size:clamp(.8125rem,2.5vw,.9rem);min-height:4rem;padding:clamp(.75rem,2vw,.875rem)}.examples-section{padding:clamp(.875rem,2.5vw,1.25rem)}.example-image-wrapper{height:clamp(120px,25vw,150px)}.instruction-examples{font-size:clamp(.75rem,2vw,.85rem);padding:clamp(.625rem,2vw,.75rem)}.control-buttons{gap:clamp(.625rem,2vw,.875rem);margin-top:clamp(1rem,3vw,1.25rem)}.drop-zone{min-height:clamp(150px,28vw,180px);padding:clamp(1.25rem,3.5vw,1.5rem) clamp(.875rem,2.5vw,1rem)}}.toast-container{display:flex;flex-direction:column;gap:8px;left:50%;max-width:420px;pointer-events:none;position:fixed;top:16px;transform:translateX(-50%);width:90%;z-index:99999}.toast{align-items:center;animation:toast-slide-in .3s ease-out;border-radius:12px;box-shadow:0 4px 20px #00000040;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:10px;line-height:1.4;padding:12px 16px;pointer-events:auto}.toast-error{background:var(--error)}.toast-warning{background:var(--warning)}.toast-info{background:var(--info)}.toast-success{background:var(--success)}.toast-icon{flex-shrink:0;font-size:18px}.toast-text{flex:1 1;word-break:break-word}.toast-close{background:none;border:none;color:#fffc;cursor:pointer;flex-shrink:0;font-size:16px;line-height:1;padding:4px}.toast-close:hover{color:#fff}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.chat-assistant-container{background:var(--primary-bg);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.assistant-selector-sticky .assistant-dropdown{margin-bottom:0}.assistant-selector-sticky .assistant-dropdown-menu{animation:slideDown .2s ease-out;bottom:auto;top:calc(100% + 8px)}.assistant-selector-sticky .dropdown-icon{transform:rotate(0deg)}.assistant-selector-sticky .dropdown-icon.open{transform:rotate(180deg)}.chat-messages-area{min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 20px 20px}.chat-empty-state,.chat-messages-area{display:flex;flex:1 1;flex-direction:column}.chat-empty-state{align-items:center;color:var(--primary-color);justify-content:center;margin:0 auto;max-width:800px;padding:40px 20px;text-align:center}.pasantes-header{color:var(--accent-500);margin-bottom:30px;text-align:center}.pasantes-header h1{align-items:center;color:var(--accent-500);display:flex;font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;gap:clamp(10px,2vw,15px);justify-content:center;margin-bottom:10px;text-shadow:2px 2px 4px #0000001a}.pasantes-header p{color:var(--accent-600);font-size:clamp(.875rem,2.5vw,1.1rem);line-height:1.5;margin:0;opacity:.9;padding:0 .5rem}.chat-empty-state>.assistant-dropdown{margin-top:20px}.chat-suggestions{max-width:700px;width:100%}.chat-suggestions h3{color:var(--text-secondary);font-size:1rem;font-weight:600;margin-bottom:20px}.suggestion-cards{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.suggestion-card{align-items:center;background:var(--surface);border:2px solid var(--primary-bg-light);border-radius:12px;box-shadow:0 2px 8px #2596be14;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:20px;transition:all .3s ease}.suggestion-card svg{color:var(--primary-color)}.suggestion-card span{color:var(--text-secondary);font-size:.95rem;font-weight:500;text-align:center}.suggestion-card:hover:not(:disabled){border-color:var(--primary-color);box-shadow:0 6px 16px #2596be26;transform:translateY(-3px)}.suggestion-card:disabled{cursor:not-allowed;opacity:.5}.chat-messages-list{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:900px;width:100%}.chat-message{animation:fadeInMessage .3s ease;display:flex;gap:12px}@keyframes fadeInMessage{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.chat-message.user .message-avatar{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%)}.chat-message.assistant .message-avatar{background:linear-gradient(135deg,var(--accent-purple) 0,var(--accent-purple-dark) 100%)}.message-content{display:flex;flex:1 1;flex-direction:column;gap:5px;max-width:85%}.chat-message.user .message-content{align-items:flex-end}.message-text{word-wrap:break-word;background:var(--surface);border-radius:12px;box-shadow:0 2px 8px #00000014;color:var(--text-secondary);font-size:1rem;line-height:1.6;overflow-wrap:break-word;padding:16px 20px;white-space:pre-wrap}.chat-message.user .message-text{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);color:#fff}.message-text.markdown-content{white-space:normal}.message-text.markdown-content h1,.message-text.markdown-content h2,.message-text.markdown-content h3,.message-text.markdown-content h4,.message-text.markdown-content h5,.message-text.markdown-content h6{color:var(--primary-color);font-weight:600;line-height:1.3;margin-bottom:.5em;margin-top:1em}.message-text.markdown-content h1{border-bottom:2px solid var(--border-light);font-size:clamp(1.2em,4vw,1.5em);padding-bottom:.3em}.message-text.markdown-content h2{border-bottom:1px solid var(--border-light);font-size:1.3em;padding-bottom:.3em}.message-text.markdown-content h3{font-size:1.15em}.message-text.markdown-content h4{font-size:1.05em}.message-text.markdown-content p{margin-bottom:.8em}.message-text.markdown-content p:last-child{margin-bottom:0}.message-text.markdown-content strong{color:var(--text-primary);font-weight:700}.message-text.markdown-content em{font-style:italic}.message-text.markdown-content code{background:var(--bg-gray);border-radius:3px;color:var(--primary-dark);font-family:Courier New,monospace;font-size:.9em;padding:.2em .4em}.message-text.markdown-content pre{background:var(--bg-gray);border:1px solid var(--border-light);border-radius:6px;color:var(--text-primary);margin-bottom:.8em;overflow-x:auto;padding:12px}.message-text.markdown-content pre code{background:#0000;color:inherit;padding:0}.message-text.markdown-content ol,.message-text.markdown-content ul{margin-bottom:.8em;margin-left:1.5em;padding-left:0}.message-text.markdown-content li{margin-bottom:.3em}.message-text.markdown-content blockquote{border-left:4px solid var(--primary-color);color:var(--text-muted);font-style:italic;margin:.8em 0;padding-left:1em}.message-text.markdown-content table{border-collapse:collapse;display:block;margin-bottom:.8em;overflow-x:auto;width:100%}.message-text.markdown-content table thead{background:var(--primary-bg);color:var(--primary-dark)}.message-text.markdown-content table td,.message-text.markdown-content table th{border:1px solid var(--border-light);padding:.5em;text-align:left}.message-text.markdown-content table tbody tr:nth-child(2n){background:var(--bg-gray)}.message-text.markdown-content a{border-bottom:1px solid #0000;color:var(--primary-color);text-decoration:none;transition:border-color .2s}.message-text.markdown-content a:hover{border-bottom-color:var(--primary-color)}.message-text.markdown-content hr{border:none;border-top:2px solid var(--border-light);margin:1em 0}.message-text.markdown-content img{border-radius:6px;height:auto;margin:.5em 0;max-width:100%}.message-time{color:var(--text-muted);font-size:.75rem;padding:0 5px}.cursor-blink,.cursor-blink-inline{animation:blink 1s infinite;color:var(--primary-color);margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.message-text.progress-message{align-items:center;background:linear-gradient(135deg,#2596be1a,#1a75991a);border:2px solid #2596be33;color:var(--primary-dark);display:flex;font-style:italic;gap:4px}.progress-text{font-weight:500}.progress-dots{display:inline-flex;gap:2px}.progress-dots .dot{animation:dotPulse 1.4s infinite;opacity:0}.progress-dots .dot:first-child{animation-delay:0s}.progress-dots .dot:nth-child(2){animation-delay:.2s}.progress-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,20%{opacity:0;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}60%,to{opacity:0;transform:scale(.8)}}.follow-ups-generating{align-items:center;background:linear-gradient(135deg,#2596be0d,#1a75990d);border:1px solid #2596be33;border-radius:10px;color:var(--primary-dark);display:flex;font-size:.9rem;gap:8px;margin-top:12px;padding:12px 16px}.generating-text{font-style:italic;font-weight:500}.follow-ups-container{animation:fadeInUp .4s ease;margin-top:16px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.follow-ups-title{color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.follow-ups-list{display:flex;flex-direction:column;gap:8px}.follow-up-button{align-items:center;background:var(--surface);border:2px solid var(--primary-bg-light);border-radius:10px;box-shadow:0 2px 6px #0000000d;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:10px;padding:12px 16px;text-align:left;transition:all .3s ease;width:100%}.follow-up-button:hover:not(:disabled){background:var(--primary-bg);border-color:var(--primary-color);box-shadow:0 4px 12px #2596be26;transform:translateX(4px)}.follow-up-button:active:not(:disabled){transform:translateX(2px)}.follow-up-button:disabled{cursor:not-allowed;opacity:.5}.follow-up-icon{color:var(--primary-color);flex-shrink:0;font-size:1.1rem;font-weight:700;transition:transform .3s ease}.follow-up-button:hover:not(:disabled) .follow-up-icon{transform:translateX(4px)}.follow-up-text{flex:1 1;font-weight:500;line-height:1.4}.chat-input-area{background:var(--surface);border-top:1px solid var(--border-light);box-shadow:0 -2px 8px #0000000d;display:flex;flex-direction:column;flex-shrink:0;gap:15px;padding:20px}.assistant-selector-sticky{align-items:center;background:#0000;border-radius:0;box-sizing:border-box;display:flex;justify-content:center;margin:0;padding:25px;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:100}.assistant-selector{align-items:center;background:var(--primary-bg);border:2px solid var(--primary-bg-light);border-radius:12px;display:flex;gap:15px;padding:12px 16px}.assistant-label{align-items:center;color:var(--primary-dark);display:flex;font-size:.9rem;font-weight:600;gap:8px;white-space:nowrap}.assistant-dropdown{background:#0000;box-sizing:border-box;max-width:900px;padding:0;position:relative;width:100%}.assistant-select-button{align-items:center;background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border:none;border-radius:12px;box-shadow:0 4px 12px #2596be4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;justify-content:space-between;padding:12px 14px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.assistant-select-button:hover:not(:disabled){box-shadow:0 6px 20px #2596be66;transform:translateY(-2px)}.assistant-select-button:active:not(:disabled){box-shadow:0 2px 8px #2596be4d;transform:translateY(0)}.assistant-select-button:disabled{cursor:not-allowed;opacity:.6}.selected-assistant{align-items:center;display:flex;gap:10px}.assistant-icon{align-items:center;display:flex;justify-content:center}.assistant-name{font-weight:600}.dropdown-icon{flex-shrink:0;transform:rotate(180deg);transition:transform .3s ease}.dropdown-icon.open{transform:rotate(0deg)}.assistant-dropdown-menu{animation:slideUp .2s ease-out;background:var(--surface);border:2px solid #2596be1a;border-radius:12px;bottom:calc(100% + 8px);box-shadow:0 8px 32px #00000026;left:0;overflow:hidden;position:absolute;right:0;z-index:1000}.assistant-option{align-items:center;background:var(--surface);border:none;border-bottom:1px solid #2596be1a;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:12px;padding:14px 16px;position:relative;text-align:left;transition:all .2s ease;width:100%}.assistant-option:last-child{border-bottom:none}.assistant-option:hover:not(.disabled){background:var(--primary-bg)}.assistant-option.selected{background:var(--primary-bg-light);border-left:4px solid var(--primary-color);font-weight:600}.assistant-option.disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.assistant-option .assistant-icon{align-items:center;color:var(--primary-color);display:flex;flex-shrink:0;justify-content:center}.assistant-option .assistant-name{flex:1 1;font-weight:500}.assistant-option.selected .assistant-name,.badge-soon{font-weight:600}.badge-soon{background:linear-gradient(135deg,#8a2be226,#4b008226);border-radius:6px;color:var(--accent-purple);font-size:11px;letter-spacing:.3px;padding:3px 8px;text-transform:uppercase}.check-icon{color:var(--primary-color);font-size:18px;font-weight:700}.assistant-note{color:var(--text-muted);font-size:.8rem;line-height:1.4;margin:0;opacity:.8;padding:8px 20px;text-align:center}.chat-input-controls{align-items:center;display:flex;gap:0}.clear-chat-btn{align-items:center;background:var(--surface);border:2px solid var(--border-light);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .3s ease;width:44px}.clear-chat-btn:hover:not(:disabled){border-color:var(--error-color);color:var(--error-color);transform:scale(1.05)}.clear-chat-btn:disabled{cursor:not-allowed;opacity:.4}.clear-chat-btn-inline{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;margin-left:4px;transition:all .3s ease;width:44px}.clear-chat-btn-inline:hover:not(:disabled){background:#ef44441a;color:var(--error-color);transform:scale(1.05)}.clear-chat-btn-inline:disabled{cursor:not-allowed;opacity:.4}.chat-input-wrapper{align-items:flex-end;background:var(--bg-gray);border:2px solid #0000;border-radius:24px;display:flex;flex:1 1;gap:8px;padding:8px 8px 8px 20px;transition:border-color .3s ease}.chat-input-wrapper:focus-within{border-color:var(--primary-color)}.chat-input{background:#0000;border:none;color:var(--text-secondary);flex:1 1;font-family:inherit;font-size:1rem;line-height:1.5;max-height:200px;outline:none;overflow-y:auto;padding:8px 0;resize:none}.chat-input::placeholder{color:var(--text-muted);opacity:.7}.chat-input:disabled{cursor:not-allowed;opacity:.6}.dictation-btn{background:var(--surface);border:2px solid var(--border-light);border-radius:50%;color:var(--text-muted);cursor:not-allowed;opacity:.5}.dictation-btn,.send-btn{align-items:center;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .3s ease;width:44px}.send-btn{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border:none;border-radius:50%;box-shadow:0 2px 8px #2596be4d;color:#fff;cursor:pointer}.send-btn:hover:not(:disabled){box-shadow:0 4px 12px #2596be66;transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.98)}.send-btn:disabled{background:var(--bg-gray-light);box-shadow:none;cursor:not-allowed;opacity:.4}.send-btn.stop-btn{animation:pulse-stop 2s infinite;background:var(--error-color);box-shadow:0 2px 8px #ef44444d}.send-btn.stop-btn:hover{background:var(--error-dark);box-shadow:0 4px 12px #ef444466}@keyframes pulse-stop{0%{box-shadow:0 0 0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 0 0 #ef444400}}@media (max-width:768px){.chat-messages-area{padding:0 15px 15px}.assistant-selector-sticky{padding:10px 20px}.assistant-dropdown{max-width:100%}.chat-empty-state{padding:20px 15px}.pasantes-header h1{flex-direction:column}.pasantes-header p{font-size:1rem}.chat-empty-state h2{font-size:1.5rem}.chat-empty-state>p{font-size:1rem}.suggestion-cards{gap:10px;grid-template-columns:repeat(2,1fr)}.suggestion-card{padding:15px}.suggestion-card svg{height:24px;width:24px}.suggestion-card span{font-size:.85rem}.message-content{max-width:85%}.message-text{font-size:.95rem}.chat-input-area{padding:15px}.assistant-selector{align-items:flex-start;flex-direction:column;gap:10px}.assistant-label{font-size:.85rem}.assistant-dropdown{max-width:none;width:100%}}@media (max-width:480px){.chat-messages-area{padding:0 12px 12px}.assistant-selector-sticky{padding:10px 16px}.suggestion-cards{grid-template-columns:1fr}.message-content{max-width:90%}.clear-chat-btn,.send-btn{height:40px;width:40px}}.clear-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.clear-modal-content{align-items:center;animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:var(--surface);border-radius:16px;box-shadow:0 12px 48px #0003;display:flex;flex-direction:column;gap:16px;max-width:400px;padding:32px 28px;position:relative;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.clear-modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:12px;transition:all .2s ease}.clear-modal-close:hover{background:var(--bg-gray);color:var(--text-secondary)}.clear-modal-icon{align-items:center;background:linear-gradient(135deg,#ef44441a,#dc26261a);border-radius:50%;color:var(--error-color);display:flex;height:80px;justify-content:center;width:80px}.clear-modal-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0;text-align:center}.clear-modal-message{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0;text-align:center}.clear-modal-actions{display:flex;gap:12px;margin-top:8px;width:100%}.clear-modal-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:all .3s ease}.clear-modal-btn.cancel{background:var(--bg-gray);color:var(--text-secondary)}.clear-modal-btn.cancel:hover{background:var(--bg-gray-light);transform:translateY(-1px)}.clear-modal-btn.confirm{background:linear-gradient(135deg,var(--error-color) 0,var(--error-dark) 100%);box-shadow:0 4px 12px #ef44444d;color:#fff}.clear-modal-btn.confirm:hover{box-shadow:0 6px 20px #ef444466;transform:translateY(-2px)}.clear-modal-btn.confirm:active{box-shadow:0 2px 8px #ef44444d;transform:translateY(0)}.game-challenge{background:var(--primary-bg);color:var(--text-primary)}.game-challenge,.game-intro{display:flex;flex-direction:column;height:100%;overflow:hidden}.game-intro{align-items:center;justify-content:center;padding:1rem;text-align:center}.game-header{color:var(--primary-color);margin-bottom:clamp(.75rem,3vw,1.5rem);text-align:center}.game-header h1{align-items:center;color:var(--primary-color);display:flex;font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;gap:clamp(10px,2vw,15px);justify-content:center;margin-bottom:10px;text-shadow:2px 2px 4px #0000001a}.game-header p{color:var(--primary-dark);font-size:clamp(.875rem,2.5vw,1.1rem);line-height:1.5;margin:0;opacity:.9;padding:0 .5rem}.steps-container{flex-direction:column;margin:0 0 clamp(.75rem,2vw,1rem);max-width:600px;padding:0 clamp(.75rem,2vw,1rem)}.step-card,.steps-container{align-items:center;box-sizing:border-box;display:flex;gap:clamp(.5rem,2vw,.75rem);width:100%}.step-card{background-color:var(--bg-white);border:2px solid var(--primary-bg);border-radius:clamp(.5rem,1.5vw,.75rem);box-shadow:0 2px 8px #2596be14;justify-content:flex-start;max-width:500px;padding:clamp(.5rem,2vw,.75rem);text-align:left;transition:transform .2s ease,box-shadow .2s ease}@media (hover:hover) and (pointer:fine){.step-card:hover{box-shadow:0 4px 12px #2596be26;transform:translateY(-2px)}}.step-number{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border-radius:50%;box-shadow:0 2px 8px #2596be4d;color:#fff;flex-shrink:0;font-size:clamp(.75rem,3vw,.875rem);font-weight:700;height:clamp(1.5rem,6vw,2rem);width:clamp(1.5rem,6vw,2rem)}.step-content,.step-number{display:flex;justify-content:center}.step-content{flex:1 1;flex-direction:column;gap:clamp(.125rem,.5vw,.25rem);margin-left:clamp(.25rem,1vw,.3125rem);min-width:0;overflow:hidden}.step-description{color:var(--text-primary);display:inline;font-size:clamp(.875rem,2.5vw,1rem);line-height:1.5;word-break:break-word}.game-instructions{background:var(--bg-white);border:2px solid var(--primary-bg-light);border-radius:16px;margin-bottom:2rem;max-width:600px;padding:2rem;text-align:left}.game-instructions h3{align-items:center;color:var(--primary-color);display:flex;font-size:1.25rem;gap:.5rem;margin:0 0 1rem}.game-instructions ul{margin:0;padding-left:1.5rem}.game-instructions li{line-height:1.5;margin-bottom:.75rem}.game-start-btn{align-items:center;background:var(--primary-color);border:none;border-radius:50px;box-shadow:0 4px 15px #2596be4d;color:var(--bg-white);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:.5rem;padding:.75rem 2rem;transition:all .3s ease}.game-start-btn:hover{background:var(--primary-dark);box-shadow:0 6px 20px #2596be66;transform:translateY(-2px)}.game-playing{display:flex;flex-direction:column;gap:.5rem;height:100%;padding:.5rem .75rem}.game-stats{background:var(--bg-white);border:2px solid var(--primary-bg-light);border-radius:10px;display:flex;gap:.5rem;justify-content:space-around;padding:.35rem .75rem}.stat-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.stat-label{color:var(--text-muted);font-size:.75rem}.stat-value{color:var(--text-primary);font-size:1.2rem;font-weight:700}.stat-value.error{color:var(--error-color)}.level-transition{animation:slideIn .5s ease;background:var(--bg-white);border:2px solid var(--primary-color);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.level-transition h2{color:var(--text-primary);font-size:1.75rem;margin:0 0 .5rem}.level-transition p{color:var(--text-secondary);font-size:1.125rem;margin:0}.phrase-display{align-items:flex-start;background:var(--bg-white);border:2px solid var(--primary-bg-light);border-radius:12px;display:flex;flex:1 1;min-height:0;overflow:hidden;padding:.75rem}.phrase-number{color:var(--primary-color);font-size:.875rem;font-weight:600;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.phrase-text{align-items:flex-start;color:var(--text-primary);display:flex;font-size:clamp(.9rem,2.5vw,1.1rem);gap:.4rem;line-height:1.5}.phrase-words{flex:1 1}.word-matched{background-color:#22c55e0f;border-radius:3px;color:var(--text-muted);font-weight:400;padding:1px 3px;transition:color .3s ease}@keyframes wordGlow{0%{background-color:#22c55e40}to{background-color:#22c55e0f}}.word-pending{color:var(--text-primary);font-weight:700}.phrase-icon{color:var(--primary-color);flex-shrink:0;height:14px;margin-top:.25rem;opacity:.5;width:14px}.game-transcription-area{background:var(--bg);border:2px solid var(--border);border-radius:12px;flex:1 1;font-size:clamp(.9rem,2.5vw,1.1rem);line-height:1.5;min-height:0;overflow:hidden;padding:.4rem .75rem .5rem}.transcription-header{align-items:center;display:flex;gap:0;margin-bottom:.25rem;opacity:.45}.game-transcription-area .waiting-message{align-items:center;color:var(--text-muted);display:flex;font-style:italic;gap:.4rem;justify-content:center;text-align:center}.game-transcription-area .recognized-text{color:var(--text-primary);font-weight:500}.spoken-word-correct{color:var(--success);font-weight:400}.spoken-word-error{color:var(--error);font-weight:700}.game-transcription-area .partial-text-chunk{color:var(--text-muted)}.game-controls{align-self:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--bg-white);border:1px solid #0000001a;border-radius:50px;box-shadow:0 4px 20px #00000026;flex-wrap:nowrap;gap:8px;padding:8px;width:-webkit-fit-content;width:fit-content}.game-controls,.game-controls .control-btn{align-items:center;display:flex;justify-content:center}.game-controls .control-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:50px;cursor:pointer;font-size:13px;font-weight:600;gap:6px;min-height:44px;padding:0 20px;touch-action:manipulation;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.game-controls .record-btn{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);box-shadow:0 4px 12px #2596be4d;color:#fff;min-width:auto}.game-controls .record-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark) 0,var(--primary-darker) 100%);box-shadow:0 6px 16px #2596be66;transform:translateY(-1px)}.game-controls .record-btn:active:not(:disabled){transform:translateY(0)}.game-controls .record-btn.recording{animation:pulse-recording 2s infinite;background:var(--error-color);box-shadow:0 4px 12px #ef44444d}@keyframes pulse-recording{0%{box-shadow:0 0 0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 0 0 #ef444400}}.game-controls .record-btn.recording:hover:not(:disabled){background-color:var(--error-dark)}.game-controls .clear-btn{background-color:initial;border:1px solid #0000;color:var(--text-muted);min-width:auto;padding:0 24px}.game-controls .clear-btn:hover:not(:disabled){background-color:#0000000d;box-shadow:none;color:var(--error-color);transform:none}.game-controls .skip-btn{background-color:initial;border:1px solid #0000001f;color:var(--text-muted);min-width:auto;padding:0 20px}.game-controls .skip-btn:hover:not(:disabled){background-color:#2596be14;border-color:var(--primary-color);box-shadow:none;color:var(--primary-color);transform:none}.game-controls .control-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.game-record-btn{align-items:center;background:var(--bg-white);border:2px solid var(--primary-bg-light);border-radius:16px;box-shadow:0 2px 8px #0000001a;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:1rem;font-weight:600;gap:.75rem;padding:1.5rem 3rem;transition:all .3s ease}.game-record-btn:hover:not(:disabled){background:var(--primary-bg);border-color:var(--primary-color);box-shadow:0 4px 12px #2596be33;transform:translateY(-2px)}.game-record-btn:disabled{cursor:not-allowed;opacity:.5}.game-record-btn.recording{background:#fff5f5;border-color:var(--error-color)}.game-record-icon{align-items:center;display:flex;height:48px;justify-content:center;width:48px}.game-record-circle{background:var(--error-color);border-radius:50%;height:32px;transition:all .3s ease;width:32px}.game-record-btn:hover:not(:disabled) .game-record-circle{transform:scale(1.1)}.game-recording-pulse{animation:game-pulse 1.5s ease-in-out infinite;background:var(--error-color);border-radius:50%;height:32px;width:32px}@keyframes game-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.game-completed{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.completion-header{margin-bottom:2rem}.trophy-icon{animation:bounce 1s ease infinite;color:var(--primary-color);margin-bottom:1rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.completion-title{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin:0}.completion-stats{background:var(--bg);border:1px solid var(--border);border-radius:16px;display:flex;gap:2rem;margin-bottom:2rem;padding:2rem}.completion-stat{align-items:center;display:flex;flex-direction:column;gap:.5rem}.completion-stat .stat-number{color:var(--accent-purple);font-size:3rem;font-weight:700}.completion-stat .stat-text{color:var(--text-muted);font-size:1rem}.completion-message{background:var(--bg-white);border:2px solid var(--primary-bg-light);border-radius:12px;line-height:1.6;margin-bottom:2rem;max-width:600px;padding:1.5rem}.completion-message p{color:var(--text-secondary);font-size:1.125rem;margin:0}.game-restart-btn{align-items:center;background:var(--primary-color);border:none;border-radius:50px;box-shadow:0 4px 15px #2596be4d;color:var(--bg-white);cursor:pointer;display:flex;font-size:1.125rem;font-weight:600;gap:.75rem;padding:1rem 2.5rem;transition:all .3s ease}.game-restart-btn:hover{background:var(--primary-dark);box-shadow:0 6px 20px #2596be66;transform:translateY(-2px)}.completion-prize{background:linear-gradient(135deg,#fef9e7,#fdf3cd);border:2px solid #f4c542;border-radius:14px;margin-bottom:1.5rem;max-width:480px;padding:1.25rem 1.5rem;text-align:center;width:100%}.completion-prize-text{color:#7d5a00;font-size:1.05rem;font-weight:600;margin:0 0 .5rem}.completion-prize-subtitle{color:#5a4200;font-size:.95rem;line-height:1.4;margin:0 0 1rem}.completion-download-btn{align-items:center;background:linear-gradient(135deg,#f4c542,#e6a800);border-radius:50px;box-shadow:0 4px 14px #f4c54273;color:#3d2e00;display:inline-flex;font-size:1rem;font-weight:700;gap:.5rem;padding:.75rem 2rem;text-decoration:none;transition:all .3s ease}.completion-download-btn:hover{background:linear-gradient(135deg,#e6a800,#cc9000);box-shadow:0 6px 20px #f4c5428c;color:#3d2e00;transform:translateY(-2px)}.phrase-progress-container{align-items:center;display:flex;gap:.5rem;padding:.1rem 0}.phrase-progress-bar{background:#e2e8f0;background:var(--primary-bg-light,#e2e8f0);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.phrase-progress-fill{background:linear-gradient(90deg,var(--primary-color) 0,#22c55e 100%);border-radius:4px;height:100%;transition:width .4s ease}.phrase-progress-label{color:var(--primary-color);font-size:.8rem;font-weight:700;min-width:3rem;text-align:right;white-space:nowrap}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}@media (max-width:768px){.game-title{font-size:2rem}.game-subtitle{font-size:1rem}.game-playing,.game-stats{padding:.75rem}.game-stats{flex-wrap:wrap;gap:.5rem}.game-transcription-area,.phrase-display{padding:1rem}.phrase-text{font-size:1rem}.completion-stats{gap:1rem}.completion-stat .stat-number{font-size:2rem}.completion-title{font-size:1.75rem}}.info-modal-backdrop{align-items:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.info-modal-content{animation:slideInModal .3s ease-in-out;background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;position:relative;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInModal{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.info-modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px;z-index:10}.info-modal-close:hover{background:var(--bg-gray);color:var(--text-primary);transform:rotate(90deg)}.info-modal-body{display:flex;flex-direction:column;gap:20px;padding:40px}.info-modal-title{color:var(--primary-color);font-size:1.8rem;font-weight:700;margin:0 0 10px;text-align:center}.info-modal-subtitle{color:var(--text-secondary);font-size:1.2rem;font-weight:600;margin:0 0 15px;text-align:center}.info-section{background:var(--primary-bg);border:2px solid var(--primary-bg-light);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .3s ease}.info-section:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #2596be26}.info-section-image{align-items:center;background:var(--surface);border-radius:8px;display:flex;justify-content:center;margin-bottom:3px;padding:12px;width:100%}.info-product-image{border-radius:6px;height:auto;max-height:200px;max-width:100%;object-fit:contain}.info-section-title{color:var(--primary-dark);font-size:1.3rem;font-weight:700;margin:0 0 10px}.info-section-description{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0 0 10px}.info-features-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0 0 12px;padding:0}.info-features-list li{color:var(--text-secondary);font-size:.95rem;line-height:1.5;padding-left:25px;position:relative}.info-features-list li:before{color:var(--primary-color);content:"✓";font-size:1.1rem;font-weight:700;left:0;position:absolute}.info-link{align-items:center;align-self:flex-start;background:var(--surface);border:2px solid var(--primary-color);border-radius:8px;color:var(--primary-color);display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:all .3s ease}.info-link:hover{background:var(--primary-color);box-shadow:0 4px 12px #2596be4d;color:#fff;transform:translateY(-2px)}.info-contact-section{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);border-radius:12px;box-shadow:0 4px 12px #2596be4d;padding:25px;text-align:center}.info-contact-title{color:#fff;font-size:1.4rem;font-weight:700;margin:0 0 15px}.info-contact-button{align-items:center;background:var(--surface);border:2px solid #fff;border-radius:8px;color:var(--primary-color);display:inline-flex;font-size:1.05rem;font-weight:600;gap:10px;padding:14px 30px;text-decoration:none;transition:all .3s ease}.info-contact-button:hover{background:#0000;border-color:#fff;box-shadow:0 4px 12px #0003;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.info-modal-content{max-height:85vh;width:95%}.info-modal-body{gap:18px;padding:30px 25px}.info-modal-title{font-size:1.5rem}.info-section{padding:18px}.info-section-image{padding:10px}.info-product-image{max-height:150px}.info-section-title{font-size:1.15rem}.info-features-list li{font-size:.9rem}.info-contact-section{padding:25px 20px}.info-contact-title{font-size:1.2rem}}@media (max-width:480px){.info-modal-backdrop{padding:10px}.info-modal-body{gap:15px;padding:25px 20px}.info-modal-title{font-size:1.3rem}.info-section-title{font-size:1.15rem}.info-contact-button,.info-link{font-size:.9rem;padding:12px 18px}}.bottom-tab-bar{background:var(--bg-white);border-top:1px solid #0000000d;box-shadow:0 -1px 3px #00000014;flex-shrink:0;gap:8px;height:80px;min-height:80px;padding:0 16px env(safe-area-inset-bottom,0);width:100%;z-index:1000}.bottom-tab-bar,.tab-button{align-items:center;display:flex;justify-content:center}.tab-button{-webkit-tap-highlight-color:transparent;background:#0000;border:none;color:var(--text-muted);cursor:pointer;flex:1 1;flex-direction:column;gap:4px;max-width:168px;min-width:48px;padding:12px 0;transition:color .2s ease}.icon-wrapper{align-items:center;border-radius:16px;display:flex;height:32px;justify-content:center;position:relative;transition:background-color .2s ease,transform .2s ease;width:64px}.tab-button:hover:not(:disabled) .icon-wrapper{background-color:#0000000a}.tab-button.active .icon-wrapper{background-color:var(--primary-bg-light)}.tab-button.active{color:var(--text-primary)}.tab-button.active svg{color:var(--primary-darker);filter:none}.speaking-icon{filter:brightness(0) saturate(100%) invert(52%) sepia(0) saturate(0) hue-rotate(201deg) brightness(94%) contrast(88%)}.tab-button.active .speaking-icon{filter:brightness(0) saturate(100%) invert(18%) sepia(42%) saturate(2065%) hue-rotate(167deg) brightness(91%) contrast(98%)}.tab-button:disabled{cursor:not-allowed;opacity:.38}.tab-label{font-size:14px;font-weight:500;letter-spacing:.4px;transition:font-weight .2s ease;white-space:nowrap}.tab-button.active .tab-label{color:var(--primary-darker);font-weight:600}.tab-button:active .icon-wrapper{background-color:var(--primary-lighter);transform:scale(.95)}@media (max-width:768px){.bottom-tab-bar{height:72px;padding:0 8px}}@media (max-width:56em) and (orientation:landscape){.bottom-tab-bar{height:60px;justify-content:center;padding:0 20px}.icon-wrapper{background:#0000!important;height:auto;padding:0;width:auto}.tab-button.active{background-color:var(--primary-bg-light)}}.login-page{align-items:center;background:linear-gradient(135deg,var(--accent-900) 0,var(--accent-600) 40%,var(--accent-500) 70%,var(--accent-400) 100%);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100dvh;padding:20px}.login-page:before{background-image:radial-gradient(circle at 20% 80%,#ffffff0a 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0f 0,#0000 50%),radial-gradient(circle at 50% 50%,#4baecf14 0,#0000 70%);content:"";inset:0;pointer-events:none;position:fixed}.login-card{animation:cardAppear .5s cubic-bezier(.16,1,.3,1) both;background:var(--surface);border-radius:24px;box-shadow:0 32px 80px #00000059,0 8px 32px #081e2633;display:flex;max-width:900px;min-height:540px;overflow:hidden;position:relative;width:100%;z-index:1}@keyframes cardAppear{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-branding{align-items:center;background:linear-gradient(160deg,var(--accent-900) 0,var(--accent-600) 50%,var(--accent-500) 100%);display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden;padding:48px 40px;position:relative}.login-branding:before{background:#ffffff0a;height:320px;right:-80px;top:-80px;width:320px}.login-branding:after,.login-branding:before{border-radius:50%;content:"";position:absolute}.login-branding:after{background:#ffffff0d;bottom:-60px;height:200px;left:-60px;width:200px}.login-logo-wrap{background:var(--surface);border-radius:16px;box-shadow:0 4px 20px #00000026;margin-bottom:32px;padding:18px 28px;z-index:1}.login-logo{display:block;height:auto;width:180px}.login-branding-title{color:#fff;font-size:22px;font-weight:700;letter-spacing:.5px;margin:0 0 10px;text-align:center;z-index:1}.login-branding-sub{color:#ffffffbf;font-size:14px;line-height:1.6;max-width:220px;text-align:center;z-index:1}.login-branding-badge{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:32px;display:flex;gap:8px;margin-top:32px;padding:8px 16px;z-index:1}.login-branding-badge svg{flex-shrink:0;opacity:.8}.login-branding-badge span{color:#ffffffd9;font-size:12px;font-weight:500}.login-form-panel{display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:56px 48px}.login-form-header{margin-bottom:36px}.login-form-title{color:var(--text-primary);font-size:26px;font-weight:700;margin:0 0 8px}.login-form-subtitle{color:var(--text-muted);font-size:14px;margin:0}.login-field{margin-bottom:20px}.login-field label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;letter-spacing:.2px;margin-bottom:7px}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-icon{align-items:center;color:var(--text-muted);display:flex;left:14px;pointer-events:none;position:absolute;transition:color .2s}.login-input-wrap input{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-size:14px;outline:none;padding:13px 14px 13px 42px;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.login-input-wrap input::placeholder{color:var(--text-muted)}.login-input-wrap input:focus{background:var(--surface);border-color:var(--accent-500);box-shadow:0 0 0 3px #2596be1f}.login-input-wrap input:focus+.login-input-icon,.login-input-wrap:focus-within .login-input-icon{color:var(--accent-500)}.login-input-wrap.has-error input{background:#fff5f5;border-color:var(--error);box-shadow:0 0 0 3px #d92d201a}.login-input-wrap.is-valid input{background:#f0fff4;border-color:var(--success)}.login-toggle-pass{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:12px;transition:color .2s}.login-toggle-pass:hover{color:var(--accent-500)}.login-valid-icon{align-items:center;animation:popIn .2s cubic-bezier(.34,1.56,.64,1);color:var(--success);display:flex;position:absolute;right:12px}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.login-error-msg{align-items:center;animation:slideDown .18s ease;color:var(--error);display:flex;font-size:12px;gap:5px;margin-top:5px}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-general-error{align-items:center;animation:slideDown .2s ease;background:#fff5f5;border:1px solid #fca5a5;border-radius:10px;color:var(--error-dark);display:flex;font-size:13px;gap:10px;margin-bottom:20px;padding:12px 14px}.login-submit-btn{align-items:center;background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border:none;border-radius:10px;box-shadow:0 4px 14px #2596be66;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.3px;margin-top:8px;padding:14px;transition:transform .15s,box-shadow .15s,opacity .15s;width:100%}.login-submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #2596be8c;transform:translateY(-1px)}.login-submit-btn:active:not(:disabled){box-shadow:0 2px 8px #2596be4d;transform:translateY(0)}.login-submit-btn:disabled{cursor:not-allowed;opacity:.65}.login-spinner{animation:spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:680px){.login-card{border-radius:20px;flex-direction:column;max-width:420px;min-height:0;min-height:auto}.login-branding{border-radius:0;padding:36px 24px 28px}.login-logo{width:140px}.login-branding-badge,.login-branding-sub,.login-branding-title{display:none}.login-form-panel{padding:36px 28px 40px}}.login-register-link{color:var(--text-muted);font-size:13px;margin-top:20px;text-align:center}.login-register-link a{color:var(--accent-500);font-weight:600;text-decoration:none;transition:color .2s}.login-register-link a:hover{color:var(--accent-600);text-decoration:underline}.register-page{align-items:center;background:linear-gradient(135deg,var(--accent-900) 0,var(--accent-600) 40%,var(--accent-500) 70%,var(--accent-400) 100%);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100dvh;padding:20px}.register-page:before{background-image:radial-gradient(circle at 20% 80%,#ffffff0a 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0f 0,#0000 50%),radial-gradient(circle at 50% 50%,#4baecf14 0,#0000 70%);content:"";inset:0;pointer-events:none;position:fixed}.register-card{animation:registerCardAppear .5s cubic-bezier(.16,1,.3,1) both;background:var(--surface);border-radius:24px;box-shadow:0 32px 80px #00000059,0 8px 32px #081e2633;display:flex;max-width:940px;min-height:600px;overflow:hidden;position:relative;width:100%;z-index:1}.register-card--success{justify-content:center;max-width:520px;min-height:0;min-height:auto}@keyframes registerCardAppear{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.register-branding{align-items:center;background:linear-gradient(160deg,var(--accent-900) 0,var(--accent-600) 50%,var(--accent-500) 100%);display:flex;flex:0 0 340px;flex-direction:column;justify-content:center;overflow:hidden;padding:48px 36px;position:relative}.register-branding:before{background:#ffffff0a;border-radius:50%;content:"";height:320px;position:absolute;right:-80px;top:-80px;width:320px}.register-branding:after{background:#ffffff0d;border-radius:50%;bottom:-60px;content:"";height:200px;left:-60px;position:absolute;width:200px}.register-logo-wrap{background:var(--surface);border-radius:16px;box-shadow:0 4px 20px #00000026;margin-bottom:32px;padding:18px 28px;z-index:1}.register-logo{display:block;height:auto;width:180px}.register-branding-title{color:#fff;font-size:22px;font-weight:700;letter-spacing:.5px;margin:0 0 10px;text-align:center;z-index:1}.register-branding-sub{color:#ffffffbf;font-size:14px;line-height:1.6;max-width:240px;text-align:center;z-index:1}.register-branding-badge{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:32px;display:flex;gap:8px;margin-top:32px;padding:8px 16px;z-index:1}.register-branding-badge svg{flex-shrink:0;opacity:.8}.register-branding-badge span{color:#ffffffd9;font-size:12px;font-weight:500}.register-form-panel{display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow-y:auto;padding:44px 48px}.register-form-header{margin-bottom:28px}.register-form-title{color:var(--text-primary);font-size:26px;font-weight:700;margin:0 0 8px}.register-form-subtitle{color:var(--text-muted);font-size:14px;margin:0}.register-field{margin-bottom:18px}.register-field label{color:var(--text-secondary);display:block;font-size:13px;font-weight:600;letter-spacing:.2px;margin-bottom:7px}.register-input-wrap{align-items:center;display:flex;position:relative}.register-input-icon{align-items:center;color:var(--text-muted);display:flex;left:14px;pointer-events:none;position:absolute;transition:color .2s}.register-input-wrap input{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-size:14px;outline:none;padding:13px 14px 13px 42px;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.register-input-wrap input::placeholder{color:var(--text-muted)}.register-input-wrap input:focus{background:var(--surface);border-color:var(--accent-500);box-shadow:0 0 0 3px #2596be1f}.register-input-wrap:focus-within .register-input-icon{color:var(--accent-500)}.register-input-wrap.has-error input{background:#fff5f5;border-color:var(--error);box-shadow:0 0 0 3px #d92d201a}.register-input-wrap.is-valid input{background:#f0fff4;border-color:var(--success)}.register-toggle-pass{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:12px;transition:color .2s}.register-toggle-pass:hover{color:var(--accent-500)}.register-valid-icon{align-items:center;animation:registerPopIn .2s cubic-bezier(.34,1.56,.64,1);color:var(--success);display:flex;position:absolute;right:12px}@keyframes registerPopIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.register-error-msg{align-items:center;animation:registerSlideDown .18s ease;color:var(--error);display:flex;font-size:12px;gap:5px;margin-top:5px}@keyframes registerSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.register-general-error{align-items:center;animation:registerSlideDown .2s ease;background:#fff5f5;border:1px solid #fca5a5;border-radius:10px;color:var(--error-dark);display:flex;font-size:13px;gap:10px;margin-bottom:18px;padding:12px 14px}.register-password-rules{animation:registerSlideDown .18s ease;background:var(--bg);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:5px;list-style:none;margin:8px 0 0;padding:10px 12px}.register-rule-item{align-items:center;display:flex;font-size:12px;gap:7px;transition:color .2s}.register-rule-item.rule-ok{color:var(--success)}.register-rule-item.rule-fail{color:var(--text-muted)}.register-rule-item svg{flex-shrink:0}.register-submit-btn{align-items:center;background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border:none;border-radius:10px;box-shadow:0 4px 14px #2596be66;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.3px;margin-top:8px;padding:14px;transition:transform .15s,box-shadow .15s,opacity .15s;width:100%}.register-submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #2596be8c;transform:translateY(-1px)}.register-submit-btn:active:not(:disabled){box-shadow:0 2px 8px #2596be4d;transform:translateY(0)}.register-submit-btn:disabled{cursor:not-allowed;opacity:.65}.register-spinner{animation:registerSpin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes registerSpin{to{transform:rotate(1turn)}}.register-login-link{color:var(--text-muted);font-size:13px;margin-top:20px;text-align:center}.register-login-link a{color:var(--accent-500);font-weight:600;text-decoration:none;transition:color .2s}.register-login-link a:hover{color:var(--accent-600);text-decoration:underline}.register-success-content{align-items:center;display:flex;flex-direction:column;padding:56px 48px;text-align:center}.register-success-icon{align-items:center;animation:registerPopIn .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border-radius:50%;color:#fff;display:flex;height:72px;justify-content:center;margin-bottom:24px;width:72px}.register-success-title{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 12px}.register-success-text{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 28px;max-width:360px}.register-success-link{align-items:center;background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border-radius:10px;box-shadow:0 4px 14px #2596be66;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 28px;text-decoration:none;transition:transform .15s,box-shadow .15s}.register-success-link:hover{box-shadow:0 6px 20px #2596be8c;transform:translateY(-1px)}@media (max-width:720px){.register-card{border-radius:20px;flex-direction:column;max-width:440px;min-height:0;min-height:auto}.register-branding{border-radius:0;flex:initial;padding:36px 24px 28px}.register-logo{width:140px}.register-branding-badge,.register-branding-sub,.register-branding-title{display:none}.register-form-panel{padding:32px 24px 36px}.register-rules{grid-template-columns:1fr}}.versions-page{--channel-stable-color:var(--success);--channel-stable-bg:color-mix(in srgb,var(--success) 12%,var(--surface));--channel-stable-border:color-mix(in srgb,var(--success) 28%,var(--surface));--channel-beta-color:var(--warning);--channel-beta-bg:color-mix(in srgb,var(--warning) 12%,var(--surface));--channel-beta-border:color-mix(in srgb,var(--warning) 30%,var(--surface));--channel-alpha-color:var(--error);--channel-alpha-bg:color-mix(in srgb,var(--error) 10%,var(--surface));--channel-alpha-border:color-mix(in srgb,var(--error) 28%,var(--surface));background:var(--accent-50);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100dvh;overflow:hidden}.versions-topbar{align-items:center;background:linear-gradient(135deg,var(--accent-900) 0,var(--accent-600) 50%,var(--accent-500) 100%);box-shadow:0 2px 12px #0d4f6b4d;display:flex;flex-shrink:0;height:64px;justify-content:space-between;padding:0 32px}.versions-topbar-left{align-items:center;display:flex;gap:12px}.versions-menu-btn{align-items:center;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;transition:background .2s;width:38px}.versions-menu-btn:hover{background:#ffffff40}.versions-topbar-logo{align-items:center;background:var(--surface);border-radius:10px;display:flex;padding:6px 14px}.versions-topbar-logo img{display:block;height:32px;width:auto}.versions-topbar-right{align-items:center;display:flex;gap:16px}.versions-admin-info{align-items:center;display:flex;gap:10px}.versions-admin-avatar{align-items:center;background:#fff3;border:2px solid #ffffff59;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:34px;justify-content:center;width:34px}.versions-admin-name{color:#ffffffe6;font-size:14px;font-weight:500}.versions-logout-btn{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;color:#ffffffd9;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:background .2s}.versions-logout-btn:hover{background:#ffffff38}.versions-main{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1200px;min-height:0;overflow-y:auto;padding:28px 32px 40px;scrollbar-color:var(--accent-300) #0000;scrollbar-width:thin;width:100%}.versions-main::-webkit-scrollbar{width:6px}.versions-main::-webkit-scrollbar-track{background:#0000}.versions-main::-webkit-scrollbar-thumb{background:var(--accent-300);border-radius:3px}.versions-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px}.versions-page-title{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 4px}.versions-page-subtitle{color:var(--text-muted);font-size:13px;margin:0}.versions-error-message{color:var(--error);margin:0;padding:1rem}.versions-new-btn{align-items:center;background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border:none;border-radius:10px;box-shadow:0 4px 12px #2596be59;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:7px;padding:11px 20px;transition:transform .15s,box-shadow .15s;white-space:nowrap}.versions-new-btn:hover{box-shadow:0 6px 18px #2596be80;transform:translateY(-1px)}.versions-product-tabs{background:var(--surface);border-radius:14px;box-shadow:0 1px 6px #00000014;display:flex;flex-shrink:0;gap:4px;margin-bottom:20px;overflow-x:auto;padding:6px}.versions-product-tab{background:#0000;border:none;border-radius:10px;cursor:pointer;flex:1 1;min-width:140px;padding:10px 18px;text-align:center;transition:background .18s,color .18s,box-shadow .18s}.versions-product-tab-name{color:var(--text-secondary);display:block;font-size:14px;font-weight:600;margin-bottom:2px;transition:color .18s}.versions-product-tab-desc{color:var(--text-muted);display:block;font-size:11px;transition:color .18s}.versions-product-tab.active{background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);box-shadow:0 3px 10px #2596be4d}.versions-product-tab.active .versions-product-tab-name{color:#fff}.versions-product-tab.active .versions-product-tab-desc{color:#ffffffb3}.versions-product-tab:not(.active):hover{background:var(--accent-50)}.versions-product-tab:not(.active):hover .versions-product-tab-name{color:var(--accent-500)}.versions-channel-tabs{display:flex;gap:8px;margin-bottom:20px}.versions-channel-tab{align-items:center;background:var(--surface);border:1.5px solid #0000;border-radius:20px;box-shadow:0 1px 4px #0000000f;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:7px 16px;transition:all .18s}.versions-channel-tab .channel-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.versions-channel-tab.channel-stable{color:var(--text-secondary)}.versions-channel-tab.channel-stable .channel-dot{background:var(--channel-stable-color)}.versions-channel-tab.channel-stable.active{background:var(--channel-stable-bg);border-color:var(--channel-stable-color);color:var(--channel-stable-color)}.versions-channel-tab.channel-stable:not(.active):hover{border-color:var(--channel-stable-border)}.versions-channel-tab.channel-beta{color:var(--text-secondary)}.versions-channel-tab.channel-beta .channel-dot{background:var(--channel-beta-color)}.versions-channel-tab.channel-beta.active{background:var(--channel-beta-bg);border-color:var(--channel-beta-color);color:var(--channel-beta-color)}.versions-channel-tab.channel-beta:not(.active):hover{border-color:var(--channel-beta-border)}.versions-channel-tab.channel-alpha{color:var(--text-secondary)}.versions-channel-tab.channel-alpha .channel-dot{background:var(--channel-alpha-color)}.versions-channel-tab.channel-alpha.active{background:var(--channel-alpha-bg);border-color:var(--channel-alpha-color);color:var(--channel-alpha-color)}.versions-channel-tab.channel-alpha:not(.active):hover{border-color:var(--channel-alpha-border)}.versions-channel-tab .channel-count{background:#00000012;border-radius:10px;font-size:11px;font-weight:700;padding:1px 7px}.versions-table-card{background:var(--surface);border-radius:16px;box-shadow:0 2px 12px #00000012;overflow:hidden}.versions-table-wrap{overflow-x:auto}.versions-table{border-collapse:collapse;table-layout:fixed;width:100%}.versions-table thead tr{background:var(--surface-alt);border-bottom:1.5px solid var(--border)}.versions-table th{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.5px;overflow:hidden;padding:13px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.versions-table th:first-child{width:130px}.versions-table th:nth-child(2){width:100px}.versions-table th:nth-child(3){width:130px}.versions-table th:nth-child(4){width:230px}.versions-table th:nth-child(5){width:150px}.versions-table th:nth-child(6){width:auto}.versions-table th:nth-child(7){width:90px}.versions-table tr{border-bottom:1px solid var(--border);transition:background .15s}.versions-table tbody tr:last-child{border-bottom:none}.versions-table tbody tr:hover{background:var(--bg)}.versions-table tbody tr.row-beta{background:color-mix(in srgb,var(--channel-beta-bg) 70%,var(--surface))}.versions-table tbody tr.row-beta:hover{background:var(--channel-beta-bg)}.versions-table tbody tr.row-alpha{background:color-mix(in srgb,var(--channel-alpha-bg) 70%,var(--surface))}.versions-table tbody tr.row-alpha:hover{background:var(--channel-alpha-bg)}.versions-table td{color:var(--text-secondary);font-size:14px;overflow:hidden;padding:14px 16px;vertical-align:middle}.version-cell{display:flex;flex-direction:column;gap:3px}.version-number{color:var(--text-primary);font-size:14px;font-weight:700}.version-date{color:var(--text-muted);font-size:12px}.channel-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:3px 10px;white-space:nowrap}.channel-badge-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:7px;width:7px}.channel-badge-dot.stable{background:var(--channel-stable-color)}.channel-badge-dot.beta{background:var(--channel-beta-color)}.channel-badge-dot.alpha{background:var(--channel-alpha-color)}.channel-badge.stable{background:var(--channel-stable-bg);border:1px solid var(--channel-stable-border);color:var(--channel-stable-color)}.channel-badge.beta{background:var(--channel-beta-bg);border:1px solid var(--channel-beta-border);color:var(--channel-beta-color)}.channel-badge.alpha{background:var(--channel-alpha-bg);border:1px solid var(--channel-alpha-border);color:var(--channel-alpha-color)}.platform-badge{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:500;gap:5px;padding:3px 9px}.minimum-requirement-badge{background:var(--accent-50);border:1px solid var(--accent-200);border-radius:999px;color:var(--accent-700);display:inline-flex;font-size:12px;font-weight:700;max-width:100%;overflow:hidden;padding:4px 9px;text-overflow:ellipsis;white-space:nowrap}.minimum-requirement-empty{color:var(--text-muted);font-size:13px}.file-cell{align-items:center;display:flex;gap:8px;min-width:0}.file-info{flex:1 1;min-width:0}.file-name{color:var(--text-secondary);font-family:Courier New,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis}.file-name,.file-size{display:block;white-space:nowrap}.file-size{color:var(--text-muted);font-size:11px;margin-top:2px}.download-btn{align-items:center;background:var(--accent-50);border:1px solid var(--accent-200);border-radius:7px;color:var(--accent-500);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:5px 10px;transition:background .15s;white-space:nowrap}.download-btn:hover{background:var(--accent-100)}.notes-cell{max-width:0}.notes-text{color:var(--text-secondary);display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-expand-btn{background:none;border:none;color:var(--accent-500);cursor:pointer;font-size:12px;font-weight:600;margin-left:4px;padding:0;text-decoration:underline;text-underline-offset:2px}.action-btns{display:flex;gap:6px}.action-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s;width:32px}.action-btn.edit{color:var(--accent-500)}.action-btn.edit:hover{background:var(--accent-50);border-color:var(--accent-200)}.action-btn.delete{color:var(--error)}.action-btn.delete:hover{background:var(--channel-alpha-bg);border-color:var(--channel-alpha-border)}.versions-empty{flex-direction:column;padding:64px 32px;text-align:center}.versions-empty,.versions-empty-icon{align-items:center;display:flex;justify-content:center}.versions-empty-icon{background:var(--surface-alt);border-radius:50%;color:var(--accent-300);height:64px;margin-bottom:16px;width:64px}.versions-empty-title{color:var(--text-secondary);font-size:16px;font-weight:700;margin:0 0 6px}.versions-empty-sub{color:var(--text-muted);font-size:13px;margin:0 0 20px}.versions-empty-btn{align-items:center;background:var(--accent-50);border:1.5px dashed var(--accent-300);border-radius:10px;color:var(--accent-500);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:9px 18px;transition:background .15s}.versions-empty-btn:hover{background:var(--accent-100)}.modal-overlay{align-items:center;animation:fadeOverlay .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a1e2d8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}@keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}.modal-card{animation:slideUpModal .25s cubic-bezier(.16,1,.3,1);background:var(--surface);border-radius:20px;box-shadow:0 24px 64px #00000038,0 4px 16px #0000001a;max-height:90dvh;max-width:560px;overflow-y:auto;width:100%}.modal-card-compact{max-width:400px}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:22px 24px 18px}.modal-title{color:var(--text-primary);font-size:17px;font-weight:700;margin:0}.modal-title-sub{color:var(--accent-500);display:block;font-size:13px;font-weight:500;margin:2px 0 0}.modal-close-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all .15s;width:32px}.modal-close-btn:hover{background:var(--surface-alt);color:var(--text-secondary)}.modal-body{display:flex;flex-direction:column;gap:18px;padding:22px 24px}.modal-footer{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px 22px}.modal-footer-centered{gap:12px;justify-content:center}.modal-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{color:var(--text-secondary);font-size:13px;font-weight:600}.modal-label-icon{display:inline;margin-right:4px;vertical-align:middle}.file-input-hidden{display:none}.notes-format-hint{color:var(--text-muted);font-weight:400}.required-indicator{color:var(--error);font-weight:700;margin-left:4px}.form-input{background:var(--bg);border:1.5px solid var(--border);border-radius:9px;color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.form-input:focus{background:var(--surface);border-color:var(--accent-500);box-shadow:0 0 0 3px #2596be1a}.form-input.form-input-error,.form-input.form-input-error:focus{background:color-mix(in srgb,var(--error) 8%,var(--surface));border-color:var(--error);box-shadow:0 0 0 3px color-mix(in srgb,var(--error) 18%,#0000)}.form-error-text,.form-help-text{font-size:12px;line-height:1.35;margin:0}.form-help-text{color:var(--text-muted)}.form-error-text{color:var(--error-dark);font-weight:600}.modal-inline-error{font-size:.8rem;margin-top:4px}.form-textarea{font-family:Courier New,monospace;font-size:13px;line-height:1.6;min-height:96px;resize:vertical}.minimum-requirement-toggle{align-items:flex-start;background:var(--bg);border:1.5px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:12px;transition:border-color .2s,background .2s}.minimum-requirement-toggle:hover{background:var(--accent-50);border-color:var(--accent-200)}.minimum-requirement-toggle input{accent-color:var(--accent-500);flex-shrink:0;height:16px;margin:2px 0 0;width:16px}.minimum-requirement-toggle span{color:var(--text-secondary);display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:3px;line-height:1.35}.minimum-requirement-toggle small{color:var(--text-muted);font-size:12px;font-weight:500}.minimum-requirement-select-wrap{display:flex;flex-direction:column;gap:6px;padding-left:26px}.channel-radio-group{display:flex;gap:8px}.channel-radio-option{flex:1 1;position:relative}.channel-radio-option input[type=radio]{height:0;opacity:0;position:absolute;width:0}.channel-radio-label{align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:9px;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:9px 12px;transition:all .18s}.channel-radio-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.channel-radio-dot.stable{background:var(--channel-stable-color)}.channel-radio-dot.beta{background:var(--channel-beta-color)}.channel-radio-dot.alpha{background:var(--channel-alpha-color)}.channel-radio-option input:checked+.channel-radio-label.stable-label{background:var(--channel-stable-bg);border-color:var(--channel-stable-color);color:var(--channel-stable-color)}.channel-radio-option input:checked+.channel-radio-label.beta-label{background:var(--channel-beta-bg);border-color:var(--channel-beta-color);color:var(--channel-beta-color)}.channel-radio-option input:checked+.channel-radio-label.alpha-label{background:var(--channel-alpha-bg);border-color:var(--channel-alpha-color);color:var(--channel-alpha-color)}.channel-radio-label:hover{background:var(--surface-alt);border-color:var(--border)}.upload-zone{align-items:center;background:var(--bg);border:2px dashed var(--accent-200);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:28px 20px;text-align:center;transition:all .2s}.upload-zone.drag-over,.upload-zone:hover{background:var(--accent-50);border-color:var(--accent-500)}.upload-icon{align-items:center;background:var(--accent-100);border-radius:50%;color:var(--accent-500);display:flex;height:44px;justify-content:center;width:44px}.upload-zone-title{color:var(--text-secondary);font-size:14px;font-weight:600;margin:0}.upload-zone-sub{color:var(--text-muted);font-size:12px;margin:0}.upload-fake-btn{align-items:center;background:var(--surface);border:1.5px solid var(--accent-200);border-radius:8px;color:var(--accent-500);display:inline-flex;font-size:13px;font-weight:600;gap:5px;padding:6px 14px}.upload-progress-wrap{background:var(--accent-50);border:1.5px solid var(--accent-200);border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:14px 16px}.upload-progress-info{align-items:center;display:flex;font-size:13px;justify-content:space-between}.upload-progress-name{color:var(--text-primary);font-weight:600}.upload-progress-pct{color:var(--accent-500);font-weight:700}.upload-progress-bar{-webkit-appearance:none;appearance:none;background:var(--accent-200);border:none;border-radius:4px;height:6px;overflow:hidden;width:100%}.upload-progress-bar::-webkit-progress-bar{background:var(--accent-200)}.upload-progress-bar::-webkit-progress-value{background:linear-gradient(90deg,var(--accent-500),var(--accent-400));border-radius:4px;-webkit-transition:width .3s;transition:width .3s}.upload-progress-bar::-moz-progress-bar{background:linear-gradient(90deg,var(--accent-500),var(--accent-400));border-radius:4px;-moz-transition:width .3s;transition:width .3s}.upload-progress-footer{align-items:center;display:flex;justify-content:space-between}.upload-progress-size{color:var(--text-muted);font-size:12px}.upload-done-wrap{align-items:center;background:var(--channel-stable-bg);border:1.5px solid var(--channel-stable-border);border-radius:12px;display:flex;gap:10px;padding:12px 16px}.upload-done-icon{align-items:center;background:var(--channel-stable-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.upload-done-name{color:var(--channel-stable-color);flex:1 1;font-size:13px;font-weight:600}.upload-replace-btn{border:none;color:var(--accent-500);text-decoration:underline;text-underline-offset:2px}.upload-cancel-btn,.upload-replace-btn{background:none;cursor:pointer;font-size:12px;font-weight:600}.upload-cancel-btn{align-items:center;border:1px solid var(--channel-alpha-border);border-radius:7px;color:var(--channel-alpha-color);display:inline-flex;gap:4px;padding:4px 10px;transition:background .15s}.upload-cancel-btn:hover{background:var(--channel-alpha-bg)}.btn-ghost{background:var(--surface);border:1.5px solid var(--border);border-radius:9px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;transition:background .15s}.btn-ghost:hover{background:var(--surface-alt)}.btn-primary{background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border:none;border-radius:9px;box-shadow:0 3px 10px #2596be4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .15s,box-shadow .15s}.btn-primary:hover{box-shadow:0 5px 16px #2596be73;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,var(--error) 0,var(--error-dark) 100%);border:none;border-radius:9px;box-shadow:0 3px 10px color-mix(in srgb,var(--error) 30%,#0000);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .15s,box-shadow .15s}.btn-danger:hover{box-shadow:0 5px 16px color-mix(in srgb,var(--error) 45%,#0000);transform:translateY(-1px)}.delete-modal-icon{align-items:center;background:var(--channel-alpha-bg);border-radius:50%;color:var(--error);display:flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.delete-modal-body{padding:28px 24px 8px;text-align:center}.delete-modal-title{color:var(--text-primary);font-size:17px;font-weight:700;margin:0 0 8px}.delete-modal-sub{color:var(--text-muted);font-size:13px;margin:0}.notes-popover-overlay{align-items:center;animation:fadeOverlay .15s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a1e2d73;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:900}.notes-popover-card{animation:slideUpModal .2s cubic-bezier(.16,1,.3,1);background:var(--surface);border-radius:16px;box-shadow:0 16px 48px #0000002e;max-width:480px;padding:24px;width:100%}.notes-popover-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.notes-popover-title{color:var(--text-primary);font-size:15px;font-weight:700;margin:0}.notes-popover-content{color:var(--text-secondary);font-family:inherit;font-size:13px;line-height:1.7;white-space:pre-wrap}.versions-pagination{align-items:center;background:var(--surface-alt);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 20px}.versions-pagination-info{color:var(--text-muted);font-size:13px;white-space:nowrap}.versions-pagination-info strong{color:var(--text-secondary);font-weight:600}.versions-pagination-controls{align-items:center;display:flex;gap:4px}.pagination-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;transition:all .15s;width:32px}.pagination-btn:hover:not(:disabled){background:var(--accent-50);border-color:var(--accent-300);color:var(--accent-600)}.pagination-btn:disabled{cursor:not-allowed;opacity:.35}.pagination-btn.active{background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border-color:var(--accent-600);box-shadow:0 2px 8px #2596be59;color:#fff}.pagination-ellipsis{align-items:center;color:var(--text-muted);display:flex;font-size:13px;height:32px;justify-content:center;-webkit-user-select:none;user-select:none;width:32px}@media (max-width:768px){.versions-main{padding:20px 16px 32px}.versions-topbar{padding:0 16px}.versions-product-tabs{gap:2px;padding:4px}.versions-product-tab{min-width:110px;padding:8px 12px}.versions-product-tab-desc{display:none}.modal-row{grid-template-columns:1fr}.file-name{max-width:120px}}.users-page{background:var(--accent-50);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100dvh}.users-topbar{align-items:center;background:linear-gradient(135deg,var(--accent-900) 0,var(--accent-600) 50%,var(--accent-500) 100%);box-shadow:0 2px 12px #0d4f6b4d;display:flex;flex-shrink:0;height:64px;justify-content:space-between;padding:0 32px}.users-topbar-left{align-items:center;display:flex;gap:12px}.users-menu-btn{align-items:center;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;transition:background .2s;width:38px}.users-menu-btn:hover{background:#ffffff40}.users-topbar-logo{align-items:center;background:var(--surface);border-radius:10px;display:flex;padding:6px 14px}.users-topbar-logo img{display:block;height:32px;width:auto}.users-readonly-badge{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:20px;color:#ffffffd9;display:flex;font-size:12px;font-weight:500;gap:5px;padding:4px 12px}.users-topbar-right{align-items:center;display:flex;gap:16px}.users-admin-info{align-items:center;display:flex;gap:10px}.users-admin-avatar{align-items:center;background:#fff3;border:2px solid #ffffff59;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:600;height:34px;justify-content:center;width:34px}.users-admin-name{color:#ffffffe6;font-size:14px;font-weight:500}.users-logout-btn{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;color:#ffffffe6;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:7px 14px;transition:background .2s}.users-logout-btn:hover{background:#ffffff38}.users-main{display:flex;flex:1 1;flex-direction:column;gap:24px;margin:0 auto;max-width:1200px;padding:32px 24px 48px;width:100%}.users-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.users-page-title{align-items:center;color:var(--accent-900);display:flex;font-size:24px;font-weight:700;gap:10px;margin:0 0 6px}.users-page-subtitle{color:var(--text-secondary);font-size:14px;margin:0}.users-refresh-btn{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:border-color .2s,color .2s;white-space:nowrap}.users-refresh-btn:hover:not(:disabled){border-color:var(--accent-500);color:var(--accent-600)}.users-refresh-btn:disabled{cursor:not-allowed;opacity:.5}.users-stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.users-stat-card{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:4px;padding:18px 20px}.users-stat-value{color:var(--accent-700);font-size:28px;font-weight:700;line-height:1}.users-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.users-filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.users-search-wrap{flex:1 1;min-width:200px;position:relative}.users-search-icon{color:var(--text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.users-search-input{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-size:14px;outline:none;padding:10px 36px;transition:border-color .2s;width:100%}.users-search-input:focus{border-color:var(--accent-500)}.users-search-clear{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;padding:2px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.users-search-clear:hover{color:var(--text-primary)}.users-filter-group{display:flex;flex-wrap:wrap;gap:10px}.users-select-wrap{align-items:center;display:flex;position:relative}.users-select{-webkit-appearance:none;appearance:none;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:13px;outline:none;padding:9px 32px 9px 12px;transition:border-color .2s}.users-select:focus{border-color:var(--accent-500)}.users-filter-select{min-width:160px}.users-select-icon{color:var(--text-muted);pointer-events:none;position:absolute;right:10px}.users-error-banner{background:#fef2f2;border:1.5px solid #fecaca;border-radius:10px;font-size:14px;font-weight:500;gap:10px;padding:12px 16px}.users-error-banner,.users-error-retry{align-items:center;color:var(--error-dark);display:flex}.users-error-retry{background:none;border:1px solid var(--error-dark);border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;gap:4px;margin-left:auto;padding:5px 12px}.users-error-retry:hover{background:#fecaca}.users-loading{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:20px}.users-skeleton-rows{display:flex;flex-direction:column;gap:10px}.users-skeleton-row{animation:usersSkeletonShimmer 1.4s infinite;background:linear-gradient(90deg,var(--accent-50) 25%,var(--accent-100) 50%,var(--accent-50) 75%);background-size:200% 100%;border-radius:10px;height:52px}@keyframes usersSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.users-table-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;overflow:hidden}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;font-size:14px;width:100%}.users-table thead tr{background:var(--accent-50);border-bottom:1.5px solid var(--border)}.users-table thead th{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.4px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.users-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.users-table tbody tr:last-child{border-bottom:none}.users-table tbody tr:hover{background:var(--accent-50)}.users-table tbody tr.row-inactive{opacity:.65}.users-table td{color:var(--text-primary);padding:13px 16px;vertical-align:middle}.users-email-cell{align-items:center;display:flex;gap:10px}.users-avatar{align-items:center;background:linear-gradient(135deg,var(--accent-500),var(--accent-700));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:32px;justify-content:center;width:32px}.users-email-text{color:var(--text-primary);font-size:13.5px;word-break:break-all}.role-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:3px 10px;white-space:nowrap}.role-badge.maestro{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.role-badge.admin{background:linear-gradient(135deg,var(--accent-600),var(--accent-500));color:#fff}.role-badge.suscriptor{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.role-badge.invitado{background:var(--surface-alt);border:1px solid var(--border);color:var(--text-secondary)}.users-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:3px 10px}.users-status-badge.active{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.users-status-badge.inactive{background:var(--surface-alt);border:1px solid var(--border);color:var(--text-secondary)}.users-date-cell{color:var(--text-muted);font-size:13px;white-space:nowrap}.users-action-btns{align-items:center;display:flex;gap:6px}.users-action-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:8px;cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .15s;width:30px}.users-action-btn:disabled{cursor:not-allowed;opacity:.4}.users-action-btn.edit{color:var(--accent-600)}.users-action-btn.edit:hover:not(:disabled){background:var(--accent-50);border-color:var(--accent-500)}.users-action-btn.deactivate{color:var(--error)}.users-action-btn.deactivate:hover:not(:disabled){background:#fef2f2;border-color:var(--error)}.users-action-btn.activate{color:var(--success)}.users-action-btn.activate:hover:not(:disabled){background:#f0fdf4;border-color:var(--success)}.users-pagination{align-items:center;background:var(--accent-50);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px 16px}.users-pagination-info{color:var(--text-muted);font-size:12px}.users-pagination-controls{align-items:center;display:flex;gap:4px}.users-pagination-btn{align-items:center;background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:12px;font-weight:500;height:30px;justify-content:center;min-width:30px;padding:0 6px;transition:background .15s,border-color .15s}.users-pagination-btn:hover:not(:disabled):not(.active){background:var(--accent-100);border-color:var(--accent-300)}.users-pagination-btn:disabled{cursor:not-allowed;opacity:.35}.users-pagination-btn.active{background:linear-gradient(135deg,var(--accent-500),var(--accent-600));border-color:var(--accent-600);color:#fff;cursor:default}.users-pagination-ellipsis{color:var(--text-muted);font-size:12px;line-height:30px;padding:0 4px}.users-empty{padding:64px 24px;text-align:center}.users-empty-icon{align-items:center;background:var(--accent-100);border-radius:16px;color:var(--accent-600);display:flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.users-empty-title{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 6px}.users-empty-sub{color:var(--text-muted);font-size:13px;margin:0}.users-modal-overlay{align-items:center;animation:usersModalIn .2s ease both;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#081e268c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}@keyframes usersModalIn{0%{opacity:0}to{opacity:1}}.users-modal-card{animation:usersModalSlide .25s cubic-bezier(.16,1,.3,1) both;background:var(--surface);border-radius:20px;box-shadow:0 24px 64px #081e264d,0 6px 20px #081e2626;max-width:460px;overflow:hidden;width:100%}@keyframes usersModalSlide{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.users-modal-header{align-items:flex-start;display:flex;justify-content:space-between;padding:24px 24px 0}.users-modal-title-row{align-items:center;display:flex;gap:12px}.users-modal-icon-wrap{align-items:center;background:linear-gradient(135deg,var(--accent-600),var(--accent-500));border-radius:12px;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.users-modal-title{color:var(--text-primary);font-size:16px;font-weight:700;margin:0 0 2px}.users-modal-sub{color:var(--text-muted);font-size:13px;margin:0;word-break:break-all}.users-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;padding:4px;transition:color .15s}.users-modal-close:hover{color:var(--text-primary)}.users-modal-body{display:flex;flex-direction:column;gap:20px;padding:24px}.users-form-field{display:flex;flex-direction:column;gap:8px}.users-form-field label{color:var(--text-secondary);font-size:13px;font-weight:600}.users-toggle-btn{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 14px;transition:all .2s;width:-webkit-fit-content;width:fit-content}.users-toggle-btn.active{background:#f0fdf4;border-color:var(--success);color:#166534}.users-toggle-thumb{background:var(--border);border-radius:10px;flex-shrink:0;height:20px;position:relative;transition:background .2s;width:36px}.users-toggle-thumb:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:14px;left:3px;position:absolute;top:3px;transition:transform .2s;width:14px}.users-toggle-btn.active .users-toggle-thumb{background:var(--success)}.users-toggle-btn.active .users-toggle-thumb:after{transform:translateX(16px)}.users-modal-footer{align-items:center;background:var(--accent-50);border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.users-btn-ghost{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:border-color .15s,color .15s}.users-btn-ghost:hover:not(:disabled){border-color:var(--accent-400);color:var(--accent-700)}.users-btn-ghost:disabled{cursor:not-allowed;opacity:.5}.users-btn-primary{align-items:center;background:linear-gradient(135deg,var(--accent-600),var(--accent-500));border:none;border-radius:10px;box-shadow:0 2px 8px #2596be59;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:9px 18px;transition:opacity .15s,transform .1s}.users-btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.users-btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.45;transform:none}.users-confirm-body{padding:32px 24px 20px;text-align:center}.users-confirm-icon{align-items:center;background:#fef3c7;border-radius:50%;color:var(--warning);display:flex;height:48px;justify-content:center;margin:0 auto 14px;width:48px}.users-confirm-title{color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.5;margin:0}@media (max-width:900px){.users-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.users-topbar{padding:0 16px}.users-admin-name{display:none}.users-main{padding:20px 16px 40px}.users-stats-row{gap:10px;grid-template-columns:repeat(2,1fr)}.users-stat-value{font-size:22px}.users-filters-row{align-items:stretch;flex-direction:column}.users-filter-group{justify-content:stretch}.users-filter-select{flex:1 1;min-width:0;min-width:auto}.users-header-row{flex-direction:column}.users-page-title{font-size:20px}}.requirements-page{background:var(--accent-50);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100dvh}.requirements-topbar{align-items:center;background:linear-gradient(135deg,var(--accent-900) 0,var(--accent-600) 50%,var(--accent-500) 100%);box-shadow:0 2px 12px #0d4f6b4d;display:flex;flex-shrink:0;height:64px;justify-content:space-between;padding:0 32px}.requirements-admin-info,.requirements-topbar-left,.requirements-topbar-right{align-items:center;display:flex;gap:12px}.requirements-menu-btn{align-items:center;background:#ffffff26;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;height:38px;justify-content:center;transition:background .2s;width:38px}.requirements-menu-btn:hover{background:#ffffff40}.requirements-topbar-logo{align-items:center;background:var(--surface);border-radius:10px;display:flex;padding:6px 14px}.requirements-topbar-logo img{display:block;height:32px;width:auto}.requirements-admin-avatar{align-items:center;background:#fff3;border:2px solid #ffffff59;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:34px;justify-content:center;width:34px}.requirements-admin-name{color:#ffffffeb;font-size:14px;font-weight:500}.requirements-logout-btn{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;color:#ffffffe6;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:7px 14px;transition:background .2s}.requirements-logout-btn:hover{background:#ffffff38}.requirements-main{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:22px;margin:0 auto;max-width:1200px;padding:32px 24px 48px;width:100%}.requirements-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.requirements-page-title{align-items:center;color:var(--accent-900);display:flex;font-size:24px;font-weight:800;gap:10px;margin:0 0 6px}.requirements-page-subtitle{color:var(--text-secondary);font-size:14px;margin:0}.requirements-btn-primary,.requirements-new-btn{align-items:center;background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border:none;border-radius:10px;box-shadow:0 4px 12px #2596be52;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:7px;justify-content:center;padding:11px 18px;transition:transform .15s,box-shadow .15s,opacity .15s}.requirements-btn-primary:hover:not(:disabled),.requirements-new-btn:hover{box-shadow:0 6px 18px #2596be73;transform:translateY(-1px)}.requirements-btn-danger:disabled,.requirements-btn-ghost:disabled,.requirements-btn-primary:disabled{cursor:not-allowed;opacity:.55}.requirements-stats-row{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:190px minmax(220px,1fr) auto}.requirements-refresh-btn,.requirements-search-wrap,.requirements-stat-card{background:var(--surface);border:1.5px solid var(--border);border-radius:14px}.requirements-stat-card{display:flex;flex-direction:column;gap:4px;padding:16px 18px}.requirements-stat-value{color:var(--accent-700);font-size:28px;font-weight:800;line-height:1}.requirements-stat-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.35px;text-transform:uppercase}.requirements-search-wrap{align-items:center;display:flex;position:relative}.requirements-search-icon{color:var(--text-muted);left:14px;position:absolute}.requirements-search-input{background:#0000;border:none;box-sizing:border-box;color:var(--text-primary);font-size:14px;height:100%;outline:none;padding:0 42px;width:100%}.requirements-search-clear{background:#0000;border:none;color:var(--text-muted);cursor:pointer;display:flex;position:absolute;right:12px}.requirements-refresh-btn{align-items:center;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:7px;padding:0 16px}.requirements-error-banner,.requirements-inline-error{align-items:center;background:#fef2f2;border:1.5px solid #fecaca;border-radius:10px;color:var(--error-dark);display:flex;font-size:14px;font-weight:600;gap:10px}.requirements-error-banner{padding:12px 16px}.requirements-inline-error{padding:10px 12px}.requirements-error-close{background:#0000;border:none;color:var(--error-dark);cursor:pointer;display:flex;margin-left:auto}.requirements-loading-card,.requirements-table-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;overflow:hidden}.requirements-loading-card{display:flex;flex-direction:column;gap:10px;padding:20px}.requirements-skeleton-row{animation:requirementsSkeleton 1.4s infinite;background:linear-gradient(90deg,var(--accent-50) 25%,var(--accent-100) 50%,var(--accent-50) 75%);background-size:200% 100%;border-radius:10px;height:58px}@keyframes requirementsSkeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.requirements-table-wrap{overflow-x:auto}.requirements-table{border-collapse:collapse;font-size:14px;width:100%}.requirements-table thead tr{background:var(--accent-50);border-bottom:1.5px solid var(--border)}.requirements-table th{color:var(--text-secondary);font-size:12px;font-weight:800;letter-spacing:.45px;padding:13px 16px;text-align:left;text-transform:uppercase}.requirements-table th:first-child{width:260px}.requirements-table th:nth-child(3){width:140px}.requirements-table th:nth-child(4){width:110px}.requirements-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.requirements-table tbody tr:hover{background:var(--bg)}.requirements-table tbody tr:last-child{border-bottom:none}.requirements-table td{color:var(--text-secondary);padding:15px 16px;vertical-align:top}.requirements-title-cell{display:flex;flex-direction:column;gap:5px}.requirements-title-text{color:var(--text-primary);font-size:14px;font-weight:800}.requirements-id-text{background:var(--surface-alt);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);font-family:Courier New,monospace;font-size:11px;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.requirements-description-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.45;overflow:hidden}.requirements-date-cell{color:var(--text-muted);font-size:13px;white-space:nowrap}.requirements-action-btns{display:flex;gap:7px}.requirements-action-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all .15s;width:32px}.requirements-action-btn.edit{color:var(--accent-500)}.requirements-action-btn.edit:hover{background:var(--accent-50);border-color:var(--accent-200)}.requirements-action-btn.delete{color:var(--error)}.requirements-action-btn.delete:hover{background:#fef2f2;border-color:#fecaca}.requirements-empty{flex-direction:column;padding:64px 32px;text-align:center}.requirements-empty,.requirements-empty-icon{align-items:center;display:flex;justify-content:center}.requirements-empty-icon{background:var(--surface-alt);border-radius:50%;color:var(--accent-400);height:66px;margin-bottom:16px;width:66px}.requirements-empty-title{color:var(--text-primary);font-size:16px;font-weight:800;margin:0 0 6px}.requirements-empty-sub{color:var(--text-muted);font-size:13px;margin:0 0 18px}.requirements-empty-btn{align-items:center;background:var(--accent-50);border:1.5px dashed var(--accent-300);border-radius:10px;color:var(--accent-600);cursor:pointer;display:inline-flex;font-weight:700;gap:6px;padding:9px 18px}.requirements-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a1e2d8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.requirements-modal-card{background:var(--surface);border-radius:20px;box-shadow:0 24px 64px #00000038,0 4px 16px #0000001a;max-height:90dvh;max-width:560px;overflow-y:auto;width:100%}.requirements-confirm-card{max-width:420px}.requirements-modal-footer,.requirements-modal-header{align-items:center;display:flex;justify-content:space-between;padding:20px 24px}.requirements-modal-header{border-bottom:1px solid var(--border)}.requirements-modal-footer{border-top:1px solid var(--border);gap:10px;justify-content:flex-end}.requirements-footer-centered{justify-content:center}.requirements-modal-title{color:var(--text-primary);font-size:17px;font-weight:800;margin:0}.requirements-modal-sub{color:var(--text-muted);font-size:13px;margin:3px 0 0}.requirements-modal-close{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.requirements-modal-body{display:flex;flex-direction:column;gap:18px;padding:22px 24px}.requirements-form-field{display:flex;flex-direction:column;gap:6px}.requirements-form-field label{color:var(--text-secondary);font-size:13px;font-weight:800}.requirements-form-field label span{color:var(--error)}.requirements-input{background:var(--bg);border:1.5px solid var(--border);border-radius:9px;color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.requirements-input:focus{background:var(--surface);border-color:var(--accent-500);box-shadow:0 0 0 3px #2596be1a}.requirements-input.input-error{background:color-mix(in srgb,var(--error) 8%,var(--surface));border-color:var(--error)}.requirements-textarea{line-height:1.55;min-height:124px;resize:vertical}.requirements-error-text,.requirements-help-text{font-size:12px;line-height:1.35;margin:0}.requirements-help-text{color:var(--text-muted)}.requirements-error-text{color:var(--error-dark);font-weight:700}.requirements-btn-danger,.requirements-btn-ghost{border-radius:9px;cursor:pointer;font-size:13px;font-weight:800;padding:9px 16px;transition:all .15s}.requirements-btn-ghost{background:var(--surface);border:1.5px solid var(--border);color:var(--text-secondary)}.requirements-btn-ghost:hover:not(:disabled){background:var(--surface-alt)}.requirements-btn-danger{background:var(--error);border:1.5px solid var(--error);color:#fff}.requirements-confirm-body{padding:28px 24px 8px;text-align:center}.requirements-confirm-icon{align-items:center;background:#fef2f2;border-radius:50%;color:var(--error);display:flex;height:54px;justify-content:center;margin:0 auto 14px;width:54px}.requirements-confirm-title{color:var(--text-primary);font-size:16px;font-weight:800;margin:0 0 7px}.requirements-confirm-sub{color:var(--text-muted);font-size:13px;line-height:1.45;margin:0}@media (max-width:760px){.requirements-topbar{padding:0 16px}.requirements-admin-name{display:none}.requirements-main{padding:24px 16px 36px}.requirements-stats-row{grid-template-columns:1fr}.requirements-refresh-btn{justify-content:center;min-height:44px}}.account-pending-page{align-items:center;background:linear-gradient(135deg,var(--accent-900) 0,var(--accent-600) 45%,var(--accent-500) 75%,var(--accent-400) 100%);display:flex;justify-content:center;min-height:100dvh;padding:20px}.account-pending-card{animation:pendingCardAppear .5s cubic-bezier(.16,1,.3,1) both;justify-content:center;max-width:520px}@keyframes pendingCardAppear{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.account-pending-success-content{align-items:center;display:flex;flex-direction:column;padding:56px 48px;text-align:center}.account-pending-success-icon{align-items:center;animation:pendingPopIn .4s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border-radius:50%;color:#fff;display:flex;height:72px;justify-content:center;margin-bottom:24px;width:72px}@keyframes pendingPopIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.account-pending-success-title{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 12px}.account-pending-success-text{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 28px;max-width:360px}.account-pending-success-link{align-items:center;background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border-radius:10px;box-shadow:0 4px 14px #2596be66;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 28px;text-decoration:none;transition:transform .15s,box-shadow .15s}.account-pending-success-link:hover{box-shadow:0 6px 20px #2596be8c;transform:translateY(-1px)}.account-pending-page:before{background-image:radial-gradient(circle at 15% 85%,#ffffff0f 0,#0000 50%),radial-gradient(circle at 85% 20%,#ffffff0f 0,#0000 50%),radial-gradient(circle at 50% 50%,#4baecf14 0,#0000 65%);content:"";inset:0;pointer-events:none;position:fixed}.account-pending-card{background:var(--surface);border-radius:24px;box-shadow:0 30px 80px #00000059,0 8px 30px #081e262e;display:flex;max-width:920px;min-height:520px;overflow:hidden;position:relative;width:100%;z-index:1}.account-pending-branding{align-items:center;background:linear-gradient(160deg,var(--accent-900) 0,var(--accent-600) 55%,var(--accent-500) 100%);color:#fff;display:flex;flex:0 0 330px;flex-direction:column;justify-content:center;padding:42px 28px;text-align:center}.account-pending-logo-wrap{background:var(--surface);border-radius:14px;box-shadow:0 4px 18px #00000029;margin-bottom:26px;padding:16px 24px}.account-pending-logo{display:block;height:auto;width:165px}.account-pending-branding-title{font-size:22px;font-weight:700;margin:0 0 10px}.account-pending-branding-sub{color:#ffffffc7;font-size:14px;line-height:1.6;margin:0}.account-pending-content{flex:1 1;flex-direction:column;padding:44px 42px;text-align:center}.account-pending-content,.account-pending-icon-wrap{align-items:center;display:flex;justify-content:center}.account-pending-icon-wrap{background:linear-gradient(135deg,var(--accent-50) 0,var(--accent-100) 100%);border:1px solid var(--accent-200);border-radius:50%;color:var(--accent-500);height:86px;margin-bottom:24px;width:86px}.account-pending-title{color:var(--text-primary);font-size:30px;line-height:1.2;margin:0}.account-pending-text{color:var(--text-secondary);font-size:15px;line-height:1.7;margin:16px 0 0;max-width:500px}.account-pending-actions{margin-top:30px}.account-pending-btn{align-items:center;background:linear-gradient(135deg,var(--accent-500) 0,var(--accent-600) 100%);border-radius:10px;box-shadow:0 4px 14px #2596be59;color:#fff;display:inline-flex;font-weight:600;justify-content:center;padding:12px 24px;text-decoration:none;transition:transform .15s,box-shadow .15s}.account-pending-btn:hover{box-shadow:0 6px 18px #2596be80;transform:translateY(-1px)}@media (max-width:760px){.account-pending-card{flex-direction:column;max-width:460px;min-height:auto}.account-pending-branding{flex:initial;padding:30px 22px}.account-pending-branding-sub{display:none}.account-pending-content{padding:34px 24px 38px}.account-pending-title{font-size:24px}}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#081e2673;inset:0;opacity:0;position:fixed;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;z-index:900}.sidebar-overlay.visible{opacity:1;visibility:visible}.sidebar{background:var(--surface);box-shadow:4px 0 24px #00000026;display:flex;flex-direction:column;height:100dvh;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1);width:280px;z-index:950}.sidebar.open{transform:translateX(0)}.sidebar-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 20px 16px}.sidebar-logo-link{align-items:center;display:inline-flex;text-decoration:none;transition:opacity .2s}.sidebar-logo-link:hover{opacity:.8}.sidebar-logo{height:30px;width:auto}.sidebar-close-btn{align-items:center;background:var(--surface-alt);border:none;border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s,color .2s;width:36px}.sidebar-close-btn:hover{background:var(--border);color:var(--text-primary)}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:16px 12px}.sidebar-section-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.8px;padding:12px 12px 6px;text-transform:uppercase}.sidebar-link{align-items:center;border-radius:10px;color:var(--text-secondary);display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 14px;text-decoration:none;transition:background .15s,color .15s}.sidebar-link:hover{background:var(--accent-50);color:var(--accent-600)}.sidebar-link:hover svg{color:var(--accent-500)}.sidebar-link svg{color:var(--text-muted);flex-shrink:0;transition:color .15s}.sidebar-divider{background:var(--border);height:1px;margin:8px 12px}.sidebar-user-profile{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;display:flex;gap:10px;margin-bottom:4px;padding:10px 14px}.sidebar-user-avatar{align-items:center;background:var(--accent-50);border:1px solid var(--accent-200);border-radius:50%;color:var(--accent-600);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.sidebar-user-email{color:var(--text-primary);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout-btn{background:none;border:none;color:#e53e3e;color:var(--danger,#e53e3e);cursor:pointer;text-align:left;width:100%}.sidebar-logout-btn:hover{background:#e53e3e0f}.sidebar-logout-btn svg,.sidebar-logout-btn:hover{color:#e53e3e;color:var(--danger,#e53e3e)}.sidebar-footer{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding:16px 20px}.sidebar-footer-badge{align-items:center;align-self:flex-start;background:var(--accent-50);border:1px solid var(--accent-200);border-radius:20px;display:inline-flex;gap:6px;padding:5px 12px}.sidebar-footer-badge svg{color:var(--accent-500)}.sidebar-footer-badge span{color:var(--accent-600);font-size:11px;font-weight:600}.sidebar-footer-text{color:var(--text-muted);font-size:11px;margin:0}.header-menu-btn{align-items:center;background:var(--surface-alt);border:none;border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:background .2s,color .2s,transform .15s;width:40px}.header-menu-btn:hover{background:var(--accent-50);color:var(--accent-600)}.header-menu-btn:active{transform:scale(.95)}@media (max-width:400px){.sidebar{width:100%}}
/*# sourceMappingURL=main.b2c8a3e9.css.map*/