.home-btn:hover,.language-selector:hover{background:rgba(255,255,255,.2)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Noto Sans TC',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:linear-gradient(135deg,#1a1a2e 0,#16213e 50%,#0f3460 100%);color:#e0e0e0;min-height:100vh;line-height:1.6}.header{background:rgba(26,26,46,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;box-shadow:0 2px 20px rgba(0,0,0,.3)}.header-left{display:flex;align-items:center;gap:1rem}.header-right,.home-btn{display:flex;align-items:center}.logo{border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.3);border:2px solid rgba(255,255,255,.1)}.title{font-size:2rem;font-weight:700;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:3s ease-in-out infinite gradientShift}.home-btn,.language-selector{font-size:.9rem;color:#e0e0e0;transition:.3s;cursor:pointer}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.header-right{gap:15px}.home-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:8px 16px;border-radius:8px;gap:8px}.api-status,.language-selector{padding:8px 12px;background:rgba(255,255,255,.1)}.api-status,.api-status-item{display:flex;align-items:center}.home-btn:hover{transform:translateY(-1px)}.btn-info:hover,.btn-primary:hover,.btn-secondary:hover,.btn-success:hover,.btn-warning:hover{transform:translateY(-2px)}.language-selector{border:1px solid rgba(255,255,255,.2);border-radius:8px}.language-selector option,.model-select option{background:#1a1a2e;color:#e0e0e0}.api-status{gap:15px;border-radius:6px;border:1px solid rgba(255,255,255,.2)}.api-status-item{gap:5px;color:rgba(255,255,255,.9);font-size:.85em;font-weight:500}.api-status-item i{font-size:.9em;opacity:.8}.model-select{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#e0e0e0;padding:.5rem 1rem;font-size:.9rem;min-width:200px;transition:.3s}.model-select:focus{outline:0;border-color:#4ecdc4;box-shadow:0 0 0 2px rgba(78,205,196,.2)}.btn{border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:.3s;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;position:relative;overflow:hidden}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover::before{left:100%}.btn-primary{background:linear-gradient(45deg,#667eea 0,#764ba2 100%);color:#fff;box-shadow:0 4px 15px rgba(102,126,234,.3)}.btn-primary:hover{box-shadow:0 6px 20px rgba(102,126,234,.4)}.btn-secondary{background:linear-gradient(45deg,#f093fb 0,#f5576c 100%);color:#fff;box-shadow:0 4px 15px rgba(240,147,251,.3)}.btn-secondary:hover{box-shadow:0 6px 20px rgba(240,147,251,.4)}.btn-success{background:linear-gradient(45deg,#4facfe 0,#00f2fe 100%);color:#fff;box-shadow:0 4px 15px rgba(79,172,254,.3)}.btn-success:hover{box-shadow:0 6px 20px rgba(79,172,254,.4)}.btn-warning{background:linear-gradient(45deg,#fa709a 0,#fee140 100%);color:#fff;box-shadow:0 4px 15px rgba(250,112,154,.3)}.btn-warning:hover{box-shadow:0 6px 20px rgba(250,112,154,.4)}.btn-info{background:linear-gradient(45deg,#a8edea 0,#fed6e3 100%);color:#333;box-shadow:0 4px 15px rgba(168,237,234,.3)}.btn-info:hover{box-shadow:0 6px 20px rgba(168,237,234,.4)}.btn-link{background:0 0;color:#4ecdc4;border:1px solid #4ecdc4;box-shadow:none}.btn-link:hover{background:rgba(78,205,196,.1);transform:translateY(-1px)}.main-content{display:flex;height:calc(100vh - 80px);overflow:hidden}.project-sidebar{width:280px;background:rgba(26,26,46,.95);backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h3{color:#4ecdc4;margin:0;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.project-list{flex:1;overflow-y:auto;padding:1rem}.no-projects{text-align:center;color:#666;padding:2rem 1rem}.no-projects i{font-size:2rem;margin-bottom:1rem;opacity:.5}.no-projects p{margin:0;font-size:.9rem}.project-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;margin-bottom:.5rem;transition:.3s;position:relative}.project-item:hover{background:rgba(255,255,255,.1);border-color:#4ecdc4}.project-item.active{background:rgba(78,205,196,.2);border-color:#4ecdc4}.project-content{cursor:pointer;padding-right:2.5rem}.project-name{color:#e0e0e0;font-weight:500;margin-bottom:.5rem}.project-info{color:#999;font-size:.8rem;display:flex;justify-content:space-between}.project-delete-btn{background:rgba(255,107,107,.2);border:1px solid rgba(255,107,107,.3);border-radius:6px;color:#ff6b6b;padding:.3rem;cursor:pointer;transition:.3s;font-size:.9rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;position:absolute;top:.5rem;right:.5rem}.card,.chapter-item{border:1px solid rgba(255,255,255,.1)}.loading-overlay,.modal{position:fixed;top:0;left:0}.project-delete-btn:hover{background:rgba(255,107,107,.3);border-color:rgba(255,107,107,.5);transform:scale(1.1)}.content-area{flex:1;padding:2rem;overflow-y:auto;max-width:calc(100% - 280px)}.card{background:rgba(255,255,255,.05);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px rgba(0,0,0,.3);transition:.3s}.card h2,.form-group,.settings-group{margin-bottom:1.5rem}.loading-progress-card,.modal-content{box-shadow:0 20px 60px rgba(0,0,0,.5)}.card:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.4)}.card h2{color:#4ecdc4;font-size:1.5rem;font-weight:600}.card h3{color:#ff6b6b;margin-bottom:1rem;font-size:1.2rem;font-weight:500}.card h4{color:#45b7d1;margin-bottom:.75rem;font-size:1rem;font-weight:500}.form-group label{display:block;margin-bottom:.5rem;color:#b0b0b0;font-weight:500}.form-control{width:100%;padding:.75rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#e0e0e0;font-size:.9rem;transition:.3s}.api-key-input:focus,.form-control:focus{outline:0;border-color:#4ecdc4;box-shadow:0 0 0 2px rgba(78,205,196,.2);background:rgba(255,255,255,.15)}.form-control::placeholder{color:rgba(224,224,224,.5)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.settings-group{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1.5rem}.upload-area{text-align:center;border:2px dashed rgba(78,205,196,.3);border-radius:12px;background:rgba(78,205,196,.05);transition:.3s}.abilities-section,.chapter-item{background:rgba(255,255,255,.03)}.upload-area:hover{border-color:rgba(78,205,196,.5);background:rgba(78,205,196,.1)}.upload-hint{margin-top:1rem;color:rgba(224,224,224,.7);font-size:.9rem}.abilities-section{border-radius:8px;padding:1rem;margin-top:1rem}.chapter-box,.chapter-item{padding:1.5rem;transition:.3s;margin-bottom:1rem}.action-buttons,.chapter-overview{margin-top:2rem}.ability-item{display:flex;gap:1rem;margin-bottom:1rem;align-items:center}.ability-item input{flex:1}.ability-item .btn{padding:.5rem;min-width:auto}.chapter-item{border-radius:12px}.chapter-box,.chapter-item:hover{background:rgba(255,255,255,.05)}.chapter-item:hover{transform:translateX(5px)}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap}.chapter-box{border:1px solid rgba(255,255,255,.1);border-radius:12px}.chapter-box.generated{border-color:rgba(76,175,80,.5);background:rgba(76,175,80,.1)}.chapter-box.error{border-color:rgba(244,67,54,.5);background:rgba(244,67,54,.1)}.chapter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chapter-title{font-size:1.1rem;font-weight:600;color:#4ecdc4}.chapter-status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.status-pending{background:rgba(255,193,7,.2);color:#ffc107}.status-generating{background:rgba(33,150,243,.2);color:#2196f3}.status-completed{background:rgba(76,175,80,.2);color:#4caf50}.status-error{background:rgba(244,67,54,.2);color:#f44336}.chapter-content{margin-bottom:1rem;color:#b0b0b0;line-height:1.6}.chapter-actions{display:flex;gap:.5rem;flex-wrap:wrap}.chapter-actions .btn{padding:.5rem 1rem;font-size:.8rem}.loading-progress-card .progress-bar,.progress-bar{width:100%;height:20px;background:rgba(255,255,255,.1);border-radius:10px;overflow:hidden;margin-bottom:1rem}.loading-progress-card .progress-fill,.progress-fill{height:100%;background:linear-gradient(45deg,#4facfe 0,#00f2fe 100%);width:0%;transition:width .3s;border-radius:10px}.loading-progress-card .progress-text,.progress-text{text-align:center;color:#b0b0b0;font-size:.9rem}.modal{display:none;z-index:2000;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}.modal-content{background:rgba(26,26,46,.95);backdrop-filter:blur(20px);margin:5% auto;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:16px;width:90%;max-width:500px;max-height:80vh;animation:.3s modalSlideIn;display:flex;flex-direction:column}@keyframes modalSlideIn{from{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h3{color:#4ecdc4;margin:0}.close{color:#aaa;font-size:28px;font-weight:700;cursor:pointer;transition:color .3s}.close:hover{color:#fff}.modal-body{flex:1;overflow-y:auto;min-height:0}.modal-footer{border-top:1px solid rgba(255,255,255,.1);display:flex;gap:1rem;justify-content:flex-end;flex-shrink:0}.api-key-actions{margin-top:1rem}.loading-overlay{width:100%;height:100%;background:rgba(0,0,0,.2);backdrop-filter:blur(1px);z-index:3000;display:flex;justify-content:center;align-items:center}.loading-content{text-align:center;color:#e0e0e0;max-width:500px;width:90%}.spinner{width:50px;height:50px;border:4px solid rgba(78,205,196,.3);border-top:4px solid #4ecdc4;border-radius:50%;animation:1s linear infinite spin;margin:0 auto 1rem}.loading-progress-card{background:rgba(26,26,46,.95);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:2rem;margin-top:2rem;min-width:400px}.loading-progress-card h3{color:#4ecdc4;margin:0 0 1.5rem;font-size:1.2rem}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media (max-width:768px){.header{padding:1rem;flex-direction:column;gap:1rem}.header-left{justify-content:center}.header-right{width:100%;justify-content:center;flex-wrap:wrap}.action-buttons,.main-content{flex-direction:column}.model-select{min-width:150px}.main-content{height:auto}.project-sidebar{width:100%;height:200px;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.content-area{max-width:100%;padding:1rem}.card{padding:1.5rem}.form-row{grid-template-columns:1fr}.chapter-header{flex-direction:column;align-items:flex-start;gap:.5rem}.chapter-actions{justify-content:flex-start}.modal-content{width:95%;margin:10% auto}.loading-progress-card{margin-top:1rem;padding:1.5rem;min-width:auto;width:100%}}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;flex-direction:column}.logo{width:48px;height:48px}.upload-area{padding:2rem 1rem}.btn{padding:.6rem 1.2rem;font-size:.8rem}.quota-dialog{background:#fff;border-radius:12px;padding:0;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.3);animation:.3s slideIn}.quota-dialog-header{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;padding:20px;border-radius:12px 12px 0 0;text-align:center}.quota-dialog-header h3{margin:0;font-size:1.3em;font-weight:600}.quota-dialog-content{padding:25px;line-height:1.6}.quota-dialog-content p{margin:0 0 15px;color:#333}.quota-dialog-content ul{margin:10px 0 20px 20px;color:#555}.quota-dialog-content li{margin-bottom:8px}.quota-dialog-content a{color:#007bff;text-decoration:none;font-weight:500}.quota-dialog-content a:hover{text-decoration:underline}.quota-dialog-actions{padding:20px 25px;text-align:center;border-top:1px solid #eee}.quota-dialog-actions button{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;padding:12px 30px;border-radius:6px;font-size:1em;font-weight:500;cursor:pointer;transition:.3s}.quota-dialog-actions button:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,123,255,.3)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideIn{from{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:4px}::-webkit-scrollbar-thumb{background:rgba(78,205,196,.5);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(78,205,196,.7)}::selection{background:rgba(78,205,196,.3);color:#fff}::-moz-selection{background:rgba(78,205,196,.3);color:#fff}.api-key-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.75rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:.3s}.api-key-item:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}.api-key-input{flex:1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#e0e0e0;padding:.5rem .75rem;font-size:.9rem;transition:.3s}.api-key-input::placeholder{color:rgba(224,224,224,.5)}.api-key-remove{background:linear-gradient(45deg,#ff6b6b,#ee5a24);color:#fff;border:none;border-radius:6px;padding:.5rem;cursor:pointer;transition:.3s;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.api-key-remove:hover{background:linear-gradient(45deg,#ee5a24,#d63031);transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,107,107,.3)}.api-key-remove:disabled{background:rgba(255,255,255,.2);color:rgba(255,255,255,.4);cursor:not-allowed;transform:none;box-shadow:none}#addApiKeyBtn{margin-top:.5rem;width:100%;justify-content:center}.api-keys-container{overflow-y:auto;padding-right:.5rem}.api-keys-container::-webkit-scrollbar{width:6px}.api-keys-container::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:3px}.api-keys-container::-webkit-scrollbar-thumb{background:rgba(78,205,196,.5);border-radius:3px}.api-keys-container::-webkit-scrollbar-thumb:hover{background:rgba(78,205,196,.7)}