.loading[data-v-74cbfd88]{color:#666;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100vh;display:flex}.spinner[data-v-74cbfd88]{border:3px solid #e2e8f0;border-top-color:#e8a355;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-74cbfd88}@keyframes spin-74cbfd88{to{transform:rotate(360deg)}}:root{--wabi-bg:#f5f0e6;--wabi-card:#faf7f0;--wabi-washi:#e8ddc8;--wabi-ink:#2b2620;--wabi-ink-2:#4a4137;--wabi-ink-3:#7a6e5e;--wabi-ink-4:#b8ac97;--wabi-line:#dfd4bc;--wabi-line-soft:#ede6d5;--wabi-vermilion:#b83d2e;--wabi-vermilion-dk:#9f2e20;--wabi-vermilion-sf:#fbe9e5;--wabi-coffee:#6f4e37;--wabi-coffee-soft:#ece2d5;--wabi-tea:#7b8a4d;--wabi-tea-soft:#ecefd8;--wabi-serif:"Noto Serif TC", "Source Han Serif TC", "Songti TC", "PingFang TC", serif;--wabi-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--wabi-r-sm:2px;--wabi-r-md:4px;--wabi-r-lg:8px;--wabi-ease:cubic-bezier(.22, .61, .36, 1);--brand:var(--wabi-coffee);--brand-dark:#5c4836;--line-green:#06c755;--line-green-dark:#04a445;--bg:var(--wabi-bg);--card:var(--wabi-card);--text:var(--wabi-ink);--text-2:var(--wabi-ink-3);--border:var(--wabi-line);--danger:var(--wabi-vermilion);--warning:#f59e0b;font-family:var(--wabi-sans);-webkit-font-smoothing:antialiased;color:var(--text);font-size:16px;line-height:1.5}*{box-sizing:border-box}html,body{background:radial-gradient(#2b262006 1px, transparent 1px), radial-gradient(#2b262004 1px, transparent 1px), var(--wabi-bg);background-position:0 0,2px 3px;background-size:4px 4px,7px 7px;min-height:100vh;margin:0;padding:0}#app{background:0 0;max-width:480px;min-height:100vh;margin:0 auto}button{cursor:pointer;border:none;border-radius:12px;padding:.875rem 1.5rem;font-family:inherit;font-size:1rem;transition:transform .1s}button:active:not(:disabled){transform:scale(.95)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff;font-weight:600}.btn-primary:active{background:var(--brand-dark)}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.card{background:var(--card);border-radius:24px;margin:.75rem;padding:1rem;box-shadow:0 2px 16px #00000012}.muted{color:var(--text-2);font-size:.875rem}.error{color:var(--danger);font-size:.875rem}.warning{color:var(--warning);font-size:.875rem}input,textarea{border:1px solid var(--border);border-radius:6px;width:100%;padding:.625rem;font-family:inherit;font-size:1rem}input:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:#0000}
