:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.splash-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.splash-content{text-align:center;padding:2rem}.logo{font-size:4rem;margin-bottom:1rem;animation:bounce 2s infinite}.title{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:#fff}.subtitle{font-size:1rem;opacity:.9;margin-bottom:2rem;color:#fff}.loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading p{color:#fff;opacity:.8}.auth-page{min-height:100vh;background:#fff;display:flex;flex-direction:column}.auth-content{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:2rem 1rem;gap:1.5rem;width:100%}.auth-header{text-align:center;color:#333;width:100%;margin-top:0}.auth-header .logo{font-size:2.5rem;margin-bottom:.75rem}.auth-header h1{font-size:1.5rem;margin-bottom:.5rem;color:#333;font-weight:300}.auth-header p{opacity:.7;color:#666;font-size:.9rem}.auth-form{background:#fff;border-radius:.5rem;padding:1.5rem 1rem;border:1px solid #f0f0f0;box-shadow:0 1px 4px #00000005;width:100%;max-width:100%}.auth-form h2{text-align:center;margin-bottom:1.5rem;color:#333;font-size:1.2rem;font-weight:500}.auth-form .adm-form-item{margin-bottom:1.2rem}.auth-form .adm-form-item-label{font-size:.9rem;color:#666;margin-bottom:.5rem;font-weight:500}.auth-form .adm-input{padding:.9rem;font-size:1rem;border-radius:.5rem;border:1px solid #e0e0e0;transition:border-color .2s ease}.auth-form .adm-input:focus{border-color:#333;outline:none}.auth-form .adm-button{margin-top:1rem;padding:.9rem;font-size:1rem;font-weight:600;background-color:#333!important;border-color:#333!important;color:#fff!important;border-radius:.5rem;min-height:48px}.auth-form .adm-button:hover{background-color:#555!important;border-color:#555!important}.auth-footer{text-align:center;margin-top:1.5rem;color:#666;font-size:.9rem;padding-bottom:1rem}.auth-footer a{color:#333;text-decoration:none;margin-left:.5rem;font-weight:600}.auth-footer a:hover{text-decoration:underline}@media (min-width: 768px) and (max-width: 1023px){.auth-content{justify-content:center;padding:2rem;gap:2rem}.auth-header .logo{font-size:3rem;margin-bottom:1rem}.auth-header h1{font-size:1.8rem}.auth-header p{font-size:1rem}.auth-form{max-width:450px;padding:2.5rem 2rem;border-radius:.75rem;box-shadow:0 2px 8px #0000000a}.auth-form h2{font-size:1.4rem;margin-bottom:2rem}.auth-form .adm-form-item{margin-bottom:1.5rem}.auth-form .adm-input{padding:1rem;font-size:1rem}.auth-form .adm-button{padding:1.1rem;font-size:1.1rem}.auth-footer{font-size:1rem}}@media (min-width: 1024px){.auth-content{justify-content:center;padding:2rem 4rem;max-width:1200px;margin:0 auto;gap:2.5rem}.auth-header{margin-top:0}.auth-header .logo{font-size:3.5rem;margin-bottom:1rem}.auth-header h1{font-size:2rem}.auth-header p{font-size:1.1rem}.auth-form{max-width:520px;padding:3rem 2.5rem;border-radius:1rem;box-shadow:0 4px 16px #0000000f;border:1px solid #e8e8e8}.auth-form h2{font-size:1.5rem;margin-bottom:2.5rem}.auth-form .adm-form-item{margin-bottom:1.8rem}.auth-form .adm-form-item-label{font-size:1rem}.auth-form .adm-input{padding:1.2rem;font-size:1rem;border-radius:.6rem}.auth-form .adm-button{margin-top:1.5rem;padding:1.3rem;font-size:1.1rem;border-radius:.6rem}.auth-footer{font-size:1rem;margin-top:2rem}}@media (min-width: 1440px){.auth-content{gap:3rem}.auth-header .logo{font-size:4rem}.auth-header h1{font-size:2.2rem}.auth-form{max-width:580px;padding:3.5rem 3rem}.auth-form h2{font-size:1.6rem}.auth-form .adm-input{padding:1.3rem;font-size:1.1rem}.auth-form .adm-button{padding:1.4rem;font-size:1.2rem}}@media (max-width: 374px){.auth-content{padding:.5rem}.auth-header .logo{font-size:2rem}.auth-header h1{font-size:1.3rem}.auth-form{padding:1.2rem .8rem}.auth-form h2{font-size:1.1rem}}.home-page{min-height:100vh;background:#fff;color:#333}.home-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-bottom:1px solid #e0e0e0}.user-info{font-weight:600;font-size:.9rem}.settings-btn{font-size:1.5rem;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.home-content{padding:1.5rem 1rem;text-align:center;max-width:100%;margin:0 auto}.hero-section{margin-bottom:2.5rem}.hero-section .logo{font-size:3rem;margin-bottom:1rem;animation:bounce 2s infinite}.hero-section h1{font-size:1.6rem;font-weight:300;margin-bottom:.5rem;color:#333}.hero-section p{font-size:1rem;opacity:.7;color:#666}.action-buttons{max-width:280px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.action-buttons .adm-button{padding:1rem;font-size:1rem;font-weight:600;border-radius:.5rem;min-height:48px}.action-buttons .adm-button:first-child{background-color:#333!important;border-color:#333!important;color:#fff!important}.action-buttons .adm-button:first-child:hover{background-color:#555!important;border-color:#555!important}.action-buttons .adm-button:last-child{background-color:transparent!important;border-color:#333!important;color:#333!important;border:1px solid #333!important}.action-buttons .adm-button:last-child:hover{background-color:#f5f5f5!important;border-color:#333!important}@media (min-width: 768px) and (max-width: 1023px){.home-header{padding:1.5rem 2rem}.user-info{font-size:1rem}.settings-btn{font-size:1.6rem}.home-content{padding:3rem 2rem;max-width:600px}.hero-section{margin-bottom:3rem}.hero-section .logo{font-size:3.5rem;margin-bottom:1.2rem}.hero-section h1{font-size:1.9rem}.hero-section p{font-size:1.1rem}.action-buttons{max-width:350px;gap:1.2rem}.action-buttons .adm-button{padding:1.2rem;font-size:1.1rem;border-radius:.6rem}}@media (min-width: 1024px){.home-header{padding:1.5rem 4rem;max-width:1200px;margin:0 auto}.user-info{font-size:1.1rem}.settings-btn{font-size:1.7rem}.home-content{padding:4rem 2rem;max-width:700px}.hero-section{margin-bottom:3.5rem}.hero-section .logo{font-size:4rem;margin-bottom:1.5rem}.hero-section h1{font-size:2.2rem}.hero-section p{font-size:1.2rem}.action-buttons{max-width:400px;gap:1.5rem}.action-buttons .adm-button{padding:1.4rem;font-size:1.2rem;border-radius:.7rem}}@media (min-width: 1440px){.home-content{padding:5rem 2rem;max-width:800px}.hero-section{margin-bottom:4rem}.hero-section .logo{font-size:4.5rem}.hero-section h1{font-size:2.5rem}.hero-section p{font-size:1.3rem}.action-buttons{max-width:450px}.action-buttons .adm-button{padding:1.6rem;font-size:1.3rem}}@media (max-width: 374px){.home-header{padding:.8rem}.user-info{font-size:.8rem}.settings-btn{font-size:1.3rem}.home-content{padding:1rem .8rem}.hero-section .logo{font-size:2.5rem}.hero-section h1{font-size:1.4rem}.hero-section p{font-size:.9rem}.action-buttons{max-width:100%}.action-buttons .adm-button{padding:.9rem;font-size:.9rem}}.novel-list-page{min-height:100vh;background:#fff;display:flex;flex-direction:column}.empty-text{font-size:1rem;color:#666;margin:0 0 2rem}.action-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:flex-end}.action-sheet{background:#fff;width:100%;border-radius:1rem 1rem 0 0;padding:1rem;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.action-sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.action-sheet-header h3{margin:0;font-size:1.1rem;color:#333}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:.25rem}.action-sheet-actions{display:flex;flex-direction:column;gap:.5rem}.action-btn{background:none;border:none;padding:1rem;text-align:left;font-size:1rem;cursor:pointer;border-radius:.5rem;transition:background .2s ease}.action-btn:hover{background:#f5f5f5}.action-btn.danger{color:#ff4d4f}.loading-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;color:#666}.novel-list-content{flex:1;padding:1rem;position:relative}.empty-state{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:400px;text-align:center}.create-first-novel-btn{margin-top:2rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;background-color:#1890ff!important;border:1px solid #1890ff!important;color:#fff!important;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.create-first-novel-btn:hover{background-color:#40a9ff!important;border-color:#40a9ff!important;transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.novels-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:80px}.novel-card{border-radius:.75rem;border:1px solid #f0f0f0;box-shadow:0 2px 8px #0000000a;transition:all .2s ease;cursor:pointer;overflow:hidden}.novel-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.novel-card:active{transform:translateY(0)}.novel-card-header{display:flex;align-items:flex-start;gap:1rem;padding:1rem}.novel-cover{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:.5rem;flex-shrink:0}.novel-info{flex:1;min-width:0}.novel-title{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 .5rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.novel-stats{display:flex;gap:1rem;font-size:.8rem}.novel-status{font-weight:600}.novel-chapters{color:#999}.novel-actions{font-size:1.2rem;color:#999;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:all .2s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}.novel-actions:hover{background:#f5f5f5;color:#333}.create-novel-fab{position:fixed!important;bottom:1.5rem;right:1.5rem;background-color:#333!important;color:#fff!important;box-shadow:0 4px 16px #00000026!important;z-index:1000}.create-novel-fab:hover{background-color:#555!important;transform:scale(1.05)}@media (min-width: 768px) and (max-width: 1023px){.novel-list-content{padding:1.5rem 2rem;max-width:800px;margin:0 auto}.novels-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.novel-card-header{padding:1.5rem}.novel-cover{font-size:3rem;width:70px;height:70px}.novel-title{font-size:1.2rem}.novel-description{font-size:1rem}.create-novel-fab{bottom:2rem!important;right:2rem!important}}@media (min-width: 1024px){.novel-list-content{padding:2rem 3rem;max-width:1200px;margin:0 auto}.novels-grid{grid-template-columns:repeat(3,1fr);gap:2rem}.novel-card{border-radius:1rem}.novel-card-header{padding:1.5rem}.novel-cover{font-size:3.5rem;width:80px;height:80px}.novel-title{font-size:1.3rem}.create-novel-fab{bottom:2rem!important;right:2rem!important}}@media (min-width: 1440px){.novel-list-content{max-width:1400px;padding:2rem 4rem}.novels-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 374px){.novel-list-content{padding:.8rem}.novels-grid{gap:.8rem}.novel-card-header{padding:.8rem;gap:.8rem}.novel-cover{font-size:2rem;width:50px;height:50px}.novel-title{font-size:1rem}.create-novel-fab{bottom:1rem!important;right:1rem!important}}.create-novel-page{min-height:100vh;background:#fff;display:flex;flex-direction:column}.custom-navbar{display:flex;align-items:center;padding:1rem;background:#fff;border-bottom:1px solid #f0f0f0;position:relative}.nav-back-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:.25rem;color:#333;margin-right:1rem}.custom-navbar h1{font-size:1.2rem;font-weight:500;color:#333;margin:0}.create-content{flex:1;padding:1.5rem 1rem;max-width:800px;margin:0 auto;width:100%}.create-header{text-align:center;margin-bottom:2rem}.header-icon{font-size:3rem;margin-bottom:.75rem}.create-header h2{font-size:1.5rem;color:#333;margin:0 0 .5rem;font-weight:600}.create-header p{color:#666;font-size:1rem;margin:0}.genre-selection{margin-bottom:2rem}.genre-selection h3{font-size:1.2rem;color:#333;margin:0 0 1rem;font-weight:600}.genre-grid{display:grid;grid-template-columns:1fr;gap:1rem}.genre-card{border:2px solid #f0f0f0;border-radius:.75rem;padding:1.5rem;cursor:pointer;transition:all .2s ease;background:#fff}.genre-card:hover{border-color:#1890ff;transform:translateY(-2px);box-shadow:0 4px 12px #1890ff26}.genre-card.selected{border-color:#1890ff;background:#f6fcff;box-shadow:0 4px 12px #1890ff33}.genre-icon{font-size:2.5rem;margin-bottom:.75rem}.genre-name{font-size:1.1rem;color:#333;margin:0 0 .5rem;font-weight:600}.genre-description{color:#666;font-size:.9rem;margin:0 0 1rem;line-height:1.4}.genre-features{display:flex;flex-wrap:wrap;gap:.5rem}.feature-tag{background:#f0f8ff;color:#1890ff;padding:.25rem .5rem;border-radius:.25rem;font-size:.8rem;font-weight:500}.genre-card.selected .feature-tag{background:#1890ff;color:#fff}.requirements-section{margin-bottom:2rem}.requirements-section h3{font-size:1.2rem;color:#333;margin:0 0 1rem;font-weight:600}.optional{font-size:.9rem;color:#999;font-weight:400}.requirements-input{width:100%;min-height:120px;padding:1rem;border:1px solid #e0e0e0;border-radius:.5rem;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s ease;box-sizing:border-box}.requirements-input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.requirements-input::placeholder{color:#999}.char-count{text-align:right;font-size:.8rem;color:#999;margin-top:.5rem}.create-actions{text-align:center}.create-btn{background:#1890ff;color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;min-width:180px;justify-content:center}.create-btn:hover:not(:disabled){background:#40a9ff;transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.create-btn:disabled{background:#d9d9d9;color:#999;cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{font-size:1.2rem;animation:spin 1s linear infinite}.result-content{flex:1;padding:1.5rem 1rem;max-width:800px;margin:0 auto;width:100%}.success-header{text-align:center;margin-bottom:2rem}.success-icon{font-size:4rem;margin-bottom:1rem}.success-header h2{font-size:1.6rem;color:#333;margin:0 0 .5rem;font-weight:600}.success-header p{color:#666;font-size:1rem;margin:0}.novel-preview{background:#fff;border:1px solid #f0f0f0;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000000a}.preview-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f0f0f0}.genre-badge{display:inline-block;background:#f0f8ff;color:#1890ff;padding:.5rem 1rem;border-radius:1rem;font-size:.9rem;font-weight:600;margin-bottom:1rem}.novel-title{font-size:1.4rem;color:#333;margin:0;font-weight:600}.preview-section{margin-bottom:1.5rem}.preview-section:last-child{margin-bottom:0}.preview-section h4{font-size:1.1rem;color:#333;margin:0 0 .75rem;font-weight:600}.novel-summary{color:#666;line-height:1.6;margin:0}.world-setting p,.protagonist-info p{color:#666;line-height:1.5;margin:0 0 .5rem}.world-setting p:last-child,.protagonist-info p:last-child{margin-bottom:0}.result-actions{display:flex;gap:1rem;justify-content:center}.primary-btn{background:#1890ff;color:#fff;border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.primary-btn:hover{background:#40a9ff;transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.secondary-btn{background:#fff;color:#666;border:1px solid #d9d9d9;padding:1rem 1.5rem;font-size:1rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.secondary-btn:hover{border-color:#1890ff;color:#1890ff;transform:translateY(-1px)}@media (min-width: 768px){.create-content,.result-content{padding:2rem}.genre-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.genre-card{padding:2rem}.genre-icon{font-size:3rem}.requirements-input{min-height:140px}.result-actions{gap:1.5rem}.primary-btn,.secondary-btn{padding:1.2rem 2rem;font-size:1.1rem}}@media (min-width: 1024px){.create-content,.result-content{padding:2.5rem 3rem;max-width:900px}.create-header{margin-bottom:2.5rem}.header-icon{font-size:3.5rem}.create-header h2{font-size:1.8rem}.create-header p{font-size:1.1rem}.genre-selection,.requirements-section{margin-bottom:2.5rem}.novel-preview{padding:2rem}.novel-title{font-size:1.6rem}}@media (max-width: 374px){.create-content,.result-content{padding:1rem .8rem}.genre-card{padding:1.2rem}.genre-icon{font-size:2rem}.create-btn{padding:.9rem 1.5rem;font-size:1rem;min-width:160px}.result-actions{flex-direction:column;gap:.75rem}.primary-btn,.secondary-btn{padding:.9rem 1.2rem;font-size:.95rem}}.reading-page{min-height:100vh;background:#fff;display:flex;flex-direction:column}.custom-navbar{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fff;border-bottom:1px solid #f0f0f0;position:sticky;top:0;z-index:100}.nav-back-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:.25rem;color:#333}.nav-back-btn:hover{background:#f5f5f5}.custom-navbar h1{font-size:1.2rem;font-weight:500;color:#333;margin:0;flex:1;text-align:center}.chapter-nav{display:flex;align-items:center}.chapter-counter{font-size:.9rem;color:#666;background:#f5f5f5;padding:.25rem .5rem;border-radius:.25rem}.custom-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;z-index:10000;font-size:.9rem}.reading-content{flex:1;padding:1rem;max-width:800px;margin:0 auto;width:100%}.loading-container,.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:400px;text-align:center}.loading-spinner{font-size:3rem;margin-bottom:1rem;animation:bounce 1.5s infinite}.error-icon{font-size:4rem;margin-bottom:1rem}.retry-btn{background:#1890ff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;margin-top:1rem;transition:all .2s ease}.retry-btn:hover{background:#40a9ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff4d}.error-actions{text-align:center;margin:2rem 0;padding:1.5rem;background:#fff2f0;border-radius:.5rem;border:1px solid #ffccc7}.empty-chapters{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:400px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-chapters h2{font-size:1.5rem;color:#333;margin:0 0 .5rem;font-weight:600}.empty-chapters p{color:#666;margin-bottom:2rem;line-height:1.5}.generate-first-btn{background:#1890ff;color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.generate-first-btn:hover:not(:disabled){background:#40a9ff;transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.generate-first-btn:disabled{background:#d9d9d9;color:#999;cursor:not-allowed;transform:none;box-shadow:none}.chapter-content{margin-bottom:2rem}.chapter-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.chapter-title{font-size:1.6rem;color:#333;margin:0 0 .75rem;font-weight:600;line-height:1.3}.streaming-indicator{color:#1890ff;font-size:.9rem;line-height:1.5;margin:0;font-style:italic;animation:pulse 2s infinite}.error-indicator{color:#ff4d4f;font-size:.9rem;line-height:1.5;margin:0;font-weight:500;background:#fff2f0;padding:.5rem 1rem;border-radius:.25rem;border:1px solid #ffccc7}.chapter-text{margin-bottom:2rem}.paragraph-group{margin-bottom:1.5rem}.chapter-paragraph{color:#333;font-size:1rem;line-height:1.8;margin:0 0 1.2rem;text-align:justify;text-indent:2em}.no-content{color:#999;text-align:center;font-style:italic}.chapter-options{background:transparent;border-radius:0;padding:0;margin-top:1rem}.options-title{font-size:1.2rem;color:#333;margin:0 0 1rem;font-weight:600;text-align:center}.options-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.option-card{background:#fff;border:2px solid #e0e0e0;border-radius:.5rem;padding:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:flex-start;gap:1rem}.option-card:hover{border-color:#1890ff;transform:translateY(-1px);box-shadow:0 2px 8px #1890ff1a}.option-card.selected{border-color:#1890ff;background:#f6fcff;box-shadow:0 2px 8px #1890ff33}.option-number{background:#1890ff;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.option-card.selected .option-number{background:#52c41a}.option-content{flex:1}.option-text{color:#333;font-size:1rem;line-height:1.5;margin:0 0 .5rem;font-weight:500}.option-impact{color:#666;font-size:.9rem;line-height:1.4;margin:0;font-style:italic}.choice-confirm{text-align:center}.confirm-choice-btn{background:#52c41a;color:#fff;border:none;padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:.5rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.confirm-choice-btn:hover:not(:disabled){background:#73d13d;transform:translateY(-1px);box-shadow:0 4px 12px #52c41a4d}.confirm-choice-btn:disabled{background:#d9d9d9;color:#999;cursor:not-allowed;transform:none;box-shadow:none}.menu-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;margin-left:.5rem;border-radius:.25rem;color:#333;transition:all .2s ease}.menu-btn:hover{background:#f5f5f5;color:#1890ff}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-overlay.active{opacity:1;visibility:visible}.chapter-sidebar{position:fixed;top:0;right:0;width:300px;height:100vh;background:#fff;box-shadow:-2px 0 8px #0000001a;z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.chapter-sidebar.open{transform:translate(0)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #f0f0f0;background:#fafafa}.sidebar-header h3{font-size:1.1rem;color:#333;margin:0;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;color:#666;transition:all .2s ease}.close-btn:hover{background:#e8e8e8;color:#333}.sidebar-content{flex:1;overflow-y:auto;padding:.5rem}.chapters-list{display:flex;flex-direction:column;gap:.5rem}.chapter-item{background:#fff;border:1px solid #f0f0f0;border-radius:.5rem;padding:.75rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem}.chapter-item:hover{border-color:#1890ff;background:#f6fcff}.chapter-item.current{border-color:#1890ff;background:#f6fcff;box-shadow:0 2px 8px #1890ff1a}.chapter-number{background:#f5f5f5;color:#666;padding:.25rem .5rem;border-radius:.25rem;font-size:.8rem;font-weight:600;flex-shrink:0}.chapter-item.current .chapter-number{background:#1890ff;color:#fff}.chapter-info{flex:1;min-width:0}.chapter-item-title{font-size:1rem;color:#333;margin:0 0 .25rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-item-summary{color:#666;font-size:.9rem;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chapter-status{color:#52c41a;font-size:1.2rem;flex-shrink:0}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{animation:spin 1s linear infinite}.typing-cursor{animation:blink 1s infinite;color:#1890ff;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width: 767px){.chapter-sidebar{width:85%;max-width:320px}.sidebar-overlay.active{overflow:hidden}body:has(.sidebar-overlay.active){overflow:hidden}}@media (min-width: 768px){.reading-content{padding:2rem;max-width:900px}.chapter-title{font-size:1.8rem}.chapter-paragraph{font-size:1.1rem;line-height:1.9}.options-list{gap:1.5rem}.option-card{padding:1.5rem}.sidebar-overlay{display:none}}@media (min-width: 1024px){.reading-content{padding:2.5rem 3rem;max-width:1000px}.chapter-title{font-size:2rem}.chapter-paragraph{font-size:1.1rem;line-height:2;margin-bottom:1.5rem}.chapter-options{padding:2rem}.options-list{display:grid;grid-template-columns:1fr;gap:1.5rem}.option-card{padding:1.5rem}.chapter-navigation{margin-top:4rem}}@media (max-width: 374px){.reading-content{padding:.8rem}.chapter-title{font-size:1.4rem}.chapter-paragraph{font-size:.95rem;line-height:1.7}.chapter-options{padding:1rem}.option-card,.chapter-item{padding:.8rem;gap:.8rem}.custom-navbar{padding:.8rem}.custom-navbar h1{font-size:1rem}}.story-ending{text-align:center;padding:1.5rem;background:transparent;color:#333;border:none;border-radius:0;margin-top:0;box-shadow:none}.ending-icon{font-size:3rem;margin-bottom:1rem}.ending-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;letter-spacing:.05em;color:#333}.ending-subtitle{opacity:.7;font-size:1rem;margin-bottom:2rem;line-height:1.6;color:#666}.back-to-list-btn{background:#1890ff;color:#fff;padding:.875rem 2.5rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #1890ff33}.back-to-list-btn:hover{background:#40a9ff;transform:translateY(-2px);box-shadow:0 4px 12px #1890ff4d}.back-to-list-btn:active{transform:translateY(0)}@media (max-width: 768px){.story-ending{padding:1rem}.ending-icon{font-size:2.5rem}.ending-title{font-size:1.25rem}.ending-subtitle{font-size:.9rem}.back-to-list-btn{padding:.75rem 2rem;font-size:.95rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background-color:#fff}#root{min-height:100vh;width:100%;display:flex;flex-direction:column}
