*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f4f8f1;color:#333;font-family:STSong,SimSun,Georgia,serif}button,input,textarea{font:inherit}button{border:0;cursor:pointer}.toast{position:fixed;left:50%;top:22px;z-index:2000;transform:translate(-50%);background:rgba(58,92,53,.92);color:#fff;padding:10px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(74,112,68,.22)}.page-bg{width:min(760px,100%);min-height:100vh;margin:0 auto;padding:0 18px 90px;background:#f4f8f1}.header-section{padding:30px 0 18px;display:flex;flex-direction:column;align-items:center;gap:5px}.app-name{font-size:15px;color:#6b9063;letter-spacing:2px}.app-subtitle{font-size:12px;color:#aaa;text-align:center}.big-title{margin:2px 0 0;font-size:clamp(46px,12vw,72px);line-height:1;color:#c8ddbe;font-family:STXingkai,STFangsong,SimSun,serif;font-weight:300;letter-spacing:6px}.input-section{margin-bottom:14px}.input-label-row{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.input-label-text{font-size:18px;color:#4a7044;font-weight:700}.input-hint{font-size:12px;color:#aaa}.input-box-wrap{position:relative;min-height:150px;padding:16px;background:#fafff8;border:1px solid #8fad82;border-radius:14px}.word-input{width:100%;min-height:132px;resize:vertical;border:0;outline:0;background:transparent;color:#333;font-size:18px;line-height:1.8}.word-input::placeholder{color:#c6c6c6;font-size:15px}.clear-btn{position:absolute;top:10px;right:12px;width:28px;height:28px;border-radius:50%;background:#e0eedb;color:#8fad82;font-size:22px;line-height:1}.word-levels-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:8px 0 2px}.word-chip{display:flex;align-items:center;height:30px;overflow:hidden;background:#fafff8;border:1px solid #c8e0c2;border-radius:999px}.word-chip-text{padding:0 10px;font-size:15px}.word-chip-badge{height:100%;display:flex;align-items:center;padding:0 9px;color:#fff;font:12px Georgia,sans-serif}.lv1{background:#4caf50}.lv2{background:#8bc34a}.lv3{background:#f9a825}.lv4{background:#fb8c00}.lv5{background:#e53935}.lv6{background:#8e24aa}.lv79{background:#1e88e5}.lvnone{background:#bdbdbd}.options-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:12px;-webkit-overflow-scrolling:touch}.selector-btn{flex:0 0 auto;min-width:72px;min-height:62px;padding:8px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fafff8;border:1px solid #8fad82;border-radius:10px}.selector-btn span{font-size:12px;color:#888;margin-bottom:3px}.selector-btn strong{max-width:86px;overflow:hidden;color:#ccc;font-size:12px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.selector-btn strong.has-value{color:#3a5c35;font-size:13px}.selector-btn em{color:#9ab894;font-size:11px;font-style:normal}.custom-word-wrap{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;background:#fafff8;border:1px solid #8fad82;border-radius:10px;color:#6b9063}.custom-word-wrap input{width:88px;border:0;border-bottom:1px solid #8fad82;outline:0;background:transparent;text-align:center}.generate-btn,.login-btn{width:100%;padding:16px;border-radius:16px;background:linear-gradient(135deg,#7da870,#5a8a50);color:#fff;box-shadow:0 6px 20px rgba(90,138,80,.3);font-size:18px;letter-spacing:5px}.generate-btn{margin:4px 0 28px}.generate-btn.loading,.login-btn.loading{background:linear-gradient(135deg,#a8cca0,#8fad82);box-shadow:none}.result-section{margin-bottom:28px;scroll-margin-top:18px}.result-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.result-title{font-size:18px;color:#4a7044;font-weight:700}.result-count{color:#999;font-size:13px}.info-section{margin-top:10px;padding-bottom:30px}.info-toggle{display:flex;align-items:center;gap:8px;padding:10px 0;background:transparent;color:#8fad82}.info-icon{width:24px;height:24px;border:1px solid #8fad82;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#7da870;font-family:Georgia,serif;font-style:italic}.info-content{padding:18px 20px;background:#fafff8;border:1px solid #c8e0c2;border-radius:12px;color:#555;font-size:15px;line-height:2}.sheet-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(0,0,0,.35)}.sheet-panel{position:fixed;left:50%;bottom:0;z-index:1001;width:min(760px,100%);max-height:70vh;overflow-y:auto;transform:translate(-50%,100%);transition:transform .28s cubic-bezier(.32,.72,0,1);background:#fafff8;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}.sheet-panel.sheet-show{transform:translate(-50%)}.sheet-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:18px 24px 12px;background:#fafff8;border-bottom:1px solid #e0eedb;color:#4a7044}.sheet-header button{background:transparent;color:#aaa;font-size:28px}.sheet-item{position:relative;width:100%;display:flex;flex-direction:column;align-items:flex-start;padding:16px 24px;background:transparent;border-bottom:1px solid #f0f8ec;color:#333;text-align:left}.sheet-item-active{background:#f0f8ec}.sheet-item span{font-size:17px}.sheet-item small{margin-top:4px;color:#999;font-size:13px}.sheet-item b{position:absolute;right:24px;top:50%;transform:translateY(-50%);color:#7da870;font-size:20px}.sheet-custom-row{display:flex;gap:10px;padding:12px 24px;background:#f7fcf5;border-top:1px solid #e0eedb}.sheet-custom-row input{flex:1;min-width:0;padding:9px 12px;border:1px solid #8fad82;border-radius:8px;outline:0}.sheet-custom-row button{padding:9px 18px;border-radius:8px;background:#7da870;color:#fff}.sheet-sub-back,.sheet-sub-title{padding:12px 24px 5px;background:transparent;color:#7da870;text-align:left}.sheet-sub-title{color:#aaa;border-bottom:1px solid #e0eedb}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;align-items:center;justify-content:center;background:rgba(244,248,241,.92)}.loading-box{width:min(330px,calc(100% - 42px));display:flex;flex-direction:column;align-items:center;gap:20px;padding:34px 38px;background:#fafff8;border:1px solid #8fad82;border-radius:20px;box-shadow:0 8px 40px rgba(107,144,99,.18);color:#7da870}.cake-scene{position:relative;width:170px;height:82px;display:flex;align-items:flex-end;justify-content:center}.track-line{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:linear-gradient(90deg,#c8e0be,#8fad82,#c8e0be)}.cake-mark{width:42px;overflow:hidden;border-radius:5px;box-shadow:0 6px 20px rgba(107,144,99,.22)}.cake-mark.animated{position:relative;bottom:12px;animation:slideCake 1.8s ease-in-out infinite alternate}.cake-mark span,.cake-mark i,.cake-mark b{display:block;width:100%}.cake-mark span{height:14px;background:linear-gradient(135deg,#7da870,#5a8a50)}.cake-mark i{height:9px;background:#f5f0e0}.cake-mark b{height:28px;background:linear-gradient(135deg,#a8d49a,#7da870)}@keyframes slideCake{0%{transform:translate(-58px) rotate(-3deg)}to{transform:translate(58px) rotate(3deg)}}.progress-bar-bg{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#e0eedd}.progress-bar-bg div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#a8d49a,#7da870);transition:width .4s ease}.progress-text{margin-top:-14px;color:#8fad82;font-size:13px}.loading-box p{margin:0;letter-spacing:1px}.editor-container{overflow:hidden;background:#fff;border:1px solid #8fad82;border-radius:14px}.editor-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#f0f8ec;border-bottom:1px solid #c8e0c2;color:#888;font-size:13px}.editor-topbar div{display:flex;gap:8px}.editor-topbar button{padding:7px 10px;background:#fafff8;border:1px solid #8fad82;border-radius:8px;color:#6b9063;font-size:12px}.toolbar-toggle{width:100%;padding:9px 12px;background:#f7fcf5;border-bottom:1px solid #e0eedb;color:#8fad82}.toolbar-panel{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#f7fcf5;border-bottom:1px solid #e0eedb}.toolbar-panel button{padding:8px 10px;border-radius:8px;background:transparent;color:#666}.toolbar-panel button:hover{background:#d4ecca}.rich-editor{min-height:260px;padding:22px 24px;outline:0;line-height:1.9;background:#fff}.rich-editor p{margin:0 0 .65em;text-indent:2em}.login-page{min-height:100vh;width:min(520px,100%);margin:0 auto;padding:50px 28px 80px;display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#eaf3e5,#f4f8f1 40%,#fafff8)}.login-header{display:flex;flex-direction:column;align-items:center;margin-bottom:22px;text-align:center}.login-header h1{margin:20px 0 4px;color:#4a7044;font-family:STXingkai,SimSun,serif;font-size:38px;font-weight:400;letter-spacing:5px}.login-header p{margin:0;color:#aaa;font-size:13px}.welcome-text{margin-bottom:22px;padding:8px 18px;border:1px solid #c8e0c2;border-radius:999px;background:#f0f8ec;color:#7da870}.login-tabs{width:100%;display:flex;overflow:hidden;margin-bottom:22px;background:#f0f8ec;border:1px solid #c8e0c2;border-radius:12px}.login-tabs button{flex:1;padding:13px;background:transparent;color:#aaa}.login-tabs button.active{background:#7da870;color:#fff}.login-form{width:100%;display:flex;flex-direction:column;gap:16px}.login-form label{display:flex;align-items:center;gap:12px;padding:13px 14px;background:#fafff8;border:1px solid #c8e0c2;border-radius:10px}.login-form label span{color:#6b9063;white-space:nowrap}.login-form input{min-width:0;flex:1;border:0;outline:0;background:transparent}.login-form label button{padding:8px 12px;border-radius:8px;background:#7da870;color:#fff;font-size:13px;white-space:nowrap}.login-form label button:disabled{background:#c0cebe}.agreement{position:fixed;bottom:28px;color:#bbb;font-size:12px}@media (max-width: 560px){.input-label-row,.result-header,.editor-topbar{align-items:flex-start;flex-direction:column}.editor-topbar div{flex-wrap:wrap}.big-title{letter-spacing:3px}.page-bg{padding-left:14px;padding-right:14px}}
