.reading-growth-app[data-v-f95fd7c2]{font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#fefaf6;color:#3e2723;height:100dvh;overflow-y:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(ellipse at 20% 10%,rgba(212,132,90,.04) 0,transparent 60%),radial-gradient(ellipse at 80% 90%,rgba(91,140,90,.04) 0,transparent 60%),radial-gradient(ellipse at 50% 50%,rgba(200,150,62,.03) 0,transparent 70%)}.app-header[data-v-f95fd7c2]{background:hsla(0,0%,100%,.92);border-bottom:1px solid #f3e8dc;padding:0 20px;position:sticky;top:0;z-index:100;-webkit-box-shadow:0 1px 3px rgba(62,39,35,.06),0 1px 2px rgba(62,39,35,.04);box-shadow:0 1px 3px rgba(62,39,35,.06),0 1px 2px rgba(62,39,35,.04);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header-inner[data-v-f95fd7c2]{max-width:1100px;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;height:60px;gap:16px}.logo-area[data-v-f95fd7c2]{gap:10px}.logo-area[data-v-f95fd7c2],.logo-icon[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0}.logo-icon[data-v-f95fd7c2]{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#d4845a,#c8963e 60%,#b5653e);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:22px;color:#fff;-webkit-box-shadow:0 3px 10px rgba(180,100,50,.3);box-shadow:0 3px 10px rgba(180,100,50,.3)}.logo-text[data-v-f95fd7c2]{font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif;font-size:1.25rem;font-weight:700;color:#3e2723;letter-spacing:.03em;white-space:nowrap}.logo-sub[data-v-f95fd7c2]{display:none;font-size:.7rem;color:#9b8a7c;font-weight:400;letter-spacing:.05em}.logo-sub[data-v-f95fd7c2] :deep(strong){font-weight:700;color:#d4845a}@media (min-width:480px){.logo-sub[data-v-f95fd7c2]{display:inline}.logo-text[data-v-f95fd7c2]{font-size:1.35rem}}.role-switch[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;background:#f5ede4;border-radius:30px;padding:4px;gap:2px;-ms-flex-negative:0;flex-shrink:0}.role-btn[data-v-f95fd7c2]{padding:8px 18px;border-radius:26px;border:none;cursor:pointer;font-size:.9rem;font-weight:600;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1);background:transparent;color:#6d5d4b;white-space:nowrap;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;letter-spacing:.02em;outline:none}.role-btn.active[data-v-f95fd7c2]{background:#fff;color:#b5653e;-webkit-box-shadow:0 1px 3px rgba(62,39,35,.06),0 1px 2px rgba(62,39,35,.04);box-shadow:0 1px 3px rgba(62,39,35,.06),0 1px 2px rgba(62,39,35,.04);font-weight:700}.role-btn[data-v-f95fd7c2]:hover:not(.active){color:#d4845a;background:hsla(0,0%,100%,.5)}.role-icon[data-v-f95fd7c2]{margin-right:4px}@media (max-width:380px){.role-btn[data-v-f95fd7c2]{padding:7px 12px;font-size:.8rem}.role-icon[data-v-f95fd7c2]{margin-right:1px}}.main-container[data-v-f95fd7c2]{max-width:1900px;margin:0 auto;padding:16px 20px 32px;height:calc(100dvh - 60px);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow-y:auto}@media (max-height:800px){.main-container[data-v-f95fd7c2]{padding:12px 16px 24px}}#parentView[data-v-f95fd7c2]{display:grid;grid-template-columns:1fr;gap:20px;-webkit-box-align:start;-ms-flex-align:start;align-items:start}@media (min-width:900px){#parentView[data-v-f95fd7c2]{grid-template-columns:320px minmax(0,1fr) 280px;height:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.booklet-sidebar[data-v-f95fd7c2]{height:auto}.booklet-main[data-v-f95fd7c2]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.parent-layout[data-v-f95fd7c2]{height:auto;overflow-y:auto;-webkit-box-flex:1;-ms-flex:1;flex:1;max-height:72%}.booklet-cert-sidebar[data-v-f95fd7c2]{height:100%;overflow-y:auto}.booklet-cert-sidebar .booklet-wrapper[data-v-f95fd7c2]{height:85%}}.booklet-sidebar[data-v-f95fd7c2]{flex-direction:column}.booklet-main[data-v-f95fd7c2],.booklet-sidebar[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column}.booklet-main[data-v-f95fd7c2]{flex-direction:column;gap:20px;-webkit-box-flex:1;-ms-flex:1;flex:1}.booklet-cert-sidebar[data-v-f95fd7c2],.booklet-wrapper[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.booklet-wrapper[data-v-f95fd7c2]{background:#fff;border-radius:20px;padding:18px;-webkit-box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);border:1px solid #f3e8dc;gap:14px}.page-section[data-v-f95fd7c2]{background:#fefaf6;border-radius:14px;border:1px solid #f3e8dc;padding:14px}.section-label-bar[data-v-f95fd7c2]{gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1.5px solid #f3e8dc}.section-label-bar[data-v-f95fd7c2],.section-num[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.section-num[data-v-f95fd7c2]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#d4845a,#b5653e);color:#fff;font-size:.68rem;font-weight:700;-ms-flex-negative:0;flex-shrink:0}.section-title[data-v-f95fd7c2]{font-size:.92rem;font-weight:700;color:#3e2723}.page-poem[data-v-f95fd7c2]{margin-bottom:10px}.poem-line[data-v-f95fd7c2]{font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif;font-size:.85rem;color:#3e2723;line-height:1.9;margin:0;padding-left:1.1em;text-indent:-1.1em}.poem-line[data-v-f95fd7c2]:before,.poem-line[data-v-f95fd7c2]:last-of-type:after{content:'"';color:#d4845a;font-size:1.2em;line-height:1}.page-attribution[data-v-f95fd7c2]{font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif;font-size:.82rem;color:#6d5d4b;font-style:italic;text-align:right;padding-right:8px}.ten-one-grid[data-v-f95fd7c2]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ten-one-item[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:7px;padding:7px 9px;background:#fff;border-radius:8px;border:1px solid #f3e8dc;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1)}.ten-one-item[data-v-f95fd7c2]:hover{background:rgba(212,132,90,.04);border-color:#e8d5c4}.ten-one-icon[data-v-f95fd7c2]{font-size:1.1rem;-ms-flex-negative:0;flex-shrink:0;width:26px;text-align:center}.ten-one-text[data-v-f95fd7c2]{font-size:.75rem;color:#3e2723;line-height:1.4;font-weight:500}.cert-rules[data-v-f95fd7c2]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cert-rule[data-v-f95fd7c2],.cert-rules[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}.cert-rule[data-v-f95fd7c2]{padding:8px 10px;background:#fff;border-radius:8px;border:1px solid #f3e8dc;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1);-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.cert-rule[data-v-f95fd7c2]:hover{background:rgba(212,132,90,.03);border-color:#e8d5c4}.cert-num[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#d4845a,#b5653e);color:#fff;font-size:.6rem;font-weight:700;-ms-flex-negative:0;flex-shrink:0;margin-top:1px}.cert-text[data-v-f95fd7c2]{font-size:.78rem;color:#3e2723;line-height:1.6}.card[data-v-f95fd7c2]{background:#fff;border-radius:20px;padding:20px 22px;-webkit-box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);border:1px solid #f3e8dc;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1);margin-bottom:20px}.card[data-v-f95fd7c2]:hover{-webkit-box-shadow:0 12px 32px rgba(62,39,35,.1),0 4px 12px rgba(62,39,35,.05);box-shadow:0 12px 32px rgba(62,39,35,.1),0 4px 12px rgba(62,39,35,.05)}.card-header[data-v-f95fd7c2]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:16px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px}.card-header[data-v-f95fd7c2],.card-title[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.card-title[data-v-f95fd7c2]{font-weight:700;font-size:1.05rem;color:#3e2723;gap:8px}.icon-dot[data-v-f95fd7c2]{width:8px;height:8px;border-radius:50%;background:#d4845a;-ms-flex-negative:0;flex-shrink:0}.badge[data-v-f95fd7c2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;font-size:.78rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge-pending[data-v-f95fd7c2]{background:#fff3e0;color:#e67e22}.badge-class-certified[data-v-f95fd7c2]{background:#e8f0e4;color:#4a7c48}.badge-grade-certified[data-v-f95fd7c2],.badge-seal[data-v-f95fd7c2]{background:#fde8ec;color:#c41e3a;font-weight:700}.badge-seal[data-v-f95fd7c2]{border:1.5px dashed #c41e3a;-webkit-animation:sealPulse-data-v-f95fd7c2 2s ease-in-out infinite;animation:sealPulse-data-v-f95fd7c2 2s ease-in-out infinite}@-webkit-keyframes sealPulse-data-v-f95fd7c2{0%,to{-webkit-box-shadow:0 0 0 0 rgba(196,30,58,.25);box-shadow:0 0 0 0 rgba(196,30,58,.25)}50%{-webkit-box-shadow:0 0 0 10px rgba(196,30,58,0);box-shadow:0 0 0 10px rgba(196,30,58,0)}}@keyframes sealPulse-data-v-f95fd7c2{0%,to{-webkit-box-shadow:0 0 0 0 rgba(196,30,58,.25);box-shadow:0 0 0 0 rgba(196,30,58,.25)}50%{-webkit-box-shadow:0 0 0 10px rgba(196,30,58,0);box-shadow:0 0 0 10px rgba(196,30,58,0)}}form[data-v-f95fd7c2]{text-align:left;direction:ltr}.form-grid[data-v-f95fd7c2]{display:grid;grid-template-columns:1fr;gap:12px;text-align:left}.form-group[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:5px;width:100%;text-align:left}.form-label[data-v-f95fd7c2]{display:block;width:100%;font-size:.82rem;font-weight:600;color:#6d5d4b;letter-spacing:.02em;text-align:left}.required-star[data-v-f95fd7c2]{color:#c41e3a;font-weight:700}.rg-select-wrap[data-v-f95fd7c2]{position:relative}.rg-select-trigger[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:11px 14px;border:1.5px solid #e8d5c4;border-radius:10px;font-size:.95rem;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#3e2723;background:#fefcf9;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rg-select-trigger[data-v-f95fd7c2]:hover{border-color:#d4845a;background:#fff}.rg-select-arrow[data-v-f95fd7c2]{font-size:.65rem;color:#9b8a7c;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.rg-select-arrow.open[data-v-f95fd7c2]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.rg-select-dropdown[data-v-f95fd7c2]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:999;background:#fff;border:1.5px solid #e8d5c4;border-radius:10px;-webkit-box-shadow:0 6px 20px rgba(62,39,35,.12);box-shadow:0 6px 20px rgba(62,39,35,.12);max-height:240px;overflow-y:auto}.rg-select-dropdown[data-v-f95fd7c2]::-webkit-scrollbar{width:4px}.rg-select-dropdown[data-v-f95fd7c2]::-webkit-scrollbar-thumb{background:#e8d5c4;border-radius:2px}.rg-select-option[data-v-f95fd7c2]{padding:10px 14px;font-size:.9rem;color:#3e2723;cursor:pointer;-webkit-transition:background .15s;transition:background .15s}.rg-select-option[data-v-f95fd7c2]:hover{background:#fdf5f0}.rg-select-option.active[data-v-f95fd7c2]{background:#fdf5f0;color:#d4845a;font-weight:600}.form-input[data-v-f95fd7c2]{display:block;width:100%;max-width:100%;padding:11px 14px;border:1.5px solid #e8d5c4;border-radius:10px;font-size:.95rem;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#3e2723;background:#fefcf9;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left}.form-input[data-v-f95fd7c2]:focus{border-color:#d4845a;-webkit-box-shadow:0 0 0 4px rgba(212,132,90,.08);box-shadow:0 0 0 4px rgba(212,132,90,.08);background:#fff}.form-input[data-v-f95fd7c2]::-webkit-input-placeholder{color:#9b8a7c}.form-input[data-v-f95fd7c2]::-moz-placeholder{color:#9b8a7c}.form-input[data-v-f95fd7c2]:-ms-input-placeholder{color:#9b8a7c}.form-input[data-v-f95fd7c2]::-ms-input-placeholder{color:#9b8a7c}.form-input[data-v-f95fd7c2]::placeholder{color:#9b8a7c}@media (min-width:600px){.form-grid[data-v-f95fd7c2]{grid-template-columns:1fr 1fr}.form-grid .full-width[data-v-f95fd7c2]{grid-column:-1}}.rg-bookname-wrap[data-v-f95fd7c2]{position:relative}.rg-suggestions[data-v-f95fd7c2]{position:absolute;top:100%;left:0;right:0;z-index:200;background:#fff;border:1.5px solid #e8d5c4;border-top:none;border-radius:0 0 10px 10px;-webkit-box-shadow:0 8px 24px rgba(62,39,35,.12);box-shadow:0 8px 24px rgba(62,39,35,.12);max-height:280px;overflow-y:auto}.rg-suggestion-item[data-v-f95fd7c2]{padding:12px 16px;border-bottom:1px solid #f3e8dc;cursor:pointer;-webkit-transition:background .15s;transition:background .15s}.rg-suggestion-item[data-v-f95fd7c2]:last-child{border-bottom:none}.rg-suggestion-item[data-v-f95fd7c2]:hover{background:#fef6f0}.rg-suggestion-book[data-v-f95fd7c2]{font-size:.9rem;font-weight:600;color:#3e2723;margin-bottom:4px}.rg-suggestion-meta[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;font-size:.78rem;color:#9b8a7c}.star-rating[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:4px;cursor:pointer;font-size:1.6rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.star-rating .star[data-v-f95fd7c2]{color:#ddd0c4;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1);cursor:pointer}.star-rating .star.active[data-v-f95fd7c2]{color:#f0a830;text-shadow:0 1px 4px rgba(240,168,48,.35)}.star-rating .star[data-v-f95fd7c2]:hover{-webkit-transform:scale(1.18);transform:scale(1.18)}.btn[data-v-f95fd7c2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px;padding:11px 22px;border-radius:28px;font-weight:700;font-size:.92rem;letter-spacing:.03em;cursor:pointer;border:none;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1);font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;white-space:nowrap;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;background:transparent;color:inherit}.btn[data-v-f95fd7c2]:active{-webkit-transform:scale(.96);transform:scale(.96)}.btn-primary[data-v-f95fd7c2]{background:linear-gradient(135deg,#d4845a,#c07045);color:#fff;-webkit-box-shadow:0 4px 14px rgba(180,100,50,.3);box-shadow:0 4px 14px rgba(180,100,50,.3)}.btn-primary[data-v-f95fd7c2]:hover{-webkit-box-shadow:0 6px 20px rgba(180,100,50,.4);box-shadow:0 6px 20px rgba(180,100,50,.4);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn-outline[data-v-f95fd7c2]{background:#fff;color:#b5653e;border:1.5px solid #f0d5c0}.btn-outline[data-v-f95fd7c2]:hover{background:#fef9f4;border-color:#d4845a}.btn-sm[data-v-f95fd7c2]{padding:7px 15px;font-size:.8rem;border-radius:20px;font-weight:600}.btn-xs[data-v-f95fd7c2]{padding:4px 10px;font-size:.72rem;border-radius:16px;font-weight:600}.btn-accent[data-v-f95fd7c2]{background:#5b8c5a;color:#fff;-webkit-box-shadow:0 3px 10px rgba(91,140,90,.25);box-shadow:0 3px 10px rgba(91,140,90,.25)}.btn-accent[data-v-f95fd7c2]:hover{-webkit-box-shadow:0 5px 16px rgba(91,140,90,.35);box-shadow:0 5px 16px rgba(91,140,90,.35);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn-seal[data-v-f95fd7c2]{background:#c41e3a;color:#fff;-webkit-box-shadow:0 3px 10px rgba(196,30,58,.25);box-shadow:0 3px 10px rgba(196,30,58,.25)}.btn-seal[data-v-f95fd7c2]:hover{-webkit-box-shadow:0 5px 16px rgba(196,30,58,.35);box-shadow:0 5px 16px rgba(196,30,58,.35);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn-block[data-v-f95fd7c2]{width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn[data-v-f95fd7c2]:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.record-list[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.record-item[data-v-f95fd7c2]{border:1px solid #f3e8dc;border-radius:14px;padding:16px 18px;position:relative;overflow:hidden;-webkit-box-align:start;-ms-flex-align:start;align-items:start}.record-item[data-v-f95fd7c2]:hover{-webkit-box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);border-color:#e8d5c4}.record-item.grade-certified[data-v-f95fd7c2]{border-left:3px solid #c8963e;background:rgba(200,150,62,.04)}.record-item.class-certified[data-v-f95fd7c2]{border-left:3px solid #5b8c5a;background:#fbfdf9}.record-info[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px;min-width:0}.record-book-name[data-v-f95fd7c2]{font-weight:700;font-size:.95rem;color:#3e2723;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-meta[data-v-f95fd7c2]{font-size:.78rem;color:#9b8a7c;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px 12px}.record-meta[data-v-f95fd7c2],.record-meta span[data-v-f95fd7c2]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.record-meta span[data-v-f95fd7c2]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:3px}.divider[data-v-f95fd7c2]{width:1px;height:10px;background:#e8d5c4;display:inline-block}.record-actions[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:400px){.record-item[data-v-f95fd7c2]{grid-template-columns:1fr;gap:8px}.record-actions[data-v-f95fd7c2]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}.seal-stamp[data-v-f95fd7c2]{position:absolute;top:8px;right:12px;width:52px;height:52px;border-radius:50%;border:2.5px solid #c41e3a;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#c41e3a;font-weight:900;font-size:.55rem;letter-spacing:.08em;-webkit-transform:rotate(-18deg);transform:rotate(-18deg);opacity:.8;pointer-events:none;z-index:1;background:hsla(0,0%,100%,.55);text-align:center;line-height:1.1;font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif;-webkit-box-shadow:0 0 0 3px rgba(196,30,58,.08);box-shadow:0 0 0 3px rgba(196,30,58,.08);-webkit-animation:stampAppear-data-v-f95fd7c2 .5s ease-out;animation:stampAppear-data-v-f95fd7c2 .5s ease-out;overflow:hidden}@-webkit-keyframes stampAppear-data-v-f95fd7c2{0%{-webkit-transform:rotate(-18deg) scale(1.8);transform:rotate(-18deg) scale(1.8);opacity:0}70%{-webkit-transform:rotate(-18deg) scale(.9);transform:rotate(-18deg) scale(.9);opacity:.9}to{-webkit-transform:rotate(-18deg) scale(1);transform:rotate(-18deg) scale(1);opacity:.8}}@keyframes stampAppear-data-v-f95fd7c2{0%{-webkit-transform:rotate(-18deg) scale(1.8);transform:rotate(-18deg) scale(1.8);opacity:0}70%{-webkit-transform:rotate(-18deg) scale(.9);transform:rotate(-18deg) scale(.9);opacity:.9}to{-webkit-transform:rotate(-18deg) scale(1);transform:rotate(-18deg) scale(1);opacity:.8}}.seal-img[data-v-f95fd7c2]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:50%;-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}.ranking-table-wrap[data-v-f95fd7c2]{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;border:1px solid #f3e8dc}.ranking-table[data-v-f95fd7c2]{width:100%;border-collapse:collapse;font-size:.88rem;min-width:650px}.ranking-table thead th[data-v-f95fd7c2]{background:#fbf6ef;padding:13px 14px;text-align:left;font-weight:700;font-size:.78rem;letter-spacing:.04em;color:#6d5d4b;border-bottom:2px solid #e8d5c4;white-space:nowrap;position:sticky;top:0}.ranking-table tbody td[data-v-f95fd7c2]{padding:13px 14px;border-bottom:1px solid #f3e8dc;vertical-align:middle}.ranking-table tbody tr[data-v-f95fd7c2]{-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1)}.ranking-table tbody tr[data-v-f95fd7c2]:hover{background:#fefbf7}.rank-num[data-v-f95fd7c2]{font-weight:900;font-size:1.1rem;font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif}.rank-1[data-v-f95fd7c2]{color:#d4a017;font-size:1.4rem}.rank-2[data-v-f95fd7c2]{color:#8b8b8b;font-size:1.2rem}.rank-3[data-v-f95fd7c2]{color:#b87333;font-size:1.05rem}.rank-medal[data-v-f95fd7c2]{display:inline-block;font-size:1.5rem;line-height:1}.student-avatar-small[data-v-f95fd7c2]{width:34px;height:34px;border-radius:50%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;margin-right:8px;-ms-flex-negative:0;flex-shrink:0}.av-1[data-v-f95fd7c2]{background:linear-gradient(135deg,#e8a87c,#d4845a)}.av-2[data-v-f95fd7c2]{background:linear-gradient(135deg,#7cb5a5,#5b8c5a)}.av-3[data-v-f95fd7c2]{background:linear-gradient(135deg,#c49b7a,#a67b5b)}.av-4[data-v-f95fd7c2]{background:linear-gradient(135deg,#9b8ec4,#7b6fa0)}.av-5[data-v-f95fd7c2]{background:linear-gradient(135deg,#e8947a,#d4705a)}.student-name-cell[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:600;white-space:nowrap}.highlight-number[data-v-f95fd7c2]{font-weight:800;font-size:1.05rem;color:#b5653e;font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif}.ranking-cards[data-v-f95fd7c2]{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px}.rank-card[data-v-f95fd7c2]{background:#fff;border-radius:14px;padding:14px 16px;border:1px solid #f3e8dc;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1);-webkit-box-shadow:0 1px 3px rgba(62,39,35,.06),0 1px 2px rgba(62,39,35,.04);box-shadow:0 1px 3px rgba(62,39,35,.06),0 1px 2px rgba(62,39,35,.04)}.rank-card[data-v-f95fd7c2]:hover{-webkit-box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04)}.rank-card .rank-badge[data-v-f95fd7c2]{width:40px;height:40px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:900;font-size:1rem;-ms-flex-negative:0;flex-shrink:0;font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif}.rank-card-top1[data-v-f95fd7c2]{background:linear-gradient(135deg,gold,#f0c000);color:#5c3d00;-webkit-box-shadow:0 3px 12px rgba(200,150,0,.3);box-shadow:0 3px 12px rgba(200,150,0,.3)}.rank-card-top2[data-v-f95fd7c2]{background:linear-gradient(135deg,#d0d0d0,#b8b8b8);color:#3d3d3d}.rank-card-top3[data-v-f95fd7c2]{background:linear-gradient(135deg,#e0b88a,#c8966a);color:#4a2d10}.rank-card-other[data-v-f95fd7c2]{background:#f5ede4;color:#6d5d4b}.rank-card-info[data-v-f95fd7c2]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.rank-card-name[data-v-f95fd7c2]{font-weight:700;font-size:.9rem;color:#3e2723}.rank-card-detail[data-v-f95fd7c2]{font-size:.75rem;color:#9b8a7c}.rank-card-words[data-v-f95fd7c2]{font-weight:800;font-size:.95rem;color:#b5653e;-ms-flex-negative:0;flex-shrink:0}@media (max-width:700px){.ranking-table-wrap[data-v-f95fd7c2]{display:none}.ranking-cards[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex}}.stats-row[data-v-f95fd7c2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:2px}.stat-card[data-v-f95fd7c2]{background:#fff;border-radius:14px;padding:6px 8px;border:1px solid #f3e8dc;text-align:center;-webkit-box-shadow:0 1px 3px rgba(62,39,35,.06),0 1px 2px rgba(62,39,35,.04);box-shadow:0 1px 3px rgba(62,39,35,.06),0 1px 2px rgba(62,39,35,.04);-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1)}.stat-card[data-v-f95fd7c2]:hover{-webkit-box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04)}.stat-value[data-v-f95fd7c2]{font-size:1.35rem;font-weight:900;font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif;color:#b5653e;letter-spacing:.02em}.stat-label[data-v-f95fd7c2]{font-size:.75rem;color:#9b8a7c;letter-spacing:.04em;margin-top:2px;font-weight:600}.stat-icon[data-v-f95fd7c2]{font-size:1rem}.toast-container[data-v-f95fd7c2]{position:fixed;top:20px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:9999;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;pointer-events:none;width:90%;max-width:420px}.toast[data-v-f95fd7c2]{background:#3e2723;color:#fff;padding:13px 20px;border-radius:28px;font-weight:600;font-size:.88rem;text-align:center;-webkit-box-shadow:0 20px 48px rgba(62,39,35,.14),0 8px 20px rgba(62,39,35,.06);box-shadow:0 20px 48px rgba(62,39,35,.14),0 8px 20px rgba(62,39,35,.06);pointer-events:auto;letter-spacing:.02em}.toast.success[data-v-f95fd7c2]{background:#3d6b3a}.toast.warning[data-v-f95fd7c2]{background:#b5651d}.empty-state[data-v-f95fd7c2]{text-align:center;padding:40px 20px;color:#9b8a7c}.empty-icon[data-v-f95fd7c2]{font-size:3rem;margin-bottom:10px;opacity:.6}.empty-state p[data-v-f95fd7c2]{font-size:.9rem;letter-spacing:.03em}.modal-overlay[data-v-f95fd7c2]{position:fixed;inset:0;background:rgba(30,15,10,.55);z-index:200;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:20px}.modal-dialog[data-v-f95fd7c2]{background:#fff;border-radius:20px;padding:24px;max-width:440px;width:100%;-webkit-box-shadow:0 20px 48px rgba(62,39,35,.14),0 8px 20px rgba(62,39,35,.06);box-shadow:0 20px 48px rgba(62,39,35,.14),0 8px 20px rgba(62,39,35,.06);text-align:center}.modal-dialog h3[data-v-f95fd7c2]{font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif;margin-bottom:8px;font-size:1.2rem;color:#3e2723}.modal-dialog p[data-v-f95fd7c2]{font-size:.88rem;color:#6d5d4b;margin-bottom:18px}.modal-buttons[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.book-group[data-v-f95fd7c2]{background:#fefcf9;border:1.5px solid #f3e8dc;border-radius:14px;overflow:hidden;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1)}.book-group[data-v-f95fd7c2]:hover{border-color:#e8d5c4;-webkit-box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04);box-shadow:0 4px 16px rgba(62,39,35,.08),0 2px 6px rgba(62,39,35,.04)}.book-group-header[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:18px 20px;cursor:pointer;gap:12px;-webkit-transition:background .2s;transition:background .2s}.book-group-header[data-v-f95fd7c2]:hover{background:rgba(0,0,0,.015)}.book-group-info[data-v-f95fd7c2]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.book-group-name[data-v-f95fd7c2]{font-weight:700;font-size:.95rem;color:#3e2723;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-group-meta[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px 12px;font-size:.78rem;color:#9b8a7c;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.book-group-count[data-v-f95fd7c2]{color:#d4845a;font-weight:700}.book-group-words[data-v-f95fd7c2]{color:#6d5d4b;font-weight:600}.book-group-right[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:6px;-ms-flex-negative:0;flex-shrink:0}.expand-icon[data-v-f95fd7c2]{font-size:10px;color:#9b8a7c;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.expand-icon.expanded[data-v-f95fd7c2]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.cert-bar[data-v-f95fd7c2]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:2px;width:200px;-ms-flex-negative:0;flex-shrink:0}.cert-bar-labels[data-v-f95fd7c2],.cert-bar[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cert-bar-labels[data-v-f95fd7c2]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%}.cert-label[data-v-f95fd7c2]{font-size:9px;-webkit-transition:color .3s;transition:color .3s}.cert-label.done[data-v-f95fd7c2]{color:#d4845a;font-weight:600}.cert-label.done[data-v-f95fd7c2]:last-child{color:#d4845a}.cert-bar-track[data-v-f95fd7c2]{width:100%;height:3px;background:#e8d5c4;border-radius:2px;overflow:visible;position:relative}.cert-bar-fill[data-v-f95fd7c2]{height:100%;border-radius:2px;-webkit-transition:width .4s ease;transition:width .4s ease}.cert-bar-fill.fill-1[data-v-f95fd7c2]{width:33%;background:#d4845a}.cert-bar-fill.fill-2[data-v-f95fd7c2]{width:80%;background:#d4845a}.cert-bar-fill.fill-3[data-v-f95fd7c2]{width:100%;background:#d4845a}.cert-bar-dots[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;margin-top:-8px}.cert-bar-dot[data-v-f95fd7c2]{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #e8d5c4;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all .3s;transition:all .3s;z-index:1}.cert-bar-dot.done[data-v-f95fd7c2],.cert-bar-dot.done[data-v-f95fd7c2]:last-child{background:#d4845a;border-color:#d4845a;-webkit-box-shadow:0 0 0 3px rgba(212,132,90,.2);box-shadow:0 0 0 3px rgba(212,132,90,.2)}.book-group-records[data-v-f95fd7c2]{border-top:1.5px solid #f3e8dc}.record-item[data-v-f95fd7c2]{background:#fefcf9;border-bottom:1px solid #f3e8dc;padding:12px 18px;-webkit-transition:.25s cubic-bezier(.4,0,.2,1);transition:.25s cubic-bezier(.4,0,.2,1);display:grid;grid-template-columns:1fr auto;gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.record-item[data-v-f95fd7c2]:last-child{border-bottom:none}.record-item.grade-certified[data-v-f95fd7c2]{background:rgba(212,132,90,.04)}.record-item.class-certified[data-v-f95fd7c2]{background:rgba(76,200,120,.04)}.record-row[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:4px}.record-times-badge[data-v-f95fd7c2]{font-size:.72rem;font-weight:700;color:#d4845a;background:#f0d5c0;padding:2px 8px;border-radius:10px}.record-date[data-v-f95fd7c2]{font-size:.78rem;color:#9b8a7c}.cert-flow[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:0;margin:6px 0 8px;padding:8px 10px;background:rgba(62,39,35,.025);border-radius:10px;border:1px solid #f3e8dc}.cert-step[data-v-f95fd7c2]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:3px;position:relative}.cert-dot[data-v-f95fd7c2]{width:14px;height:14px;border-radius:50%;background:#e8d5c4;border:2px solid #e8d5c4;position:relative;z-index:1;-webkit-transition:all .3s;transition:all .3s;-ms-flex-negative:0;flex-shrink:0}.cert-line[data-v-f95fd7c2]{width:100%;height:2px;background:#e8d5c4;position:absolute;top:6px;left:50%;z-index:0;-webkit-transform:translateX(4px);transform:translateX(4px);overflow:hidden;-webkit-transition:background .4s cubic-bezier(.4,0,.2,1);transition:background .4s cubic-bezier(.4,0,.2,1)}.cert-line[data-v-f95fd7c2]:after{content:"";position:absolute;top:-1px;left:0;height:4px;width:8px;background:#fff;border-radius:2px;-webkit-box-shadow:0 0 6px 2px hsla(0,0%,100%,.8),0 0 12px 4px rgba(212,132,90,.6);box-shadow:0 0 6px 2px hsla(0,0%,100%,.8),0 0 12px 4px rgba(212,132,90,.6);-webkit-animation:certFlow-data-v-f95fd7c2 3s linear infinite;animation:certFlow-data-v-f95fd7c2 3s linear infinite}.cert-step.done .cert-line[data-v-f95fd7c2]:after{opacity:1}.cert-step:not(.done) .cert-line[data-v-f95fd7c2]:after{opacity:0;-webkit-animation:none;animation:none}@-webkit-keyframes certFlow-data-v-f95fd7c2{0%{left:0;opacity:0}5%{opacity:1}95%{opacity:1}to{left:calc(100% - 8px);opacity:0}}@keyframes certFlow-data-v-f95fd7c2{0%{left:0;opacity:0}5%{opacity:1}95%{opacity:1}to{left:calc(100% - 8px);opacity:0}}.cert-step:last-child .cert-line[data-v-f95fd7c2]{display:none}.cert-label[data-v-f95fd7c2]{font-size:10px;font-weight:500;color:#9b8a7c;text-align:center;white-space:nowrap}.cert-step.done .cert-dot[data-v-f95fd7c2]{background:#d4845a;border-color:#d4845a;-webkit-box-shadow:0 0 0 3px rgba(212,132,90,.15);box-shadow:0 0 0 3px rgba(212,132,90,.15)}.cert-step.done .cert-line[data-v-f95fd7c2]{background:#d4845a}.cert-step.done .cert-line.half-done[data-v-f95fd7c2]{background:-webkit-gradient(linear,left top,right top,color-stop(50%,#d4845a),color-stop(50%,#e8d5c4));background:linear-gradient(90deg,#d4845a 50%,#e8d5c4 0)}.cert-step.done .cert-label[data-v-f95fd7c2]{color:#d4845a;font-weight:600}.cert-step.pending .cert-dot[data-v-f95fd7c2]{background:#fff;border-color:#e8d5c4}.cert-step.pending .cert-label[data-v-f95fd7c2]{color:#9b8a7c}.cert-step.done:last-child .cert-dot[data-v-f95fd7c2]{background:#d4845a;border-color:#d4845a;-webkit-box-shadow:0 0 0 3px rgba(212,132,90,.15);box-shadow:0 0 0 3px rgba(212,132,90,.15)}.cert-step.done:last-child .cert-label[data-v-f95fd7c2]{color:#d4845a}.badge-red[data-v-f95fd7c2]{background:rgba(196,30,58,.1);color:#c62828}.badge-green[data-v-f95fd7c2]{background:rgba(76,200,120,.1);color:#2e7d32}.badge-orange[data-v-f95fd7c2]{background:rgba(255,152,0,.1);color:#e65100}.podium-section[data-v-f95fd7c2]{padding:12px 8px 0;margin-bottom:16px}.podium-section[data-v-f95fd7c2],.podium[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.podium[data-v-f95fd7c2]{gap:8px;width:100%;max-width:420px}.podium-item[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:140px;position:relative}.podium-crown[data-v-f95fd7c2]{font-size:1.6rem;margin-bottom:-4px;-webkit-animation:crownFloat-data-v-f95fd7c2 2s ease-in-out infinite;animation:crownFloat-data-v-f95fd7c2 2s ease-in-out infinite}@-webkit-keyframes crownFloat-data-v-f95fd7c2{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-4px);transform:translateY(-4px)}}@keyframes crownFloat-data-v-f95fd7c2{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-4px);transform:translateY(-4px)}}.podium-avatar[data-v-f95fd7c2]{width:52px;height:52px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:1.1rem;font-weight:800;color:#fff;-webkit-box-shadow:0 4px 14px rgba(0,0,0,.15);box-shadow:0 4px 14px rgba(0,0,0,.15);border:3px solid #fff;margin-bottom:4px}.podium-medal[data-v-f95fd7c2]{font-size:1.6rem;line-height:1}.podium-name[data-v-f95fd7c2]{font-weight:700;font-size:.82rem;color:#3e2723;text-align:center;margin:4px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.podium-words[data-v-f95fd7c2]{font-size:.85rem;font-weight:800;font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif;color:#b5653e}.podium-words span[data-v-f95fd7c2]{font-size:.65rem;font-weight:400;color:#9b8a7c;margin-left:1px}.podium-base[data-v-f95fd7c2]{width:100%;border-radius:8px 8px 0 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-weight:900;font-family:Georgia,"Noto Serif SC",STSong,SimSun,Songti SC,serif;color:hsla(0,0%,100%,.9);font-size:1.2rem;margin-top:6px}.podium-base-1[data-v-f95fd7c2]{background:-webkit-gradient(linear,left top,left bottom,from(gold),to(#f0a800));background:linear-gradient(180deg,gold,#f0a800);height:70px;-webkit-box-shadow:0 -4px 16px rgba(240,168,0,.3);box-shadow:0 -4px 16px rgba(240,168,0,.3)}.podium-base-2[data-v-f95fd7c2]{background:-webkit-gradient(linear,left top,left bottom,from(#c8c8c8),to(#a0a0a0));background:linear-gradient(180deg,#c8c8c8,#a0a0a0);height:50px;-webkit-box-shadow:0 -4px 12px hsla(0,0%,62.7%,.25);box-shadow:0 -4px 12px hsla(0,0%,62.7%,.25)}.podium-base-3[data-v-f95fd7c2]{background:-webkit-gradient(linear,left top,left bottom,from(#cd7f32),to(sienna));background:linear-gradient(180deg,#cd7f32,sienna);height:40px;-webkit-box-shadow:0 -4px 12px rgba(160,82,45,.25);box-shadow:0 -4px 12px rgba(160,82,45,.25)}.ranking-podium-mobile[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;gap:8px;margin-bottom:10px}.rpm-item[data-v-f95fd7c2]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:100px}.rpm-medal[data-v-f95fd7c2]{font-size:1.4rem}.rpm-avatar[data-v-f95fd7c2]{width:40px;height:40px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:.9rem;font-weight:800;color:#fff;border:2px solid #fff;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.12);box-shadow:0 2px 8px rgba(0,0,0,.12);margin:4px 0}.rpm-1 .rpm-avatar[data-v-f95fd7c2]{width:48px;height:48px;font-size:1rem;border:3px solid gold}.rpm-name[data-v-f95fd7c2]{font-size:.75rem;font-weight:700;color:#3e2723;text-align:center}.rpm-words[data-v-f95fd7c2]{font-size:.78rem;font-weight:800;color:#b5653e}@media (max-width:600px){.card[data-v-f95fd7c2]{padding:16px 14px;border-radius:14px}.btn[data-v-f95fd7c2]{padding:10px 16px;font-size:.85rem}.form-input[data-v-f95fd7c2]{padding:10px 12px;font-size:.9rem}.stats-row[data-v-f95fd7c2]{grid-template-columns:1fr 1fr;gap:8px}.stat-card[data-v-f95fd7c2]{padding:12px 10px}.stat-value[data-v-f95fd7c2]{font-size:1.4rem}.teacher-two-col[data-v-f95fd7c2]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media (min-width:900px){.teacher-two-col[data-v-f95fd7c2]{display:grid;grid-template-columns:1fr 1fr;gap:16px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.teacher-two-col .card-ranking[data-v-f95fd7c2],.teacher-two-col .record-list[data-v-f95fd7c2]{max-height:600px;overflow-y:auto}}@media (min-width:900px){.parent-layout[data-v-f95fd7c2]{display:grid;grid-template-columns:1fr 1fr;gap:24px;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:100%}.parent-layout .form-card[data-v-f95fd7c2]{position:relative;height:auto}.main-container[data-v-f95fd7c2]{padding:20px 24px 40px}}