.icon-system[data-v-8d58092f]{flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.icon-system[data-v-8d58092f]:hover{transform:scale(1.1)}.app-header[data-v-833692d2]{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.header-title[data-v-833692d2]{font-size:var(--font-size-lg);margin:0;font-weight:700}.back-btn[data-v-833692d2],.role-btn[data-v-833692d2]{color:var(--color-primary);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;padding:8px}.recycle-btn[data-v-833692d2]{cursor:pointer;background:0 0;border:none;padding:8px;font-size:20px}.role-btn[data-v-833692d2]{font-size:var(--font-size-sm);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:6px 12px}.app-tab-bar[data-v-d6580ece]{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);z-index:100;width:100%;max-width:428px;height:64px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab-item[data-v-d6580ece]{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 0;transition:color .2s;display:flex}.tab-item.active[data-v-d6580ece]{color:var(--color-primary)}.tab-icon[data-v-d6580ece]{transition:transform .2s}.tab-item:hover .tab-icon[data-v-d6580ece]{transform:scale(1.1)}.tab-label[data-v-d6580ece]{font-size:12px}.toast-container[data-v-ebd5ea3d]{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:90%;max-width:400px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast-item[data-v-ebd5ea3d]{border-radius:var(--radius-md,12px);background:var(--color-bg-secondary,#fff);box-shadow:var(--shadow-lg,0 4px 16px #00000026);font-size:var(--font-size-sm,14px);color:var(--color-text,#333);cursor:default;pointer-events:auto;border-left:4px solid var(--color-primary,#4f8cff);will-change:transform, opacity;align-items:center;gap:8px;padding:12px 36px 12px 20px;display:flex;position:relative;overflow:hidden}.toast-closable[data-v-ebd5ea3d]{cursor:pointer}.toast-item.success[data-v-ebd5ea3d]{border-left-color:var(--color-success,#4caf50)}.toast-item.error[data-v-ebd5ea3d]{border-left-color:var(--color-danger,#f44336)}.toast-item.warning[data-v-ebd5ea3d]{border-left-color:var(--color-warning,#ff9800)}.toast-item.info[data-v-ebd5ea3d]{border-left-color:var(--color-info,#2196f3)}.toast-icon[data-v-ebd5ea3d]{flex-shrink:0;font-size:18px}.toast-msg[data-v-ebd5ea3d]{text-align:left;flex:1;line-height:1.4}.toast-close[data-v-ebd5ea3d]{width:20px;height:20px;color:var(--color-text-hint,#999);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.toast-close[data-v-ebd5ea3d]:hover{background:var(--color-bg-tertiary,#f0f0f0);color:var(--color-text,#333)}.toast-progress[data-v-ebd5ea3d]{background:0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.toast-progress-bar[data-v-ebd5ea3d]{background:var(--color-primary,#4f8cff);border-radius:0 2px 2px 0;height:100%;transition:width .1s linear}.toast-item.success .toast-progress-bar[data-v-ebd5ea3d]{background:var(--color-success,#4caf50)}.toast-item.error .toast-progress-bar[data-v-ebd5ea3d]{background:var(--color-danger,#f44336)}.toast-item.warning .toast-progress-bar[data-v-ebd5ea3d]{background:var(--color-warning,#ff9800)}.toast-item.info .toast-progress-bar[data-v-ebd5ea3d]{background:var(--color-info,#2196f3)}.toast-enter-active[data-v-ebd5ea3d]{animation:.4s cubic-bezier(.34,1.56,.64,1) toastIn-ebd5ea3d}.toast-leave-active[data-v-ebd5ea3d]{animation:.3s cubic-bezier(.4,0,1,1) forwards toastOut-ebd5ea3d;position:absolute}.toast-move[data-v-ebd5ea3d]{transition:transform .3s}@keyframes toastIn-ebd5ea3d{0%{opacity:0;transform:translateY(-20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut-ebd5ea3d{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-12px)scale(.9)}}@media (width<=640px){.toast-container[data-v-ebd5ea3d]{width:95%;top:8px}.toast-item[data-v-ebd5ea3d]{padding:10px 32px 10px 16px;font-size:13px}}.shortcuts-overlay[data-v-d6b150d3]{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcuts-modal[data-v-d6b150d3]{background:var(--color-bg-secondary,#fff);border-radius:var(--radius-lg,16px);width:92%;max-width:520px;max-height:80vh;box-shadow:var(--shadow-xl,0 20px 60px #0000004d);overflow-y:auto}.shortcuts-header[data-v-d6b150d3]{border-bottom:1px solid var(--color-border,#e5e7eb);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.shortcuts-header h3[data-v-d6b150d3]{font-size:var(--font-size-lg,18px);color:var(--color-text-primary,#1f2937);margin:0}.close-btn[data-v-d6b150d3]{background:var(--color-bg-tertiary,#f3f4f6);cursor:pointer;width:32px;height:32px;color:var(--color-text-secondary,#6b7280);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.close-btn[data-v-d6b150d3]:hover{background:var(--color-border,#e5e7eb);color:var(--color-text-primary,#1f2937)}.shortcuts-body[data-v-d6b150d3]{padding:20px 24px}.shortcut-group[data-v-d6b150d3]{margin-bottom:20px}.shortcut-group[data-v-d6b150d3]:last-child{margin-bottom:0}.shortcut-group h4[data-v-d6b150d3]{font-size:var(--font-size-sm,14px);color:var(--color-text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.shortcut-item[data-v-d6b150d3]{align-items:center;gap:12px;padding:8px 0;display:flex}.shortcut-key[data-v-d6b150d3]{background:var(--color-bg-tertiary,#f3f4f6);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm,6px);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:var(--font-size-xs,12px);color:var(--color-text-primary,#1f2937);white-space:nowrap;text-align:center;min-width:80px;padding:4px 10px;display:inline-block;box-shadow:0 1px 2px #0000000d}.shortcut-desc[data-v-d6b150d3]{font-size:var(--font-size-sm,14px);color:var(--color-text,#374151)}.shortcuts-footer[data-v-d6b150d3]{border-top:1px solid var(--color-border,#e5e7eb);background:var(--color-bg-primary,#f9fafb);border-radius:0 0 var(--radius-lg,16px) var(--radius-lg,16px);padding:16px 24px}.shortcuts-footer p[data-v-d6b150d3]{font-size:var(--font-size-xs,12px);color:var(--color-text-hint,#9ca3af);text-align:center;margin:0}.modal-enter-active[data-v-d6b150d3]{animation:.2s fadeIn-d6b150d3}.modal-leave-active[data-v-d6b150d3]{animation:.15s fadeOut-d6b150d3}.modal-enter-active .shortcuts-modal[data-v-d6b150d3]{animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp-d6b150d3}.modal-leave-active .shortcuts-modal[data-v-d6b150d3]{animation:.2s slideDown-d6b150d3}@keyframes fadeIn-d6b150d3{0%{opacity:0}to{opacity:1}}@keyframes fadeOut-d6b150d3{0%{opacity:1}to{opacity:0}}@keyframes slideUp-d6b150d3{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideDown-d6b150d3{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(20px)scale(.95)}}@media (width<=640px){.shortcuts-modal[data-v-d6b150d3]{border-radius:0;width:100%;height:100%;max-height:100%}.shortcut-key[data-v-d6b150d3]{min-width:60px;font-size:11px}}.app-main[data-v-bcd99cf1]{min-height:calc(100vh - 120px);padding:16px 16px 80px}@media (width>=428px){#app[data-v-bcd99cf1]{max-width:428px;margin:0 auto;box-shadow:0 0 20px #0000001a}}.page-enter-active[data-v-bcd99cf1]{transition:opacity .15s}.page-leave-active[data-v-bcd99cf1]{transition:opacity .1s}.page-enter-from[data-v-bcd99cf1],.page-leave-to[data-v-bcd99cf1]{opacity:0}:root{--color-primary:#5b8def;--color-primary-light:#8aaaff;--color-primary-dark:#3d6fd8;--color-primary-bg:#5b8def14;--color-secondary:#4ecdc4;--color-accent:#ff6b6b;--color-warm:#ffb347;--color-playful-gradient:linear-gradient(135deg, #5b8def 0%, #4ecdc4 100%);--color-success:#52c41a;--color-success-bg:#52c41a14;--color-warning:#faad14;--color-warning-bg:#faad1414;--color-danger:#ff4d4f;--color-danger-bg:#ff4d4f14;--color-bg-primary:#f8f9fe;--color-bg-secondary:#fff;--color-bg-tertiary:#f0f2f8;--color-bg-card:#fff;--color-text-primary:#2d3748;--color-text-secondary:#718096;--color-text-hint:#a0aec0;--color-border:#e2e8f0;--color-divider:#edf2f7;--color-capybara:#d4a574;--color-capybara-light:#f5e6d3;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-md:18px;--font-size-lg:20px;--font-size-xl:24px;--font-size-2xl:30px;--font-size-3xl:36px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 4px #5b8def0a;--shadow-md:0 4px 12px #5b8def14;--shadow-lg:0 8px 24px #5b8def1f;--shadow-card:0 2px 8px #0000000a, 0 0 1px #0000000f;--shadow-card-hover:0 8px 24px #5b8def26;--shadow-button:0 4px 12px #5b8def40;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.68, -.55, .265, 1.55);--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.35s}@media (prefers-color-scheme:dark){:root{--color-primary:#6ba5e7;--color-primary-light:#8dbdf0;--color-primary-dark:#4a90d9;--color-primary-bg:#6ba5e71f;--color-success:#73d13d;--color-success-bg:#73d13d1f;--color-warning:#ffc53d;--color-warning-bg:#ffc53d1f;--color-danger:#ff6b6d;--color-danger-bg:#ff6b6d1f;--color-bg-primary:#111418;--color-bg-secondary:#1a1d23;--color-bg-tertiary:#22252c;--color-bg-card:#1a1d23;--color-text-primary:#e5e7eb;--color-text-secondary:#9ca3af;--color-text-hint:#6b7280;--color-border:#2a2d35;--color-divider:#22252c;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-card:0 2px 8px #0003;--shadow-card-hover:0 6px 20px #6ba5e726}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;font-family:-apple-system,BlinkMacSystemFont,Source Han Sans CN,PingFang SC,Microsoft YaHei,sans-serif}img,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--font-size-base);overscroll-behavior:none;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6}#app{background:var(--color-bg-primary);max-width:428px;min-height:100vh;margin:0 auto;position:relative;overflow-x:hidden;box-shadow:0 0 60px #5b8def14}.btn{border-radius:var(--radius-md);font-size:var(--font-size-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-bounce);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .4s,height .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:active:after{width:200px;height:200px}.btn:active{transform:scale(.95)translateY(2px);box-shadow:0 2px 4px #0000001a}.btn-primary{background:var(--color-playful-gradient);color:#fff;box-shadow:var(--shadow-button)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #5b8def59}.btn-secondary{background:var(--color-bg-primary);color:var(--color-text-primary);border:2px solid var(--color-border);box-shadow:0 2px 4px #0000000a}.btn-secondary:hover{background:var(--color-bg-tertiary);border-color:var(--color-primary);color:var(--color-primary)}.btn-block{width:100%;display:flex}.input{border:2px solid var(--color-border);border-radius:var(--radius-md);width:100%;height:48px;font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-secondary);outline:none;padding:0 16px;font-family:inherit;transition:border-color .2s}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--duration-normal) var(--ease-smooth), transform var(--duration-normal) var(--ease-bounce), border-color var(--duration-fast) var(--ease-smooth);border-left:4px solid #0000;padding:18px;position:relative;overflow:hidden}.card:before{content:"";background:var(--color-playful-gradient);opacity:0;height:3px;transition:opacity var(--duration-normal) var(--ease-smooth);position:absolute;top:0;left:0;right:0}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card:hover:before{opacity:1}.card:active{transform:translateY(0)scale(.98)}.card:hover{box-shadow:var(--shadow-card-hover)}input[type=checkbox]{border:2px solid var(--color-border);appearance:none;cursor:pointer;width:20px;height:20px;transition:all var(--duration-fast) var(--ease-smooth);border-radius:6px;flex-shrink:0;position:relative}input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes celebrate{0%{transform:scale(1)}25%{transform:scale(1.15)rotate(-3deg)}50%{transform:scale(1.2)rotate(3deg)}75%{transform:scale(1.1)rotate(-1deg)}to{transform:scale(1)rotate(0)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes progressFill{0%{width:0%}to{width:var(--progress-width,100%)}}.fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-spring) both}.fade-in{animation:fadeIn var(--duration-normal) var(--ease-smooth) both}.scale-in{animation:scaleIn var(--duration-slow) var(--ease-spring) both}.celebrate{animation:celebrate .5s var(--ease-bounce)}.progress-bar{background:var(--color-bg-tertiary);border-radius:var(--radius-full);width:100%;height:8px;margin:12px 0;overflow:hidden}.progress-bar-fill{background:var(--color-playful-gradient);border-radius:var(--radius-full);height:100%;transition:width var(--duration-slow) var(--ease-spring);animation:progressFill .6s var(--ease-spring) both}.celebration-overlay{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0}.sparkle{background:var(--color-warm);width:12px;height:12px;animation:sparkle .6s var(--ease-bounce) both;border-radius:50%;position:absolute}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}@media (width<=428px){#app{max-width:100%}}[data-theme=minimal]{--color-primary:#5b8def;--color-primary-light:#8fb3f7;--color-primary-dark:#4a7be0;--color-primary-bg:#5b8def14;--color-secondary:#4ecdc4;--color-accent:#ef4444;--color-bg-primary:#f8f9fa;--color-bg-secondary:#fff;--color-bg-card:#fff;--color-text-primary:#2d3436;--color-text-secondary:#636e72;--color-text-hint:#b2bec3;--color-border:#e2e8f0;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001f;--shadow-card-hover:0 8px 24px #5b8def26}[data-theme=lulu]{--color-primary:#6b9f71;--color-primary-light:#8bc48f;--color-primary-dark:#4f7a53;--color-primary-bg:#f0f7f1;--color-secondary:#e8a87c;--color-secondary-light:#f0c8a8;--color-accent:#d4a574;--color-bg-primary:#fafaf5;--color-bg-secondary:#f5f3ed;--color-bg-tertiary:#fff;--color-text-primary:#2d3436;--color-text-secondary:#636e72;--color-text-tertiary:#b2bec3;--color-text-inverse:#fff;--color-success:#6b9f71;--color-warning:#f0a500;--color-danger:#e17055;--color-info:#74b9ff;--color-border:#e0dcd5;--color-border-light:#f0ede6;--shadow-sm:0 2px 4px #6b9f7114;--shadow-md:0 4px 12px #6b9f711f;--shadow-lg:0 8px 24px #6b9f7129;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:24px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease;--lulu-shadow:0 4px 16px #6b9f7126;--lulu-gradient:linear-gradient(135deg, #6b9f71 0%, #8bc48f 100%);--lulu-pattern:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='1' fill='%236B9F71' fill-opacity='0.05'/%3E%3C/svg%3E")}
