.text-input{height:100%;display:flex;flex-direction:column}.input-title{margin:0 0 .5rem;color:#333;font-size:.95rem;font-weight:600}.text-area{width:100%;padding:1rem;border:2px solid #e1e5e9;border-radius:12px;font-size:1rem;line-height:1.6;resize:vertical;min-height:200px;font-family:inherit;transition:border-color .3s ease}.text-area:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.text-area:disabled{background-color:#f8f9fa;cursor:not-allowed}.text-area-small{min-height:140px;resize:vertical}.button-group{display:flex;gap:1rem;margin-top:1rem}.input-tip{margin-top:.75rem;padding:.6rem .8rem;background:linear-gradient(135deg,#FF9800 0%,#FF6F00 100%);color:#fff;border-radius:8px;font-size:.85rem;display:flex;align-items:center;gap:.4rem;box-shadow:0 2px 8px #ff980040}.input-tip span{font-weight:500}.btn{flex:1;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#f8f9fa;color:#666;border:1px solid #e1e5e9}.btn-secondary:hover:not(:disabled){background:#e9ecef;transform:translateY(-1px)}.btn-secondary:disabled{cursor:not-allowed;transform:none}.tips{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border-left:4px solid #667eea}.tips h3{margin-bottom:1rem;color:#333;font-size:1.1rem}.tips ul{list-style:none;padding:0}.tips li{margin-bottom:.5rem;color:#666;font-size:.9rem;line-height:1.5}.tips li:before{content:"•";color:#667eea;font-weight:700;margin-right:.5rem}.interactive-preview-root{width:100%}.interactive-viewer{width:100%;position:relative}.viewer-tip{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:.75rem 1.2rem;border-radius:12px;margin-bottom:1rem;font-size:.9rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 3px 10px #667eea4d;animation:slideIn .3s ease}.viewer-tip span{font-weight:500}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.poster-preview{position:relative;width:fit-content;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000001f}.poster-image{display:block;max-width:100%;height:auto}.interaction-layer-absolute{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.interactive-zone-absolute{cursor:pointer;border-radius:6px;transition:all .2s ease;border:2px solid transparent;pointer-events:auto}.interactive-zone-absolute:hover{background:rgba(102,126,234,.15);border-color:#667eea80}.interactive-zone-absolute.selected{background:rgba(102,126,234,.2);border-color:#667eea;box-shadow:0 0 0 3px #667eea4d}.level-menu{position:absolute;transform:translate(-50%);background:white;border-radius:14px;box-shadow:0 8px 32px #00000026;padding:1rem;z-index:1000;animation:menuFadeIn .2s ease;min-width:420px}@keyframes menuFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.menu-content{display:flex;gap:1.5rem}.menu-section{flex:1;min-width:0}.section-title{font-size:.85rem;font-weight:600;color:#666;padding:0 .3rem .5rem;text-align:center;border-bottom:1px solid #e8ecef;margin-bottom:.6rem}.level-options{display:flex;flex-direction:column;gap:.4rem}.level-option{width:100%;display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:10px;cursor:pointer;transition:all .2s ease;font-size:.95rem;color:#333;font-weight:500;text-align:left}.level-option:hover{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.level-option.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-weight:600}.option-icon{font-size:1.2rem}.option-label{flex:1}.color-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.color-option{width:100%;aspect-ratio:1;border:2px solid #e8ecef;border-radius:8px;cursor:pointer;transition:all .2s ease;padding:0}.color-option:hover{transform:scale(1.15);border-color:#667eea;box-shadow:0 2px 8px #0003}.color-option.active{border-color:#667eea;border-width:3px;box-shadow:0 0 0 2px #667eea33}.download-btn{width:100%;padding:.75rem 1.2rem;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:1rem;box-shadow:0 3px 12px #4caf504d;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.download-btn:hover{transform:translateY(-2px);box-shadow:0 5px 16px #4caf5066}.download-btn:active{transform:translateY(0)}@media (max-width: 600px){.download-btn{padding:.7rem 1rem;font-size:.95rem;margin-bottom:.8rem}.level-menu{min-width:90vw;max-width:90vw}.menu-content{gap:1rem}.section-title{font-size:.8rem}.level-option{padding:.6rem .8rem;font-size:.85rem}.option-icon{font-size:1rem}.color-options{grid-template-columns:repeat(4,1fr);gap:.4rem}}.loading-container{text-align:center;padding:4rem 2rem}.spinner{width:60px;height:60px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container h3{color:#555;margin:0;font-size:1.2rem;font-weight:500}.bgpicker{width:100%}.bgpicker-title{margin:0 0 .5rem;color:#333;font-size:.95rem;font-weight:600}.bgpicker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;grid-auto-rows:1fr}.bgpicker-item{width:100%;padding-bottom:100%;position:relative;border-radius:10px;border:2px solid #e1e5e9;cursor:pointer;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .2s ease}.bgpicker-item.active{outline:none;border-color:#5b8def;box-shadow:0 0 0 3px #5b8def33}.bgpicker-item.random{background:repeating-linear-gradient(45deg,#ddd,#ddd 6px,#eee 6px,#eee 12px);color:#333;font-size:.85rem;font-weight:500}.bgpicker-item.random:before{content:"随机";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width: 768px){.bgpicker-grid{grid-template-columns:repeat(3,1fr);gap:8px}.bgpicker-item{border-radius:8px}}.app,.mobile-app-root{min-height:100vh;background:#FFFFFF;width:100%;max-width:100vw;overflow-x:hidden}.mobile-main{padding:.7rem .3rem 2.5rem;max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:1.2rem}.input-section{background:#fff;padding:1.3rem 1rem .8rem}.generate-section{display:flex;flex-direction:column;align-items:center;width:100%}.error-message{background:#fee;color:#c33;padding:.7rem 1rem;border-radius:8px;margin:1rem 0 .6rem;border:1px solid #fcc;font-size:.98rem;white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto}.top-row{display:grid;grid-template-columns:60% 40%;gap:0;align-items:stretch;background:#fff;border-radius:16px;box-shadow:0 4px 18px #00000017;overflow:hidden;margin-bottom:.8rem}.top-row .input-section:first-child{border-right:1px solid #e8ecef}@media (max-width: 900px){.top-row{grid-template-columns:60% 40%;gap:0}}@media (max-width: 900px){.mobile-main{max-width:98vw;padding-left:.1rem;padding-right:.1rem}}body{margin:0;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;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch}html,body{height:auto;min-height:100vh;position:relative}*{box-sizing:border-box}
