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