.app-sidebar[data-v-e906ff8e],.mobile-topbar[data-v-e906ff8e],.mobile-bottom-nav[data-v-e906ff8e]{--ink: #1f1b18;--ink-2: #5a5148;--ink-3: #80756d;--paper: #fbf8f1;--hi-y: #ffe066;--hi-pu: #d6c5ff;--hi-o: #ffb86c}.app-sidebar[data-v-e906ff8e]{position:fixed;top:0;left:0;width:220px;height:100vh;background:var(--paper);border-right:2px dashed var(--ink);padding:20px 14px;overflow-y:auto;display:flex;flex-direction:column;z-index:200;box-sizing:border-box}.sidebar-logo[data-v-e906ff8e]{display:flex;align-items:center;gap:8px;margin-bottom:22px;cursor:pointer;color:var(--ink)}.sidebar-logo-mark[data-v-e906ff8e]{width:34px;height:34px;border:2px solid var(--ink);border-radius:8px;background:var(--hi-y);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.sidebar-logo-text[data-v-e906ff8e]{display:flex;flex-direction:column;gap:1px;min-width:0}.sidebar-logo-name[data-v-e906ff8e]{font-family:Kalam,Fredoka One,cursive;font-size:1rem;font-weight:700;color:var(--ink);line-height:1.2;white-space:nowrap}.sidebar-logo-sub[data-v-e906ff8e]{font-family:Nunito,sans-serif;font-size:.6rem;color:var(--ink-3);line-height:1.3;white-space:normal}.snav-item[data-v-e906ff8e]{display:flex;align-items:center;gap:10px;padding:9px 10px;margin-bottom:4px;border:2px solid transparent;border-radius:10px;background:none;color:var(--ink);font-family:Patrick Hand,Nunito,sans-serif;font-size:16px;white-space:nowrap;cursor:pointer;text-align:left;width:100%;transition:background .12s}.snav-item[data-v-e906ff8e]:hover{background:#1f1b180a}.snav-item.active[data-v-e906ff8e]{background:var(--hi-pu);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink);color:var(--ink);padding:7px 8px}.snav-ico[data-v-e906ff8e]{width:22px;height:22px;border:2px solid var(--ink);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;background:#fff;flex-shrink:0;line-height:1}.snav-item.active .snav-ico[data-v-e906ff8e]{background:var(--hi-y)}.snav-ico-avatar[data-v-e906ff8e]{border-radius:50%!important;font-size:.72rem!important;font-weight:800;color:#fff;border-color:var(--ink)}.snav-foot-divider[data-v-e906ff8e]{height:0;border-top:2px dashed var(--ink);margin:18px 4px;flex-shrink:0}.sidebar-version[data-v-e906ff8e]{font-size:.6rem;color:var(--ink-3);text-align:center;margin-top:6px;padding-bottom:4px}.snav-play-wrap[data-v-e906ff8e]{position:relative}.snav-play-chevron[data-v-e906ff8e]{margin-left:auto;font-size:.6rem;color:var(--ink-3)}.snav-play-popup[data-v-e906ff8e]{position:absolute;top:calc(100% + 2px);left:8px;right:8px;background:#fff;border:2px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink);z-index:300;overflow:hidden}.snav-popup-item[data-v-e906ff8e]{display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer;font-family:Patrick Hand,Nunito,sans-serif;font-size:.88rem;color:var(--ink);transition:background .1s}.snav-popup-item[data-v-e906ff8e]:hover{background:var(--hi-y)}.snav-popup-item+.snav-popup-item[data-v-e906ff8e]{border-top:1px solid #e8e4dc}.snav-popup-ico[data-v-e906ff8e]{width:20px;height:20px;border:1.5px solid var(--ink);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:.75rem;background:#fff;flex-shrink:0}.mobile-topbar[data-v-e906ff8e]{position:fixed;top:0;left:0;right:0;height:52px;background:var(--paper);border-bottom:2px dashed var(--ink);display:none;align-items:center;justify-content:space-between;padding:0 14px;z-index:200}.mobile-logo[data-v-e906ff8e]{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;min-width:0}.mobile-logo-mark[data-v-e906ff8e]{width:28px;height:28px;border:2px solid var(--ink);border-radius:7px;background:var(--hi-y);display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:2px 2px 0 var(--ink)}.mobile-logo-name[data-v-e906ff8e]{font-family:Kalam,Fredoka One,cursive;font-size:.95rem;font-weight:700;color:var(--ink)}.mobile-topbar-right[data-v-e906ff8e]{display:flex;align-items:center;gap:6px;flex-shrink:0}.mob-progress[data-v-e906ff8e]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.mob-xp-wrap[data-v-e906ff8e]{display:flex;align-items:center;gap:3px;flex:1;min-width:0}.mob-xp-track[data-v-e906ff8e]{flex:1;min-width:28px;height:5px;background:#ede9fe;border-radius:3px;overflow:hidden}.mob-xp-fill[data-v-e906ff8e]{height:100%;background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:3px;transition:width .4s}.mob-xp-lv[data-v-e906ff8e]{font-size:.62rem;font-weight:800;color:#7c3aed;white-space:nowrap;flex-shrink:0}.mob-coins[data-v-e906ff8e]{font-size:.72rem;font-weight:800;color:#6d28d9;white-space:nowrap;flex-shrink:0}[data-theme=dark] .mob-xp-track[data-v-e906ff8e]{background:#a78bfa26}[data-theme=dark] .mob-xp-fill[data-v-e906ff8e]{background:linear-gradient(90deg,#a78bfa,#c084fc)}[data-theme=dark] .mob-xp-lv[data-v-e906ff8e],[data-theme=dark] .mob-coins[data-v-e906ff8e]{color:#a78bfa}.mob-icon-btn[data-v-e906ff8e]{border:none;background:none;cursor:pointer;padding:4px;display:flex;align-items:center}.mob-ico-box[data-v-e906ff8e]{width:28px;height:28px;border:2px solid var(--ink);border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:2px 2px 0 var(--ink)}.cs-avatar[data-v-e906ff8e]{width:28px;height:28px;border-radius:50%;border:2px solid var(--ink);background:var(--hi-pu);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:var(--ink)}.mobile-bottom-nav[data-v-e906ff8e]{position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--paper);border-top:2px dashed var(--ink);display:none;align-items:stretch;z-index:200}.btab[data-v-e906ff8e]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:none;cursor:pointer;color:var(--ink-3);font-family:Patrick Hand,Nunito,sans-serif;transition:background .1s,color .1s;border-right:1px dashed rgba(31,27,24,.12);padding:0 2px}.btab[data-v-e906ff8e]:last-child{border-right:none}.btab[data-v-e906ff8e]:hover{background:#1f1b180a;color:var(--ink)}.btab.active[data-v-e906ff8e]{background:var(--hi-y);color:var(--ink)}.btab-ico[data-v-e906ff8e]{font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1.5px solid transparent;border-radius:6px}.btab.active .btab-ico[data-v-e906ff8e]{border-color:var(--ink);background:#fff}.btab-label[data-v-e906ff8e]{font-size:.6rem;font-weight:700;line-height:1}.btab-play-wrap[data-v-e906ff8e]{flex:1;position:relative;display:flex;align-items:stretch;border-right:1px dashed rgba(31,27,24,.12)}.btab-play-wrap .btab[data-v-e906ff8e]{flex:1;border-right:none}.btab-play-popup[data-v-e906ff8e]{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#fff;border:2px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);z-index:300;min-width:170px;overflow:hidden}.btab-popup-item[data-v-e906ff8e]{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;font-family:Patrick Hand,Nunito,sans-serif;font-size:.9rem;color:var(--ink);transition:background .1s;white-space:nowrap}.btab-popup-item[data-v-e906ff8e]:hover{background:var(--hi-y)}.btab-popup-item+.btab-popup-item[data-v-e906ff8e]{border-top:1px solid #e8e4dc}.btab-popup-ico[data-v-e906ff8e]{width:22px;height:22px;border:1.5px solid var(--ink);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.8rem;background:#fff;flex-shrink:0}.play-pop-enter-active[data-v-e906ff8e],.play-pop-leave-active[data-v-e906ff8e]{transition:opacity .15s,transform .15s}.play-pop-enter-from[data-v-e906ff8e],.play-pop-leave-to[data-v-e906ff8e]{opacity:0;transform:translateY(-6px)}@media (max-width: 768px){.mobile-topbar[data-v-e906ff8e],.mobile-bottom-nav[data-v-e906ff8e]{display:flex}.app-sidebar[data-v-e906ff8e]{display:none}}.sr-toggle[data-v-e906ff8e]{position:relative;width:44px;height:24px;border-radius:12px;background:#d4cec8;border:1.5px solid var(--ink);cursor:pointer;transition:background .2s;flex-shrink:0;margin-left:auto}.sr-toggle.on[data-v-e906ff8e]{background:#ffe066}.sr-knob[data-v-e906ff8e]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ink);transition:transform .2s;display:block}.sr-toggle.on .sr-knob[data-v-e906ff8e]{transform:translate(20px)}.sr-lang-row[data-v-e906ff8e]{display:flex;gap:6px;padding:6px 0 4px}.sr-lang-btn[data-v-e906ff8e]{flex:1;border:2px solid var(--ink);border-radius:8px;background:#fff;font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;padding:6px 4px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);transition:transform .08s;color:var(--ink)}.sr-lang-btn[data-v-e906ff8e]:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.sr-lang-btn.active[data-v-e906ff8e]{background:#ffe066}.snav-exp-row[data-v-e906ff8e]{display:flex;align-items:center;gap:6px;padding:6px 4px 2px}.snav-exp-lv[data-v-e906ff8e]{font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;font-weight:800;color:#7c3aed;white-space:nowrap;min-width:26px}.snav-exp-track[data-v-e906ff8e]{flex:1;height:7px;background:#ede9fe;border-radius:4px;overflow:hidden;border:1px solid #c4b5fd}.snav-exp-fill[data-v-e906ff8e]{height:100%;background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:4px;transition:width .4s}.snav-earn-pill[data-v-e906ff8e]{font-size:.7rem;font-weight:800;color:#6d28d9;background:#f5f3ff;border:1.5px solid #c4b5fd;border-radius:10px;padding:1px 6px;white-space:nowrap}[data-theme=dark] .snav-exp-track[data-v-e906ff8e]{background:#a78bfa26;border-color:#a78bfa4d}[data-theme=dark] .snav-earn-pill[data-v-e906ff8e]{background:#a78bfa26;border-color:#a78bfa4d;color:#a78bfa}[data-theme=dark] .snav-exp-lv[data-v-e906ff8e]{color:#a78bfa}.snav-mode-row[data-v-e906ff8e]{display:flex;gap:6px;padding:6px 4px;margin-bottom:2px}.snav-mode-btn[data-v-e906ff8e]{flex:1;padding:7px 4px;border:2px solid var(--ink);border-radius:8px;background:#fff;font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;font-weight:700;cursor:pointer;color:var(--ink);box-shadow:2px 2px 0 var(--ink);transition:transform .08s;text-align:center;white-space:nowrap}.snav-mode-btn[data-v-e906ff8e]:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.snav-mode-btn.active[data-v-e906ff8e]{background:var(--hi-y)}[data-theme=dark] .app-sidebar[data-v-e906ff8e],[data-theme=dark] .mobile-topbar[data-v-e906ff8e],[data-theme=dark] .mobile-bottom-nav[data-v-e906ff8e]{background:#1c1a2e;border-color:#ffffff26}[data-theme=dark] .snav-item[data-v-e906ff8e]{color:#ffffffbf}[data-theme=dark] .snav-item[data-v-e906ff8e]:hover{background:#ffffff12}[data-theme=dark] .snav-item.active[data-v-e906ff8e]{background:#d6c5ff38;color:#d6c5ff;border-color:#d6c5ff8c;box-shadow:2px 2px #d6c5ff4d}[data-theme=dark] .snav-ico[data-v-e906ff8e]{background:#ffffff21;border-color:#ffffff61}[data-theme=dark] .snav-item.active .snav-ico[data-v-e906ff8e]{background:#d6c5ff4d;border-color:#d6c5ff99}[data-theme=dark] .sidebar-version[data-v-e906ff8e]{color:#ffffff4d}[data-theme=dark] .btab[data-v-e906ff8e]{color:#ffffff9e}[data-theme=dark] .btab.active[data-v-e906ff8e]{background:#ffe06626;color:#ffe066}[data-theme=dark] .btab.active .btab-ico[data-v-e906ff8e]{background:#ffe06633;border-color:#ffe0668c}[data-theme=dark] .sidebar-logo[data-v-e906ff8e],[data-theme=dark] .sidebar-logo-name[data-v-e906ff8e]{color:#ffffffe6}[data-theme=dark] .sidebar-logo-sub[data-v-e906ff8e]{color:#ffffff73}[data-theme=dark] .mobile-logo-name[data-v-e906ff8e]{color:#ffffffe6}[data-theme=dark] .sidebar-logo-mark[data-v-e906ff8e],[data-theme=dark] .mobile-logo-mark[data-v-e906ff8e]{border-color:#ffffff4d;box-shadow:none}[data-theme=dark] .snav-foot-divider[data-v-e906ff8e]{border-color:#ffffff26}[data-theme=dark] .snav-mode-btn[data-v-e906ff8e]{background:#ffffff14;border-color:#ffffff4d;color:#ffffffd9;box-shadow:2px 2px #ffffff26}[data-theme=dark] .snav-mode-btn.active[data-v-e906ff8e]{background:#ffe06633;color:#ffe066}[data-theme=dark] .mode-ico[data-v-e906ff8e],[data-theme=dark] .mob-mode-ico .mob-ico-box[data-v-e906ff8e]{filter:brightness(0) invert(1);opacity:.8}[data-theme=dark] .snav-play-popup[data-v-e906ff8e],[data-theme=dark] .btab-play-popup[data-v-e906ff8e]{background:#1c1a2e;border-color:#ffffff4d;box-shadow:3px 3px #ffffff26}[data-theme=dark] .snav-popup-item[data-v-e906ff8e],[data-theme=dark] .btab-popup-item[data-v-e906ff8e]{color:#fffc}[data-theme=dark] .snav-popup-item[data-v-e906ff8e]:hover,[data-theme=dark] .btab-popup-item[data-v-e906ff8e]:hover{background:#ffe06626}[data-theme=dark] .snav-popup-ico[data-v-e906ff8e],[data-theme=dark] .btab-popup-ico[data-v-e906ff8e]{background:#ffffff14;border-color:#ffffff4d}.modal-backdrop[data-v-31b5a43f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1200;padding:16px}.vocab-modal[data-v-31b5a43f]{background:#fff;border-radius:20px;padding:28px 24px 24px;max-width:420px;width:100%;box-shadow:0 16px 48px #00000038;display:flex;flex-direction:column;gap:16px}.vocab-modal-header[data-v-31b5a43f]{display:flex;align-items:center;justify-content:space-between}.vocab-modal-title[data-v-31b5a43f]{font-size:1.05rem;font-weight:700;color:#2c1810}.vocab-modal-close[data-v-31b5a43f]{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#999;padding:4px 8px;border-radius:6px}.vocab-modal-close[data-v-31b5a43f]:hover{background:#f5f5f5}.vcap-word-row[data-v-31b5a43f]{display:flex;align-items:center;gap:10px}.vcap-word-chip[data-v-31b5a43f]{display:inline-block;background:#fff3e0;color:#e65100;font-size:1.35rem;font-weight:700;padding:6px 18px;border-radius:999px;border:2px solid #ffe0b2}.vcap-speak-btn[data-v-31b5a43f]{background:none;border:1.5px solid #ffe0b2;border-radius:50%;width:38px;height:38px;font-size:1.1rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#e65100;transition:background .15s}.vcap-speak-btn[data-v-31b5a43f]:hover{background:#fff3e0}.vcap-sentence[data-v-31b5a43f]{font-size:.88rem;color:#777;font-style:italic;line-height:1.5}.vcap-meta-row[data-v-31b5a43f]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.vcap-cefr-badge[data-v-31b5a43f]{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px;color:#fff;letter-spacing:.5px}.cefr-A1[data-v-31b5a43f]{background:#4caf50}.cefr-A2[data-v-31b5a43f]{background:#8bc34a}.cefr-B1[data-v-31b5a43f]{background:#2196f3}.cefr-B2[data-v-31b5a43f]{background:#9c27b0}.cefr-C1[data-v-31b5a43f]{background:#ff9800}.cefr-C2[data-v-31b5a43f]{background:#f44336}.vcap-source-tag[data-v-31b5a43f]{display:inline-block;font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:999px}.source-local[data-v-31b5a43f]{background:#e8f5e9;color:#2e7d32}.source-ai[data-v-31b5a43f]{background:#e3f2fd;color:#1565c0}.vcap-section-label[data-v-31b5a43f]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#e65100;margin-bottom:4px}.vcap-definition[data-v-31b5a43f]{font-size:.95rem;color:#2c1810;line-height:1.55;margin:0 0 12px}.vcap-example[data-v-31b5a43f]{font-size:.88rem;color:#555;line-height:1.55;margin:0;font-style:italic}.vcap-actions[data-v-31b5a43f]{display:flex;flex-direction:column;gap:8px}.vcap-capture-btn[data-v-31b5a43f]{background:#e65100;color:#fff;border:none;border-radius:12px;padding:13px 24px;font-size:.97rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .18s}.vcap-capture-btn[data-v-31b5a43f]:hover:not(:disabled){background:#bf360c}.vcap-capture-btn[data-v-31b5a43f]:disabled{opacity:.6;cursor:not-allowed}.vcap-spinner[data-v-31b5a43f]{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-31b5a43f .7s linear infinite}@keyframes spin-31b5a43f{to{transform:rotate(360deg)}}.vcap-error[data-v-31b5a43f]{color:#c62828;font-size:.85rem}.vcap-footer[data-v-31b5a43f]{display:flex;align-items:center;justify-content:space-between;gap:12px}.vcap-added-tag[data-v-31b5a43f]{font-size:.85rem;color:#2e7d32;font-weight:600}.vcap-cached-tag[data-v-31b5a43f]{font-size:.85rem;color:#e65100;font-weight:600}.vcap-done-btn[data-v-31b5a43f]{background:#4caf50;color:#fff;border:none;border-radius:10px;padding:9px 20px;font-size:.92rem;font-weight:600;cursor:pointer}.vcap-done-btn[data-v-31b5a43f]:hover{background:#388e3c}[data-theme=dark] .vocab-modal[data-v-31b5a43f]{background:var(--card)}[data-theme=dark] .vocab-modal-title[data-v-31b5a43f]{color:var(--text)}[data-theme=dark] .vocab-modal-close[data-v-31b5a43f]{color:var(--text-muted)}[data-theme=dark] .vocab-modal-close[data-v-31b5a43f]:hover{background:var(--border)}[data-theme=dark] .vcap-word-chip[data-v-31b5a43f]{background:#e6510026;color:#fdba74;border-color:#e651004d}[data-theme=dark] .vcap-speak-btn[data-v-31b5a43f]{border-color:#e651004d;color:#fdba74}[data-theme=dark] .vcap-speak-btn[data-v-31b5a43f]:hover{background:#e651001f}[data-theme=dark] .vcap-sentence[data-v-31b5a43f]{color:var(--text-muted)}[data-theme=dark] .vcap-section-label[data-v-31b5a43f]{color:#fdba74}[data-theme=dark] .vcap-definition[data-v-31b5a43f]{color:var(--text)}[data-theme=dark] .vcap-example[data-v-31b5a43f]{color:var(--text-muted)}[data-theme=dark] .source-local[data-v-31b5a43f]{background:#22c55e1f;color:#86efac}[data-theme=dark] .source-ai[data-v-31b5a43f]{background:#60a5fa1f;color:#93c5fd}[data-theme=dark] .vcap-added-tag[data-v-31b5a43f]{color:#86efac}[data-theme=dark] .vcap-cached-tag[data-v-31b5a43f]{color:#fdba74}.cp-modal-content[data-v-06838596]{max-width:460px;font-family:Patrick Hand,Nunito,sans-serif;border:2px solid #1f1b18;box-shadow:6px 6px #1f1b18;overflow:hidden}.cp-header[data-v-06838596]{background:var(--primary);border-bottom:2px solid #1f1b18!important;padding:16px 20px}.cp-title[data-v-06838596]{font-family:Fredoka One,Patrick Hand,cursive;font-size:1.2rem;color:#fff;margin:0}.cp-close[data-v-06838596]{color:#ffffffd9!important}.cp-close[data-v-06838596]:hover{background:#ffffff2e!important}.cp-body[data-v-06838596]{padding:18px 20px 22px;overflow-y:auto;flex:1;background:var(--bg);display:flex;flex-direction:column;gap:10px}.cp-locked[data-v-06838596]{text-align:center;padding:28px 12px}.cp-locked-icon[data-v-06838596]{font-size:2.5rem;margin-bottom:10px}.cp-locked-title[data-v-06838596]{font-weight:800;font-size:1.05rem;margin-bottom:6px}.cp-locked-hint[data-v-06838596]{color:var(--text-muted);font-size:.88rem;margin-bottom:18px;line-height:1.5}.cp-locked-btn[data-v-06838596]{padding:10px 24px;background:var(--primary);color:#fff;border:2px solid #1f1b18;border-radius:12px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:3px 3px #1f1b18;transition:transform .1s,box-shadow .1s}.cp-locked-btn[data-v-06838596]:active{transform:translate(2px,2px);box-shadow:none}.cp-cards[data-v-06838596]{display:flex;flex-direction:column;gap:10px}.cp-card[data-v-06838596]{background:var(--card);border:2px solid #1f1b18;border-radius:14px;padding:12px 14px;box-shadow:3px 3px #1f1b18}.cp-card-active[data-v-06838596]{background:#f3eeff;border-color:var(--primary);box-shadow:3px 3px 0 var(--primary)}.cp-card-row[data-v-06838596]{display:flex;align-items:center;gap:12px}.cp-avatar[data-v-06838596]{width:50px;height:50px;border-radius:50%;border:2px solid #1f1b18;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:800;color:#fff;flex-shrink:0;box-shadow:2px 2px #1f1b18}.cp-info[data-v-06838596]{flex:1;min-width:0}.cp-name[data-v-06838596]{font-family:Fredoka One,Patrick Hand,cursive;font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cp-active-badge[data-v-06838596]{font-family:Patrick Hand,Nunito,sans-serif;font-size:.7rem;font-weight:800;background:var(--primary);color:#fff;border:1.5px solid #1f1b18;padding:1px 7px;border-radius:20px}.cp-chips[data-v-06838596]{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.cp-chip[data-v-06838596]{font-size:.72rem;font-weight:700;background:var(--bg);border:1.5px solid #1f1b18;border-radius:20px;padding:2px 8px}.cp-chip-p[data-v-06838596]{background:#ffe8fb}.cp-card-row[data-v-06838596]{cursor:pointer}.cp-card[data-v-06838596]:not(.cp-card-active):hover{background:#f9f6ff;border-color:var(--primary)}.cp-card-actions[data-v-06838596]{display:flex;align-items:center;gap:6px;flex-shrink:0}.cp-edit-btn[data-v-06838596],.cp-del-btn[data-v-06838596]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-family:inherit;cursor:pointer;background:var(--card);color:var(--text);border:2px solid #1f1b18;border-radius:8px;box-shadow:2px 2px #1f1b18;transition:transform .1s,box-shadow .1s,background .12s}.cp-edit-btn[data-v-06838596]:hover{background:#fff9c4}.cp-del-btn[data-v-06838596]:hover{background:#ffe5e5;color:#c0392b}.cp-edit-btn[data-v-06838596]:active,.cp-del-btn[data-v-06838596]:active{transform:translate(2px,2px);box-shadow:none}.cp-empty[data-v-06838596]{text-align:center;padding:24px 12px;color:var(--text-muted)}.cp-empty-icon[data-v-06838596]{font-size:2.2rem;margin-bottom:8px}.cp-empty-hint[data-v-06838596]{font-size:.9rem}.cp-add-btn[data-v-06838596]{width:100%;padding:12px;border:2px dashed #1f1b18;border-radius:12px;background:var(--card);color:var(--text-muted);font-size:.92rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cp-add-btn[data-v-06838596]:hover{background:#f3eeff;color:var(--primary);border-color:var(--primary)}.cp-add-form[data-v-06838596]{margin-top:2px}.cp-edit-form[data-v-06838596]{background:var(--card);border:2px solid #1f1b18;border-radius:12px;padding:14px;box-shadow:3px 3px #1f1b18}.cp-edit-input[data-v-06838596]{width:100%;padding:9px 12px;box-sizing:border-box;border:2px solid #1f1b18;border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--bg);color:var(--text);margin-bottom:10px}.cp-edit-input[data-v-06838596]:focus{outline:none;border-color:var(--primary)}.cp-email-input[data-v-06838596]{margin-bottom:0}.cp-color-row[data-v-06838596]{display:flex;flex-wrap:wrap;gap:8px}.cp-color-dot[data-v-06838596]{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;flex-shrink:0}.cp-color-dot[data-v-06838596]:hover{transform:scale(1.15)}.cp-color-dot.active[data-v-06838596]{border-color:#1f1b18;transform:scale(1.2);box-shadow:0 0 0 2px #fff inset}.cp-adv-toggle[data-v-06838596]{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:700;color:var(--text-muted);padding:4px 0;text-align:left;transition:color .15s}.cp-adv-toggle[data-v-06838596]:hover{color:var(--primary)}.cp-adv-section[data-v-06838596]{margin-top:2px}.cp-edit-row[data-v-06838596]{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;flex-wrap:wrap}.cp-edit-lbl[data-v-06838596]{font-size:.8rem;font-weight:700;color:var(--text-muted);width:78px;flex-shrink:0;padding-top:6px}.cp-field-col[data-v-06838596]{display:flex;flex-direction:column;gap:5px}.cp-field-block[data-v-06838596]{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.cp-field-label[data-v-06838596]{font-size:.8rem;font-weight:700;color:var(--text-muted)}.cp-btn-group[data-v-06838596]{display:flex;flex-wrap:wrap;gap:6px}.cp-field-hint[data-v-06838596]{font-size:.72rem;color:var(--text-muted);margin:0}.cp-age-btn[data-v-06838596]{padding:5px 11px;font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer;background:var(--bg);color:var(--text);border:2px solid #1f1b18;border-radius:8px;box-shadow:2px 2px #1f1b18;transition:transform .1s,box-shadow .1s}.cp-age-btn.active[data-v-06838596]{background:var(--primary);color:#fff}.cp-age-btn[data-v-06838596]:active{transform:translate(2px,2px);box-shadow:none}.cp-edit-actions[data-v-06838596]{display:flex;gap:8px;margin-top:6px}.cp-save-btn[data-v-06838596]{padding:8px 22px;background:var(--primary);color:#fff;border:2px solid #1f1b18;border-radius:10px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:2px 2px #1f1b18;transition:transform .1s,box-shadow .1s}.cp-save-btn[data-v-06838596]:disabled{opacity:.45;cursor:default;box-shadow:none}.cp-save-btn[data-v-06838596]:not(:disabled):active{transform:translate(2px,2px);box-shadow:none}.cp-cancel-btn[data-v-06838596]{padding:8px 16px;background:var(--bg);border:2px solid #1f1b18;border-radius:10px;font-weight:700;font-family:inherit;cursor:pointer;color:var(--text);box-shadow:2px 2px #1f1b18;transition:transform .1s,box-shadow .1s}.cp-cancel-btn[data-v-06838596]:active{transform:translate(2px,2px);box-shadow:none}.cp-limit-note[data-v-06838596]{font-size:.84rem;color:var(--text-muted);text-align:center;padding:8px 0}.cp-upgrade-link[data-v-06838596]{background:none;border:none;color:var(--primary);font-weight:700;font-family:inherit;cursor:pointer;font-size:.84rem;margin-left:4px}[data-theme=dark] .cp-modal-content[data-v-06838596]{border-color:var(--border);box-shadow:6px 6px 0 var(--border)}[data-theme=dark] .cp-header[data-v-06838596]{border-bottom-color:var(--border)!important}[data-theme=dark] .cp-card[data-v-06838596]{border-color:var(--border);box-shadow:3px 3px 0 var(--border)}[data-theme=dark] .cp-card-active[data-v-06838596]{background:#a78bfa1a;border-color:var(--primary);box-shadow:3px 3px 0 var(--primary)}[data-theme=dark] .cp-card[data-v-06838596]:not(.cp-card-active):hover{background:#ffffff0f;border-color:var(--primary)}[data-theme=dark] .cp-avatar[data-v-06838596]{border-color:var(--border);box-shadow:2px 2px 0 var(--border)}[data-theme=dark] .cp-active-badge[data-v-06838596]{border-color:var(--border)}[data-theme=dark] .cp-chip[data-v-06838596]{background:#ffffff0f;border-color:var(--border)}[data-theme=dark] .cp-chip-p[data-v-06838596]{background:#f472b61a}[data-theme=dark] .cp-locked-btn[data-v-06838596]{border-color:var(--border);box-shadow:3px 3px 0 var(--border)}[data-theme=dark] .cp-edit-btn[data-v-06838596],[data-theme=dark] .cp-del-btn[data-v-06838596]{border-color:var(--border);box-shadow:2px 2px 0 var(--border)}[data-theme=dark] .cp-edit-btn[data-v-06838596]:hover{background:#ffe06626}[data-theme=dark] .cp-del-btn[data-v-06838596]:hover{background:#ef444426;color:#fca5a5}[data-theme=dark] .cp-add-btn[data-v-06838596]{border-color:var(--border)}[data-theme=dark] .cp-add-btn[data-v-06838596]:hover{background:#a78bfa1a;border-color:var(--primary)}[data-theme=dark] .cp-edit-form[data-v-06838596]{border-color:var(--border);box-shadow:3px 3px 0 var(--border)}[data-theme=dark] .cp-age-btn[data-v-06838596]{border-color:var(--border);box-shadow:2px 2px 0 var(--border)}[data-theme=dark] .cp-age-btn.active[data-v-06838596]{background:var(--primary);color:#fff}[data-theme=dark] .cp-color-dot.active[data-v-06838596]{border-color:var(--text);box-shadow:0 0 0 2px var(--card) inset}[data-theme=dark] .cp-save-btn[data-v-06838596],[data-theme=dark] .cp-cancel-btn[data-v-06838596]{border-color:var(--border);box-shadow:2px 2px 0 var(--border)}.ski-root[data-v-f5573390]{flex-shrink:0;overflow:hidden;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#f0ece5}.ski-root img[data-v-f5573390]{width:100%;height:100%;object-fit:cover;display:block}.ski-fb[data-v-f5573390]{font-size:1.2rem;line-height:1}.ski-sm[data-v-f5573390]{width:36px;height:36px;border-radius:7px}.ski-md[data-v-f5573390]{width:48px;height:48px;border-radius:9px}.ski-lg[data-v-f5573390]{width:80px;height:80px;border-radius:12px}.ski-fill[data-v-f5573390]{width:100%;height:100%;border-radius:0}.lum-overlay[data-v-700712a1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9000;padding:20px}.lum-card[data-v-700712a1]{background:#fff;border-radius:24px;padding:36px 32px 28px;text-align:center;max-width:340px;width:100%;box-shadow:0 20px 60px #00000040;animation:lumPop-700712a1 .35s cubic-bezier(.22,1,.36,1)}@keyframes lumPop-700712a1{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.lum-badge[data-v-700712a1]{display:flex;justify-content:center;margin-bottom:12px;animation:lumSpin-700712a1 1s ease-out}.lum-badge[data-v-700712a1] .ski-root{width:100px;height:100px;border-radius:16px;box-shadow:0 8px 24px #0000002e}.lum-badge span[data-v-700712a1]{font-size:3.5rem;line-height:1}@keyframes lumSpin-700712a1{0%{transform:rotate(-20deg) scale(.6)}to{transform:rotate(0) scale(1)}}.lum-level-tag[data-v-700712a1]{display:inline-block;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.08em;padding:3px 12px;border-radius:20px;margin-bottom:14px;text-transform:uppercase}.lum-title[data-v-700712a1]{font-size:1.4rem;font-weight:800;color:#1a1a2e;margin-bottom:6px;line-height:1.2}.lum-skill[data-v-700712a1]{font-size:1.05rem;font-weight:700;color:#7c3aed;margin-bottom:2px}.lum-level-name[data-v-700712a1]{font-size:.85rem;color:#888;margin-bottom:14px}.lum-stories[data-v-700712a1]{font-size:.8rem;color:#aaa;margin-bottom:24px}.lum-close[data-v-700712a1]{background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;border:none;border-radius:14px;padding:12px 28px;font-size:1rem;font-weight:700;cursor:pointer;width:100%;transition:opacity .15s}.lum-close[data-v-700712a1]:hover{opacity:.88}[data-theme=dark] .lum-card[data-v-700712a1]{background:var(--card)}[data-theme=dark] .lum-title[data-v-700712a1]{color:var(--text)}[data-theme=dark] .lum-level-name[data-v-700712a1],[data-theme=dark] .lum-stories[data-v-700712a1]{color:var(--text-muted)}.pg-backdrop[data-v-43fddd75]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#120f24b8;display:flex;align-items:center;justify-content:center;padding:24px}.pg-card[data-v-43fddd75]{width:100%;max-width:320px;background:var(--card, #fff);border:2px solid #1f1b18;border-radius:24px;padding:32px 24px 24px;text-align:center;box-shadow:6px 6px #1f1b18}.pg-shake[data-v-43fddd75]{animation:pg-shake-43fddd75 .45s ease}@keyframes pg-shake-43fddd75{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.pg-lock-icon[data-v-43fddd75]{font-size:2.2rem;margin-bottom:12px;filter:grayscale(.2)}.pg-title[data-v-43fddd75]{font-family:Patrick Hand,Nunito,sans-serif;font-size:1.25rem;font-weight:700;color:var(--text, #1f1b18);margin-bottom:4px}.pg-sub[data-v-43fddd75]{font-family:Nunito,sans-serif;font-size:.78rem;font-weight:600;color:var(--text-muted, #80756d);margin-bottom:24px}.pg-dots[data-v-43fddd75]{display:flex;gap:14px;justify-content:center;margin-bottom:8px}.pg-dot[data-v-43fddd75]{width:16px;height:16px;border:2px solid #1f1b18;border-radius:50%;background:transparent;transition:background .12s}.pg-dot.filled[data-v-43fddd75]{background:#1f1b18}.pg-error-row[data-v-43fddd75]{height:20px;margin-bottom:20px}.pg-error[data-v-43fddd75]{font-family:Nunito,sans-serif;font-size:.72rem;font-weight:700;color:#dc2626;letter-spacing:.02em}.pg-numpad[data-v-43fddd75]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.pg-key[data-v-43fddd75]{aspect-ratio:1;border:2px solid #1f1b18;border-radius:14px;background:var(--card, #fff);color:var(--text, #1f1b18);font-family:Patrick Hand,Nunito,sans-serif;font-size:1.4rem;font-weight:700;cursor:pointer;box-shadow:2px 2px #1f1b18;transition:transform .08s,box-shadow .08s;line-height:1}.pg-key[data-v-43fddd75]:active{transform:translate(1px,1px);box-shadow:1px 1px #1f1b18}.pg-key-aux[data-v-43fddd75]{font-size:.9rem;background:#f1ede7}.pg-cancel[data-v-43fddd75]{width:100%;padding:10px;border:2px solid #1f1b18;border-radius:10px;background:transparent;color:var(--text-muted, #80756d);font-family:Nunito,sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:2px 2px #1f1b18;transition:background .1s}.pg-cancel[data-v-43fddd75]:hover{background:#f1ede7}.pg-cancel[data-v-43fddd75]:active{transform:translate(1px,1px);box-shadow:1px 1px #1f1b18}.pg-fade-enter-active[data-v-43fddd75],.pg-fade-leave-active[data-v-43fddd75]{transition:opacity .18s ease}.pg-fade-enter-from[data-v-43fddd75],.pg-fade-leave-to[data-v-43fddd75]{opacity:0}[data-theme=dark] .pg-card[data-v-43fddd75]{background:#1e1a3a;border-color:#fff3;box-shadow:6px 6px #ffffff1a}[data-theme=dark] .pg-dot[data-v-43fddd75]{border-color:#ffffff80}[data-theme=dark] .pg-dot.filled[data-v-43fddd75]{background:#ffffffd9;border-color:#ffffffd9}[data-theme=dark] .pg-key[data-v-43fddd75]{background:#ffffff12;border-color:#fff3;box-shadow:2px 2px #ffffff14;color:var(--text)}[data-theme=dark] .pg-key-aux[data-v-43fddd75]{background:#ffffff1f}[data-theme=dark] .pg-cancel[data-v-43fddd75]{border-color:#fff3;box-shadow:2px 2px #ffffff14}[data-theme=dark] .pg-cancel[data-v-43fddd75]:hover{background:#ffffff12}.dev-watermark[data-v-7c7b68d3]{position:fixed;bottom:68px;right:10px;z-index:9998;padding:2px 7px;background:#ff5000b3;color:#fff;font-size:10px;font-weight:800;letter-spacing:1.5px;border-radius:4px;pointer-events:none;-webkit-user-select:none;user-select:none}:root{--primary: #7c3aed;--primary-dark: #5b21b6;--secondary: #10b981;--accent: #f59e0b;--bg: #fbf8f1;--card: #ffffff;--text: #1e1b4b;--text-muted: #6b7280;--border: #e8e1f8;--page-left: #fdfcff;--page-right: #ffffff;--shadow: 0 4px 24px rgba(124,58,237,.1);--shadow-book: 0 24px 72px rgba(124,58,237,.18);--radius: 20px;--story-font-scale: 1}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{font-family:Nunito,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}[data-theme=dark]{--bg: #120f24;--card: #1e1a3a;--text: #e2d9f3;--text-muted: #9085b8;--border: #2e2850;--page-left: #171330;--page-right: #1e1a3a;--shadow: 0 4px 24px rgba(0,0,0,.4);--shadow-book: 0 24px 72px rgba(0,0,0,.55)}.page-meta{font-family:Nunito,sans-serif;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.page-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:1.55rem;font-weight:700;color:var(--text);line-height:1.2}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select{background:#120f24;color:var(--text);border-color:var(--border)}.settings-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:900;padding:20px}.settings-panel{background:var(--card);border-radius:18px;width:100%;max-width:360px;box-shadow:0 20px 60px #00000040;overflow:hidden}.settings-panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1.5px solid var(--border)}.settings-panel-title{font-family:Fredoka One,cursive;font-size:1.12rem;color:var(--text);letter-spacing:.2px}.settings-panel-close{width:30px;height:30px;border:none;border-radius:50%;background:var(--bg);color:var(--text-muted);font-size:.88rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.settings-panel-close:hover{background:var(--border)}.settings-section{padding:8px 12px}.settings-section-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:4px 8px 2px}.settings-divider{height:1px;background:var(--border)}.settings-row{display:flex;align-items:center;gap:12px;padding:10px 8px;border:none;background:none;width:100%;border-radius:10px;text-align:left;font-family:Nunito,sans-serif;color:var(--text);cursor:default}.settings-row-nav{cursor:pointer;transition:background .15s}.settings-row-nav:hover{background:var(--bg)}.sr-icon{font-size:1.15rem;width:26px;text-align:center;flex-shrink:0}.sr-label{font-weight:700;font-size:.9rem;flex:1}.sr-value{font-size:.82rem;color:var(--text-muted)}.sr-arrow{font-size:1.3rem;color:var(--text-muted);line-height:1}.sr-plan{color:var(--primary)}main{padding:24px 20px 80px;min-height:100vh}.section{width:100%}.page-view{width:100%;max-width:1100px}.page-view-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.page-view-title{font-size:1.4rem;font-weight:800;margin:0;flex:1}.page-view .pub-library-sections,.page-view .library-list{overflow-y:visible;overflow:visible;flex:none;min-height:0;max-height:none;overscroll-behavior:auto;padding:0}.page-view .library-filter,.page-view .my-lib-toolbar{padding-left:0;padding-right:0}@media (min-width: 769px){.app-main{margin-left:210px}.app-main--full{margin-left:0!important}}@media (max-width: 768px){.mobile-topbar,.mobile-bottom-nav{display:flex}.app-sidebar{display:none}.app-main{padding-top:52px}.toast{bottom:72px}}@media (min-width: 769px){.mobile-topbar,.mobile-bottom-nav{display:none}}.quickstart-header{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.quickstart-label{font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.8px;color:var(--primary)}.quickstart-hint{font-size:.8rem;color:var(--text-muted)}.defaults-grid{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;margin-bottom:20px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--primary) var(--border)}.defaults-grid::-webkit-scrollbar{height:5px}.defaults-grid::-webkit-scrollbar-track{background:var(--border);border-radius:3px}.defaults-grid::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}.default-card{flex-shrink:0;width:160px;scroll-snap-align:start;background:var(--card);border:2px solid var(--border);border-radius:16px;padding:14px 12px;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s;text-align:left}.default-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 6px 20px #7c3aed26}.default-card:active{transform:translateY(-1px)}.dc-icon{font-size:1.7rem;line-height:1;margin-bottom:7px}.dc-title{font-family:Fredoka One,cursive;font-size:.88rem;color:var(--text);line-height:1.2;margin-bottom:6px}.dc-tags{display:flex;flex-wrap:wrap;gap:3px}.dc-tag{font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:8px;background:#ede9fe;color:var(--text-muted)}.dc-tag.lang-en{background:#e3f2fd;color:#1565c0}.dc-tag.lang-zh{background:#fce4ec;color:#c62828}.dc-tag.lang-my{background:#e8f5e9;color:#2e7d32}.form-card{background:var(--card);border-radius:var(--radius);padding:32px 36px;box-shadow:var(--shadow);border:1px solid var(--border)}.form-group{margin-bottom:18px}.form-group:last-of-type{margin-bottom:0}.form-group label{display:block;font-weight:800;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:7px}.optional-label{text-transform:none;font-weight:600;opacity:.6;letter-spacing:0}.form-group input[type=text],.form-group select{width:100%;padding:11px 14px;border:2px solid var(--border);border-radius:12px;font-size:.97rem;font-family:Nunito,sans-serif;color:var(--text);background:#fdfcff;outline:none;transition:border-color .2s,box-shadow .2s}.form-group input[type=text]:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed24}.pages-group{margin-bottom:20px}.pages-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pages-label-row label{margin-bottom:0}.pages-value-badge{background:var(--primary);color:#fff;font-weight:800;font-size:.82rem;padding:2px 11px;border-radius:20px;min-width:36px;text-align:center}.form-group input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer}.pages-ticks{display:flex;justify-content:space-between;margin-top:4px;font-size:.72rem;color:var(--text-muted);padding:0 2px}.skill-label-row{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.skill-label-row label{margin-bottom:0}.skill-label-sub{font-size:.78rem;color:var(--text-muted)}.skill-cat-row{display:flex;flex-wrap:wrap;gap:8px}.scat-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 14px;border-radius:12px;border:2px solid var(--border);background:var(--bg-card);cursor:pointer;transition:border-color .15s,background .15s;min-width:74px}.scat-btn:hover{border-color:var(--primary)}.scat-btn-active{font-weight:700}.scat-icon{font-size:1.4rem;line-height:1}.scat-name{font-size:.68rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.scat-btn-active .scat-name{color:var(--text)}.skill-cat-skills{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;padding:12px;border-radius:12px;background:var(--bg);border:1px solid var(--border)}.skill-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:2px solid var(--border);background:var(--bg-card);color:var(--text);font-size:.82rem;cursor:pointer;transition:all .15s ease}.skill-chip:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.sc-icon{font-size:.95rem;line-height:1}.sc-name{font-weight:600}.selected-skill-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--primary) 10%,transparent);border:2px solid color-mix(in srgb,var(--primary) 40%,transparent)}.ssb-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.ssb-body{flex:1;display:flex;flex-direction:column;gap:1px}.ssb-name{font-size:.88rem;font-weight:700;color:var(--text)}.ssb-desc{font-size:.76rem;color:var(--text-muted)}.ssb-change{background:none;border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-size:.76rem;cursor:pointer;color:var(--text-muted);white-space:nowrap;transition:border-color .15s}.ssb-change:hover{border-color:var(--primary);color:var(--text)}.skill-none-hint{font-size:.8rem;color:var(--text-muted);margin-top:8px;font-style:italic}.theme-label-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.theme-label-row label{margin-bottom:0}.theme-auto-badge{font-size:.72rem;font-weight:600;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);padding:2px 8px;border-radius:10px;white-space:nowrap}.skill-progress-section{margin-bottom:28px}.spsec-header{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.spsec-title{font-size:1rem;font-weight:700;color:var(--text)}.spsec-subtitle{font-size:.8rem;color:var(--text-muted)}.spcard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:480px){.spcard-grid{grid-template-columns:1fr}}.spcard{background:var(--bg-card);border:1.5px solid var(--border);border-radius:14px;padding:12px 14px}.spcard-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.spcard-icon{font-size:1.4rem;flex-shrink:0}.spcard-body{flex:1;display:flex;flex-direction:column;gap:1px}.spcard-name{font-size:.88rem;font-weight:700;color:var(--text)}.spcard-cat{font-size:.7rem;color:var(--text-muted)}.spcard-level-badge{display:flex;flex-direction:column;align-items:center;background:var(--primary);color:#fff;border-radius:8px;padding:3px 8px;min-width:38px}.slb-icon{font-size:.8rem;line-height:1}.slb-num{font-size:.68rem;font-weight:800;white-space:nowrap}.spcard-level-name{font-size:.72rem;font-weight:700;color:var(--primary);margin-bottom:6px}.spcard-track{display:flex;gap:4px;margin-bottom:4px}.spcard-seg{flex:1;height:6px;border-radius:3px;background:var(--border);transition:background .25s}.spcard-seg.filled{background:var(--primary)}.spcard-hint{font-size:.72rem;color:var(--text-muted)}.spcard-maxed{color:#4caf50;font-weight:700}.spcard-total{font-size:.7rem;color:var(--text-muted);margin-top:2px}.sp-empty{text-align:center;padding:28px 16px}.sp-empty-icon{font-size:2.2rem;margin-bottom:8px}.sp-empty-title{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:6px}.sp-empty-hint{font-size:.82rem;color:var(--text-muted);margin-bottom:14px;line-height:1.5}.sp-empty-btn{background:var(--primary);color:#fff;border:none;border-radius:10px;padding:8px 18px;font-size:.85rem;font-weight:700;cursor:pointer}.skill-level-row{display:flex;align-items:center;gap:8px;margin-top:8px;padding:7px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--border);font-size:.78rem}.slr-icon{font-size:1rem}.slr-name{font-weight:700;color:var(--text);flex-shrink:0}.slr-dots{display:flex;gap:4px}.slr-dot{width:10px;height:10px;border-radius:50%;background:var(--border)}.slr-dot.filled{background:var(--primary)}.slr-hint{color:var(--text-muted);font-size:.74rem;margin-left:auto;white-space:nowrap}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-primary{margin-bottom:4px}.form-divider{border:none;border-top:1.5px dashed var(--border);margin:16px 0 20px}.btn-group{display:flex;gap:7px;flex-wrap:wrap}.btn-option{padding:8px 16px;border:2px solid var(--border);border-radius:24px;background:#fdfcff;color:var(--text-muted);font-family:Nunito,sans-serif;font-weight:700;font-size:.88rem;cursor:pointer;transition:all .18s}.btn-option:hover{border-color:var(--primary);color:var(--primary)}.btn-option.active{background:var(--primary);border-color:var(--primary);color:#fff}.generate-btn{width:100%;margin-top:22px;padding:16px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:14px;font-family:Fredoka One,cursive;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 18px #7c3aed6b;transition:transform .18s,box-shadow .18s}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #7c3aed85}.generate-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}@keyframes pulse-purple{0%,to{box-shadow:0 4px 18px #7c3aed6b}50%{box-shadow:0 4px 32px #7c3aedd9;transform:scale(1.02)}}@keyframes pulse-green{0%,to{box-shadow:0 4px 18px #7c3aed6b}50%{box-shadow:0 4px 32px #7c3aedd9;transform:scale(1.02)}}.btn-pulse{animation:pulse-green .4s ease-in-out 2}.btn-icon{font-size:1.2rem}.error-msg{margin-top:12px;color:#d32f2f;text-align:center;font-weight:700;font-size:.9rem}.loading-card{text-align:center;padding:64px 40px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}.loading-book{width:110px;height:76px;margin:0 auto 36px;display:flex;align-items:stretch}.book-page{width:52px;height:76px;border-radius:4px}.left-page{background:linear-gradient(160deg,#ede9fe,#c4b5fd);animation:flipLeft 2s ease-in-out infinite;transform-origin:right center;border-radius:4px 0 0 4px}.right-page{background:linear-gradient(160deg,#ddd6fe,#a78bfa);animation:flipRight 2s ease-in-out infinite;transform-origin:left center;border-radius:0 4px 4px 0}.book-spine{width:6px;background:#5b21b6;flex-shrink:0}@keyframes flipLeft{0%,to{transform:scaleX(1)}50%{transform:scaleX(.25)}}@keyframes flipRight{0%,to{transform:scaleX(1)}50%{transform:scaleX(.25)}}.loading-title{font-family:Fredoka One,cursive;font-size:1.8rem;color:var(--primary);margin-bottom:8px}.loading-sub{color:var(--text-muted);margin-bottom:32px;font-size:.92rem}.loading-steps{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.step{padding:9px 20px;border-radius:24px;background:#ede9fe;color:#9085b8;font-weight:700;font-size:.85rem;transition:all .4s}.step.active{background:#f5f0ff;color:var(--primary)}.step.done{background:#e8f5e9;color:#43a047}.cancel-gen-btn{margin-top:28px;padding:9px 28px;border:2px solid var(--border);border-radius:24px;background:transparent;color:var(--text-muted);font-family:Nunito,sans-serif;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .18s}.cancel-gen-btn:hover{border-color:#ef5350;color:#ef5350}.storybook-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:8px 0}.page-counter{font-family:Fredoka One,cursive;font-size:1rem;color:var(--text-muted);text-align:center;flex:1}.header-actions{display:flex;gap:6px;flex-shrink:0}.action-btn{background:none;border:2px solid var(--border);border-radius:10px;padding:8px 13px;font-family:Nunito,sans-serif;font-weight:700;font-size:.83rem;color:var(--text-muted);cursor:pointer;transition:all .18s;white-space:nowrap}.action-btn:hover{border-color:var(--primary);color:var(--primary)}.action-btn.saved{border-color:#43a047;color:#43a047}.reading-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:10px 14px;margin-bottom:12px;box-shadow:var(--shadow)}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-group+.toolbar-group{padding-left:10px;border-left:1px solid var(--border)}.toolbar-group-right{margin-left:auto}.toolbar-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-right:3px;white-space:nowrap}.toolbar-btn{padding:6px 11px;border:1.5px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-family:Nunito,sans-serif;font-weight:700;font-size:.82rem;cursor:pointer;transition:all .18s;white-space:nowrap}.toolbar-btn:hover{border-color:var(--primary);color:var(--primary)}.toolbar-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.toolbar-btn.icon-btn{padding:6px 10px;font-size:1rem}.toolbar-select{padding:5px 8px;border:1.5px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-family:Nunito,sans-serif;font-weight:700;font-size:.78rem;cursor:pointer;max-width:140px;transition:border-color .18s}.toolbar-select:hover,.toolbar-select:focus{border-color:var(--primary);outline:none;color:var(--primary)}.reading-progress-bar{height:4px;background:var(--border);border-radius:2px;margin-bottom:16px;overflow:hidden}.reading-progress-fill{height:100%;width:0%;background:var(--primary);border-radius:2px;transition:width .35s ease}#book-container{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-book);overflow:hidden;min-height:420px;margin-bottom:20px}@keyframes flipIn{0%{opacity:0;transform:rotateY(-12deg) scale(.97)}to{opacity:1;transform:rotateY(0) scale(1)}}#book-container.flip-in{animation:flipIn .28s ease-out}.cover-page{display:grid;grid-template-columns:1fr 1fr;min-height:480px}.cover-img-side{position:relative;overflow:hidden;background:linear-gradient(135deg,#8b5cf6,#a78bfa);min-height:320px}.cover-img-side img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .6s}.cover-placeholder{width:100%;height:100%;min-height:480px;display:flex;align-items:center;justify-content:center;font-size:5rem}.cover-text-side{display:flex;flex-direction:column;justify-content:center;padding:44px 40px;background:linear-gradient(170deg,#fdfcff,#f5f0ff);border-left:5px solid #c4b5fd}.cover-label{font-size:.72rem;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.cover-title{font-family:Fredoka One,cursive;font-size:2rem;color:var(--text);line-height:1.25;margin-bottom:16px}.cover-meta{font-size:.88rem;color:var(--text-muted);line-height:1.9}.start-btn{margin-top:24px;align-self:flex-start;padding:13px 30px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-family:Fredoka One,cursive;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 14px #7c3aed61;transition:transform .18s,box-shadow .18s}.start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px #7c3aed75}.outline-btn{background:transparent!important;color:var(--primary)!important;border:2px solid var(--primary)!important;box-shadow:none!important}.outline-btn:hover{background:var(--primary)!important;color:#fff!important}.story-spread{display:grid;grid-template-columns:1fr 1fr;min-height:480px}.text-page{background:var(--page-left);padding:48px 40px 44px;display:flex;flex-direction:column;justify-content:center;position:relative;border-right:2px solid #e8e1f8}.page-deco{position:absolute;top:16px;right:20px;font-size:1.5rem;opacity:.25;-webkit-user-select:none;user-select:none}.story-text{font-size:calc(1.1rem * var(--story-font-scale));line-height:2;color:var(--text);font-weight:600;flex:1;text-align:justify}.story-text.editing{border:2px dashed var(--primary);border-radius:8px;padding:8px;outline:none;cursor:text}.page-num-label{position:absolute;bottom:16px;left:40px;font-size:.75rem;color:#9085b8;font-weight:700;letter-spacing:.5px}.page-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.page-action-btn{padding:9px 16px;border:2px solid var(--border);border-radius:10px;background:transparent;color:var(--text-muted);font-family:Nunito,sans-serif;font-weight:700;font-size:.84rem;cursor:pointer;transition:all .18s}.page-action-btn:hover{border-color:var(--primary);color:var(--primary);background:#7c3aed0d}.page-action-btn:disabled{opacity:.45;cursor:not-allowed}.read-btn.reading{background:#ef5350;border-color:#ef5350;color:#fff}.read-btn.guided{animation:guided-pulse 1.8s ease-in-out infinite}@keyframes guided-pulse{0%,to{box-shadow:0 0 #7c3aed80}50%{box-shadow:0 0 0 6px #7c3aed00}}.edit-btn.save-mode{background:#43a047;border-color:#43a047;color:#fff}.cancel-btn{border-color:#ef5350;color:#ef5350}.cancel-btn:hover{background:#ef5350;color:#fff}.tts-word.tts-highlight{background:#ffd600;color:#1a1a1a;border-radius:4px;padding:1px 3px;box-shadow:0 1px 4px #ffd60080;transition:background .08s}[data-theme=dark] .tts-word.tts-highlight{background:#b8860b;color:#fff;box-shadow:none}.illus-page{background:var(--page-right);display:flex;align-items:center;justify-content:center;padding:28px;position:relative}.illus-page img{width:100%;max-height:420px;object-fit:contain;border-radius:12px;box-shadow:0 4px 18px #0000001a}.illus-loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#b0bec5;font-weight:700;font-size:.9rem;text-align:center;padding:16px}.regen-illus-btn{position:absolute;top:10px;right:10px;background:#ffffffd9;border:1.5px solid var(--border);border-radius:8px;padding:5px 9px;font-size:.95rem;cursor:pointer;transition:all .18s;z-index:2}.regen-illus-btn:hover{background:#fff;border-color:var(--primary)}.retry-img-btn{margin-top:4px;padding:7px 20px;background:var(--secondary);color:#fff;border:none;border-radius:10px;font-family:Nunito,sans-serif;font-weight:700;font-size:.88rem;cursor:pointer;transition:opacity .18s}.retry-img-btn:hover{opacity:.85}.spinner{width:48px;height:48px;border:4px solid #E0E0E0;border-top-color:var(--secondary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.end-page{min-height:480px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f0ff,#fdfcff)}.end-content{text-align:center;padding:48px 40px}.end-emoji{font-size:5rem;margin-bottom:16px;animation:bounceIn .6s ease}.end-title{font-family:Fredoka One,cursive;font-size:2.8rem;color:var(--primary);margin-bottom:8px}.end-subtitle{font-size:1.1rem;color:var(--text-muted);margin-bottom:10px;font-style:italic}.end-message{font-size:.95rem;color:var(--text-muted);margin-bottom:32px}.end-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}@keyframes bounceIn{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.book-nav{display:flex;align-items:center;justify-content:space-between;gap:16px}.nav-btn{width:36px;height:36px;padding:0;border:1.5px solid var(--border);border-radius:50%;background:var(--card);color:var(--primary);font-size:1.3rem;line-height:1;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .18s}.nav-btn:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.nav-btn:disabled{opacity:.28;cursor:not-allowed}.page-dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.dot{width:9px;height:9px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .2s}.dot.active{background:var(--primary);transform:scale(1.35)}.lang-chinese .story-text,.lang-chinese .cover-title{font-family:Noto Sans SC,Nunito,sans-serif;line-height:2.1}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center}.modal[hidden]{display:none}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.modal-content{position:relative;background:var(--card);border-radius:var(--radius);width:min(560px,94vw);max-height:82vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border)}.modal-header h2{font-family:Fredoka One,cursive;font-size:1.3rem;color:var(--text)}.modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-muted);padding:4px 8px;border-radius:8px;transition:background .15s}.modal-close:hover{background:var(--border)}.library-filter{display:flex;gap:8px;padding:10px 22px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.lib-filter-select{padding:6px 10px;border:1.5px solid var(--border);border-radius:8px;background:var(--card);color:var(--text-muted);font-family:Nunito,sans-serif;font-weight:700;font-size:.82rem;cursor:pointer}.lib-filter-select:focus{border-color:var(--primary);outline:none}.library-list{overflow-y:auto;padding:8px 22px 20px}.lib-empty{text-align:center;color:var(--text-muted);padding:36px 0;font-size:.95rem;line-height:1.8}.lib-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.lib-item:last-child{border-bottom:none}.lib-title{font-weight:700;color:var(--text);margin-bottom:3px}.lib-meta{font-size:.78rem;color:var(--text-muted)}.lib-actions{display:flex;gap:6px;flex-shrink:0}.lib-load-btn{padding:7px 14px;background:var(--primary);color:#fff;border:none;border-radius:9px;font-family:Nunito,sans-serif;font-weight:700;font-size:.84rem;cursor:pointer;transition:opacity .18s}.lib-load-btn:hover{opacity:.85}.lib-del-btn{padding:7px 10px;background:none;border:1.5px solid #EF5350;color:#ef5350;border-radius:9px;cursor:pointer;font-size:.84rem;transition:all .18s}.lib-del-btn:hover{background:#ef5350;color:#fff}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(20px);background:#1e1b4b;color:#fff;padding:11px 22px;border-radius:12px;font-weight:700;font-size:.9rem;z-index:2000;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.streak-badge{position:fixed;top:72px;right:20px;background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;padding:10px 18px;border-radius:14px;font-weight:800;font-size:.88rem;z-index:2000;box-shadow:0 6px 20px #7c3aed73;animation:slideIn .4s ease}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@media print{.app-sidebar,.mobile-topbar,.mobile-bottom-nav,.storybook-header,.reading-toolbar,.book-nav,.page-actions,.regen-illus-btn,.reading-progress-bar{display:none!important}.app-main{margin-left:0!important;padding-top:0!important}#book-container{box-shadow:none}.story-spread{page-break-inside:avoid}}@media (max-width: 860px){main{padding:22px 16px 56px}.form-card{padding:26px 24px}.cover-text-side{padding:36px 30px}.text-page{padding:40px 32px 36px}}@media (max-width: 680px){main{padding-left:12px;padding-right:12px;padding-bottom:96px}.defaults-grid{scrollbar-width:none;-webkit-overflow-scrolling:touch}.defaults-grid::-webkit-scrollbar{display:none}.default-card{width:140px;padding:11px 10px}.dc-icon{font-size:1.45rem}.dc-title{font-size:.82rem}.form-card{padding:20px 16px;border-radius:16px}.form-row{grid-template-columns:1fr;gap:0}.form-row-primary{grid-template-columns:1fr 1fr;gap:12px}.btn-option{padding:10px 14px;min-height:44px;font-size:.84rem}.generate-btn{font-size:1.1rem;padding:15px;margin-top:18px}.loading-card{padding:44px 20px}.loading-title{font-size:1.5rem}.loading-steps{flex-direction:column;align-items:center;gap:8px}.storybook-header{flex-wrap:wrap;gap:6px}.page-counter{order:-1;width:100%;text-align:center;padding-bottom:6px;border-bottom:1px solid var(--border);font-size:.9rem}.action-btn{padding:8px 10px;min-height:44px;font-size:.78rem}.download-btn{display:none}.header-actions{gap:5px}.reading-toolbar{overflow-x:auto;flex-wrap:nowrap;padding:8px 12px;gap:5px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.reading-toolbar::-webkit-scrollbar{display:none}.toolbar-label{display:none}.toolbar-group+.toolbar-group{padding-left:7px}.toolbar-group-right{margin-left:0}.toolbar-btn{padding:8px 10px;min-height:44px;font-size:.8rem}.toolbar-btn.icon-btn{padding:8px 10px}.toolbar-select{min-height:44px;max-width:110px;font-size:.76rem}.cover-page{grid-template-columns:1fr}.cover-img-side{min-height:190px;max-height:250px}.cover-text-side{padding:20px 18px;border-left:none;border-top:4px solid #c4b5fd}.cover-title{font-size:1.4rem}.start-btn{width:100%;text-align:center;align-self:stretch}.story-spread{display:flex;flex-direction:column}.illus-page{order:-1;padding:12px}.illus-page img{max-height:220px}.text-page{padding:22px 16px 30px}.story-text{font-size:calc(.97rem * var(--story-font-scale));line-height:1.85}.page-num-label{left:16px}.page-action-btn{padding:10px 14px;min-height:44px;font-size:.84rem}.page-actions{gap:6px}.end-page{min-height:unset;align-items:flex-start;justify-content:flex-start;flex-direction:column}.end-content{padding:20px 16px 16px;width:100%;box-sizing:border-box}.end-emoji{font-size:3rem;margin-bottom:10px}.end-title{font-size:1.8rem}.end-subtitle{font-size:.9rem}.end-message{font-size:.88rem;margin-bottom:18px}.end-actions{flex-direction:column;gap:10px;width:100%}.end-actions .start-btn{width:100%;align-self:stretch}.quiz-section{padding:16px 14px}.quiz-results{padding:20px 14px}.dev-report{margin:8px 0 0;border-radius:0 0 16px 16px}.dr-grid{grid-template-columns:1fr 1fr}.mastery-cta{margin:12px 0 0}.rc-section{margin-top:16px}.rc-btn{flex:1;max-width:none}.book-nav{position:sticky;bottom:60px;background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -4px 20px #2c18101a;padding:10px 12px;margin-top:8px;z-index:50;gap:8px}.nav-btn{display:none}.page-dots{justify-content:center;flex:1}.modal-content{max-height:88vh}.library-filter{padding:10px 14px}.library-list{padding:6px 14px 18px}.choice-btn,.quiz-option{padding:12px;min-height:44px}.quiz-section{padding:20px 16px}.achievement-popup{top:auto;bottom:70px;right:12px;left:12px;max-width:none}.achievements-grid{max-height:50vh;padding:10px 14px 16px}}.choice-panel{margin-top:20px}.choice-divider{border:none;border-top:1.5px dashed var(--border);margin-bottom:14px}.choice-header{display:flex;align-items:center;gap:7px;margin-bottom:6px}.choice-header-icon{font-size:1.1rem}.choice-header-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.choice-question{font-weight:800;font-size:.95rem;color:var(--text);margin-bottom:12px;line-height:1.45}.choice-options{display:flex;flex-direction:column;gap:8px}.choice-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:var(--card);border:2px solid var(--border);border-radius:12px;cursor:pointer;font-family:Nunito,sans-serif;font-weight:700;font-size:.9rem;color:var(--text);text-align:left;transition:all .18s}.choice-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#7c3aed0d}.choice-letter{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex-shrink:0}.choice-btn-text{flex:1}.choice-btn.chosen{border-color:var(--primary);background:#7c3aed12}.choice-btn.not-chosen{opacity:.38}.choice-btn:disabled{cursor:default}.choice-outcome{margin-top:10px;padding:10px 14px;background:linear-gradient(135deg,#f5f0ff,#ede9fe);border:1.5px solid #c4b5fd;border-radius:12px;display:flex;align-items:flex-start;gap:8px;font-size:.87rem;font-weight:600;color:var(--text);line-height:1.5;animation:fadeSlideIn .3s ease}.outcome-icon{font-size:1.2rem;flex-shrink:0}.choice-reflection{margin-top:10px;padding:12px 14px;background:linear-gradient(135deg,#f3e5f5,#ede7f6);border:1.5px solid #CE93D8;border-radius:12px;animation:fadeSlideIn .35s ease .1s both}.cr-header{display:flex;align-items:center;gap:6px;margin-bottom:5px}.cr-icon{font-size:1.15rem}.cr-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#7b1fa2}.cr-text{font-size:.87rem;font-weight:600;color:#4a148c;line-height:1.5}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.quiz-start-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:16px 0 8px;padding:14px 20px;background:linear-gradient(135deg,#4ecdc4,#26a69a);color:#fff;border:none;border-radius:14px;font-family:Fredoka One,cursive;font-size:1.15rem;cursor:pointer;box-shadow:0 4px 16px #4ecdc466;transition:transform .18s,box-shadow .18s}.quiz-start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4ecdc480}.quiz-badge{background:#ffffff40;border-radius:20px;padding:2px 10px;font-size:.78rem;font-family:Nunito,sans-serif;font-weight:800}.quiz-section{padding:32px 36px;width:100%}.quiz-card{max-width:500px;margin:0 auto}.quiz-dots{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.quiz-dot{width:10px;height:10px;border-radius:50%;background:var(--border);transition:all .2s}.quiz-dot.active{background:var(--secondary);transform:scale(1.3)}.quiz-dot.done{background:#43a047}.quiz-q-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:10px}.quiz-question{font-family:Fredoka One,cursive;font-size:1.15rem;color:var(--text);line-height:1.4;margin-bottom:18px}.quiz-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.quiz-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card);border:2px solid var(--border);border-radius:12px;cursor:pointer;font-family:Nunito,sans-serif;font-weight:700;font-size:.92rem;color:var(--text);text-align:left;width:100%;transition:all .18s}.quiz-option:hover:not(:disabled){border-color:var(--secondary);color:var(--secondary)}.quiz-opt-letter{width:28px;height:28px;border-radius:50%;background:var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex-shrink:0}.quiz-option.correct{border-color:#43a047;background:#e8f5e9;color:#2e7d32}.quiz-option.correct .quiz-opt-letter{background:#43a047;color:#fff}.quiz-option.incorrect{border-color:#ef5350;background:#ffebee;color:#c62828}.quiz-option.incorrect .quiz-opt-letter{background:#ef5350;color:#fff}.quiz-option:disabled{cursor:default}.quiz-feedback{padding:10px 14px;border-radius:10px;font-size:.87rem;font-weight:700;line-height:1.5;animation:fadeSlideIn .3s ease}.quiz-correct{color:#2e7d32}.quiz-incorrect{color:var(--text-muted)}.quiz-results{text-align:center;padding:32px 20px}.quiz-result-stars{font-size:2rem;letter-spacing:4px;margin-bottom:10px}.quiz-result-score{font-family:Fredoka One,cursive;font-size:1.8rem;color:var(--primary);margin-bottom:6px}.quiz-result-msg{font-size:.95rem;color:var(--text-muted);margin-bottom:20px}.ach-header-btn{background:#ffffff26;border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:20px;padding:7px 9px;font-size:1rem;cursor:pointer;transition:background .18s;flex-shrink:0}.ach-header-btn:hover{background:#ffffff47}.achievements-stats{padding:16px 22px 10px;border-bottom:1px solid var(--border)}.stats-row{display:flex;gap:8px;justify-content:space-around}.stat-item{text-align:center}.stat-num{display:block;font-family:Fredoka One,cursive;font-size:1.6rem;color:var(--primary);line-height:1}.stat-lbl{display:block;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-top:2px}.achievements-grid{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:10px 22px 20px;max-height:52vh}.achievement-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--bg);border:1.5px solid transparent;transition:border-color .18s}.achievement-item.earned{border-color:#c4b5fd;background:#f5f0ff}.achievement-item.locked{opacity:.5}.ach-icon{font-size:1.6rem;flex-shrink:0;width:36px;text-align:center}.ach-body{min-width:0}.ach-name{font-weight:800;font-size:.9rem;color:var(--text)}.ach-desc{font-size:.78rem;color:var(--text-muted);margin-top:1px}.achievement-popup{position:fixed;top:80px;right:20px;background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;padding:14px 18px;border-radius:16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 28px #7c3aed73;z-index:3000;max-width:280px;opacity:0;transform:translate(40px);transition:opacity .4s ease,transform .4s ease;pointer-events:none}.achievement-popup.show{opacity:1;transform:translate(0)}.ach-pop-icon{font-size:2rem;flex-shrink:0}.ach-pop-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;opacity:.85}.ach-pop-name{font-family:Fredoka One,cursive;font-size:1rem;margin-top:1px}.ach-pop-desc{font-size:.78rem;opacity:.85;margin-top:1px}.locked-card{cursor:default}.locked-card:hover{transform:none!important;border-color:var(--border)!important;box-shadow:none!important}.dc-tag.locked-tag{background:#fce7f3;color:#be185d}.value-banner{display:flex;align-items:center;justify-content:center;gap:0;background:linear-gradient(135deg,#f5f0ff,#ede9fe);border:1.5px solid #c4b5fd;border-radius:14px;padding:10px 16px;margin-bottom:16px;flex-wrap:wrap;row-gap:6px}.vb-item{display:flex;align-items:center;gap:5px;padding:3px 12px}.vb-icon{font-size:1rem}.vb-text{font-size:.76rem;font-weight:800;color:#1e1b4b;white-space:nowrap}.vb-sep{width:1px;height:22px;background:#c4b5fd;flex-shrink:0}.dc-tag.outcome-tag{background:#e8f5e9;color:#2e7d32}.streak-hint{text-align:center;font-size:.82rem;font-weight:800;color:#5b21b6;margin-bottom:10px;padding:7px 14px;background:#f5f0ff;border:1.5px solid #c4b5fd;border-radius:10px}@media (max-width: 480px){.vb-sep{display:none}.vb-item{padding:2px 8px}}.personal-section{margin-bottom:18px}.personal-header{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 14px;background:#f5f0ff;border:1.5px dashed var(--border);border-radius:12px;-webkit-user-select:none;user-select:none;transition:border-color .18s}.personal-header:hover{border-color:var(--primary)}.personal-title{font-weight:800;font-size:.88rem;color:var(--text)}.personal-hint{font-size:.78rem;color:var(--text-muted);flex:1}.personal-toggle{font-size:1.2rem;font-weight:700;color:var(--primary);flex-shrink:0}.personal-body{padding-top:4px}.interests-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}.interest-chip{padding:7px 13px;border:2px solid var(--border);border-radius:24px;background:#fafaf8;color:var(--text-muted);font-family:Nunito,sans-serif;font-weight:700;font-size:.84rem;cursor:pointer;transition:all .18s}.interest-chip:hover{border-color:var(--primary);color:var(--primary)}.interest-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.tts-word{cursor:pointer;border-radius:2px;transition:background .1s}.tts-word:hover{background:#7c3aed1f}.tts-word.word-tap-flash{background:#c4b5fd!important;border-radius:3px;animation:wordPop .25s ease}@keyframes wordPop{0%,to{transform:scale(1)}50%{transform:scale(1.18) translateY(-1px)}}.illus-page img{cursor:pointer}@keyframes illusBounce{0%,to{transform:scale(1)}25%{transform:scale(1.04) rotate(1deg)}75%{transform:scale(.97) rotate(-1deg)}}.illus-page img.illus-bounce{animation:illusBounce .5s ease}.premium-header-btn{background:#fbbf2433;border:2px solid rgba(251,191,36,.5);color:#fff;border-radius:20px;padding:7px 12px;font-family:Nunito,sans-serif;font-weight:800;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .18s,transform .12s;flex-shrink:0}.premium-header-btn:hover{background:#fbbf2459;transform:translateY(-1px)}.premium-header-btn.premium-active{background:#fbbf244d;border-color:#fbbf24;color:#fff}.quota-badge{text-align:center;margin-top:10px;font-size:.82rem;min-height:22px}.quota-info{color:var(--text-muted);display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.quota-empty{color:#e65100;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-weight:700}.quota-premium{color:#b8860b;display:inline-flex;align-items:center;gap:6px;font-weight:700}.quota-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--secondary);border:1.5px solid var(--secondary);transition:background .18s}.quota-dot.used{background:#ccc;border-color:#ccc}.quota-upgrade-link{background:none;border:none;padding:0;color:var(--primary);font-weight:800;font-size:.82rem;cursor:pointer;font-family:Nunito,sans-serif;text-decoration:underline;text-underline-offset:2px}.quota-upgrade-link:hover{color:var(--primary-dark)}.cloud-tts-note{font-size:.72rem;font-weight:700;color:var(--secondary);background:#4ecdc41f;padding:2px 8px;border-radius:8px;cursor:default}.char-input-row{display:flex;gap:8px;align-items:center}.char-input-row input{flex:1}.save-char-btn{flex-shrink:0;background:#fff0f0;border:2px solid #FFB3B3;border-radius:10px;padding:8px 10px;font-size:1rem;cursor:pointer;line-height:1;transition:background .15s,transform .12s}.save-char-btn:hover{background:#ffd6d6;transform:scale(1.08)}.saved-chars-row{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.saved-chars-label{font-size:.75rem;font-weight:700;color:var(--text-muted)}.saved-chars-list{display:flex;flex-wrap:wrap;gap:6px}.saved-char-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;background:#fff0f8;border:1.5px solid #FFB3D9;color:var(--text);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s;font-family:Nunito,sans-serif}.saved-char-chip:hover{background:#ffd6ee}.saved-char-del{background:none;border:none;padding:0 2px;color:#999;font-size:.85rem;cursor:pointer;line-height:1;font-family:Nunito,sans-serif}.saved-char-del:hover{color:#e00}.pricing-modal-content{max-width:860px!important;width:95vw!important}.pricing-subtitle{text-align:center;color:var(--text-muted);font-size:.9rem;margin:-8px 0 24px;padding:0 8px}.pricing-plans{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 680px){.pricing-plans{grid-template-columns:1fr}}.plan-card{border:2px solid var(--border);border-radius:18px;padding:24px 16px;position:relative;background:var(--card);display:flex;flex-direction:column;gap:0}.plan-card-current{box-shadow:0 0 0 3px var(--primary)}.plan-card-paid{border-color:#4fc3f7;background:linear-gradient(160deg,#f0f9ff,#e0f4ff);box-shadow:0 6px 28px #4fc3f72e}.plan-card-premium{border-color:gold;background:linear-gradient(160deg,#fffdf0,#fff9e0);box-shadow:0 6px 28px #ffa5002e}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;font-size:.68rem;font-weight:900;letter-spacing:1px;padding:3px 14px;border-radius:20px;white-space:nowrap}.plan-badge-paid{background:linear-gradient(135deg,#0288d1,#4fc3f7)}.plan-name{font-family:Fredoka One,cursive;font-size:1.3rem;color:var(--text);margin-bottom:4px}.plan-price{font-size:1.8rem;font-weight:900;color:var(--primary);margin-bottom:16px;line-height:1}.plan-price span{font-size:.85rem;font-weight:600;color:var(--text-muted)}.plan-features{list-style:none;margin-bottom:20px;flex:1;display:flex;flex-direction:column;gap:7px}.plan-features li{font-size:.82rem;color:var(--text)}.plan-features li.feature-no{color:var(--text-muted);opacity:.65}.plan-btn{width:100%;padding:11px;border-radius:12px;border:none;font-family:Nunito,sans-serif;font-weight:800;font-size:.9rem;cursor:pointer;transition:transform .12s,box-shadow .12s}.plan-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.plan-btn:disabled{opacity:.65;cursor:default}.plan-btn-free{background:var(--border);color:var(--text-muted)}.plan-btn-paid{background:linear-gradient(135deg,#0288d1,#4fc3f7);color:#fff}.plan-btn-premium{background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff}.plan-note{text-align:center;font-size:.72rem;color:var(--text-muted);margin-top:8px}.quota-paid{color:#0277bd;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-weight:700}.pages-gate-note{font-size:.72rem;color:var(--text-muted);font-weight:600;margin-left:6px}@media print{.app-sidebar,.mobile-topbar,.mobile-bottom-nav,.reading-toolbar,.book-nav,.storybook-header,.reading-progress-bar,.page-actions,.regen-illus-btn,.choice-panel,.quiz-section,.end-page,#toast,.modal,.achievement-popup,.streak-badge{display:none!important}body{background:#fff}main{padding:0;margin-left:0!important}#storybook-section,#book-container{display:block!important}.story-spread{display:grid!important;grid-template-columns:1fr 1fr;page-break-after:always;padding:32px;gap:32px;min-height:100vh}.story-text{font-size:1.1rem;line-height:1.85}.illus-page img{width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:12px}.illus-loading{display:none!important}.cover-page{display:grid!important;grid-template-columns:1fr 1fr;page-break-after:always;padding:32px;gap:32px;min-height:100vh;align-items:center}}.mg-panel{margin-top:20px;background:linear-gradient(135deg,#f0fdf9,#e0f7f4);border:2px solid var(--secondary);border-radius:16px;padding:18px 20px}.mg-header{display:flex;align-items:center;gap:7px;margin-bottom:10px}.mg-icon{font-size:1.2rem}.mg-label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--secondary)}.mg-instruction{font-weight:700;font-size:.95rem;color:var(--text);margin-bottom:14px}.mg-words{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.mg-word{padding:8px 16px;border:2px solid var(--border);border-radius:24px;background:#fff;color:var(--text);font-family:Nunito,sans-serif;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .15s}.mg-word:hover{border-color:var(--secondary);background:#e0fff9}.mg-word.mg-selected{background:var(--secondary);border-color:var(--secondary);color:#fff}.mg-word.mg-correct{background:#4caf50;border-color:#4caf50;color:#fff;cursor:default}.mg-word.mg-missed{background:#fff3cd;border-color:#ffc107;color:#7a5c4f;cursor:default}.mg-word.mg-wrong{background:#ffebee;border-color:#ef5350;color:#c62828;cursor:default}.mg-word:disabled{cursor:default}.mg-check-btn{padding:9px 24px;background:var(--secondary);color:#fff;border:none;border-radius:12px;font-family:Nunito,sans-serif;font-weight:800;font-size:.9rem;cursor:pointer;transition:transform .12s,box-shadow .12s}.mg-check-btn:hover{transform:translateY(-2px);box-shadow:0 4px 14px #4ecdc459}.mg-result{margin-top:12px;font-weight:700;font-size:.92rem}.mg-feedback-win{color:#2e7d32}.mg-feedback-ok{color:#e65100}.mg-feedback-try{color:var(--text-muted)}.checkpoint-panel{margin-top:20px;background:linear-gradient(135deg,#fff8e7,#fff3cd);border:2px solid #FFD54F;border-radius:16px;padding:18px 20px}.checkpoint-header{display:flex;align-items:center;gap:7px;margin-bottom:10px}.checkpoint-icon{font-size:1.2rem}.checkpoint-label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#f57f17}.checkpoint-question{font-weight:700;font-size:.95rem;color:var(--text);margin-bottom:12px;line-height:1.45}.checkpoint-options{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.cp-opt-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:#fff;border:2px solid #FFD54F;border-radius:12px;cursor:pointer;font-family:Nunito,sans-serif;font-weight:700;font-size:.88rem;color:var(--text);text-align:left;transition:all .18s}.cp-opt-btn:hover:not(:disabled){border-color:#f57f17;background:#fffde7}.cp-opt-btn:disabled{cursor:default}.cp-opt-letter{width:26px;height:26px;border-radius:50%;background:#ffd54f;color:#5d4037;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex-shrink:0}.cp-opt-btn.cp-correct{border-color:#43a047;background:#e8f5e9}.cp-opt-btn.cp-correct .cp-opt-letter{background:#43a047;color:#fff}.cp-opt-btn.cp-incorrect{border-color:#ef5350;background:#ffebee}.cp-opt-btn.cp-incorrect .cp-opt-letter{background:#ef5350;color:#fff}.checkpoint-feedback{margin-top:10px;font-size:.87rem;font-weight:700;line-height:1.5;animation:fadeSlideIn .3s ease}.cp-win{color:#2e7d32}.cp-hint{color:var(--text-muted)}.checkpoint-end-summary{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;margin:12px 0 4px;background:linear-gradient(135deg,#fff8e7,#fff3cd);border:1.5px solid #FFD54F;border-radius:12px;font-family:Nunito,sans-serif}.cp-end-icon{font-size:1.1rem}.cp-end-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:#f57f17}.cp-end-score{font-family:Fredoka One,cursive;font-size:1.1rem;color:var(--primary)}.cp-end-stars{font-size:.9rem;letter-spacing:2px}.mastery-cta{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;margin-top:18px;border-radius:14px;border:2px solid;animation:fadeSlideIn .35s ease}.mastery-cta-icon{font-size:1.5rem;flex-shrink:0;margin-top:1px}.mastery-cta-body{display:flex;flex-direction:column;gap:3px}.mastery-cta-tag{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}.mastery-cta-reason{font-size:.88rem;font-weight:600;color:var(--text);line-height:1.45}.mastery-quiz{background:#e8f5e9;border-color:#43a047}.mastery-quiz .mastery-cta-tag{color:#2e7d32}.mastery-review{background:#fff8e7;border-color:#ffd54f}.mastery-review .mastery-cta-tag{color:#e65100}.mastery-advance{background:#e3f2fd;border-color:#1e88e5}.mastery-advance .mastery-cta-tag{color:#1565c0}.mastery-new_topic{background:#e0f7f4;border-color:var(--secondary)}.mastery-new_topic .mastery-cta-tag{color:#00796b}.vocab-mode-btn.active{background:#7c3aed;color:#fff}.vocab-tappable{cursor:pointer;border-radius:3px;transition:background .15s}.vocab-tappable:hover{background:#7c3aed1f;outline:1px solid rgba(124,58,237,.3)}.vocab-review-header-btn{background:#ffffff26;border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:20px;padding:7px 12px;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0;transition:all .18s}.vocab-review-header-btn:hover{background:#ffffff47;transform:translateY(-1px)}.branch-ending-teaser{margin:16px 0 4px;text-align:center}.branch-hint{font-size:.88rem;color:var(--text-muted);margin-bottom:10px}.branch-ending-btn{background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;border:none;border-radius:14px;padding:13px 28px;font-family:Nunito,sans-serif;font-weight:800;font-size:1rem;cursor:pointer;box-shadow:0 4px 18px #7c3aed4d;transition:transform .14s,box-shadow .14s}.branch-ending-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed66}.branch-ending-btn:disabled{opacity:.7;cursor:wait;transform:none}.branch-ending-card{margin:20px 0;background:linear-gradient(135deg,#f5f0ff,#ede9fe);border:2px solid #c4b5fd;border-radius:20px;padding:24px 22px;box-shadow:0 6px 28px #7c3aed2e;animation:fadeSlideIn .5s ease}.branch-ending-title{font-family:Fredoka One,cursive;font-size:1.2rem;color:var(--primary);margin-bottom:16px;text-align:center}.branch-ending-spread{display:flex;gap:20px;align-items:flex-start}.branch-ending-text{flex:1;font-size:1rem;line-height:1.75;font-weight:600;color:var(--text)}.branch-ending-img{flex-shrink:0;width:140px;height:140px;object-fit:cover;border-radius:14px;box-shadow:0 4px 14px #0000001f}@media (max-width: 500px){.branch-ending-spread{flex-direction:column}.branch-ending-img{width:100%;height:180px}}.pub-lib-header-btn{background:#ffffff26;border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:20px;padding:7px 12px;font-family:Nunito,sans-serif;font-weight:700;font-size:.82rem;cursor:pointer;white-space:nowrap;transition:background .18s;flex-shrink:0}.pub-lib-header-btn:hover{background:#ffffff47}.library-open-btn{margin-left:0}.pub-library-modal-content{max-width:820px;width:min(820px,96vw);max-height:90vh}.pub-lib-daily-badge{font-size:.68rem;font-weight:700;background:#e8fdf3;border:1.5px solid #a3dfc0;color:#1a6e45;padding:3px 9px;border-radius:20px;margin-left:6px;white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none}.pub-library-sections{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 18px 8px}.pub-lib-section{margin-bottom:20px}.pub-lib-section-hdr{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.pub-lib-section-title{font-family:Fredoka One,cursive;font-size:1rem;color:var(--text)}.pub-lib-section-date{font-size:.72rem;font-weight:700;color:var(--text-muted)}.pub-grid-today{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pub-lib-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.pub-lib-refresh-section .pub-lib-section-hdr{align-items:center}.pub-lib-refresh-btn{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;background:#fff8e1;border:1.5px solid #f5c842;color:#7a5c00;padding:4px 12px;border-radius:20px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.pub-lib-refresh-btn:hover:not(:disabled){background:#ffeea0;border-color:#e0a800}.pub-lib-refresh-btn--used,.pub-lib-refresh-btn:disabled{background:#f3f3f3;border-color:#ccc;color:#999;cursor:default}.pub-lib-refresh-count{background:#f5c842;color:#5a4000;border-radius:10px;padding:1px 7px;font-size:.68rem}.pub-lib-refresh-locked{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;background:var(--card-bg, #fafafa);border:1.5px dashed var(--border);border-radius:12px;text-align:center}.pub-lib-refresh-lock-icon{font-size:1.6rem}.pub-lib-refresh-locked p{margin:0;font-size:.88rem;color:var(--text)}.pub-lib-refresh-lock-sub{color:var(--text-muted)!important;font-size:.78rem!important}.pub-lib-refresh-upgrade-btn{margin-top:6px;background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;border:none;border-radius:20px;padding:6px 18px;font-size:.82rem;font-weight:700;cursor:pointer;transition:opacity .15s}.pub-lib-refresh-upgrade-btn:hover{opacity:.88}.pub-lib-footer{text-align:center;font-size:.76rem;color:var(--text-muted);padding:12px 0 16px;border-top:1px solid var(--border);margin-top:4px}.pub-book-card{position:relative;border-radius:14px;aspect-ratio:3 / 4;background:linear-gradient(135deg,#ffe5cc,#ffd0a8);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;box-shadow:0 6px 20px #0000002e,0 2px 6px #0000001f,inset 0 1px #ffffff38;border:1.5px solid rgba(255,255,255,.14)}.pub-book-card:hover{transform:translateY(-5px);border-color:#ffc8467a;box-shadow:0 16px 40px #00000042,0 5px 14px #00000029,0 0 0 1px #ffc8462e,inset 0 1px #ffffff47}.pub-book-card>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:14px}.pub-cover-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:#00000040;border-radius:14px}.pub-book-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.6) 52%,transparent 100%);padding:40px 11px 11px;display:flex;flex-direction:column;gap:4px;border-radius:0 0 14px 14px}.pub-book-title{font-family:Fredoka One,cursive;font-size:1rem;color:#fff;line-height:1.22;text-shadow:0 1px 6px rgba(0,0,0,.55)}.pub-book-tags{display:flex;flex-wrap:wrap;gap:3px}.pub-tag{font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:10px;background:#ffffff24;border:1px solid rgba(255,255,255,.25);color:#ffffffe6;white-space:nowrap}.pub-tag-lang{background:#1464b480;border-color:#8cc8ff66}.pub-tag-quiz{background:#a0640080;border-color:#ffc83c66}.pub-tag-choice{background:#0a6e3780;border-color:#50d28266}.pub-tag-mg{background:#6414a080;border-color:#be78f066}.pub-book-meta{font-size:.68rem;color:#fff9;letter-spacing:.01em}.my-lib-header-left{display:flex;align-items:center;gap:10px}.my-lib-count-badge{font-size:.72rem;font-weight:800;background:var(--primary);color:#fff;border-radius:20px;padding:3px 11px;white-space:nowrap}.my-lib-count-badge--full{background:#f57c00}.my-lib-toolbar{display:flex;gap:8px;padding:10px 18px;align-items:center;border-bottom:1px solid var(--border);flex-wrap:wrap}.my-lib-search-wrap{flex:1;min-width:140px;position:relative;display:flex;align-items:center}.my-lib-search-icon{position:absolute;left:10px;font-size:1.1rem;color:var(--text-muted);pointer-events:none;line-height:1}.my-lib-search-input{width:100%;box-sizing:border-box;padding:6px 28px 6px 30px;border:1.5px solid var(--border);border-radius:8px;font-size:.82rem;font-family:Nunito,sans-serif;font-weight:700;background:var(--card);color:var(--text);outline:none;transition:border-color .15s;-webkit-appearance:none}.my-lib-search-input:focus{border-color:var(--primary)}.my-lib-search-input::-webkit-search-cancel-button{display:none}.my-lib-search-clear{position:absolute;right:8px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-weight:700;padding:2px 3px;line-height:1;border-radius:4px;transition:color .12s,background .12s}.my-lib-search-clear:hover{color:var(--text);background:var(--border)}.my-lib-card-actions{position:absolute;top:7px;right:7px;display:flex;gap:4px;opacity:0;transition:opacity .18s;z-index:3}.pub-book-card:hover .my-lib-card-actions,.my-lib-card-actions--pinned{opacity:1}.my-lib-action-btn{width:26px;height:26px;border-radius:6px;border:none;font-size:.82rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .14s,color .14s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.my-lib-pin-btn{background:#ffffffd1;color:#9ca3af;font-size:.9rem}.my-lib-pin-btn:hover,.my-lib-pin-btn--active{background:#fef3c7;color:#d97706}.my-lib-del-btn{background:#ffffffd1;color:#9ca3af;font-size:.72rem;font-weight:800}.my-lib-del-btn:hover{background:#fee2e2;color:#dc2626}.pub-book-card--pinned{border-color:#f59e0bb3;box-shadow:0 6px 20px #0000002e,0 2px 6px #0000001f,0 0 0 1px #f59e0b40,inset 0 1px #ffffff38}@media (hover: none){.my-lib-card-actions{opacity:1}}@media (max-width: 600px){.pub-library-modal-content{max-height:92vh}.pub-library-sections{padding:12px 12px 6px}.pub-grid-today{grid-template-columns:repeat(3,1fr);gap:8px}.pub-lib-section-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.pub-book-overlay{padding:36px 9px 10px;gap:4px}.pub-book-title{font-size:.82rem}.pub-lib-header-btn{padding:9px 11px}.my-lib-toolbar{padding:8px 12px;gap:6px}.my-lib-search-wrap{flex:1 0 100%}}.dev-report{margin:24px 0 8px;background:linear-gradient(135deg,#f0fff4,#e6f9f1);border:2px solid #A8D5BA;border-radius:18px;padding:18px 20px;animation:fadeSlideIn .4s ease}.dr-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.dr-icon{font-size:1.3rem}.dr-title{font-family:Fredoka One,cursive;font-size:1.1rem;color:#1b5e20}.dr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:14px}.dr-item{display:flex;align-items:flex-start;gap:8px;background:#ffffffa6;border-radius:10px;padding:10px 12px}.dr-item-icon{font-size:1.25rem;flex-shrink:0;line-height:1;margin-top:1px}.dr-item-value{font-weight:800;font-size:.92rem;color:var(--text);line-height:1.2}.dr-item-label{font-size:.72rem;color:var(--text-muted);font-weight:600;margin-top:2px}.dr-message{font-size:.85rem;font-weight:700;color:#2e7d32;margin-bottom:12px;line-height:1.5;padding:8px 12px;background:#ffffff80;border-radius:8px}.dr-progress-btn{background:none;border:2px solid #4CAF50;color:#2e7d32;font-family:Nunito,sans-serif;font-weight:800;font-size:.85rem;padding:8px 18px;border-radius:10px;cursor:pointer;transition:background .15s,transform .12s}.dr-progress-btn:hover{background:#e8f5e9;transform:translateY(-1px)}.growth-section{padding-bottom:48px}.growth-hero{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#7c3aed,#8b5cf6);border-radius:20px;padding:20px 24px;margin-bottom:20px;color:#fff}.gh-avatar{width:54px;height:54px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:900;flex-shrink:0;font-family:Fredoka One,cursive}.gh-info{flex:1;min-width:0}.gh-name{font-family:Fredoka One,cursive;font-size:1.2rem;line-height:1.2}.gh-level{font-size:.78rem;font-weight:700;opacity:.85;margin-top:3px}.gh-streak{text-align:center;flex-shrink:0}.gh-streak-num{font-family:Fredoka One,cursive;font-size:2.2rem;line-height:1}.gh-streak-lbl{font-size:.72rem;font-weight:700;opacity:.85;white-space:nowrap}.habit-strip{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:16px 20px;margin-bottom:16px}.hs-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:12px}.hs-dots{display:flex;gap:8px;margin-bottom:8px}.hs-dot{flex:1;height:36px;border-radius:8px;background:var(--border);display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;transition:background .2s}.hs-dot-filled{background:var(--primary)}.hs-dot-day{font-size:.65rem;font-weight:800;color:#fffc}.hs-dot:not(.hs-dot-filled) .hs-dot-day{color:var(--text-muted)}.hs-best{font-size:.75rem;color:var(--text-muted);font-weight:600;text-align:right}.growth-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.gs-card{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:16px 12px;text-align:center}.gs-icon{font-size:1.4rem;margin-bottom:6px}.gs-num{font-family:Fredoka One,cursive;font-size:1.6rem;color:var(--primary);line-height:1}.gs-lbl{font-size:.7rem;font-weight:700;color:var(--text-muted);margin-top:4px;line-height:1.3}.pillars-section{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:16px}.ps-title{font-family:Fredoka One,cursive;font-size:1rem;color:var(--text);margin-bottom:16px}.pillar-row{margin-bottom:16px}.pillar-row:last-child{margin-bottom:0}.pr-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.pr-icon{font-size:1rem}.pr-name{font-weight:800;font-size:.88rem;color:var(--text);flex:1}.pr-pct{font-size:.78rem;font-weight:800;color:var(--text-muted)}.pr-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:4px}.pr-fill{height:100%;border-radius:4px;transition:width .6s ease}.pr-hint{font-size:.72rem;color:var(--text-muted);font-weight:600}.lang-section{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:16px}.ls-title{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:10px}.ls-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ls-badge{padding:5px 14px;border-radius:20px;font-size:.8rem;font-weight:800}.lb-en{background:#e3f2fd;color:#1565c0}.lb-zh{background:#fce4ec;color:#c62828}.lb-my{background:#e8f5e9;color:#2e7d32}.ls-hint{font-size:.75rem;color:var(--text-muted);font-style:italic}.achievements-section{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:16px}.as-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.as-title{font-family:Fredoka One,cursive;font-size:1rem;color:var(--text)}.as-count{font-size:.78rem;font-weight:700;color:var(--text-muted)}.as-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.as-chip{background:#f5f0ff;border:1.5px solid var(--border);border-radius:12px;padding:10px 8px;text-align:center;opacity:.55;transition:opacity .15s}.as-chip-earned{opacity:1;background:#ede9fe;border-color:#7c3aed}.as-chip-icon{font-size:1.3rem;margin-bottom:4px}.as-chip-name{font-weight:800;font-size:.72rem;color:var(--text);margin-bottom:2px}.as-chip-desc{font-size:.65rem;color:var(--text-muted);line-height:1.3}.next-milestone{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#f5f0ff,#ede9fe);border:2px solid #c4b5fd;border-radius:14px;padding:16px 20px;margin-bottom:20px;animation:fadeSlideIn .35s ease}.nm-icon{font-size:2rem;flex-shrink:0}.nm-body{flex:1}.nm-lbl{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#7c3aed;margin-bottom:3px}.nm-name{font-family:Fredoka One,cursive;font-size:1rem;color:var(--text)}.nm-progress{font-size:.8rem;font-weight:700;color:var(--text-muted);margin-top:2px}.growth-cta{width:100%;padding:16px;background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;border:none;border-radius:16px;font-family:Nunito,sans-serif;font-weight:900;font-size:1.1rem;cursor:pointer;transition:transform .14s,box-shadow .14s;box-shadow:0 4px 18px #7c3aed59}.growth-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px #7c3aed80}.growth-header-btn{background:#ffffff26;border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:20px;padding:7px 12px;font-family:Nunito,sans-serif;font-weight:800;font-size:.82rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .18s,transform .12s;display:flex;align-items:center;gap:5px}.growth-header-btn:hover{background:#ffffff47;transform:translateY(-1px)}@media (max-width: 600px){.growth-stats{grid-template-columns:repeat(2,1fr)}.gh-streak-num{font-size:1.8rem}.as-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.dr-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 380px){.growth-stats{grid-template-columns:repeat(2,1fr);gap:8px}.dr-grid{grid-template-columns:1fr 1fr}}.child-tab-strip{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.ctab{display:flex;align-items:center;gap:7px;padding:7px 14px 7px 8px;border:1.5px solid var(--border);border-radius:20px;background:var(--card);color:var(--text-muted);font-size:.84rem;font-weight:700;cursor:pointer;transition:border-color .18s,color .18s,background .18s}.ctab:hover{border-color:var(--primary);color:var(--primary)}.ctab-active{border-color:var(--primary);background:#f5f0ff;color:var(--primary)}.ctab-avatar{width:26px;height:26px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:800;color:#fff;flex-shrink:0}.ctab-add{border-style:dashed;color:var(--text-muted)}.ctab-add:hover{border-color:var(--secondary);color:var(--secondary)}.plan-outcome{font-size:.8rem;color:var(--text-muted);font-style:italic;margin-bottom:14px;min-height:1.1em}.ec-panel{margin-top:20px;background:linear-gradient(135deg,#f3e5f5,#ede7f6);border:2px solid #CE93D8;border-radius:16px;padding:18px 20px}.ec-header{display:flex;align-items:center;gap:7px;margin-bottom:10px}.ec-icon{font-size:1.2rem}.ec-label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:#7b1fa2}.ec-question{font-weight:700;font-size:.95rem;color:var(--text);margin-bottom:14px;line-height:1.45}.ec-options{display:flex;gap:10px;flex-wrap:wrap}.ec-opt{flex:1;min-width:76px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#fff;border:2px solid #CE93D8;border-radius:14px;cursor:pointer;font-family:Nunito,sans-serif;transition:border-color .18s,background .18s,transform .18s,opacity .18s}.ec-opt:hover:not(:disabled){border-color:#7b1fa2;background:#f8f0ff;transform:translateY(-2px)}.ec-opt:disabled{cursor:default}.ec-emoji{font-size:2rem;line-height:1}.ec-word{font-size:.78rem;font-weight:800;color:var(--text)}.ec-opt.ec-correct{border-color:#43a047;background:#e8f5e9;animation:ecBounce .4s ease}.ec-opt.ec-wrong{border-color:#ef5350;background:#ffebee}.ec-opt.ec-unchosen{opacity:.45}.ec-explanation{display:flex;align-items:flex-start;gap:6px;margin-top:12px;font-size:.87rem;font-weight:700;line-height:1.5;color:var(--text-muted);animation:fadeSlideIn .3s ease}.ec-exp-icon{font-size:1rem;flex-shrink:0}@keyframes ecBounce{0%{transform:scale(1)}40%{transform:scale(1.12)}70%{transform:scale(.96)}to{transform:scale(1)}}.rc-section{background:linear-gradient(135deg,#fef3c7,#fffbeb);border:2px solid #fbbf24;border-radius:16px;padding:18px 20px;margin:16px 0;text-align:center}.rc-question{font-size:.95rem;font-weight:700;color:#92400e;margin-bottom:14px;line-height:1.4}.rc-buttons{display:flex;gap:10px;justify-content:center}.rc-btn{flex:1;max-width:140px;padding:10px 16px;border:none;border-radius:12px;font-size:.92rem;font-weight:800;cursor:pointer;transition:opacity .15s,transform .15s}.rc-btn:hover{opacity:.88;transform:translateY(-1px)}.rc-yes{background:#22c55e;color:#fff}.rc-no{background:#e5e7eb;color:#555}.rc-done{display:flex;align-items:center;gap:8px;justify-content:center;padding:12px;margin:12px 0;background:#f0fdf4;border-radius:12px;font-size:.9rem;font-weight:700;color:#16a34a}.rc-done-icon{font-size:1.3rem}.spcard-realworld{font-size:.72rem;font-weight:700;color:#15803d;margin-top:4px;background:#f0fdf4;border-radius:8px;padding:2px 8px;display:inline-block}.spcard-health{display:flex;align-items:center;gap:8px;margin-top:6px}.spcard-health-track{flex:1;height:6px;background:#f0ece8;border-radius:3px;overflow:hidden}.spcard-health-fill{height:100%;border-radius:3px;transition:width .4s}.health-green{background:#22c55e}.health-yellow{background:#f59e0b}.health-red{background:#ef4444}.spcard-health-label{font-size:.7rem;color:#9e9e9e;white-space:nowrap}.spcard-accuracy{font-size:.72rem;color:#7c3aed;margin-top:4px}.learning-health-badge{display:flex;align-items:center;gap:12px;background:#fafaf9;border:1px solid #e8e2dc;border-radius:12px;padding:10px 16px;margin:0 0 16px}.lhb-icon{font-size:1.5rem}.lhb-body{display:flex;flex-direction:column;gap:2px}.lhb-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9e9e9e}.lhb-status{font-size:.9rem;font-weight:700;color:#4a4a4a}.skill-suggestion-label{font-size:.78rem;color:#7c3aed;background:#f5f0ff;border-radius:8px;padding:4px 10px;margin-bottom:8px;display:inline-block}.scene-context{font-style:italic;font-size:.75rem;color:#9085b8;margin-bottom:6px;letter-spacing:.02em}.lp-hero{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;border-radius:20px;padding:20px 24px;margin-bottom:20px}.lp-hero-avatar{width:56px;height:56px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:#fff;flex-shrink:0;border:3px solid rgba(255,255,255,.4)}.lp-hero-body{flex:1;min-width:0}.lp-hero-name{font-size:1.1rem;font-weight:800}.lp-hero-sub{font-size:.8rem;opacity:.85}.lp-hero-badge{background:#ffffff2e;border:1px solid rgba(255,255,255,.35);border-radius:20px;padding:4px 14px;font-size:.8rem;font-weight:700;white-space:nowrap}.lp-hero-stats{display:flex;gap:16px;margin-top:8px}.lp-hero-stat{display:flex;flex-direction:column;align-items:center}.lp-hero-stat-n{font-size:1.2rem;font-weight:800;line-height:1}.lp-hero-stat-l{font-size:.68rem;opacity:.75}.sp-steps{display:flex;align-items:center;gap:6px;padding:12px 0 8px;overflow-x:auto;scrollbar-width:none}.sp-steps::-webkit-scrollbar{display:none}.sp-step{display:flex;align-items:center;gap:6px;flex-shrink:0}.sp-step-dot{width:28px;height:28px;border-radius:50%;border:2px solid #ede9fe;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#9085b8;transition:all .2s}.sp-step-dot.active{background:#7c3aed;border-color:#7c3aed;color:#fff}.sp-step-dot.done{background:#10b981;border-color:#10b981;color:#fff}.sp-step-line{width:20px;height:2px;background:#ede9fe;border-radius:1px}.sp-step-line.done{background:#10b981}.choice-btn-inner{display:flex;align-items:center;gap:10px}.choice-letter-badge{width:28px;height:28px;border-radius:50%;background:#ede9fe;color:#7c3aed;font-size:.78rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.choice-btn.chosen .choice-letter-badge{background:#7c3aed;color:#fff}.progress-path{display:flex;flex-direction:column;gap:0;margin:16px 0;position:relative;padding-left:28px}.progress-path:before{content:"";position:absolute;left:11px;top:12px;bottom:12px;width:2px;background:linear-gradient(#7c3aed,#ede9fe);border-radius:1px}.pp-node{display:flex;align-items:center;gap:12px;padding:8px 0;position:relative}.pp-dot{width:22px;height:22px;border-radius:50%;background:#ede9fe;border:2px solid #c4b5fd;display:flex;align-items:center;justify-content:center;font-size:.65rem;z-index:1;flex-shrink:0;margin-left:-28px}.pp-dot.active{background:#7c3aed;border-color:#7c3aed;color:#fff;font-weight:700}.pp-dot.done{background:#10b981;border-color:#10b981;color:#fff}.pp-label{font-size:.82rem;font-weight:600;color:#1e1b4b}.pp-sub{font-size:.72rem;color:#6b7280}.sc-card{background:#fff;border:1.5px solid #e8e1f8;border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .18s,box-shadow .18s}.sc-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #7c3aed26}.sc-card-img{height:90px;background:linear-gradient(135deg,#ede9fe,#c4b5fd);display:flex;align-items:center;justify-content:center;font-size:2rem}.sc-card-body{padding:10px 12px}.sc-card-title{font-size:.82rem;font-weight:700;color:#1e1b4b;margin-bottom:4px}.sc-card-meta{display:flex;gap:6px;flex-wrap:wrap}.sc-cat-badge{font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:10px}.sc-cat-badge.cat-self-care{background:#fce7f3;color:#be185d}.sc-cat-badge.cat-emotions{background:#fef3c7;color:#92400e}.sc-cat-badge.cat-social{background:#dcfce7;color:#15803d}.dash-section-header{margin-bottom:20px}.dash-section-label{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);margin-bottom:3px}.dash-section-sub{font-size:.8rem;color:var(--text-muted)}.lp-grid{display:grid;grid-template-columns:196px 1fr 294px;gap:16px;align-items:start;margin-bottom:20px}.lp-domain-panel{background:var(--card);border-radius:16px;border:1px solid var(--border);padding:10px 8px;display:flex;flex-direction:column;gap:3px}.lp-domain-panel-title{font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:4px 8px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.lp-domain-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:all .15s;font-family:Nunito,sans-serif}.lp-domain-item:hover{background:var(--bg)}.lp-domain-item.lp-domain-active{background:#7c3aed1a}.lp-domain-emoji{font-size:1.15rem;flex-shrink:0}.lp-domain-name{font-size:.82rem;font-weight:700;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-domain-item.lp-domain-active .lp-domain-name{color:var(--primary)}.lp-domain-item:hover .lp-domain-name{color:var(--text)}.lp-domain-count{margin-left:auto;font-size:.65rem;font-weight:800;color:var(--text-muted);background:var(--bg);padding:2px 7px;border-radius:10px;flex-shrink:0}.lp-domain-item.lp-domain-active .lp-domain-count{background:#7c3aed26;color:var(--primary)}.lp-skills-panel{background:var(--card);border-radius:16px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.lp-skills-panel-header{padding:14px 18px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.lp-skills-panel-title{font-family:Fredoka One,cursive;font-size:1.05rem;color:var(--text)}.lp-skills-count{font-size:.72rem;font-weight:700;color:var(--text-muted);background:var(--bg);padding:3px 10px;border-radius:20px}.lp-skills-list{padding:8px;display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto;min-height:340px;max-height:480px}.lp-skill-row{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;cursor:pointer;border:1.5px solid transparent;background:none;width:100%;text-align:left;font-family:Nunito,sans-serif;transition:all .15s}.lp-skill-row:hover{background:var(--bg);border-color:var(--border)}.lp-skill-row.active{background:#7c3aed0f;border-color:#7c3aed47}.lp-skill-row-icon{font-size:1.35rem;flex-shrink:0}.lp-skill-row-body{flex:1;min-width:0}.lp-skill-row-name{font-size:.86rem;font-weight:700;color:var(--text);display:block;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-skill-row-desc{font-size:.7rem;color:var(--text-muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-skill-row-meta{display:flex;align-items:center;gap:5px;margin-top:4px}.lp-skill-row-dot{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0}.lp-skill-row-dot.filled{background:var(--primary)}.lp-skill-row-lvl{font-size:.65rem;font-weight:800;color:var(--primary);margin-left:2px}.lp-skill-row-play{flex-shrink:0;padding:6px 13px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-family:Nunito,sans-serif;font-size:.74rem;font-weight:800;cursor:pointer;transition:opacity .15s;white-space:nowrap}.lp-skill-row-play:hover{opacity:.85}.lp-skills-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-muted);font-size:.88rem;text-align:center;gap:8px}.lp-skills-empty-icon{font-size:2rem}.lp-detail-panel{background:var(--card);border-radius:16px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.lp-detail-thumb{width:100%;height:150px;background:linear-gradient(135deg,#8b5cf6,#c4b5fd);display:flex;align-items:center;justify-content:center;font-size:4rem;flex-shrink:0;position:relative;overflow:hidden}.lp-detail-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.lp-detail-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.lp-detail-name{font-family:Fredoka One,cursive;font-size:1.05rem;color:var(--text);line-height:1.25}.lp-detail-cat{font-size:.7rem;font-weight:700;color:var(--text-muted);margin-top:2px}.lp-level-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;padding:4px 12px;border-radius:20px;font-weight:800;font-size:.8rem;align-self:flex-start}.lp-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lp-stat-tile{background:var(--bg);border-radius:10px;padding:8px 10px;text-align:center}.lp-stat-val{font-family:Fredoka One,cursive;font-size:1.1rem;color:var(--primary);line-height:1;margin-bottom:3px;display:block}.lp-stat-lbl{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);display:block}.lp-detail-progress-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:5px;display:flex;justify-content:space-between;align-items:center}.lp-detail-progress-pct{color:var(--primary);font-size:.78rem}.lp-detail-pbar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.lp-detail-pbar-fill{height:100%;background:linear-gradient(90deg,var(--primary),#8b5cf6);border-radius:4px;transition:width .4s ease}.lp-detail-steps-title{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:6px}.lp-detail-steps{display:flex;flex-direction:column;gap:5px}.lp-detail-step{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:var(--text-muted)}.lp-detail-step.done{color:var(--text)}.lp-step-check{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.62rem}.lp-detail-step.done .lp-step-check{border-color:var(--secondary);background:var(--secondary);color:#fff}.lp-program-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f5f0ff;border:1.5px solid #ddd6fe;border-radius:10px;padding:8px 12px}.lp-program-label{font-size:.72rem;font-weight:800;color:#7c3aed;letter-spacing:.2px}.lp-program-urgency{font-size:.68rem;font-weight:800;color:#d97706;background:#fef3c7;border:1px solid #fde68a;border-radius:20px;padding:2px 9px;white-space:nowrap}.lp-program-done{font-size:.68rem;font-weight:800;color:#059669;background:#d1fae5;border-radius:20px;padding:2px 9px}.lp-detail-actions{display:flex;flex-direction:column;gap:8px}.lp-btn-play{width:100%;padding:11px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-family:Nunito,sans-serif;font-weight:800;font-size:.88rem;cursor:pointer;transition:opacity .15s,transform .15s;display:flex;align-items:center;justify-content:center;gap:6px}.lp-btn-play:hover{opacity:.88;transform:translateY(-1px)}.lp-btn-scenario{width:100%;padding:10px;background:none;border:1.5px solid #7c3aed;border-radius:10px;font-family:Nunito,sans-serif;font-weight:800;font-size:.85rem;color:#7c3aed;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.lp-btn-scenario:hover{background:#f5f0ff;transform:translateY(-1px)}.lp-btn-review{width:100%;padding:9px;background:none;border:1.5px solid var(--border);border-radius:10px;font-family:Nunito,sans-serif;font-weight:700;font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.lp-btn-review:hover{border-color:var(--primary);color:var(--primary)}.lp-detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-muted);text-align:center;gap:10px;min-height:300px}.lp-detail-empty-icon{font-size:3rem}.lp-detail-empty-text{font-size:.85rem;font-weight:600;line-height:1.5}.lp-config-panel{background:var(--card);border-radius:16px;border:1px solid var(--border);overflow:hidden}.lp-config-header{display:flex;align-items:center;gap:10px;padding:14px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border);transition:background .15s}.lp-config-header:hover{background:var(--bg)}.lp-config-title{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);flex:1}.lp-config-toggle{color:var(--primary);font-size:1.1rem;font-weight:700}.lp-config-body{padding:20px 24px 24px}.sp-chain{display:flex;align-items:center;gap:0;overflow-x:auto;padding:12px 4px 10px;margin-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--primary) var(--border)}.sp-chain::-webkit-scrollbar{height:3px}.sp-chain::-webkit-scrollbar-track{background:var(--border)}.sp-chain::-webkit-scrollbar-thumb{background:var(--primary);border-radius:2px}.sp-chain-node{flex-shrink:0;display:flex;flex-direction:column;align-items:center;cursor:pointer;position:relative;padding:0 2px}.sp-chain-badge{width:34px;height:34px;border-radius:50%;border:2px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:var(--text-muted);transition:all .2s;z-index:1;position:relative}.sp-chain-node.active .sp-chain-badge{background:var(--primary);border-color:var(--primary);color:#fff}.sp-chain-node.done .sp-chain-badge{background:var(--secondary);border-color:var(--secondary);color:#fff}.sp-chain-label{font-size:.58rem;font-weight:700;color:var(--text-muted);margin-top:3px;white-space:nowrap}.sp-chain-node.active .sp-chain-label{color:var(--primary)}.sp-chain-node.done .sp-chain-label{color:var(--secondary)}.sp-chain-line{flex-shrink:0;width:24px;height:2px;background:var(--border);align-self:center;margin-bottom:16px}.sp-chain-line.done{background:var(--secondary)}@media (max-width: 1100px){.lp-grid{grid-template-columns:170px 1fr 260px}}@media (max-width: 880px){.lp-grid{grid-template-columns:1fr 1fr}.lp-detail-panel{display:none}.lp-detail-panel.mobile-active{display:flex;flex-direction:column;position:fixed;bottom:60px;left:0;right:0;max-height:78vh;overflow-y:auto;z-index:300;border-radius:20px 20px 0 0;border:1.5px solid var(--border);border-bottom:none;box-shadow:0 -8px 40px #0000002e;animation:lp-sheet-in .22s ease}@keyframes lp-sheet-in{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.lp-mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;z-index:299}.lp-detail-mobile-handle{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 6px;flex-shrink:0}.lp-detail-handle-bar{width:36px;height:4px;background:var(--border);border-radius:2px}.lp-detail-mobile-close{width:28px;height:28px;border:none;border-radius:50%;background:var(--bg);color:var(--text-muted);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.lp-detail-mobile-close:hover{background:var(--border)}}.lp-mobile-backdrop,.lp-detail-mobile-handle,.lp-detail-mobile-close{display:none}@media (max-width: 600px){.lp-grid{grid-template-columns:1fr}.lp-domain-panel{flex-direction:row;flex-wrap:wrap;padding:8px}.lp-domain-panel-title{width:100%}.lp-domain-item{width:auto;flex:0 0 auto}}.wj-header{margin-bottom:20px}.wj-header-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:4px}.wj-badge{font-family:Kalam,Fredoka One,cursive;font-size:.7rem;font-weight:700;color:#1f1b18;background:#ffe066;border:2px solid #1f1b18;border-radius:6px 6px 0 0;padding:4px 10px;box-shadow:2px 2px #1f1b18;white-space:nowrap;letter-spacing:.04em}.wj-title{margin-bottom:10px}.wj-child-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:2px}.wj-ctab{display:flex;align-items:center;gap:5px;padding:4px 12px;border:2px solid #1f1b18;border-radius:20px;background:#fff;font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;color:var(--text);cursor:pointer;box-shadow:2px 2px #1f1b18;transition:transform .08s}.wj-ctab:active{transform:translate(1px,1px);box-shadow:1px 1px #1f1b18}.wj-ctab.active{background:#ffe066}.wj-ctab-dot{font-size:.7rem}.wj-story-card{background:#fff;border:2px solid #1f1b18;border-radius:14px;padding:18px 20px;margin-bottom:16px;box-shadow:3px 3px #1f1b18}.wj-story-badge{display:inline-block;background:#ffe066;border:1.5px solid #1f1b18;border-radius:20px;padding:3px 12px;font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:12px}.wj-narrative{font-family:Patrick Hand,Nunito,sans-serif;font-size:1.05rem;line-height:1.65;color:var(--text);margin:0 0 14px}.wj-sw{display:inline-block;padding:1px 8px;border-radius:6px;font-weight:700}.wj-sw-blue{background:#b8e0ff}.wj-sw-green{background:#b8f0c8}.wj-sw-yellow{background:#ffe066}.wj-sw-pink{background:#ffd6e0}.wj-story-actions{display:flex;gap:10px;flex-wrap:wrap}.wj-btn-primary{padding:9px 18px;background:#ffe066;border:2px solid #1f1b18;border-radius:10px;font-family:Patrick Hand,Nunito,sans-serif;font-size:.9rem;font-weight:700;color:#1f1b18;cursor:pointer;box-shadow:3px 3px #1f1b18;transition:transform .08s}.wj-btn-primary:active{transform:translate(2px,2px);box-shadow:1px 1px #1f1b18}.wj-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:16px}@media (max-width: 700px){.wj-grid{grid-template-columns:1fr}}.wj-card{border:2px solid #1f1b18;border-radius:12px;padding:14px 16px;box-shadow:3px 3px #1f1b18}.wj-card-plain{background:#fff}.wj-card-green{background:#c4efc4}.wj-card-pink{background:#ffd6d6}.wj-card-label{font-family:Patrick Hand,Nunito,sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px}.wj-card-heading{font-family:Kalam,Fredoka One,cursive;font-size:1rem;font-weight:700;color:var(--text);margin-bottom:10px}.wj-card-empty{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;color:var(--text-muted);font-style:italic}.wj-habit-strip{display:flex;gap:4px;margin-bottom:10px}.wj-habit-col{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1}.wj-habit-dot{width:24px;height:24px;border:2px solid #1f1b18;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:#16a34a}.wj-habit-dot.filled{background:#86efac}.wj-habit-dot.future{background:#f0ece8;border-style:dashed}.wj-habit-lbl{font-size:.56rem;font-weight:700;color:var(--text-muted)}.wj-story-chips{display:flex;flex-wrap:wrap;gap:5px}.wj-chip{padding:3px 10px;border:1.5px solid #1f1b18;border-radius:20px;background:#fff;font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;font-weight:700;color:var(--text);white-space:nowrap}.wj-chip-more{background:#f0ece8}.wj-chip-hint{font-size:.72rem;color:var(--text-muted);font-style:italic}.wj-skill-list{display:flex;flex-direction:column;gap:10px}.wj-skill-row{display:flex;flex-direction:column;gap:3px}.wj-skill-top{display:flex;align-items:center;justify-content:space-between}.wj-skill-name{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;color:var(--text)}.wj-skill-gain{font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;font-weight:700;color:#15803d;white-space:nowrap}.wj-skill-age{font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;color:var(--text-muted);white-space:nowrap}.wj-skill-bar{height:6px;background:#1f1b181f;border-radius:3px;overflow:hidden}.wj-skill-fill{height:100%;background:#16a34a;border-radius:3px;transition:width .3s}.wj-fill-red{background:#ef4444}.wj-revisit-btn{margin-top:12px;width:100%;padding:8px 0;background:#fff;border:2px solid #1f1b18;border-radius:8px;font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;color:var(--text);cursor:pointer;box-shadow:2px 2px #1f1b18;transition:transform .08s;text-align:center}.wj-revisit-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #1f1b18}.wj-moments-section{margin-bottom:16px}.wj-moments-header{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.wj-moments-title{font-family:Kalam,Fredoka One,cursive;font-size:1.1rem;font-weight:700;color:var(--text)}.wj-moments-sub{font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;color:var(--text-muted);font-style:italic}.wj-moments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 600px){.wj-moments-grid{grid-template-columns:1fr}}.wj-moment-card{border:2px solid #1f1b18;border-radius:12px;padding:14px 16px;box-shadow:3px 3px #1f1b18}.wj-mc-0{background:#ffe066}.wj-mc-1{background:#b8e0ff}.wj-mc-2{background:#d6c5ff}.wj-moment-quote{font-family:Patrick Hand,Nunito,sans-serif;font-size:.9rem;font-weight:700;color:var(--text);line-height:1.4;margin-bottom:8px}.wj-moment-meta{font-family:Patrick Hand,Nunito,sans-serif;font-size:.7rem;color:var(--text-muted)}.wj-langs-section{border:2px solid #1f1b18;border-radius:12px;padding:14px 16px;background:#fff;box-shadow:3px 3px #1f1b18;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.wj-langs-label{font-family:Patrick Hand,Nunito,sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;flex-shrink:0}.wj-langs-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}.wj-lang-pill{padding:4px 12px;border:1.5px solid #1f1b18;border-radius:20px;font-family:Patrick Hand,Nunito,sans-serif;font-size:.78rem;font-weight:700;color:var(--text);background:#f0ece8}.wj-lang-pill.wj-lang-active{background:#ffe066}.wj-lang-cta{margin-left:auto;padding:6px 14px;background:#1f1b18;border:2px solid #1f1b18;border-radius:8px;font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;color:#fff;cursor:pointer;transition:opacity .1s}.wj-lang-cta:hover{opacity:.85}.sc-cat-badge.cat-values{background:#e0f2fe;color:#0369a1}.gv-header{margin-bottom:16px}.gv-header-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2px}.gv-badge{font-size:.62rem;font-weight:700;letter-spacing:.04em;border:1.5px solid #1f1b18;border-radius:12px;padding:2px 9px;color:var(--text);white-space:nowrap}.gv-title{margin:0 0 5px}.gv-subtitle{font-size:.78rem;color:var(--text-muted)}.gv-takeaway{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffe066;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;padding:14px 16px;margin-bottom:20px;flex-wrap:wrap}.gv-tk-label{font-size:.7rem;font-style:italic;color:var(--text-muted);margin-bottom:4px}.gv-tk-text{font-family:Patrick Hand,Nunito,sans-serif;font-size:1rem;font-weight:700;line-height:1.4;color:var(--text)}.gv-tk-btn{flex-shrink:0;padding:8px 16px;background:#fff;border:2px solid #1f1b18;border-radius:10px;box-shadow:2px 2px #1f1b18;font-family:Patrick Hand,Nunito,sans-serif;font-size:.88rem;font-weight:700;color:var(--text);cursor:pointer;transition:transform .1s,box-shadow .1s}.gv-tk-btn:hover{transform:translateY(-1px);box-shadow:3px 3px #1f1b18}.gv-tk-btn:active{transform:translate(2px,2px);box-shadow:1px 1px #1f1b18}.gv-garden-section{margin-bottom:20px}.gv-garden-header{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.gv-garden-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:1.1rem;font-weight:700;color:var(--text)}.gv-garden-hint{font-size:.7rem;color:var(--text-muted);font-style:italic}.gv-garden-panels{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.gv-panel{flex:1;min-width:110px;border:2px solid #1f1b18;border-radius:14px;box-shadow:2px 2px #1f1b18;padding:12px 10px}.gv-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.gv-panel-name{font-family:Patrick Hand,Nunito,sans-serif;font-size:.8rem;font-weight:700;color:var(--text)}.gv-panel-count{font-size:.65rem;color:var(--text-muted)}.gv-plants-row{display:flex;gap:6px;align-items:flex-end;min-height:90px}.gv-plant{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.gv-plant-head{font-size:1.3rem;line-height:1}.gv-plant-stem{width:3px;background:#5a7c50;border-radius:2px 2px 0 0;min-height:8px}.gv-plant-wilted .gv-plant-stem{background:#9ca3af}.gv-plant-soil{width:22px;height:9px;background:#92400e;border-radius:50% 50% 0 0}.gv-plant-label{font-family:Patrick Hand,Nunito,sans-serif;font-size:.58rem;text-align:center;color:var(--text);margin-top:3px;line-height:1.2;word-break:break-word}.gv-garden-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;text-align:center;border:2px dashed #c5bfba;border-radius:14px}.gv-garden-empty-ico{font-size:2.5rem}.gv-garden-empty-txt{font-family:Patrick Hand,Nunito,sans-serif;font-size:.95rem;color:var(--text-muted)}.gv-empty-btn{padding:8px 20px;background:#ffe066;border:2px solid #1f1b18;border-radius:10px;box-shadow:2px 2px #1f1b18;font-family:Patrick Hand,Nunito,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .1s}.gv-empty-btn:active{transform:translate(2px,2px);box-shadow:0 0 #1f1b18}.gv-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}@media (max-width: 600px){.gv-two-col{grid-template-columns:1fr}}.gv-card{border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;padding:14px 16px;background:#fff}.gv-habit-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px;margin-bottom:12px}.gv-habit-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:.9rem;font-weight:700;color:var(--text)}.gv-habit-meta{font-size:.68rem;color:var(--text-muted)}.gv-habit-bars{display:flex;gap:4px;align-items:flex-end}.gv-bar-col{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1}.gv-bar-track{width:100%;height:52px;background:#f0ece8;border:1.5px solid #1f1b18;border-radius:4px;overflow:hidden;display:flex;align-items:flex-end}.gv-bar-fill{width:100%;height:0;background:#f0ece8;transition:height .3s}.gv-bar-fill.gv-bar-active{height:100%;background:#86efac}.gv-bar-lbl{font-size:.58rem;font-weight:700;color:var(--text-muted)}.gv-signals-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:.9rem;font-weight:700;color:var(--text);margin-bottom:10px}.gv-signal-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.gv-sig-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-top:3px}.gv-sig-strong{background:#22c55e}.gv-sig-attention{background:#f97316}.gv-sig-growing{background:#a78bfa}.gv-sig-body{display:flex;flex-direction:column;gap:1px}.gv-sig-label{font-size:.62rem;font-weight:700;letter-spacing:.04em;color:var(--text-muted)}.gv-sig-text{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;color:var(--text)}.gv-signals-empty{font-size:.8rem;color:var(--text-muted);font-style:italic}.gv-wins-section{margin-bottom:24px}.gv-wins-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}.gv-wins-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:1.05rem;font-weight:700;color:var(--text)}.gv-wins-meta{font-size:.7rem;color:var(--text-muted)}.gv-wins-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.gv-win-card{flex:0 0 130px;min-width:0;border:2px solid #1f1b18;border-radius:14px;box-shadow:2px 2px #1f1b18;padding:12px 10px;display:flex;flex-direction:column;gap:4px;position:relative}.gv-win-earned{background:#ffe066}.gv-win-next{background:#fff}.gv-win-icon{font-size:1.5rem}.gv-win-name{font-family:Patrick Hand,Nunito,sans-serif;font-size:.85rem;font-weight:700;color:var(--text)}.gv-win-desc{font-size:.72rem;color:var(--text-muted);line-height:1.3}.gv-win-next-badge{position:absolute;top:8px;right:8px;font-size:.55rem;font-weight:700;letter-spacing:.05em;background:#1f1b18;color:#fff;border-radius:6px;padding:2px 5px}.gv-win-bar{height:5px;background:#f0ece8;border-radius:3px;overflow:hidden;margin-top:4px}.gv-win-bar-fill{height:100%;background:#86efac;border-radius:3px;transition:width .3s}.sl-page{padding-bottom:48px}.sl-header{margin-bottom:14px}.sl-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.sl-header-left{display:flex;flex-direction:column;gap:2px}.sl-header-badges{display:flex;gap:8px;align-items:center;flex-shrink:0;margin-top:6px}.sl-badge{font-family:Patrick Hand,Nunito,sans-serif;font-size:.8rem;font-weight:700;border:2px solid #1f1b18;border-radius:20px;padding:4px 12px;white-space:nowrap}.sl-badge-green{background:#b8f0c8}.sl-badge-yellow{background:#ffe066}[data-theme=dark] .sl-badge{border-color:var(--border)}[data-theme=dark] .sl-badge-green{background:#b8f0c833;color:#b8f0c8}[data-theme=dark] .sl-badge-yellow{background:#ffe06633;color:#ffe066}.sl-sections{display:flex;flex-direction:column;gap:24px}.sl-empty{text-align:center;color:var(--text-muted);padding:36px 0;font-size:.95rem}.sl-section-hdr{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}.sl-section-hdr--spread{justify-content:space-between;align-items:flex-start}.sl-section-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:1.25rem;font-weight:700;color:var(--text);font-style:italic}.sl-section-sub{font-size:.75rem;color:var(--text-muted)}.sl-card{background:#fff;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;overflow:hidden;cursor:pointer;transition:transform .12s,box-shadow .12s;display:flex;flex-direction:column}.sl-card:hover{transform:translateY(-2px);box-shadow:4px 5px #1f1b18}.sl-card:active{transform:translate(2px,2px);box-shadow:1px 1px #1f1b18}.sl-card-cover{width:100%;aspect-ratio:4 / 3;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.sl-card-cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.sl-card-info{padding:10px 12px;display:flex;flex-direction:column;gap:5px}.sl-card-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:.9rem;font-weight:700;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sl-card-tags{display:flex;flex-wrap:wrap;gap:4px}.sl-tag{font-family:Patrick Hand,Nunito,sans-serif;font-size:.65rem;font-weight:700;border:1.5px solid #1f1b18;border-radius:20px;padding:1px 7px;background:#f0ece8;color:var(--text);white-space:nowrap}.sl-tag-lang{background:#b8e0ff}.sl-tag-quiz{background:#ffe4a0}.sl-tag-choice{background:#b8f0c8}.sl-tag-skill{background:#e8d5ff}.sl-card-meta{font-size:.68rem;color:var(--text-muted)}[data-theme=dark] .sl-card{background:var(--card);border-color:var(--border);box-shadow:3px 3px 0 var(--border)}[data-theme=dark] .sl-card:hover{box-shadow:4px 5px 0 var(--border)}[data-theme=dark] .sl-card:active{box-shadow:1px 1px 0 var(--border)}[data-theme=dark] .sl-tag{border-color:#fff3;background:#ffffff14;color:var(--text)}[data-theme=dark] .sl-tag-lang{background:#b8e0ff33;color:#b8e0ff}[data-theme=dark] .sl-tag-quiz{background:#ffe4a033;color:#ffe4a0}[data-theme=dark] .sl-tag-choice{background:#b8f0c833;color:#b8f0c8}[data-theme=dark] .sl-tag-skill{background:#e8d5ff33;color:#d4aaff}.sl-grid-today{display:grid;grid-template-columns:repeat(3,minmax(0,300px));gap:12px}@media (max-width: 600px){.sl-grid-today{grid-template-columns:repeat(2,1fr)}}@media (max-width: 380px){.sl-grid-today{grid-template-columns:1fr}}.sl-scroll-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}.sl-scroll-row .sl-card{flex:0 0 160px}.sl-refresh-btn{flex-shrink:0;padding:7px 14px;background:#fff;border:2px solid #1f1b18;border-radius:10px;box-shadow:2px 2px #1f1b18;font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;color:var(--text);cursor:pointer;transition:transform .1s,box-shadow .1s}.sl-refresh-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:3px 3px #1f1b18}.sl-refresh-btn:disabled{opacity:.55;cursor:default}.sl-refresh-btn--used{background:#f0ece8}[data-theme=dark] .sl-refresh-btn{background:var(--card);border-color:var(--border);color:var(--text);box-shadow:2px 2px 0 var(--border)}[data-theme=dark] .sl-refresh-btn:hover:not(:disabled){box-shadow:3px 3px 0 var(--border)}[data-theme=dark] .sl-refresh-btn--used{background:#ffffff0a}.sv-page{padding-bottom:48px}.sv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.sv-header-left{display:flex;flex-direction:column;gap:2px}.sv-header-sub{font-size:.78rem;color:var(--text-muted)}.sv-header-sub strong{color:var(--text);font-weight:700}.sv-make-btn{flex-shrink:0;margin-top:6px;padding:9px 18px;background:#ffe066;border:2px solid #1f1b18;border-radius:12px;box-shadow:3px 3px #1f1b18;font-family:Patrick Hand,Nunito,sans-serif;font-size:.9rem;font-weight:700;color:var(--text);cursor:pointer;transition:transform .1s,box-shadow .1s}.sv-make-btn:hover{transform:translateY(-1px);box-shadow:4px 4px #1f1b18}.sv-make-btn:active{transform:translate(2px,2px);box-shadow:1px 1px #1f1b18}[data-theme=dark] .sv-make-btn{background:#ffe06633;border-color:var(--border);box-shadow:3px 3px 0 var(--border);color:#ffe066}[data-theme=dark] .sv-make-btn:hover{box-shadow:4px 4px 0 var(--border)}[data-theme=dark] .sv-make-btn:active{box-shadow:1px 1px 0 var(--border)}.sv-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.sv-search-wrap{flex:1;min-width:180px;display:flex;align-items:center;gap:6px;border:2px solid #1f1b18;border-radius:10px;background:#fff;padding:0 10px;box-shadow:2px 2px #1f1b18}.sv-search-icon{font-size:.9rem;flex-shrink:0}.sv-search-input{flex:1;border:none;outline:none;background:transparent;font-family:Nunito,sans-serif;font-size:.88rem;color:var(--text);padding:9px 0}.sv-search-input::placeholder{color:var(--text-muted)}.sv-search-clear{background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--text-muted);padding:2px 4px}.sv-search-clear:hover{color:var(--text)}.sv-filter-pills{display:flex;gap:6px;flex-wrap:wrap}.sv-filter-pill{padding:6px 14px;background:#fff;border:2px solid #1f1b18;border-radius:20px;font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;color:var(--text);cursor:pointer;transition:background .12s}.sv-filter-pill:hover{background:#f0ece8}.sv-filter-pill.active{background:#ffe066}[data-theme=dark] .sv-filter-pill{background:var(--card);border-color:var(--border);color:var(--text)}[data-theme=dark] .sv-filter-pill:hover{background:#ffffff14}[data-theme=dark] .sv-filter-pill.active{background:#ffe06633;color:#ffe066;border-color:#ffe06666}.sv-empty{text-align:center;color:var(--text-muted);padding:36px 0;font-size:.95rem}.sv-section{margin-bottom:8px}.sv-section-hdr{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.sv-section-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:1.15rem;font-weight:700;color:var(--text)}.sv-section-count{font-size:.75rem;color:var(--text-muted)}.sv-shelf-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:0;align-items:stretch}.sv-shelf-row .sv-card{flex:0 0 160px}.sv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:20px}.sv-card{background:#fff;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;overflow:hidden;cursor:pointer;transition:transform .12s,box-shadow .12s;display:flex;flex-direction:column;position:relative}.sv-card:hover{transform:translateY(-2px);box-shadow:4px 5px #1f1b18}.sv-card:active{transform:translate(2px,2px);box-shadow:1px 1px #1f1b18}.sv-card-cover{width:100%;aspect-ratio:4 / 3;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.sv-card-cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.sv-saved-badge{position:absolute;top:6px;left:7px;font-size:.6rem;font-weight:700;font-family:Patrick Hand,Nunito,sans-serif;background:#ffffffe0;border:1.5px solid rgba(16,185,129,.55);color:#047857;border-radius:5px;padding:1px 5px;line-height:1.5;pointer-events:none;letter-spacing:.01em}.sv-fav-badge{position:absolute;top:7px;right:7px;width:26px;height:26px;background:#ffe066;border:2px solid #1f1b18;border-radius:50%;font-size:.9rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.sv-card-hover-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .15s}.sv-card:hover .sv-card-hover-actions{opacity:1}.sv-card:hover .sv-fav-badge{opacity:0}@media (max-width: 768px){.sv-card-hover-actions{opacity:1}.sv-fav-badge{opacity:0}}.sv-fav-btn,.sv-del-btn{width:26px;height:26px;border:2px solid #1f1b18;border-radius:50%;font-size:.82rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .1s}.sv-fav-btn{background:#fff;color:var(--text)}.sv-fav-btn:hover,.sv-fav-btn.active{background:#ffe066}.sv-del-btn{background:#fff;color:#dc2626}.sv-del-btn:hover{background:#fee2e2}.sv-hidden-bar{display:flex;align-items:center;gap:8px;margin:8px 0 6px}.sv-hidden-count{font-family:Nunito,sans-serif;font-size:.68rem;font-weight:700;color:var(--text-muted)}.sv-hidden-manage-btn{font-family:Nunito,sans-serif;font-size:.68rem;font-weight:700;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.sv-hidden-manage-btn:hover{color:var(--text)}.sv-hidden-row{opacity:.7}.sv-card-hover-actions--visible{opacity:1!important}.sv-restore-btn{padding:0 8px;height:26px;border:2px solid #1f1b18;border-radius:13px;background:#ffe066;color:#1f1b18;font-family:Nunito,sans-serif;font-size:.65rem;font-weight:700;cursor:pointer;transition:background .1s;display:flex;align-items:center}.sv-restore-btn:hover{background:#ffd000}[data-theme=dark] .sv-restore-btn{background:#ffe06640;border-color:#ffffff4d;color:#ffe066}[data-theme=dark] .sv-restore-btn:hover{background:#ffe06666}.sv-hide-btn{padding:0 8px;height:26px;border:2px solid #1f1b18;border-radius:13px;background:#fff;color:var(--text);font-family:Nunito,sans-serif;font-size:.65rem;font-weight:700;cursor:pointer;transition:background .1s;display:flex;align-items:center}.sv-hide-btn:hover{background:#f1ede7}[data-theme=dark] .sv-hide-btn{background:#ffffff14;border-color:#ffffff4d;color:var(--text)}[data-theme=dark] .sv-hide-btn:hover{background:#ffffff26}.sv-card-info{padding:10px 12px;display:flex;flex-direction:column;gap:5px}.sv-card-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:.88rem;font-weight:700;font-style:italic;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sv-card-tags{display:flex;flex-wrap:wrap;gap:4px}.sv-tag{font-family:Patrick Hand,Nunito,sans-serif;font-size:.62rem;font-weight:700;border:1.5px solid #1f1b18;border-radius:20px;padding:1px 6px;background:#f0ece8;color:var(--text);white-space:nowrap}.sv-tag-lang{background:#b8e0ff}.sv-tag-quiz{background:#ffe4a0}.sv-tag-choice{background:#b8f0c8}.sv-card-meta{font-size:.68rem;color:var(--text-muted)}[data-theme=dark] .sv-card{background:var(--card);border-color:var(--border);box-shadow:3px 3px 0 var(--border)}[data-theme=dark] .sv-card:hover{box-shadow:4px 5px 0 var(--border)}[data-theme=dark] .sv-card:active{box-shadow:1px 1px 0 var(--border)}[data-theme=dark] .sv-tag{border-color:#fff3;background:#ffffff14;color:var(--text)}[data-theme=dark] .sv-tag-lang{background:#b8e0ff33;color:#b8e0ff}[data-theme=dark] .sv-tag-quiz{background:#ffe4a033;color:#ffe4a0}[data-theme=dark] .sv-tag-choice{background:#b8f0c833;color:#b8f0c8}.sv-card-placeholder{border:2px dashed #c5bfba;background:transparent;box-shadow:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:180px}.sv-card-placeholder:hover{background:#f8f4f0;transform:none;box-shadow:none}.sv-placeholder-inner{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.sv-placeholder-plus{font-size:1.6rem;color:#c5bfba;line-height:1}.sv-placeholder-txt{font-size:.72rem;color:#c5bfba;text-align:center}.sv-toolbar-row2{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.sv-sort-select{height:32px;border:2px solid #1f1b18;border-radius:8px;background:#fff;font-family:Patrick Hand,Nunito,sans-serif;font-size:.78rem;padding:0 8px;cursor:pointer;color:#1f1b18;box-shadow:2px 2px #1f1b18}.sv-view-toggle{display:flex}.sv-view-btn{width:34px;height:34px;border:2px solid #1f1b18;background:#fff;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .1s;color:#1f1b18}.sv-view-btn:first-child{border-radius:8px 0 0 8px}.sv-view-btn:last-child{border-radius:0 8px 8px 0;border-left:none}.sv-view-btn.active{background:#ffe066}[data-theme=dark] .sv-sort-select{background:var(--card);border-color:var(--border);color:var(--text);box-shadow:2px 2px 0 var(--border)}[data-theme=dark] .sv-view-btn{background:var(--card);border-color:var(--border);color:var(--text)}[data-theme=dark] .sv-view-btn.active{background:#ffe06633;color:#ffe066}.sv-list-view{display:flex;flex-direction:column;gap:6px}.sv-list-item{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid #1f1b18;border-radius:10px;padding:8px 10px;cursor:pointer;transition:transform .1s,box-shadow .1s;box-shadow:2px 2px #1f1b18}.sv-list-item:hover{transform:translateY(-1px);box-shadow:3px 4px #1f1b18}.sv-list-item:active{transform:translate(1px,1px);box-shadow:1px 1px #1f1b18}.sv-li-thumb{width:56px;height:42px;border-radius:6px;border:1.5px solid #1f1b18;overflow:hidden;flex-shrink:0;position:relative}.sv-li-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.sv-li-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.sv-li-title{font-family:Patrick Hand,Nunito,sans-serif;font-size:.88rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-li-tags{display:flex;flex-wrap:wrap;gap:4px}.sv-li-meta{font-size:.68rem;color:var(--text-muted)}.sv-li-actions{display:flex;gap:4px;flex-shrink:0}.sv-li-fav,.sv-li-del{width:28px;height:28px;border:1.5px solid #1f1b18;border-radius:6px;background:#fff;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:background .1s}.sv-li-fav:hover,.sv-li-fav.active{background:#ffe066}.sv-li-del{color:#dc2626}.sv-li-del:hover{background:#fee2e2}.dq-page{font-family:Patrick Hand,Nunito,sans-serif;padding:20px 16px 40px;max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.dq-child-tabs{display:flex;gap:8px;flex-wrap:wrap}.dq-child-tab{font-family:Patrick Hand,Nunito,sans-serif;font-size:.85rem;font-weight:700;padding:5px 14px;border:2px solid #1f1b18;border-radius:20px;background:#f8f4f0;cursor:pointer;box-shadow:2px 2px #1f1b18;transition:background .15s,transform .1s,box-shadow .1s}.dq-child-tab.active{background:#ffe066;box-shadow:none;transform:translate(2px,2px)}.dq-child-tab:not(.active):hover{background:#ede8e4}.dq-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dq-tagline{font-size:.88rem;font-style:italic;color:#5a534e;margin:0 0 2px}.dq-title{font-size:1.8rem;font-weight:800;line-height:1.1;margin:0}.dq-pills{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.dq-pill{font-family:Patrick Hand,Nunito,sans-serif;font-size:.78rem;font-weight:700;border:2px solid #1f1b18;border-radius:20px;padding:3px 10px;white-space:nowrap;box-shadow:2px 2px #1f1b18}.dq-pill--yellow{background:#ffe066}.dq-pill--blue{background:#b8e0ff}.dq-banner{background:#6d28d9;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;padding:14px 16px 10px;color:#fff}.dq-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dq-banner-label{font-size:.75rem;opacity:.8;display:block;margin-bottom:2px}.dq-banner-stat{font-size:.92rem;font-weight:700}.dq-banner-cta{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;background:#ffe066;color:#1f1b18;border:2px solid #1f1b18;border-radius:20px;padding:5px 14px;cursor:pointer;white-space:nowrap;box-shadow:2px 2px #0000004d;flex-shrink:0}.dq-banner-cta:hover{background:#ffd500}.dq-banner-bar{height:6px;background:#ffffff40;border-radius:3px;overflow:hidden}.dq-banner-bar-fill{height:100%;background:#ffe066;border-radius:3px;transition:width .4s ease}.dq-quests{display:flex;flex-direction:column;gap:12px}.dq-card{display:flex;align-items:flex-start;gap:14px;background:#fff;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;padding:14px;transition:box-shadow .15s,transform .15s}.dq-card:hover{box-shadow:5px 5px #1f1b18;transform:translate(-1px,-1px)}.dq-card--done{background:#f0fdf4;border-color:#86efac;box-shadow:3px 3px #86efac}.dq-card--done:hover{box-shadow:5px 5px #86efac}.dq-card-icon{width:52px;height:52px;border:2px solid #1f1b18;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0;box-shadow:2px 2px #1f1b18}.dq-card--done .dq-card-icon{border-color:#86efac;box-shadow:2px 2px #86efac}.dq-card-body{flex:1;min-width:0}.dq-card-title{font-size:1rem;font-weight:800;margin-bottom:1px}.dq-card-sub{font-size:.82rem;font-weight:700;color:#444;margin-bottom:3px}.dq-card-detail{font-size:.75rem;color:#888;margin-bottom:10px;line-height:1.4}.dq-card-progress-row{display:flex;align-items:center;gap:8px}.dq-card-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;border:1px solid #d1d5db}.dq-card-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.dq-card-count{font-size:.75rem;font-weight:700;color:#888;white-space:nowrap}.dq-card-right{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:2px}.dq-xp-badge{font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;font-weight:800;background:#ffe066;border:1.5px solid #1f1b18;border-radius:20px;padding:2px 8px;white-space:nowrap;box-shadow:1px 1px #1f1b18}.dq-done-check{width:32px;height:32px;background:#22c55e;border:2px solid #1f1b18;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;font-weight:800;box-shadow:2px 2px #1f1b18}.dq-start-btn{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:800;padding:6px 14px;background:#1f1b18;color:#fff;border:2px solid #1f1b18;border-radius:20px;cursor:pointer;white-space:nowrap;box-shadow:2px 2px #555}.dq-start-btn:hover{background:#3d3530}.dq-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dq-week{background:#fff;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;padding:14px}.dq-week-head{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:4px}.dq-week-stat{font-size:.88rem;font-weight:700;margin-bottom:12px}.dq-week-grid{display:flex;justify-content:space-between;gap:3px}.dq-day{display:flex;flex-direction:column;align-items:center;gap:3px}.dq-day-check{width:26px;height:26px;border:2px solid #d1d5db;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;color:#aaa;background:#f8f4f0}.dq-day--done .dq-day-check{background:#22c55e;border-color:#16a34a;color:#fff}.dq-day--today .dq-day-check{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed33}.dq-day-label{font-size:.65rem;font-weight:700;color:#aaa}.dq-day--today .dq-day-label{color:#7c3aed;font-weight:800}.dq-tomorrow{background:#fffbcc;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;padding:14px}.dq-tomorrow-head{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#5a534e;margin-bottom:10px}.dq-tomorrow-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.dq-tomorrow-row{display:flex;align-items:center;gap:8px}.dq-tomorrow-icon{width:28px;height:28px;border:1.5px solid #1f1b18;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.dq-tomorrow-name{font-size:.82rem;font-weight:700}.dq-tomorrow-xp{font-size:.72rem;font-weight:800;color:#5a534e;border-top:1.5px dashed #b5a800;padding-top:8px}@media (max-width: 520px){.dq-header{flex-direction:column}.dq-pills{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.dq-banner-inner{flex-direction:column;align-items:flex-start}.dq-bottom{grid-template-columns:1fr}}.st-page{font-family:Patrick Hand,Nunito,sans-serif;padding:20px 16px 60px;display:flex;flex-direction:column;gap:10px;max-width:720px;margin:0 auto}.st-breadcrumb{font-size:.78rem;font-style:italic;color:#888;margin:0}.st-title{font-size:2rem;font-weight:800;font-style:italic;margin:0 0 8px}.st-section-label{font-size:1.05rem;font-weight:800;font-style:italic;color:var(--text, #1f1b18);margin-top:12px;display:flex;align-items:center;gap:8px}.st-for-child{font-size:.78rem;font-weight:700;font-style:normal;background:#d6c5ff;border:1.5px solid #1f1b18;border-radius:20px;padding:2px 8px;color:#1f1b18}.st-children-row{display:flex;gap:12px;flex-wrap:wrap}.st-child-card{width:180px;min-height:130px;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;padding:12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:box-shadow .15s,transform .15s;box-sizing:border-box}.st-child-card:hover{box-shadow:5px 5px #1f1b18;transform:translate(-1px,-1px)}.st-child-card--active{box-shadow:3px 3px #6d28d9;border-color:#6d28d9}.st-child-card--add{background:transparent!important;border:2px dashed #c5bfba;box-shadow:none;align-items:center;justify-content:center;gap:6px;color:#888}.st-child-card--add:hover{background:#f8f4f0!important;transform:none;box-shadow:none}.st-child-top{display:flex;align-items:center;gap:6px}.st-child-avatar{width:30px;height:30px;border-radius:50%;border:2px solid #1f1b18;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff;flex-shrink:0}.st-active-badge{font-size:.6rem;font-weight:800;text-transform:uppercase;background:#22c55e;color:#fff;border:1.5px solid #1f1b18;border-radius:20px;padding:1px 6px}.st-child-name{font-size:.95rem;font-weight:800;margin-top:2px}.st-child-meta{font-size:.72rem;color:#666}.st-child-actions{display:flex;gap:5px;margin-top:4px;flex-wrap:wrap}.st-child-btn{font-family:Patrick Hand,Nunito,sans-serif;font-size:.7rem;font-weight:700;padding:3px 8px;background:#fff;color:#1f1b18;border:1.5px solid #1f1b18;border-radius:6px;cursor:pointer;box-shadow:1px 1px #1f1b18}.st-child-btn:hover{background:#f0ece8}.st-child-btn--log{background:#ffe066}.st-add-icon{font-size:1.5rem;color:#c5bfba;line-height:1}.st-add-label{font-size:.78rem;font-weight:700;color:#c5bfba;text-align:center}.st-pref-table{border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;background:var(--card);overflow:hidden}.st-pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1.5px dashed #d4cec8}.st-pref-row--last{border-bottom:none}.st-pref-row--soon{opacity:.55;pointer-events:none}.st-soon-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:.62rem;font-weight:600;background:#f3eeff;border:1px solid var(--primary);color:var(--primary);border-radius:20px;vertical-align:middle;letter-spacing:.02em}.st-time-wrap--disabled input{cursor:not-allowed;background:#f5f5f5}.st-pref-left{flex:1;min-width:0}.st-pref-right{display:flex;align-items:center;gap:5px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.st-pref-name{font-size:.92rem;font-weight:700;color:var(--text)}.st-pref-desc{font-size:.72rem;font-style:italic;color:#888;margin-top:1px}[data-theme=dark] .st-pref-table{border-color:var(--border);box-shadow:3px 3px 0 var(--border)}[data-theme=dark] .st-pref-row{border-bottom-color:var(--border)}[data-theme=dark] .st-pref-desc{color:var(--text-muted)}.st-pill{font-family:Patrick Hand,Nunito,sans-serif;font-size:.72rem;font-weight:700;padding:3px 9px;background:#f8f4f0;color:#1f1b18;border:1.5px solid #1f1b18;border-radius:20px;cursor:pointer;box-shadow:1px 1px #1f1b18;white-space:nowrap;transition:background .12s}.st-pill:hover{background:#ede8e4}.st-pill.active{background:#ffe066;box-shadow:none}.st-check-btn{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;padding:4px 12px;background:#f8f4f0;color:#1f1b18;border:2px solid #1f1b18;border-radius:8px;cursor:pointer;box-shadow:2px 2px #1f1b18}.st-check-btn.on{background:#ffe066;box-shadow:none;transform:translate(2px,2px)}.st-on-btn{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;padding:5px 14px;background:#e5e7eb;color:#888;border:1.5px solid #1f1b18;border-radius:20px;cursor:pointer;box-shadow:2px 2px #1f1b18;white-space:nowrap}.st-on-btn.on{background:#22c55e;color:#fff;box-shadow:none}.st-time-wrap{display:flex}.st-time-input{font-family:Patrick Hand,Nunito,sans-serif;font-size:.85rem;font-weight:700;padding:5px 10px;border:2px solid #1f1b18;border-radius:8px;box-shadow:2px 2px #1f1b18;background:#fff;color:#1f1b18;outline:none}.st-tag-btn{font-family:Patrick Hand,Nunito,sans-serif;font-size:.78rem;font-weight:700;padding:4px 12px;background:#e5e7eb;color:#888;border:1.5px solid #1f1b18;border-radius:20px;cursor:pointer;box-shadow:1px 1px #1f1b18}.st-tag-btn.on{background:#22c55e;color:#fff}.st-num-row{display:flex;align-items:center;gap:8px}.st-num-btn{font-family:Patrick Hand,Nunito,sans-serif;font-size:1rem;font-weight:800;line-height:1;width:28px;height:28px;border:2px solid #1f1b18;border-radius:8px;background:#fff;cursor:pointer;box-shadow:2px 2px #1f1b18;display:inline-flex;align-items:center;justify-content:center}.st-num-btn:hover{background:#f0ece8}.st-num-btn:active{transform:translate(1px,1px);box-shadow:1px 1px #1f1b18}.st-num-val{font-size:.85rem;font-weight:700;white-space:nowrap;min-width:70px;text-align:center}.st-outline-btn{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;padding:5px 14px;background:#fff;color:#1f1b18;border:2px solid #1f1b18;border-radius:8px;cursor:pointer;box-shadow:2px 2px #1f1b18}.st-outline-btn:hover{background:#f0ece8}.st-plan-card{background:#ffe066;border:2px solid #1f1b18;border-radius:14px;box-shadow:3px 3px #1f1b18;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.st-plan-body{flex:1;min-width:0}.st-plan-current{font-size:.72rem;font-style:italic;color:#5a534e;margin-bottom:2px}.st-plan-name{font-size:1.15rem;font-weight:800}.st-plan-sub{font-size:.75rem;color:#5a534e;margin-top:3px}.st-plan-btn{font-family:Patrick Hand,Nunito,sans-serif;font-size:.82rem;font-weight:700;padding:7px 16px;background:#fff;color:#1f1b18;border:2px solid #1f1b18;border-radius:8px;cursor:pointer;box-shadow:2px 2px #1f1b18;flex-shrink:0}.st-plan-btn:hover{background:#f8f4f0}[data-theme=dark] .st-plan-card{background:#ffe06626;border-color:var(--border);box-shadow:3px 3px 0 var(--border)}[data-theme=dark] .st-plan-name{color:var(--text)}[data-theme=dark] .st-plan-current,[data-theme=dark] .st-plan-sub{color:var(--text-muted)}[data-theme=dark] .st-plan-btn{background:var(--card);color:var(--text);border-color:var(--border);box-shadow:2px 2px 0 var(--border)}[data-theme=dark] .st-plan-btn:hover{background:#ffffff14}@media (max-width: 480px){.st-children-row{gap:8px}.st-child-card{width:148px}.st-pref-row{flex-direction:column;align-items:flex-start;gap:8px}.st-pref-right{justify-content:flex-start}.st-plan-card{flex-direction:column;align-items:flex-start}}
