.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}:root{--c-primary: #10b3a3;--c-primary-deep: #0a8c80;--c-primary-soft: #e2f5f2;--c-primary-bg: #f4faf9;--c-purple: #7c6cf0;--c-purple-soft: #efedfd;--c-orange: #f59e42;--c-orange-soft: #fdf3e3;--c-red: #e5484d;--c-text: #17252a;--c-text-2: #5c6b73;--c-text-3: #9aa7ad;--c-card: #ffffff;--c-line: #eef3f2;--radius-card: 16px;--shadow-card: 0 2px 10px rgba(23, 37, 42, .04);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--c-primary-bg);color:var(--c-text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#app{min-height:100vh}.page{max-width:560px;margin:0 auto;min-height:100vh;padding:0 16px 96px}.card{background:var(--c-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px;margin-bottom:14px}.h1{font-size:24px;font-weight:700;letter-spacing:.5px}.h2{font-size:17px;font-weight:700}.sub{color:var(--c-text-2);font-size:13px}.sub3{color:var(--c-text-3);font-size:12px}.num{font-weight:800;color:var(--c-primary-deep)}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;cursor:pointer;font-size:15px;font-weight:600;padding:10px 22px;background:var(--c-primary);color:#fff;transition:opacity .15s}.btn:active{opacity:.82}.btn:disabled{background:#bcd9d5;cursor:not-allowed}.btn-plain{background:#fff;color:var(--c-primary-deep);border:1px solid var(--c-primary)}.btn-link{background:none;border:none;color:var(--c-primary-deep);font-size:13px;font-weight:600;padding:0;cursor:pointer}.btn-mini{background:var(--c-primary);color:#fff;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer}.field{width:100%;border:1px solid var(--c-line);border-radius:12px;background:#fff;padding:12px 14px;font-size:15px;color:var(--c-text);outline:none;margin-bottom:12px}.field:focus{border-color:var(--c-primary)}textarea.field{resize:none;min-height:88px;font-family:inherit}.subject-chip{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.sub-chinese{background:var(--c-orange-soft);color:#d98a1f}.sub-math{background:var(--c-primary-soft);color:var(--c-primary-deep)}.sub-english{background:var(--c-purple-soft);color:var(--c-purple)}.sub-default{background:#eef3f2;color:var(--c-text-2)}.progress{height:8px;background:#e3efed;border-radius:999px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--c-primary);border-radius:999px;transition:width .3s}.row{display:flex;align-items:center}.between{display:flex;align-items:center;justify-content:space-between}.gap8{gap:8px}.gap12{gap:12px}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-title{font-size:15px;font-weight:700;margin:18px 2px 10px}.empty{text-align:center;padding:48px 0;color:var(--c-text-3);font-size:13px}.empty .icon{font-size:40px;margin-bottom:8px}.toast{position:fixed;left:50%;bottom:120px;transform:translate(-50%);background:#17252ae0;color:#fff;font-size:14px;padding:10px 18px;border-radius:10px;z-index:999;max-width:80vw;text-align:center}.toast-anim{animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.page-head{padding:22px 2px 14px}.dot-badge{min-width:16px;height:16px;border-radius:999px;background:var(--c-red);color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.tag{display:inline-block;font-size:11px;font-weight:600;border-radius:6px;padding:2px 8px}.tag-ok{background:var(--c-primary-soft);color:var(--c-primary-deep)}.tag-warn{background:var(--c-orange-soft);color:#d98a1f}.tag-info{background:var(--c-purple-soft);color:var(--c-purple)}.tag-gray{background:#eef3f2;color:var(--c-text-3)}
