html,body{margin:0;background-color:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.app-shell{max-width:480px;margin-inline:auto;min-height:100dvh;background-color:var(--color-bg)}[data-page]{background-color:var(--color-bg);min-height:100dvh}.page{padding:var(--space-gutter) var(--space-page) var(--space-xl)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:64px;padding:var(--space-gutter) var(--space-page)}.page-title{margin:0;font-size:var(--font-size-title);font-weight:800;color:var(--color-text);text-align:center}.btn{border:0;font-family:inherit;font-weight:800;cursor:pointer;border-radius:var(--radius-md);transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease,filter var(--duration-fast) ease}.btn:active:not(:disabled){transform:translateY(4px)}.btn:disabled{filter:saturate(.45);opacity:.62;cursor:not-allowed}.btn-primary{border:0;background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 6px 0 var(--color-primary-shadow);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-headline)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 0 var(--color-primary-shadow)}.btn-secondary{border:0;background-color:var(--color-secondary);color:var(--color-on-secondary);box-shadow:0 4px 0 var(--color-secondary-shadow);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-headline)}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-secondary-shadow)}.btn-sm{border:0;background-color:var(--color-surface);color:var(--color-text);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-base) var(--space-sm);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:700;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.btn-sm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-surface-shadow)}.option{border:0;background-color:var(--color-surface);color:var(--color-text);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-sm) var(--space-gutter);min-height:56px;border-radius:var(--radius-md);font-size:var(--font-size-body-lg);font-weight:600;text-align:left;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.option:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-surface-shadow)}.option:disabled{filter:saturate(.45);opacity:.62}.option-skip{border:0;background-color:var(--color-surface-dim);color:var(--color-text-secondary);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-sm) var(--space-gutter);min-height:56px;border-radius:var(--radius-md);font-size:var(--font-size-body-lg);font-weight:600;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.option-skip:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-surface-shadow)}.option-skip:disabled{filter:saturate(.45);opacity:.62}.icon-btn,.star-btn{border:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background-color:var(--color-surface-dim);color:var(--color-text);border-radius:var(--radius-full);box-shadow:0 4px 0 var(--color-surface-shadow);cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.icon-btn:hover:not(:disabled),.star-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-surface-shadow)}.icon-btn:active:not(:disabled),.star-btn:active:not(:disabled){transform:translateY(4px)}.balance-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--color-surface-dim);border-radius:var(--radius-full);box-shadow:0 4px 0 var(--color-surface-shadow);font-size:var(--font-size-body-lg);color:var(--color-text-secondary)}.mode-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--color-surface-dim);border-radius:var(--radius-full);font-size:var(--font-size-label);color:var(--color-text-secondary)}.prompt-tag{display:inline-block;padding:4px 12px;background-color:var(--color-surface-dim);border-radius:var(--radius-full);font-size:var(--font-size-label);color:var(--color-text-secondary)}.reward-short{display:inline-block;padding:4px 12px;background-color:var(--color-error-container);border-radius:var(--radius-full);font-size:var(--font-size-label);color:var(--color-error)}.result-score-badge{display:inline-block;padding:8px 16px;background-color:var(--color-surface-dim);border-radius:var(--radius-full);box-shadow:0 4px 0 var(--color-surface-shadow);font-size:var(--font-size-body-lg);color:var(--color-text)}.btn-reward{padding:12px 20px}.star-value{font-size:var(--font-size-star)}.brand{font-size:var(--font-size-headline)}.tagline,.balance-label,.home-hint{font-size:var(--font-size-body-lg)}.home[data-v-8501ae5f]{display:flex;flex-direction:column}.home-main[data-v-8501ae5f]{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding-top:var(--space-xl);text-align:center}.app-footer[data-v-8501ae5f]{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:auto;padding-top:var(--space-md);font-size:var(--font-size-label);color:var(--color-text-secondary)}.config-link[data-v-8501ae5f]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 var(--space-sm);font-size:var(--font-size-label);font-weight:700;color:var(--color-text);text-decoration:underline}.big-star[data-v-8501ae5f]{width:96px;height:96px;animation:home-star-float-8501ae5f 3s ease-in-out infinite}@keyframes home-star-float-8501ae5f{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.header-spacer[data-v-8501ae5f]{width:44px}.progress-area[data-v-185f36a5]{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-gutter)}.progress-bar[data-v-185f36a5]{flex:1;height:16px;background-color:var(--color-surface-dim);border-radius:var(--radius-full);overflow:hidden;box-shadow:inset 0 2px 0 var(--color-surface-shadow)}.progress-fill[data-v-185f36a5]{height:100%;background-color:var(--color-primary);border-radius:var(--radius-full);transition:width var(--duration-base) ease}.progress-label[data-v-185f36a5]{font-size:var(--font-size-label);color:var(--color-text-secondary);white-space:nowrap}.question-card[data-v-185f36a5]{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-gutter);margin-bottom:var(--space-md)}.question-text[data-v-185f36a5]{margin:var(--space-sm) 0 0;font-size:var(--font-size-body-lg);font-weight:800;line-height:1.5}.options[data-v-185f36a5]{display:flex;flex-direction:column;gap:var(--space-sm)}.option.correct[data-v-185f36a5]{background-color:var(--color-secondary);color:var(--color-on-secondary);box-shadow:0 4px 0 var(--color-secondary-shadow)}.option.wrong[data-v-185f36a5]{background-color:var(--color-error-container);color:var(--color-error);box-shadow:0 4px 0 var(--color-error-shadow)}.option.reveal[data-v-185f36a5]{background-color:var(--color-secondary);color:var(--color-on-secondary);box-shadow:0 4px 0 var(--color-secondary-shadow)}.feedback-area[data-v-185f36a5]{margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.feedback-bar[data-v-185f36a5]{border-radius:var(--radius-md);padding:var(--space-sm) var(--space-gutter);font-size:var(--font-size-body-lg);font-weight:700}.feedback-correct[data-v-185f36a5]{background-color:var(--color-secondary);color:var(--color-on-secondary)}.feedback-wrong[data-v-185f36a5]{background-color:var(--color-error-container);color:var(--color-error)}.feedback-skipped[data-v-185f36a5]{background-color:var(--color-surface-dim);color:var(--color-text-secondary)}.modal[data-v-185f36a5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.modal-scrim[data-v-185f36a5]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-scrim);opacity:.9;transition:opacity var(--duration-base) ease}.modal-card[data-v-185f36a5]{position:relative;width:100%;max-width:var(--modal-max);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-md)}.modal-text[data-v-185f36a5]{margin:0 0 var(--space-md);font-size:var(--font-size-body-lg);font-weight:600;text-align:center;line-height:1.5}.modal-actions[data-v-185f36a5]{display:flex;gap:var(--space-sm)}.modal-actions .btn-sm[data-v-185f36a5]{flex:1}.result-main[data-v-2f7918d0]{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding-top:var(--space-xl);text-align:center;position:relative}.big-star[data-v-2f7918d0]{width:132px;height:132px;animation:result-star-float-2f7918d0 3s ease-in-out infinite}@keyframes result-star-float-2f7918d0{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.earn-visual[data-v-2f7918d0]{display:flex;align-items:baseline;gap:var(--space-base)}.earn-number[data-v-2f7918d0]{font-size:var(--font-size-star-lg);font-weight:900;color:var(--color-primary)}.earn-unit[data-v-2f7918d0]{font-size:var(--font-size-headline);color:var(--color-text)}.result-message[data-v-2f7918d0]{margin:0;font-size:var(--font-size-headline);font-weight:800}.go-home-btn[data-v-2f7918d0]{margin-top:var(--space-md);min-width:200px}.confetti[data-v-2f7918d0]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.confetti-piece[data-v-2f7918d0]{position:absolute;top:-24px;width:10px;height:16px;border-radius:2px;animation:confetti-fall-2f7918d0 2.4s linear infinite}@keyframes confetti-fall-2f7918d0{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.6}}.redeem-main[data-v-191b1c5a]{display:flex;flex-direction:column;gap:var(--space-md)}.reward-list[data-v-191b1c5a]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.reward-item[data-v-191b1c5a]{display:flex;align-items:center;gap:var(--space-sm);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-sm) var(--space-gutter)}.reward-item.is-locked[data-v-191b1c5a]{opacity:.62;filter:saturate(.5)}.reward-emoji[data-v-191b1c5a]{font-size:var(--font-size-headline)}.reward-info[data-v-191b1c5a]{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.reward-title[data-v-191b1c5a]{display:flex;align-items:center;gap:var(--space-base)}.reward-name[data-v-191b1c5a]{font-size:var(--font-size-body-lg);font-weight:700}.reward-price[data-v-191b1c5a]{font-size:var(--font-size-label);color:var(--color-text-secondary);margin-top:0}.btn-redeem[data-v-191b1c5a]{padding:var(--space-sm) var(--space-gutter);font-size:var(--font-size-body);white-space:nowrap}.ledger-link[data-v-191b1c5a]{border:0;background-color:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-sm) var(--space-gutter);font-size:var(--font-size-body-lg);font-weight:700;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.ledger-link[data-v-191b1c5a]:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--color-surface-shadow)}.empty-state[data-v-191b1c5a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-gutter);text-align:center}.empty-text[data-v-191b1c5a]{margin:0;font-size:var(--font-size-body-lg);color:var(--color-text-secondary)}.modal[data-v-191b1c5a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.modal-scrim[data-v-191b1c5a]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-scrim);opacity:.9;transition:opacity var(--duration-base) ease}.modal-card[data-v-191b1c5a]{position:relative;width:100%;max-width:var(--modal-max);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-md)}.modal-text[data-v-191b1c5a]{margin:0 0 var(--space-md);font-size:var(--font-size-body-lg);font-weight:600;text-align:center;line-height:1.5}.modal-actions[data-v-191b1c5a]{display:flex;gap:var(--space-sm)}.modal-actions .btn-sm[data-v-191b1c5a]{flex:1}.toast[data-v-191b1c5a]{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--space-md) + env(safe-area-inset-bottom));z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-base);max-width:min(440px,calc(100vw - 2 * var(--space-page)));background-color:var(--color-secondary);color:var(--color-on-secondary);border-radius:var(--radius-lg);box-shadow:0 4px 0 var(--color-secondary-shadow);padding:var(--space-sm) var(--space-gutter);font-size:var(--font-size-body-lg);font-weight:700}.btn-back-child[data-v-8ca3532c]{border:0;min-height:44px;min-width:44px;padding:12px 16px;background-color:var(--color-secondary);color:var(--color-on-secondary);box-shadow:0 4px 0 var(--color-secondary-shadow);border-radius:var(--radius-xl);font-family:inherit;font-size:var(--font-size-body-lg);font-weight:700;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.btn-back-child[data-v-8ca3532c]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-secondary-shadow)}.btn-back-child[data-v-8ca3532c]:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 var(--color-secondary-shadow)}.btn-back-child[data-v-8ca3532c]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.parent-main[data-v-8ca3532c]{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding-top:var(--space-lg)}.parent-actions[data-v-8ca3532c]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);width:100%}.parent-action-btn[data-v-8ca3532c]{border:0;background-color:var(--color-surface);color:var(--color-text);box-shadow:0 4px 0 var(--color-surface-shadow);border-radius:var(--radius-xl);padding:8px 16px;font-family:inherit;font-size:var(--font-size-body-lg);font-weight:700;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.btn-data-manage[data-v-8ca3532c],.btn-ledger-manage[data-v-8ca3532c]{min-height:56px;min-width:44px}.parent-action-btn[data-v-8ca3532c]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-surface-shadow)}.parent-action-btn[data-v-8ca3532c]:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 var(--color-surface-shadow)}.parent-action-btn[data-v-8ca3532c]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.modal[data-v-8ca3532c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.modal-scrim[data-v-8ca3532c]{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-scrim);opacity:.9;transition:opacity var(--duration-base) ease}.modal-card[data-v-8ca3532c]{position:relative;width:100%;max-width:var(--modal-max);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-md)}.modal-close[data-v-8ca3532c]{position:absolute;top:var(--space-sm);right:var(--space-sm);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background-color:transparent;color:var(--color-text-secondary);border-radius:var(--radius-full);cursor:pointer}.modal-close[data-v-8ca3532c]:hover{color:var(--color-text)}.modal-close[data-v-8ca3532c]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.modal-title[data-v-8ca3532c]{margin:0 0 var(--space-base);font-size:var(--font-size-headline);font-weight:700;text-align:center;color:var(--color-text)}.modal-desc[data-v-8ca3532c]{margin:0 0 var(--space-md);font-size:var(--font-size-body);color:var(--color-text-secondary);text-align:center;line-height:1.5}.modal-actions[data-v-8ca3532c]{display:flex;gap:var(--space-sm)}.modal-actions button[data-v-8ca3532c]{flex:1}.btn-export[data-v-8ca3532c],.btn-import[data-v-8ca3532c],.confirm-ok[data-v-8ca3532c],.confirm-cancel[data-v-8ca3532c]{border:0;min-height:52px;padding:8px 16px;border-radius:var(--radius-xl);font-family:inherit;font-size:var(--font-size-body-lg);font-weight:700;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.btn-export[data-v-8ca3532c],.confirm-ok[data-v-8ca3532c]{background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 6px 0 var(--color-primary-shadow)}.btn-import[data-v-8ca3532c],.confirm-cancel[data-v-8ca3532c]{background-color:var(--color-surface);color:var(--color-text);box-shadow:0 4px 0 var(--color-surface-shadow)}.btn-export[data-v-8ca3532c]:hover:not(:disabled),.btn-import[data-v-8ca3532c]:hover:not(:disabled),.confirm-ok[data-v-8ca3532c]:hover:not(:disabled),.confirm-cancel[data-v-8ca3532c]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--color-surface-shadow)}.btn-export[data-v-8ca3532c]:active:not(:disabled),.btn-import[data-v-8ca3532c]:active:not(:disabled),.confirm-ok[data-v-8ca3532c]:active:not(:disabled),.confirm-cancel[data-v-8ca3532c]:active:not(:disabled){transform:translateY(4px)}.import-feedback[data-v-8ca3532c]{margin-top:var(--space-sm)}.import-error[data-v-8ca3532c]{margin:0;font-size:var(--font-size-body);font-weight:700;color:var(--color-error)}.import-success[data-v-8ca3532c]{margin:0;font-size:var(--font-size-body);font-weight:700;color:var(--color-secondary)}.modal-text[data-v-8ca3532c]{margin:0 0 var(--space-md);font-size:var(--font-size-body-lg);font-weight:600;text-align:center;line-height:1.5;color:var(--color-text)}.log-main[data-v-f5f839db]{display:flex;flex-direction:column;gap:var(--space-sm)}.ledger-list[data-v-f5f839db]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.ledger-row[data-v-f5f839db]{display:flex;align-items:center;gap:var(--space-sm);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:0 4px 0 var(--color-surface-shadow);padding:var(--space-sm) var(--space-gutter)}.row-info[data-v-f5f839db]{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.row-source[data-v-f5f839db]{font-size:var(--font-size-body-lg);font-weight:700}.log-time[data-v-f5f839db]{font-size:var(--font-size-label);color:var(--color-text-secondary);margin-top:0}.row-amount[data-v-f5f839db]{font-size:var(--font-size-headline);font-weight:900}.amount-earn[data-v-f5f839db]{color:var(--color-primary)}.amount-redeem[data-v-f5f839db]{color:var(--color-tertiary)}.empty-state[data-v-f5f839db]{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-gutter);text-align:center}.empty-text[data-v-f5f839db]{margin:0;font-size:var(--font-size-body-lg);color:var(--color-text-secondary)}:root{--color-bg: #171310;--color-text: #f7f2e8;--color-text-secondary: #b8ac96;--color-surface: #262016;--color-surface-dim: #1d1811;--color-surface-shadow: #151009;--color-primary: #ffd600;--color-on-primary: #3a3000;--color-primary-shadow: #b89600;--color-primary-light: #ffe170;--color-secondary: #95f849;--color-on-secondary: #1c4700;--color-secondary-shadow: #5fa02c;--color-error: #ffb4ab;--color-error-container: #5c2b28;--color-glow: rgba(255, 214, 0, .55);--color-tertiary: #ffb77f;--color-on-tertiary: #4a2500;--color-tertiary-shadow: #cc8a52;--color-outline: #3a3328;--color-outline-strong: #6b5f4a;--color-error-shadow: #3a1a18;--color-scrim: rgba(15, 11, 8, .6);--z-modal: 100;--z-toast: 120;--duration-fast: .12s;--duration-base: .24s;--duration-slow: .4s;--modal-max: 400px;--font-size-display: 40px;--font-size-star: 56px;--font-size-star-lg: 72px;--font-size-headline: 24px;--font-size-title: 20px;--font-size-body-lg: 18px;--font-size-body: 16px;--font-size-label: 14px;--space-xs: 4px;--space-base: 8px;--space-sm: 12px;--space-gutter: 16px;--space-md: 24px;--space-lg: 40px;--space-xl: 64px;--space-page: 20px;--radius-sm: 4px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}
