body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f2f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.ant-layout-header{display:flex;align-items:center;justify-content:space-between}.ant-card{margin-bottom:24px}.ant-form{max-width:100%}*{margin:0;padding:0;box-sizing:border-box}:root{--apple-blue: #007aff;--apple-green: #34c759;--apple-red: #ff3b30;--apple-orange: #ff9500;--apple-gray: #86868b;--apple-gray-2: #6e6e73;--apple-gray-3: #48484a;--apple-gray-4: #3a3a3c;--apple-gray-5: #2c2c2e;--apple-gray-6: #1c1c1e;--apple-bg: #ffffff;--apple-bg-secondary: #f5f5f7;--apple-border: rgba(0, 0, 0, .08);--apple-shadow: 0 2px 8px rgba(0, 0, 0, .08);--apple-shadow-lg: 0 4px 20px rgba(0, 0, 0, .12);--apple-radius: 12px;--apple-radius-lg: 20px;--apple-transition: all .2s ease}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,PingFang SC,sans-serif;background:var(--apple-bg-secondary);color:var(--apple-gray-3);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#ffffffb8;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--apple-border);position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.logo-section{display:flex;align-items:center;gap:14px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--apple-blue) 0%,#5856d6 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.logo-icon svg{width:22px;height:22px}.logo-text h1{font-size:20px;font-weight:600;color:var(--apple-gray-3);letter-spacing:-.3px}.logo-text p{font-size:12px;color:var(--apple-gray);margin-top:2px}.generate-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--apple-blue);color:#fff;border:none;border-radius:980px;font-size:15px;font-weight:500;cursor:pointer;transition:var(--apple-transition)}.generate-btn:hover{background:#0066d6;transform:scale(1.02)}.generate-btn:active{transform:scale(.98)}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.generate-btn.generating{background:var(--apple-gray-4)}.generate-btn svg{width:18px;height:18px}.main-content{flex:1;padding:32px 24px}.content-wrapper{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.fixed-info-section,.lessons-section,.status-section{background:var(--apple-bg);border-radius:var(--apple-radius-lg);box-shadow:var(--apple-shadow);overflow:hidden}.section-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--apple-border)}.section-header h2{font-size:17px;font-weight:600;color:var(--apple-gray-3);letter-spacing:-.2px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;background:var(--apple-bg-secondary);border-radius:11px;font-size:13px;font-weight:500;color:var(--apple-gray-2)}.add-lesson-btn{display:flex;align-items:center;gap:6px;margin-left:auto;padding:8px 16px;background:transparent;color:var(--apple-blue);border:1px solid var(--apple-blue);border-radius:980px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--apple-transition)}.add-lesson-btn:hover{background:var(--apple-blue);color:#fff}.add-lesson-btn svg{width:16px;height:16px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px 24px}.form-grid.small{grid-template-columns:repeat(5,1fr);padding:16px 24px 0}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1;padding:0 24px 16px}.form-group label{font-size:13px;font-weight:500;color:var(--apple-gray-2)}.optional{font-weight:400;color:var(--apple-gray)}.form-group input,.form-group textarea{padding:10px 14px;background:var(--apple-bg-secondary);border:1px solid transparent;border-radius:10px;font-size:15px;color:var(--apple-gray-3);transition:var(--apple-transition);font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;background:var(--apple-bg);border-color:var(--apple-blue);box-shadow:0 0 0 3px #007aff26}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--apple-gray)}.form-group textarea{resize:vertical;min-height:60px}.api-key-section{padding:16px 24px 24px;border-top:1px solid var(--apple-border);margin-top:4px}.api-key-section label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--apple-gray-2);margin-bottom:8px}.api-key-section label svg{width:16px;height:16px;color:var(--apple-orange)}.api-key-section input{width:100%;padding:12px 16px;background:var(--apple-bg-secondary);border:1px solid transparent;border-radius:10px;font-size:15px;color:var(--apple-gray-3);transition:var(--apple-transition)}.api-key-section input:focus{outline:none;background:var(--apple-bg);border-color:var(--apple-blue);box-shadow:0 0 0 3px #007aff26}.lessons-list{padding:0}.lesson-card{border-bottom:1px solid var(--apple-border);transition:var(--apple-transition)}.lesson-card:last-child{border-bottom:none}.lesson-card:hover{background:#007aff05}.lesson-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;cursor:pointer;transition:var(--apple-transition)}.lesson-header:hover{background:#007aff0a}.lesson-title{display:flex;align-items:center;gap:14px}.lesson-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--apple-bg-secondary);border-radius:8px;font-size:14px;font-weight:600;color:var(--apple-gray-2)}.lesson-name{font-size:15px;font-weight:500;color:var(--apple-gray-3)}.lesson-actions{display:flex;align-items:center;gap:8px}.delete-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:var(--apple-gray);cursor:pointer;transition:var(--apple-transition)}.delete-btn:hover{background:#ff3b301a;color:var(--apple-red)}.delete-btn svg{width:18px;height:18px}.expand-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--apple-gray);transition:transform .2s ease}.lesson-card.expanded .expand-icon{transform:rotate(180deg)}.expand-icon svg{width:18px;height:18px}.lesson-content{padding:0 24px 20px;border-top:1px solid var(--apple-border);background:var(--apple-bg-secondary)}.documents-section{padding:16px 0}.documents-section>label{display:block;font-size:13px;font-weight:500;color:var(--apple-gray-2);margin-bottom:10px}.documents-list{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.document-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--apple-bg);border:1px solid var(--apple-border);border-radius:8px;font-size:13px}.document-item svg{width:16px;height:16px;color:var(--apple-blue)}.doc-name{color:var(--apple-gray-3);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-size{color:var(--apple-gray);font-size:12px}.remove-doc-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:50%;color:var(--apple-gray);cursor:pointer;transition:var(--apple-transition)}.remove-doc-btn:hover{background:#ff3b301a;color:var(--apple-red)}.remove-doc-btn svg{width:14px;height:14px}.uploading-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--apple-blue);font-size:13px}.upload-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px dashed var(--apple-border);border-radius:8px;color:var(--apple-blue);font-size:13px;font-weight:500;cursor:pointer;transition:var(--apple-transition)}.upload-btn:hover{background:#007aff0d;border-color:var(--apple-blue)}.upload-btn svg{width:16px;height:16px}.tabs{display:flex;border-bottom:1px solid var(--apple-border);padding:0 24px}.tab{display:flex;align-items:center;gap:8px;padding:14px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--apple-gray);font-size:14px;font-weight:500;cursor:pointer;transition:var(--apple-transition);margin-bottom:-1px}.tab:hover{color:var(--apple-gray-2)}.tab.active{color:var(--apple-blue);border-bottom-color:var(--apple-blue)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--apple-bg-secondary);border-radius:10px;font-size:12px;font-weight:500;color:var(--apple-gray-2)}.tab-badge.success{background:#34c75926;color:var(--apple-green)}.tab-content{padding:20px 24px}.loading-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:32px;min-height:320px}.loading-animation{position:relative;width:120px;height:120px}.orbit{position:relative;width:100%;height:100%}.planet{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;background:linear-gradient(135deg,#007aff,#5856d6);border-radius:50%;box-shadow:0 4px 20px #007aff66;animation:planet-pulse 2s ease-in-out infinite}@keyframes planet-pulse{0%,to{transform:translate(-50%,-50%) scale(1);box-shadow:0 4px 20px #007aff66}50%{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 6px 30px #007aff99}}.satellite{position:absolute;top:50%;left:50%;width:10px;height:10px;background:linear-gradient(135deg,#34c759,#30d158);border-radius:50%;box-shadow:0 2px 8px #34c75966}.satellite.s1{animation:orbit-1 3s linear infinite}.satellite.s2{background:linear-gradient(135deg,#ff9500,#ff6b35);box-shadow:0 2px 8px #ff950066;animation:orbit-2 4s linear infinite}.satellite.s3{background:linear-gradient(135deg,#af52de,#8944ab);box-shadow:0 2px 8px #af52de66;animation:orbit-3 5s linear infinite}@keyframes orbit-1{0%{transform:translate(-50%,-50%) rotate(0) translate(45px) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg) translate(45px) rotate(-360deg)}}@keyframes orbit-2{0%{transform:translate(-50%,-50%) rotate(120deg) translate(55px) rotate(-120deg)}to{transform:translate(-50%,-50%) rotate(480deg) translate(55px) rotate(-480deg)}}@keyframes orbit-3{0%{transform:translate(-50%,-50%) rotate(240deg) translate(40px) rotate(-240deg)}to{transform:translate(-50%,-50%) rotate(600deg) translate(40px) rotate(-600deg)}}.loading-text{text-align:center}.loading-text h3{font-size:20px;font-weight:600;color:var(--apple-gray-3);margin-bottom:8px}.loading-topic{font-size:15px;color:var(--apple-blue);font-weight:500;margin-bottom:16px;min-height:24px}.loading-dots{display:flex;justify-content:center;gap:6px}.loading-dots span{width:8px;height:8px;background:var(--apple-blue);border-radius:50%;animation:loading-dot 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading-dot{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-status{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#007aff0f;border-radius:20px;font-size:14px;color:var(--apple-gray-2)}.status-icon{font-size:16px;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.pulse-dot{display:inline-block;width:8px;height:8px;background:var(--apple-green);border-radius:50%;margin-right:6px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #34c75966}50%{opacity:.8;transform:scale(1.1);box-shadow:0 0 0 8px #34c75900}}.results-panel{min-height:200px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--apple-gray)}.empty-state svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:15px}.results-list{display:flex;flex-direction:column;gap:12px}.result-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--apple-bg-secondary);border-radius:12px;transition:var(--apple-transition)}.result-item:hover{background:#0000000a}.result-item.success{border-left:3px solid var(--apple-green)}.result-item.error{border-left:3px solid var(--apple-red)}.result-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%}.result-item.success .result-icon{background:#34c75926;color:var(--apple-green)}.result-item.error .result-icon{background:#ff3b3026;color:var(--apple-red)}.result-icon svg{width:16px;height:16px}.result-info{flex:1;display:flex;flex-direction:column;gap:2px}.result-topic{font-size:15px;font-weight:500;color:var(--apple-gray-3)}.result-status{font-size:13px;color:var(--apple-gray)}.download-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--apple-blue);color:#fff;border:none;border-radius:980px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--apple-transition)}.download-btn:hover{background:#0066d6}.download-btn svg{width:16px;height:16px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:14px;height:14px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.app-footer{padding:24px;text-align:center;color:var(--apple-gray);font-size:13px;border-top:1px solid var(--apple-border);background:var(--apple-bg)}@media(max-width:1024px){.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid.small{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.header-content{padding:12px 16px}.logo-text h1{font-size:17px}.generate-btn{padding:10px 18px;font-size:14px}.main-content{padding:20px 16px}.form-grid,.form-grid.small{grid-template-columns:1fr 1fr}.section-header{padding:16px}.lesson-header{padding:14px 16px}.lesson-content{padding:0 16px 16px}.tab-content{padding:16px}}@media(max-width:480px){.form-grid,.form-grid.small{grid-template-columns:1fr}.header-content{flex-direction:column;gap:12px}.generate-btn{width:100%;justify-content:center}}
