@import"https://fonts.cdnfonts.com/css/sf-pro-display";@import"https://fonts.cdnfonts.com/css/uncut-sans";.gradient-text-content{display:inline-block;background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gradient-flow linear infinite}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.full-screen-loader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:var(--background-light);z-index:9999}.full-screen-loader-text{font-size:1.5rem;color:var(--text-medium);font-weight:600}.global-error-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background-color:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}.global-error-box{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;padding:2rem;background-color:#fff;border-radius:.75rem;max-width:400px;width:90%;box-shadow:0 10px 25px #0000001a}.global-error-icon{color:#dc2626}.global-error-title{margin:0 0 .5rem;color:#1e293b;font-size:1.25rem;font-weight:700}.global-error-message{margin:0;color:#64748b;line-height:1.5}.global-error-code{font-size:.8em;opacity:.7;display:block;margin-top:.5rem}.global-error-btn{min-width:150px}.auth-page-container{font-family:Inter,sans-serif;background-color:#f0f4f8;color:#475569;display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%}.login-page-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;display:flex;align-items:center;justify-content:center;min-height:100vh}.login-page-wrapper,.auth-container,.auth-header,.auth-footer,.auth-form,.input-group,.auth-header h1,.auth-header p{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.auth-container input,.auth-container textarea,.auth-container button,.auth-container a{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.background-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.background-layer.dots-background{background-color:#f5f6fb;background-image:radial-gradient(rgba(30,41,59,.18) 1px,transparent 1px);background-size:20px 20px;background-position:center}.content-layer{position:relative;z-index:2;width:100%;padding:2rem 0;display:flex;align-items:center;justify-content:center}.login-content-wrapper{display:flex;flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:26rem}.login-page-title{font-family:SF Pro Display,sans-serif;font-size:3.5rem;font-weight:800;color:var(--text-dark);text-align:center;text-shadow:0 2px 30px rgba(0,0,0,.3)}.auth-body{width:100%;display:flex;align-items:center;justify-content:center;background-color:transparent}.auth-container{background-color:#fff;padding:2.5rem;border-radius:.75rem;box-shadow:0 5px 25px #0003;width:100%;text-align:center}.auth-header h1{font-size:1.875rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.auth-header p{color:#64748b;margin-bottom:2rem}.auth-form{width:100%;display:flex;flex-direction:column;gap:1.25rem}.input-group{text-align:left}.input-group label{display:block;font-weight:500;margin-bottom:.5rem;color:#475569}.input-group input{width:100%;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:.375rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.submit-btn{width:100%;background-color:var(--primary-color);color:#fff;padding:.875rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s,opacity .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px}.submit-btn:hover{background-color:var(--primary-hover-color)}.submit-btn:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.7}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:#94a3b8;font-size:.875rem;font-weight:500}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background-color:#e2e8f0}.auth-divider span{padding:0 1rem}.oauth-group{display:flex;flex-direction:column;gap:1rem;width:100%}.google-btn{width:100%;background-color:#fff;color:#1e293b;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background-color .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 1px 2px #0000000d}.google-btn:hover{background-color:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.google-btn:active{background-color:#f1f5f9;transform:translateY(0)}.loader{width:18px;height:18px;border:2px solid #ffffff;border-bottom-color:transparent;border-radius:50%;display:inline-block;animation:rotation 1s linear infinite}.auth-footer{margin-top:2rem;font-size:.875rem;color:#64748b}.auth-footer a,.auth-footer-link{color:var(--primary-color);font-weight:600;text-decoration:none;cursor:pointer}.auth-footer a:hover,.auth-footer-link:hover{text-decoration:underline}.introduction-page-title{font-size:2.5rem;font-weight:800;color:var(--text-dark);margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem;text-align:center}.content-section{background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.75rem;padding:2.5rem;margin-bottom:2rem;max-width:896px}.content-section h2{font-size:1.8rem;font-weight:700;color:var(--text-dark);margin-bottom:1.5rem}.content-section p,.content-section li{font-size:1rem;color:var(--text-medium);margin-bottom:1rem}.content-section ul{list-style-position:inside;padding-left:.5rem}.content-section strong{color:var(--text-dark);font-weight:600}.content-section .icon{display:inline-block;margin-right:.5rem;vertical-align:middle;color:var(--primary-color)}.main-content{flex-grow:1;padding:2rem;width:100%;margin:0 auto;box-sizing:border-box}.main-content.width-intro,.main-content.width-practice{max-width:960px}.main-content.width-records{max-width:1200px}.main-content.width-friends{max-width:1080px}.main-content.width-profile{max-width:720px}.report-card-v2{width:100%;background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem 2rem;margin-top:0rem;box-shadow:0 4px 12px #0000000d;animation:fadeIn .5s ease-out;font-family:Menlo,Consolas,monospace;font-size:.9rem;line-height:1.7;color:var(--text-dark)}.report-header{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.header-text{font-weight:700;color:var(--text-medium);white-space:nowrap}.divider{border:none;height:1px;width:100%}.divider.main,.divider.sub{background:linear-gradient(to right,transparent,var(--border-color),transparent)}.comparison-section-v2{display:flex;flex-direction:column;gap:.5rem}.analysis-line{display:flex;align-items:flex-start}.line-label{flex-shrink:0;width:100px;color:var(--text-medium);font-weight:600}.line-content{flex-grow:1}.phoneme-wrapper{display:flex;flex-wrap:wrap;gap:.5rem}.word-block{white-space:pre}.phoneme{font-weight:500}.phoneme-correct{color:var(--success-color)}.phoneme-substitution{color:var(--danger-color);font-weight:700}.phoneme-omission{color:#f59e0b;font-weight:700}.phoneme-insertion{color:#8b5cf6;font-weight:700}.summary-details{padding:0 1rem}.report-action-footer{display:flex;flex-direction:column;gap:.75rem;justify-content:center;align-items:center;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--border-color);font-family:SF Pro Display,-apple-system,PingFang TC,Microsoft JhengHei,sans-serif}.report-action-footer button{font-family:inherit}:root{--modal-bg: #ffffff;--modal-overlay-bg: rgba(0, 0, 0, .6);--modal-border-color: #e0e0e0;--modal-shadow: 0 5px 15px rgba(0, 0, 0, .2);--modal-text-primary: #212529;--modal-text-secondary: #6c757d;--modal-accent-color: #007bff;--modal-error-bg: #fff5f5;--modal-error-border: #fcc2c3;--modal-focus-bg: #f0f7ff;--modal-focus-border: #b3d7ff}[data-theme=dark]{--modal-bg: #2d3748;--modal-border-color: #4a5568;--modal-text-primary: #edf2f7;--modal-text-secondary: #a0aec0;--modal-accent-color: #63b3ed;--modal-error-bg: #422c2e;--modal-error-border: #9b3c4a;--modal-focus-bg: #2c3a50;--modal-focus-border: #4a6a9b}.report-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .3s ease}.report-modal-overlay.visible{opacity:1;pointer-events:auto}.report-modal-content{background:var(--modal-bg);color:var(--modal-text-primary);border-radius:12px;box-shadow:var(--modal-shadow);width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slide-down .3s ease-out}@keyframes slide-down{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.report-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--modal-border-color)}.report-modal-header h3{margin:0;font-size:1.5rem;font-weight:600}.report-modal-close-btn{background:none;border:none;font-size:2rem;line-height:1;color:var(--modal-text-secondary);cursor:pointer;padding:0}.report-modal-body{padding:1.5rem;overflow-y:auto;flex-grow:1}.report-section{margin-bottom:2rem}.report-section:last-child{margin-bottom:0}.report-section h4{font-size:1.2rem;font-weight:600;color:var(--modal-accent-color);margin-top:0;margin-bottom:1rem;border-bottom:2px solid var(--modal-accent-color);padding-bottom:.5rem}.summary-text{font-style:italic;color:var(--modal-text-secondary);font-size:1.1rem;line-height:1.6}.error-list,.focus-list{list-style:none;padding:0}.error-list li,.focus-list li{padding:1rem;margin-bottom:.75rem;border-radius:8px;border-left:4px solid}.error-list li{background-color:var(--modal-error-bg);border-color:var(--modal-error-border)}.focus-list li{background-color:var(--modal-focus-bg);border-color:var(--modal-focus-border)}.error-sound,.focus-sound{font-family:Courier New,Courier,monospace;font-weight:700;font-size:1.1rem;color:var(--modal-accent-color)}.error-word{font-style:italic;color:var(--modal-text-secondary);margin-left:.5rem}.error-description,.focus-reason{margin:.5rem 0 0;line-height:1.5}.practice-sentence-section{text-align:center;padding:1.5rem;background-color:var(--modal-focus-bg);border-radius:8px}.practice-sentence-text{font-size:1.25rem;font-weight:500;margin:0;line-height:1.6}.report-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--modal-border-color);background-color:var(--modal-bg);text-align:center}.report-modal-footer p{margin:0;font-size:.8rem;color:var(--modal-text-secondary)}.confirm-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;animation:fadeInOverlay .3s forwards}.confirm-dialog{background-color:#f2f2f7f2;border-radius:14px;box-shadow:0 12px 28px #0003,0 4px 12px #0000001a;width:90%;max-width:400px;text-align:center;padding-top:1.5rem;transform:scale(.95);opacity:0;animation:popInDialog .3s .1s forwards}.confirm-dialog h3{font-size:1.1rem;font-weight:600;color:#1d1d1f;margin:0 1.5rem .5rem}.confirm-dialog p{font-size:.85rem;color:#3c3c43bf;margin:0 1.5rem 1.5rem;line-height:1.4}.confirm-actions{border-top:1px solid rgba(60,60,67,.2);display:flex}.confirm-actions button{flex:1;background-color:transparent;border:none;padding:.8rem;font-size:1.05rem;font-weight:400;cursor:pointer;transition:background-color .2s;font-family:inherit}.confirm-actions button:first-child{border-right:1px solid rgba(60,60,67,.2);color:#007aff;font-weight:600}.confirm-actions button:last-child{color:#ff3b30}.confirm-actions button:hover{background-color:#3c3c431a}.confirm-actions button:active{background-color:#3c3c4326}.confirm-actions button:disabled{cursor:wait;opacity:.65}.confirm-actions button:disabled:hover,.confirm-actions button:disabled:active{background-color:transparent}@keyframes popInDialog{to{transform:scale(1);opacity:1}}.audio-recorder-bar{display:flex;align-items:center;gap:.85rem;background:var(--white-color);border:1px solid var(--border-color);border-radius:999px;height:56px;padding:0 .9rem;box-shadow:0 12px 28px #0f172a1f;min-width:min(720px,94vw);max-width:760px;flex-wrap:nowrap}.audio-recorder-status{background:#f3f4f6;border:1px solid transparent;border-radius:999px;height:40px;padding:0 1.4rem;font-size:.95rem;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .2s ease;min-width:170px;text-align:center;line-height:1}.audio-recorder-status.is-recording{background:#fff5f5;color:#b42318;border-color:#f3c5c5}.audio-recorder-status:disabled{cursor:not-allowed;opacity:.6}.audio-recorder-divider{width:1px;height:32px;background:var(--border-color)}.audio-recorder-mic{position:relative;flex:0 1 220px;max-width:220px}.mic-selector-trigger{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;font-weight:600;color:var(--text-dark);height:36px;padding:0 .65rem;line-height:1;transition:border-color .2s ease,background .2s ease;width:100%}.mic-selector-trigger:hover{border-color:#cbd5f5;background:#f1f5f9}.mic-selector-trigger:focus-visible{outline:2px solid #cbd5f5;outline-offset:2px}.mic-selector-trigger.is-disabled{cursor:not-allowed;opacity:.6}.mic-icon,.mic-chevron{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.mic-icon svg,.mic-chevron svg{width:100%;height:100%}.mic-label{min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.mic-chevron{transition:transform .2s ease}.mic-chevron.is-open{transform:rotate(180deg)}.mic-dropdown{position:absolute;bottom:120%;left:50%;transform:translate(-50%);background:var(--white-color);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 16px 40px #0f172a33;width:280px;padding:.75rem 0;z-index:200}.mic-dropdown-list{max-height:220px;overflow-y:auto}.mic-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem;background:transparent;border:none;text-align:left;font-size:.95rem;cursor:pointer;color:var(--text-dark)}.mic-dropdown-item:hover{background:#f8fafc}.mic-dropdown-item.is-disabled{cursor:default;color:var(--text-medium)}.mic-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mic-item-check{width:18px;height:18px;color:var(--primary-color)}.mic-item-check svg{width:100%;height:100%}.audio-waveform-canvas{display:block}.audio-recorder-waveform{background:#f3f4f6;border-radius:999px;padding:.3rem .5rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 140px;width:140px}.audio-recorder-actions{display:flex;align-items:center;gap:.6rem;margin-left:auto}.audio-recorder-action{width:38px;height:38px;border-radius:50%;border:1px solid var(--border-color);background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.audio-recorder-action:disabled{cursor:not-allowed;opacity:.45}.audio-recorder-record{border-color:#e2e8f0}.audio-recorder-record.is-recording{border-color:#f3c5c5}.record-dot{width:12px;height:12px;border-radius:50%;border:2px solid #111827}.audio-recorder-record.is-recording .record-dot{background:#d92d20;border-color:#d92d20}.audio-recorder-delete svg{width:18px;height:18px;color:var(--text-medium)}.audio-recorder-delete:hover svg{color:#d92d20}@media (max-width: 720px){.audio-recorder-bar{justify-content:center;flex-wrap:wrap}.audio-recorder-actions{margin-left:0}.audio-recorder-divider{display:none}}@media (max-width: 540px){.audio-recorder-bar{border-radius:20px;padding:.75rem}.audio-recorder-status{min-width:unset;width:100%}.mic-label{max-width:140px}}.main-content.width-practice{display:flex;flex-direction:column;align-items:center;padding-bottom:180px}.practice-page-shell{position:relative;isolation:isolate;z-index:0}.practice-page-shell>*{position:relative;z-index:1}.practice-page-shell:before{content:"";position:fixed;top:0;left:var(--sidebar-width, 260px);right:0;bottom:0;z-index:0;pointer-events:none;background:#f8fafc66;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);border-left:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px #ffffff2e}.practice-page-shell .page-title{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;outline:none;border:none;box-shadow:none}[data-theme=dark] .practice-page-shell:before{background:#0206174d;border-left-color:#ffffff14;box-shadow:inset 0 1px #ffffff0a}.difficulty-section{width:100%;display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.difficulty-section .section-title{width:min(100%,760px);margin-bottom:-.2rem;padding:.85rem 1rem .35rem;background-color:var(--background-medium);border-top-left-radius:.75rem;border-top-right-radius:.75rem;text-align:center}.course-practice-page .difficulty-section .section-title{margin-bottom:0;padding-bottom:.85rem;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.section-title{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-bottom:1rem}.difficulty-selector{width:min(100%,760px);display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;background-color:var(--background-medium);padding:0 .5rem .5rem;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.difficulty-selector button{font-family:inherit;font-size:.9rem;font-weight:600;padding:0 1.5rem;border:none;border-radius:.375rem;cursor:pointer;background-color:transparent;color:var(--text-medium);transition:all .2s;min-width:120px;text-align:center;height:42px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.difficulty-selector button:disabled{cursor:not-allowed;opacity:.5}.difficulty-selector button.active{background-color:var(--white-color);color:var(--primary-color);box-shadow:0 2px 10px #00000014}.practice-area{width:100%;text-align:center;margin-bottom:1.5rem;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.practice-text{font-size:3.5rem;font-weight:800;color:var(--text-dark);line-height:1.4;padding:1rem}.practice-controls{display:flex;flex-direction:column;align-items:center;gap:.75rem}.practice-btn{font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text-medium);background:var(--white-color);border:1px solid var(--border-color);border-radius:999px;cursor:pointer;transition:all .2s;width:150px;height:40px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0 1rem}.practice-btn:hover{border-color:var(--text-medium);color:var(--text-dark)}.practice-btn.primary{background-color:var(--primary-color);color:var(--white-color);border-color:var(--primary-color)}.practice-btn.primary:hover{background-color:var(--primary-hover-color);border-color:var(--primary-hover-color)}.practice-btn:disabled{cursor:not-allowed;opacity:.5}.diagnosis-container{width:100%;background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;margin-top:2rem;text-align:left}.diagnosis-container pre{font-family:Menlo,Consolas,monospace;font-size:.9rem;line-height:1.6;color:var(--text-dark);white-space:pre-wrap;word-wrap:break-word}.diagnosis-container .next-btn-wrapper{margin-top:1.5rem;display:flex;justify-content:center}.audio-controls{position:fixed;bottom:0;left:var(--sidebar-width, 260px);right:0;display:flex;justify-content:center;padding:1.25rem 1rem 2rem;z-index:100;background:linear-gradient(to top,#f8fafcb8,#f8fafc6b 20%,#f8fafc00 52%);pointer-events:auto;transition:left .3s cubic-bezier(.2,0,0,1)}[data-theme=dark] .audio-controls{background:linear-gradient(to top,#020617e6,#02061780,#02061700)}.record-btn{pointer-events:auto;width:100px;height:100px;border-radius:50%;border:none;background-color:var(--primary-color);color:var(--white-color);cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px #ff906880;position:relative}.record-btn-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.record-btn svg{width:28px;height:28px}.record-btn-text{font-size:.9rem;font-weight:600;line-height:1.2;white-space:nowrap}.record-btn:hover{background-color:var(--primary-hover-color);transform:translateY(-3px)}.record-btn.recording{background-color:var(--danger-color);box-shadow:0 5px 15px #dc262666;animation:pulse 1.5s infinite}.record-timer{font-size:1.75rem;font-weight:700;color:var(--white-color)}@keyframes pulse{0%{box-shadow:0 0 #dc2626b3}70%{box-shadow:0 0 0 20px #dc262600}to{box-shadow:0 0 #dc262600}}.analysis-error-message{margin-top:1.5rem;padding:1rem;background-color:var(--error-bg-light);border:1px solid var(--error-border-color);border-radius:8px;text-align:center;color:var(--error-text-color)}.analysis-error-message p{margin:0;line-height:1.6}.custom-practice-page{gap:1.25rem}.custom-practice-meta{width:min(100%,760px);display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin:-.5rem 0 .35rem}.custom-practice-chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 .95rem;border-radius:999px;background:#ffffff7a;border:1px solid rgba(255,255,255,.62);color:var(--text-medium);font-family:inherit;font-size:.9rem;font-weight:600;line-height:1}.custom-practice-chip-accent{color:#c2410c;background:#fb923c2e;border-color:#fb923c47}.custom-practice-input-shell{width:min(100%,760px);background:#ffffffb3;border:1px solid rgba(255,255,255,.74);border-radius:24px;padding:1.35rem;box-shadow:0 20px 40px #0f172a14}.custom-practice-input-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.custom-practice-eyebrow{margin:0 0 .35rem;color:var(--text-medium);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.custom-practice-heading{margin:0;color:var(--text-dark);font-size:clamp(1.2rem,2vw,1.6rem);font-weight:800;line-height:1.15}.custom-practice-count{display:inline-flex;align-items:center;min-height:36px;padding:0 .85rem;border-radius:999px;background:#ffffffb8;color:var(--text-medium);font-size:.88rem;font-weight:700;line-height:1}.custom-practice-field{display:block}.custom-practice-input-shell-row{display:flex;align-items:stretch;gap:.7rem}.custom-practice-input{flex:1 1 auto;min-height:58px;border:1px solid rgba(203,213,225,.9);border-radius:18px;background:#ffffffd6;padding:0 1.05rem;color:var(--text-dark);font-family:inherit;font-size:1rem;line-height:1;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.custom-practice-submit{width:58px;height:58px;flex:0 0 58px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:18px;background:linear-gradient(135deg,#ffb17f,#ff9068);color:#fff;cursor:pointer;box-shadow:0 12px 24px #ff906847;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.custom-practice-submit:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none;filter:none}.custom-practice-submit:hover{transform:translateY(-1px);box-shadow:0 14px 28px #ff906852;filter:saturate(1.04)}.custom-practice-inline-error{margin:.8rem 0 0;color:#c2410c;font-size:.92rem;font-weight:600;line-height:1.45}.custom-practice-ready-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.95rem;padding:.95rem 1rem;border-radius:18px;background:#ffffff85;border:1px solid rgba(255,255,255,.68)}.custom-practice-ready-copy{min-width:0}.custom-practice-ready-label{display:block;margin-bottom:.3rem;color:var(--text-medium);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.custom-practice-ready-text{margin:0;color:var(--text-dark);font-size:1rem;font-weight:700;line-height:1.45;word-break:break-word}.custom-practice-ready-state{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 .95rem;border-radius:999px;background:#fffc;color:#c2410c;font-size:.88rem;font-weight:700;line-height:1;white-space:nowrap}.custom-practice-sentence-stage{width:min(100%,760px);min-height:auto;margin-bottom:.5rem}.custom-practice-ready-action{border:none;cursor:pointer}.custom-practice-ready-action:disabled{cursor:not-allowed;opacity:.55}.custom-practice-status-alert{width:min(100%,760px);padding:.95rem 1rem;border-radius:16px;font-size:.95rem;font-weight:600;line-height:1.45;text-align:center}.custom-practice-status-error{background:#fee2e2eb;color:#991b1b;border:1px solid rgba(248,113,113,.2)}.custom-practice-status-info{background:#e0f2feeb;color:#075985;border:1px solid rgba(56,189,248,.18)}.custom-practice-submit:focus-visible{outline:2px solid rgba(255,144,104,.38);outline-offset:3px}.custom-practice-submit svg{width:22px;height:22px}.custom-practice-input::placeholder{color:#475569b8}.custom-practice-input:focus{border-color:#ff90688c;box-shadow:0 0 0 4px #ff90681f;background:#ffffffeb}.custom-practice-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.custom-practice-note{display:flex;flex-direction:column;gap:.3rem;padding:.95rem 1rem;border-radius:18px;background:#f8fafceb;border:1px solid rgba(226,232,240,.9)}.custom-practice-note strong{color:var(--text-dark);font-size:.92rem;font-weight:700}.custom-practice-note span{color:var(--text-medium);font-size:.92rem;line-height:1.5}.custom-practice-preview{width:min(100%,760px);margin-top:0}.custom-practice-preview-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.custom-practice-preview-kicker{color:var(--text-medium);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.custom-practice-preview-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 .8rem;border-radius:999px;background:#ffffff14;color:#fffc;font-size:.82rem;font-weight:700;line-height:1}.custom-practice-preview-title{margin:0 0 .75rem;color:var(--white-color);font-size:1.35rem;font-weight:800;line-height:1.2}.custom-practice-preview-copy{margin:0;color:#e2e8f0d1;font-size:.98rem;line-height:1.65}.custom-practice-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.35rem}.custom-practice-preview-card{padding:1rem 1.05rem;border-radius:18px;background:#0f172a38;border:1px solid rgba(148,163,184,.2)}.custom-practice-preview-label{display:block;margin-bottom:.45rem;color:#cbd5e1b8;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.custom-practice-preview-value{margin:0;color:var(--white-color);font-size:1rem;font-weight:600;line-height:1.4}.custom-practice-preview-actions{display:flex;justify-content:center;gap:.75rem;margin-top:1.4rem}@media (max-width: 768px){.custom-practice-input-shell,.custom-practice-preview{width:min(100%,100%)}.custom-practice-input-head,.custom-practice-preview-topline{flex-direction:column;align-items:stretch}.custom-practice-count{align-self:flex-start}.custom-practice-notes,.custom-practice-preview-grid{grid-template-columns:1fr}.custom-practice-preview-actions{flex-direction:column;align-items:center}.custom-practice-input-shell-row{gap:.6rem}.custom-practice-ready-banner{flex-direction:column;align-items:stretch}.custom-practice-ready-state{align-self:flex-start}}[data-theme=dark] .custom-practice-chip{background:#0f172a5c;border-color:#ffffff1f;color:#e2e8f0db}[data-theme=dark] .custom-practice-chip-accent{color:#fdba74;background:#fb923c24;border-color:#fb923c2e}[data-theme=dark] .custom-practice-input-shell{background:#0f172a99;border-color:#ffffff14;box-shadow:0 20px 40px #0206173d}[data-theme=dark] .custom-practice-eyebrow,[data-theme=dark] .custom-practice-count,[data-theme=dark] .custom-practice-note span{color:#cbd5e1c7}[data-theme=dark] .custom-practice-heading,[data-theme=dark] .custom-practice-preview-title,[data-theme=dark] .custom-practice-note strong{color:#fff!important}[data-theme=dark] .custom-practice-count{background:#ffffff0f}[data-theme=dark] .custom-practice-input{background:#0f172ab8;border-color:#94a3b838;color:var(--white-color)}[data-theme=dark] .custom-practice-submit{background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 12px 24px #f973163d}[data-theme=dark] .custom-practice-inline-error{color:#fdba74}[data-theme=dark] .custom-practice-ready-banner{background:#1e293bb8;border-color:#94a3b829}[data-theme=dark] .custom-practice-ready-label{color:#cbd5e1b8}[data-theme=dark] .custom-practice-ready-text{color:#fff}[data-theme=dark] .custom-practice-ready-state{background:#fb923c1f;color:#fdba74}[data-theme=dark] .custom-practice-status-error{background:#7f1d1d57;color:#fecaca;border-color:#f8717129}[data-theme=dark] .custom-practice-status-info{background:#082f4970;color:#bae6fd;border-color:#38bdf824}[data-theme=dark] .custom-practice-input::placeholder{color:#cbd5e18f}[data-theme=dark] .custom-practice-input:focus{background:#0f172ad1}[data-theme=dark] .custom-practice-note{background:#1e293bbd;border-color:#94a3b824}.main-content.width-records{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.records-section{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:.75rem}.records-table{width:100%;border-collapse:collapse;table-layout:fixed;background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;min-width:980px}.records-cell-singleline{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.records-table th,.records-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle}.records-table th{background-color:var(--background-medium);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-medium);position:relative}.records-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:calc(1.25rem + 1em)}.records-table th.sortable:hover{background-color:var(--border-color)}.records-table th.sortable:after{content:\'\';position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;opacity:.3;transition:opacity .2s}.records-table th.sortable:hover:after{opacity:.6}.records-table th.sortable.active:after{opacity:1}.records-table th.sortable.asc:after{border-bottom:5px solid var(--text-medium)}.records-table th.sortable.desc:after{border-top:5px solid var(--text-medium)}.records-table tbody tr:last-child td{border-bottom:none}.records-table tbody tr:not(.details-row):hover{background-color:var(--background-light)}.records-table tbody tr:not(.details-row):nth-child(2n){background-color:var(--white-color)}.records-table tbody tr:not(.details-row):nth-child(odd){background-color:var(--background-light)}.details-btn{font:inherit;font-size:.9rem;font-weight:600;color:var(--primary-color);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:.5rem}.details-btn:hover{background-color:var(--primary-color-light);color:var(--primary-hover-color)}.details-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.details-row{display:table-row}.details-row td{padding:0!important;border-bottom:1px solid var(--border-color)!important}.details-content{background-color:var(--background-light);padding:1.5rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;width:100%;margin-bottom:3rem}@media (max-width: 900px){.dashboard-grid{grid-template-columns:1fr}}.chart-card{background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.chart-title{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-bottom:1rem}.overall-profile-card{width:100%;background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.9rem;overflow:hidden;box-shadow:0 4px 10px -2px #0f172a14}.overall-profile-cover{position:relative;height:140px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover-color));isolation:isolate;overflow:hidden}.overall-profile-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000,#00000059)}.overall-profile-cover-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0}.overall-profile-hero-content{position:relative;z-index:2;padding:1rem 1.5rem 1.25rem}.overall-profile-avatar-block{position:relative;z-index:3;display:flex;align-items:flex-end;gap:1rem;margin-top:-52px}.overall-profile-identity{margin-top:.75rem}.overall-profile-avatar{position:relative;width:96px;height:96px;border-radius:999px;border:none;background-color:var(--background-medium);display:flex;align-items:center;justify-content:center;color:var(--text-dark);font-weight:800}.overall-profile-avatar:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:999px;background:#ffffff38;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #0f172a38,0 10px 24px #0f172a33;backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);pointer-events:none;z-index:0}.overall-profile-avatar-initial{font-size:2rem;line-height:1;position:relative;z-index:1}.overall-profile-avatar-img{width:100%;height:100%;border-radius:999px;object-fit:cover;display:block;opacity:0;transition:opacity .2s ease;position:relative;z-index:1}.overall-profile-avatar-img.is-visible{opacity:1}.overall-profile-avatar-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(90deg,#94a3b840,#94a3b873 45%,#94a3b840);background-size:200% 100%;animation:overallAvatarShimmer 1.2s ease-in-out infinite;z-index:1}.overall-profile-avatar-skeleton.is-hidden{opacity:0;animation:none}@keyframes overallAvatarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.overall-profile-name{font-size:1.4rem;font-weight:800;color:var(--text-dark)}.overall-profile-subtitle{font-size:.9rem;color:var(--text-medium)}.overall-profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1.25rem 1.5rem 1.5rem;background:var(--background-light)}.overall-profile-stat{background:var(--white-color);border-radius:.75rem;padding:1rem;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:.4rem}.overall-profile-stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-medium);font-weight:600}.overall-profile-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-dark)}@media (max-width: 900px){.overall-profile-stats{grid-template-columns:1fr}.overall-profile-cover{height:120px}}.chart-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.chart-card-header .chart-title{margin-bottom:0}.overall-progress-controls{min-width:180px;max-width:220px}.overall-progress-controls .input-group{width:100%}@media (max-width: 600px){.chart-card-header{flex-direction:column;align-items:flex-start}.overall-progress-controls{width:100%;max-width:none}}.chart-card{position:relative;overflow:hidden}.chart-card .apexcharts-canvas{border-radius:.75rem;background-color:var(--background-light);border:1px solid var(--border-color)}.chart-card .apexcharts-svg,.chart-card .apexcharts-canvas svg{border-radius:.75rem}.chart-card .apexcharts-title-text,.chart-card .apexcharts-subtitle-text,.chart-card .apexcharts-xaxis text,.chart-card .apexcharts-yaxis text,.chart-card .apexcharts-datalabel,.chart-card .apexcharts-legend-text{fill:var(--text-medium)!important;font-family:inherit!important}.chart-card .apexcharts-xaxis-label,.chart-card .apexcharts-yaxis-label{fill:var(--text-dark)!important;font-weight:600}.chart-card .apexcharts-gridline,.chart-card .apexcharts-xaxis-tick,.chart-card .apexcharts-yaxis-tick{stroke:var(--border-color)!important}.chart-card .apexcharts-grid-borders line{stroke:var(--border-color)!important}.chart-card .apexcharts-bar-area,.chart-card .apexcharts-pie-area,.chart-card .apexcharts-heatmap-rect,.chart-card .apexcharts-series path,.chart-card .apexcharts-series circle,.chart-card .apexcharts-marker{transition:opacity .16s ease,filter .16s ease,transform .16s ease,stroke .16s ease}.chart-card .apexcharts-bar-area:hover{filter:drop-shadow(0 6px 10px rgba(0,0,0,.1))}.chart-card .apexcharts-marker:hover,.chart-card .apexcharts-series circle:hover{filter:drop-shadow(0 6px 10px rgba(0,0,0,.12));stroke:var(--white-color);stroke-width:2px}.chart-card .apexcharts-pie-area{transform-box:fill-box;transform-origin:center}.chart-card .apexcharts-pie-area:hover{transform:scale(1.015);filter:drop-shadow(0 8px 14px rgba(0,0,0,.12))}.chart-card .apexcharts-tooltip,.chart-card .apexcharts-xaxistooltip,.chart-card .apexcharts-yaxistooltip{border:1px solid var(--border-color)!important;background:var(--white-color)!important;color:var(--text-dark)!important;border-radius:.5rem!important;box-shadow:0 10px 20px #0000001a!important}.chart-card .apexcharts-tooltip-title{background:var(--background-medium)!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-dark)!important;font-weight:700}.chart-card .apexcharts-legend-series{margin:.25rem .6rem .25rem 0!important}.chart-card .apexcharts-legend-marker{border-radius:4px!important}.overall-progress-controls .modern-combobox-wrapper{position:relative;width:100%;cursor:default;overflow:hidden;border-radius:.375rem;background-color:var(--white-color);text-align:left;border:1px solid var(--border-color);transition:all .2s;height:40px;display:flex;align-items:center}.overall-progress-controls .modern-combobox-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.overall-progress-controls .modern-combobox-input{width:100%;border:none;padding:0 2.25rem 0 .9rem;font-size:.95rem;line-height:1.4rem;color:var(--text-dark);background-color:transparent;height:100%;outline:none}.overall-progress-controls .modern-combobox-btn{position:absolute;top:0;bottom:0;right:0;display:flex;align-items:center;padding-right:.5rem;border:none;background:transparent;cursor:pointer;color:var(--text-medium)}.overall-progress-controls .modern-combobox-options{position:absolute;margin-top:.25rem;max-height:15rem;width:100%;overflow:auto;border-radius:.5rem;background-color:var(--white-color);padding:.375rem;font-size:.95rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid var(--border-color);z-index:50;outline:none}.overall-progress-controls .modern-combobox-option{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem .75rem .5rem 2.25rem;color:var(--text-dark);border-radius:.375rem;margin-bottom:.125rem;transition:background-color .1s ease}.overall-progress-controls .modern-combobox-option:last-child{margin-bottom:0}.overall-progress-controls .modern-combobox-option.active{background-color:var(--primary-color-light);color:var(--primary-color-dark)!important}.overall-progress-controls .option-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.overall-progress-controls .option-label.selected{font-weight:600}.overall-progress-controls .option-check{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;padding-left:.75rem;color:var(--primary-color)}.overall-progress-controls .option-check.active{color:var(--primary-color-dark)}.overall-progress-controls .modern-combobox-empty{position:relative;cursor:default;-webkit-user-select:none;user-select:none;padding:.75rem 1rem;color:var(--text-medium);text-align:center;font-style:italic}@media (prefers-reduced-motion: reduce){.chart-card .apexcharts-bar-area,.chart-card .apexcharts-pie-area,.chart-card .apexcharts-heatmap-rect,.chart-card .apexcharts-series path,.chart-card .apexcharts-series circle,.chart-card .apexcharts-marker{transition:none}}.apexcharts-tooltip-custom{background:var(--white-color);color:var(--text-dark);border:1px solid var(--border-color);border-radius:.375rem;padding:.5rem .75rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;font-family:inherit;font-size:.875rem;line-height:1.5}.apexcharts-tooltip-custom b{font-weight:600;color:var(--text-dark)}.overall-progress-chart-card .apexcharts-canvas{background:#f8fafc}.overall-progress-chart-card .apexcharts-xcrosshairs{stroke:#bfdbfe!important;stroke-width:1!important}.overall-progress-chart-card .apexcharts-tooltip{min-height:52px;display:flex;align-items:center;border:1px solid #e5e7eb!important;background:#fff!important;border-radius:.5rem!important;box-shadow:0 8px 20px #0f172a14!important}.overall-progress-chart-card .apexcharts-tooltip-title{display:none!important}.overall-progress-tooltip-simple{min-height:52px;padding:.55rem .7rem;display:flex;flex-direction:column;justify-content:center;gap:.35rem}.overall-progress-tooltip-simple-row{display:flex;align-items:center;gap:.45rem}.overall-progress-tooltip-simple-dot{width:8px;height:8px;border-radius:999px;background:#0a66e8;flex:0 0 auto}.overall-progress-tooltip-simple-label{color:#111827;font-size:.94rem;font-weight:600}.overall-progress-tooltip-simple-value{margin-left:auto;color:#111827;font-size:.94rem;font-weight:700}.overall-progress-tooltip-simple-date{color:#6b7280;font-size:.9rem;line-height:1;padding-left:.8rem}.message-box{--message-bg: #e0f2fe;--message-text: #075985;--message-border: rgba(7, 89, 133, .16);display:flex;align-items:flex-start;gap:.75rem;width:100%;box-sizing:border-box;padding:.75rem 1rem;margin-bottom:1.5rem;border:1px solid var(--message-border);border-radius:.75rem;background:var(--message-bg);color:var(--message-text);box-shadow:0 10px 24px #0f172a14;font-family:inherit}.message-box--success{--message-bg: #dcfce7;--message-text: #166534;--message-border: rgba(22, 101, 52, .16)}.message-box--error{--message-bg: #fee2e2;--message-text: #991b1b;--message-border: rgba(153, 27, 27, .16)}.message-box--info{--message-bg: #e0f2fe;--message-text: #075985;--message-border: rgba(7, 89, 133, .16)}.message-box--warning{--message-bg: #fef3c7;--message-text: #92400e;--message-border: rgba(146, 64, 14, .18)}.message-box--inline{box-shadow:none}.message-box--toast{box-shadow:0 18px 36px #0f172a29}.message-box__body{min-width:0;flex:1}.message-box__text{display:block;font-size:.95rem;font-weight:600;line-height:1.45;text-align:center;font-family:inherit}.toast-stack{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2100;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast-stack__item{width:100%;pointer-events:auto;animation:toast-stack-slide-in .3s ease-out}.toast-stack__item>div{margin-bottom:0}@keyframes toast-stack-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.toast-stack{width:calc(100vw - 24px);top:16px}}.profile-page-container{flex-grow:1;padding:2rem;width:100%;margin:0 auto;max-width:1040px}.profile-shell{display:flex;flex-direction:column;gap:1rem}.profile-hero{border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden;background-color:var(--white-color)}.profile-cover{position:relative;height:180px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover-color));isolation:isolate;overflow:hidden}.profile-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#0000,#00000059);pointer-events:none}.profile-cover-actions{position:absolute;right:1rem;bottom:1.25rem;z-index:6;display:flex;gap:.5rem}.profile-cover-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:0}.profile-hero-content{position:relative;z-index:3;padding:1rem 1.5rem 1.25rem}.profile-avatar-block{position:relative;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:-56px;pointer-events:none}.profile-avatar{position:relative;z-index:5;width:96px;height:96px;border-radius:999px;border:none;box-shadow:none;background:var(--background-medium);background-color:var(--background-medium);display:flex;align-items:center;justify-content:center;color:var(--text-dark);font-weight:800;pointer-events:auto}.profile-avatar:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:999px;background:#ffffff38;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #0f172a38,0 10px 24px #0f172a33;backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);pointer-events:none;z-index:0}.profile-avatar-initial{font-size:2rem;line-height:1;position:relative;z-index:1}.profile-avatar-img{width:100%;height:100%;border-radius:999px;object-fit:cover;display:block;opacity:0;transition:opacity .2s ease;position:relative;z-index:1}.profile-avatar-img.is-visible{opacity:1}.profile-avatar-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:linear-gradient(90deg,#94a3b840,#94a3b873 45%,#94a3b840);background-size:200% 100%;animation:profileAvatarShimmer 1.2s ease-in-out infinite;z-index:1}.profile-avatar-skeleton.is-hidden{opacity:0;animation:none}.profile-avatar-actions{display:flex;align-items:center;gap:.75rem;pointer-events:auto}.profile-identity{margin-top:.75rem}.profile-name-row{display:flex;align-items:center;gap:.75rem}.profile-name{font-size:1.5rem;font-weight:800;color:var(--text-dark)}.profile-badge{font-size:.8rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;background-color:#ecfdf3;border:1px solid #a7f3d0;color:#047857}.profile-handle{margin-top:.15rem;color:var(--text-light);font-size:.95rem}.profile-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.profile-tabs-bar{border:1px solid var(--border-color);border-radius:.75rem;background-color:var(--white-color);padding:.75rem 1rem}.profile-tab{font-family:inherit;font-size:.9rem;font-weight:700;padding:.5rem .75rem;border-radius:999px;border:1px solid var(--border-color);background-color:var(--background-light);color:var(--text-medium);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.profile-tab:hover{background-color:var(--background-medium);color:var(--text-dark)}.profile-tab.active{background-color:var(--background-medium);color:var(--text-dark);border-color:var(--border-color)}.profile-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-ghost-btn{font-family:inherit;height:38px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--glass-bg);color:var(--text-dark);border:1px solid var(--border-color);padding:0 .9rem;font-size:.9rem;font-weight:700;border-radius:.5rem;cursor:pointer;transition:all .2s}.profile-ghost-btn:hover{background-color:var(--white-color);border-color:var(--text-medium)}.profile-text-btn{font-family:inherit;background:transparent;border:none;color:var(--danger-color);font-weight:700;cursor:pointer;padding:.25rem .2rem}.profile-text-btn:disabled{opacity:.5;cursor:not-allowed}.profile-form{background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden;height:min(720px,calc(100vh - 460px));min-height:360px}.profile-panel-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;flex:1 1 auto;overflow:auto}.profile-panel-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--white-color);display:flex;justify-content:flex-end;flex:0 0 auto}.profile-help-text{font-size:.9rem;color:var(--text-light);margin:0;margin-bottom:.75rem}.input-group{display:flex;flex-direction:column}.input-group.profile-theme-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.profile-theme-meta{display:flex;flex-direction:column;gap:.25rem}.profile-theme-label{margin:0}.profile-theme-subtitle{font-size:.875rem;color:var(--text-light)}.profile-theme-toggle{width:42px;height:42px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--background-light);border:1px solid var(--border-color)}.profile-theme-icon{color:inherit}.profile-theme-icon-light{color:#f59e0b}.profile-theme-icon-dark{color:#818cf8}.input-group label{font-weight:600;margin-bottom:.5rem;color:var(--text-dark)}.input-group input,.input-group-select{width:100%;height:44px;box-sizing:border-box;padding:0 1rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem;color:var(--text-medium);transition:border-color .2s,box-shadow .2s;background-color:var(--white-color)}.input-group-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.input-group input:focus,.input-group-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.input-group input:disabled,.input-group input[disabled]{background-color:var(--background-medium)!important;cursor:not-allowed;color:var(--text-medium);border-color:var(--border-color)}.modern-datepicker-wrapper{position:relative;width:100%;cursor:pointer;border-radius:.375rem;background-color:var(--white-color);border:1px solid var(--border-color);transition:all .2s;height:44px;display:flex;align-items:center}.modern-datepicker-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.modern-datepicker-input{width:100%;border:none;padding:0 2.5rem 0 1rem;font-size:1rem;color:var(--text-dark);background-color:transparent;height:100%;outline:none;cursor:pointer}.modern-datepicker-icon{position:absolute;right:.75rem;color:var(--text-medium);display:flex;align-items:center;pointer-events:none}.modern-datepicker-icon svg{width:1.25rem;height:1.25rem}.react-datepicker{font-family:inherit!important;background-color:var(--white-color)!important;color:var(--text-dark)!important;border-color:var(--border-color)!important;border-radius:.5rem!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important;border:1px solid var(--border-color)!important}.react-datepicker__header{background-color:var(--background-light)!important;border-bottom:1px solid var(--border-color)!important;border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important;padding-top:.5rem!important}.react-datepicker__day--selected{background-color:transparent!important;color:var(--text-dark)!important;border-radius:.375rem!important;font-weight:600!important;border:1px solid var(--primary-color)!important}.react-datepicker__day--keyboard-selected{background-color:transparent!important;color:var(--text-dark)!important;outline:none!important;border:none!important}.react-datepicker__day--selected:hover,.react-datepicker__day--keyboard-selected:hover{background-color:var(--background-medium)!important;color:var(--text-dark)!important}.react-datepicker__day:not(.react-datepicker__day--selected):not(.react-datepicker__day--keyboard-selected):hover{background-color:var(--background-medium)!important;color:var(--text-dark)!important;border-radius:.375rem!important}.react-datepicker__day--today{font-weight:700!important;color:var(--primary-color)}.react-datepicker__day--today.react-datepicker__day--selected{color:#fff!important}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{color:var(--text-dark)!important;font-weight:600!important}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:var(--text-medium)!important}.react-datepicker__navigation-icon:before{border-color:var(--text-medium)!important}.form-actions{margin-top:1rem;display:flex;justify-content:flex-end}.readonly-field-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%;height:44px;padding:0 .5rem 0 1rem;border:1px solid var(--border-color);border-radius:.375rem;background-color:var(--background-medium);color:var(--text-medium);font-size:1rem;cursor:not-allowed}.readonly-text{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:.5rem;font-family:monospace;cursor:inherit;-webkit-user-select:all;user-select:all}.copy-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:.25rem;color:var(--text-light);transition:all .2s}.copy-btn:hover{background-color:var(--border-color);color:var(--text-dark)}.update-btn{font-family:inherit;font-size:1rem;font-weight:600;background-color:var(--primary-color);color:var(--white-color);padding:0 2rem;border:none;border-radius:.375rem;cursor:pointer;transition:background-color .2s,opacity .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;height:44px;line-height:1}.update-btn:hover{background-color:var(--primary-hover-color)}.update-btn:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.7}.loader{width:18px;height:18px;border:2px solid var(--white-color);border-bottom-color:transparent;border-radius:50%;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes profileAvatarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.message{padding:.75rem 1rem;margin-bottom:1.5rem;border-radius:.375rem;font-weight:500;text-align:center}.message.success{background-color:#dcfce7;color:#166534}.message.error{background-color:#fee2e2;color:#991b1b}.message.info{background-color:#e0f2fe;color:#075985}.secondary-btn{height:38px;display:inline-flex;align-items:center;background-color:var(--background-medium);color:var(--text-dark);border:1px solid var(--border-color);padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;border-radius:.375rem;cursor:pointer;transition:all .2s;align-self:flex-start}.secondary-btn:hover{background-color:var(--border-color);border-color:var(--text-medium)}.secondary-btn.profile-theme-toggle{width:42px;height:42px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--background-light);border:1px solid var(--border-color)}.profile-theme-row .profile-theme-label{margin-bottom:0}.modern-combobox-input{width:100%;border:none;padding:0 2.5rem 0 1rem;font-size:1rem;line-height:1.5rem;color:var(--text-dark);background-color:transparent;height:100%;outline:none}.modern-combobox-options.modern-combobox-options-portal{z-index:99999!important}.profile-form{position:relative;z-index:1}.profile-avatar-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:3000}.profile-avatar-modal{width:min(560px,92vw);background:var(--white-color);border:1px solid var(--border-color);border-radius:.9rem;box-shadow:0 20px 45px #0f172a33;overflow:hidden;display:flex;flex-direction:column;font-family:inherit}.profile-avatar-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.profile-avatar-modal-title{font-size:1.1rem;font-weight:700;color:var(--text-dark)}.profile-avatar-modal-close{border:none;background:transparent;color:var(--text-medium);font-weight:600;cursor:pointer;font-family:inherit;font-size:1rem;line-height:1;padding:.25rem .5rem;display:inline-flex;align-items:center;justify-content:center}.profile-cover-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:3000}.profile-cover-modal{width:fit-content;min-width:min(720px,92vw);max-width:92vw;background:var(--white-color);border:1px solid var(--border-color);border-radius:.9rem;box-shadow:0 20px 45px #0f172a33;overflow:hidden;display:flex;flex-direction:column;font-family:inherit}.profile-cover-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.profile-cover-modal-title{font-size:1.1rem;font-weight:700;color:var(--text-dark)}.profile-cover-modal-close{border:none;background:transparent;color:var(--text-medium);font-weight:600;cursor:pointer;font-family:inherit;font-size:1rem;line-height:1;padding:.25rem .5rem;display:inline-flex;align-items:center;justify-content:center}.profile-cover-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.profile-cover-preview{border-radius:.75rem;border:1px solid var(--border-color);background:var(--background-medium);padding:1rem;display:flex;justify-content:center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.profile-cover-preview-frame{position:relative;height:180px;width:fit-content;display:inline-flex;flex:0 0 auto;border-radius:.6rem;overflow:hidden;box-shadow:0 12px 26px #0f172a2e;background:var(--background-light);transition:box-shadow .2s ease}.profile-cover-preview-frame:hover{box-shadow:0 14px 30px #0f172a38}.profile-cover-preview-canvas-wrap{position:relative;width:100%;height:100%;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.profile-cover-preview-canvas-wrap.is-grabbing{cursor:grabbing}.profile-cover-preview-canvas{display:block;width:auto;height:100%;background:var(--background-light)}.profile-cover-drag-hint{position:absolute;left:50%;top:.75rem;transform:translate(-50%);padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600;color:#fff;background:#0f172a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;white-space:nowrap}.profile-cover-resize-handle{position:absolute;top:0;bottom:0;width:18px;border:none;background:transparent;cursor:ew-resize;opacity:0;transition:opacity .2s ease,background .2s ease;z-index:2}.profile-cover-resize-handle.left{left:0}.profile-cover-resize-handle.right{right:0}.profile-cover-preview-frame:hover .profile-cover-resize-handle{opacity:1}.profile-cover-resize-handle:hover{background:linear-gradient(90deg,#0f172a40,#0f172a00)}.profile-cover-resize-handle.right:hover{background:linear-gradient(270deg,#0f172a40,#0f172a00)}.profile-cover-controls{display:flex;flex-direction:column;gap:1rem}.profile-cover-control{display:flex;flex-direction:column;gap:.5rem}.profile-cover-label{font-weight:600;color:var(--text-dark)}.profile-cover-helper{font-size:.9rem;color:var(--text-light)}.profile-cover-modal-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem}.profile-cover-modal-btn{min-width:120px;height:44px;padding:0 1.5rem;font-size:1rem;font-weight:600;font-family:inherit;line-height:1;display:inline-flex;align-items:center;justify-content:center}.profile-avatar-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.profile-cropper{position:relative;width:100%;height:320px;border-radius:.75rem;overflow:hidden;background:var(--background-medium)}.profile-cropper-container{border-radius:.75rem}.profile-crop-area{border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 9999px #0f172a8c}.profile-crop-media{filter:saturate(1.02)}.profile-crop-controls{display:flex;align-items:center;gap:1rem}.profile-crop-label{font-weight:600;color:var(--text-dark)}.profile-crop-range{flex:1;accent-color:var(--primary-color)}.profile-avatar-modal-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem}.profile-avatar-modal-btn{min-width:120px;height:44px;padding:0 1.5rem;font-size:1rem;font-weight:600;font-family:inherit;line-height:1;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 900px){.profile-avatar-block{flex-direction:column;align-items:flex-start}.profile-form{height:auto;min-height:unset}.profile-panel-body{overflow:visible}}@media (max-width: 520px){.profile-page-container{padding:1rem}.profile-hero-content{padding:1rem 1rem 1.25rem}.profile-panel-body,.profile-panel-footer{padding-left:1rem;padding-right:1rem}}.sidebar{display:flex;flex-direction:column;background-color:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--border-color);height:100vh;transition:width .3s cubic-bezier(.2,0,0,1);width:260px;flex-shrink:0;position:sticky;top:0;z-index:1100}.sidebar.collapsed{width:72px}.sidebar-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;margin-bottom:1rem}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.sidebar-logo{font-weight:800;font-size:1.25rem;color:var(--primary-color);white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .2s}.sidebar.collapsed .sidebar-logo{display:none;opacity:0}.sidebar-toggle{background:transparent;border:none;cursor:pointer;color:var(--text-medium);display:flex;align-items:center;justify-content:center;padding:6px;border-radius:6px;transition:background-color .2s}.sidebar-toggle:hover{background-color:var(--background-medium);color:var(--text-dark)}.sidebar.collapsed .sidebar-toggle{transform:rotate(180deg)}.sidebar-nav{flex:1;padding:0 .75rem .75rem;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.nav-item{display:flex;align-items:center;padding:.75rem;border-radius:.5rem;color:var(--text-medium);background:transparent;border:none;text-decoration:none;transition:all .2s ease;white-space:nowrap;overflow:hidden;gap:.75rem;min-height:48px;cursor:pointer;font-family:inherit;width:100%}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem 0}.nav-item:hover{background-color:var(--background-medium);color:var(--text-dark)}.nav-item.active{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px #4f46e533}.nav-text{font-weight:600;font-size:.95rem}.sidebar.collapsed .nav-text{display:none}.sidebar-footer{padding:.5rem;border-top:1px solid var(--border-color);background-color:#ffffff80}.sidebar.collapsed .sidebar-footer{padding:.5rem 0;display:flex;justify-content:center}.user-trigger{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.25rem .5rem;border-radius:.5rem;transition:background-color .2s;width:100%;border:none;background:transparent}.sidebar.collapsed .user-trigger{justify-content:center;width:auto;padding:.25rem}.user-trigger:hover{background-color:var(--background-medium)}.user-avatar{position:relative;width:32px;height:32px;border-radius:50%;border:none;background-color:var(--background-medium);color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.7rem;flex-shrink:0;box-shadow:0 2px 5px #00000014}.user-avatar:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:#ffffff38;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #0f172a2e;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);pointer-events:none;z-index:0}.user-avatar-initial{position:relative;z-index:1}.user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;opacity:0;transition:opacity .2s ease;position:relative;z-index:1}.user-avatar-img.is-visible{opacity:1}.user-avatar-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:linear-gradient(90deg,#94a3b840,#94a3b873 45%,#94a3b840);background-size:200% 100%;animation:sidebarAvatarShimmer 1.2s ease-in-out infinite;z-index:1}.user-avatar-skeleton.is-hidden{opacity:0;animation:none}.user-info{flex:1;overflow:hidden;text-align:left;display:flex;flex-direction:column;justify-content:center;line-height:1.2}.sidebar.collapsed .user-info{display:none}.user-name{font-weight:700;font-size:.85rem;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email-text{font-size:.7rem;color:var(--text-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.user-popover{position:absolute;width:300px;background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026,0 0 0 1px var(--border-color);z-index:1001;overflow:hidden;animation:popover-in .2s cubic-bezier(.16,1,.3,1)}.user-popover.friends-popover{position:fixed;left:var(--friend-popover-left, 24px);top:var(--friend-popover-top, 24px);z-index:1200}.popover-action-btn{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:#fffc;color:var(--text-dark);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);transition:background-color .2s,border-color .2s,opacity .2s}.popover-action-btn:hover{background:#fffffff2;border-color:var(--border-color)}.popover-action-btn svg{width:16px;height:16px}.popover-action-btn.is-sent{color:#16a34a;border-color:#16a34a66;background:#dcfce7e6;animation:popoverCheckIn .35s ease-out}.popover-action-btn.is-sent svg{animation:popoverCheckPop .35s ease-out}.popover-action-btn:disabled{cursor:default}@keyframes popoverCheckIn{0%{transform:scale(.9);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes popoverCheckPop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.user-popover.sidebar-expanded{left:calc(100% + 1rem);bottom:1rem}.user-popover.sidebar-collapsed{left:80px;bottom:1rem}@keyframes popover-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.popover-banner{position:relative;height:80px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover-color));overflow:hidden}.popover-banner-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.popover-banner:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#0000,#00000059)}.popover-header{position:relative;z-index:2;padding:0 1.25rem;margin-top:-40px;display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:.5rem}.popover-avatar{position:relative;width:80px;height:80px;border-radius:50%;border:none;background-color:var(--background-medium);color:var(--text-dark);display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:800;box-shadow:0 4px 6px #00000014}.popover-avatar:before{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;background:#ffffff38;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #0f172a33,0 8px 18px #0f172a29;backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);pointer-events:none;z-index:0}.popover-avatar-initial{position:relative;z-index:1}.popover-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;opacity:0;transition:opacity .2s ease;position:relative;z-index:1}.popover-avatar-img.is-visible{opacity:1}.popover-avatar-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:linear-gradient(90deg,#94a3b840,#94a3b873 45%,#94a3b840);background-size:200% 100%;animation:sidebarAvatarShimmer 1.2s ease-in-out infinite;z-index:1}.popover-avatar-skeleton.is-hidden{opacity:0;animation:none}@keyframes sidebarAvatarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.popover-badges{background-color:var(--background-light);padding:4px 8px;border-radius:99px;font-size:.75rem;font-weight:700;color:var(--primary-color);border:1px solid var(--border-color);margin-bottom:10px}.popover-body{padding:0 1.25rem 1.25rem}.popover-name-box{margin-bottom:1.25rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.popover-username{font-size:1.25rem;font-weight:800;color:var(--text-dark);margin-bottom:.25rem}.popover-email{font-size:.85rem;color:var(--text-medium)}.popover-details{display:flex;flex-direction:column;gap:.75rem;background-color:var(--background-light);padding:1rem;border-radius:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.detail-label{color:var(--text-medium);font-weight:500}.detail-value{color:var(--text-dark);font-weight:700}.popover-actions{margin-top:1rem;display:flex;gap:.5rem}.popover-btn{flex:1;padding:.5rem;border-radius:.375rem;border:1px solid var(--border-color);background:#fff;font-weight:600;font-size:.85rem;color:var(--text-dark);cursor:pointer;transition:all .2s}.popover-btn:hover{background-color:var(--background-medium)}.popover-btn.danger{color:var(--danger-color);border-color:#fecaca;background-color:#fef2f2}.popover-btn.danger:hover{background-color:#fee2e2}[data-theme=dark] .sidebar{background-color:#020617cc;border-right-color:var(--border-color)}[data-theme=dark] .sidebar-footer{background-color:#0f172a80}[data-theme=dark] .user-avatar:before{background:#1e293b66;border-color:#47556980;box-shadow:0 0 0 1px #94a3b826}[data-theme=dark] .user-popover{background-color:var(--white-color);box-shadow:0 10px 40px #0006,0 0 0 1px var(--border-color)}[data-theme=dark] .popover-action-btn{background:#1e293bcc;border-color:#47556999;color:var(--text-dark)}[data-theme=dark] .popover-action-btn:hover{background:#334155f2;border-color:var(--border-color)}[data-theme=dark] .popover-action-btn.is-sent{color:#4ade80;border-color:#22c55e66;background:#14532de6}[data-theme=dark] .popover-avatar:before{background:#1e293b66;border-color:#47556980;box-shadow:0 0 0 1px #94a3b826,0 8px 18px #0000004d}[data-theme=dark] .popover-btn{background:var(--background-medium);border-color:var(--border-color);color:var(--text-dark)}[data-theme=dark] .popover-btn:hover{background-color:var(--border-color)}[data-theme=dark] .popover-btn.danger{color:#f87171;border-color:#ef44444d;background-color:#7f1d1d66}[data-theme=dark] .popover-btn.danger:hover{background-color:#991b1b80}.detail-row.align-start{align-items:flex-start}.detail-value.learning-goal{text-align:right;max-width:65%;word-break:break-word}.friends-page{display:flex;flex-direction:column;gap:1.5rem;font-family:inherit}.friends-tabs-wrap{border:1px solid var(--border-color);border-radius:.75rem;background:var(--white-color);padding:1rem 1.25rem}.tabs-subtitle{margin-top:.5rem;color:var(--text-light);font-size:.95rem}.friends-card{background:var(--white-color);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.card-title{font-size:1.35rem;font-weight:800;color:var(--text-dark);margin-bottom:.25rem}.card-subtitle{color:var(--text-light);font-size:.95rem}.tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:0}.tabs.sub-tabs{margin-top:0;margin-bottom:1rem}.tab-btn{display:inline-flex;align-items:center;gap:.6rem;border-radius:999px;border:1px solid var(--border-color);background:var(--background-light);color:var(--text-medium);font-weight:700;padding:.5rem .9rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;font-family:inherit}.tab-btn.active{background:var(--background-medium);color:var(--text-dark);border-color:var(--border-color)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;height:1.8rem;padding:0 .55rem;border-radius:999px;background:var(--primary-color-light);color:var(--primary-color-dark);font-weight:700;font-size:.85rem}.tab-btn .count-badge{background:var(--background-medium);color:inherit}.tab-btn:not(.active) .count-badge{background:var(--background-medium);color:var(--text-medium)}.count-badge.subtle{background:var(--background-medium);color:var(--text-medium)}.friends-list,.requests-list,.requests-panel,.friends-search{display:flex;flex-direction:column;gap:1rem}.search-form{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.search-input-wrap{position:relative;display:flex;align-items:center;flex:1 1 320px}.search-icon{position:absolute;left:.85rem;display:inline-flex;color:var(--text-light)}.search-icon svg{width:18px;height:18px}.search-input{width:100%;height:44px;border-radius:.5rem;border:1px solid var(--border-color);background:var(--white-color);padding:0 1rem 0 2.5rem;font-size:.95rem;color:var(--text-dark);transition:border-color .2s,box-shadow .2s;font-family:inherit}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.search-btn{height:44px;padding:0 1.25rem}.search-results{border:1px solid var(--border-color);border-radius:.75rem;background:var(--background-light);padding:1rem}.search-results.has-result{background:transparent;border:none;padding:0}.search-empty{color:var(--text-light);font-size:.95rem}.search-message{font-size:.95rem;font-weight:600}.search-message.error{color:var(--danger-color)}.search-result-item{background:var(--white-color)}.friend-avatar,.request-avatar{position:relative;z-index:0}.friend-avatar:before,.request-avatar:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:#ffffff38;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #0f172a2e;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);pointer-events:none;z-index:0}.friend-avatar-initial,.request-avatar-initial{position:relative;z-index:1}.friend-avatar-img,.request-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;position:relative;z-index:1}.request-avatar-img.is-hidden{display:none}.friend-id{font-size:.8rem;color:var(--text-light);word-break:break-all}.friend-item,.request-item{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:.75rem;border:1px solid var(--border-color);background:var(--background-light)}.friend-avatar,.request-avatar{width:42px;height:42px;border-radius:999px;background:var(--background-medium);color:var(--text-dark);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1rem}.friend-info,.request-info{flex:1;min-width:0}.friend-name,.request-name{font-weight:700;color:var(--text-dark)}.friends-btn{border:1px solid var(--border-color);background:var(--background-medium);color:var(--text-dark);padding:.45rem .85rem;border-radius:.5rem;font-weight:700;font-size:.85rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;white-space:nowrap;font-family:inherit}.friends-btn:hover{background-color:var(--border-color);border-color:var(--text-medium)}.friends-btn.primary{background:var(--primary-color);color:var(--white-color);border-color:transparent}.friends-btn.ghost{background:transparent}.request-actions{display:flex;gap:.5rem}.requests-empty{color:var(--text-light);font-size:.95rem}@media (max-width: 720px){.friend-item,.request-item{flex-wrap:wrap;align-items:flex-start}.request-actions{width:100%;justify-content:flex-start}}.friend-actions{display:flex;gap:.5rem}.friends-btn.danger{color:var(--danger-color, #ef4444);border-color:var(--danger-color, #ef4444)}.friends-btn.danger:hover{background-color:var(--danger-color, #ef4444);color:#fff}.leaderboard-container{padding:2rem;width:95%;max-width:1600px;margin:0 auto;min-height:100vh;background:transparent}.leaderboard-header{position:relative;margin-bottom:2rem;display:flex;justify-content:center;align-items:center}.leaderboard-title-group{text-align:center}.leaderboard-header-actions{display:none}.leaderboard-filters{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:0 0 1.5rem;border-bottom:none;background-color:transparent}.leaderboard-filters .input-group{flex:0 1 240px;min-width:200px}@media (max-width: 768px){.leaderboard-filters{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.leaderboard-filters .input-group{max-width:none}}.leaderboard-title{font-size:2.5rem;font-weight:800;color:var(--text-dark);margin-bottom:.5rem}.leaderboard-subtitle{color:var(--text-medium);font-size:1rem;margin:0;text-align:center}.input-group{display:flex;flex-direction:column;min-width:200px}.input-group label{display:none}.modern-combobox-input{width:100%;border:none;padding:0 2.5rem 0 1rem;font-size:1rem;line-height:1.5rem;color:var(--text-dark);background-color:transparent;height:100%;outline:none;font-family:inherit}.modern-combobox-options{position:absolute;margin-top:.25rem;max-height:15rem;width:100%;overflow:auto;border-radius:.5rem;background-color:var(--white-color);padding:.375rem;font-size:.95rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid var(--border-color);z-index:50;outline:none;right:0}.modern-combobox-option{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem .75rem .5rem 2.25rem;color:var(--text-dark);border-radius:.375rem;margin-bottom:.125rem;transition:background-color .1s ease}.modern-combobox-option:last-child{margin-bottom:0}.option-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.option-label.selected{font-weight:600}.option-check{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;padding-left:.75rem;color:var(--primary-color)}.option-check.active{color:var(--primary-color-dark)}.modern-combobox-empty{position:relative;cursor:default;-webkit-user-select:none;user-select:none;padding:.75rem 1rem;color:var(--text-medium);text-align:center;font-style:italic}.leaderboard-content{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;border:1px solid var(--border-color)}.leaderboard-tabs{display:flex;padding:1rem 1.5rem 0;border-bottom:1px solid var(--border-color);gap:2rem}.leaderboard-tab{padding-bottom:1rem;background:none;border:none;font-weight:600;color:var(--text-medium);cursor:pointer;position:relative;font-size:1rem;transition:color .2s;font-family:inherit}.leaderboard-tab.active{color:var(--primary-color)}.leaderboard-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary-color)}.leaderboard-list{display:flex;flex-direction:column}.leaderboard-header-row{display:grid;grid-template-columns:80px 1fr 220px;padding:1rem 2rem;background:var(--background-light);font-weight:600;color:var(--text-medium);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.leaderboard-row{display:grid;grid-template-columns:80px 1fr 220px;padding:1.25rem 2rem;align-items:center;border-bottom:1px solid var(--border-color);transition:background-color .2s}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row:hover{background-color:var(--background-light)}.leaderboard-row.highlight{background-color:rgba(var(--primary-rgb),.05)}.leaderboard-score-header{text-align:right}.leaderboard-state{padding:2rem;text-align:center;color:var(--text-medium);font-size:1rem;font-family:inherit}.leaderboard-state-error{color:#b42318}.rank-cell{font-weight:700;font-size:1.25rem;color:var(--text-medium);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%}.rank-1{background:#fef3c7;color:#d97706}.rank-2{background:#f3f4f6;color:#4b5563}.rank-3{background:#ffedd5;color:#ea580c}.user-cell{display:flex;align-items:center;gap:1rem}.user-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid white;box-shadow:0 2px 4px #0000001a}.user-info{display:flex;flex-direction:column}.user-name{font-weight:600;color:var(--text-dark);font-size:1rem}.user-country{font-size:.875rem;color:var(--text-medium);display:flex;align-items:center;gap:.25rem}.score-cell{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:.45rem;font-family:inherit}.score-topline{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.score-primary{font-weight:700;color:var(--primary-color);font-size:1.25rem;line-height:1.1}.score-label{font-size:.875rem;font-weight:500;color:var(--text-medium);line-height:1.2;text-align:right}.leaderboard-progress-bar{width:100%;height:.5rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;border-radius:999px;overflow:hidden;background:#e9edf3}.leaderboard-progress-bar::-webkit-progress-bar{background:#e9edf3;border-radius:999px}.leaderboard-progress-bar::-webkit-progress-value{background:linear-gradient(90deg,var(--primary-color),#ffb36c);border-radius:999px}.leaderboard-progress-bar::-moz-progress-bar{background:linear-gradient(90deg,var(--primary-color),#ffb36c);border-radius:999px}[data-theme=dark] .modern-combobox-wrapper{background-color:var(--white-color);border-color:var(--border-color);box-shadow:inset 0 1px #ffffff05}[data-theme=dark] .modern-combobox-wrapper:focus-within{box-shadow:0 0 0 3px #ff906829}[data-theme=dark] .modern-combobox-btn,[data-theme=dark] .modern-combobox-input,[data-theme=dark] .modern-combobox-option,[data-theme=dark] .modern-combobox-empty{color:var(--text-dark)}[data-theme=dark] .modern-combobox-options{background-color:var(--background-medium);border-color:var(--border-color);box-shadow:0 20px 40px #00000059}[data-theme=dark] .modern-combobox-option.active{background-color:#ff906824;color:var(--primary-color)!important}[data-theme=dark] .option-check.active{color:var(--primary-color)}[data-theme=dark] .leaderboard-content{background:linear-gradient(180deg,#ffffff06,#fff0),var(--white-color);border-color:#94a3b829;box-shadow:0 20px 40px #00000057,inset 0 1px #ffffff08}[data-theme=dark] .leaderboard-tabs,[data-theme=dark] .leaderboard-row{border-color:#94a3b824}[data-theme=dark] .leaderboard-header-row{background:#0f172ae6;color:var(--text-light)}[data-theme=dark] .leaderboard-tab{color:var(--text-light)}[data-theme=dark] .leaderboard-tab.active{color:var(--primary-color)}[data-theme=dark] .leaderboard-row:hover{background-color:#ffffff08}[data-theme=dark] .leaderboard-row.highlight{background:linear-gradient(90deg,#ff906824,#ff90680a)}[data-theme=dark] .user-avatar{border-color:#ffffff14;box-shadow:0 8px 18px #00000047}[data-theme=dark] .rank-1{background:#f59e0b2e;color:#fbbf24}[data-theme=dark] .rank-2{background:#94a3b82e;color:#e2e8f0}[data-theme=dark] .rank-3{background:#f973162e;color:#fb923c}[data-theme=dark] .leaderboard-state{color:var(--text-medium)}[data-theme=dark] .leaderboard-state-error{color:#fca5a5}[data-theme=dark] .leaderboard-progress-bar{background:#ffffff24}[data-theme=dark] .leaderboard-progress-bar::-webkit-progress-bar{background:#ffffff24}[data-theme=dark] .leaderboard-progress-bar::-webkit-progress-value{background:linear-gradient(90deg,#ff9068,#fbbf24)}[data-theme=dark] .leaderboard-progress-bar::-moz-progress-bar{background:linear-gradient(90deg,#ff9068,#fbbf24)}@media (max-width: 768px){.leaderboard-container{padding:1rem}.leaderboard-header{flex-direction:column;gap:1rem;height:auto}.leaderboard-header-actions{position:relative;width:100%;top:auto;right:auto;transform:none}.leaderboard-header-row,.leaderboard-row{grid-template-columns:50px 1fr 130px;padding:1rem}.user-avatar{width:36px;height:36px}.rank-cell{width:30px;height:30px;font-size:1rem}.score-topline{flex-direction:column;align-items:flex-end;gap:.2rem}}.shop-page{--shop-ink: #1d1c1a;--shop-warm: #c96f46;--shop-warm-soft: rgba(201, 111, 70, .16);--shop-border: rgba(29, 28, 26, .1);--shop-shadow: 0 24px 60px rgba(49, 38, 28, .1);width:100%;padding:2rem;color:var(--shop-ink)}.shop-hero,.shop-content-grid{width:min(1360px,100%);margin:0 auto}.shop-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:1.5rem;align-items:stretch}.shop-hero-copy,.shop-hero-panel,.shop-catalog-shell,.shop-sidebar-panel,.shop-overview-card,.shop-note-panel,.shop-item-card{border:1px solid var(--shop-border);box-shadow:var(--shop-shadow)}.shop-hero-copy{position:relative;overflow:hidden;padding:2rem;border-radius:32px;background:linear-gradient(145deg,#ffffff94,#faf3e847),linear-gradient(125deg,#ffffff38,#ffffff0a 42%,#c96f4614);border:1px solid rgba(255,255,255,.48);box-shadow:0 28px 80px #31261c29,inset 0 1px #ffffffb8,inset 0 -1px #ffffff2e;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}.shop-hero-copy:after{content:"";position:absolute;inset:auto -40px -56px auto;width:220px;height:220px;border-radius:32px;background:linear-gradient(135deg,#c96f4638,#c96f4605),repeating-linear-gradient(135deg,rgba(29,28,26,.06) 0,rgba(29,28,26,.06) 2px,transparent 2px,transparent 12px);transform:rotate(16deg);opacity:.95}.shop-hero-copy:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:31px;background:radial-gradient(circle at top left,rgba(255,255,255,.42),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.18),transparent 26%,transparent 74%,rgba(255,255,255,.08));pointer-events:none;mix-blend-mode:screen}.shop-kicker,.shop-section-kicker,.shop-feature-eyebrow,.shop-panel-tag,.shop-item-rarity,.shop-note-title,.shop-overview-label{display:inline-flex;align-items:center;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}.shop-kicker,.shop-section-kicker,.shop-feature-eyebrow,.shop-panel-tag{color:var(--shop-warm)}.shop-title{max-width:12ch;margin-top:1rem;font-size:clamp(2.75rem,5vw,4.8rem);line-height:.98;letter-spacing:-.05em;color:var(--shop-ink)}.shop-lead,.shop-hero-panel-copy,.shop-feature-description,.shop-item-description,.shop-section-note,.shop-note-list,.shop-panel-season{color:#1d1c1ab8}.shop-lead{max-width:60ch;margin-top:1rem;font-size:1rem}.shop-balance-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.75rem}.shop-balance-card{min-width:190px;padding:1rem 1.1rem;border-radius:22px;background:#ffffffa8;border:1px solid rgba(29,28,26,.08)}.shop-balance-card-soft{background:var(--shop-warm-soft)}.shop-balance-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#1d1c1a8a}.shop-balance-value{display:block;margin-top:.35rem;font-size:1.3rem;color:var(--shop-ink)}.shop-hero-panel{display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem;padding:1.5rem;border-radius:28px;background:linear-gradient(180deg,#23231ff5,#412f23f0),linear-gradient(135deg,rgba(255,255,255,.08),transparent);color:#f8f3ec}.shop-hero-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.shop-panel-tag{padding:.45rem .75rem;border-radius:999px;background:#ffffff14;color:#ffcfb7}.shop-panel-season{font-size:.84rem;color:#f8f3ecb3}.shop-hero-panel-copy{color:#f8f3ecd1;font-size:.98rem}.shop-filter-row{display:flex;flex-wrap:wrap;gap:.75rem}.shop-filter-chip{display:inline-flex;align-items:center;padding:.72rem 1rem;border-radius:999px;background:#ffffff14;color:#f8f3ec;border:1px solid rgba(255,255,255,.1)}.shop-item-headline,.shop-item-footer,.shop-section-head,.shop-group-head{display:flex;align-items:center;justify-content:space-between;gap:.9rem}.shop-card-button{border:none;font-family:inherit;cursor:pointer;padding:.8rem 1rem;border-radius:14px;font-size:.92rem;transition:transform .2s ease,opacity .2s ease,background-color .2s ease}.shop-card-button-primary{background:var(--shop-ink);color:#f8f3ec}.shop-card-button-owned-action{background:linear-gradient(135deg,#c96f46,#b45d39);color:#fff7f1}.shop-card-button-equipped{background:linear-gradient(135deg,#1d1c1a,#3b342e);color:#fff7f1}.shop-card-button-secondary{background:#1d1c1a14;color:var(--shop-ink)}.shop-card-button:hover,.shop-card-button:focus-visible{transform:translateY(-1px)}.shop-card-button:disabled{cursor:not-allowed;opacity:.68;transform:none}.shop-content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:1.25rem;margin-top:1.5rem;padding-bottom:2rem}.shop-catalog-shell,.shop-sidebar-panel{border-radius:30px;padding:1.4rem;background:#ffffffb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.shop-section-head{align-items:end;margin-bottom:1.2rem}.shop-section-head-compact{margin-bottom:1rem}.shop-section-title{margin-top:.35rem;font-size:1.8rem;line-height:1;letter-spacing:-.04em}.shop-section-note{max-width:28ch;font-size:.92rem;text-align:right}.shop-feedback{margin-bottom:1rem;padding:.85rem 1rem;border-radius:16px;font-size:.92rem}.shop-feedback-error{background:#dc262614;color:#b42318;border:1px solid rgba(220,38,38,.15)}.shop-group+.shop-group{margin-top:1.8rem}.shop-group-head{margin-bottom:1rem}.shop-group-title{font-size:1.15rem;color:var(--shop-ink)}.shop-group-count{font-size:.88rem;color:#1d1c1a99}.shop-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.shop-item-card{overflow:hidden;border-radius:24px;background:#ffffffeb}.shop-item-art{position:relative;min-height:180px;background:linear-gradient(135deg,#c96f461f,#1d1c1a0f)}.shop-item-image{display:block;width:100%;height:180px;object-fit:cover}.shop-item-image-fallback{width:100%;height:180px;background:linear-gradient(135deg,#c96f462e,#1d1c1a14)}.shop-item-body{padding:1.1rem}.shop-item-name{font-size:1.12rem;line-height:1.1}.shop-item-price{flex-shrink:0;font-size:.92rem;color:var(--shop-warm)}.shop-item-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.shop-item-meta-chip{display:inline-flex;align-items:center;padding:.4rem .65rem;border-radius:999px;background:#1d1c1a0f;font-size:.78rem;color:#1d1c1ab8}.shop-item-meta-chip-active{background:#c96f4624;color:#9a4b2a}.shop-item-meta-chip-owned{background:#16a34a1f;color:#117a37}.shop-item-footer{justify-content:space-between;margin-top:1rem}.shop-sidebar-panel{display:flex;flex-direction:column;gap:1rem}.shop-overview-stack{display:grid;gap:.8rem}.shop-overview-card{padding:1rem;border-radius:22px;background:linear-gradient(180deg,#ffffffe6,#f5eee5e6)}.shop-overview-label{color:#1d1c1a7a}.shop-overview-value{display:block;margin-top:.4rem;font-size:1.08rem;color:var(--shop-ink)}.shop-empty-state{padding:1.2rem;border-radius:20px;background:#1d1c1a0a;color:#1d1c1ab8}.shop-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:2.5vh 2.5vw;background:#f8fafc1f}.shop-preview-frame{width:95vw;height:95vh;padding:5px;border-radius:34px;background:#ffffffc7;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:0 24px 80px #0f172a38}.shop-preview-shell{position:relative;width:100%;height:100%;border-radius:29px;overflow:hidden;background:#ffffff14}.shop-preview-close{position:absolute;top:1rem;right:1rem;z-index:2;border:none;border-radius:999px;padding:.7rem 1rem;font-family:inherit;cursor:pointer;background:#ffffffb8;color:#111827;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.shop-preview-stage{width:100%;height:100%;background:#0f172a14}.shop-preview-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.shop-preview-empty{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:var(--text-dark);font-size:1rem}[data-theme=dark] .shop-page{--shop-ink: #f8fafc;--shop-warm: #ffb089;--shop-warm-soft: rgba(255, 144, 104, .14);--shop-border: rgba(148, 163, 184, .16);--shop-shadow: 0 24px 60px rgba(0, 0, 0, .28)}[data-theme=dark] .shop-hero-copy{background:linear-gradient(145deg,#0f172a85,#1e293b42),linear-gradient(125deg,#ffffff0f,#ffffff05 38%,#ff90681a);border-color:#ffffff24;box-shadow:0 28px 80px #00000057,inset 0 1px #ffffff29,inset 0 -1px #ffffff0a;backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%)}[data-theme=dark] .shop-hero-copy:after{background:linear-gradient(135deg,#ff906833,#ff906808),repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 2px,transparent 2px,transparent 12px)}[data-theme=dark] .shop-hero-copy:before{background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.06),transparent 24%,transparent 74%,rgba(255,255,255,.03))}[data-theme=dark] .shop-title,[data-theme=dark] .shop-balance-value,[data-theme=dark] .shop-section-title,[data-theme=dark] .shop-group-title,[data-theme=dark] .shop-item-name,[data-theme=dark] .shop-overview-value{color:var(--text-dark)}[data-theme=dark] .shop-lead,[data-theme=dark] .shop-section-note,[data-theme=dark] .shop-group-count,[data-theme=dark] .shop-overview-label,[data-theme=dark] .shop-balance-label{color:var(--text-medium)}[data-theme=dark] .shop-balance-card{background:#0f172a8c;border-color:#94a3b81f}[data-theme=dark] .shop-balance-card-soft{background:#ff90681f}[data-theme=dark] .shop-hero-panel{background:linear-gradient(180deg,#020617f5,#0f172af5),linear-gradient(135deg,rgba(255,255,255,.04),transparent)}[data-theme=dark] .shop-panel-season,[data-theme=dark] .shop-hero-panel-copy{color:#f8fafcc7}[data-theme=dark] .shop-filter-chip{background:#ffffff0f;border-color:#94a3b81f;color:var(--text-dark)}[data-theme=dark] .shop-catalog-shell,[data-theme=dark] .shop-sidebar-panel{background:#0f172ab8}[data-theme=dark] .shop-item-card,[data-theme=dark] .shop-overview-card{background:#0f172adb}[data-theme=dark] .shop-item-art{background:linear-gradient(135deg,#ff906829,#0f172a33)}[data-theme=dark] .shop-item-image-fallback{background:linear-gradient(135deg,#ff906833,#0f172a57)}[data-theme=dark] .shop-item-price{color:#ffb089}[data-theme=dark] .shop-item-meta-chip{background:#94a3b81f;color:var(--text-medium)}[data-theme=dark] .shop-item-meta-chip-active{background:#ff90682e;color:#ffd7c6}[data-theme=dark] .shop-item-meta-chip-owned{background:#22c55e29;color:#86efac}[data-theme=dark] .shop-card-button-primary{background:var(--primary-color);color:#111827}[data-theme=dark] .shop-card-button-owned-action{background:linear-gradient(135deg,#ff9068,#ffb089);color:#111827}[data-theme=dark] .shop-card-button-equipped{background:linear-gradient(135deg,#334155,#475569);color:var(--text-dark)}[data-theme=dark] .shop-card-button-secondary{background:#94a3b81f;color:var(--text-dark)}[data-theme=dark] .shop-empty-state{background:#94a3b814;color:var(--text-medium)}[data-theme=dark] .shop-feedback-error{background:#ef44441f;color:#fca5a5;border-color:#ef444438}[data-theme=dark] .shop-preview-overlay{background:#02061733}[data-theme=dark] .shop-preview-frame{background:#000000c7;box-shadow:0 28px 90px #0000007a}[data-theme=dark] .shop-preview-shell{background:#0206172e}[data-theme=dark] .shop-preview-close{background:#0f172ac7;color:var(--text-dark)}[data-theme=dark] .shop-preview-stage{background:#02061733}@media (max-width: 1200px){.shop-hero,.shop-content-grid,.shop-catalog-grid{grid-template-columns:1fr}.shop-section-head{align-items:start;flex-direction:column}.shop-section-note{max-width:none;text-align:left}}@media (max-width: 768px){.shop-page{padding:1rem}.shop-hero-copy,.shop-hero-panel,.shop-catalog-shell,.shop-sidebar-panel{border-radius:24px}.shop-title{max-width:none;font-size:2.5rem}.shop-item-footer,.shop-balance-row{flex-direction:column;align-items:stretch}.shop-card-button{width:100%}.shop-preview-overlay{padding:2.5vw}.shop-preview-frame{border-radius:26px}.shop-preview-shell{border-radius:21px}.shop-preview-close{top:.85rem;right:.85rem;padding:.65rem .9rem}}.required-info-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background-color:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:1.5rem;box-sizing:border-box;opacity:0;animation:fadeInOverlay .3s forwards}.required-info-modal{width:100%;max-width:480px;background:var(--white-color);border-radius:16px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;transform:scale(.95);opacity:0;animation:popInModal .3s .1s forwards}.required-info-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.required-info-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.required-info-close{background:transparent;border:none;font-size:1.25rem;color:var(--text-medium);cursor:pointer;padding:.25rem .5rem;line-height:1;border-radius:6px;transition:background-color .2s,color .2s}.required-info-close:hover{background-color:var(--background-medium);color:var(--text-dark)}.required-info-body{padding:1.5rem;overflow-y:auto;flex:1}.required-info-subtitle{font-size:.95rem;color:var(--text-medium);margin:0 0 1.5rem;line-height:1.5;text-align:center}.required-info-error{background-color:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-bottom:1.5rem;text-align:center}.required-info-form{display:flex;flex-direction:column;gap:1.5rem}.required-info-form .input-group{display:flex;flex-direction:column}.required-info-form .input-group label{font-weight:600;margin-bottom:.5rem;color:var(--text-dark)}.required-info-form .input-group input{width:100%;height:44px;box-sizing:border-box;padding:0 1rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem;color:var(--text-medium);transition:border-color .2s,box-shadow .2s;background-color:var(--white-color)}.required-info-form .input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.input-help-text{font-size:.8rem;color:var(--text-light);margin-top:.5rem;margin-bottom:0}.input-help-text a{color:var(--primary-color);text-decoration:none;font-weight:500}.input-help-text a:hover{text-decoration:underline}.required-info-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.required-info-btn{min-width:100px;height:44px;padding:0 1.5rem;font-size:1rem;font-weight:600;font-family:inherit;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s;border:none}.required-info-btn.primary{background-color:var(--primary-color);color:var(--white-color)}.required-info-btn.primary:hover:not(:disabled){background-color:var(--primary-hover-color);transform:translateY(-1px)}.required-info-btn.primary:disabled{background-color:#9ca3af;cursor:not-allowed;opacity:.7}.required-info-btn.secondary{background-color:var(--background-medium);color:var(--text-dark);border:1px solid var(--border-color)}.required-info-btn.secondary:hover{background-color:#e5e5ea}@keyframes fadeInOverlay{to{opacity:1}}@keyframes popInModal{to{transform:scale(1);opacity:1}}@media (max-width: 520px){.required-info-overlay{padding:1rem;align-items:flex-end}.required-info-modal{border-radius:16px 16px 0 0;max-height:95vh}.required-info-actions{flex-direction:column}.required-info-btn{width:100%}}.initial-test-container{max-width:800px;margin:2rem auto;padding:2rem;background-color:var(--background-color);border-radius:1rem;box-shadow:0 8px 24px #0000000d;border:1px solid var(--border-color);animation:fadeIn .5s ease-in-out}.page-subtitle{font-size:1rem;font-weight:500;color:var(--text-medium);margin-bottom:2.5rem;text-align:center}.initial-test-page .difficulty-section .section-title{margin-bottom:0;padding-bottom:.85rem;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.word-display-card{background-color:var(--primary-color-light);border:2px solid var(--primary-color);border-radius:.75rem;padding:3rem 2rem;margin-bottom:2rem;text-align:center;box-shadow:0 4px 12px #4f46e51a}.word-display-card .word{font-size:3.5rem;font-weight:900;color:var(--primary-color-dark);letter-spacing:.1em}.controls-section{text-align:center;border-top:1px solid var(--border-color);padding-top:2rem}.controls-section p{font-size:.9rem;color:var(--text-medium);margin-bottom:1rem}.button-group{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.test-button,.skip-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:.5rem;border:none;cursor:pointer;transition:all .2s ease-in-out}.test-button{background-color:var(--primary-color);color:#fff}.test-button:hover{background-color:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.skip-button{background-color:transparent;color:var(--text-medium);border:2px solid var(--border-color)}.skip-button:hover{background-color:var(--background-color-hover);color:var(--text-dark);border-color:var(--text-medium)}.test-button:disabled,.skip-button:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#custom-alert-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;pointer-events:none;transition:opacity .3s ease}#custom-alert-overlay.visible{opacity:1;pointer-events:auto}.alert-box{background-color:var(--white-color);padding:2rem 2.5rem;border-radius:.75rem;box-shadow:0 10px 25px #0000001a;display:flex;align-items:center;gap:1rem;transform:scale(.95);transition:transform .3s ease}#custom-alert-overlay.visible .alert-box{transform:scale(1)}.alert-box .spinner{width:24px;height:24px;border:3px solid var(--primary-color);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.alert-box .alert-text{font-size:1.1rem;font-weight:600;color:var(--text-dark)}@keyframes spin{to{transform:rotate(360deg)}}.media-error-alert{background-color:#fee2e2;color:#991b1b;padding:1rem;border-radius:.5rem;text-align:center;margin-bottom:1rem;font-weight:500}.media-info-alert{background-color:#e0f2fe;color:#075985;padding:1rem;border-radius:.5rem;text-align:center;margin-bottom:1rem;font-weight:500}.practice-controls{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.rate-warning-text{display:flex;align-items:center;justify-content:center;gap:.55rem;width:fit-content;max-width:min(100%,760px);min-height:50px;margin:1rem auto;padding:0 1.1rem;box-sizing:border-box;border-radius:999px;background:#f973161f;color:#c2410c;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1.2;text-align:center;border:1px solid rgba(249,115,22,.18)}.rate-warning-text:before{content:"";width:.55rem;height:.55rem;flex:0 0 auto;border-radius:50%;background:currentColor;box-shadow:0 0 0 .2rem #f973161f}[data-theme=dark] .rate-warning-text{background:#fb923c29;color:#fdba74;border-color:#fb923c33}[data-theme=dark] .rate-warning-text:before{box-shadow:0 0 0 .2rem #fb923c24}.topic-selector-container{max-width:800px;padding:1rem;background-color:var(--background-light);border-radius:12px;text-align:center}.topic-selector-title{font-size:2rem;color:var(--text-dark);margin-bottom:.5rem}.topic-selector-form .info-section{display:flex;gap:1.5rem;justify-content:center;margin-bottom:2.5rem;text-align:left}.topic-selector-form .input-group{flex:1;max-width:300px}.topic-selector-form .input-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-medium)}.topic-selector-form .input-group input,.topic-selector-form .input-group select{width:100%;padding:.75rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--background-very-light);font-size:1rem}.topic-grid-title{font-size:1.5rem;color:var(--text-dark);margin-bottom:1.5rem}.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-bottom:2.5rem}.topic-card{padding:1rem;border:2px solid var(--border-color);border-radius:8px;background-color:transparent;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:600;color:var(--text-medium)}.topic-card:hover{border-color:var(--primary-color-light);background-color:var(--primary-color-transparent)}.topic-card.selected{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff;transform:scale(1.05);box-shadow:0 4px 15px #007bff33}.form-actions{margin-top:2rem;display:flex;justify-content:center}.confirm-btn{display:flex;align-items:center;justify-content:center;height:44px;padding:0 2.5rem;border:none;border-radius:.375rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;color:var(--white-color);background-color:var(--primary-color);cursor:pointer;transition:background-color .2s,opacity .2s;gap:.5rem;line-height:1}.confirm-btn:not(:disabled):hover{background-color:var(--primary-hover-color)}.confirm-btn:disabled{background-color:#9ca3af;opacity:.7;cursor:not-allowed}.topic-selector-subtitle{font-size:1.1rem;color:var(--text-medium);margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}.privacy-notice{font-size:.875rem;font-style:italic;color:var(--text-light);max-width:550px;margin:-1.5rem auto 2.5rem}.privacy-notice strong{font-weight:600;color:var(--text-medium)}.difficulty-selector-section{margin-bottom:2.5rem}.difficulty-selector-title{font-size:1.5rem;color:var(--text-dark);margin-bottom:1.5rem}.difficulty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.difficulty-card{padding:1rem;border:2px solid var(--border-color);border-radius:8px;background-color:transparent;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:600;color:var(--text-medium);text-align:center}.difficulty-card:not(:disabled):hover{border-color:var(--primary-color-light);background-color:var(--primary-color-transparent);color:var(--primary-color)}.difficulty-card.selected{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff;transform:scale(1.05);box-shadow:0 4px 15px #007bff33}.difficulty-card:disabled{background-color:var(--background-very-light);border-color:var(--border-color-light);color:var(--text-very-light);cursor:not-allowed;opacity:.6}.difficulty-card:disabled:hover{transform:none;box-shadow:none}.course-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:0;animation:fadeIn .3s forwards}.course-modal-content{background-color:var(--white-color);border-radius:1rem;padding:2rem;width:90%;max-width:600px;position:relative;box-shadow:0 10px 25px #0003;transform:scale(.9);opacity:0;animation:scaleUp .3s .1s forwards;display:flex;flex-direction:column;gap:1.5rem}.course-modal-header{border-bottom:2px solid var(--border-color);padding-bottom:1rem;margin-bottom:.5rem}.course-modal-title{font-size:1.75rem;font-weight:700;color:var(--text-dark);margin:0}.course-modal-date{font-size:.9rem;color:var(--text-medium);margin-top:.5rem}.course-modal-body{flex:1}.course-modal-description{font-size:1.1rem;line-height:1.6;color:var(--text-dark);margin-bottom:1.5rem}.course-modal-progress{display:flex;align-items:center;gap:1rem;font-weight:600;color:var(--primary-color);background-color:var(--background-medium);padding:.75rem 1rem;border-radius:.5rem}.course-modal-actions{display:flex;justify-content:flex-end;margin-top:1rem}.course-modal-btn{background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background-color .2s;font-family:inherit}.course-modal-btn:hover{background-color:var(--primary-hover-color)}.course-modal-close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-medium);cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.course-modal-close-btn:hover{background-color:var(--background-medium);color:var(--text-dark)}@keyframes fadeIn{to{opacity:1}}@keyframes scaleUp{to{transform:scale(1);opacity:1}}.courses-title{font-size:2rem;margin-bottom:.5rem}.courses-subtitle{color:var(--text-medium);margin-bottom:2rem;text-align:center}.courses-current-language{color:var(--text-medium);margin-top:-1.25rem;margin-bottom:2rem;font-size:.95rem}.courses-page-container{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:3rem}.courses-section{width:100%;display:flex;flex-direction:column}.courses-section-subtitle{display:inline-flex;align-items:center;gap:.65rem;width:fit-content;min-height:38px;padding:0 .9rem;border-radius:999px;background:#ffffff2e;backdrop-filter:blur(14px) saturate(125%);-webkit-backdrop-filter:blur(14px) saturate(125%);border:none;outline:1px solid rgba(255,255,255,.22);box-sizing:border-box;font-size:.9rem;font-weight:800;color:var(--text-dark);margin-bottom:1.5rem;padding-bottom:0;border-bottom:none;text-transform:uppercase;letter-spacing:.08em}.courses-section-subtitle:before{content:"";width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover-color));box-shadow:0 0 0 4px #ff906824}.main-content.width-practice .page-title{border-bottom:none}.cards-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;width:100%}@media (min-width: 768px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.course-card-item.diagnosis-container{position:relative;aspect-ratio:1 / 1;display:flex;flex-direction:column;gap:1rem;justify-content:space-between;margin-top:0!important;min-height:320px;height:100%;overflow:hidden;cursor:pointer;padding:1.35rem;border-radius:24px;background:#ffffffd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:0 16px 30px #0f172a1f;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.course-card-item.diagnosis-container:hover{transform:translateY(-4px);box-shadow:0 22px 34px #0f172a29}.course-card-shell{position:relative;z-index:1}.course-card-topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.course-card-kicker{display:inline-flex;align-items:center;min-height:28px;padding:0 .72rem;border-radius:999px;background:#f1f5f9e6;color:var(--text-medium);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.course-card-status-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 .8rem;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.practice-ready{background:#ff906829;color:var(--primary-hover-color)}.course-card-item.status-completed{border-color:#1f8a7047}.course-card-item.status-in-progress{border-color:#c96a1b47}.course-card-item.status-not-started{border-color:#7b7f8a3d}.course-card-status-pill.status-completed{background:#1f8a7024;color:#1f8a70}.course-card-status-pill.status-in-progress{background:#c96a1b24;color:#c96a1b}.course-card-status-pill.status-not-started{background:#7b7f8a24;color:#69707d}.card-content{position:relative;z-index:1;flex:1;overflow:hidden;display:flex;flex-direction:column;gap:.85rem}.card-actions{position:relative;z-index:1;margin-top:auto;display:flex;justify-content:flex-start}.daily-practice-card{background:linear-gradient(180deg,#ffffffd1,#fff8f4f5),#ffffffd1;border-color:#ff90684d}.daily-practice-card:after,.course-card-item:after{content:"";position:absolute;inset:auto -10% -34% auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#ff90682e,#ff906800);pointer-events:none}.daily-practice-title,.course-card-title{font-size:clamp(1.35rem,2.1vw,1.8rem);line-height:1.25;font-weight:800;margin:0;color:var(--text-dark)}.daily-practice-title{color:var(--primary-color)}.daily-practice-description,.course-card-description{margin:0;color:var(--text-medium);font-size:.98rem;line-height:1.7}.course-card-description b{color:var(--text-dark)}.course-topics-wrapper{position:relative;z-index:1;display:flex;gap:.55rem;flex-wrap:wrap;margin-top:auto;padding-top:.2rem}.course-topic-tag{display:inline-flex;align-items:center;min-height:30px;padding:0 .75rem;border-radius:999px;background:#f1f5f9e6;border:1px solid rgba(148,163,184,.16);font-size:.8rem;font-weight:700;color:var(--text-medium)}.course-card-footer{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:1rem;border-top:1px dashed rgba(148,163,184,.22)}.course-card-progress-meta{display:flex;flex-direction:column;gap:.15rem}.course-card-progress-label{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light)}.course-card-progress-value{font-size:1rem;font-weight:800;color:var(--text-dark)}.course-status-text{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.course-date-text{white-space:nowrap;color:var(--text-light);font-size:.9rem;font-weight:700}.status-completed{color:#1f8a70}.status-in-progress{color:#c96a1b}.status-not-started{color:#7b7f8a}.no-courses-message{grid-column:1 / -1;text-align:center;color:var(--text-medium);aspect-ratio:auto;align-items:center;justify-content:center}[data-theme=dark] .course-card-item.diagnosis-container{background:#0f172ab3;border-color:#ffffff14;box-shadow:0 16px 30px #00000042}[data-theme=dark] .courses-section-subtitle{background:#0f172a3d;outline-color:#ffffff1f}[data-theme=dark] .course-card-kicker,[data-theme=dark] .course-topic-tag{background:#0f172ad6;border-color:#ffffff14}[data-theme=dark] .daily-practice-card{background:linear-gradient(180deg,#0f172abd,#362721e6),#0f172abd;border-color:#ff906833}[data-theme=dark] .course-card-footer{border-top-color:#94a3b829}[data-theme=dark] .course-card-status-pill.status-completed{background:#37c2a329;color:#86efac}[data-theme=dark] .course-card-status-pill.status-in-progress{background:#f3a54a29;color:#fdba74}[data-theme=dark] .course-card-status-pill.status-not-started{background:#9aa0ab29;color:#cbd5e1}@media (max-width: 767px){.course-card-item.diagnosis-container{min-height:280px;aspect-ratio:auto}}.tutor-page-container{flex-grow:1;padding:2rem;width:100%;margin:0 auto;max-width:1040px;box-sizing:border-box}.tutor-page-subtitle{color:var(--text-medium);margin-bottom:2rem;font-size:1.1rem;text-align:center}.tutor-app-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem;margin-top:1rem}@media (min-width: 640px){.tutor-app-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.tutor-app-grid{grid-template-columns:repeat(3,1fr)}}.tutor-card{background:var(--white-color);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s ease;min-height:140px;max-height:200px;position:relative;overflow:hidden}.tutor-card:hover{box-shadow:0 12px 24px #00000014;border-color:var(--primary-color-light, #fdba74)}.tutor-language-title{font-size:1.25rem;font-weight:700;color:var(--text-dark)}.tutor-status-badge{font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:99px;text-transform:uppercase;letter-spacing:.025em}.status-approved,.status-active{background-color:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.status-pending{background-color:#fef9c3;color:#a16207;border:1px solid #fde047}.status-rejected{background-color:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.status-paused{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.tutor-card-body{flex:1;color:var(--text-medium);font-size:.95rem;line-height:1.5;overflow:hidden;text-overflow:ellipsis}.view-reason-btn{margin-top:auto;padding:.5rem 1rem;font-size:.85rem;font-weight:600;color:var(--white-color);background-color:#b91c1c;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s;align-self:center}.view-reason-btn:hover{background-color:#991b1b}.view-reason-btn.btn-paused{background-color:#d97706}.view-reason-btn.btn-paused:hover{background-color:#b45309}.warning-text{color:#92400e}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.reject-modal{background:var(--white-color);border-radius:.75rem;max-width:400px;width:100%;box-shadow:0 20px 40px #00000026;overflow:hidden}.reject-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--background-light)}.reject-modal-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-dark)}.modal-close-btn{background:transparent;border:none;color:var(--text-medium);cursor:pointer;padding:.25rem;transition:color .2s}.modal-close-btn:hover{color:var(--text-dark)}.reject-modal-body{padding:1.5rem}.reject-modal-language{font-size:.85rem;font-weight:600;color:var(--text-light);text-transform:uppercase;margin:0 0 .5rem}.reject-modal-reason{font-size:1rem;color:var(--text-dark);line-height:1.6;margin:0}.reject-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--background-light);display:flex;justify-content:flex-end}.ios-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:4000;padding:1rem;animation:iosFadeIn .2s ease-out}@keyframes iosFadeIn{0%{opacity:0}to{opacity:1}}.ios-modal{width:100%;max-width:440px;height:80vh;max-height:700px;background:var(--white-color);border-radius:28px;box-shadow:0 20px 40px -8px #0003,0 0 0 1px #0000000d;display:flex;flex-direction:column;overflow:hidden;animation:iosScaleIn .3s cubic-bezier(.16,1,.3,1)}@keyframes iosScaleIn{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.ios-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1rem;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;border-bottom:1px solid rgba(0,0,0,.05)}.ios-modal-title{font-size:1.1rem;font-weight:700;color:var(--text-dark)}.ios-close-btn{width:30px;height:30px;border-radius:50%;background:#f1f2f3;color:#8e8e93;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.ios-close-btn:hover{background:#e5e5ea;color:#1c1c1e}.ios-modal-content{flex:1;display:flex;flex-direction:column;padding:1rem 1.25rem;gap:1rem;background:#fff;overflow:hidden}.ios-reason-card{background-color:#fef3c7;border-radius:18px;padding:1rem;display:flex;gap:.875rem;align-items:flex-start;flex-shrink:0}.ios-reason-icon{color:#d97706;margin-top:2px}.ios-reason-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.ios-reason-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#92400e;opacity:.7}.ios-reason-text p{font-size:.9375rem;line-height:1.5;color:#92400e;margin:0;transition:all .3s ease}.ios-line-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ios-read-more-btn{background:none;border:none;padding:0;margin-top:.25rem;font-size:.85rem;font-weight:600;color:#d97706;cursor:pointer;align-self:flex-start;transition:opacity .2s}.ios-read-more-btn:hover{opacity:.8;text-decoration:underline}.ios-chat-area{flex:1;display:flex;flex-direction:column;gap:.5rem;min-height:0;overflow-y:auto;padding-right:4px;padding-bottom:20px}.ios-chat-row{display:flex;width:100%}.row-user{justify-content:flex-end}.row-admin{justify-content:flex-start}.ios-chat-time{text-align:center;font-size:.75rem;color:#8e8e93;margin:16px 0 8px;font-weight:500}.ios-bubble{max-width:80%;padding:.625rem 1rem;font-size:.95rem;line-height:1.4;word-wrap:break-word;position:relative}.bubble-admin{background-color:#e9e9eb;color:#000;border-radius:18px 18px 18px 4px}.bubble-user{background:var(--primary-color);background:linear-gradient(135deg,var(--primary-color) 0%,#fd746c 100%);color:#fff;border-radius:18px 18px 4px;box-shadow:0 2px 4px #fd746c33}.ios-empty-state{text-align:center;color:#aeaeb2;font-size:.9rem;margin:auto;padding:1rem}.ios-input-bar{padding:.75rem 1rem;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.05);display:flex;align-items:flex-end;gap:.75rem}.ios-input-field{flex:1;background:#f2f2f7;border:none;border-radius:20px;padding:.625rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.4;resize:none;min-height:38px;max-height:100px;color:var(--text-dark)}.ios-input-field:focus{outline:none;background:#e5e5ea}.ios-send-btn{width:36px;height:36px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s;flex-shrink:0;margin-bottom:2px}.ios-send-btn:hover:not(:disabled){transform:scale(1.05);background:var(--primary-hover-color)}.ios-send-btn:disabled{opacity:.5;cursor:default;background:#d1d1d6}[data-theme=dark] .ios-modal{background:#1c1c1e;box-shadow:0 0 0 1px #ffffff1a}[data-theme=dark] .ios-modal-header{background:#1c1c1ee6;border-bottom-color:#ffffff1a}[data-theme=dark] .ios-modal-title{color:#fff}[data-theme=dark] .ios-close-btn{background:#2c2c2e;color:#8e8e93}[data-theme=dark] .ios-close-btn:hover{background:#3a3a3c;color:#fff}[data-theme=dark] .ios-modal-content{background:#1c1c1e}[data-theme=dark] .ios-reason-card{background:#fef3c71a;border:1px solid rgba(245,158,11,.3)}[data-theme=dark] .ios-reason-text p,[data-theme=dark] .ios-reason-label{color:#fbbf24}[data-theme=dark] .bubble-admin{background-color:#2c2c2e;color:#fff}[data-theme=dark] .ios-input-bar{background:#1c1c1ef2;border-top-color:#ffffff1a}[data-theme=dark] .ios-input-field{background:#2c2c2e;color:#fff}[data-theme=dark] .ios-input-field:focus{background:#3a3a3c}.tutor-card-add{border:2px dashed var(--border-color);background:transparent;justify-content:center;align-items:center;cursor:pointer;min-height:200px;color:var(--text-medium);transition:all .2s}.tutor-card-add:hover{border-color:var(--primary-color);color:var(--primary-color);background:#ff906808}.add-icon-circle{width:56px;height:56px;border-radius:50%;background:var(--background-medium);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:all .2s;color:var(--text-medium)}.tutor-card-add:hover .add-icon-circle{background:var(--primary-color);color:var(--white-color);transform:scale(1.1)}.tutor-card-add span{font-weight:600;font-size:1rem}.tutor-form-shell{background-color:var(--white-color);border:1px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;overflow:hidden;max-width:800px;margin:0 auto}.tutor-form-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:1rem;background-color:var(--background-light)}.tutor-form-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.back-btn{background:var(--white-color);border:1px solid var(--border-color);cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-medium);transition:all .2s}.back-btn:hover{background:var(--white-color);color:var(--primary-color);border-color:var(--primary-color);transform:translate(-2px)}.tutor-form-body{padding:2rem;display:flex;flex-direction:column;gap:2.5rem}.form-section{display:flex;flex-direction:column;gap:1.25rem}.section-subtitle{font-size:1.1rem;font-weight:700;color:var(--primary-color);margin:0;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color-light);text-transform:uppercase;letter-spacing:.025em}.section-content{display:flex;flex-direction:column;gap:1.5rem}.tutor-form-footer{padding:1.5rem 2rem;border-top:1px solid var(--border-color);background-color:var(--background-light);display:flex;justify-content:flex-end;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.6rem}.input-group label{font-weight:700;font-size:.95rem;color:var(--text-dark);display:block}.input-group input,.input-group textarea{width:100%;box-sizing:border-box;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:1rem;color:var(--text-dark);transition:all .2s;background-color:var(--white-color);font-family:inherit}.input-group input{height:44px;padding:0 1rem}.input-group textarea{min-height:120px;resize:vertical;line-height:1.5}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.proof-card .input-group label.file-upload-label,.input-group label.file-upload-label,label.file-upload-label{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;width:100%;padding:.75rem 1rem;background-color:var(--white-color);border:1px dashed var(--border-color);border-radius:.375rem;cursor:pointer;color:var(--text-medium);font-weight:500;transition:all .2s;box-sizing:border-box;min-height:44px;line-height:1;white-space:nowrap;margin-bottom:0}.proof-card .input-group label.file-upload-label>svg,.input-group label.file-upload-label>svg,label.file-upload-label>svg{display:inline-flex!important;flex:0 0 16px!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;min-height:16px!important;max-height:16px!important;vertical-align:middle;align-self:center!important}.proof-card .input-group label.file-upload-label>span,.input-group label.file-upload-label>span,label.file-upload-label>span{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;font-size:.95rem;vertical-align:middle;align-self:center!important}.proof-card .input-group label.file-upload-label:hover,.input-group label.file-upload-label:hover,label.file-upload-label:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:#ff90680d}.proof-card .input-group label.file-upload-label.has-file,.input-group label.file-upload-label.has-file,label.file-upload-label.has-file{border-style:solid;border-color:var(--primary-color);color:var(--primary-color);background-color:#ff906814}.file-name-display{margin-top:.25rem;font-size:.85rem;color:var(--text-light);text-align:center;word-break:break-all}.proof-list{display:flex;flex-direction:column;gap:1rem}.proof-card{border:1px solid var(--border-color);border-radius:.5rem;padding:1.25rem;background:var(--background-medium);position:relative;display:grid;gap:1rem}.proof-card-header{display:flex;justify-content:space-between;align-items:center}.proof-number{font-size:.85rem;font-weight:700;color:var(--text-light);text-transform:uppercase}.proof-remove-btn{background:transparent;border:none;color:var(--text-medium);cursor:pointer;padding:.25rem;transition:color .2s}.proof-remove-btn:hover{color:var(--danger-color)}.proof-preview-area{margin-top:.5rem;width:100%;height:200px;border-radius:.5rem;overflow:hidden;border:2px dashed var(--border-color);display:flex;align-items:center;justify-content:center;background:var(--white-color);position:relative}.proof-preview-area img{width:100%;height:100%;object-fit:contain;padding:.5rem}.proof-preview-placeholder{color:var(--text-light);font-size:.9rem;text-align:center;pointer-events:none}.add-proof-btn{width:100%;height:48px;border:2px dashed var(--border-color);border-radius:.5rem;background:transparent;color:var(--primary-color);font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;margin-top:.5rem}.add-proof-btn:hover{background:rgba(var(--primary-rgb),.05);border-color:var(--primary-color)}.primary-btn,.update-btn{font-family:inherit;font-size:1rem;font-weight:600;background-color:var(--primary-color);color:var(--white-color);padding:0 1.5rem;height:44px;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.primary-btn:hover,.update-btn:hover{background-color:var(--primary-hover-color);transform:translateY(-1px)}.primary-btn:disabled,.update-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none;opacity:.7}.secondary-btn{font-family:inherit;height:44px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--white-color);color:var(--text-dark);border:1px solid var(--border-color);padding:0 1.5rem;font-size:.95rem;font-weight:600;border-radius:.375rem;cursor:pointer;transition:all .2s}.secondary-btn:hover{background-color:var(--background-medium);border-color:var(--text-medium)}.modern-combobox-wrapper{position:relative;width:100%;cursor:default;overflow:hidden;border-radius:.375rem;background-color:var(--white-color);text-align:left;border:1px solid var(--border-color);transition:all .2s;height:44px;display:flex;align-items:center}.modern-combobox-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.modern-combobox-input{width:100%;border:none;padding:0 2.5rem 0 1rem;font-size:1rem;color:var(--text-dark);background-color:transparent;height:100%;outline:none}.modern-combobox-btn{position:absolute;top:0;bottom:0;right:0;display:flex;align-items:center;padding-right:.5rem;border:none;background:transparent;cursor:pointer;color:var(--text-medium)}.modern-combobox-options{position:absolute;margin-top:.25rem;max-height:15rem;width:100%;overflow:auto;border-radius:.5rem;background-color:var(--white-color);padding:.375rem;font-size:.95rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid var(--border-color);z-index:50;outline:none}.modern-combobox-option{position:relative;cursor:pointer;padding:.5rem .75rem .5rem 2.25rem;color:var(--text-dark);border-radius:.375rem;margin-bottom:.125rem}.modern-combobox-option.active{background-color:var(--primary-color-light);color:var(--primary-color-dark)!important}.option-check{position:absolute;left:0;display:flex;align-items:center;padding-left:.75rem;color:var(--primary-color);height:100%}@media (max-width: 600px){.tutor-page-container{padding:1rem}.tutor-form-footer{padding:1rem;flex-direction:column-reverse}.primary-btn,.secondary-btn{width:100%}}.tutors-list-container{max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%}.tutors-list-container button,.tutors-list-container input,.tutors-list-container select,.tutors-list-container textarea{font-family:inherit}.tutors-list-header{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:2rem;text-align:center;gap:.5rem}.tutors-list-title{font-size:2.5rem;font-weight:800;color:var(--text-dark);position:relative;display:inline-block;margin:0;background:linear-gradient(135deg,var(--text-dark) 0%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tutors-list-title:after{content:"";display:block;width:60px;height:4px;background:var(--primary-color);margin:.5rem auto 0;border-radius:2px;opacity:.8}.tutors-list-subtitle{color:var(--text-medium);font-size:1.1rem;max-width:600px;margin-top:1rem}.tutors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.available-tutors-panel,.my-tutors-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:1rem;margin-bottom:1.5rem;padding:1.35rem 1.5rem;border-radius:20px;border:1px solid var(--border-color);background:linear-gradient(180deg,#ffffffc2,#ffffffeb);box-shadow:0 10px 24px #0000000d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=dark] .available-tutors-panel,[data-theme=dark] .my-tutors-panel{border-color:#ffffff14;background:#1e293b9e;box-shadow:0 12px 28px #00000038}.available-tutors-panel__intro,.available-tutors-panel__controls,.my-tutors-panel__intro,.my-tutors-panel__controls{display:flex;flex-direction:column;justify-content:space-between;gap:.9rem}.available-tutors-panel__eyebrow,.my-tutors-panel__eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--primary-color)}.available-tutors-panel__summary h2,.my-tutors-panel__summary h2{margin:0 0 .35rem;font-size:1.8rem;font-weight:800;color:var(--text-dark)}.available-tutors-panel__summary p,.my-tutors-panel__summary p{margin:0;max-width:52ch;line-height:1.6;color:var(--text-medium)}.available-tutors-filter{display:flex;flex-direction:column;gap:.45rem;width:100%;min-width:0}.available-tutors-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.available-tutors-combobox{width:100%}.available-tutors-combobox .input-group{margin:0}.available-tutors-combobox .input-group label{display:none}.available-tutors-filter__label{font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-medium)}.available-tutors-panel__controls,.my-tutors-panel__controls{align-items:stretch}.available-tutors-combobox .modern-combobox-wrapper{position:relative;width:100%;cursor:default;overflow:hidden;border-radius:.75rem;background-color:var(--white-color);text-align:left;border:1px solid var(--border-color);transition:all .2s;height:48px;display:flex;align-items:center}.available-tutors-combobox .modern-combobox-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.available-tutors-combobox .modern-combobox-input{width:100%;border:none;padding:0 2.5rem 0 .95rem;font-size:.98rem;line-height:1.4rem;color:var(--text-dark);background-color:transparent;height:100%;outline:none}.available-tutors-combobox .modern-combobox-btn{position:absolute;top:0;bottom:0;right:0;display:flex;align-items:center;padding-right:.65rem;border:none;background:transparent;cursor:pointer;color:var(--text-medium)}.available-tutors-combobox .modern-combobox-options{margin-top:.25rem;max-height:15rem;width:100%;overflow:auto;border-radius:.75rem;background-color:var(--white-color);padding:.375rem;font-size:.95rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid var(--border-color);z-index:50;outline:none}.available-tutors-combobox .modern-combobox-option{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.55rem .75rem .55rem 2.25rem;color:var(--text-dark);border-radius:.5rem;margin-bottom:.125rem;transition:background-color .1s ease}.available-tutors-combobox .modern-combobox-option:last-child{margin-bottom:0}.available-tutors-combobox .modern-combobox-option.active{background-color:var(--primary-color-light);color:var(--primary-color-dark)!important}.available-tutors-combobox .option-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.available-tutors-combobox .option-label.selected{font-weight:600}.available-tutors-combobox .option-check{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center;padding-left:.75rem;color:var(--primary-color)}.available-tutors-combobox .option-check.active{color:var(--primary-color-dark)}.available-tutors-combobox .modern-combobox-empty{position:relative;cursor:default;-webkit-user-select:none;user-select:none;padding:.75rem 1rem;color:var(--text-medium);text-align:center;font-style:italic}[data-theme=dark] .available-tutors-combobox .modern-combobox-wrapper{background-color:var(--background-medium);border-color:#ffffff14}[data-theme=dark] .available-tutors-combobox .modern-combobox-btn,[data-theme=dark] .available-tutors-combobox .modern-combobox-input,[data-theme=dark] .available-tutors-combobox .modern-combobox-option,[data-theme=dark] .available-tutors-combobox .modern-combobox-empty{color:var(--text-dark)}[data-theme=dark] .available-tutors-combobox .modern-combobox-options{background-color:var(--background-medium);border-color:#ffffff14}[data-theme=dark] .available-tutors-combobox .modern-combobox-option.active{background-color:rgba(var(--primary-rgb),.18)}.available-tutors-panel__stats,.my-tutors-panel__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.available-tutors-stat{display:flex;flex-direction:column;gap:.18rem;padding:.9rem 1rem;border-radius:18px;background:var(--background-light);border:1px solid var(--border-color)}[data-theme=dark] .available-tutors-stat{background:#0f172a8f;border-color:#ffffff14}.available-tutors-stat__value{font-size:1.15rem;font-weight:800;color:var(--text-dark)}.available-tutors-stat__label{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-medium)}.tutor-public-card{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 6px #0000000d,0 10px 15px -3px #0000001a;border-radius:16px;padding:1.2rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;gap:.95rem;cursor:pointer;position:relative;overflow:hidden;min-height:292px}[data-theme=dark] .tutor-public-card{background:#1e293b99;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 6px #0003}.tutor-public-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #0000001a;border-color:var(--primary-color-light)}.tutor-public-card--connected:hover{transform:translateY(-4px)}[data-theme=dark] .tutor-public-card:hover{border-color:#fff3;box-shadow:0 12px 24px #0006}.tutor-card-accent{position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary-color) 0%,var(--primary-color-light) 45%,transparent 100%)}.tutor-card-header{display:flex;justify-content:space-between;align-items:flex-start}.tutor-info-wrapper{display:flex;gap:1rem;align-items:flex-start;min-width:0}.tutor-avatar-wrapper{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tutor-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;z-index:1}.tutor-avatar-wrapper:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:#ffffff38;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #0f172a2e;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);pointer-events:none;z-index:0}.tutor-details{min-width:0}.tutor-name-row{display:flex;flex-direction:column;gap:.15rem}.tutor-details h3{font-size:1.15rem;font-weight:700;color:var(--text-dark);margin:0;line-height:1.2}.tutor-full-name{font-size:.82rem;color:var(--text-light);line-height:1.35}.tutor-headline{margin-top:.3rem;font-size:.88rem;color:var(--text-medium);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.tutor-lang-badge{padding:4px 10px;border-radius:99px;font-size:.7rem;font-weight:700;background-color:var(--primary-color-light);color:var(--primary-color-dark);text-transform:uppercase;white-space:nowrap;height:fit-content}.tutor-card-body{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:.9rem}.tutor-meta-row{display:flex;flex-wrap:wrap;gap:.45rem}.tutor-meta-chip{display:inline-flex;align-items:center;min-height:28px;padding:.2rem .7rem;border-radius:999px;background:var(--background-light);color:var(--text-medium);font-size:.77rem;font-weight:700;letter-spacing:.02em;border:1px solid var(--border-color)}[data-theme=dark] .tutor-meta-chip{background:#0f172a8f;border-color:#ffffff14}.tutor-bio{font-size:.92rem;color:var(--text-dark);line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;background:var(--background-light);padding:.82rem .9rem;border-radius:12px;border:1px solid var(--border-color)}[data-theme=dark] .tutor-bio{background:#0f172a7a;border-color:#ffffff14}.tutor-card-footer{display:flex;flex-direction:column;gap:.6rem}.tutor-card-footer__hint{font-size:.78rem;color:var(--text-light)}.tutor-card-footer__actions{display:flex;align-items:stretch;gap:.65rem}.view-profile-btn{flex:1 1 auto;padding:.85rem;border-radius:12px;border:1px solid transparent;background:var(--primary-color);color:#fff;font-weight:700;cursor:pointer;transition:all .2s;text-align:center;font-size:.95rem;box-shadow:0 4px 6px rgba(var(--primary-rgb),.2)}.view-profile-btn:hover{background:var(--primary-hover-color);transform:translateY(-1px);box-shadow:0 6px 12px rgba(var(--primary-rgb),.3)}.tutor-chat-icon-btn{flex:0 0 48px;width:48px;min-width:48px;border-radius:12px;border:1px solid var(--border-color);background:var(--white-color);color:var(--text-medium);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 10px #0f172a0d;font-family:inherit}.tutor-chat-icon-btn svg{width:18px;height:18px}.tutor-chat-icon-btn:hover{border-color:rgba(var(--primary-rgb),.26);color:var(--primary-color);background:var(--background-light)}.tutor-chat-icon-btn:focus-visible{outline:none;border-color:rgba(var(--primary-rgb),.32);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.1)}.tutor-chat-icon-btn:disabled{cursor:wait;opacity:.72;transform:none}[data-theme=dark] .tutor-chat-icon-btn{background:var(--background-medium);border-color:#ffffff14;color:var(--text-dark);box-shadow:none}[data-theme=dark] .tutor-chat-icon-btn:hover{background:#1e293beb;border-color:rgba(var(--primary-rgb),.3)}@media (max-width: 640px){.tutor-card-footer__actions{gap:.55rem}.tutor-chat-icon-btn{flex-basis:44px;width:44px;min-width:44px}}.tutors-empty{grid-column:1 / -1;text-align:center;padding:3rem 2rem;color:var(--text-light);background:var(--background-light);border-radius:16px;border:2px dashed var(--border-color)}[data-theme=dark] .tutors-empty{background:#1e293bb8;border-color:#ffffff14}.tutors-empty__title{font-size:1.2rem;font-weight:800;color:var(--text-dark);margin-bottom:.45rem}.tutors-empty__body{max-width:52ch;margin:0 auto;line-height:1.65}.tutors-empty--span-full{grid-column:1 / -1}.tutors-tabs-wrap{display:flex;justify-content:center;margin-bottom:2rem}.tutors-tabs{display:flex;background-color:var(--background-light);padding:4px;border-radius:12px;border:1px solid var(--border-color);width:fit-content;gap:.2rem}[data-theme=dark] .tutors-tabs{background-color:#0f172abd;border-color:#ffffff14}.tutors-tab-btn{padding:8px 24px;border-radius:8px;border:none;background:transparent;color:var(--text-medium);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem;white-space:nowrap}.tutors-tab-btn.active{background-color:var(--white-color);color:var(--primary-color);box-shadow:0 2px 4px #0000000d}[data-theme=dark] .tutors-tab-btn.active{background-color:var(--background-medium);color:var(--white-color)}.tutors-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;margin-left:.4rem;padding:0 .35rem;border-radius:999px;background:var(--danger-color);color:#fff;font-size:.72rem;font-weight:700}.my-tutors-list{display:flex;flex-direction:column;gap:1rem;max-width:800px;margin:0 auto}.my-tutor-item{background:var(--white-color);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:all .2s}.my-tutor-item:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000000d}.my-tutor-info{display:flex;align-items:center;gap:1rem}.my-tutor-status{padding:4px 12px;border-radius:99px;font-size:.8rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.status-pending{background-color:#fef3c7;color:#92400e}.status-accepted{background-color:#dcfce7;color:#15803d}.status-rejected{background-color:#fee2e2;color:#b91c1c}.my-tutor-actions{display:flex;gap:.5rem}.requests-subtabs{grid-column:1 / -1;display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.requests-subtabs .btn-small{display:inline-flex;align-items:center;gap:.45rem}.requests-subtabs .tab-count-badge{flex-shrink:0}.btn-small{padding:6px 12px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;border:1px solid transparent}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-dark)}.btn-outline:hover{border-color:var(--text-medium);background:var(--background-light)}.btn-small[data-active=true]{background:var(--primary-color);color:#fff;border:none}.btn-danger-ghost{background:transparent;color:var(--danger-color)}.btn-danger-ghost:hover{background:#fef2f2}.tutors-search{max-width:600px;margin:0 auto}.search-filter-row{margin-bottom:1rem}.search-result-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;border-radius:16px;border:1px solid var(--border-color);background:var(--background-light)}.search-result-summary__meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.search-result-summary--compact{justify-content:flex-end}.search-form{display:flex;gap:.75rem;margin-bottom:2rem}.search-input-wrap{position:relative;flex:1}.search-input{width:100%;height:48px;padding:0 16px 0 44px;border-radius:12px;border:1px solid var(--border-color);background:var(--white-color);color:var(--text-dark);font-size:1rem;box-sizing:border-box}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-light);width:20px;height:20px}.search-btn{height:48px;padding:0 24px;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;font-size:1rem}.search-btn:disabled{opacity:.7;cursor:not-allowed}.search-result-hint{margin:0;font-size:.9rem;color:var(--text-light)}.tutor-request-card{opacity:.9}@media (max-width: 900px){.available-tutors-panel,.my-tutors-panel{grid-template-columns:1fr}.available-tutors-panel__summary h2,.my-tutors-panel__summary h2{font-size:1.5rem}}@media (max-width: 640px){.tutors-list-container{padding:1.5rem .85rem 2rem}.tutors-tabs-wrap{justify-content:stretch}.tutors-tabs{width:100%;overflow-x:auto}.tutors-grid{grid-template-columns:1fr}.tutor-public-card{min-height:auto}.available-tutors-panel,.my-tutors-panel{padding:1.1rem}.available-tutors-panel__stats,.my-tutors-panel__stats,.available-tutors-filter-grid{grid-template-columns:1fr}.search-form{flex-direction:column}.search-result-summary{flex-direction:column;align-items:flex-start}.search-result-summary__meta{justify-content:flex-start}.requests-subtabs{flex-wrap:wrap;gap:.75rem}}.admin-container{max-width:1200px;margin:0 auto;padding:2rem 1rem;width:100%}.admin-header{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:3rem;text-align:center;gap:1.5rem}.admin-title{font-size:2.5rem;font-weight:800;color:var(--text-dark);position:relative;display:inline-block;margin:0;background:linear-gradient(135deg,var(--text-dark) 0%,var(--primary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-title:after{content:"";display:block;width:60px;height:4px;background:var(--primary-color);margin:.5rem auto 0;border-radius:2px;opacity:.8}.admin-tabs{display:flex;background-color:var(--background-light);padding:4px;border-radius:12px;border:1px solid var(--border-color);margin:0 auto}.admin-sub-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.sub-tab-btn{background:transparent;border:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px;gap:8px;font-size:.95rem;line-height:1.1;font-weight:600;color:var(--text-medium);cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:all .2s}.sub-tab-btn:hover{color:var(--primary-color);background:var(--background-light)}.sub-tab-btn.active{color:var(--primary-color);background:var(--primary-color-light)}.admin-tab-btn{padding:8px 24px;min-height:36px;border-radius:8px;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--text-medium);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem;line-height:1.1}.admin-tab-btn.active{background-color:#fff;color:var(--primary-color);box-shadow:0 2px 4px #0000000d}[data-theme=dark] .admin-tab-btn.active{background-color:var(--background-medium)}.admin-tab-btn>span:first-child,.sub-tab-btn>span:first-child{display:inline-flex;align-items:center;line-height:1.1;transform:translateY(0)}.tab-count-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff3b30;color:#fff;font-size:.72rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums;line-height:1;display:inline-flex;align-items:center;justify-content:center;transform:translateY(0)}.notification-dot{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;background-color:#ff3b30;border:none;border-radius:10px;z-index:10;box-shadow:0 2px 5px #0003;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums;line-height:1;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.admin-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.application-card{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 6px #0000000d,0 10px 15px -3px #0000001a;border-radius:16px;padding:1.5rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;display:flex;flex-direction:column;gap:1rem}[data-theme=dark] .application-card{background:#1e293b99;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 6px #0003}.application-card:hover{box-shadow:0 12px 24px #0000001a;border-color:var(--primary-color-light)}[data-theme=dark] .application-card:hover{border-color:#fff3;box-shadow:0 12px 24px #0006}.app-card-header{display:flex;justify-content:space-between;align-items:flex-start}.app-applicant{display:flex;gap:.75rem;align-items:center}.app-avatar{position:relative;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-medium);font-size:1.2rem;flex-shrink:0}img.app-avatar{object-fit:cover;z-index:1}div.app-avatar{background:var(--background-medium);z-index:1}.app-avatar:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:#ffffff38;border:1px solid rgba(255,255,255,.6);box-shadow:0 0 0 1px #0f172a2e;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);pointer-events:none;z-index:0}.app-info h3{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-bottom:.25rem}.app-info p{font-size:.85rem;color:var(--text-light)}.lang-badge{padding:4px 10px;border-radius:99px;font-size:.75rem;font-weight:700;background-color:var(--primary-color-light);color:var(--primary-color-dark);text-transform:uppercase}.app-time{font-size:.8rem;color:var(--text-light);display:flex;align-items:center;gap:6px}.view-btn{margin-top:auto;width:100%;padding:.75rem;border-radius:10px;border:1px solid var(--border-color);background:transparent;color:var(--text-dark);font-weight:600;cursor:pointer;transition:all .2s}.view-btn:hover{background:var(--background-light);border-color:var(--primary-color);color:var(--primary-color)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1500;padding:1rem}.review-modal{background:var(--white-color);width:100%;max-width:800px;max-height:90vh;border-radius:20px;display:flex;flex-direction:column;box-shadow:0 20px 50px #0003;overflow:hidden;animation:modalPop .3s cubic-bezier(.16,1,.3,1)}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-title h2{font-size:1.5rem;font-weight:800;color:var(--text-dark)}.modal-close{background:transparent;border:none;cursor:pointer;color:var(--text-light);padding:8px;border-radius:8px;transition:background .2s}.modal-close:hover{background:var(--background-medium);color:var(--danger-color)}.modal-content{padding:2rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem}.review-section h4{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:1rem;font-weight:700}.intro-text{font-size:1rem;line-height:1.6;color:var(--text-dark);background:var(--background-light);padding:1.5rem;border-radius:12px;white-space:pre-wrap}.proof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.proof-item{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--border-color);cursor:zoom-in}.proof-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.proof-item:hover img{transform:scale(1.05)}.proof-label{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;padding:6px 12px;font-size:.8rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem;background:var(--background-light)}.action-btn{padding:10px 24px;border-radius:10px;font-weight:700;font-size:.9rem;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.btn-reject{background-color:transparent;color:var(--danger-color);border-color:var(--danger-color)}.btn-reject:hover{background-color:#fef2f2;transform:none}.btn-approve{background-color:var(--success-color);color:#fff;border-color:var(--success-color);box-shadow:0 4px 6px #16a34a33}.btn-approve:hover{background-color:#15803d;border-color:#15803d;transform:none;box-shadow:0 6px 12px #16a34a4d}.tutor-status-active{color:var(--success-color);background:#16a34a1a;padding:4px 12px;border-radius:99px;font-size:.8rem;font-weight:700}.empty-state{text-align:center;padding:4rem;color:var(--text-light)}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:3000;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:fadeIn .2s ease-out}.lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 50px #00000080;cursor:default}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mini-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2500;animation:fadeIn .2s ease-out}.mini-modal{background:var(--white-color);width:100%;max-width:400px;border-radius:16px;padding:1.5rem;box-shadow:0 10px 40px #00000040;display:flex;flex-direction:column;gap:1rem;animation:slideUp .2s cubic-bezier(.16,1,.3,1)}.mini-modal h3{font-size:1.25rem;font-weight:800;color:var(--text-dark)}.reject-textarea{width:100%;min-height:100px;padding:.75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--background-light);color:var(--text-dark);font-family:inherit;font-size:.95rem;resize:vertical}.reject-textarea:focus{outline:none;border-color:var(--danger-color);box-shadow:0 0 0 3px #dc26261a}.mini-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.btn-ghost{background:transparent;color:var(--text-medium);border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer}.btn-ghost:hover{background:var(--background-medium)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tutor-status{padding:4px 12px;border-radius:99px;font-size:.8rem;font-weight:700;text-transform:capitalize}.tutor-status-active{color:var(--success-color);background:#16a34a1a}.tutor-status-paused{color:#d97706;background:#d977061a}.tutor-status-rejected{color:var(--danger-color);background:#dc26261a}.lang-badge.status-paused{background-color:#fef3c7;color:#92400e}.btn-pause{background-color:transparent;color:#d97706;border-color:#d97706}.btn-pause:hover{background-color:#fffbeb}.manage-modal{max-width:700px}.pause-reason-section{background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;padding:1rem 1.5rem}.pause-reason-section h4{color:#92400e;margin-bottom:.5rem}.pause-reason-text{color:#78350f;font-size:1rem;line-height:1.5}.rejection-reason-section{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:1rem 1.5rem;margin-bottom:1rem}.rejection-reason-section h4{color:#991b1b;margin-bottom:.5rem;display:flex;align-items:center;gap:8px}.rejection-reason-text{color:#7f1d1d;font-size:1rem;line-height:1.5}.appeal-messages{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--background-light);border-radius:12px;margin-bottom:1rem}.appeal-bubble{max-width:80%;padding:.75rem 1rem;border-radius:12px;position:relative}.appeal-admin{align-self:flex-start;background:var(--white-color);border:1px solid var(--border-color)}.appeal-tutor{align-self:flex-end;background:var(--primary-color-light);border:1px solid var(--primary-color)}.appeal-role{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-light);margin-bottom:.25rem}.appeal-text{font-size:.95rem;color:var(--text-dark);line-height:1.4}.appeal-time{font-size:.7rem;color:var(--text-light);margin-top:.25rem;text-align:right}.appeal-reply-box{display:flex;gap:.75rem;align-items:flex-end}.appeal-reply-box textarea{flex:1;padding:.75rem;border-radius:8px;border:1px solid var(--border-color);background:var(--white-color);color:var(--text-dark);font-family:inherit;font-size:.95rem;resize:none}.appeal-reply-box textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff906833}.admin-section{width:100%;margin-top:1rem}.admin-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:.75rem;background-color:var(--white-color);border:1px solid var(--border-color);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.admin-table{width:100%;border-collapse:collapse;min-width:700px}.admin-table th,.admin-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle}.admin-table th{background-color:var(--background-medium);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-medium)}.admin-table td{font-size:.95rem;color:var(--text-dark)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background-color:var(--background-light)}.admin-table .view-btn{width:auto;padding:6px 14px;font-size:.85rem}.remove-btn{padding:6px 14px;border-radius:10px;border:1px solid var(--danger-color);background:transparent;color:var(--danger-color);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.remove-btn:hover{background:#fef2f2}.remove-btn:disabled{opacity:.5;cursor:not-allowed}.app-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.app-actions .friends-btn,.app-actions .cancel-invite-btn,.approve-btn,.reject-btn{flex:1;display:inline-flex;justify-content:center;align-items:center}.approve-btn{background-color:var(--success-color);color:#fff;border-color:var(--success-color);padding:.6rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;border:1px solid transparent}.approve-btn:hover{background-color:#15803d}.approve-btn:disabled,.reject-btn:disabled{opacity:.6;cursor:not-allowed}.reject-btn{background-color:transparent;color:var(--danger-color);border:1px solid var(--danger-color);padding:.6rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.reject-btn:hover{background-color:#fef2f2}.cancel-invite-btn{padding:.6rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;background-color:transparent;color:var(--text-medium);border:1px solid var(--border-color)}.cancel-invite-btn:hover{background-color:var(--background-light);border-color:var(--text-medium);color:var(--text-dark)}.cancel-invite-btn:disabled{opacity:.6;cursor:not-allowed}.app-content{font-size:.9rem;color:var(--text-medium);line-height:1.5}.student-learning-goal{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.85rem;color:var(--text-medium)}.student-country-badge{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-card-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center}.student-age{font-size:.85rem;color:var(--text-light)}.student-actions{display:flex;gap:8px}.student-action-btn{width:auto;padding:6px 12px;font-size:.8rem}.student-icon-btn{width:34px;min-width:34px;height:34px;padding:0;border-radius:10px;border:1px solid var(--border-color);background:var(--white-color);color:var(--text-medium);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-family:inherit}.student-icon-btn:hover:not(:disabled){border-color:rgba(var(--primary-rgb),.28);color:var(--primary-color);background:var(--background-light)}.student-icon-btn:disabled{opacity:.65;cursor:wait}.student-icon-danger{border-color:#ef444459;color:var(--danger-color)}.student-icon-danger:hover:not(:disabled){border-color:#ef44448c;color:var(--danger-color);background:#fef2f2}.course-progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2200;padding:24px;animation:fade-in .2s ease-out}.course-progress-modal{background:var(--white-color);border-radius:16px;width:100%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;overflow:hidden}.course-progress-header{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--white-color)}.course-progress-back{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--text-light);font-weight:600;font-size:.95rem;padding:8px;border-radius:8px;transition:all .2s}.course-progress-back:hover{background:var(--background-medium);color:var(--text-dark)}.course-progress-title{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin:0;text-align:center;flex:1}.course-progress-content{flex:1;overflow-y:auto;padding:24px;background:var(--background-light)}.course-progress-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-light);font-size:1rem}.course-progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 850px){.course-progress-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.course-progress-grid{grid-template-columns:1fr}}.course-item-card{background:var(--white-color);border:1px solid var(--border-color);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .2s ease;box-shadow:0 2px 4px #00000005}.course-item-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000000f;border-color:var(--border-hover-color)}.course-item-top{display:flex;justify-content:space-between;align-items:flex-start}.course-item-index{font-size:.9rem;font-weight:700;color:var(--text-tertiary);background:var(--background-medium);padding:2px 8px;border-radius:6px}.course-item-gauge{display:flex;align-items:center;gap:8px}.course-item-score{font-size:.9rem;font-weight:700}.course-item-score.good{color:var(--success-color)}.course-item-score.ok{color:var(--warning-color)}.course-item-score.bad{color:var(--error-color)}.course-item-middle{flex:1}.course-item-sentence{margin:0;font-size:.95rem;color:var(--text-dark);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:2.8em}.course-item-bottom{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px dashed var(--border-color)}.course-item-btn{border:none;cursor:pointer;border-radius:6px;font-size:.85rem;font-weight:600;padding:6px 12px;transition:all .2s}.course-item-btn.view-report{background:var(--white-color);border:1px solid var(--border-color);color:var(--text-medium)}.course-item-btn.view-report:hover{background:var(--background-light);color:var(--primary-color);border-color:var(--primary-color)}.course-item-status{font-size:.85rem;color:var(--text-tertiary);font-style:italic;padding:6px 0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[data-theme=dark] .course-progress-modal,[data-theme=dark] .course-progress-header{background:var(--background-dark)}[data-theme=dark] .course-item-card{background:var(--card-bg-dark)}.manage-student-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px}.manage-student-modal{background:var(--white-color);border-radius:16px;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:manage-modal-in .25s cubic-bezier(.16,1,.3,1)}@keyframes manage-modal-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.manage-student-header{padding:20px 24px;border-bottom:1px solid var(--border-color)}.manage-student-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.manage-student-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.manage-student-close{background:transparent;border:none;cursor:pointer;color:var(--text-light);padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.manage-student-close:hover{background:var(--background-medium);color:var(--text-dark)}.manage-student-info{display:flex;align-items:center;gap:12px}.manage-student-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.manage-student-details{display:flex;flex-direction:column;gap:2px}.manage-student-name{font-size:1rem;font-weight:600;color:var(--text-dark)}.manage-student-meta{font-size:.85rem;color:var(--text-light)}.manage-student-content{flex:1;overflow-y:auto;padding:20px 24px}.manage-student-tabs{display:inline-flex;gap:6px;padding:4px;margin-bottom:14px;border:1px solid var(--border-color);border-radius:12px;background:var(--background-light)}.manage-student-tab-btn{border:none;background:transparent;font-family:inherit;display:inline-flex;align-items:center;gap:7px;color:var(--text-medium);font-size:.85rem;font-weight:600;line-height:1;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease}.manage-student-tab-btn:hover{color:var(--text-dark);background:var(--white-color)}.manage-student-tab-btn.active{color:#fff;background:var(--primary-color);box-shadow:0 4px 10px #0000001f}.manage-student-count-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff3b30;color:#fff;font-size:.72rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-variant-numeric:tabular-nums;line-height:1;display:inline-flex;align-items:center;justify-content:center}.manage-student-section-title{font-size:.9rem;font-weight:600;color:var(--text-medium);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.manage-student-content .manage-student-section-title:not(:first-child){margin-top:24px}.manage-student-empty{text-align:center;padding:32px 16px;background:var(--background-light);border-radius:12px;border:1px dashed var(--border-color)}.manage-student-empty p{margin:0;color:var(--text-medium);font-size:.95rem}.manage-student-empty-hint{margin-top:8px!important;font-size:.85rem!important;color:var(--text-light)!important}.manage-student-course-list{display:flex;flex-direction:column;gap:12px}.manage-student-course-card{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--background-light);border-radius:12px;border:1px solid var(--border-color);transition:all .2s}.manage-student-course-card:hover{border-color:var(--primary-color);background:var(--white-color)}.manage-student-course-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.manage-student-course-icon{font-size:1.5rem;flex-shrink:0}.manage-student-course-details{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.manage-student-course-name{font-size:.95rem;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-student-draft-meta{font-size:.78rem;color:var(--text-light)}.manage-student-course-progress{display:flex;align-items:center;gap:8px}.manage-student-progress-bar{flex:1;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.manage-student-progress-fill{height:100%;background:var(--primary-color);border-radius:3px;transition:width .3s ease}.manage-student-progress-text{font-size:.75rem;color:var(--text-light);white-space:nowrap}.manage-student-course-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}.manage-student-course-btn{border:none;font-family:inherit;cursor:pointer;border-radius:8px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;align-items:center;justify-content:center}.manage-student-course-btn.view{background:var(--primary-color);color:#fff;padding:6px 12px}.manage-student-course-btn.view:hover{background:var(--primary-hover-color)}.manage-student-course-btn.remove{background:transparent;color:var(--text-light);padding:6px;width:32px;height:32px}.manage-student-course-btn.remove:hover{background:#dc26261a;color:var(--danger-color)}.manage-student-footer{padding:16px 24px;border-top:1px solid var(--border-color)}.manage-student-assign-btn{width:100%;display:flex;align-items:center;justify-content:center;font-family:inherit;gap:8px;padding:12px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.manage-student-assign-btn:hover{background:var(--primary-hover-color);transform:translateY(-1px)}.manage-student-assign-btn:active{transform:translateY(0)}[data-theme=dark] .manage-student-overlay{background:#000000b3}[data-theme=dark] .manage-student-modal{box-shadow:0 25px 50px -12px #00000080}[data-theme=dark] .manage-student-course-card:hover{background:var(--background-medium)}.assign-course-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2100;padding:24px;animation:fadeInOverlay .3s forwards}.assign-course-modal{background:var(--white-color);border-radius:16px;width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:popInModal .3s cubic-bezier(.16,1,.3,1);overflow:hidden;position:relative}.assign-course-toast-container{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:2200;width:90%;max-width:400px;pointer-events:none}.assign-course-toast-container .toast-item{pointer-events:auto;box-shadow:0 4px 12px #00000026;border-radius:.375rem;animation:slideInDown .3s ease-out}.assign-course-toast-container .toast-item>div{margin-bottom:0!important}.assign-course-modal button{font-family:inherit}.assign-course-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:var(--white-color);z-index:10}.assign-course-title{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.assign-course-close{background:transparent;border:none;cursor:pointer;color:var(--text-light);padding:4px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.assign-course-close:hover{background:var(--background-medium);color:var(--text-dark)}.assign-course-tabs{display:flex;padding:0 24px;border-bottom:1px solid var(--border-color);background:var(--background-light)}.assign-course-tab{padding:16px 4px;margin-right:24px;border:none;background:transparent;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--text-light);cursor:pointer;position:relative;transition:color .2s}.assign-course-tab:hover{color:var(--text-medium)}.assign-course-tab.active{color:var(--primary-color)}.assign-course-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--primary-color);border-radius:2px 2px 0 0}.assign-course-body{flex:1;overflow-y:auto;padding:24px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:.9rem;font-weight:600;color:var(--text-dark);margin-bottom:8px}.form-input,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:.95rem;color:var(--text-dark);background:var(--white-color);transition:all .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff90681a}.form-textarea{resize:vertical;min-height:80px}.form-input[type=number]::-webkit-outer-spin-button,.form-input[type=number]::-webkit-inner-spin-button{margin:0}.sentences-section{margin-top:24px}.sentences-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sentences-title{font-size:.95rem;font-weight:600;color:var(--text-dark)}.add-sentence-btn{background:transparent;border:1px dashed var(--primary-color);color:var(--primary-color);padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.add-sentence-btn:hover{background:#ff90681a}.add-sentence-btn.is-disabled,.add-sentence-btn:disabled{opacity:.5;cursor:not-allowed}.sentence-item{display:flex;gap:8px;margin-bottom:12px;animation:slideDown .2s ease-out}.sentence-input{flex:1}.remove-sentence-btn{background:transparent;border:none;color:var(--text-light);cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-sentence-btn:hover{background:#dc26261a;color:var(--danger-color)}.empty-sentences-hint{text-align:center;padding:24px;background:var(--background-light);border-radius:8px;border:1px dashed var(--border-color);color:var(--text-light);font-size:.9rem}.ai-content-form{display:flex;flex-direction:column;gap:16px;position:relative}.ai-content-form.is-locked .form-input:disabled,.ai-content-form.is-locked .form-textarea:disabled,.ai-content-form.is-locked .ai-chip:disabled,.ai-content-form.is-locked .ai-custom-add-btn:disabled{cursor:not-allowed}.ai-content-form.is-locked .form-input:disabled,.ai-content-form.is-locked .form-textarea:disabled{background-color:#f4f6f8;border-color:#d4dbe3;color:#5f6b7a;-webkit-text-fill-color:#5f6b7a;opacity:1}.ai-content-form.is-locked .form-input:disabled::placeholder,.ai-content-form.is-locked .form-textarea:disabled::placeholder{color:#8a94a3;-webkit-text-fill-color:#8a94a3}.ai-content-form.is-locked .ai-chip:disabled{opacity:1;background-color:#f4f6f8;border-color:#d4dbe3;color:#6a7483}.ai-content-form.is-locked .ai-chip.active:disabled{background-color:#fff3ed;border-color:#ff9068a6;color:#d96f47}.ai-content-form.is-locked .ai-custom-add-btn:disabled{opacity:1;background-color:#f4f6f8;border-color:#d4dbe3;color:#6a7483}.ai-locked-overlay-note{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background-color:transparent;cursor:not-allowed}.ai-generation-settings-container{display:flex;flex-direction:column;gap:16px;position:relative;--locked-tooltip-x: 50%;--locked-tooltip-y: 24px}.ai-locked-tooltip{position:absolute;left:min(max(16px,var(--locked-tooltip-x)),calc(100% - 16px));top:min(max(12px,var(--locked-tooltip-y)),calc(100% - 12px));z-index:11;transform:translate(12px,-120%);max-width:min(320px,calc(100% - 24px));padding:8px 10px;border-radius:10px;background:#192234f5;color:#fff;font-size:.78rem;line-height:1.35;box-shadow:0 10px 24px #0f172a38;pointer-events:none}.ai-two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-three-col-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ai-chip-list{display:flex;flex-wrap:wrap;gap:8px}.ai-phoneme-chip-list{max-height:128px;overflow-y:auto;padding-right:2px}.ai-chip{border:1px solid var(--border-color);background:var(--background-light);color:var(--text-medium);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ai-phoneme-chip-list .ai-chip{padding:4px 10px;min-height:26px;font-size:.76rem;line-height:1.25;font-family:Menlo,Consolas,monospace}.ai-selected-phoneme-list .ai-chip{display:inline-flex;align-items:center;justify-content:center;min-height:26px;line-height:1.25;font-family:Menlo,Consolas,monospace}.ai-chip:hover{border-color:var(--primary-color);color:var(--primary-color)}.ai-chip.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.ai-custom-skill-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.ai-custom-add-btn{border:1px solid var(--border-color);background:var(--white-color);color:var(--text-dark);border-radius:8px;padding:0 14px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease}.ai-custom-add-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.ai-custom-skill-list{margin-top:8px}.ai-generating-textarea{min-height:120px}.ai-preview-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:6px}.ai-preview-note{color:var(--text-light);font-size:.76rem}.ai-preview-json{margin:8px 0 0;padding:12px;border-radius:10px;border:1px solid var(--border-color);background:var(--background-light);color:var(--text-dark);max-height:220px;overflow:auto;font-size:.75rem;line-height:1.45}.ai-generate-row{margin-top:12px}.btn-generate-ai{width:100%;padding:10px 14px;border-radius:8px;border:1px dashed var(--primary-color);background:transparent;color:var(--primary-color);font-weight:700;font-size:.88rem;cursor:pointer}.btn-generate-ai:disabled{opacity:.6;cursor:not-allowed}.ai-generate-error{margin-top:10px;padding:10px 12px;border-radius:8px;border:1px solid rgba(220,38,38,.25);background:#dc262614;color:var(--danger-color);font-size:.86rem}.ai-validation-note{margin-top:8px;padding:10px 12px;border-radius:8px;border:1px dashed rgba(220,38,38,.35);background:#dc262614;color:var(--danger-color);font-size:.82rem;line-height:1.35}.ai-result-empty{margin-top:10px;padding:14px;border-radius:10px;border:1px dashed var(--border-color);background:var(--background-light);color:var(--text-light);font-size:.88rem}.ai-result-editor{margin-top:12px}.ai-result-actions{display:flex;align-items:center;gap:8px}.ai-editor-btn{border:1px solid var(--border-color);background:var(--white-color);color:var(--text-dark);border-radius:8px;padding:6px 10px;font-size:.8rem;font-weight:700;font-family:inherit;cursor:pointer}.ai-editor-btn:disabled{opacity:.55;cursor:not-allowed}.ai-generated-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.ai-generated-item{display:grid;grid-template-columns:24px 32px 1fr auto;gap:8px;align-items:start;background:var(--white-color);border-radius:8px;transition:box-shadow .2s,transform .2s,opacity .2s}.ai-generated-item.is-dragging{opacity:.4;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;transform:scale(1.02);z-index:10}.ai-generated-item.is-drag-over{border-top:2px solid var(--primary-color);padding-top:6px}.ai-bottom-drop-zone{height:16px;margin-top:-8px;border-radius:4px;transition:all .2s}.ai-bottom-drop-zone.is-drag-over{border-top:2px solid var(--primary-color)}.ai-drag-handle{display:flex;align-items:center;justify-content:center;color:var(--text-light);cursor:grab;padding:4px}.ai-drag-handle:active{cursor:grabbing}.ai-drag-handle:hover{color:var(--text-medium)}.ai-generated-index{height:36px;border-radius:8px;background:var(--background-light);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;color:var(--text-medium)}.ai-generated-input{min-height:36px}.ai-generated-textarea{min-height:48px;max-height:120px;line-height:1.45;resize:vertical}.ai-generated-list.is-dragging-list .ai-generated-textarea,.ai-generated-list.is-dragging-list .ai-remove-btn,.ai-generated-list.is-dragging-list .ai-generated-index{pointer-events:none}.ai-remove-btn{background:transparent;border:none;color:var(--text-light);cursor:pointer;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.ai-remove-btn:hover{background:#dc26261a;color:var(--danger-color)}.assign-course-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px;background:var(--white-color)}.btn-cancel{padding:10px 20px;background:transparent;border:1px solid var(--border-color);color:var(--text-dark);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:var(--background-medium)}.btn-submit{padding:10px 24px;background:var(--primary-color);color:var(--white-color);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-submit:hover:not(:disabled){background:var(--primary-hover-color);transform:translateY(-1px)}.btn-submit:disabled{background:var(--text-light);cursor:not-allowed;opacity:.7}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes popInModal{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .assign-course-overlay{background:#000000b3}[data-theme=dark] .assign-course-modal{box-shadow:0 25px 50px -12px #00000080}[data-theme=dark] .assign-course-tabs,[data-theme=dark] .empty-sentences-hint{background:var(--background-medium)}@media (max-width: 680px){.ai-two-col-grid,.ai-three-col-grid,.ai-custom-skill-row{grid-template-columns:1fr}.ai-generated-item{grid-template-columns:20px 28px 1fr auto}}.work-history-editor{display:flex;flex-direction:column;gap:16px;width:100%}.work-history-item{background:var(--bg-secondary, #f5f5f7);border:1px solid var(--border-color, #e1e1e3);border-radius:12px;padding:20px;position:relative;transition:all .2s ease;box-shadow:0 1px 2px #00000008}.work-history-item:hover{border-color:var(--accent-color, #007aff);box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.work-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #ebebeb)}.work-history-index{font-size:.75rem;font-weight:700;color:var(--text-tertiary, #999);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary, #e5e5ea);padding:2px 8px;border-radius:4px}.work-history-remove-btn{background:transparent;border:none;color:var(--text-tertiary, #999);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.work-history-remove-btn:hover{color:#ef4444;background:#ef444414}.work-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 600px){.work-history-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1 / -1}.sub-label{font-size:.85rem;color:var(--text-secondary, #555);font-weight:600}.work-history-input{padding:10px 14px;border:1px solid var(--border-color, #d1d1d6);border-radius:8px;font-size:.95rem;background:var(--bg-primary, #fff);color:var(--text-primary, #111);width:100%;transition:border-color .2s,box-shadow .2s}.work-history-input:focus{outline:none;border-color:var(--accent-color, #007aff);box-shadow:0 0 0 3px #007aff1f}.work-history-input:disabled{background:var(--bg-secondary, #f2f2f7);color:var(--text-disabled, #aeaeb2);cursor:not-allowed;border-color:transparent}.end-date-wrapper{display:flex;align-items:center;gap:16px;height:42px}.end-date-wrapper .work-history-input{flex:1}.present-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-color, #d9d9de);background:var(--bg-primary, #fff);color:var(--text-tertiary, #7a7a7a);height:32px;padding:6px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.present-toggle:hover{border-color:var(--accent-color, #007aff);background:#007aff0a}.present-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #007aff40}.present-toggle-track{position:relative;width:38px;height:20px;border-radius:9999px;background:#e6e7eb;flex:0 0 auto;transition:background .2s ease}.present-toggle-thumb{position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:9999px;background:#fff;box-shadow:0 2px 6px #0000002e;transform:translate(0);transition:transform .2s ease}.present-toggle-label{font-size:.85rem;font-weight:600;white-space:nowrap}.present-toggle.is-on{color:var(--accent-color, #007aff);border-color:#007aff59;background:#007aff0f}.present-toggle.is-on .present-toggle-track{background:var(--accent-color, #007aff)}.present-toggle.is-on .present-toggle-thumb{transform:translate(18px)}.work-history-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:#fff;border:1px dashed var(--border-color, #c7c7cc);border-radius:10px;color:var(--text-secondary, #666);font-weight:600;cursor:pointer;transition:all .2s;width:100%}.work-history-add-btn:hover{border-color:var(--accent-color, #007aff);color:var(--accent-color, #007aff);background:#007aff0a;transform:translateY(-1px)}.work-history-add-btn:active{transform:translateY(0)}.required-mark{color:#ef4444;margin-left:4px;font-weight:600}.work-history-input.has-error{border-color:#ef4444;background:#ef444408}.work-history-input.has-error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.field-error{font-size:.8rem;color:#ef4444;margin-top:4px;display:block}.public-profile-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2rem;box-sizing:border-box}.public-profile-card{width:100%;max-width:600px;background:var(--white-color);border-radius:16px;box-shadow:0 20px 60px #00000040;position:relative;display:flex;flex-direction:column;max-height:90vh;overflow-y:auto;animation:slideUpFade .4s cubic-bezier(.16,1,.3,1)}.profile-banner{border-radius:16px 16px 0 0;overflow:hidden}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-banner{height:200px;width:100%;background-color:var(--primary-color);position:relative;z-index:1;flex-shrink:0}.profile-banner-img{width:100%;height:100%;object-fit:cover}.profile-header{padding:0 1.5rem;position:relative;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:flex-end;height:60px;z-index:20;flex-shrink:0}.profile-avatar-wrapper{width:120px;height:120px;border-radius:50%;position:absolute;top:-60px;left:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px #0000001f;z-index:30;overflow:visible}.profile-avatar-wrapper:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;background:#ffffff38;border:1px solid rgba(255,255,255,.65);box-shadow:0 0 0 1px #0f172a29;backdrop-filter:blur(10px) saturate(150%);-webkit-backdrop-filter:blur(10px) saturate(150%);pointer-events:none;z-index:0}.profile-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;opacity:1;position:relative;z-index:1}.profile-status-badge{position:absolute;bottom:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--success-color);border:4px solid var(--white-color);z-index:3}.header-actions{display:flex;gap:.5rem;margin-left:auto;margin-bottom:.5rem;position:relative;z-index:30}.action-btn{padding:8px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;border:1px solid transparent;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover-color);transform:translateY(-1px)}.btn-secondary{background:var(--background-medium);color:var(--text-dark)}.btn-secondary:hover{background:#e5e5ea}.profile-body{padding:1rem 1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto}.user-identity h2{font-size:1.5rem;font-weight:800;color:var(--text-dark);margin:0;display:flex;align-items:center;gap:8px}.user-headline{font-size:1rem;color:var(--text-medium);margin-top:.25rem;font-weight:500}.profile-section{display:flex;flex-direction:column;gap:.75rem}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--text-light);margin:0}.bio-text{font-size:.95rem;line-height:1.6;color:var(--text-dark);white-space:pre-wrap}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-item{background:var(--background-light);padding:.75rem 1rem;border-radius:8px}.info-label{font-size:.75rem;color:var(--text-light);margin-bottom:4px}.info-value{font-size:1rem;font-weight:600;color:var(--text-dark)}.work-history-list{display:flex;flex-direction:column;gap:1rem;position:relative;padding-left:1rem}.work-history-list:before{content:"";position:absolute;top:8px;bottom:8px;left:0;width:2px;background:var(--border-color);border-radius:1px}.history-item{position:relative;padding-left:1.5rem}.history-item:after{content:"";position:absolute;left:-5px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--white-color);border:2px solid var(--text-light);box-sizing:border-box}.history-item.is-current:after{border-color:var(--primary-color);background:var(--primary-color)}.history-role{font-weight:700;font-size:1rem;color:var(--text-dark)}.history-company{font-size:.9rem;color:var(--text-dark)}.history-date{font-size:.8rem;color:var(--text-light);margin-top:2px}.history-description{font-size:.9rem;color:var(--text-medium);margin-top:4px;line-height:1.4}.badge-verified{display:inline-flex;color:var(--primary-color)}@media (max-width: 600px){.public-profile-wrapper{padding:0;align-items:flex-end}.public-profile-card{border-radius:16px 16px 0 0;min-height:80vh;max-height:95vh;box-shadow:none}}.initial-test-report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.initial-test-report-modal-content{background:var(--bg-primary, #fff);border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;padding:24px;box-shadow:0 20px 60px #0000004d}[data-theme=dark] .initial-test-report-modal-content{background:var(--bg-primary, #1a1a1a)}.initial-test-report-modal-header h2{margin:0 0 20px;font-size:24px;text-align:center;color:var(--text-primary, #333)}[data-theme=dark] .initial-test-report-modal-header h2{color:var(--text-primary, #fff)}.report-section{margin-bottom:20px}.report-section h3{margin:0 0 10px;font-size:16px;color:var(--text-secondary, #666)}[data-theme=dark] .report-section h3{color:var(--text-secondary, #aaa)}.score-section{text-align:center}.score-display{font-size:48px;font-weight:700;color:var(--primary-color, #007bff)}.suggested-level{font-size:20px;font-weight:600;color:var(--success-color, #28a745);padding:10px;background:var(--bg-secondary, #f8f9fa);border-radius:8px;display:inline-block}[data-theme=dark] .suggested-level{background:var(--bg-secondary, #2a2a2a)}.report-section ul{margin:0;padding-left:20px}.report-section li{margin-bottom:8px;line-height:1.5;color:var(--text-primary, #333)}[data-theme=dark] .report-section li{color:var(--text-primary, #e0e0e0)}.initial-test-report-modal-footer{display:flex;justify-content:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color, #e0e0e0)}[data-theme=dark] .initial-test-report-modal-footer{border-top-color:var(--border-color, #444)}.confirm-btn{padding:12px 32px;background:var(--primary-color, #007bff);color:#fff;border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:background .2s}.confirm-btn:hover{background:var(--primary-hover, #0056b3)}.app-shell{display:flex;flex-direction:row;min-height:100vh;width:100vw;overflow:hidden;background-color:var(--background-light);position:relative}.app-main{flex:1;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:relative;scroll-behavior:smooth;z-index:1}.app-shell.has-wallpaper{background-color:transparent}.app-main.has-wallpaper{background:transparent}.app-wallpaper-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.app-wallpaper-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}html[data-has-wallpaper=true] body{background-color:transparent}.auth-layout-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.language-selector-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1100;display:flex;gap:.5rem;background-color:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.5rem;border-radius:999px;box-shadow:0 4px 12px #0000001a;border:1px solid var(--border-color)}.lang-btn{font-size:.85rem;font-weight:600;border:none;padding:.5rem 1rem;border-radius:999px;cursor:pointer;transition:all .2s ease-in-out;background-color:transparent;color:var(--text-medium)}.lang-btn:hover{color:var(--text-dark)}.lang-btn.active{background-color:var(--primary-color);color:var(--white-color);box-shadow:0 2px 4px #0000001a}.floating-role-buttons-container{position:fixed;bottom:24px;left:calc(var(--sidebar-width, 260px) + 24px);display:flex;flex-direction:column;gap:12px;z-index:300;transition:left .3s cubic-bezier(.2,0,0,1)}.floating-role-btn{width:42px;height:42px;border-radius:50%;background:linear-gradient(180deg,#f8fafcb8,#e2e8f08f);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);border:1px solid rgba(255,255,255,.42);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 26px #0f172a24,inset 0 1px #ffffffa6;color:var(--text-dark);transition:all .2s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .floating-role-btn{background:#0003;border:1px solid rgba(255,255,255,.08);color:#fff}.floating-role-btn:hover{transform:scale(1.1);background:linear-gradient(180deg,#ffffffd1,#f1f5f9ad);border-color:#ffffff9e;box-shadow:0 14px 28px #0f172a2e,inset 0 1px #ffffffb8}.floating-role-btn:active{transform:scale(.95)}.floating-role-btn svg{width:20px;height:20px;opacity:.98;filter:drop-shadow(0 1px 1px rgba(255,255,255,.2))}@media (max-width: 768px){.floating-role-buttons-container{bottom:80px;left:24px}}.top-right-chat-button-container{position:fixed;top:24px;right:24px;z-index:500}.chat-floating-btn{position:relative;width:42px;height:42px;border-radius:50%;background:linear-gradient(180deg,#f8fafcb8,#e2e8f08f);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);border:1px solid rgba(255,255,255,.42);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 26px #0f172a24,inset 0 1px #ffffffa6;color:var(--text-dark);transition:all .2s cubic-bezier(.34,1.56,.64,1)}[data-theme=dark] .chat-floating-btn{background:#0003;border:1px solid rgba(255,255,255,.08);color:#fff}.chat-floating-btn:hover{transform:scale(1.1);background:linear-gradient(180deg,#ffffffd1,#f1f5f9ad);border-color:#ffffff9e;box-shadow:0 14px 28px #0f172a2e,inset 0 1px #ffffffb8}.chat-floating-btn.active{transform:none;background:linear-gradient(180deg,#ffffffdb,#f1f5f9bd);border-color:#ffffffad}.chat-floating-btn:active{transform:scale(.95)}.chat-floating-btn svg{width:20px;height:20px;opacity:.98;filter:drop-shadow(0 1px 1px rgba(255,255,255,.2))}.chat-floating-unread-dot{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ff3b30;color:#fff;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0003;box-sizing:border-box;z-index:2}.floating-progress-panel{position:fixed;top:24px;right:74px;z-index:500;height:42px;min-width:290px;padding:0 10px 0 6px;border-radius:999px;background:linear-gradient(180deg,#f8fafcb8,#e2e8f08f);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);border:1px solid rgba(255,255,255,.42);box-shadow:0 10px 28px #0f172a24,inset 0 1px #ffffffa6;color:var(--text-dark);display:flex;align-items:center;gap:8px}[data-theme=dark] .floating-progress-panel{background:#0003;border:1px solid rgba(255,255,255,.08);color:#fff}.floating-progress-avatar{width:30px;height:30px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid rgba(121,121,121,.3)}.floating-progress-avatar img{width:100%;height:100%;display:block;object-fit:cover}.floating-progress-main{min-width:0;display:flex;flex-direction:column;gap:4px;flex:1}.floating-progress-topline{display:flex;justify-content:space-between;align-items:center;gap:8px;line-height:1}.floating-progress-level{font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--text-dark);text-shadow:0 1px 1px rgba(255,255,255,.28)}[data-theme=dark] .floating-progress-level{color:#fffffff0;text-shadow:0 1px 1px rgba(0,0,0,.32)}.floating-progress-xp{font-size:.67rem;opacity:.9;white-space:nowrap;color:#0f172ab8;text-shadow:0 1px 1px rgba(255,255,255,.22)}[data-theme=dark] .floating-progress-xp{color:#ffffffb8;text-shadow:0 1px 1px rgba(0,0,0,.28)}.floating-progress-bar{width:100%;height:5px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;border-radius:999px;overflow:hidden;background:#0f172a2e}[data-theme=dark] .floating-progress-bar{background:#ffffff29}.floating-progress-bar::-webkit-progress-bar{background:transparent}.floating-progress-bar::-webkit-progress-value{background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:999px}.floating-progress-bar::-moz-progress-bar{background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:999px}.floating-progress-coins{display:inline-flex;align-items:center;gap:4px;font-size:.73rem;font-weight:700;white-space:nowrap;padding-left:8px;border-left:1px solid rgba(15,23,42,.12);color:var(--text-dark);text-shadow:0 1px 1px rgba(255,255,255,.22)}[data-theme=dark] .floating-progress-coins{border-left:1px solid rgba(255,255,255,.12);color:#ffffffeb;text-shadow:0 1px 1px rgba(0,0,0,.28)}.floating-progress-coins svg{width:16px;height:16px;color:currentColor;filter:drop-shadow(0 1px 1px rgba(255,255,255,.18))}@media (max-width: 900px){.floating-progress-panel{min-width:232px}}@media (max-width: 768px){.floating-progress-panel{right:20px;top:76px}}.typing-indicator{display:inline-flex;align-items:center;gap:.32rem;min-height:1.15rem;color:currentColor}.typing-indicator-dot{width:.42rem;height:.42rem;border-radius:999px;background:currentColor;opacity:.3;animation:typing-indicator-wave 1.1s ease-in-out infinite}.typing-indicator-dot:nth-child(2){animation-delay:.16s}.typing-indicator-dot:nth-child(3){animation-delay:.32s}@keyframes typing-indicator-wave{0%,60%,to{transform:translateY(0);opacity:.3}30%{transform:translateY(-.16rem);opacity:.88}}@media (prefers-reduced-motion: reduce){.typing-indicator-dot{animation:none;opacity:.55}}.chat-hub-overlay{position:fixed;top:0;right:0;bottom:0;left:260px;z-index:650;display:flex;align-items:flex-start;justify-content:flex-end;padding:72px 20px 20px;transition:background-color .2s ease}.sidebar.collapsed+.app-main .chat-hub-overlay.mode-docked{left:72px}.chat-hub-overlay.mode-docked{background:transparent;pointer-events:none}.chat-hub-overlay.mode-focus{top:0;right:0;bottom:0;left:0;background:#0206173d;pointer-events:auto;padding:0;z-index:1300;align-items:flex-start;justify-content:flex-end;overscroll-behavior:contain}.chat-hub-shell{width:min(820px,calc(100% - 40px));height:min(680px,calc(100dvh - 96px));box-sizing:border-box;background:var(--white-color);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 20px 40px #0f172a2e;display:grid;grid-template-columns:280px 1fr;overflow:hidden;pointer-events:auto;transition:width .2s ease,height .2s ease;transform-origin:top right}.chat-hub-shell.mode-focus{position:absolute;top:15px;right:15px;bottom:15px;left:15px;width:auto;height:auto;margin:0;flex:0 0 auto}.chat-hub-sidebar{border-right:1px solid var(--border-color);background:linear-gradient(180deg,#fff,#f8fafc);padding:1rem;display:flex;flex-direction:column;gap:1rem}.chat-hub-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chat-hub-sidebar-title{font-size:1rem;font-weight:800;color:var(--text-dark)}.chat-hub-new-btn{border:1px solid var(--border-color);background:var(--white-color);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:700;color:var(--text-dark);cursor:pointer}.chat-hub-new-btn:hover{border-color:var(--primary-color);color:var(--primary-color-dark)}.chat-hub-section{min-height:0;display:flex;flex-direction:column;gap:.5rem}.chat-hub-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chat-hub-section-toggle{min-width:0;flex:1;border:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:flex-start;gap:.4rem;cursor:pointer;text-align:left;font-family:inherit}.chat-hub-section-actions{display:inline-flex;align-items:center;gap:.38rem;flex:0 0 auto;position:relative}.chat-hub-section-unread-dot{width:8px;height:8px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 2px #fffffff2;flex:0 0 auto}.chat-hub-section-action-btn{width:26px;height:26px;border-radius:999px;border:1px solid var(--border-color);background:#ffffffe6;color:var(--text-light);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease,transform .18s ease;font-family:inherit}.chat-hub-section-action-btn svg{width:14px;height:14px}.chat-hub-section-action-btn:hover{border-color:var(--primary-color-light);color:var(--text-dark);background:var(--white-color);transform:translateY(-1px)}.chat-hub-section-title{display:inline-flex;align-items:center;gap:.38rem;font-size:.72rem;font-weight:700;color:var(--text-medium);letter-spacing:.06em;text-transform:uppercase}.chat-hub-section-chevron{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-light);transition:transform .18s ease,color .18s ease}.chat-hub-section-chevron svg{width:14px;height:14px}.chat-hub-section-chevron.expanded{transform:rotate(0)}.chat-hub-section-chevron:not(.expanded){transform:rotate(-90deg)}.chat-hub-section-toggle:hover .chat-hub-section-title,.chat-hub-section-toggle:hover .chat-hub-section-chevron{color:var(--text-dark)}.chat-hub-section-panel{display:grid;transition:grid-template-rows .22s ease,opacity .18s ease}.chat-hub-section-panel.expanded{grid-template-rows:1fr;opacity:1}.chat-hub-section-panel.collapsed{grid-template-rows:0fr;opacity:.72}.chat-hub-section-panel>.chat-hub-session-list{min-height:0}.chat-hub-session-list{overflow:auto;display:flex;flex-direction:column;gap:.45rem;padding-right:2px}.chat-hub-section-panel.collapsed>.chat-hub-session-list{overflow:hidden}.chat-hub-section-empty{border:1px dashed var(--border-color);border-radius:.75rem;padding:.9rem .8rem;font-size:.82rem;color:var(--text-light);text-align:center;background:#ffffff8c}.chat-hub-ai-create-panel{border:1px solid var(--border-color);border-radius:.95rem;padding:.8rem;background:linear-gradient(180deg,#fffffffa,#f8fafcfa);box-shadow:0 10px 24px #0f172a0f;display:flex;flex-direction:column;gap:.75rem}.chat-hub-ai-create-title{font-size:.88rem;font-weight:800;color:var(--text-dark)}.chat-hub-ai-create-field{display:flex;flex-direction:column;gap:.38rem}.chat-hub-ai-create-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-light)}.chat-hub-ai-create-select{width:100%;min-height:38px;border-radius:.8rem;border:1px solid var(--border-color);background:#fffffff5;color:var(--text-dark);padding:.55rem .8rem;font-size:.88rem;font-family:inherit;box-sizing:border-box}.chat-hub-ai-create-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #fd746c24}.chat-hub-ai-create-actions{display:flex;align-items:center;justify-content:flex-end;gap:.48rem}.chat-hub-ai-create-btn{min-height:34px;border-radius:999px;padding:.42rem .82rem;border:1px solid var(--border-color);background:#fffffff5;color:var(--text-dark);font-size:.8rem;font-weight:700;font-family:inherit;cursor:pointer;transition:border-color .18s ease,transform .18s ease,background-color .18s ease,color .18s ease}.chat-hub-ai-create-btn:hover:not(:disabled){transform:translateY(-1px)}.chat-hub-ai-create-btn.subtle:hover:not(:disabled){border-color:var(--text-light)}.chat-hub-ai-create-btn.primary{border-color:transparent;background:linear-gradient(135deg,var(--primary-color) 0%,#fd746c 100%);color:#fff;box-shadow:0 8px 16px #fd746c2e}.chat-hub-ai-create-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover-color) 0%,#f25c54 100%)}.chat-hub-ai-create-btn:disabled{opacity:.6;cursor:default;transform:none}.chat-hub-session-item,.chat-hub-ai-session-item{border:1px solid transparent;background:transparent;border-radius:.75rem;text-align:left;padding:.65rem .7rem;cursor:pointer;color:var(--text-dark);transition:.16s ease}.chat-hub-session-item:hover,.chat-hub-ai-session-item:hover{border-color:var(--border-color);background:#fffc}.chat-hub-session-item.active,.chat-hub-ai-session-item.active{border-color:var(--primary-color-light);background:var(--primary-color-light)}.chat-hub-session-main{display:flex;align-items:center;gap:.62rem;min-width:0}.chat-hub-session-content{min-width:0;flex:1}.chat-hub-session-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chat-hub-session-meta{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto}.chat-hub-session-name-wrap{position:relative;min-width:0;flex:1;display:block}.chat-hub-session-name{display:block;min-width:0;overflow:hidden;white-space:nowrap;padding-right:14px;text-overflow:clip;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 78%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to right,#000,#000 78%,#0000);font-size:.92rem;font-weight:700}.chat-hub-session-time{font-size:.74rem;color:var(--text-light)}.chat-hub-session-language-tag{position:absolute;top:0;right:0;display:inline-flex;align-items:center;max-width:108px;min-height:20px;padding:.1rem .45rem;border-radius:999px;background:#0f172a0f;color:var(--text-medium);font-size:.68rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-hub-unread-dot{min-width:18px;height:18px;padding:0 5px;background-color:#ff3b30;border-radius:10px;box-shadow:0 2px 5px #0003;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.68rem;font-weight:700;line-height:1;animation:chatUnreadPopIn .2s ease-out;box-sizing:border-box}.chat-hub-unread-dot-on-avatar{position:absolute;top:-4px;right:-4px;z-index:4}.chat-hub-presence-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:999px;background:#34c759;border:2px solid #fff;box-sizing:border-box;z-index:3}@keyframes chatUnreadPopIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.chat-hub-session-bottom{position:relative;margin-top:.24rem;min-width:0;min-height:20px}.chat-hub-session-preview{display:block;min-width:0;max-width:100%;padding-right:116px;font-size:.82rem;color:var(--text-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-hub-session-preview.draft{color:var(--primary-color-dark);font-weight:600}.chat-hub-picker{border:1px solid var(--border-color);border-radius:.75rem;padding:.6rem;background:var(--white-color);display:flex;flex-direction:column;gap:.35rem;box-shadow:0 18px 36px #0f172a1f;z-index:15}.chat-hub-picker-popover{position:absolute;top:calc(100% + .45rem);left:50%;transform:translate(-50%);width:min(240px,calc(100vw - 120px));max-height:280px;overflow:auto}.chat-hub-picker-title{font-size:.76rem;font-weight:700;color:var(--text-medium);margin-bottom:.2rem}.chat-hub-picker-item{border:1px solid transparent;background:transparent;border-radius:.5rem;padding:.48rem .55rem;display:flex;align-items:center;justify-content:space-between;color:var(--text-dark);cursor:pointer;font-size:.84rem}.chat-hub-picker-item:hover{border-color:var(--border-color);background:var(--background-light)}.chat-hub-picker-subtitle{font-size:.72rem;color:var(--text-light)}.chat-hub-picker-empty{font-size:.82rem;color:var(--text-light);text-align:center;padding:.6rem .4rem}.chat-hub-thread{display:grid;grid-template-rows:auto 1fr auto;min-height:0;min-width:0;overflow:hidden}.chat-hub-thread-header{border-bottom:1px solid var(--border-color);padding:.9rem 1.15rem;background:var(--white-color);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chat-hub-thread-title{min-width:0}.chat-hub-thread-ident{display:flex;align-items:center;gap:.62rem;min-width:0}.chat-hub-thread-actions{display:flex;align-items:center;gap:.45rem}.chat-hub-icon-btn{width:32px;height:32px;border-radius:.55rem;border:1px solid var(--border-color);background:var(--white-color);color:var(--text-medium);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.chat-hub-icon-btn svg{width:16px;height:16px}.chat-hub-icon-btn:hover{border-color:var(--primary-color);color:var(--primary-color-dark)}.chat-hub-icon-btn.delete{border-color:#fecaca;background:#fff1f2;color:#dc2626}.chat-hub-icon-btn.delete:hover{border-color:#fca5a5;background:#ffe4e6;color:#b91c1c}.chat-hub-icon-btn.danger:hover{border-color:#fca5a5;color:#b91c1c}.chat-hub-thread-user,.chat-hub-ai-thread-title{font-size:1rem;font-weight:800;color:var(--text-dark)}.chat-hub-ai-thread-title-button{min-width:0;max-width:100%;border:none;background:transparent;padding:0;display:inline-flex;align-items:center;text-align:left;cursor:pointer;font-family:inherit}.chat-hub-ai-thread-title-button:hover .chat-hub-ai-thread-title{color:var(--primary-color-dark)}.chat-hub-ai-thread-title-input{width:min(320px,100%);min-width:0;border:1px solid var(--border-color);border-radius:.6rem;background:var(--white-color);color:var(--text-dark);padding:.35rem .55rem;font-size:1rem;font-weight:800;line-height:1.2;font-family:inherit}.chat-hub-ai-thread-title-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f624}.chat-hub-ai-thread-heading{display:flex;align-items:center;gap:.5rem;min-width:0;flex-wrap:wrap}.chat-hub-ai-language-tag{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:.15rem .56rem;border-radius:999px;background:#0f172a0f;color:var(--text-medium);font-size:.72rem;font-weight:700;white-space:nowrap}.chat-hub-thread-meta,.chat-hub-ai-thread-model{font-size:.8rem;color:var(--text-light);margin-top:.2rem;line-height:1.2;min-height:1.2em;display:inline-flex;align-items:center;gap:.34rem;--chat-meta-dot-color: transparent}.chat-hub-thread-meta:before,.chat-hub-ai-thread-model:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--chat-meta-dot-color);box-shadow:0 0 0 1px #ffffffe6;flex:0 0 auto}.chat-hub-thread-meta.status-online,.chat-hub-ai-thread-model.status-online{--chat-meta-dot-color: #34C759}.chat-hub-thread-meta.status-typing,.chat-hub-ai-thread-model.status-typing{--chat-meta-dot-color: #007AFF}.chat-hub-thread-meta.status-offline,.chat-hub-ai-thread-model.status-offline{--chat-meta-dot-color: #8E8E93}.chat-hub-avatar{border-radius:999px;overflow:visible;flex:0 0 auto;border:none;background:#e5e7eb;position:relative;display:inline-flex;align-items:center;justify-content:center;isolation:isolate}.chat-hub-avatar:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:999px;background:#ffffff38;border:1px solid rgba(255,255,255,.65);box-shadow:0 0 0 1px #0f172a33,0 8px 18px #0f172a26;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);pointer-events:none;z-index:0}.chat-hub-avatar-sm,.chat-hub-avatar-md{width:40px;height:40px}.chat-hub-avatar-img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1;border-radius:999px}.chat-hub-avatar-img.is-hidden{display:none}.chat-hub-avatar-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:inline-flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:700;color:#4b5563;z-index:2}.chat-hub-messages{background:#fff;padding:1rem 1.1rem 1.25rem;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.5rem}html.chat-hub-focus-lock,body.chat-hub-focus-lock{overflow:hidden;overscroll-behavior:none}.chat-hub-empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:.9rem}.chat-hub-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;min-height:0}.chat-hub-empty-icon{width:64px;height:64px;color:var(--text-light);opacity:.6}.chat-hub-empty-icon svg{width:100%;height:100%}.chat-hub-empty-title{font-size:1.1rem;font-weight:700;color:var(--text-dark)}.chat-hub-empty-subtitle{font-size:.9rem;color:var(--text-medium);max-width:280px}.chat-hub-typing-text{font-size:.82rem;color:var(--text-light)}.chat-hub-row{display:flex}.chat-hub-row.row-me{justify-content:flex-end}.chat-hub-row.row-other{justify-content:flex-start}.chat-hub-row.row-system{justify-content:center}.chat-hub-date-divider{display:flex;align-items:center;gap:.8rem;margin:.8rem 0 .7rem;color:#8e8e93}.chat-hub-date-divider-line{flex:1 1 auto;height:1px;background:#8e8e9338}.chat-hub-date-divider-label{flex:0 0 auto;font-size:.74rem;font-weight:600;letter-spacing:.01em}.chat-hub-bubble{max-width:min(560px,78%);border-radius:18px;padding:.62rem .92rem;border:none;line-height:1.4}.chat-hub-bubble.bubble-typing{min-width:4.2rem;padding-top:.82rem;padding-bottom:.82rem}.chat-hub-markdown{min-width:0}.chat-hub-markdown,.chat-hub-markdown p,.chat-hub-markdown li,.chat-hub-markdown a,.chat-hub-markdown code,.chat-hub-markdown pre,.chat-hub-markdown blockquote,.chat-hub-markdown table,.chat-hub-markdown th,.chat-hub-markdown td{font-family:inherit}.chat-hub-markdown>:first-child{margin-top:0}.chat-hub-markdown>:last-child{margin-bottom:0}.chat-hub-markdown p{margin:0;font-size:.92rem;color:var(--text-dark);white-space:pre-wrap;word-break:break-word}.chat-hub-markdown h1,.chat-hub-markdown h2,.chat-hub-markdown h3,.chat-hub-markdown h4,.chat-hub-markdown h5,.chat-hub-markdown h6{margin:.2rem 0 .45rem;line-height:1.28;color:inherit}.chat-hub-markdown h1{font-size:1.08rem}.chat-hub-markdown h2{font-size:1rem}.chat-hub-markdown h3,.chat-hub-markdown h4,.chat-hub-markdown h5,.chat-hub-markdown h6{font-size:.94rem}.chat-hub-markdown ul,.chat-hub-markdown ol{margin:.35rem 0;padding-left:1.2rem;color:inherit}.chat-hub-markdown li{margin:.16rem 0;line-height:1.45}.chat-hub-markdown a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.chat-hub-markdown strong{font-weight:800}.chat-hub-markdown em{font-style:italic}.chat-hub-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84em;padding:.12rem .34rem;border-radius:.42rem;background:#0f172a14;color:inherit}.chat-hub-markdown pre,.chat-hub-markdown-codeblock{margin:.4rem 0;padding:.7rem .8rem .8rem;border-radius:.85rem;background:#0f172a14;overflow-x:auto}.chat-hub-markdown pre code,.chat-hub-markdown-codeblock code{display:block;padding:0;border-radius:0;background:transparent;white-space:pre}.chat-hub-markdown hr{margin:.6rem 0;border:0;border-top:1px solid rgba(15,23,42,.14)}.chat-hub-markdown blockquote{margin:.45rem 0;padding-left:.75rem;border-left:3px solid rgba(15,23,42,.18);color:inherit;opacity:.88}.chat-hub-markdown table{width:100%;margin:.45rem 0;border-collapse:collapse;font-size:.88rem}.chat-hub-markdown th,.chat-hub-markdown td{padding:.4rem .5rem;border:1px solid rgba(15,23,42,.12);text-align:left;vertical-align:top}.chat-hub-markdown th{font-weight:700}.chat-hub-markdown-codeblock-lang{display:inline-block;margin-bottom:.45rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-light)}.chat-hub-bubble>.chat-hub-bubble-time{margin-top:.32rem;display:block;text-align:right;font-size:.72rem;color:#8e8e93}.chat-hub-bubble.bubble-me{background:linear-gradient(135deg,var(--primary-color) 0%,#fd746c 100%);color:#fff;border-radius:18px 18px 4px;box-shadow:0 2px 4px #fd746c33}.chat-hub-bubble.bubble-other{background:#e9e9eb;color:#000;border-radius:18px 18px 18px 4px}.chat-hub-bubble.bubble-me p,.chat-hub-bubble.bubble-me .chat-hub-markdown p,.chat-hub-bubble.bubble-me span,.chat-hub-bubble.bubble-me .chat-hub-markdown h1,.chat-hub-bubble.bubble-me .chat-hub-markdown h2,.chat-hub-bubble.bubble-me .chat-hub-markdown h3,.chat-hub-bubble.bubble-me .chat-hub-markdown h4,.chat-hub-bubble.bubble-me .chat-hub-markdown h5,.chat-hub-bubble.bubble-me .chat-hub-markdown h6,.chat-hub-bubble.bubble-me .chat-hub-markdown a,.chat-hub-bubble.bubble-me .chat-hub-markdown li{color:#fff}.chat-hub-bubble.bubble-me .chat-hub-markdown code,.chat-hub-bubble.bubble-me .chat-hub-markdown pre,.chat-hub-bubble.bubble-me .chat-hub-markdown-codeblock{background:#ffffff29}.chat-hub-bubble.bubble-me .chat-hub-markdown hr{border-top-color:#ffffff47}.chat-hub-bubble.bubble-me .chat-hub-markdown blockquote,.chat-hub-bubble.bubble-me .chat-hub-markdown th,.chat-hub-bubble.bubble-me .chat-hub-markdown td{border-color:#ffffff38}.chat-hub-bubble.bubble-me .chat-hub-markdown-codeblock-lang{color:#ffffffc7}.chat-hub-system-error-card{width:min(520px,100%);border-radius:1rem;border:1px solid rgba(239,68,68,.16);background:#fef2f2;box-shadow:0 12px 22px #0f172a0f;padding:.82rem .92rem;display:flex;flex-direction:column;gap:.65rem}.chat-hub-system-error-head{display:flex;align-items:flex-start;gap:.68rem}.chat-hub-system-error-icon{width:1.9rem;height:1.9rem;flex:0 0 auto;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#ef4444;background:#ef44441f}.chat-hub-system-error-copy{color:#b91c1c;font-size:.88rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;padding-top:.12rem}.chat-hub-system-error-actions{display:flex;align-items:center;gap:.48rem;flex-wrap:wrap;padding-left:2.58rem}.chat-hub-system-error-btn{border:1px solid rgba(239,68,68,.18);background:#ffffffeb;color:#dc2626;border-radius:999px;padding:.38rem .74rem;font-size:.78rem;font-weight:700;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease;font-family:inherit}.chat-hub-system-error-btn:hover{background:#fef2f2fa;border-color:#ef444447;transform:translateY(-1px)}.chat-hub-composer{border-top:1px solid rgba(0,0,0,.05);background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:.75rem 1rem;display:flex;gap:.55rem;align-items:flex-end}.chat-hub-ai-composer{display:block;padding:.72rem .9rem .82rem}.chat-hub-ai-composer-surface{border:1px solid rgba(15,23,42,.12);background:linear-gradient(180deg,#fffffffa,#f8fafcfa);box-shadow:0 14px 34px #0f172a14,inset 0 1px #ffffffd9;border-radius:1.2rem;padding:.35rem .45rem .45rem}.chat-hub-ai-warning-banner{display:flex;align-items:flex-start;gap:.55rem;margin:.18rem;padding:.62rem .74rem;border-radius:.92rem;border:1px solid rgba(239,68,68,.14);background:#fef2f2e6;color:#b91c1c}.chat-hub-ai-warning-banner-icon{width:18px;height:18px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.chat-hub-ai-warning-banner-icon svg{width:18px;height:18px}.chat-hub-ai-warning-banner-copy{font-size:.8rem;line-height:1.38;font-weight:600;font-family:inherit}.chat-hub-attach-btn{width:36px;height:36px;flex:0 0 36px;border-radius:999px;border:none;background:#f2f2f7;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:2px;transition:transform .1s ease,background-color .2s ease,color .2s ease}.chat-hub-attach-btn svg{width:16px;height:16px}.chat-hub-attach-btn:hover{transform:scale(1.05);background:#e5e5ea;color:#4b5563}.chat-hub-input{flex:1;min-height:38px;max-height:120px;resize:none;font-family:inherit;border:none;border-radius:20px;font-size:.95rem;line-height:1.3;padding:.62rem 1rem;color:var(--text-dark);background:#f2f2f7;overflow-y:hidden}.chat-hub-input::placeholder{line-height:1.3}.chat-hub-input:focus{outline:none;background:#e5e5ea}.chat-hub-ai-input{width:100%;min-height:54px;max-height:140px;background:transparent;padding:.78rem .9rem .72rem;line-height:1.3;box-sizing:border-box}.chat-hub-ai-input:focus{background:transparent}.chat-hub-ai-input:disabled{opacity:1;color:var(--text-dark);-webkit-text-fill-color:var(--text-dark);cursor:not-allowed}.chat-hub-ai-composer-bar{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.06rem .15rem 0}.chat-hub-ai-composer-left,.chat-hub-ai-composer-right{display:inline-flex;align-items:center;gap:.5rem}.chat-hub-ai-bar-btn{background:#f2f2f7e6;border:1px solid rgba(15,23,42,.08);margin-bottom:0}.chat-hub-ai-model-btn{min-width:0;max-width:248px;min-height:42px;border-radius:1rem;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fffffffa,#f8fafcfa);color:var(--text-medium);padding:.48rem .72rem .48rem .82rem;display:inline-flex;align-items:center;justify-content:space-between;gap:.72rem;font-size:.84rem;font-family:inherit;box-shadow:0 10px 22px #0f172a14,inset 0 1px #ffffffe6;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.chat-hub-ai-model-menu{position:relative}.chat-hub-ai-model-btn:hover:not(:disabled){border-color:#fd746c38;box-shadow:0 14px 24px #0f172a1a,inset 0 1px #fffffff2;transform:translateY(-1px)}.chat-hub-ai-model-btn-copy{display:flex;flex-direction:column;min-width:0;flex:1;overflow:hidden}.chat-hub-ai-model-btn-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--text-dark)}.chat-hub-ai-model-btn svg{width:14px;height:14px;flex:0 0 auto}.chat-hub-ai-model-dropdown{position:absolute;right:0;bottom:calc(100% + .6rem);width:min(340px,72vw);padding:.55rem;border-radius:1.15rem;border:1px solid rgba(15,23,42,.1);background:linear-gradient(180deg,#fffffffc,#f8fafcfb);box-shadow:0 24px 44px #0f172a24,0 4px 12px #0f172a14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:.36rem;z-index:30}.chat-hub-ai-model-option{width:100%;border:1px solid rgba(15,23,42,.04);background:#ffffffc7;border-radius:.95rem;padding:.72rem .8rem;display:flex;align-items:center;gap:.68rem;text-align:left;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;font-family:inherit}.chat-hub-ai-model-option:hover{background:#fffffffa;border-color:#fd746c24;box-shadow:0 12px 22px #0f172a14;transform:translateY(-1px)}.chat-hub-ai-model-option.selected{background:linear-gradient(180deg,#fff4f0fa,#ffece5f5);border-color:#fd746c38;box-shadow:0 12px 24px #fd746c1f}.chat-hub-ai-model-option-avatar{position:relative;width:38px;height:38px;border-radius:999px;overflow:hidden;flex:0 0 auto;background:#f3f4f6;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #0f172a0d}.chat-hub-ai-model-option-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:.2rem}.chat-hub-ai-model-option-name{font-size:.9rem;font-weight:700;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-hub-ai-model-option-meta{display:flex;align-items:center;gap:.42rem;min-width:0}.chat-hub-ai-model-option-provider{display:inline-flex;align-items:center;flex:0 0 auto;border-radius:999px;padding:.1rem .42rem;background:#0f172a0f;color:var(--text-light);font-size:.66rem;font-weight:700;letter-spacing:.02em}.chat-hub-ai-model-option-id{min-width:0;font-size:.74rem;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-hub-ai-model-option-check{width:20px;height:20px;color:var(--primary-color-dark);flex:0 0 auto}.chat-hub-ai-model-option-check svg{width:100%;height:100%}.chat-hub-ai-send-btn{margin-bottom:0;box-shadow:0 10px 18px #fd746c38}.chat-hub-ai-send-btn:disabled,.chat-hub-ai-model-btn:disabled,.chat-hub-ai-bar-btn:disabled{opacity:.9;cursor:not-allowed}.chat-hub-send-btn{width:36px;height:36px;border-radius:999px;border:none;background:var(--primary-color);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:2px;transition:transform .1s ease,background-color .2s ease}.chat-hub-send-btn svg{width:18px;height:18px}.chat-hub-send-btn:hover:not(:disabled){transform:scale(1.05);background:var(--primary-hover-color)}.chat-hub-send-btn:disabled{opacity:.5;cursor:default;background:#d1d1d6}[data-theme=dark] .chat-hub-shell{background:#0f172a;border-color:#334155}[data-theme=dark] .chat-hub-sidebar,[data-theme=dark] .chat-hub-thread-header,[data-theme=dark] .chat-hub-composer{background:#111827;border-color:#334155}[data-theme=dark] .chat-hub-ai-language-tag{background:#94a3b81f;color:#cbd5e1}[data-theme=dark] .chat-hub-messages{background:#0b1220}[data-theme=dark] .chat-hub-bubble.bubble-other{background:#2c2c2e;color:#fff}[data-theme=dark] .chat-hub-system-error-card{border-color:#f871713d;background:#450a0aeb;box-shadow:0 18px 30px #02061752}[data-theme=dark] .chat-hub-system-error-icon{background:#f8717124;color:#fca5a5}[data-theme=dark] .chat-hub-system-error-copy{color:#fee2e2}[data-theme=dark] .chat-hub-system-error-btn{border-color:#f8717133;background:#1f2937e0;color:#fecaca}[data-theme=dark] .chat-hub-system-error-btn:hover{background:#1f2937fa;border-color:#fca5a552}[data-theme=dark] .chat-hub-date-divider{color:#ebebf59e}[data-theme=dark] .chat-hub-date-divider-line{background:#ebebf524}[data-theme=dark] .chat-hub-input{background:#2c2c2e;color:#fff}[data-theme=dark] .chat-hub-input:focus{background:#3a3a3c}[data-theme=dark] .chat-hub-attach-btn{background:#2c2c2e;color:#9ca3af}[data-theme=dark] .chat-hub-attach-btn:hover{background:#3a3a3c;color:#d1d5db}[data-theme=dark] .chat-hub-ai-composer-surface{border-color:#94a3b824;background:linear-gradient(180deg,#0f172af5,#111827f5);box-shadow:0 18px 34px #02061757,inset 0 1px #94a3b814}[data-theme=dark] .chat-hub-ai-input{background:transparent;color:#f8fafc}[data-theme=dark] .chat-hub-ai-input:focus{background:#33415573}[data-theme=dark] .chat-hub-ai-input:disabled{color:#f8fafc;-webkit-text-fill-color:#f8fafc}[data-theme=dark] .chat-hub-ai-warning-banner{border-color:#f8717138;background:#450a0a6b;color:#fca5a5}[data-theme=dark] .chat-hub-ai-model-btn{border-color:#94a3b829;background:linear-gradient(180deg,#1e293bf0,#0f172af0);color:#cbd5e1;box-shadow:0 10px 18px #02061738}[data-theme=dark] .chat-hub-ai-model-btn-label{color:#f8fafc}[data-theme=dark] .chat-hub-ai-model-dropdown{border-color:#94a3b829;background:linear-gradient(180deg,#0f172afa,#111827fa);box-shadow:0 20px 40px #02061757,0 2px 8px #0206173d}[data-theme=dark] .chat-hub-ai-model-option:hover{background:#1e293bf5;border-color:#f8717129}[data-theme=dark] .chat-hub-ai-model-option.selected{background:#7f1d1d33;border-color:#f871712e}[data-theme=dark] .chat-hub-ai-model-option-avatar{background:#1f2937}[data-theme=dark] .chat-hub-ai-model-option-name{color:#f8fafc}[data-theme=dark] .chat-hub-ai-model-option-provider{background:#94a3b81f;color:#cbd5e1}[data-theme=dark] .chat-hub-ai-model-option-id{color:#94a3b8}[data-theme=dark] .chat-hub-ai-bar-btn{border-color:#94a3b81f;background:#1e293be6;color:#cbd5e1}[data-theme=dark] .chat-hub-ai-create-panel{border-color:#94a3b824;background:linear-gradient(180deg,#0f172af5,#111827f5);box-shadow:0 16px 30px #0206173d}[data-theme=dark] .chat-hub-ai-create-title{color:#f8fafc}[data-theme=dark] .chat-hub-ai-create-label{color:#94a3b8}[data-theme=dark] .chat-hub-ai-create-select,[data-theme=dark] .chat-hub-ai-create-btn{border-color:#94a3b829;background:#1e293beb;color:#f8fafc}[data-theme=dark] .chat-hub-avatar{background:#111827}[data-theme=dark] .chat-hub-avatar:before{background:#0f172a4d;border-color:#94a3b873;box-shadow:0 0 0 1px #0f172a59,0 8px 18px #02061759}[data-theme=dark] .chat-hub-avatar-fallback{color:#cbd5e1}[data-theme=dark] .chat-hub-empty-title{color:#f1f5f9}[data-theme=dark] .chat-hub-empty-subtitle{color:#94a3b8}:root{--primary-color: #ff9068;--primary-hover-color: #fd746c;--primary-color-light: #eef2ff;--primary-color-dark: #3730a3;--danger-color: #dc2626;--success-color: #16a34a;--info-color: #2563eb;--warning-color: #f59e0b;--text-dark: #1e293b;--text-medium: #475569;--text-light: #64748b;--border-color: #e2e8f0;--background-light: #f8fafc;--background-medium: #f1f5f9;--white-color: #ffffff;--glass-bg: rgba(255, 255, 255, .8);--card-gradient: linear-gradient(to top, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);--page-bottom-gradient: linear-gradient(to top, rgba(248, 250, 252, 1) 70%, rgba(248, 250, 252, 0))}[data-theme=dark]{--primary-color: #ff9068;--primary-hover-color: #fd746c;--primary-color-light: #1e1b4b;--primary-color-dark: #a5b4fc;--danger-color: #ef4444;--success-color: #22c55e;--info-color: #3b82f6;--warning-color: #f59e0b;--text-dark: #f8fafc;--text-medium: #cbd5e1;--text-light: #94a3b8;--border-color: #334155;--background-light: #020617;--background-medium: #0f172a;--white-color: #1e293b;--glass-bg: rgba(2, 6, 23, .8);--card-gradient: linear-gradient(to top, rgba(30, 41, 59, 1) 50%, rgba(30, 41, 59, 0) 100%);--page-bottom-gradient: linear-gradient(to top, rgba(2, 6, 23, 1) 70%, rgba(2, 6, 23, 0))}::-webkit-scrollbar{display:none}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}html,body{height:100%}body{font-family:SF Pro Display,-apple-system,PingFang TC,Microsoft JhengHei,sans-serif;background-color:var(--background-light);color:var(--text-medium);line-height:1.6;transition:background-color .3s ease,color .3s ease}.page-title{font-size:2.5rem;font-weight:800;color:var(--text-dark);width:fit-content;max-width:min(100%,720px);display:flex;align-items:center;justify-content:center;margin-bottom:2rem;margin-left:auto;margin-right:auto;padding:.95rem 1.9rem;border-radius:999px;background:#fff3;backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);border:none;outline:1px solid rgba(255,255,255,.24);box-sizing:border-box;box-shadow:none;line-height:1.1;text-align:center;vertical-align:middle}[data-theme=dark] .page-title{background:#0f172a42;outline-color:#ffffff24}#root,.App{height:100%}
