.pet-choice-v1[data-v-751e7a63]{min-height:100%;padding:26px;background:#f7f6fb}.pet-choice-head[data-v-751e7a63]{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;margin-bottom:20px}.pet-choice-head>button[data-v-751e7a63]{min-height:42px;padding:0 15px;border:1px solid #e3def1;border-radius:13px;background:#fff;color:#625a82;font-weight:800}.pet-choice-head>button i[data-v-751e7a63]{margin-right:7px}.pet-choice-head div>span[data-v-751e7a63],.pet-choice-preview>span[data-v-751e7a63],.pet-choice-catalog header span[data-v-751e7a63]{color:#7468c8;font-size:11px;font-weight:900;letter-spacing:.12em}.pet-choice-head h1[data-v-751e7a63]{margin:3px 0;font-size:30px}.pet-choice-head p[data-v-751e7a63]{margin:0;color:#79738d}.pet-choice-head>strong[data-v-751e7a63]{display:flex;gap:7px;align-items:center;color:#21845e}.growth-spaces[data-v-751e7a63]{display:flex;gap:8px;margin-bottom:16px}.growth-spaces button[data-v-751e7a63],.pet-choice-tabs button[data-v-751e7a63]{padding:9px 15px;border:1px solid #ded9ed;border-radius:99px;background:#fff}.growth-spaces button.active[data-v-751e7a63],.pet-choice-tabs button.active[data-v-751e7a63]{border-color:#6f63e9;color:#fff;background:#6f63e9}.pet-choice-layout[data-v-751e7a63]{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.55fr);gap:18px}.pet-choice-preview[data-v-751e7a63],.pet-choice-catalog[data-v-751e7a63]{padding:24px;border:1px solid #e5e1ef;border-radius:26px;background:#fff;box-shadow:0 14px 34px #382c7110}.pet-choice-preview[data-v-751e7a63]{align-self:start;position:sticky;top:18px}.pet-choice-preview h2[data-v-751e7a63]{margin:6px 0 16px;font-size:28px}.pet-choice-preview>div[data-v-751e7a63]:nth-of-type(1){position:relative;display:grid;min-height:270px;border-radius:22px;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eaf6ff,#f0e9ff 60%,#fff1dc)}.pet-choice-preview>div:nth-of-type(1) i[data-v-751e7a63]{position:absolute;width:210px;height:210px;border-radius:50%;background:#fff7}.pet-choice-preview img[data-v-751e7a63]{position:relative;width:250px;height:250px;object-fit:contain;filter:drop-shadow(0 18px 15px #3a34742c)}.pet-choice-preview label[data-v-751e7a63]{display:grid;margin-top:18px;gap:7px;color:#675f7d;font-size:11px;font-weight:900}.pet-choice-preview input[data-v-751e7a63]{min-height:46px;padding:0 13px;border:1px solid #ddd8ea;border-radius:13px}.pet-choice-preview p[data-v-751e7a63]{display:flex;gap:8px;color:#837d90;font-size:11px;line-height:1.6}.pet-choice-preview>.class-pet-primary[data-v-751e7a63]{width:100%;min-height:50px}.pet-choice-catalog>header[data-v-751e7a63]{display:flex;justify-content:space-between;gap:18px;align-items:center}.pet-choice-catalog h2[data-v-751e7a63]{margin:5px 0}.pet-choice-catalog header label[data-v-751e7a63]{display:flex;min-width:220px;min-height:42px;padding:0 12px;border:1px solid #e0dceb;border-radius:12px;align-items:center;gap:7px;background:#faf9fd}.pet-choice-catalog header input[data-v-751e7a63]{width:100%;border:0;outline:0;background:transparent}.pet-choice-tabs[data-v-751e7a63]{display:flex;margin:17px 0;gap:7px;flex-wrap:wrap}.pet-choice-grid[data-v-751e7a63]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pet-choice-grid>button[data-v-751e7a63]{position:relative;display:grid;padding:12px;border:1px solid #e5e1ed;border-radius:20px;place-items:center;background:linear-gradient(150deg,#fcfdff,#f8f3ff);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pet-choice-grid>button[data-v-751e7a63]:hover{transform:translateY(-3px);box-shadow:0 14px 24px #4a3b8514}.pet-choice-grid>button.selected[data-v-751e7a63]{border-color:#786be6;box-shadow:0 0 0 3px #e7e2ff}.pet-choice-grid>button>span[data-v-751e7a63]{display:grid;width:100%;height:150px;border-radius:15px;place-items:center;background:#fff9}.pet-choice-grid img[data-v-751e7a63]{width:145px;height:145px;object-fit:contain}.pet-choice-grid strong[data-v-751e7a63]{margin-top:8px;color:#302a46}.pet-choice-grid small[data-v-751e7a63]{color:#8b8498}.pet-choice-grid>button>i[data-v-751e7a63]{position:absolute;right:10px;top:10px;color:#6d60dc;opacity:0}.pet-choice-grid>button.selected>i[data-v-751e7a63]{opacity:1}@media(max-width:900px){.pet-choice-layout[data-v-751e7a63]{grid-template-columns:1fr}.pet-choice-preview[data-v-751e7a63]{position:static}.pet-choice-grid[data-v-751e7a63]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.pet-choice-v1[data-v-751e7a63]{padding:15px}.pet-choice-head[data-v-751e7a63]{grid-template-columns:1fr}.pet-choice-head>strong[data-v-751e7a63]{display:none}.pet-choice-catalog>header[data-v-751e7a63]{align-items:stretch;flex-direction:column}.pet-choice-catalog header label[data-v-751e7a63]{min-width:0}.pet-choice-grid[data-v-751e7a63]{grid-template-columns:1fr 1fr}.pet-choice-grid>button>span[data-v-751e7a63]{height:120px}.pet-choice-grid img[data-v-751e7a63]{width:115px;height:115px}}.pet-choice-grid>button[data-v-751e7a63]:disabled{cursor:not-allowed}.pet-choice-grid>button.locked[data-v-751e7a63]{opacity:.38;filter:grayscale(.5)}.pet-choice-grid>button.locked>i[data-v-751e7a63]{opacity:1;color:#8b8498}.pet-choice-preview input[data-v-751e7a63]:disabled{color:#514a68;background:#f3f1f7}.pet-choice-preview>.class-pet-primary[data-v-751e7a63]:disabled{cursor:not-allowed;opacity:.65}.teacher-growth-board-v4[data-v-c4775c1e]{display:grid;gap:18px}.teacher-growth-board-v4 .class-pet-overview-summary[data-v-c4775c1e]{margin:0}.teacher-growth-board-v4 .class-pet-overview-card[data-v-c4775c1e]{min-width:0}.growth-v4[data-v-c4775c1e]{min-height:100%;padding:26px;background:#f7f6fb}.growth-head[data-v-c4775c1e]{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;margin-bottom:20px}.growth-head>button[data-v-c4775c1e]{min-height:42px;padding:0 15px;border:1px solid #e3def1;border-radius:13px;background:#fff;color:#625a82;font-weight:800}.growth-head>button i[data-v-c4775c1e]{margin-right:7px}.growth-head div span[data-v-c4775c1e],.growth-card header span[data-v-c4775c1e],.next-form span[data-v-c4775c1e]{color:#7468c8;font-size:11px;font-weight:900;letter-spacing:.12em}.growth-head h1[data-v-c4775c1e]{margin:3px 0;font-size:30px}.growth-head p[data-v-c4775c1e]{margin:0;color:#79738d}.growth-spaces[data-v-c4775c1e]{display:flex;gap:8px;margin-bottom:16px}.growth-spaces button[data-v-c4775c1e]{padding:9px 15px;border:1px solid #ded9ed;border-radius:99px;background:#fff}.growth-spaces button.active[data-v-c4775c1e]{border-color:#6f63e9;color:#fff;background:#6f63e9}.growth-layout[data-v-c4775c1e]{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:18px}.pet-stage[data-v-c4775c1e]{display:grid;grid-template-columns:1fr 290px;min-height:360px;padding:38px;border-radius:30px;background:linear-gradient(135deg,#5e55dc,#8c75ef 58%,#b395ff);box-shadow:0 24px 55px #5041ae3d;color:#fff}.pet-copy[data-v-c4775c1e]{align-self:center}.growth-chip[data-v-c4775c1e]{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(255,255,255,.26);border-radius:99px;background:#ffffff21}.pet-copy h2[data-v-c4775c1e]{margin:20px 0 4px;font-size:42px}.pet-copy p[data-v-c4775c1e]{margin:0;color:#e9e5ff}.level-line[data-v-c4775c1e]{display:flex;justify-content:space-between;margin-top:35px}.growth-progress[data-v-c4775c1e]{height:11px;margin:10px 0;border-radius:99px;background:#fff3}.growth-progress i[data-v-c4775c1e]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd56b,#fff1a8)}.pet-visual[data-v-c4775c1e]{position:relative;display:grid;place-items:center}.pet-visual span[data-v-c4775c1e]{position:absolute;width:260px;height:260px;border-radius:50%;background:#ffffff26;box-shadow:inset 0 0 0 1px #ffffff24}.pet-visual img[data-v-c4775c1e]{position:relative;width:245px;max-height:260px;object-fit:contain;filter:drop-shadow(0 20px 18px rgba(45,32,105,.28))}.pet-visual b[data-v-c4775c1e]{position:absolute;right:0;bottom:10px;padding:9px 14px;border-radius:14px;background:#fff;color:#6658d2}.growth-metrics[data-v-c4775c1e]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.growth-metrics article[data-v-c4775c1e],.growth-card[data-v-c4775c1e],.next-form[data-v-c4775c1e]{border:1px solid #e8e3f2;border-radius:22px;background:#fff;box-shadow:0 10px 28px #362b6512}.growth-metrics article[data-v-c4775c1e]{display:grid;grid-template-columns:42px 1fr;padding:18px;align-content:center}.growth-metrics i[data-v-c4775c1e]{grid-row:1/4;display:grid;width:38px;height:38px;border-radius:13px;place-items:center;color:#6659dc;background:#f0edff}.growth-metrics span[data-v-c4775c1e],.growth-metrics small[data-v-c4775c1e]{color:#817b91;font-size:11px}.growth-metrics strong[data-v-c4775c1e]{font-size:22px}.next-form[data-v-c4775c1e]{display:flex;padding:20px 25px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff8ec,#fff)}.next-form h2[data-v-c4775c1e]{margin:5px 0;font-size:20px}.next-form p[data-v-c4775c1e]{margin:0;color:#777084;font-size:12px}.next-form img[data-v-c4775c1e]{width:105px;height:105px;object-fit:contain}.growth-card[data-v-c4775c1e]{padding:22px}.growth-card header[data-v-c4775c1e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.growth-card h2[data-v-c4775c1e]{margin:4px 0 0;font-size:20px}.growth-card header>i[data-v-c4775c1e]{display:grid;width:40px;height:40px;border-radius:13px;place-items:center;color:#6557d3;background:#f0edff}.level-route[data-v-c4775c1e]{grid-column:1/-1}.level-route>div[data-v-c4775c1e]{display:grid;grid-template-columns:repeat(10,1fr);gap:9px}.level-route button[data-v-c4775c1e]{padding:10px 6px;border:1px solid #ebe6f4;border-radius:15px;background:#faf9fd}.level-route button.done[data-v-c4775c1e]{border-color:#b9dfd0;background:#effaf5}.level-route button.current[data-v-c4775c1e],.level-route button.selected[data-v-c4775c1e]{border-color:#7669e4;box-shadow:0 0 0 2px #e5e0ff;background:#f4f1ff}.level-route img[data-v-c4775c1e]{width:100%;height:70px;object-fit:contain}.level-route b[data-v-c4775c1e],.level-route small[data-v-c4775c1e]{display:block}.level-route small[data-v-c4775c1e]{color:#8a8498;font-size:9px}.trend-bars[data-v-c4775c1e]{display:grid;height:175px;grid-template-columns:repeat(7,1fr);gap:12px;align-items:end}.trend-bars>div[data-v-c4775c1e]{text-align:center}.trend-bars>div>span[data-v-c4775c1e]{display:flex;height:145px;gap:4px;align-items:end;justify-content:center}.trend-bars i[data-v-c4775c1e],.trend-bars b[data-v-c4775c1e]{display:block;width:10px;min-height:4px;border-radius:8px 8px 2px 2px;background:#7468e6}.trend-bars b[data-v-c4775c1e]{background:#ffad72}.trend-bars small[data-v-c4775c1e]{color:#898395;font-size:9px}.trend-legend[data-v-c4775c1e]{display:flex;gap:15px;margin-top:10px;color:#777186;font-size:10px}.trend-legend i[data-v-c4775c1e]{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#7468e6}.trend-legend span:last-child i[data-v-c4775c1e]{background:#ffad72}.activity-list article[data-v-c4775c1e],.leaderboard-card article[data-v-c4775c1e]{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f0edf6}.activity-list article>i[data-v-c4775c1e]{color:#27a77a}.activity-list span[data-v-c4775c1e],.leaderboard-card span[data-v-c4775c1e]{display:flex;min-width:0;flex:1;flex-direction:column}.activity-list small[data-v-c4775c1e],.leaderboard-card small[data-v-c4775c1e]{color:#8a8498}.activity-list b[data-v-c4775c1e]{color:#5f53cc}.task-list article[data-v-c4775c1e]{margin-bottom:15px}.task-list div[data-v-c4775c1e]{display:flex;justify-content:space-between}.task-list p[data-v-c4775c1e]{height:8px;margin:8px 0;border-radius:99px;background:#eeeaf6}.task-list p i[data-v-c4775c1e]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6f63e9,#9d82f5)}.task-list small[data-v-c4775c1e]{color:#858092}.leaderboard-card img[data-v-c4775c1e]{width:36px;height:36px;border-radius:12px;object-fit:contain;background:#f4f1ff}.leaderboard-card article>b[data-v-c4775c1e]{display:grid;width:25px;height:25px;border-radius:9px;place-items:center;background:#f1eeff;color:#6255d1}.leaderboard-card em[data-v-c4775c1e]{font-style:normal;font-weight:900;color:#6357d0}.growth-empty[data-v-c4775c1e]{display:grid;min-height:145px;place-items:center;text-align:center;color:#8c8698}.growth-empty i[data-v-c4775c1e]{font-size:30px}.growth-empty strong[data-v-c4775c1e],.growth-empty span[data-v-c4775c1e]{display:block}.growth-loading[data-v-c4775c1e]{display:grid;grid-template-columns:2fr 1fr;gap:18px}.growth-loading div[data-v-c4775c1e]{height:280px}.growth-loading div[data-v-c4775c1e]:last-child{grid-column:1/-1;height:160px}.cp-skeleton[data-v-c4775c1e]:after{content:""}.trend-card[data-v-c4775c1e]{grid-column:1}.activity-card[data-v-c4775c1e]{grid-column:2}.tasks-card[data-v-c4775c1e]{grid-column:1}.leaderboard-card[data-v-c4775c1e]{grid-column:2}@media(max-width:760px){.growth-v4[data-v-c4775c1e]{padding:14px 10px}.growth-head[data-v-c4775c1e]{grid-template-columns:auto 1fr}.growth-head>button[data-v-c4775c1e]:last-child{grid-column:1/-1}.growth-head h1[data-v-c4775c1e]{font-size:22px}.growth-layout[data-v-c4775c1e]{display:flex;flex-direction:column}.growth-order-1[data-v-c4775c1e]{order:1}.growth-order-2[data-v-c4775c1e]{order:2}.growth-order-3[data-v-c4775c1e]{order:3}.growth-order-4[data-v-c4775c1e]{order:4}.growth-order-5[data-v-c4775c1e]{order:5}.growth-order-6[data-v-c4775c1e]{order:6}.growth-order-7[data-v-c4775c1e]{order:7}.growth-order-8[data-v-c4775c1e]{order:8}.pet-stage[data-v-c4775c1e]{grid-template-columns:1fr;min-height:0;padding:24px}.pet-copy h2[data-v-c4775c1e]{font-size:32px}.pet-visual[data-v-c4775c1e]{grid-row:1;height:230px}.pet-visual img[data-v-c4775c1e]{width:210px}.pet-visual span[data-v-c4775c1e]{width:215px;height:215px}.level-line[data-v-c4775c1e]{margin-top:20px}.growth-metrics[data-v-c4775c1e]{grid-template-columns:1fr 1fr}.growth-metrics article[data-v-c4775c1e]{padding:13px;grid-template-columns:34px 1fr}.growth-metrics i[data-v-c4775c1e]{width:30px;height:30px}.growth-metrics strong[data-v-c4775c1e]{font-size:17px}.level-route[data-v-c4775c1e]{overflow:hidden}.level-route>div[data-v-c4775c1e]{overflow-x:auto;grid-template-columns:repeat(10,82px);padding-bottom:8px}.trend-bars[data-v-c4775c1e]{gap:5px}.activity-card[data-v-c4775c1e],.tasks-card[data-v-c4775c1e],.leaderboard-card[data-v-c4775c1e],.trend-card[data-v-c4775c1e]{grid-column:auto}}.pet-rankings-page[data-v-182e16ce]{min-height:100%;padding:26px;background:#f7f6fb}.pet-rankings-head[data-v-182e16ce]{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-bottom:20px}.pet-rankings-head>button[data-v-182e16ce]{min-height:42px;padding:0 15px;border:1px solid #e3def1;border-radius:13px;color:#625a82;background:#fff;font-weight:800}.pet-rankings-head>button i[data-v-182e16ce]{margin-right:7px}.pet-rankings-head span[data-v-182e16ce]{color:#7468c8;font-size:11px;font-weight:900;letter-spacing:.12em}.pet-rankings-head h1[data-v-182e16ce]{margin:3px 0;font-size:30px}.pet-rankings-head p[data-v-182e16ce]{margin:0;color:#79738d}.growth-spaces[data-v-182e16ce]{display:flex;margin-bottom:16px;gap:8px;flex-wrap:wrap}.growth-spaces button[data-v-182e16ce]{padding:9px 15px;border:1px solid #ded9ed;border-radius:99px;background:#fff}.growth-spaces button.active[data-v-182e16ce]{border-color:#6f63e9;color:#fff;background:#6f63e9}.pet-rankings-grid[data-v-182e16ce]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pet-ranking-card[data-v-182e16ce]{min-height:310px;padding:22px;border:1px solid #e8e3f2;border-radius:24px;background:#fff;box-shadow:0 10px 28px #362b6512}.pet-ranking-card>header[data-v-182e16ce]{display:flex;margin-bottom:12px;align-items:center;justify-content:space-between}.pet-ranking-card>header span[data-v-182e16ce]{color:#7468c8;font-size:10px;font-weight:900;letter-spacing:.1em}.pet-ranking-card h2[data-v-182e16ce]{margin:4px 0 0;font-size:20px}.pet-ranking-card>header>i[data-v-182e16ce]{display:grid;width:42px;height:42px;border-radius:14px;place-items:center;color:#6557d3;background:#f0edff}.pet-ranking-list article[data-v-182e16ce]{display:flex;padding:11px 0;border-bottom:1px solid #f0edf6;align-items:center;gap:10px}.pet-ranking-list article[data-v-182e16ce]:last-child{border-bottom:0}.pet-ranking-list article>b[data-v-182e16ce]{display:grid;width:27px;height:27px;border-radius:9px;place-items:center;color:#6255d1;background:#f1eeff}.pet-ranking-list article:nth-child(1)>b[data-v-182e16ce]{color:#8a6413;background:#fff1b9}.pet-ranking-list article:nth-child(2)>b[data-v-182e16ce]{color:#657080;background:#edf0f4}.pet-ranking-list article:nth-child(3)>b[data-v-182e16ce]{color:#965a2c;background:#f8dfc9}.pet-ranking-avatar[data-v-182e16ce]{display:grid;width:42px;height:42px;border-radius:13px;place-items:center;background:#f4f1ff}.pet-ranking-avatar img[data-v-182e16ce]{width:40px;height:40px;object-fit:contain}.pet-ranking-avatar i[data-v-182e16ce]{color:#8b82bf}.pet-ranking-list article>span[data-v-182e16ce]:nth-child(3){display:grid;min-width:0;flex:1}.pet-ranking-list strong[data-v-182e16ce],.pet-ranking-list small[data-v-182e16ce]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pet-ranking-list small[data-v-182e16ce]{color:#8a8498;font-size:10px}.pet-ranking-list em[data-v-182e16ce]{display:grid;color:#6357d0;font-style:normal;font-weight:900;text-align:right}.pet-ranking-list em small[data-v-182e16ce]{font-size:8px;font-weight:700}.cp-skeleton[data-v-182e16ce]{height:310px}@media(max-width:760px){.pet-rankings-page[data-v-182e16ce]{padding:14px 10px}.pet-rankings-head[data-v-182e16ce]{grid-template-columns:1fr}.pet-rankings-head h1[data-v-182e16ce]{font-size:23px}.pet-rankings-grid[data-v-182e16ce]{grid-template-columns:1fr}.pet-ranking-card[data-v-182e16ce]{min-height:0;padding:17px}}.session-bar-v4[data-v-7bebf72d]{display:grid;margin:0 0 14px;padding:15px 18px;border:1px solid #e3dff1;border-radius:20px;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(135px,.45fr)) auto auto;align-items:end;gap:10px;background:#fff;box-shadow:0 10px 28px #372d6812}.session-bar-v4>div[data-v-7bebf72d]{display:flex;flex-direction:column}.session-bar-v4>div span[data-v-7bebf72d]{color:#6b5fd0;font-size:11px;font-weight:900}.session-bar-v4>div i[data-v-7bebf72d]{margin-right:6px}.session-bar-v4 label[data-v-7bebf72d]{display:grid;gap:5px;color:#7b758c;font-size:9px;font-weight:800}.session-bar-v4 select[data-v-7bebf72d]{min-height:42px;padding:0 10px;border:1px solid #dfdaeb;border-radius:11px;background:#fff}.session-bar-v4 button[data-v-7bebf72d]{min-height:42px;padding:0 14px;border:0;border-radius:12px;color:#fff;background:#6d60dc;font-weight:900}.session-bar-v4 button.is-danger[data-v-7bebf72d]{background:#fff0f2;color:#bd4058}.session-check[data-v-7bebf72d]{display:flex!important;min-height:42px;align-items:center;gap:7px}.absence-panel-v4[data-v-7bebf72d]{margin:-5px 0 14px;padding:12px 15px;border:1px solid #e9e5f2;border-radius:15px;background:#faf9fd}.absence-panel-v4 summary[data-v-7bebf72d]{cursor:pointer;color:#685fc0;font-weight:900}.absence-panel-v4 summary i[data-v-7bebf72d]{margin-right:6px}.absence-panel-v4>div[data-v-7bebf72d]{display:grid;margin-top:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.absence-panel-v4 label[data-v-7bebf72d]{display:flex;padding:8px;border-radius:10px;align-items:center;gap:6px;background:#fff}.candidate-list-v4[data-v-7bebf72d]{display:grid;margin-top:12px;gap:7px}.candidate-list-v4>span[data-v-7bebf72d]{display:flex;padding:8px 10px;border-radius:10px;justify-content:space-between;background:#f7f5fc}.candidate-list-v4 small[data-v-7bebf72d]{color:#89839a}.quick-score-v4[data-v-7bebf72d]{margin-top:14px;padding:15px;border:1px solid #e6e1f1;border-radius:16px;background:#faf9fd}.quick-score-v4 header[data-v-7bebf72d]{display:flex;justify-content:space-between}.quick-score-v4 header small[data-v-7bebf72d]{color:#898397}.quick-score-v4>div[data-v-7bebf72d]{display:flex;margin-top:10px;flex-wrap:wrap;gap:8px}.quick-score-v4 button[data-v-7bebf72d]{padding:9px 12px;border:1px solid #cfc7ee;border-radius:11px;color:#5f53bd;background:#fff;font-weight:850}.quick-score-v4 p[data-v-7bebf72d]{color:#8b8596}.quick-score-v4 em[data-v-7bebf72d]{display:block;margin-top:10px;color:#16805c;font-style:normal;font-weight:800}.classroom-tools-v21[data-v-7bebf72d]{--ink:#272c49;--muted:#747c98;--line:#e6e8f4;--blue:#6275e4;--purple:#8060d8;max-width:1320px;padding-bottom:42px;color:var(--ink)}.classroom-tools-v21 button[data-v-7bebf72d],.classroom-tools-v21 select[data-v-7bebf72d],.classroom-tools-v21 input[data-v-7bebf72d]{font:inherit}.classroom-tools-v21 button[data-v-7bebf72d]:focus-visible,.classroom-tools-v21 select[data-v-7bebf72d]:focus-visible,.classroom-tools-v21 input[data-v-7bebf72d]:focus-visible{outline:3px solid #6678e448;outline-offset:3px}.tools-hero[data-v-7bebf72d]{position:relative;display:flex;min-height:258px;margin-bottom:23px;padding:34px 40px;overflow:hidden;border:1px solid #e4e7f7;border-radius:30px;align-items:center;justify-content:space-between;background:linear-gradient(118deg,#fafcff,#f1f6ff 52%,#f6f1ff);box-shadow:0 18px 44px #47539717}.tools-hero[data-v-7bebf72d]:before{content:"";position:absolute;right:55px;bottom:-155px;width:290px;height:290px;border:35px solid #7765dc12;border-radius:50%}.tools-hero-copy[data-v-7bebf72d]{position:relative;z-index:2;max-width:690px}.tools-back[data-v-7bebf72d]{display:inline-flex;min-height:44px;margin:-10px 0 10px;padding:0 4px;border:0;align-items:center;gap:7px;color:#646d8b;background:transparent;font-size:13px;font-weight:800;cursor:pointer}.tools-kicker[data-v-7bebf72d]{display:inline-flex;align-items:center;gap:7px;color:#6671cf;font-size:12px;font-weight:900;letter-spacing:.07em}.tools-hero h1[data-v-7bebf72d]{margin:9px 0;color:#252a48;font-size:clamp(33px,4vw,48px);line-height:1.1;letter-spacing:-.035em}.tools-hero p[data-v-7bebf72d]{max-width:650px;margin:0;color:var(--muted);font-size:15px;line-height:1.7}.tools-chips[data-v-7bebf72d]{display:flex;margin-top:18px;flex-wrap:wrap;gap:8px}.tools-chips span[data-v-7bebf72d]{display:inline-flex;min-height:34px;padding:0 12px;border:1px solid #6f7cd321;border-radius:99px;align-items:center;gap:6px;color:#646e90;background:#ffffffc7;font-size:11px;font-weight:800}.tools-hero-scene[data-v-7bebf72d]{position:relative;z-index:1;flex:0 0 320px;height:210px}.tools-hero-scene>span[data-v-7bebf72d]{position:absolute;left:7px;top:42px;display:grid;width:174px;height:118px;border:7px solid #fff;border-radius:20px;place-items:center;color:#5c65c7;background:#eaf2ff;box-shadow:0 18px 35px #435ba129;transform:rotate(-5deg)}.tools-hero-scene>span i[data-v-7bebf72d]{font-size:34px}.tools-hero-scene>span b[data-v-7bebf72d]{font-size:14px}.tools-hero-scene img[data-v-7bebf72d]{position:absolute;z-index:2;right:18px;bottom:-22px;width:176px;height:176px;object-fit:contain;filter:drop-shadow(0 18px 20px #42467c2b)}.tools-state[data-v-7bebf72d]{display:grid;min-height:320px;padding:34px;border:1px solid var(--line);border-radius:26px;place-items:center;background:#fff;box-shadow:0 15px 34px #48528712;text-align:center}.tools-state>i[data-v-7bebf72d]{font-size:38px;color:var(--blue);animation:v21spin-7bebf72d 1s linear infinite}.tools-state strong[data-v-7bebf72d]{margin-top:10px;font-size:20px}.tools-state small[data-v-7bebf72d]{color:var(--muted)}.tools-state button[data-v-7bebf72d]{min-height:44px;margin-top:15px;padding:0 18px;border:0;border-radius:13px;color:#fff;background:var(--blue);font-weight:800}.tools-state.is-error>i[data-v-7bebf72d]{color:#b44f4f;animation:none}.toolbox-grid-v21[data-v-7bebf72d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.toolbox-card[data-v-7bebf72d]{display:flex;min-width:0;min-height:510px;padding:0;overflow:hidden;border:1px solid #e5e7f2;border-radius:27px;color:var(--ink);background:#fff;box-shadow:0 14px 34px #40497b14;text-align:left;flex-direction:column;transition:.22s ease}.toolbox-card[data-v-7bebf72d]:is(button){cursor:pointer}.toolbox-card[data-v-7bebf72d]:is(button):hover{transform:translateY(-6px);border-color:#ccd2f2;box-shadow:0 24px 50px #40497b24}.toolbox-scene[data-v-7bebf72d]{position:relative;display:block;height:265px;overflow:hidden;border-bottom:1px solid #6974b30f;background:linear-gradient(145deg,#eef7ff,#f9fbff)}.is-wheel .toolbox-scene[data-v-7bebf72d]{background:linear-gradient(145deg,#f3eeff,#fbf8ff)}.is-coming .toolbox-scene[data-v-7bebf72d]{background:linear-gradient(145deg,#f1f3f7,#fafbfc);filter:saturate(.65)}.toolbox-body[data-v-7bebf72d]{display:flex;flex:1;padding:25px 26px 27px;align-items:flex-start;flex-direction:column}.toolbox-body>em[data-v-7bebf72d]{display:inline-flex;align-items:center;gap:6px;color:#6570cf;font-size:12px;font-style:normal;font-weight:900}.toolbox-body>strong[data-v-7bebf72d]{margin-top:10px;font-size:27px}.toolbox-body>small[data-v-7bebf72d]{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.7}.toolbox-body>b[data-v-7bebf72d]{display:inline-flex;min-height:44px;margin-top:auto;padding-top:17px;align-items:center;gap:7px;color:#5968cf;font-size:13px}.toolbox-body>b.is-muted[data-v-7bebf72d]{color:#979daf}.scene-board-v21[data-v-7bebf72d]{position:absolute;left:50%;top:48%;display:grid;width:190px;height:150px;padding:20px;border:8px solid #fff;border-radius:21px;place-items:center;color:#5b6bd0;background:#dfeeff;box-shadow:0 20px 35px #4264a62e;transform:translate(-50%,-50%) rotate(-3deg)}.scene-board-v21 i[data-v-7bebf72d]{font-size:36px}.scene-board-v21 b[data-v-7bebf72d]{font-size:13px}.call-scene>i[data-v-7bebf72d]{position:absolute;display:grid;width:54px;height:54px;border:6px solid #fff;border-radius:50%;place-items:center;color:#fff;background:linear-gradient(145deg,#7586ef,#5968d6);box-shadow:0 10px 20px #4a58b033;font-size:17px;font-style:normal;font-weight:900}.call-scene>i[data-v-7bebf72d]:nth-of-type(1){left:25px;top:42px}.call-scene>i[data-v-7bebf72d]:nth-of-type(2){right:28px;top:35px;background:linear-gradient(145deg,#a67be7,#7d62cf)}.call-scene>i[data-v-7bebf72d]:nth-of-type(3){right:48px;bottom:23px;background:linear-gradient(145deg,#5fc5d8,#51a9c5)}.mini-wheel-v21[data-v-7bebf72d]{position:absolute;left:45%;top:51%;width:180px;aspect-ratio:1;border:11px solid #fff;border-radius:50%;background:conic-gradient(#7985f5 0,#7985f5 33%,#a67bea 0,#a67bea 66%,#68c7df 0);box-shadow:0 18px 36px #5c48ab3b,inset 0 0 0 6px #6d61d8;transform:translate(-50%,-50%) rotate(-12deg)}.mini-wheel-v21>i[data-v-7bebf72d]{position:absolute;color:#fff;font-style:normal;font-size:13px;font-weight:900}.mini-wheel-v21>i[data-v-7bebf72d]:nth-child(1){left:82px;top:21px}.mini-wheel-v21>i[data-v-7bebf72d]:nth-child(2){right:24px;bottom:47px}.mini-wheel-v21>i[data-v-7bebf72d]:nth-child(3){left:27px;bottom:47px}.mini-wheel-v21 b[data-v-7bebf72d]{position:absolute;left:50%;top:50%;display:grid;width:62px;height:62px;border:7px solid #fff;border-radius:50%;place-items:center;color:#fff;background:#6556cf;transform:translate(-50%,-50%)}.wheel-scene img[data-v-7bebf72d]{position:absolute;right:-3px;bottom:55px;width:98px;height:98px;object-fit:contain}.coming-scene>i[data-v-7bebf72d]{position:absolute;display:grid;width:90px;height:90px;border:7px solid #fff;border-radius:27px;place-items:center;color:#8b91aa;background:#edf0f6;box-shadow:0 14px 28px #4c51681c;font-size:34px}.coming-scene>i[data-v-7bebf72d]:nth-child(1){left:37px;top:54px;transform:rotate(-8deg)}.coming-scene>i[data-v-7bebf72d]:nth-child(2){right:39px;top:45px;transform:rotate(8deg)}.coming-scene>i[data-v-7bebf72d]:nth-child(3){left:50%;bottom:25px;transform:translate(-50%) rotate(3deg)}.coming-scene>b[data-v-7bebf72d]{position:absolute;z-index:2;left:50%;top:42%;display:grid;width:55px;height:55px;border:7px solid #fff;border-radius:50%;place-items:center;color:#fff;background:#a1a7bb;transform:translate(-50%,-50%)}@keyframes v21spin-7bebf72d{to{transform:rotate(360deg)}}.tool-layout-v21[data-v-7bebf72d]{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);gap:20px;align-items:start}.tool-main-v21[data-v-7bebf72d],.side-card-v21[data-v-7bebf72d]{border:1px solid var(--line);background:#fff;box-shadow:0 14px 35px #434c7e13}.tool-main-v21[data-v-7bebf72d]{padding:28px;border-radius:28px}.tool-sidebar-v21[data-v-7bebf72d]{display:grid;gap:15px}.side-card-v21[data-v-7bebf72d]{padding:20px;border-radius:21px}.tool-heading[data-v-7bebf72d],.side-card-v21>header[data-v-7bebf72d]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tool-heading h2[data-v-7bebf72d]{margin:7px 0 5px;font-size:27px}.tool-heading p[data-v-7bebf72d]{max-width:620px;margin:0;color:var(--muted);font-size:13px;line-height:1.6}.tool-heading>span[data-v-7bebf72d]{display:inline-flex;min-height:34px;padding:0 12px;border-radius:99px;align-items:center;gap:6px;color:#5674b3;background:#edf6ff;font-size:11px;font-weight:900}.tool-heading>span.is-purple[data-v-7bebf72d]{color:#7656c6;background:#f1ecff}.call-stage-v21[data-v-7bebf72d]{position:relative;display:flex;min-height:455px;margin-top:24px;overflow:hidden;border:1px solid #e3e9fa;border-radius:25px;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 50% 44%,#fff 0,#fff 18%,#f2f7ff 43%,#f9f9ff 72%)}.call-stage-v21[data-v-7bebf72d]:before,.call-stage-v21[data-v-7bebf72d]:after{content:"";position:absolute;border:1px solid #6477e41c;border-radius:50%}.call-stage-v21[data-v-7bebf72d]:before{width:340px;height:340px}.call-stage-v21[data-v-7bebf72d]:after{width:430px;height:430px}.call-orbit-v21[data-v-7bebf72d]{position:absolute;width:390px;height:390px;border:1px dashed #6477e43d;border-radius:50%;animation:v21spin-7bebf72d 18s linear infinite}.call-orbit-v21 i[data-v-7bebf72d]{position:absolute;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:#7282eb}.call-orbit-v21 i[data-v-7bebf72d]:nth-child(1){left:50%;top:-6px}.call-orbit-v21 i[data-v-7bebf72d]:nth-child(2){right:-6px;top:50%;background:#a47ae5}.call-orbit-v21 i[data-v-7bebf72d]:nth-child(3){left:50%;bottom:-6px;background:#60bfd5}.call-orbit-v21 i[data-v-7bebf72d]:nth-child(4){left:-6px;top:50%;background:#f0b661}.call-stage-v21>em[data-v-7bebf72d]{position:relative;z-index:2;min-height:30px;padding:7px 11px;border-radius:99px;color:#6670bd;background:#ffffffe6;box-shadow:0 5px 13px #4d579117;font-size:11px;font-style:normal;font-weight:900}.call-stage-v21>span[data-v-7bebf72d]{position:relative;z-index:2;display:grid;width:100px;height:100px;margin:18px 0 12px;border:9px solid #fff;border-radius:50%;place-items:center;color:#fff;background:linear-gradient(145deg,#7788ef,#5967d3);box-shadow:0 18px 34px #4b59b747;font-size:42px}.call-stage-v21>strong[data-v-7bebf72d]{position:relative;z-index:2;max-width:86%;font-size:clamp(34px,5vw,58px);text-align:center}.call-stage-v21>small[data-v-7bebf72d]{position:relative;z-index:2;margin-top:8px;color:var(--muted);font-size:13px}.call-stage-v21.is-rolling>span[data-v-7bebf72d]{animation:v21pulse-7bebf72d .7s ease-in-out infinite alternate}.tool-action-v21[data-v-7bebf72d]{display:inline-flex;width:100%;min-height:52px;margin-top:16px;border:0;border-radius:15px;align-items:center;justify-content:center;gap:9px;color:#fff;background:linear-gradient(135deg,#6479eb,#5968d5);box-shadow:0 12px 22px #4f60c73b;font-size:14px;font-weight:900;cursor:pointer}.tool-action-v21.is-purple[data-v-7bebf72d]{background:linear-gradient(135deg,#8d6be1,#7054ce)}.tool-action-v21[data-v-7bebf72d]:disabled{box-shadow:none;cursor:not-allowed;filter:grayscale(.25);opacity:.55}.tool-action-v21 .hgi-loading-03[data-v-7bebf72d]{animation:v21spin-7bebf72d 1s linear infinite}.tool-note-v21[data-v-7bebf72d]{display:flex;margin:11px 0 0;align-items:flex-start;justify-content:center;gap:6px;color:#8a91a9;font-size:10px;line-height:1.5}.tool-notice[data-v-7bebf72d],.tool-error-v21[data-v-7bebf72d]{display:flex;margin-top:13px;padding:12px 14px;border-radius:13px;align-items:flex-start;gap:9px}.tool-notice[data-v-7bebf72d]{color:#63708e;background:#f3f6fb}.tool-notice.is-warning[data-v-7bebf72d]{color:#85662f;background:#fff7e8}.tool-notice span[data-v-7bebf72d]{display:grid}.tool-notice strong[data-v-7bebf72d]{font-size:12px}.tool-notice small[data-v-7bebf72d]{font-size:10px}.tool-error-v21[data-v-7bebf72d]{color:#ad4c4c;background:#fff0f0;font-size:11px}.side-card-v21>header h3[data-v-7bebf72d]{margin:3px 0 0;font-size:17px}.side-card-v21>header small[data-v-7bebf72d]{color:#9298ad;font-size:10px;font-weight:900}.side-card-v21>header>i[data-v-7bebf72d]{display:grid;width:38px;height:38px;border-radius:12px;place-items:center;color:#6675d4;background:#eef1ff}.stats-v21[data-v-7bebf72d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.stats-v21 span[data-v-7bebf72d]{display:grid;padding:12px 7px;border-radius:14px;place-items:center;background:#f7f8fc}.stats-v21 strong[data-v-7bebf72d]{font-size:21px}.stats-v21 small[data-v-7bebf72d]{color:#9197aa;font-size:9px}.history-v21[data-v-7bebf72d]{display:grid;max-height:255px;margin-top:13px;overflow:auto;gap:8px}.history-v21>div[data-v-7bebf72d]{display:grid;padding:9px;border-radius:13px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;background:#f7f8fc}.history-v21>div>b[data-v-7bebf72d]{display:grid;width:36px;height:36px;border-radius:12px;place-items:center;color:#fff;background:linear-gradient(145deg,#7585ea,#5d6bd1);font-size:12px}.history-v21 span[data-v-7bebf72d]{display:grid;min-width:0}.history-v21 strong[data-v-7bebf72d],.history-v21 small[data-v-7bebf72d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-v21 strong[data-v-7bebf72d]{font-size:12px}.history-v21 small[data-v-7bebf72d]{color:#9096aa;font-size:10px}.history-v21>div>i[data-v-7bebf72d]{color:#6e7bd6}.empty-v21[data-v-7bebf72d]{display:flex;min-height:105px;margin-top:13px;padding:13px;border:1px dashed #dde0ee;border-radius:14px;align-items:center;justify-content:center;gap:8px;color:#9298aa;background:#fafbfe;text-align:center;font-size:10px;line-height:1.5}.rule-v21[data-v-7bebf72d]{display:flex;padding:17px;border:1px solid #f0dfb6;border-radius:18px;gap:10px;color:#82662f;background:#fff9ec}.rule-v21 span[data-v-7bebf72d]{display:grid}.rule-v21 strong[data-v-7bebf72d]{font-size:12px}.rule-v21 small[data-v-7bebf72d]{margin-top:3px;color:#9a8152;font-size:10px;line-height:1.5}@keyframes v21pulse-7bebf72d{to{transform:scale(1.06)}}.wheel-stage-v21[data-v-7bebf72d]{position:relative;display:grid;width:min(100%,690px);aspect-ratio:1;margin:18px auto 10px;place-items:center}.wheel-aura-v21[data-v-7bebf72d]{position:absolute;top:1%;right:1%;bottom:1%;left:1%;border-radius:50%;background:radial-gradient(circle,#fff 0 42%,#7767ee1a 62%,transparent 73%)}.wheel-disc-v21[data-v-7bebf72d]{position:absolute;top:7%;right:7%;bottom:7%;left:7%;overflow:hidden;border:13px solid #7164dd;border-radius:50%;box-shadow:0 24px 50px #5045af3d,inset 0 0 0 6px #ffffffb8}.wheel-disc-v21[data-v-7bebf72d]:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid #ffffffbf;border-radius:50%}.wheel-bulbs-v21[data-v-7bebf72d]{position:absolute;z-index:3;top:4%;right:4%;bottom:4%;left:4%;border-radius:50%;background:repeating-conic-gradient(transparent 0 11deg,#fff2a3 12deg 14deg,transparent 15deg 24deg);filter:drop-shadow(0 0 4px #ffe878);mask:radial-gradient(circle,transparent 0 89%,#000 90% 94%,transparent 95%)}.wheel-pointer-v21[data-v-7bebf72d]{position:absolute;z-index:9;left:50%;top:0;display:grid;width:52px;height:67px;border:5px solid #fff;border-radius:28px 28px 13px 13px;place-items:center;color:#fff;background:linear-gradient(145deg,#a386ff,#6652d6);box-shadow:0 9px 20px #4b3abc4d;transform:translate(-50%) rotate(180deg);font-size:23px}.wheel-disc-v21>span[data-v-7bebf72d]{position:absolute;z-index:2;display:grid;width:90px;place-items:center;color:#fff;text-align:center;text-shadow:0 1px 3px #30296657;transform:translate(-50%,-50%)}.wheel-disc-v21>span i[data-v-7bebf72d]{display:grid;width:31px;height:31px;margin-bottom:3px;border-radius:10px;place-items:center;color:#6258c8;background:#ffffffe6;text-shadow:none}.wheel-disc-v21>span b[data-v-7bebf72d]{display:-webkit-box;max-width:90px;overflow:hidden;font-size:11px;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}.wheel-center-v21[data-v-7bebf72d]{position:absolute;z-index:10;display:grid;width:116px;height:116px;border:9px solid #fffffff0;border-radius:50%;place-items:center;align-content:center;color:#fff;background:linear-gradient(145deg,#8972e8,#5848cb);box-shadow:0 16px 30px #4939be5c;text-align:center}.wheel-center-v21 strong[data-v-7bebf72d]{font-size:28px;line-height:1}.wheel-center-v21 small[data-v-7bebf72d]{margin-top:4px;font-size:9px}.wheel-stage-v21.is-spinning .wheel-bulbs-v21[data-v-7bebf72d]{animation:v21spin-7bebf72d 1.2s linear infinite}.wheel-legend-v21[data-v-7bebf72d]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.wheel-legend-v21 span[data-v-7bebf72d]{display:grid;padding:8px;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;background:#f7f8fc}.wheel-legend-v21 i[data-v-7bebf72d]{color:#7668d8}.wheel-legend-v21 b[data-v-7bebf72d]{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.wheel-legend-v21 small[data-v-7bebf72d]{color:#8e93a6;font-size:8px}.student-select-v21[data-v-7bebf72d]{display:grid;margin-top:15px}.student-select-v21 span[data-v-7bebf72d]{margin-bottom:6px;color:#7c839d;font-size:10px;font-weight:800}.student-select-v21 select[data-v-7bebf72d]{min-height:46px;padding:0 13px;border:1px solid #dfe2ef;border-radius:13px;color:var(--ink);background:#fff}.selected-student-v21[data-v-7bebf72d]{display:grid;margin-top:10px;padding:10px;border:1px solid #e6e8f5;border-radius:14px;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:9px;background:#f8f9ff}.selected-student-v21>b[data-v-7bebf72d]{display:grid;width:39px;height:39px;border-radius:12px;place-items:center;color:#fff;background:linear-gradient(145deg,#7685e8,#5d69cf)}.selected-student-v21 span[data-v-7bebf72d]{display:grid}.selected-student-v21 small[data-v-7bebf72d]{color:#969caf;font-size:9px}.selected-student-v21 strong[data-v-7bebf72d]{font-size:12px}.selected-student-v21>i[data-v-7bebf72d]{color:#6474d2}.result-v21.has-result[data-v-7bebf72d]{border-color:#ddd4f9;background:linear-gradient(145deg,#fff,#faf7ff)}.result-content-v21[data-v-7bebf72d]{display:grid;margin-top:14px;grid-template-columns:55px minmax(0,1fr);align-items:center;gap:11px}.result-content-v21>i[data-v-7bebf72d]{display:grid;width:55px;height:55px;border-radius:17px;place-items:center;color:#755dcc;background:#efe9ff;font-size:26px}.result-content-v21 span[data-v-7bebf72d]{display:grid}.result-content-v21 small[data-v-7bebf72d]{color:#8e94aa;font-size:10px}.result-content-v21 strong[data-v-7bebf72d]{font-size:17px}.result-content-v21 em[data-v-7bebf72d]{color:#7866c6;font-size:10px;font-style:normal;font-weight:800}.rewards-v21>header button[data-v-7bebf72d]{display:inline-flex;min-height:36px;padding:0 10px;border:1px solid #e0e2f2;border-radius:10px;align-items:center;gap:5px;color:#6671cc;background:#fff;font-size:10px;font-weight:900}.rewards-v21>p[data-v-7bebf72d],.weight-summary-v21[data-v-7bebf72d]{display:flex;min-height:34px;margin:12px 0 8px;padding:0 10px;border-radius:10px;align-items:center;gap:6px;font-size:10px;font-weight:800}.valid[data-v-7bebf72d]{color:#3f8b68!important;background:#ebf8f1!important}.invalid[data-v-7bebf72d]{color:#a45656!important;background:#fff0f0!important}.rewards-v21>div[data-v-7bebf72d]{display:grid;max-height:285px;overflow:auto;gap:7px}.rewards-v21>div>span[data-v-7bebf72d]{display:grid;padding:8px;border-radius:12px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;background:#f8f9fc}.rewards-v21>div>span>i[data-v-7bebf72d]{display:grid;width:36px;height:36px;border-radius:11px;place-items:center;color:#705fc9;background:#ece9ff}.rewards-v21 b[data-v-7bebf72d]{display:grid;min-width:0}.rewards-v21 b strong[data-v-7bebf72d]{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.rewards-v21 b small[data-v-7bebf72d]{color:#9399ac;font-size:9px}.rewards-v21 em[data-v-7bebf72d]{color:#6d74a0;font-size:10px;font-style:normal;font-weight:800}.wheel-editor-backdrop[data-v-7bebf72d]{position:fixed;z-index:1300;top:0;right:0;bottom:0;left:0;display:flex;padding:22px;overflow:auto;align-items:center;justify-content:center;background:#1f233e73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.wheel-editor-sheet[data-v-7bebf72d]{width:min(920px,100%);max-height:calc(100vh - 44px);padding:27px;overflow:auto;border-radius:26px;background:#fff;box-shadow:0 28px 80px #1c224746}.wheel-editor-sheet>header[data-v-7bebf72d]{display:flex;justify-content:space-between;gap:18px}.wheel-editor-sheet>header h2[data-v-7bebf72d]{margin:7px 0 5px}.wheel-editor-sheet>header p[data-v-7bebf72d]{margin:0;color:var(--muted);font-size:12px}.wheel-editor-sheet>header>button[data-v-7bebf72d]{width:44px;height:44px;border:0;border-radius:13px;color:#747b94;background:#f3f4f8}.weight-summary-v21[data-v-7bebf72d]{justify-content:space-between}.weight-summary-v21 span[data-v-7bebf72d]{display:flex;gap:6px}.wheel-editor-list-v21[data-v-7bebf72d]{display:grid;gap:9px}.wheel-editor-list-v21 article[data-v-7bebf72d]{display:grid;padding:12px;border:1px solid #e7e8f2;border-radius:15px;grid-template-columns:82px minmax(150px,1.5fr) minmax(125px,1fr) 90px 90px 44px;align-items:end;gap:8px;background:#fbfbfd}.wheel-editor-list-v21 article>b[data-v-7bebf72d]{align-self:center;font-size:11px}.wheel-editor-list-v21 label[data-v-7bebf72d]{display:grid}.wheel-editor-list-v21 label span[data-v-7bebf72d]{margin-bottom:5px;color:#7c839d;font-size:10px}.wheel-editor-list-v21 input[data-v-7bebf72d],.wheel-editor-list-v21 select[data-v-7bebf72d]{min-height:43px;padding:0 9px;border:1px solid #dfe1ec;border-radius:11px;background:#fff}.wheel-editor-list-v21 article>button[data-v-7bebf72d]{width:43px;height:43px;border:0;border-radius:11px;color:#ba5a5a;background:#fff0f0}.add-reward-v21[data-v-7bebf72d]{min-height:44px;margin-top:11px;padding:0 15px;border:1px dashed #bfc5e8;border-radius:12px;color:#626fca;background:#f8f9ff;font-size:11px;font-weight:900}.wheel-editor-sheet>footer[data-v-7bebf72d]{position:sticky;bottom:-27px;display:flex;margin:17px -27px -27px;padding:15px 27px;border-top:1px solid #ececf3;justify-content:flex-end;gap:9px;background:#fffffff7}.wheel-editor-sheet>footer button[data-v-7bebf72d]{min-height:44px;padding:0 18px;border:1px solid #dfe1eb;border-radius:12px;background:#fff;font-weight:800}.wheel-editor-sheet>footer button[data-v-7bebf72d]:last-child{border:0;color:#fff;background:linear-gradient(135deg,#7f6bdd,#6651c8)}.wheel-editor-sheet button[data-v-7bebf72d]:disabled{cursor:not-allowed;opacity:.45}@media(max-width:1120px){.toolbox-grid-v21[data-v-7bebf72d]{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbox-card.is-coming[data-v-7bebf72d]{grid-column:1/-1;min-height:340px}.is-coming .toolbox-scene[data-v-7bebf72d]{height:180px}.tool-layout-v21[data-v-7bebf72d]{grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr)}}@media(max-width:1120px){.session-bar-v4[data-v-7bebf72d]{grid-template-columns:1fr 1fr 1fr}.session-bar-v4>div[data-v-7bebf72d]{grid-column:1/-1}.session-bar-v4 button[data-v-7bebf72d]{width:100%}}@media(max-width:900px){.classroom-tools-v21[data-v-7bebf72d]{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.tools-hero[data-v-7bebf72d]{min-height:230px;padding:28px}.tools-hero-scene[data-v-7bebf72d]{flex-basis:235px}.tool-layout-v21[data-v-7bebf72d]{grid-template-columns:1fr}.tool-sidebar-v21[data-v-7bebf72d]{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-sidebar-v21[data-v-7bebf72d]>*:last-child:nth-child(odd){grid-column:1/-1}.wheel-sidebar-v21 .control-card-v21[data-v-7bebf72d],.wheel-sidebar-v21 .rewards-v21[data-v-7bebf72d]{grid-row:span 2}}@media(max-width:680px){.classroom-tools-v21[data-v-7bebf72d]{width:100%;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.tools-hero[data-v-7bebf72d]{min-height:250px;margin:0 0 14px;padding:19px 18px 22px;border-radius:23px;align-items:flex-start}.tools-back[data-v-7bebf72d]{margin:-5px 0 8px}.tools-hero h1[data-v-7bebf72d]{max-width:70%;font-size:29px}.tools-hero p[data-v-7bebf72d]{max-width:68%;font-size:12px;line-height:1.6}.tools-chips[data-v-7bebf72d]{margin-top:12px;gap:6px}.tools-chips span[data-v-7bebf72d]{min-height:30px;padding:0 9px;font-size:9px}.tools-hero-scene[data-v-7bebf72d]{position:absolute;right:-24px;bottom:-3px;width:175px;height:175px}.tools-hero-scene img[data-v-7bebf72d]{right:7px;bottom:-4px;width:130px;height:130px}.tools-hero-scene>span[data-v-7bebf72d]{left:0;top:18px;width:100px;height:72px;border-width:5px;border-radius:14px}.tools-hero-scene>span i[data-v-7bebf72d]{font-size:22px}.tools-hero-scene>span b[data-v-7bebf72d]{font-size:9px}.toolbox-grid-v21[data-v-7bebf72d]{grid-template-columns:1fr;gap:13px}.toolbox-card[data-v-7bebf72d],.toolbox-card.is-coming[data-v-7bebf72d]{min-height:0;grid-column:auto;border-radius:22px}.toolbox-scene[data-v-7bebf72d],.is-coming .toolbox-scene[data-v-7bebf72d]{height:186px}.toolbox-body[data-v-7bebf72d]{min-height:205px;padding:19px 20px}.toolbox-body>strong[data-v-7bebf72d]{font-size:23px}.toolbox-body>small[data-v-7bebf72d]{font-size:12px}.scene-board-v21[data-v-7bebf72d]{width:155px;height:122px;border-width:6px}.call-scene>i[data-v-7bebf72d]{width:46px;height:46px;border-width:5px;font-size:14px}.mini-wheel-v21[data-v-7bebf72d]{width:140px;border-width:9px}.wheel-scene img[data-v-7bebf72d]{right:1px;bottom:38px;width:75px;height:75px}.coming-scene>i[data-v-7bebf72d]{width:70px;height:70px;border-width:5px;border-radius:21px;font-size:26px}.session-bar-v4[data-v-7bebf72d]{grid-template-columns:1fr 1fr;padding:13px}.session-bar-v4>div[data-v-7bebf72d],.session-bar-v4 label[data-v-7bebf72d]:first-of-type{grid-column:1/-1}.session-bar-v4 button[data-v-7bebf72d]{padding:0 8px;font-size:10px}.absence-panel-v4>div[data-v-7bebf72d]{grid-template-columns:1fr 1fr}.quick-score-v4 header[data-v-7bebf72d]{display:grid;gap:4px}.tool-main-v21[data-v-7bebf72d]{padding:17px 13px;border-radius:22px}.tool-heading[data-v-7bebf72d]{padding:0 4px}.tool-heading h2[data-v-7bebf72d]{font-size:21px}.tool-heading p[data-v-7bebf72d]{display:none}.tool-heading>span[data-v-7bebf72d]{min-height:30px;padding:0 9px;font-size:9px}.call-stage-v21[data-v-7bebf72d]{min-height:365px;margin-top:16px;border-radius:20px}.call-stage-v21[data-v-7bebf72d]:before{width:245px;height:245px}.call-stage-v21[data-v-7bebf72d]:after{width:310px;height:310px}.call-orbit-v21[data-v-7bebf72d]{width:280px;height:280px}.call-stage-v21>span[data-v-7bebf72d]{width:82px;height:82px;border-width:7px;font-size:34px}.call-stage-v21>strong[data-v-7bebf72d]{font-size:34px}.call-stage-v21>small[data-v-7bebf72d]{font-size:11px}.tool-action-v21[data-v-7bebf72d]{min-height:50px}.tool-note-v21[data-v-7bebf72d]{padding:0 8px;font-size:9px}.tool-sidebar-v21[data-v-7bebf72d],.wheel-sidebar-v21[data-v-7bebf72d]{grid-template-columns:1fr;gap:12px}.tool-sidebar-v21[data-v-7bebf72d]>*,.tool-sidebar-v21[data-v-7bebf72d]>*:last-child:nth-child(odd),.wheel-sidebar-v21 .control-card-v21[data-v-7bebf72d],.wheel-sidebar-v21 .rewards-v21[data-v-7bebf72d]{grid-column:auto;grid-row:auto}.side-card-v21[data-v-7bebf72d]{padding:17px;border-radius:19px}.wheel-main-v21[data-v-7bebf72d]{padding:17px 5px 15px}.wheel-main-v21 .tool-heading[data-v-7bebf72d]{padding:0 12px}.wheel-stage-v21[data-v-7bebf72d]{width:100%;margin-top:10px}.wheel-disc-v21[data-v-7bebf72d]{border-width:9px}.wheel-pointer-v21[data-v-7bebf72d]{width:42px;height:57px;border-width:4px;font-size:18px}.wheel-center-v21[data-v-7bebf72d]{width:86px;height:86px;border-width:7px}.wheel-center-v21 strong[data-v-7bebf72d]{font-size:22px}.wheel-center-v21 small[data-v-7bebf72d]{font-size:7px}.wheel-disc-v21>span[data-v-7bebf72d]{width:56px}.wheel-disc-v21>span i[data-v-7bebf72d]{width:23px;height:23px;border-radius:7px;font-size:12px}.wheel-disc-v21>span b[data-v-7bebf72d]{max-width:56px;font-size:7px}.wheel-legend-v21[data-v-7bebf72d]{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 8px}.wheel-editor-backdrop[data-v-7bebf72d]{padding:0;align-items:flex-end}.wheel-editor-sheet[data-v-7bebf72d]{width:100%;max-height:88vh;padding:21px 15px calc(16px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;animation:v21sheet-7bebf72d .28s ease both}.wheel-editor-sheet>header h2[data-v-7bebf72d]{font-size:21px}.wheel-editor-sheet>header p[data-v-7bebf72d]{font-size:10px}.wheel-editor-list-v21 article[data-v-7bebf72d]{grid-template-columns:minmax(0,1fr) minmax(88px,.7fr) 44px}.wheel-editor-list-v21 article>b[data-v-7bebf72d]{grid-column:1/3}.wheel-editor-list-v21 article label[data-v-7bebf72d]:first-of-type,.wheel-editor-list-v21 article label[data-v-7bebf72d]:nth-of-type(2){grid-column:1/3}.wheel-editor-list-v21 article label[data-v-7bebf72d]:nth-of-type(3),.wheel-editor-list-v21 article label[data-v-7bebf72d]:nth-of-type(4){grid-column:auto}.wheel-editor-list-v21 article>button[data-v-7bebf72d]{grid-column:3;grid-row:1}.wheel-editor-sheet>footer[data-v-7bebf72d]{bottom:calc(-16px - env(safe-area-inset-bottom));margin:16px -15px calc(-16px - env(safe-area-inset-bottom));padding:13px 15px calc(13px + env(safe-area-inset-bottom))}.wheel-editor-sheet>footer button[data-v-7bebf72d]{flex:1}}@keyframes v21sheet-7bebf72d{0%{transform:translateY(100%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.classroom-tools-v21[data-v-7bebf72d] *,.classroom-tools-v21[data-v-7bebf72d] *:before,.classroom-tools-v21[data-v-7bebf72d] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rewards-v21>header button[data-v-7bebf72d]{min-height:44px;padding-inline:12px}.wheel-editor-list-v21 input[data-v-7bebf72d],.wheel-editor-list-v21 select[data-v-7bebf72d]{min-height:44px}.wheel-editor-list-v21 article>button[data-v-7bebf72d]{width:44px;height:44px}.wheel-actions-v21[data-v-7bebf72d]{display:grid;margin-top:16px;grid-template-columns:minmax(0,1fr) auto;gap:9px}.wheel-actions-v21 .tool-action-v21[data-v-7bebf72d]{margin-top:0}.skip-wheel-v21[data-v-7bebf72d]{display:inline-flex;min-height:52px;padding:0 14px;border:1px solid #ddd9f1;border-radius:15px;align-items:center;justify-content:center;gap:6px;color:#695eb0;background:#f7f4ff;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.skip-wheel-v21 span[data-v-7bebf72d]{display:inline-flex;letter-spacing:-9px}.skip-wheel-v21 span i[data-v-7bebf72d]:last-child{margin-left:-7px}.skip-wheel-v21[data-v-7bebf72d]:hover{border-color:#bfb5e5;background:#f0ebff}.wheel-stage-v21.is-spinning .wheel-bulbs-v21[data-v-7bebf72d]{animation:v21spin-7bebf72d .72s linear infinite}.wheel-stage-v21.is-spinning .wheel-pointer-v21[data-v-7bebf72d]{animation:v21pointer-7bebf72d .12s ease-in-out infinite alternate}.wheel-stage-v21.is-spinning .wheel-disc-v21[data-v-7bebf72d]{will-change:transform;backface-visibility:hidden}@keyframes v21pointer-7bebf72d{0%{transform:translate(-50%) rotate(176deg)}to{transform:translate(-50%) rotate(184deg)}}@media(max-width:680px){.wheel-actions-v21[data-v-7bebf72d]{grid-template-columns:1fr}.skip-wheel-v21[data-v-7bebf72d]{min-height:46px}}.wheel-stage-v21[data-v-7bebf72d]{isolation:isolate;transform:translateZ(0)}.wheel-stage-v21[data-v-7bebf72d]:before,.wheel-stage-v21[data-v-7bebf72d]:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.wheel-stage-v21[data-v-7bebf72d]:before{z-index:1;top:3.35%;right:3.35%;bottom:3.35%;left:3.35%;border:2px solid #fff9;box-shadow:0 0 0 5px #6957d7,0 0 0 8px #988aff,0 20px 45px #4636a536}.wheel-stage-v21[data-v-7bebf72d]:after{z-index:0;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,#8f7fff24 0 57%,#7560df13 65%,transparent 72%);opacity:.65;transform:scale(.96);transition:opacity .35s ease,transform .45s ease}.wheel-aura-v21[data-v-7bebf72d]{top:-1%;right:-1%;bottom:-1%;left:-1%;background:radial-gradient(circle,#fff 0 39%,#8373ed20 57%,#7260da16 66%,transparent 73%);transition:opacity .45s ease,transform .55s ease}.wheel-speed-v21[data-v-7bebf72d]{position:absolute;z-index:2;top:-.5%;right:-.5%;bottom:-.5%;left:-.5%;border-radius:50%;background:repeating-conic-gradient(from 8deg,transparent 0 10deg,#aa9bff00 11deg,#aa9bff99 12deg,#fff0 15deg,transparent 20deg);mask:radial-gradient(circle,transparent 0 70%,#000 72% 78%,transparent 80%);opacity:0;pointer-events:none;will-change:transform,opacity}.wheel-disc-v21[data-v-7bebf72d]{z-index:2;border-color:#6857d3;box-shadow:0 25px 52px #4c3cab40,inset 0 0 0 6px #ffffffc7,inset 0 0 28px #3d2f9f24;backface-visibility:hidden;contain:layout paint style;transform:translateZ(0) rotate(var(--wheel-rest-angle,0deg));transform-origin:50% 50%}.wheel-disc-v21[data-v-7bebf72d]:before{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;border-radius:50%;background:linear-gradient(145deg,#fff4 0 17%,transparent 38% 64%,#3524801f 88%);pointer-events:none}.wheel-pointer-v21[data-v-7bebf72d]{z-index:12;transform-origin:50% 10%;animation:none!important;backface-visibility:hidden;will-change:transform}.wheel-pointer-v21[data-v-7bebf72d]:after{content:"";position:absolute;right:7px;top:8px;width:9px;height:9px;border-radius:50%;background:#fff9;box-shadow:0 0 8px #fff}.wheel-bulbs-v21[data-v-7bebf72d]{z-index:5;filter:drop-shadow(0 0 3px #ffe878);will-change:transform,opacity}.wheel-center-v21[data-v-7bebf72d]{z-index:11;overflow:hidden;background:linear-gradient(145deg,#9b86f2,#5a48cd 66%,#4431ad);box-shadow:0 15px 32px #4939be61,inset 0 2px 3px #ffffff85;transform:translateZ(0)}.wheel-center-v21[data-v-7bebf72d]:before{content:"";position:absolute;top:-55%;right:-20%;bottom:-55%;left:-20%;background:linear-gradient(105deg,transparent 35%,#fff6 48%,transparent 61%);transform:translate(-70%) rotate(12deg);opacity:0;pointer-events:none}.wheel-center-v21[data-v-7bebf72d]>*{position:relative;z-index:1}.wheel-stage-v21.is-spinning[data-v-7bebf72d]:after{opacity:1;transform:scale(1.02)}.wheel-stage-v21.is-spinning .wheel-center-v21[data-v-7bebf72d]:before{animation:v21CenterShine-7bebf72d 1.5s ease-in-out infinite}.wheel-stage-v21.is-accelerating .wheel-speed-v21[data-v-7bebf72d]{opacity:.24;animation:v21SpeedRing-7bebf72d 1.05s linear infinite}.wheel-stage-v21.is-cruising .wheel-speed-v21[data-v-7bebf72d]{opacity:.72;animation:v21SpeedRing-7bebf72d .38s linear infinite}.wheel-stage-v21.is-decelerating .wheel-speed-v21[data-v-7bebf72d]{opacity:.42;animation:v21SpeedRing-7bebf72d .9s linear infinite}.wheel-stage-v21.is-settling .wheel-speed-v21[data-v-7bebf72d]{opacity:.12;animation:v21SpeedRing-7bebf72d 1.8s linear infinite}.wheel-stage-v21.is-accelerating .wheel-bulbs-v21[data-v-7bebf72d]{animation:v21spin-7bebf72d .82s linear infinite}.wheel-stage-v21.is-cruising .wheel-bulbs-v21[data-v-7bebf72d]{animation:v21spin-7bebf72d .42s linear infinite}.wheel-stage-v21.is-decelerating .wheel-bulbs-v21[data-v-7bebf72d]{animation:v21spin-7bebf72d .74s linear infinite}.wheel-stage-v21.is-settling .wheel-bulbs-v21[data-v-7bebf72d]{animation:v21spin-7bebf72d 1.25s linear infinite}@keyframes v21SpeedRing-7bebf72d{to{transform:rotate(360deg)}}@keyframes v21CenterShine-7bebf72d{0%,28%{opacity:0;transform:translate(-70%) rotate(12deg)}55%{opacity:1}82%,to{opacity:0;transform:translate(70%) rotate(12deg)}}@media(prefers-reduced-motion:reduce){.wheel-speed-v21[data-v-7bebf72d]{display:none}.wheel-stage-v21.is-spinning .wheel-bulbs-v21[data-v-7bebf72d],.wheel-stage-v21.is-spinning .wheel-center-v21[data-v-7bebf72d]:before{animation:none!important}.wheel-disc-v21[data-v-7bebf72d],.wheel-pointer-v21[data-v-7bebf72d]{will-change:auto}}.result-v21 .history-v21>div>i[data-v-7bebf72d]{display:inline-block;width:54px;min-height:25px;border:1px solid #ead8a5;border-radius:999px;background-color:#fff7dc;background-image:url(data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%2054%2025%27%3E%3Ctext%20x=%2727%27%20y=%2716%27%20text-anchor=%27middle%27%20font-family=%27Arial,sans-serif%27%20font-size=%2710%27%20font-weight=%27700%27%20fill=%27%23946c17%27%3E%E5%BE%85%E5%8F%91%E6%94%BE%3C/text%3E%3C/svg%3E);background-position:center;background-repeat:no-repeat;background-size:54px 25px;font-size:0}.result-v21 .history-v21>div>i[data-v-7bebf72d]:before{display:none}.report-brand-wrap[data-v-26bc03d0]{display:flex;align-items:center;gap:14px}.report-logo[data-v-26bc03d0]{width:154px;height:52px;object-fit:contain;object-position:left center;border-radius:0;flex-shrink:0}.report-summary[data-v-26bc03d0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-wide[data-v-26bc03d0]{grid-column:span 1}.analysis-grid[data-v-26bc03d0]{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,1fr);gap:16px;margin-top:20px}.analysis-panel[data-v-26bc03d0]{border:1px solid rgba(217,223,238,.92);border-radius:22px;padding:20px;background:linear-gradient(180deg,#fffffffa,#f8fafff0);box-shadow:0 12px 34px #25325e0f}.analysis-panel h3[data-v-26bc03d0]{margin:6px 0 14px}.analysis-practice-actions[data-v-26bc03d0]{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.analysis-practice-actions button[data-v-26bc03d0]{display:inline-flex;align-items:center;justify-content:center;gap:7px}.radar-chart[data-v-26bc03d0]{width:100%;max-width:320px;height:auto;display:block;margin:0 auto}.radar-grid[data-v-26bc03d0]{fill:none;stroke:#596be729;stroke-width:1}.radar-axis[data-v-26bc03d0]{stroke:#0f172a29;stroke-width:1}.radar-data-fill[data-v-26bc03d0]{fill:#596be733}.radar-data-stroke[data-v-26bc03d0]{fill:none;stroke:#596be7;stroke-width:2.5}.radar-dot[data-v-26bc03d0]{fill:#596be7;stroke:#fff;stroke-width:2}.radar-label[data-v-26bc03d0]{font-size:12px;text-anchor:middle;dominant-baseline:middle;fill:#0f172acc}.type-section+.type-section[data-v-26bc03d0]{margin-top:16px}.type-section-title[data-v-26bc03d0]{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#0f172a94;margin-bottom:8px}.type-row[data-v-26bc03d0]{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(15,23,42,.06);border-radius:12px}.type-row[data-v-26bc03d0]:hover{background:#596be70d}.type-row div[data-v-26bc03d0]:first-child{display:flex;flex-direction:column}.type-row span[data-v-26bc03d0]{color:#0f172a99;font-size:12px}@media(max-width:900px){.report-summary[data-v-26bc03d0],.analysis-grid[data-v-26bc03d0]{grid-template-columns:1fr}}@media(max-width:560px){.report-brand-wrap[data-v-26bc03d0]{align-items:flex-start;flex-direction:column}.report-logo[data-v-26bc03d0]{width:132px;height:40px}.analysis-panel[data-v-26bc03d0]{padding:15px;border-radius:18px}.analysis-practice-actions button[data-v-26bc03d0]{width:100%}}.teacher-workspace[data-v-b98d5f55]{display:grid;gap:18px;color:#172033}.tw-hero[data-v-b98d5f55]{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;border:1px solid #dfe7f1;border-radius:24px;background:linear-gradient(135deg,#f0f7ff,#fff 55%,#f4f1ff)}.tw-hero h1[data-v-b98d5f55]{margin:5px 0;font-size:32px}.tw-hero p[data-v-b98d5f55],.tw-detail-head p[data-v-b98d5f55],.tw-table-card header p[data-v-b98d5f55]{margin:0;color:#667085}.tw-eyebrow[data-v-b98d5f55]{color:#5768db;font-size:11px;font-weight:900;letter-spacing:.14em}.tw-tabs[data-v-b98d5f55]{display:flex;gap:8px;padding:6px;border:1px solid #e3e8f0;border-radius:16px;background:#fff}.tw-tabs button[data-v-b98d5f55]{flex:1;min-height:42px;border-radius:11px;background:transparent;color:#667085;font-weight:800}.tw-tabs button.active[data-v-b98d5f55]{background:#eef2ff;color:#4858cc}.tw-filters[data-v-b98d5f55]{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:14px;border:1px solid #e3e8f0;border-radius:16px;background:#fff}.tw-filters label[data-v-b98d5f55]{display:grid;gap:4px}.tw-filters label span[data-v-b98d5f55]{font-size:11px;color:#667085}.tw-filters input[data-v-b98d5f55],.tw-filters select[data-v-b98d5f55],.tw-filters button[data-v-b98d5f55],.tw-field input[data-v-b98d5f55],.tw-field select[data-v-b98d5f55],.tw-field textarea[data-v-b98d5f55]{min-height:40px;border:1px solid #d9e0eb;border-radius:10px;background:#fff;padding:8px 11px;color:#172033}.tw-range-buttons[data-v-b98d5f55]{display:flex;gap:5px}.tw-range-buttons button[data-v-b98d5f55]{min-width:54px}.tw-error[data-v-b98d5f55]{margin:0;padding:11px 14px;border-radius:12px;color:#b42318;background:#fff0ee}.tw-layout[data-v-b98d5f55]{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:16px;min-height:560px}.tw-course-list[data-v-b98d5f55],.tw-detail[data-v-b98d5f55],.tw-table-card[data-v-b98d5f55]{border:1px solid #e1e7ef;border-radius:20px;background:#fff}.tw-course-list[data-v-b98d5f55]{padding:10px;overflow:auto}.tw-course-list>button[data-v-b98d5f55]{position:relative;width:100%;display:grid;gap:7px;padding:15px;margin-bottom:8px;border:1px solid transparent;border-radius:14px;background:#f8fafc;text-align:left}.tw-course-list>button.active[data-v-b98d5f55]{border-color:#91a0ff;background:#f0f3ff}.tw-course-list button div[data-v-b98d5f55]{display:flex;align-items:center;justify-content:space-between;gap:8px}.tw-course-list small[data-v-b98d5f55]{color:#667085}.tw-source[data-v-b98d5f55],.tw-status[data-v-b98d5f55],.tw-readonly[data-v-b98d5f55]{padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800}.tw-source[data-v-b98d5f55]{color:#4656c8;background:#e9edff}.tw-status[data-v-b98d5f55]{position:absolute;right:12px;bottom:12px}.tw-status.submitted[data-v-b98d5f55]{color:#067647;background:#dcfae6}.tw-status.draft[data-v-b98d5f55]{color:#b54708;background:#fef0c7}.tw-status.not_started[data-v-b98d5f55]{color:#667085;background:#eaecf0}.tw-detail[data-v-b98d5f55]{padding:24px;overflow:auto}.tw-detail-head[data-v-b98d5f55]{display:flex;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid #e7ebf1}.tw-detail-head span[data-v-b98d5f55]{color:#5768db;font-weight:800}.tw-detail-head h2[data-v-b98d5f55]{margin:5px 0;font-size:25px}.tw-readonly[data-v-b98d5f55]{height:max-content;color:#475467!important;background:#f2f4f7}.tw-field[data-v-b98d5f55]{display:grid;gap:7px;margin-top:16px}.tw-field>span[data-v-b98d5f55]{font-size:12px;font-weight:800}.tw-field textarea[data-v-b98d5f55]{resize:vertical;line-height:1.6}.tw-field textarea[readonly][data-v-b98d5f55],.tw-field input[readonly][data-v-b98d5f55]{background:#f7f8fa;color:#475467}.tw-files[data-v-b98d5f55]{margin-top:20px}.tw-section-title[data-v-b98d5f55],.tw-file[data-v-b98d5f55],.tw-actions[data-v-b98d5f55]{display:flex;align-items:center;justify-content:space-between;gap:12px}.tw-section-title>div[data-v-b98d5f55]{display:grid;gap:4px}.tw-section-title small[data-v-b98d5f55]{color:#667085}.tw-upload[data-v-b98d5f55]{padding:9px 14px;border-radius:10px;background:#eef2ff;color:#4858cc;font-weight:800;cursor:pointer}.tw-upload input[data-v-b98d5f55]{display:none}.tw-file[data-v-b98d5f55]{padding:11px 0;border-bottom:1px solid #edf0f4}.tw-file>span[data-v-b98d5f55]{display:flex;align-items:center;gap:8px}.tw-file small[data-v-b98d5f55]{color:#667085}.tw-file button[data-v-b98d5f55],.tw-actions button[data-v-b98d5f55]{padding:8px 12px;border-radius:9px}.danger[data-v-b98d5f55]{color:#b42318!important}.tw-feedback-grid[data-v-b98d5f55]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.tw-student-title[data-v-b98d5f55]{margin:24px 0 10px}.tw-student-title small[data-v-b98d5f55]{color:#667085;font-size:12px}.tw-student-feedback[data-v-b98d5f55]{padding:15px;margin-bottom:10px;border:1px solid #e4e9f0;border-radius:14px;background:#fafbfc}.tw-student-feedback header[data-v-b98d5f55]{display:flex;justify-content:space-between}.tw-student-feedback header span[data-v-b98d5f55]{color:#b54708;font-size:11px}.tw-student-feedback>div[data-v-b98d5f55]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tw-actions[data-v-b98d5f55]{margin-top:22px;padding-top:16px;border-top:1px solid #e7ebf1}.tw-actions span[data-v-b98d5f55]{flex:1}.tw-summary-grid[data-v-b98d5f55]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tw-summary-grid article[data-v-b98d5f55]{display:grid;gap:5px;padding:20px;border:1px solid #e1e7ef;border-radius:18px;background:#fff}.tw-summary-grid span[data-v-b98d5f55],.tw-summary-grid small[data-v-b98d5f55]{color:#667085}.tw-summary-grid strong[data-v-b98d5f55]{font-size:30px}.tw-summary-grid em[data-v-b98d5f55]{font-size:16px;font-style:normal}.tw-table-card[data-v-b98d5f55]{overflow:hidden}.tw-table-card>header[data-v-b98d5f55]{padding:18px 20px;border-bottom:1px solid #e7ebf1}.tw-table-card h2[data-v-b98d5f55]{margin:0 0 4px;font-size:19px}.tw-table-wrap[data-v-b98d5f55]{overflow:auto}.tw-table-card table[data-v-b98d5f55]{width:100%;border-collapse:collapse}.tw-table-card th[data-v-b98d5f55],.tw-table-card td[data-v-b98d5f55]{padding:13px 15px;border-bottom:1px solid #edf0f4;text-align:left;white-space:nowrap}.tw-table-card th[data-v-b98d5f55]{color:#667085;background:#f8fafc;font-size:11px}.tw-table-card td small[data-v-b98d5f55]{display:block;color:#98a2b3}.tw-missing-grid[data-v-b98d5f55]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px}.tw-missing-grid button[data-v-b98d5f55]{display:grid;gap:7px;padding:14px;border:1px solid #e4e9f0;border-radius:13px;background:#fafbfc;text-align:left}.tw-missing-grid button div[data-v-b98d5f55]{display:flex;justify-content:space-between;gap:8px}.tw-missing-grid span[data-v-b98d5f55],.tw-missing-grid small[data-v-b98d5f55]{color:#667085}.tw-missing-grid p[data-v-b98d5f55]{display:flex;gap:6px;margin:0}.tw-missing-grid b[data-v-b98d5f55]{padding:3px 7px;border-radius:8px;color:#b42318;background:#fee4e2;font-size:10px}.tw-empty[data-v-b98d5f55]{padding:28px;color:#98a2b3;text-align:center}.tw-modal-shell[data-v-b98d5f55]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:20px;background:#10182873}.tw-modal[data-v-b98d5f55]{width:min(640px,100%);max-height:90vh;overflow:auto;padding:22px;border-radius:20px;background:#fff;box-shadow:0 24px 80px #1018283d}.tw-modal>header[data-v-b98d5f55],.tw-modal>footer[data-v-b98d5f55]{display:flex;align-items:center;justify-content:space-between;gap:12px}.tw-modal header h2[data-v-b98d5f55]{margin:3px 0}.tw-modal header span[data-v-b98d5f55]{color:#667085;font-size:11px}.tw-form-row[data-v-b98d5f55]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.tw-modal footer[data-v-b98d5f55]{margin-top:20px;justify-content:flex-end}@media(max-width:900px){.tw-layout[data-v-b98d5f55]{grid-template-columns:1fr}.tw-course-list[data-v-b98d5f55]{max-height:360px}.tw-summary-grid[data-v-b98d5f55]{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-missing-grid[data-v-b98d5f55]{grid-template-columns:1fr}.tw-feedback-grid[data-v-b98d5f55],.tw-student-feedback>div[data-v-b98d5f55]{grid-template-columns:1fr}.tw-hero[data-v-b98d5f55]{padding:22px}.tw-form-row[data-v-b98d5f55]{grid-template-columns:1fr}}@media(max-width:560px){.tw-hero[data-v-b98d5f55]{align-items:flex-start;flex-direction:column}.tw-hero h1[data-v-b98d5f55]{font-size:27px}.tw-summary-grid[data-v-b98d5f55]{grid-template-columns:1fr 1fr}.tw-filters[data-v-b98d5f55]>*{flex:1 1 130px}.tw-range-buttons[data-v-b98d5f55]{flex-basis:100%}.tw-detail[data-v-b98d5f55]{padding:16px}.tw-file[data-v-b98d5f55]{align-items:flex-start;flex-direction:column}}:root{--bg: #f6f7f4;--sidebar: #fcfcfa;--panel: #ffffff;--panel-soft: #f4f6f8;--border: #e1e5e8;--border-strong: #ccd4da;--text: #17202a;--muted: #687584;--primary: #2563eb;--primary-dark: #1d4ed8;--accent: #12343b;--success: #138a63;--warning: #b7791f;--error: #d64545;--shadow: 0 18px 42px rgba(18, 52, 59, .08);--shadow-soft: 0 10px 26px rgba(18, 52, 59, .06);--mobile-header-height: 62px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:linear-gradient(180deg,#ffffffc7,#f6f7f4fa 46%,#f6f7f4),linear-gradient(90deg,#2563eb0d,#138a630d);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer;border:none}.product-shell{min-height:100vh;background:linear-gradient(90deg,rgba(37,99,235,.03) 0 1px,transparent 1px) 0 0 / 42px 42px,linear-gradient(180deg,rgba(19,138,99,.025) 0 1px,transparent 1px) 0 0 / 42px 42px}.app-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 28px;background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(204,212,218,.72);position:sticky;top:0;z-index:20;box-shadow:0 8px 24px #12343b0a}.header-left,.header-right{display:flex;align-items:center;gap:12px;min-width:0}.header-right{justify-content:flex-end}.brand-block{display:flex;align-items:center;gap:12px;background:transparent;min-width:0;padding:4px;border-radius:16px;text-align:left}.brand-block:hover{background:#f4f6f8b8}.brand-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#1f6fff,#46a3ff);color:#fff;display:grid;place-items:center;font-weight:700}.brand-logo{width:56px;height:56px;object-fit:contain;border-radius:16px;flex-shrink:0}.brand-copy{display:flex;flex-direction:column;align-items:flex-start}.brand-copy strong{font-size:17px;line-height:1.2}.brand-copy span{font-size:12px;color:var(--muted);line-height:1.2}.icon-button,.text-button,.primary-button,.ghost-chip{border-radius:999px;transition:.18s ease}.icon-button{width:40px;height:40px;background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.friend-icon-button{position:relative;display:grid;place-items:center;font-size:17px;background:linear-gradient(135deg,#fff,#eef7ff)}.friend-icon-button i{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;font-size:10px;font-style:normal;font-weight:800;line-height:14px;box-shadow:0 6px 12px #ef444438}.checkin-header-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:40px;min-width:58px;padding:0 12px;border-radius:999px;background:linear-gradient(180deg,#fffbebfa,#fffffff5);color:#9a5a12;border:1px solid rgba(214,145,39,.24);box-shadow:var(--shadow-soft);font-size:16px}.checkin-header-trigger strong{font-size:13px;line-height:1}.primary-button{background:linear-gradient(135deg,var(--primary) 0%,#2b7de1 100%);color:#fff;padding:10px 16px;box-shadow:0 10px 22px #2563eb2e}.primary-button:hover:not(:disabled){background:var(--primary-dark)}.primary-button.large{padding:12px 18px;font-weight:600}.primary-button.compact{padding:8px 12px;font-size:13px;font-weight:700;white-space:nowrap}.primary-button:disabled{opacity:.55;cursor:not-allowed}.text-button{background:transparent;color:var(--muted);padding:6px 10px}.text-button:hover{background:var(--panel-soft);color:var(--text)}.user-pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 8px 6px 14px;box-shadow:var(--shadow-soft)}.product-main{display:flex;min-height:calc(100vh - 76px)}.product-main.module-home{display:block}.sidebar-overlay{display:none}.app-sidebar{width:304px;background:var(--sidebar);border-right:1px solid var(--border);padding:20px 14px;flex-shrink:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:inset -1px 0 #ffffffc7}.sidebar-section{display:flex;flex-direction:column;gap:10px}.sidebar-section+.sidebar-section{margin-top:18px;padding-bottom:8px}.library-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:0 4px 2px}.library-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.library-head>span{min-width:48px;height:30px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#fff;border:1px solid var(--border);color:var(--text);font-size:12px;font-weight:800;box-shadow:var(--shadow-soft)}.library-subject{--subject: var(--primary);display:flex;flex-direction:column;gap:8px;background:#ffffffd6;border:1px solid rgba(204,212,218,.78);border-left:4px solid color-mix(in srgb,var(--subject) 72%,#ffffff);border-radius:8px;padding:8px;box-shadow:0 8px 18px #12343b09}.library-subject+.library-subject{margin-top:10px}.library-subject.tone-chinese{--subject: #b45309}.library-subject.tone-math{--subject: #2563eb}.library-subject.tone-english{--subject: #0f766e}.library-subject.tone-physics{--subject: #7c3aed}.library-subject.tone-chemistry{--subject: #0891b2}.library-subject.tone-biology{--subject: #15803d}.library-subject.tone-politics{--subject: #be123c}.library-subject.tone-history{--subject: #92400e}.library-subject.tone-geography{--subject: #047857}.library-subject.tone-other{--subject: #64748b}.subject-toggle,.paper-volume-toggle,.paper-topic-toggle,.recent-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.subject-toggle{min-height:58px;padding:10px 12px;background:#fff;border:1px solid rgba(225,229,232,.92);border-radius:8px}.subject-toggle:hover,.paper-volume-toggle:hover,.paper-topic-toggle:hover,.recent-toggle:hover{background:#f9fbfc;border-color:color-mix(in srgb,var(--subject) 24%,var(--border));box-shadow:var(--shadow-soft);transform:translateY(-1px)}.subject-main{display:flex;align-items:center;gap:10px;min-width:0}.subject-main strong,.paper-volume-toggle strong,.paper-topic-toggle strong{display:block;color:var(--text);font-size:15px;line-height:1.3}.subject-main small,.paper-volume-toggle small,.paper-topic-toggle small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.recent-toggle{min-height:50px;padding:9px 11px;background:#fff;border:1px solid rgba(225,229,232,.92);border-radius:8px}.recent-toggle strong,.recent-toggle small{display:block}.recent-toggle strong{color:var(--text);font-size:14px;line-height:1.3}.recent-toggle small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3}.subject-mark{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;border-radius:8px;background:color-mix(in srgb,var(--subject) 12%,#ffffff);border:1px solid color-mix(in srgb,var(--subject) 22%,#ffffff);color:color-mix(in srgb,var(--subject) 86%,#17202a);font-weight:900}.subject-side,.paper-topic-side{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;color:var(--muted);font-size:12px;font-weight:800}.subject-side>span:first-child{min-width:30px;height:30px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--subject) 9%,#ffffff);border:1px solid color-mix(in srgb,var(--subject) 16%,#ffffff);color:var(--text)}.paper-group-chevron{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#ffffffeb;border:1px solid rgba(215,220,229,.9);color:var(--muted);font-size:13px;transition:transform .2s ease,color .2s ease,border-color .2s ease}.paper-group-chevron.open{transform:rotate(180deg);color:color-mix(in srgb,var(--subject, var(--primary)) 82%,#17202a);border-color:color-mix(in srgb,var(--subject, var(--primary)) 24%,#ffffff)}.subject-topic-list{display:flex;flex-direction:column;gap:8px}.paper-topic{border:1px solid rgba(225,229,232,.86);border-radius:8px;background:#f8fafcd1;padding:6px}.paper-topic-toggle{min-height:48px;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:transparent}.paper-topic-side .paper-group-chevron{width:26px;height:26px;border-radius:7px}.paper-group-list{display:flex;flex-direction:column;gap:6px;padding:4px 0 0}.sidebar-title{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;padding:0 8px}.session-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:11px 12px;background:transparent;border:1px solid transparent;border-radius:8px;text-align:left}.session-item-wrap{position:relative}.session-remove{position:absolute;top:12px;right:12px;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#fffffff0;color:#6f7b8cf0;font-size:16px;line-height:1;font-weight:500;border:1px solid rgba(215,220,229,.88);box-shadow:0 8px 18px #0f172a0f;opacity:0;transform:scale(.94);transition:opacity .18s ease,transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.session-item-wrap:hover .session-remove,.session-item-wrap:focus-within .session-remove,.session-item.active+.session-remove{opacity:1;transform:scale(1)}.session-remove:hover{background:#d645451a;color:var(--error);border-color:#d645452e;box-shadow:0 10px 20px #d645451f}.session-item strong{font-size:14px;color:var(--text)}.session-item span{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.session-item:hover,.session-item.active{background:#fff;border-color:var(--border);box-shadow:var(--shadow-soft)}.session-item-wrap .session-item{padding-right:44px}.sidebar-empty{color:var(--muted);font-size:13px;line-height:1.6;padding:12px 8px}.product-content{flex:1;padding:30px clamp(18px,3vw,40px);min-width:0}.chat-entry,.workspace{max-width:1220px;margin:0 auto}.module-home .chat-entry{max-width:1040px}.chat-hero{margin-bottom:18px}.paper-module-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px;padding:20px;border:1px solid rgba(225,229,232,.92);border-radius:8px;background:#ffffffc7;box-shadow:var(--shadow-soft)}.paper-module-intro h1{margin:12px 0 8px;font-size:clamp(28px,3.4vw,40px);line-height:1.16}.paper-module-intro p{margin:0;max-width:760px;color:var(--muted);line-height:1.7}.mobile-paper-library{display:none}.mobile-library-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid rgba(37,99,235,.18);border-left:4px solid var(--primary);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow-soft);text-align:left}.mobile-library-toggle span{display:flex;flex-direction:column;gap:4px;min-width:0}.mobile-library-toggle strong{color:var(--text);font-size:16px}.mobile-library-toggle small{color:var(--muted);font-size:12px;line-height:1.45}.mobile-library-toggle b{flex-shrink:0;min-width:48px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2563eb14;color:var(--primary);font-size:12px}.mobile-library-panel{margin-top:10px;border:1px solid rgba(225,229,232,.92);border-radius:8px;background:#ffffffeb;box-shadow:var(--shadow-soft);overflow:hidden}.mobile-library-panel .app-sidebar{width:100%;border-right:none;box-shadow:none}.hero-badge,.panel-kicker{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#2563eb14;color:var(--primary);border-radius:999px;font-size:12px;font-weight:600;letter-spacing:0}.chat-hero h1,.workspace h1{font-size:clamp(30px,4vw,44px);line-height:1.16;max-width:880px;margin:14px 0 10px}.chat-hero p{margin:0;max-width:760px;color:var(--muted);line-height:1.75;font-size:16px}.home-feature-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0}.home-feature-button{min-height:138px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px;border-radius:8px;border:1px solid rgba(255,255,255,.42);background:linear-gradient(135deg,#3b6fd8,#4f8df1 58%,#78b4ff);box-shadow:0 16px 32px #12343b1f;text-align:left;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.home-feature-button:after{content:"";position:absolute;right:-30px;bottom:-36px;width:112px;height:112px;border-radius:999px;background:#fff3;pointer-events:none}.home-feature-button:hover{transform:translateY(-1px);filter:saturate(1.04);box-shadow:0 18px 38px #12343b29}.home-feature-button.paper{background:linear-gradient(135deg,#2857b8,#3f78de 58%,#68a7f6)}.home-feature-button.vocabulary{background:linear-gradient(135deg,#138a63,#22a979 58%,#58c993)}.home-feature-button.chinese-practice{background:linear-gradient(135deg,#9b4d22,#c77935 56%,#e1a652)}.paper-volume{border:1px solid color-mix(in srgb,var(--subject) 18%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--subject) 4%,#ffffff);padding:6px}.paper-volume-toggle{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.volume-topic-list{display:flex;flex-direction:column;gap:7px;padding:5px 0 0 10px;border-left:2px solid color-mix(in srgb,var(--subject) 18%,transparent)}.class-pet-score-page{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:30px 0 110px}.class-pet-score-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;border:1px solid #e1e5f3;border-radius:28px;background:linear-gradient(135deg,#f4f7ff,#fbf5ff 58%,#fff9ef);box-shadow:0 18px 40px #333b7414}.class-pet-score-head>button,.class-pet-score-toolbar button,.class-pet-score-tabs button,.class-pet-rule-grid footer button,.class-pet-ledger-list button{min-height:40px;padding:0 14px;border:1px solid #dfe3ef;border-radius:12px;background:#fff;color:#536078;font-weight:800;cursor:pointer}.class-pet-score-head h1,.class-pet-score-section h2,.class-pet-score-compose h2{margin:3px 0 6px;color:#25304e}.class-pet-score-head p,.class-pet-score-section header p{margin:0;color:#758199}.class-pet-score-head-actions{display:grid;gap:5px;min-width:150px;padding:13px 16px;border:1px solid rgba(111,118,228,.16);border-radius:17px;background:#ffffffd1;text-align:right}.class-pet-score-head-actions span{color:#7c879d;font-size:12px}.class-pet-score-head-actions strong{color:#5962d2;font-size:18px}.class-pet-score-tabs{display:flex;gap:8px;margin:18px 0;padding:6px;border:1px solid #e4e7f1;border-radius:17px;background:#f7f8fc}.class-pet-score-tabs button{border-color:transparent;background:transparent}.class-pet-score-tabs button.active{border-color:#dcdff3;background:#fff;color:#5962d2;box-shadow:0 5px 14px #3a438414}.class-pet-score-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.class-pet-score-students,.class-pet-score-compose,.class-pet-score-section{padding:20px;border:1px solid #e2e5ef;border-radius:24px;background:#fff;box-shadow:0 12px 30px #2a32610d}.class-pet-score-compose{position:sticky;top:18px}.class-pet-score-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px}.class-pet-score-toolbar label{display:flex;flex:1;gap:8px;align-items:center;min-height:42px;padding:0 12px;border:1px solid #dfe3ee;border-radius:13px;background:#fafbfe}.class-pet-score-toolbar input{width:100%;border:0;outline:0;background:transparent}.class-pet-score-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.class-pet-score-student{position:relative;display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:128px;padding:12px;overflow:hidden;border:1px solid #e4e6f0;border-radius:20px;background:linear-gradient(145deg,#fbfdff,#f8f5ff);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.class-pet-score-student:hover{transform:translateY(-2px);border-color:#cbd0f1;box-shadow:0 12px 24px #39418017}.class-pet-score-student.selected{border-color:#7f87e7;box-shadow:0 0 0 3px #7077e61c}.class-pet-score-student.unavailable{opacity:.55;cursor:not-allowed}.class-pet-score-student img{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 9px 10px rgba(52,61,125,.16))}.class-pet-score-check{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:24px;height:24px;border:1px solid #d5d9e7;border-radius:8px;background:#fff;color:transparent}.class-pet-score-student.selected .class-pet-score-check{border-color:#7078df;background:#7078df;color:#fff}.class-pet-score-student-copy{display:grid;gap:4px;min-width:0}.class-pet-score-student-copy strong{color:#2b3553;font-size:16px}.class-pet-score-student-copy span{overflow:hidden;color:#5965cf;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.class-pet-score-student-copy small{color:#8a94a8}.class-pet-score-balance{display:grid;gap:1px;color:#3f4968;font-size:18px;font-weight:900;text-align:right}.class-pet-score-balance small{color:#8c95a8;font-size:9px}.class-pet-score-no-pet{display:grid;place-items:center;width:90px;height:90px;border-radius:20px;background:#f0f1f6;color:#939bac}.class-pet-score-rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.class-pet-score-rule-list button{position:relative;display:grid;gap:3px;min-height:96px;padding:12px;border:1px solid #e2e5ef;border-radius:16px;background:#fafbfe;text-align:left;cursor:pointer}.class-pet-score-rule-list button.reward{background:linear-gradient(145deg,#f1fbf6,#fbfffd)}.class-pet-score-rule-list button.penalty{background:linear-gradient(145deg,#fff5f3,#fffdfb)}.class-pet-score-rule-list button.active{border-color:#747ce1;box-shadow:0 0 0 3px #6971dd1a}.class-pet-score-rule-list button span{color:#8992a6;font-size:10px}.class-pet-score-rule-list button strong{color:#313b59}.class-pet-score-rule-list button b{position:absolute;top:10px;right:10px;color:#3eaa74;font-size:20px}.class-pet-score-rule-list button.penalty b{color:#d76b67}.class-pet-score-rule-list button small{color:#747f95}.class-pet-score-form{display:grid;gap:10px}.class-pet-score-form label,.class-pet-reverse-reason{display:grid;gap:6px;color:#63708a;font-size:12px;font-weight:800}.class-pet-score-form input,.class-pet-score-form textarea,.class-pet-reverse-reason textarea{width:100%;padding:10px 11px;border:1px solid #dfe3ed;border-radius:12px;background:#fafbfe;resize:vertical}.class-pet-score-impact{display:grid;grid-template-columns:1fr repeat(3,auto);gap:11px;align-items:center;margin:14px 0;padding:13px;border-radius:16px;background:#f5f6fb}.class-pet-score-impact>span{color:#67738b;font-weight:800}.class-pet-score-impact>div{display:grid;text-align:right}.class-pet-score-impact strong{color:#394463}.class-pet-score-impact small{color:#929bad;font-size:9px}.class-pet-score-submit{width:100%;min-height:48px}.class-pet-score-section>header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.class-pet-score-section>header span{color:#6670d2;font-size:12px;font-weight:900}.class-pet-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.class-pet-rule-grid article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px;padding:17px;border:1px solid #e2e5ef;border-radius:20px;background:#fff}.class-pet-rule-grid article.reward{background:linear-gradient(145deg,#f5fcf8,#fff)}.class-pet-rule-grid article.penalty{background:linear-gradient(145deg,#fff7f5,#fff)}.class-pet-rule-grid article.disabled{opacity:.65}.class-pet-rule-score{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#eaf8f0;color:#309a69;font-size:23px;font-weight:900}.class-pet-rule-grid article.penalty .class-pet-rule-score{background:#ffebe8;color:#ce625d}.class-pet-rule-grid h3{margin:3px 0;color:#2d3755}.class-pet-rule-grid p{margin:0;color:#7d879b;font-size:12px}.class-pet-rule-grid dl{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:11px;border-radius:13px;background:#f6f7fbdb}.class-pet-rule-grid dl div{display:grid;gap:2px;text-align:center}.class-pet-rule-grid dt{color:#929aac;font-size:9px}.class-pet-rule-grid dd{margin:0;color:#4c5872;font-weight:800}.class-pet-rule-grid footer{grid-column:1 / -1;display:flex;gap:7px;flex-wrap:wrap}.class-pet-rule-grid footer button.danger{color:#c95f5f}.class-pet-ledger-list{display:grid;gap:10px}.class-pet-ledger-list article{display:grid;grid-template-columns:60px minmax(0,1fr) 84px auto;gap:13px;align-items:center;padding:14px;border:1px solid #e4e6ef;border-radius:17px;background:#fff}.class-pet-ledger-list article.reversed{opacity:.58;background:#f7f7fa}.class-pet-ledger-delta{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;font-size:20px;font-weight:900}.class-pet-ledger-delta.reward{background:#e9f8f0;color:#329b6a}.class-pet-ledger-delta.penalty{background:#ffebe9;color:#cc625e}.class-pet-ledger-list h3{margin:2px 0;color:#303a58}.class-pet-ledger-list p,.class-pet-ledger-list small,.class-pet-ledger-list span{margin:0;color:#858fa3}.class-pet-ledger-growth{display:grid;text-align:center}.class-pet-ledger-growth strong{color:#6570d8}.class-pet-ledger-status{font-weight:800}.class-pet-rule-editor{width:min(720px,calc(100% - 24px));max-height:calc(100vh - 40px);padding:22px;overflow-y:auto;border-radius:24px;background:#fff;box-shadow:0 28px 70px #1f26523d}.class-pet-rule-editor header,.class-pet-rule-editor footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.class-pet-rule-editor header>button{width:40px;height:40px;border:0;border-radius:12px;background:#f3f4f8;cursor:pointer}.class-pet-rule-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:18px 0}.class-pet-rule-form label{display:grid;gap:6px;color:#63708a;font-size:12px;font-weight:800}.class-pet-rule-form input,.class-pet-rule-form select{min-height:42px;padding:0 11px;border:1px solid #dfe3ee;border-radius:12px;background:#fafbfe}.class-pet-rule-form .class-pet-rule-switch{display:flex;grid-column:1 / -1;gap:8px;align-items:center}.class-pet-rule-editor footer{justify-content:flex-end}.class-pet-rule-editor footer button{min-height:42px;padding:0 16px;border:1px solid #dfe3ee;border-radius:12px;background:#fff;cursor:pointer}.class-pet-danger-button{min-height:42px;padding:0 16px;border:0;border-radius:12px;background:#d75e5e;color:#fff;font-weight:900;cursor:pointer}.class-pet-overview-page{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:30px 0 110px}.class-pet-overview-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;border:1px solid #e2e5f1;border-radius:28px;background:linear-gradient(135deg,#f4f8ff,#f8f3ff 58%,#fff7ed);box-shadow:0 18px 40px #323a7414}.class-pet-overview-head>button{min-height:42px;padding:0 14px;border:1px solid #dfe3ee;border-radius:12px;background:#fff;color:#56627a;font-weight:800;cursor:pointer}.class-pet-overview-head h1{margin:3px 0 5px;color:#263150}.class-pet-overview-head p{margin:0;color:#76829a}.class-pet-overview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.class-pet-overview-summary article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:3px 11px;padding:17px;border:1px solid #e3e6f0;border-radius:20px;background:#fff;box-shadow:0 10px 24px #2d35650d}.class-pet-overview-summary i{grid-row:1 / 4;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eff1ff;color:#6169d5;font-size:20px}.class-pet-overview-summary span{color:#7f899d;font-size:11px}.class-pet-overview-summary strong{color:#2e3857;font-size:23px}.class-pet-overview-summary small{color:#969daf;font-size:9px}.class-pet-overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.class-pet-overview-card{padding:20px;border:1px solid #e2e5ef;border-radius:24px;background:#fff;box-shadow:0 12px 30px #2a32610d}.class-pet-overview-card>header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:15px}.class-pet-overview-card>header span{color:#6670d2;font-size:11px;font-weight:900}.class-pet-overview-card>header h2{margin:3px 0;color:#2d3755}.class-pet-overview-card>header p{margin:0;color:#7d879c}.class-pet-overview-card>header button{min-height:38px;padding:0 12px;border:1px solid #dde1ee;border-radius:11px;background:#fff;color:#5b65cd;font-weight:800;cursor:pointer}.class-pet-activity-card{grid-column:1 / -1}.class-pet-mini-rank{display:grid;gap:9px}.class-pet-mini-rank article{display:grid;grid-template-columns:34px 66px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;border-radius:16px;background:linear-gradient(145deg,#f7f9ff,#fbf7ff)}.class-pet-mini-rank article>b{color:#6971d6;font-size:18px;text-align:center}.class-pet-mini-rank img{width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(50,58,118,.14))}.class-pet-mini-rank article>div{display:grid;gap:3px}.class-pet-mini-rank article span{color:#8791a5;font-size:11px}.class-pet-mini-rank em{color:#45a878;font-size:18px;font-style:normal;font-weight:900}.class-pet-level-bars{display:grid;gap:12px}.class-pet-level-bars>div{display:grid;grid-template-columns:44px minmax(0,1fr) 42px;gap:9px;align-items:center;color:#6f7a92;font-size:11px}.class-pet-level-bars i{height:10px;overflow:hidden;border-radius:999px;background:#eef0f6}.class-pet-level-bars i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7e84e8,#ad7fe8)}.class-pet-activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.class-pet-activity-list article{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border-radius:15px;background:#f8f9fc}.class-pet-activity-list i{width:10px;height:10px;border-radius:50%;background:#52b583}.class-pet-activity-list i.penalty{background:#e1837e}.class-pet-activity-list div{display:grid;gap:3px}.class-pet-activity-list span{color:#8a93a6;font-size:10px}.class-pet-activity-list b{color:#4d5873}.class-pet-student-board-head label{display:flex;gap:8px;align-items:center;min-width:250px;min-height:42px;padding:0 12px;border:1px solid #dfe3ed;border-radius:13px;background:#fafbfe}.class-pet-student-board-head input{width:100%;border:0;outline:0;background:transparent}.class-pet-student-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.class-pet-student-board-grid>button{display:grid;gap:12px;padding:14px;border:1px solid #e1e5ef;border-radius:23px;background:linear-gradient(150deg,#fbfdff,#f7f2ff 62%,#fff8ef);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.class-pet-student-board-grid>button:hover{transform:translateY(-3px);border-color:#c9cef0;box-shadow:0 16px 28px #353d7a1a}.class-pet-board-stage{position:relative;display:grid;place-items:center;min-height:180px;overflow:hidden;border-radius:19px;background:radial-gradient(circle at 50% 40%,#fff 0 24%,transparent 25%),linear-gradient(160deg,#eaf6ff,#f1eaff 60%,#fff0dc)}.class-pet-board-stage:after{position:absolute;right:12%;bottom:14px;left:12%;height:18px;border-radius:50%;background:#535b941f;content:"";filter:blur(5px)}.class-pet-board-stage img{position:relative;z-index:2;width:164px;height:164px;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(56,64,126,.18))}.class-pet-board-stage>b{position:absolute;z-index:3;right:10px;bottom:10px;padding:5px 9px;border-radius:999px;background:#ffffffe6;color:#5963cd;font-size:11px}.class-pet-board-stage>span{color:#8c95a8;font-weight:800}.class-pet-board-name{display:grid;gap:3px}.class-pet-board-name span{color:#7c879c;font-size:11px}.class-pet-board-name strong{color:#2c3755;font-size:18px}.class-pet-student-board-grid dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:10px;border-radius:14px;background:#ffffffd1}.class-pet-student-board-grid dl div{display:grid;gap:2px;text-align:center}.class-pet-student-board-grid dt{color:#939bad;font-size:9px}.class-pet-student-board-grid dd{margin:0;color:#4d5874;font-weight:900}.class-pet-board-enter{display:flex;justify-content:space-between;align-items:center;color:#626bd1;font-size:11px;font-weight:900}.class-pet-leaderboard-tabs{display:flex;gap:8px;margin-bottom:8px}.class-pet-leaderboard-tabs button{min-height:40px;padding:0 15px;border:1px solid #dfe3ed;border-radius:12px;background:#f8f9fc;color:#69758d;font-weight:800;cursor:pointer}.class-pet-leaderboard-tabs button.active{border-color:#7d84e6;background:#7078df;color:#fff}.class-pet-leaderboard-note{color:#8992a5;font-size:11px}.class-pet-leaderboard-list{display:grid;gap:9px;margin-top:14px}.class-pet-leaderboard-list article{display:grid;grid-template-columns:50px 82px minmax(0,1fr) auto;gap:13px;align-items:center;padding:11px 16px;border:1px solid #e4e6ef;border-radius:18px;background:#fafbfe}.class-pet-leaderboard-list article.podium{border-color:#ddd8f4;background:linear-gradient(145deg,#fffaf0,#f7f3ff)}.class-pet-leaderboard-list article>b{color:#737bdc;font-size:24px;text-align:center}.class-pet-rank-pet{display:grid;place-items:center;width:80px;height:80px;border-radius:18px;background:#ffffffc7;color:#959daf;font-size:10px}.class-pet-rank-pet img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 7px 8px rgba(58,66,129,.14))}.class-pet-leaderboard-list article>div:nth-child(3){display:grid;gap:4px}.class-pet-leaderboard-list article>div:nth-child(3) strong{color:#2f3957;font-size:16px}.class-pet-leaderboard-list article>div:nth-child(3) span{color:#858fa3;font-size:11px}.class-pet-leaderboard-list em{color:#4c57c3;font-size:22px;font-style:normal;font-weight:900}.class-pet-detail-backdrop{position:fixed;z-index:190;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#1c23485c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.class-pet-student-detail{width:min(480px,100%);height:100%;padding:22px;overflow-y:auto;background:#fff;box-shadow:-20px 0 50px #19204b33}.class-pet-student-detail>header{display:flex;justify-content:space-between;gap:12px;align-items:center}.class-pet-student-detail>header h2{margin:3px 0;color:#2e3856}.class-pet-student-detail>header button{width:42px;height:42px;border:0;border-radius:13px;background:#f1f3f8;cursor:pointer}.class-pet-detail-hero{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center;margin:18px 0;padding:15px;border-radius:24px;background:linear-gradient(145deg,#eaf7ff,#f1eaff 58%,#fff1df)}.class-pet-detail-hero img{width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 14px 14px rgba(54,63,126,.18))}.class-pet-detail-hero span{color:#727dcc;font-weight:900}.class-pet-detail-hero h3{margin:5px 0;color:#303a58;font-size:30px}.class-pet-detail-hero p{color:#778299}.class-pet-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.class-pet-detail-stats div{display:grid;gap:4px;padding:12px;border-radius:14px;background:#f6f7fb;text-align:center}.class-pet-detail-stats span{color:#8b94a6;font-size:9px}.class-pet-detail-stats strong{color:#48536f}.class-pet-detail-section{margin-top:20px}.class-pet-detail-section h3{color:#303a58}.class-pet-growth-timeline,.class-pet-detail-ledger{display:grid;gap:9px}.class-pet-growth-timeline article{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border-radius:14px;background:#f7f8fc}.class-pet-growth-timeline i{width:12px;height:12px;border-radius:50%;background:#7d85e7;box-shadow:0 0 0 4px #ebeefe}.class-pet-growth-timeline div,.class-pet-detail-ledger article>div{display:grid;gap:3px}.class-pet-growth-timeline span,.class-pet-detail-ledger span{color:#8a93a6;font-size:10px}.class-pet-detail-ledger article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e6e8f0;border-radius:14px}.class-pet-detail-ledger article.reversed{opacity:.58;background:#f6f6f8}.class-pet-detail-ledger b{color:#5963cd;font-size:17px}@media(max-width:1000px){.class-pet-score-layout{grid-template-columns:1fr}.class-pet-score-compose{position:static}.class-pet-score-student-grid,.class-pet-rule-grid{grid-template-columns:1fr}.class-pet-overview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.class-pet-overview-grid{grid-template-columns:1fr}.class-pet-activity-card{grid-column:auto}.class-pet-student-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.class-pet-score-page{width:100%;padding:10px 12px 100px}.class-pet-score-head{grid-template-columns:1fr;padding:17px;border-radius:22px}.class-pet-score-head>button{justify-self:start}.class-pet-score-head-actions{width:100%;text-align:left}.class-pet-score-tabs{position:sticky;z-index:30;top:0;overflow-x:auto}.class-pet-score-tabs button{flex:1 0 auto}.class-pet-score-students,.class-pet-score-compose,.class-pet-score-section{padding:14px;border-radius:19px}.class-pet-score-toolbar{align-items:stretch;flex-wrap:wrap}.class-pet-score-toolbar label{flex-basis:100%}.class-pet-score-toolbar button{flex:1}.class-pet-score-student{grid-template-columns:92px minmax(0,1fr);min-height:116px}.class-pet-score-student img{width:92px;height:92px}.class-pet-score-balance{grid-column:2;justify-self:start;display:flex;gap:4px;align-items:baseline;text-align:left}.class-pet-score-rule-list{grid-template-columns:1fr}.class-pet-score-compose{padding-bottom:18px}.class-pet-score-submit{position:sticky;bottom:78px;z-index:20;box-shadow:0 10px 24px #474d9d38}.class-pet-score-impact{grid-template-columns:repeat(3,1fr)}.class-pet-score-impact>span{grid-column:1 / -1}.class-pet-score-section>header{align-items:stretch;flex-direction:column}.class-pet-rule-grid article{grid-template-columns:56px minmax(0,1fr);padding:14px}.class-pet-rule-score{width:54px;height:54px}.class-pet-ledger-list article{grid-template-columns:52px minmax(0,1fr)}.class-pet-ledger-delta{width:50px;height:50px}.class-pet-ledger-growth{grid-column:2;justify-self:start;display:flex;gap:5px;align-items:baseline}.class-pet-ledger-list button,.class-pet-ledger-status{grid-column:1 / -1;width:100%}.class-pet-rule-editor{width:100%;max-height:calc(100vh - 12px);border-radius:24px 24px 10px 10px}.class-pet-rule-form{grid-template-columns:1fr}.class-pet-rule-form .class-pet-rule-switch{grid-column:1}.class-pet-overview-page{width:100%;padding:10px 12px 100px}.class-pet-overview-head{grid-template-columns:1fr;padding:17px;border-radius:22px}.class-pet-overview-head>button{justify-self:start}.class-pet-overview-summary{grid-template-columns:1fr 1fr;gap:8px}.class-pet-overview-summary article{grid-template-columns:34px minmax(0,1fr);padding:12px}.class-pet-overview-summary i{width:34px;height:34px}.class-pet-overview-summary strong{font-size:18px}.class-pet-overview-card{padding:14px;border-radius:19px}.class-pet-overview-card>header,.class-pet-student-board-head{align-items:stretch;flex-direction:column}.class-pet-student-board-head label{min-width:0;width:100%}.class-pet-student-board-grid{grid-template-columns:1fr}.class-pet-board-stage{min-height:190px}.class-pet-board-stage img{width:178px;height:178px}.class-pet-activity-list{grid-template-columns:1fr}.class-pet-mini-rank article{grid-template-columns:28px 58px minmax(0,1fr) auto;padding:8px}.class-pet-mini-rank img{width:58px;height:58px}.class-pet-leaderboard-tabs{overflow-x:auto}.class-pet-leaderboard-tabs button{flex:1 0 auto}.class-pet-leaderboard-list article{grid-template-columns:34px 68px minmax(0,1fr);padding:9px}.class-pet-rank-pet{width:66px;height:66px}.class-pet-rank-pet img{width:64px;height:64px}.class-pet-leaderboard-list em{grid-column:3;justify-self:start;font-size:18px}.class-pet-detail-backdrop{align-items:flex-end}.class-pet-student-detail{width:100%;height:min(92vh,780px);padding:17px;border-radius:24px 24px 0 0}.class-pet-detail-hero{grid-template-columns:150px minmax(0,1fr)}.class-pet-detail-hero img{width:150px;height:150px}.class-pet-detail-stats{grid-template-columns:1fr}}.home-feature-button.physics-practice{background:linear-gradient(135deg,#17438a,#2563a8 54%,#22a3b8)}.home-feature-button.math-practice{background:linear-gradient(135deg,#6b21a8,#9333aa 52%,#db2777)}.home-feature-button.schedule{background:linear-gradient(135deg,#a86613,#d49222 58%,#efbd55)}.home-feature-button.analysis{background:linear-gradient(135deg,#6532c7,#8351e6 58%,#a47bf4)}.home-feature-button.learning-monitor{background:linear-gradient(135deg,#087d98,#0ea5c3 58%,#4fc5da)}.home-feature-button.tom-teacher{background:linear-gradient(135deg,#334155,#2563eb 48%,#14b8a6)}.home-feature-button.tom-space{background:linear-gradient(135deg,#14532d,#d97706 52%,#facc15)}.home-feature-button.management{background:linear-gradient(135deg,#3f3f46,#52525b,#71717a)}.home-feature-button span{position:relative;z-index:1;color:#ffffffd6;font-size:13px;font-weight:800}.home-feature-button strong{position:relative;z-index:1;color:#fff;font-size:17px;line-height:1.35;text-shadow:0 1px 8px rgba(15,23,42,.14)}.home-feature-button small{position:relative;z-index:1;color:#ffffffd1;font-size:13px;line-height:1.5}.chat-shell,.panel{background:#ffffffeb;border:1px solid rgba(231,233,238,.92);border-radius:8px;box-shadow:var(--shadow)}.chat-shell{padding:22px}.composer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(225,229,232,.92)}.composer-head h2{margin:8px 0 0;font-size:24px;line-height:1.25}.composer-head>span{color:var(--muted);font-size:13px;line-height:1.5;text-align:right}.chat-thread{min-height:150px;display:flex;flex-direction:column;gap:14px;margin-bottom:18px}.bubble{max-width:78%;padding:14px 16px;border-radius:8px;line-height:1.75;font-size:15px}.bubble.assistant{background:#f5f7fb;color:var(--text);border:1px solid var(--border)}.bubble.user{margin-left:auto;background:linear-gradient(135deg,var(--primary) 0%,#2b7de1 100%);color:#fff}.bubble.status{border-style:dashed}.composer textarea,textarea,input[type=text],input[type=password]{width:100%;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:16px 18px;transition:border-color .18s ease,box-shadow .18s ease}.composer textarea:focus,textarea:focus,input[type=text]:focus,input[type=password]:focus{border-color:#1f6fff8c;box-shadow:0 0 0 4px #1f6fff14;outline:none}.composer-actions{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:14px}.quick-prompts{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.ghost-chip{background:#f4f6f8db;border:1px solid var(--border);color:var(--muted);padding:9px 12px;min-height:38px;display:inline-flex;align-items:center;justify-content:center}.ghost-chip:hover{background:#fff;color:var(--text)}.composer-error,.auth-error{color:var(--error);font-size:13px;margin-top:12px}.tom-assistant{max-width:1180px;margin:0 auto}.tom-space-page{width:min(100%,960px);margin:0 auto;display:grid;gap:18px;justify-items:center}.tom-space-page-stage{position:relative;width:100%;aspect-ratio:9 / 16;max-height:min(72vh,780px);background:#111827;border-radius:8px;overflow:hidden;box-shadow:0 24px 60px #0f172a2e}.tom-space-page-viewer{width:min(100%,840px);display:grid;grid-template-columns:48px minmax(0,720px) 48px;justify-content:center;align-items:center;gap:12px}.tom-growth-card{width:min(100%,720px);display:grid;gap:8px;padding:12px 16px;border:1px solid rgba(37,99,235,.18);border-radius:8px;background:#eff6fff0;box-shadow:var(--shadow-soft)}.tom-growth-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.tom-growth-heading span{color:#1e3a8a;font-size:15px;font-weight:800}.tom-growth-heading strong{color:#1d4ed8;font-size:14px}.tom-growth-track{height:16px;overflow:hidden;border:2px solid rgba(37,99,235,.18);border-radius:999px;background:#ffffffe6}.tom-growth-fill{width:0;height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#2563eb);transition:width .35s ease}.tom-growth-card small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.4}.tom-growth-stage-picker{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.tom-growth-stage-button{min-height:34px;border:1px solid rgba(37,99,235,.2);border-radius:999px;background:#fff;color:#1e40af;cursor:pointer;padding:6px 14px;font-size:13px;font-weight:800;transition:transform .16s ease,background .16s ease,color .16s ease,opacity .16s ease}.tom-growth-stage-button:hover:not(:disabled){transform:translateY(-1px);background:#dbeafe}.tom-growth-stage-button.active{border-color:#2563eb;background:#2563eb;color:#fff}.tom-growth-stage-button:disabled{cursor:not-allowed;opacity:.5}.tom-space-page-nav{width:48px;height:48px;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#fffffff0;box-shadow:var(--shadow-soft);color:var(--text);cursor:pointer;display:inline-grid;place-items:center;font-size:2rem;line-height:1;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.tom-space-page-nav:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow)}.tom-space-page-nav:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.tom-space-page-score{width:min(100%,720px);min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border:1px solid rgba(37,99,235,.16);border-radius:8px;background:#ffffffeb;box-shadow:var(--shadow-soft)}.tom-space-page-score span{color:var(--muted);display:grid;gap:4px;font-size:14px;font-weight:800}.tom-space-page-score small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.35}.tom-space-page-score strong{color:var(--primary);font-size:1.5rem;line-height:1}.tom-space-page-score-actions{display:inline-flex;align-items:center;gap:10px}.tom-shop-button{width:38px;height:38px;border:1px solid rgba(37,99,235,.16);border-radius:999px;background:#fff;box-shadow:var(--shadow-soft);cursor:pointer;display:inline-grid;place-items:center;font-size:1.18rem;line-height:1;transition:transform .16s ease,box-shadow .16s ease}.tom-shop-button:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.tom-space-page-video,.tom-space-page-fallback{width:100%;height:100%;display:block;object-fit:contain;background:#111827}.tom-space-page-lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;padding:18px;pointer-events:none;background:linear-gradient(180deg,#11182700 55%,#11182775)}.tom-space-page-lock-overlay span{width:48px;height:48px;display:inline-grid;place-items:center;border-radius:999px;background:#fffffff0;box-shadow:var(--shadow-soft);font-size:1.45rem}.tom-space-page-actions{display:inline-flex;align-items:center;gap:14px;min-height:62px;padding:8px 14px;border:1px solid rgba(217,119,6,.2);border-radius:8px;background:#fffbebeb}.tom-unlock-button{min-width:112px;height:48px;border:1px solid rgba(37,99,235,.18);border-radius:999px;background:#fff;box-shadow:var(--shadow-soft);color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.tom-unlock-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow)}.tom-unlock-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.tom-unlock-button span{font-size:1.2rem;line-height:1}.tom-unlock-button strong{min-width:auto;color:var(--primary);font-size:1rem;line-height:1}.tom-chicken-button{width:48px;height:48px;border:0;border-radius:999px;background:#f59e0b;box-shadow:0 10px 22px #d977063d;color:#111827;cursor:pointer;display:inline-grid;place-items:center;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.tom-chicken-button span{font-size:1.65rem;line-height:1}.tom-chicken-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 26px #d977064d}.tom-chicken-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.tom-space-page-actions strong{min-width:24px;color:#7c2d12;font-size:1.35rem;text-align:center}.tom-space-page-error{margin:0;color:var(--error);font-weight:700}.tom-shop-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:18px;background:#0f172a52;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tom-shop-modal{width:min(540px,calc(100vw - 32px));max-height:calc(100vh - 36px);overflow-y:auto;display:grid;gap:14px;padding:16px;border-radius:12px;border:1px solid rgba(203,213,225,.86);background:#fffffffa;box-shadow:0 24px 60px #0f172a38}.tom-shop-modal header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tom-shop-modal h3{margin:0;font-size:19px}.tom-shop-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid rgba(14,165,233,.16);border-radius:10px;background:linear-gradient(135deg,#f0f9ffeb,#fffffffa)}.tom-shop-item-icon{width:46px;height:46px;display:inline-grid;place-items:center;border-radius:999px;background:#0ea5e91f;font-size:1.35rem}.tom-shop-item-image{width:58px;height:58px;object-fit:cover;border-radius:14px;box-shadow:0 6px 14px #f472b638}.tom-shop-image-wrap{position:relative;width:58px;padding-bottom:18px}.tom-shop-stock-badge{position:absolute;left:50%;bottom:0;min-width:max-content;transform:translate(-50%);padding:3px 7px;border-radius:999px;background:#16a34a;color:#fff;box-shadow:0 4px 10px #16a34a3d;font-size:10px;font-weight:900;line-height:1.2}.tom-shop-stock-badge.empty{background:#94a3b8;box-shadow:none}.tom-shop-prize-item{grid-template-columns:58px minmax(0,1fr) auto;border-color:#f472b63d;background:linear-gradient(135deg,#fdf2f8f5,#fffffffa)}.tom-shop-prize-button{background:linear-gradient(135deg,#ec4899,#a855f7)}.tom-shop-feedback{margin:0;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:800}.tom-shop-feedback.success{color:var(--success);background:#169b621a}.tom-shop-feedback.error{color:var(--error);background:#d6454514}.tom-shop-item strong{color:var(--text);font-size:15px}.tom-shop-item p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.tom-shop-buy-button{min-width:84px;min-height:38px;border:0;border-radius:999px;background:var(--primary);color:#fff;cursor:pointer;font-size:13px;font-weight:800;padding:0 12px;transition:transform .16s ease,opacity .16s ease}.tom-shop-buy-button:hover:not(:disabled){transform:translateY(-1px)}.tom-management-page{width:min(1180px,100%);margin:0 auto;display:grid;gap:20px}.tom-management-heading,.tom-product-create-card,.tom-product-management-card,.tom-management-denied{border:1px solid rgba(148,163,184,.25);background:#fffffff5;box-shadow:0 16px 36px #0f172a14}.tom-management-heading{padding:24px;border-radius:18px;background:linear-gradient(135deg,#f1f5f9fa,#fffffffa)}.tom-management-heading span{color:#64748b;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tom-management-heading h2,.tom-product-create-card h3,.tom-product-list-heading h3{margin:6px 0 0;color:#172033}.tom-management-heading p{margin:8px 0 0;color:#64748b;line-height:1.6}.tom-product-create-card{padding:20px;border-radius:16px}.tom-product-create-grid{margin-top:16px;display:grid;grid-template-columns:1.4fr .8fr .8fr 1.4fr auto;align-items:end;gap:12px}.tom-product-create-grid label,.tom-product-edit-fields label,.tom-product-image-field{display:grid;gap:7px}.tom-product-image-field>span{color:#64748b;font-size:12px;font-weight:800}.tom-product-image-input{display:none}.tom-product-image-dropzone{width:100%;min-height:94px;display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;padding:10px;border:2px dashed rgba(100,116,139,.38);border-radius:12px;background:#f8fafcf5;color:#475569;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.tom-product-image-dropzone:hover,.tom-product-image-dropzone.dragging{border-color:#2563eb;background:#dbeafeb8}.tom-product-image-dropzone.dragging{transform:scale(1.015)}.tom-product-image-dropzone.selected{border-style:solid}.tom-product-image-dropzone>img{width:70px;height:70px;flex:0 0 70px;object-fit:cover;border-radius:10px}.tom-product-image-drop-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:999px;background:#2563eb1f;color:#2563eb;font-size:24px;font-weight:800}.tom-product-image-drop-copy{min-width:0;display:grid;gap:3px}.tom-product-image-drop-copy strong,.tom-product-image-drop-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tom-product-image-drop-copy strong{color:#334155;font-size:13px}.tom-product-image-drop-copy small{color:#64748b;font-size:11px}.tom-product-create-grid label>span,.tom-product-edit-fields label>span{color:#64748b;font-size:12px;font-weight:800}.tom-product-create-grid input,.tom-product-edit-fields input{min-width:0;width:100%;min-height:40px;border:1px solid rgba(148,163,184,.4);border-radius:10px;padding:8px 10px;background:#fff;color:#172033;font:inherit}.tom-product-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.tom-product-list-heading span{color:#64748b;font-size:13px;font-weight:700}.tom-product-management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tom-product-management-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:16px;border-radius:16px}.tom-product-management-card>img{width:150px;height:150px;object-fit:cover;border-radius:14px;background:#f1f5f9}.tom-product-edit-fields{display:grid;gap:10px}.tom-stock-editor{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}.tom-stock-editor button{border:0;border-radius:10px;background:#e2e8f0;color:#334155;cursor:pointer;font-size:18px;font-weight:900}.tom-product-enabled-field{grid-template-columns:auto 1fr;align-items:center}.tom-product-enabled-field input{width:18px;min-height:18px}.tom-product-card-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px}.tom-product-primary-button,.tom-product-delete-button{min-height:40px;border:0;border-radius:10px;padding:0 16px;cursor:pointer;font-weight:800}.tom-product-primary-button{background:#2563eb;color:#fff}.tom-product-delete-button{background:#dc262617;color:#b91c1c}.tom-product-primary-button:disabled,.tom-product-delete-button:disabled{cursor:not-allowed;opacity:.5}.tom-management-feedback,.tom-management-status,.tom-management-denied{margin:0;padding:14px 16px;border-radius:12px;color:#64748b}.tom-management-feedback.success{color:#047857;background:#10b9811a}.tom-management-feedback.error{color:#b91c1c;background:#dc262614}.physics-practice-hub,.physics-choice-page{width:min(980px,100%);margin:0 auto}.physics-practice-hub-head,.physics-choice-header{padding:24px;border:1px solid rgba(37,99,168,.16);border-radius:18px;background:linear-gradient(135deg,#eff6fffa,#ecfefff0);box-shadow:0 16px 34px #1e40af14}.physics-practice-hub-head h2,.physics-choice-header h2{margin:5px 0 0;color:#172033}.physics-practice-hub-head p,.physics-choice-header p{margin:8px 0 0;color:#64748b;line-height:1.6}.physics-practice-hub-grid{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.physics-practice-hub-card{min-height:190px;display:grid;align-content:center;justify-items:start;gap:9px;padding:24px;border:0;border-radius:18px;background:linear-gradient(135deg,#1e3a8a,#2563a8 56%,#0891b2);color:#fff;cursor:pointer;text-align:left;box-shadow:0 18px 38px #1e40af33;transition:transform .18s ease,box-shadow .18s ease}.physics-practice-hub-card:hover{transform:translateY(-2px);box-shadow:0 22px 44px #1e40af42}.physics-practice-hub-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#ffffff26;font-size:25px}.physics-practice-hub-card strong{font-size:20px}.physics-practice-hub-card small{max-width:420px;color:#ffffffd1;font-size:13px;line-height:1.55}.physics-choice-page{display:grid;gap:16px}.physics-choice-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.physics-new-session-button,.physics-complete-card button,.physics-answer-feedback>button{min-height:42px;border:0;border-radius:11px;padding:0 18px;background:#2563a8;color:#fff;cursor:pointer;font-weight:800}.physics-new-session-button:disabled{cursor:not-allowed;opacity:.55}.physics-progress-card,.physics-question-card,.physics-complete-card,.physics-practice-status{border:1px solid rgba(148,163,184,.24);border-radius:16px;background:#fffffffa;box-shadow:0 14px 30px #0f172a12}.physics-progress-card{display:grid;gap:11px;padding:16px 20px}.physics-progress-copy{display:flex;justify-content:space-between;gap:16px;color:#334155}.physics-progress-copy span{color:#64748b;font-size:13px}.physics-progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e2e8f0}.physics-progress-track span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#2563a8,#06b6d4);transition:width .24s ease}.physics-question-card{padding:24px}.physics-question-meta{display:flex;flex-wrap:wrap;gap:8px}.physics-question-meta span{padding:5px 9px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:800}.physics-question-card h3{margin:20px 0;color:#172033;font-size:clamp(18px,2.2vw,23px);line-height:1.65}.physics-question-assets{display:grid;gap:12px;margin-bottom:18px}.physics-question-assets img{max-width:100%;max-height:420px;margin:0 auto;object-fit:contain;border-radius:12px}.physics-option-list{display:grid;gap:11px}.physics-option-button{width:100%;min-height:58px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:11px 14px;border:1px solid rgba(148,163,184,.38);border-radius:13px;background:#fff;color:#334155;cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.physics-option-button:hover:not(:disabled){transform:translateY(-1px);border-color:#2563a8;background:#eff6ff}.physics-option-button strong{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e2e8f0;color:#334155}.physics-option-button.correct{border-color:#16a34a;background:#dcfce7;color:#166534}.physics-option-button.correct strong{background:#16a34a;color:#fff}.physics-option-button.incorrect{border-color:#dc2626;background:#fee2e2;color:#991b1b}.physics-option-button.incorrect strong{background:#dc2626;color:#fff}.physics-option-button.muted{opacity:.58}.physics-answer-feedback{margin-top:18px;padding:16px;border-radius:13px}.physics-answer-feedback.correct{background:#ecfdf5;color:#166534}.physics-answer-feedback.incorrect{background:#fff7ed;color:#9a3412}.physics-answer-feedback>strong{font-size:17px}.physics-answer-feedback>p{margin:6px 0 0;line-height:1.55}.physics-answer-feedback>button{margin-top:14px}.physics-answer-explanation{margin-top:13px;padding:13px;border-radius:11px;background:#ffffffc2}.physics-answer-explanation span{font-weight:900}.physics-answer-explanation p{margin:6px 0 0;line-height:1.65}.physics-complete-card{display:grid;justify-items:center;gap:10px;padding:42px 24px;text-align:center}.physics-complete-card>span{font-size:46px}.physics-complete-card h3,.physics-complete-card p{margin:0}.physics-complete-card p{color:#64748b}.physics-practice-status,.physics-practice-error{margin:0;padding:16px;color:#64748b;text-align:center}.physics-practice-error{border-radius:12px;background:#fee2e2;color:#b91c1c;font-weight:700}@media(max-width:700px){.physics-practice-hub-grid{grid-template-columns:1fr}.physics-choice-header,.physics-progress-copy{align-items:stretch;flex-direction:column}.physics-new-session-button{width:100%}.physics-question-card{padding:18px}}@media(max-width:980px){.tom-product-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tom-product-management-grid{grid-template-columns:1fr}}@media(max-width:620px){.tom-product-create-grid,.tom-product-management-card{grid-template-columns:1fr}.tom-product-management-card>img{width:100%;height:210px}.tom-product-card-actions{grid-column:auto}}.tom-shop-buy-button:disabled{cursor:not-allowed;opacity:.45}.tom-stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:stretch;margin-bottom:18px}.tom-video-wrap{position:relative;min-height:360px;overflow:hidden;border-radius:8px;background:radial-gradient(circle at 50% 42%,rgba(37,99,235,.18),transparent 42%),linear-gradient(135deg,#eef6ff,#fff 48%,#e9fbf6);border:1px solid rgba(15,23,42,.12);box-shadow:var(--shadow)}.tom-video{width:100%;height:100%;min-height:360px;display:block;object-fit:cover;background:transparent;opacity:0;transition:opacity .18s ease}.tom-video.ready{opacity:1}.tom-video-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:min(58%,360px);height:min(58%,360px);object-fit:contain;margin:auto;filter:drop-shadow(0 24px 34px rgba(15,23,42,.14))}.tom-stage-chip{position:absolute;left:14px;bottom:14px;min-height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;background:#ffffffeb;color:var(--text);border:1px solid rgba(255,255,255,.7);font-size:13px;font-weight:800;box-shadow:var(--shadow-soft)}.tom-classroom-panel,.tom-chat-shell{background:#ffffffeb;border:1px solid rgba(231,233,238,.92);border-radius:8px;box-shadow:var(--shadow)}.tom-classroom-panel{min-height:360px;padding:22px;display:flex;flex-direction:column;justify-content:center}.tom-classroom-panel h1{margin:12px 0 10px;font-size:clamp(30px,3.5vw,42px);line-height:1.12}.tom-classroom-panel p{margin:0;color:var(--muted);line-height:1.8}.tom-voice-console{display:grid;grid-template-columns:138px minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:20px;padding:14px;border-radius:8px;background:linear-gradient(135deg,#2563eb14,#14b8a614);border:1px solid rgba(37,99,235,.14)}.tom-mic-button{width:138px;aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:8px;border-radius:999px;background:linear-gradient(135deg,#2563eb,#14b8a6);color:#fff;box-shadow:0 18px 34px #2563eb3d;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.tom-mic-button:hover:not(:disabled){transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 22px 40px #2563eb47}.tom-mic-button:disabled{cursor:not-allowed;opacity:.72}.tom-mic-button span{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.26);font-size:18px;line-height:1}.tom-mic-button strong{font-size:14px;line-height:1.25}.tom-mic-button.listening{background:linear-gradient(135deg,#d64545,#f59e0b);animation:tom-pulse 1.2s ease-in-out infinite}.tom-mic-button.speaking{background:linear-gradient(135deg,#138a63,#2563eb)}@keyframes tom-pulse{0%,to{box-shadow:0 18px 34px #d6454538}50%{box-shadow:0 24px 48px #d6454557}}.tom-voice-copy{min-width:0;display:flex;flex-direction:column;gap:8px}.tom-voice-copy strong{color:var(--text);font-size:16px;line-height:1.55}.tom-voice-copy span{color:var(--error);font-size:13px;line-height:1.5}.tom-stop-speaking{min-width:92px;height:38px;border:1px solid rgba(214,69,69,.22);border-radius:8px;background:#fff;color:#b42318;font-size:13px;font-weight:800}.tom-stop-speaking:hover{background:#d6454514}.tom-prompt-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tom-chat-shell{padding:22px}.tom-chat-shell.collapsed{padding:12px 14px;box-shadow:var(--shadow-soft)}.tom-chat-toggle{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;background:transparent;color:var(--text)}.tom-chat-toggle span{color:var(--muted);font-size:14px;font-weight:700}.tom-chat-toggle strong{min-width:48px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#2563eb14;color:var(--primary);font-size:12px}.tom-thread{max-height:380px;min-height:230px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:4px 4px 18px;margin-bottom:16px}.tom-composer textarea{min-height:96px}.tom-hint{color:var(--muted);font-size:13px;line-height:1.5}.panel{padding:22px;margin-bottom:18px}.paper-toolbar,.workspace-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.workspace-head{margin-bottom:18px;padding:20px;border:1px solid rgba(225,229,232,.92);border-radius:8px;background:#ffffffc7;box-shadow:var(--shadow-soft)}.workspace-title{min-width:0}.workspace-title p{max-width:680px;color:var(--muted);line-height:1.7;margin:0}.workspace-stats,.report-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{min-width:180px;padding:14px;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px}.stat-card span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.stat-card strong,.report-score strong{font-size:22px}.report-score{display:flex;align-items:baseline;gap:8px}.report-score span{color:var(--muted)}.paper-toolbar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.paper-corner-logo{width:56px;height:56px;object-fit:contain;border-radius:14px}.paper-panel .paper-submit-row{display:flex;justify-content:flex-end;margin-top:18px}.paper-download-status{margin-top:14px;padding:12px 14px;border:1px dashed rgba(31,111,255,.28);border-radius:8px;background:#1f6fff0f;color:var(--primary);font-size:13px;font-weight:600}.page-brand-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:12px;border-top:1px dashed rgba(148,163,184,.45);color:var(--muted);font-size:12px}.report-footer{margin-top:24px}.q-card{border:1px solid var(--border);border-radius:8px;padding:18px;margin-bottom:14px;background:#fff;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.q-card.graded-correct{background:linear-gradient(180deg,#f3fcf7,#fff);border-color:#169b6259;box-shadow:inset 0 0 0 1px #169b6214}.q-card.graded-wrong{background:linear-gradient(180deg,#fff4f4,#fff);border-color:#d645454d;box-shadow:inset 0 0 0 1px #d6454514}.q-card.graded-partial{background:linear-gradient(180deg,#fff9ef,#fff);border-color:#d6912747;box-shadow:inset 0 0 0 1px #d6912714}.q-card.graded-missing{background:linear-gradient(180deg,#f6f7fb,#fff);border-color:#6f7b8c42;box-shadow:inset 0 0 0 1px #6f7b8c14}.q-head,.sub-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.q-card .q-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.q-card .q-meta span{background:var(--panel-soft);border:1px solid var(--border);color:var(--muted);padding:4px 10px;border-radius:999px;font-size:12px}.q-card .q-context{background:#f7f9fc;border:1px solid var(--border);border-left:4px solid rgba(31,111,255,.45);border-radius:8px;padding:14px 16px;margin:12px 0}.q-card .q-question{font-size:16px;font-weight:600;margin:12px 0}.memorization-question{display:flex;flex-direction:column;gap:12px;margin:12px 0}.memorization-line{line-height:1.9;white-space:normal}.memorization-inline-text{display:inline}.memorization-table-wrap{overflow-x:auto}.memorization-table{width:100%;border-collapse:collapse;background:#fff}.memorization-table th,.memorization-table td{border:1px solid var(--border);padding:10px 12px;vertical-align:top;text-align:left}.memorization-blank-wrap{display:inline-flex;position:relative;flex-direction:column;align-items:flex-start;vertical-align:middle;margin:0 4px 2px}.memorization-blank-input{min-width:92px;max-width:180px;height:34px;padding:4px 10px;border:none;border-bottom:2px solid rgba(15,23,42,.36);border-radius:0;background:transparent;color:var(--text)}.memorization-blank-input:focus{outline:none;border-bottom-color:var(--primary);box-shadow:none}.memorization-blank-wrap.correct .memorization-blank-input{border-bottom-color:var(--success)}.memorization-blank-wrap.wrong .memorization-blank-input{border-bottom-color:var(--error)}.memorization-blank-wrap.partial .memorization-blank-input{border-bottom-color:#d69127}.memorization-blank-wrap.disabled{opacity:.5}.memorization-blank-feedback{display:inline-flex;flex-direction:column;gap:3px;margin-top:6px;padding:6px 8px 7px;border-radius:10px;background:#f8fafcfa;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 16px #0f172a0f;font-size:11px;line-height:1.35;min-width:96px;max-width:220px}.memorization-blank-feedback.state-correct{border-color:#169b622e;background:#f3fcf7fa}.memorization-blank-feedback.state-wrong{border-color:#d645452e;background:#fff5f5fa}.memorization-blank-feedback.state-partial{border-color:#d691272e;background:#fff9effa}.memorization-blank-state{font-weight:700;font-size:10px;letter-spacing:.02em}.memorization-blank-feedback.state-correct .memorization-blank-state{color:var(--success)}.memorization-blank-feedback.state-wrong .memorization-blank-state{color:var(--error)}.memorization-blank-feedback.state-partial .memorization-blank-state{color:#d69127}.memorization-blank-feedback.state-missing .memorization-blank-state{color:var(--muted)}.memorization-blank-answer{color:var(--muted);white-space:normal;word-break:break-all}.memorization-choice-hint{font-size:12px;color:var(--muted);padding:8px 10px;border-radius:12px;background:#0f172a0a;border:1px dashed rgba(15,23,42,.12)}.memorization-choice-current{margin-left:8px;color:var(--text);font-weight:700}.fill-blank-question{line-height:1.9}.fill-blank-line{display:block;margin:8px 0;font-weight:600}.fill-blank-rich-block{margin:10px 0}.fill-blank-table-wrap{max-width:100%;margin:10px 0;overflow-x:auto}.fill-blank-table{width:max-content;min-width:100%;border-collapse:collapse;background:#fff;font-weight:500}.fill-blank-table th,.fill-blank-table td{border:1px solid var(--border);padding:10px 12px;vertical-align:middle;min-width:96px}.fill-blank-table th{background:var(--panel-soft);font-weight:700}.fill-blank-line-break{display:block;height:8px}.fill-blank-text{display:inline}.fill-blank-text p{display:inline;margin:0}.physics-blank-wrap{display:inline-flex;position:relative;flex-direction:column;align-items:flex-start;vertical-align:middle;margin:0 4px 2px}.physics-blank-input{min-width:92px;max-width:190px;height:34px;padding:4px 10px;border:none;border-bottom:2px solid rgba(15,23,42,.36);border-radius:0;background:#ffffff8a;color:var(--text);font:inherit;font-weight:600}.physics-blank-wrap.in-table{margin:0}.physics-blank-wrap.in-table .physics-blank-input{min-width:96px;max-width:150px;background:#fff}.physics-blank-input:focus{outline:none;border-bottom-color:var(--primary);box-shadow:none}.physics-blank-wrap.correct .physics-blank-input{border-bottom-color:var(--success)}.physics-blank-wrap.wrong .physics-blank-input{border-bottom-color:var(--error)}.physics-blank-wrap.partial .physics-blank-input{border-bottom-color:#d69127}.physics-blank-feedback{display:inline-flex;flex-direction:column;gap:3px;margin-top:6px;padding:6px 8px 7px;border-radius:10px;background:#f8fafcfa;border:1px solid rgba(15,23,42,.08);box-shadow:0 8px 16px #0f172a0f;font-size:11px;line-height:1.35;min-width:96px;max-width:240px}.physics-blank-feedback.state-correct{border-color:#169b622e;background:#f3fcf7fa}.physics-blank-feedback.state-wrong{border-color:#d645452e;background:#fff5f5fa}.physics-blank-feedback.state-partial{border-color:#d691272e;background:#fff9effa}.physics-blank-state{font-weight:700;font-size:10px;letter-spacing:.02em}.physics-blank-feedback.state-correct .physics-blank-state{color:var(--success)}.physics-blank-feedback.state-wrong .physics-blank-state{color:var(--error)}.physics-blank-feedback.state-partial .physics-blank-state{color:#d69127}.physics-blank-answer{color:var(--muted);white-space:normal;word-break:break-word}.q-card .q-options label{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid transparent;border-radius:8px}.q-card .q-options label:hover{background:var(--panel-soft);border-color:var(--border)}.q-card .sub-question{border-top:1px dashed var(--border-strong);padding-top:14px;margin-top:14px;border-radius:18px;transition:background-color .18s ease,border-color .18s ease}.q-card .sub-question.graded-correct{background:#169b6214;border-top-color:#169b6233;padding:14px 14px 0}.q-card .sub-question.graded-wrong{background:#d6454514;border-top-color:#d6454533;padding:14px 14px 0}.q-card .sub-question.graded-missing{background:#6f7b8c14;border-top-color:#6f7b8c2e;padding:14px 14px 0}.trace-chip{flex-shrink:0;padding:6px 10px;border-radius:12px;background:#0f172a;color:#fff;font-size:11px;line-height:1.2;font-family:Consolas,Courier New,monospace}.trace-chip.sub{background:#1f2937}.rich-text{line-height:1.8;max-width:100%;overflow-x:auto;overflow-y:visible}.rich-text p,.rich-text ul,.rich-text ol,.rich-text table,.rich-text blockquote{margin:10px 0}.rich-text table{width:max-content;min-width:100%;max-width:none;border-collapse:collapse;background:#fff}.rich-text th,.rich-text td{border:1px solid var(--border);padding:10px 12px;vertical-align:top}.rich-text img{width:auto;height:auto;max-width:100%;max-height:420px;display:block;margin:10px 0;border-radius:14px;border:1px solid var(--border);object-fit:contain}.rich-text img[title=formula]{display:inline-block;width:auto;height:auto;max-width:100%;max-height:none;margin:0 .12em;vertical-align:-.25em;border:0;border-radius:0;object-fit:contain}.rich-text table img[title=formula]{max-height:none}.rich-text table img:not([title=formula]){width:auto;max-width:140px;max-height:180px;margin:4px auto;border-radius:8px}.option-text img:not([title=formula]){width:auto;max-width:min(180px,100%);max-height:220px;object-fit:contain}.dot-emphasis{-webkit-text-emphasis:filled dot;text-emphasis:filled dot;-webkit-text-emphasis-position:under;text-emphasis-position:under}.fill-blank{display:inline-block;white-space:nowrap;color:#0f172ae0;letter-spacing:.02em;font-weight:600}@supports not (text-emphasis: filled dot){.dot-emphasis{text-decoration:underline dotted currentColor;text-underline-offset:.18em}}.report-items{margin-top:18px}.grade-card{border:1px solid var(--border);border-radius:22px;padding:18px;margin-bottom:14px;background:#fff}.grade-card.correct{box-shadow:inset 0 0 0 1px #169b6226}.grade-card.wrong{box-shadow:inset 0 0 0 1px #d645451f}.report-block{margin-top:12px}.inline-grade-block{margin-top:14px;padding:14px 16px;background:#f8fafc;border:1px solid var(--border);border-radius:18px}.inline-grade-correct{background:#169b6212;border-color:#169b622e}.inline-grade-wrong{background:#d6454512;border-color:#d6454529}.inline-grade-missing{background:#6f7b8c0f;border-color:#6f7b8c26}.inline-grade-result{margin-bottom:8px;font-size:13px;font-weight:700}.inline-grade-label{font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:600}.inline-grade-analysis{margin-top:12px}.answer-plain{margin-top:6px;padding:12px 14px;background:var(--panel-soft);border:1px solid var(--border);border-radius:16px;white-space:pre-wrap}.score-big{font-size:40px;font-weight:700;color:var(--primary)}.badge-ok{color:var(--success);font-weight:600}.badge-err{color:var(--error);font-weight:600}.badge-missing{color:var(--muted);font-weight:600}.result-chip{font-weight:700}.result-chip-correct{background:#169b621f!important;border-color:#169b6233!important;color:var(--success)!important}.result-chip-wrong{background:#d645451f!important;border-color:#d645452e!important;color:var(--error)!important}.result-chip-missing{background:#6f7b8c1f!important;border-color:#6f7b8c29!important;color:var(--muted)!important}.missing-answer-text{color:var(--muted)}.flex-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.modal-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:40}.module-page-bar{max-width:1220px;margin:0 auto 14px;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(225,229,232,.92);border-radius:8px;background:#ffffffe0;box-shadow:var(--shadow-soft)}.module-page-bar strong{font-size:15px;color:var(--text)}.module-home-button{border:1px solid rgba(37,99,235,.16);background:#2563eb12;color:var(--primary);font-weight:700}.module-page-content{max-width:1220px;margin:0 auto}.module-page-content .analysis-modal,.module-page-content .vocabulary-modal,.module-page-content .schedule-modal,.module-page-content .classical-dictation-modal,.module-page-content .recitation-modal{width:100%;max-height:none;overflow:visible;border-radius:8px;box-shadow:var(--shadow)}.module-page-content .analysis-modal,.module-page-content .vocabulary-modal,.module-page-content .classical-dictation-modal,.module-page-content .schedule-modal,.module-page-content .recitation-modal{padding:22px}.auth-modal{width:min(420px,calc(100vw - 32px));background:#fff;border-radius:28px;border:1px solid var(--border);box-shadow:0 28px 60px #0f172a2e;padding:28px}.friends-modal-shell{align-items:center}.friends-modal{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;background:linear-gradient(150deg,#fffffffa,#f7fafcfa 52%,#f0f9f6f5);border:1px solid rgba(215,222,228,.9);border-radius:18px;box-shadow:0 24px 60px #0f172a2e;padding:20px}.friends-modal-header{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(225,229,232,.78)}.friends-title-block{min-width:0;display:flex;align-items:center}.friends-header-actions{display:flex;align-items:center;gap:8px}.friend-header-button{position:relative;display:grid;place-items:center;width:38px;height:38px;background:#ffffffe6;color:var(--text);border:1px solid rgba(204,212,218,.82);border-radius:14px;font-size:22px;font-weight:500;line-height:1;box-shadow:0 10px 22px #0f172a14}.friend-header-button:hover{background:#f4f6f8f2}.friend-add-button i{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;font-size:10px;font-style:normal;font-weight:800;line-height:14px;box-shadow:0 6px 12px #ef444438}.friends-modal-header h2{margin:0;font-size:22px;line-height:1.2}.friends-search{display:grid;grid-template-columns:1fr auto;gap:10px;margin:10px 0 12px}.friends-search input{width:100%;border:1px solid rgba(204,212,218,.86);border-radius:12px;padding:11px 13px;background:#fffffff0;outline:none}.friends-search input:focus{border-color:#2563eb7a;box-shadow:0 0 0 3px #2563eb1a}.friends-notice{margin:0 0 12px;color:var(--success);font-weight:700;font-size:13px}.friends-content{display:grid;gap:10px}.friends-section{background:#ffffffb8;border:1px solid rgba(225,229,232,.8);border-radius:14px;padding:14px;box-shadow:0 12px 30px #0f172a0b}.friends-section.incoming{background:linear-gradient(135deg,#fffbebd1,#fffc);border-color:#eab30833}.friends-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.friends-section-title strong{font-size:15px}.friends-section-title span,.friends-empty{color:var(--muted);font-size:12px}.friends-empty{padding:8px 0 2px}.friends-empty-state{min-height:154px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;color:var(--muted)}.friends-empty-state span{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:#2563eb14;color:var(--primary);font-size:24px}.friends-empty-state strong{color:var(--text);font-size:15px}.friends-empty-state p{margin:0}.friend-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid rgba(225,229,232,.62)}.friend-row:first-of-type{border-top:none}.friend-avatar{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;font-weight:800;box-shadow:0 10px 18px #2563eb29}.friend-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.friend-meta strong,.friend-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-meta strong{font-size:14px}.friend-meta span{color:var(--muted);font-size:12px}.friend-actions{display:flex;align-items:center;gap:8px}.friend-actions .ghost-chip{padding:7px 12px;font-size:13px;font-weight:800}.friend-actions .accept{color:#047857;background:#0596691a;border:1px solid rgba(5,150,105,.12)}.friend-actions .reject{color:#b91c1c;background:#ef44441a;border:1px solid rgba(239,68,68,.12)}.friend-status{border-radius:999px;padding:6px 10px;background:#6875841a;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.friend-status.ok{background:#138a631f;color:var(--success)}.friend-streak-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:30px;padding:0 10px;border-radius:999px;background:linear-gradient(180deg,#fffbebfa,#fffffff5);border:1px solid rgba(214,145,39,.22);color:#9a5a12;font-size:12px;font-weight:900;white-space:nowrap}.friend-danger-button{border-radius:999px;padding:7px 11px;background:#ef44441a;color:#b91c1c;border:1px solid rgba(239,68,68,.16);font-size:12px;font-weight:900;white-space:nowrap}.friend-danger-button.solid{background:#dc2626;color:#fff;border-color:#dc2626}.friend-danger-button:disabled{opacity:.55;cursor:not-allowed}.friend-group-title{min-width:0;display:flex;align-items:center;gap:8px}.friend-group-spark{position:relative;flex:0 0 auto;min-width:32px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 8px 0 18px;background:linear-gradient(180deg,#fff7edfa,#fffffff5);border:1px solid rgba(214,145,39,.22);color:#9a5a12;font-size:12px;font-weight:900}.friend-group-spark:before{content:"✦";position:absolute;left:7px;top:50%;transform:translateY(-52%);color:#f59e0b;font-size:12px;line-height:1}.friend-groups-section{background:linear-gradient(135deg,#f8fafce0,#fffc)}.friend-group-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid rgba(225,229,232,.62)}.friend-group-main{min-width:0;display:flex;flex-direction:column;gap:3px}.friend-group-title strong,.friend-group-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-group-title strong{font-size:14px}.friend-group-main span{color:var(--muted);font-size:12px}.friend-group-form{display:grid;gap:10px;margin-top:10px;padding-top:12px;border-top:1px dashed rgba(204,212,218,.8)}.friend-group-form input{width:100%;border:1px solid rgba(204,212,218,.86);border-radius:12px;padding:10px 12px;background:#fffffff0;outline:none}.friend-group-picker{display:flex;flex-wrap:wrap;gap:8px}.friend-member-chip{border-radius:999px;padding:7px 11px;background:#f4f6f8f5;color:var(--muted);border:1px solid rgba(204,212,218,.8);font-size:12px;font-weight:800}.friend-member-chip.selected{background:#2563eb1a;border-color:#2563eb38;color:var(--primary)}.friend-confirm-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0f172a47;z-index:45}.friend-confirm-dialog{width:min(360px,calc(100vw - 40px));padding:18px;border-radius:16px;background:#fff;border:1px solid rgba(225,229,232,.9);box-shadow:0 24px 60px #0f172a38}.friend-confirm-dialog h3{margin:0 0 8px;font-size:18px}.friend-confirm-dialog p{margin:0;color:var(--muted);line-height:1.6}.friend-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.checkin-modal-shell{align-items:center}.checkin-modal{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 28px);overflow:auto;background:linear-gradient(150deg,#fffffffc,#f9fafbfa,#fffbebe0);border:1px solid rgba(215,222,228,.9);border-radius:18px;box-shadow:0 24px 60px #0f172a2e;padding:18px}.checkin-modal-header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(225,229,232,.78);margin-bottom:12px}.checkin-modal-header h2{margin:0;font-size:22px}.checkin-modal-header p{margin:3px 0 0;color:#9a5a12;font-size:13px;font-weight:800}.checkin-header-button,.checkin-month-button{width:38px;height:38px;border-radius:14px;box-shadow:0 10px 22px #0f172a14}.checkin-streak-card{width:fit-content;display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-bottom:10px;padding:6px 11px 6px 7px;border-radius:999px;background:linear-gradient(135deg,#fff7edf5,#ffffffeb);border:1px solid rgba(251,146,60,.2)}.checkin-counter{display:inline-flex;align-items:center;gap:7px}.checkin-flame,.checkin-freeze{width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:#fb923c1f;font-size:18px;line-height:1}.checkin-freeze{background:#0ea5e91f}.checkin-streak-card strong{display:inline-flex;align-items:center;height:30px;font-size:18px;line-height:1;color:#9a5a12}.checkin-counter.frozen strong{color:#0369a1}.checkin-streak-card p{margin:4px 0 0;color:var(--muted);font-size:13px}.checkin-calendar-card{padding:12px;border-radius:14px;background:#ffffffc7;border:1px solid rgba(225,229,232,.8);box-shadow:0 12px 30px #0f172a0b}.checkin-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.checkin-calendar-head strong{font-size:17px}.checkin-legend{display:flex;align-items:center;gap:12px;margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:700}.checkin-legend span{display:inline-flex;align-items:center;gap:5px}.checkin-calendar-weekdays,.checkin-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.checkin-calendar-weekdays{margin-bottom:5px}.checkin-calendar-weekdays span{text-align:center;color:var(--muted);font-size:12px;font-weight:800}.checkin-calendar-cell{min-height:47px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2px;padding:5px 3px 4px;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08);color:var(--text)}.checkin-calendar-cell.empty{background:transparent;border-color:transparent}.checkin-calendar-cell.checked{background:linear-gradient(180deg,#fffbebf0,#fffffff5);border-color:#f59e0b33}.checkin-calendar-cell.today{border-color:#2563eb52;box-shadow:inset 0 0 0 1px #2563eb29}.checkin-day-number{font-size:12px;font-weight:800}.checkin-day-icons{min-height:16px;display:inline-flex;justify-content:center;gap:3px}.checkin-day-icons i,.checkin-legend i{width:16px;height:16px;display:inline-grid;place-items:center;border-radius:5px;color:#fff;font-size:10px;font-style:normal;font-weight:900}.checkin-day-icons .chinese,.checkin-legend .chinese{background:linear-gradient(135deg,#dc2626,#f97316)}.checkin-day-icons .english,.checkin-legend .english{background:linear-gradient(135deg,#2563eb,#14b8a6)}.review-only-notice{margin-top:12px;padding:10px 14px;border:1px solid rgba(63,81,181,.16);border-radius:14px;background:#3f51b50f;color:var(--muted);font-size:13px;line-height:1.65}.checkin-day-icons .math,.checkin-legend .math{background:linear-gradient(135deg,#7e22ce,#c084fc)}.checkin-day-icons .physics,.checkin-legend .physics{background:linear-gradient(135deg,#0e7490,#22d3ee)}.checkin-day-icons .makeup,.checkin-legend .makeup{background:linear-gradient(135deg,#b45309,#f59e0b)}.checkin-day-icons .frozen{background:linear-gradient(135deg,#0ea5e9,#67e8f9)}.checkin-celebration-shell{z-index:48;background:#0f172a2e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.checkin-celebration-modal{position:relative;width:min(520px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;border-radius:18px;background:linear-gradient(155deg,#fffffffa,#fffbebf0 48%,#f0fdfaeb);border:1px solid rgba(225,229,232,.9);box-shadow:0 26px 70px #0f172a3d;padding:18px}.checkin-celebration-modal.video-stage{width:100vw;height:100vh;max-height:none;display:grid;place-items:center;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}.checkin-celebration-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:14px;background:#ffffffdb;box-shadow:0 10px 26px #0f172a1f}.checkin-celebration-video-wrap{position:relative;display:grid;place-items:center;width:100%;height:100%;min-height:100vh;border-radius:0;overflow:hidden;background:transparent}.checkin-celebration-video{width:auto;height:min(100vh,calc(100vw * 16 / 9));max-width:100vw;max-height:100vh;aspect-ratio:9 / 16;display:block;object-fit:cover;background:transparent}.checkin-celebration-skip{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));background:#ffffffe6;box-shadow:0 12px 28px #0f172a2e}.checkin-celebration-sound{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);min-height:38px;border-radius:999px;box-shadow:0 12px 28px #2563eb3d}.checkin-celebration-result,.checkin-celebration-groups{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:34px 18px 20px}.checkin-celebration-flame{width:112px;height:112px;display:grid;place-items:center;border-radius:999px;background:radial-gradient(circle at 50% 36%,#fef08ae6,#fb923c38 56%,#ef44441a);border:1px solid rgba(251,146,60,.24);box-shadow:0 22px 46px #fb923c47;font-size:58px;line-height:1}.checkin-celebration-result h2,.checkin-celebration-groups-head h2{margin:0;color:var(--text);font-size:25px;line-height:1.25;letter-spacing:0}.checkin-celebration-result h2 strong{display:inline-block;min-width:62px;margin:0 4px;color:#b45309;font-size:46px;line-height:1}.checkin-celebration-result p,.checkin-celebration-reminder{max-width:380px;margin:0;color:var(--muted);font-size:14px;line-height:1.7;font-weight:700}.checkin-celebration-groups-head{display:grid;gap:6px}.checkin-group-list{width:100%;display:grid;gap:10px}.checkin-group-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:12px 14px;border-radius:8px;border:1px solid rgba(225,229,232,.9);background:#ffffffd1;text-align:left}.checkin-group-row.continued{border-color:#fb923c47;background:linear-gradient(135deg,#fff7edeb,#ffffffdb)}.checkin-group-row.waiting{border-color:#94a3b83d;background:#f8fafcd1}.checkin-group-row div{min-width:0;display:grid;gap:4px}.checkin-group-row strong,.checkin-group-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkin-group-row strong{color:var(--text);font-size:15px}.checkin-group-row span{color:var(--muted);font-size:12px;font-weight:700}.checkin-group-row b{flex:0 0 auto;color:#b45309;font-size:14px;white-space:nowrap}.analysis-modal{width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:linear-gradient(180deg,#f8fafcfa,#fffffffa 42%,#f6f8fbf5);border-radius:28px;border:1px solid var(--border);box-shadow:0 28px 60px #0f172a2e;padding:28px}.admin-modal{width:min(1320px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:28px;border:1px solid var(--border);box-shadow:0 28px 60px #0f172a2e;padding:28px}.vocabulary-modal{width:min(1080px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:linear-gradient(180deg,#fffffffc,#f8fafcfa);border-radius:28px;border:1px solid var(--border);box-shadow:0 28px 60px #0f172a2e;padding:28px}.vocabulary-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.vocabulary-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.vocabulary-calendar-button{font-size:16px}.vocabulary-calendar-action{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.vocabulary-streak-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:34px;padding:0 9px;border-radius:999px;border:1px solid rgba(214,145,39,.24);background:linear-gradient(180deg,#fffbebfa,#fffffff5);color:#9a5a12;font-size:13px;font-weight:800;line-height:1;white-space:nowrap}.vocabulary-head h2{margin:12px 0 8px;font-size:30px}.vocabulary-head p{margin:0;color:var(--muted);line-height:1.6}.vocabulary-auth-note{margin-bottom:14px;padding:12px 14px;border-radius:16px;border:1px dashed rgba(31,111,255,.24);background:#1f6fff0f;color:var(--primary);font-size:13px;font-weight:700;line-height:1.5}.vocabulary-calendar-panel{margin-bottom:14px;padding:16px;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 28px #0f172a0f}.vocabulary-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.vocabulary-calendar-head strong{font-size:18px}.vocabulary-calendar-weekdays,.vocabulary-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.vocabulary-calendar-weekdays{margin-bottom:8px}.vocabulary-calendar-weekdays span{text-align:center;color:var(--muted);font-size:12px;font-weight:700}.vocabulary-calendar-cell{min-height:52px;display:grid;place-items:center;gap:2px;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08);color:var(--text)}.vocabulary-calendar-cell.empty{background:transparent;border-color:transparent}.vocabulary-calendar-cell.today{border-color:#1f6fff42;box-shadow:inset 0 0 0 1px #1f6fff2e}.vocabulary-calendar-cell.completed{background:#169b6214;border-color:#169b622e}.vocabulary-calendar-cell span{font-size:14px;font-weight:800}.vocabulary-calendar-cell small{font-size:15px;line-height:1}.vocabulary-toolbar{display:grid;grid-template-columns:minmax(220px,320px);gap:12px;align-items:end;margin-bottom:14px}.vocabulary-toolbar label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:13px;font-weight:600}.vocabulary-toggle{min-height:50px;justify-content:center;align-items:center;flex-direction:row!important;padding:0 14px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#fff;color:var(--text)!important}.vocabulary-toggle input{width:16px;height:16px}.vocabulary-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.vocabulary-tab{min-height:42px;padding:0 18px;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#fff;color:var(--muted);font-weight:700;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.vocabulary-tab.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 12px 24px #1f6fff33}.vocabulary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,160px));gap:10px;margin-bottom:16px}.vocabulary-stats div{padding:14px 16px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08)}.vocabulary-stats span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.vocabulary-stats strong{font-size:22px}.vocabulary-empty{padding:28px;border-radius:20px;border:1px dashed rgba(15,23,42,.14);color:var(--muted);background:#fff}.vocabulary-card-panel,.vocabulary-match-panel{border:1px solid rgba(15,23,42,.08);border-radius:24px;background:#fff;padding:18px;box-shadow:0 16px 34px #0f172a0f}.vocabulary-flashcard,.vocabulary-dictation-card{width:100%;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:26px;border-radius:22px;border:1px solid rgba(31,111,255,.16);background:linear-gradient(135deg,#1f6fff14,#169b620f 52%,#fffffffa);text-align:center;transition:background .22s ease,border-color .22s ease,box-shadow .22s ease}.vocabulary-flashcard.recognized{border-color:#138a6352;background:linear-gradient(135deg,#138a632e,#169b621f 48%,#fffffffa);box-shadow:inset 0 0 0 1px #138a631f,0 16px 34px #138a631a}.vocabulary-flashcard strong,.vocabulary-dictation-card strong{max-width:100%;color:var(--text);font-size:42px;line-height:1.25;overflow-wrap:anywhere}.vocabulary-card-meta{color:var(--muted);font-size:13px;font-weight:700}.vocabulary-phonetic{color:var(--primary);font-size:18px;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.vocabulary-answer{color:var(--muted);font-size:18px;font-weight:700}.vocabulary-speak-button{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid rgba(31,111,255,.18);background:#ffffffeb;color:var(--primary);font-size:18px;box-shadow:0 10px 20px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.vocabulary-speak-button:hover{transform:translateY(-1px);border-color:#1f6fff52;box-shadow:0 12px 22px #0f172a17}.vocabulary-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px}.vocabulary-practice-section{display:flex;flex-direction:column;gap:12px}.vocabulary-practice-progress{align-self:flex-start;min-height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;background:#1f6fff14;color:var(--primary);font-size:12px;font-weight:800}.vocabulary-practice-complete{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;border-radius:22px;border:1px solid rgba(22,155,98,.18);background:#169b6214}.vocabulary-practice-complete strong{font-size:30px}.vocabulary-practice-complete span{color:var(--muted)}.vocabulary-dictation-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px}.vocabulary-feedback{margin-top:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#0f172a0a;color:var(--muted);font-weight:700}.vocabulary-feedback.correct{background:#169b6217;border-color:#169b622e;color:var(--success)}.vocabulary-feedback.wrong{background:#d6454514;border-color:#d645452e;color:var(--error)}.vocabulary-feedback.empty{background:#d6912714;border-color:#d691272e;color:#b27418}.vocabulary-match-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.vocabulary-match-head span{color:var(--muted);font-weight:700}.vocabulary-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vocabulary-match-column{display:grid;grid-template-columns:1fr;gap:10px}.vocabulary-match-item{min-height:58px;padding:12px 14px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff,#f8fafc);color:var(--text);text-align:left;line-height:1.45;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.vocabulary-match-item:hover{transform:translateY(-1px);border-color:#1f6fff2e;box-shadow:0 12px 24px #0f172a0f}.vocabulary-match-item.selected{border-color:#1f6fff66;background:#1f6fff14}.vocabulary-match-item.matched{color:var(--success);border-color:#169b6233;background:#169b6214;opacity:.72}.vocabulary-match-item.wrong{border-color:#d6454552;background:#d6454514;color:var(--error)}.vocabulary-mastered-panel{border:1px solid rgba(15,23,42,.08);border-radius:24px;background:#fff;padding:18px;box-shadow:0 16px 34px #0f172a0f}.vocabulary-mastered-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.vocabulary-mastered-head h3{margin:0 0 6px;font-size:22px}.vocabulary-mastered-head p{margin:0;color:var(--muted);line-height:1.6}.vocabulary-record-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.vocabulary-record-actions .ghost-chip.active{color:var(--primary);border-color:#2563eb38;background:#2563eb14}.vocabulary-record-sections{display:flex;flex-direction:column;gap:18px}.vocabulary-record-section h4{margin:0 0 10px;font-size:15px;color:var(--text)}.classical-dictation-modal{width:min(1180px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;background:linear-gradient(180deg,#fffffffc,#f8fafcfa);border-radius:28px;border:1px solid var(--border);box-shadow:0 28px 60px #0f172a2e;padding:28px}.chinese-practice-hub{display:flex;flex-direction:column;gap:14px;max-width:860px}.chinese-practice-head{padding:16px 18px;border-radius:8px;border:1px solid rgba(203,213,225,.78);background:#fff;box-shadow:var(--shadow-soft)}.chinese-practice-head h2{margin:8px 0 0;font-size:24px}.chinese-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chinese-practice-card{min-height:126px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:16px;border-radius:8px;border:1px solid rgba(255,255,255,.46);background:#fff;box-shadow:0 16px 32px #12343b1f;text-align:left;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.chinese-practice-card:after{content:"";position:absolute;right:-28px;bottom:-34px;width:108px;height:108px;border-radius:999px;background:#ffffff38;pointer-events:none}.chinese-practice-card:hover{transform:translateY(-1px);filter:saturate(1.04);box-shadow:0 18px 38px #12343b29}.chinese-practice-card.dictation{background:linear-gradient(135deg,#9b4d22,#c77935 56%,#e1a652)}.chinese-practice-card.recitation{background:linear-gradient(135deg,#a43748,#d15d63 56%,#ee8b72)}.chinese-practice-card span{position:relative;z-index:1;color:#ffffffd1;font-size:15px;font-weight:500}.chinese-practice-card strong{position:relative;z-index:1;color:#fff;font-size:22px;font-weight:900;line-height:1.25;text-shadow:0 1px 8px rgba(15,23,42,.14)}.classical-dictation-head h2{margin:12px 0 8px;font-size:30px}.classical-dictation-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}.classical-dictation-layout.is-stage{grid-template-columns:1fr}.classical-dictation-library,.classical-dictation-stage{border:1px solid rgba(15,23,42,.08);border-radius:24px;background:#fff;box-shadow:0 16px 34px #0f172a0f}.classical-dictation-library{padding:18px;max-height:none;overflow:auto}.classical-dictation-stage{padding:20px;min-height:520px}.classical-dictation-stage-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.classical-dictation-stage-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.classical-dictation-stage-head h3{margin:6px 0 0;font-size:24px}.classical-dictation-paper{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:22px;border:1px solid rgba(178,91,35,.14);background:linear-gradient(180deg,#fffdf9fa,#fffffffa)}.classical-dictation-sentence{margin:0;color:var(--text);font-size:20px;line-height:2.35}.classical-dictation-blank{width:clamp(84px,8em,138px)!important;min-height:1.55em;margin:0 3px;padding:0 5px!important;border:0;border-bottom:2px solid rgba(178,91,35,.36);border-radius:8px 8px 0 0;background:#b25b230f;color:var(--text);font-size:1em;line-height:1.35;text-align:center;outline:none}.classical-dictation-blank:focus{background:#1f6fff12;border-bottom-color:var(--primary);box-shadow:none}.classical-dictation-blank.correct{background:#169b6217;border-bottom-color:var(--success)}.classical-dictation-blank.wrong{background:#d6454514;border-bottom-color:var(--error)}.classical-dictation-blank.answer{color:transparent;background:#d6912714;border-bottom-color:#d6912752}.classical-dictation-answer{display:inline-flex;align-items:center;min-height:1.5em;margin:0 3px;padding:0 6px;border-radius:8px;background:#d691271f;color:#8a451c;font-size:1em;font-weight:800;line-height:1.4}.classical-dictation-actions{align-items:center}.classical-dictation-progress{display:inline-flex;align-items:center;min-height:42px;padding:0 12px;border-radius:999px;background:#b25b2314;color:#8a451c;font-size:13px;font-weight:800}.vocabulary-mastered-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vocabulary-mastered-item{min-height:96px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff,#f8fafc)}.vocabulary-mastered-item div{min-width:0;display:flex;flex-direction:column;gap:5px}.vocabulary-mastered-item strong{font-size:18px;color:var(--text);overflow-wrap:anywhere}.vocabulary-mastered-item span{color:var(--muted);line-height:1.45}.vocabulary-mastered-item small{color:#6f7b8cd1}.admin-console-shell{min-height:100vh;background:linear-gradient(180deg,#f7f9fcf0,#f1f5f9fa),linear-gradient(90deg,#2563eb0a,#138a630a)}.admin-console-topbar{position:sticky;top:0;z-index:24;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(16px,3vw,36px);border-bottom:1px solid rgba(203,213,225,.78);background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 28px #0f172a0d}.admin-console-brand,.admin-console-session{display:flex;align-items:center;gap:12px;min-width:0}.admin-console-brand strong,.admin-console-session span{display:block;color:var(--text);font-weight:800}.admin-console-brand span{display:block;margin-top:2px;color:var(--muted);font-size:12px}.admin-console-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;color:#fff;font-size:19px;font-weight:900;background:linear-gradient(135deg,#2563eb,#138a63);box-shadow:0 14px 28px #2563eb2e}.admin-console-session{justify-content:flex-end}.admin-console-main{max-width:1440px;margin:0 auto;padding:28px clamp(16px,3vw,38px) 34px}.admin-console-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:18px;align-items:stretch;margin-bottom:16px}.admin-console-title{min-width:0;padding:22px;border:1px solid rgba(203,213,225,.78);border-radius:8px;background:#ffffffd1;box-shadow:var(--shadow-soft)}.admin-console-title h1{margin:14px 0 10px;max-width:760px;font-size:clamp(28px,3.4vw,42px);line-height:1.15}.admin-console-title p,.admin-login-panel p,.admin-panel-header p{margin:0;color:var(--muted);line-height:1.7}.admin-console-status{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:22px;border:1px solid rgba(203,213,225,.78);border-left:4px solid var(--warning);border-radius:8px;background:#fff;box-shadow:var(--shadow-soft)}.admin-console-status.signed{border-left-color:var(--success)}.admin-console-status span,.admin-overview-card span,.admin-mini-stats span,.admin-list-toolbar span,.admin-field>span,.admin-card-head span,.admin-builder-label,.admin-usage-grid span{color:var(--muted);font-size:12px;font-weight:700}.admin-console-status strong{font-size:24px}.admin-console-status small,.admin-overview-card small,.admin-usage-grid small{color:var(--muted);line-height:1.5}.admin-login-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid rgba(203,213,225,.78);border-radius:8px;background:#fff;box-shadow:var(--shadow-soft)}.admin-login-panel strong{font-size:20px}.admin-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.admin-overview-card{padding:16px;border:1px solid rgba(203,213,225,.78);border-radius:8px;background:#fff;box-shadow:var(--shadow-soft)}.admin-overview-card strong{display:block;margin:8px 0 4px;font-size:28px;line-height:1}.admin-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.admin-panel-shell{max-width:none;margin:0 auto 24px}.admin-section-tabs{display:inline-flex;gap:6px;padding:6px;margin-bottom:12px;border:1px solid rgba(203,213,225,.86);border-radius:8px;background:#ffffffe0;box-shadow:var(--shadow-soft)}.admin-section-tabs button{min-width:154px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;border-radius:8px;background:transparent;color:var(--muted);text-align:left}.admin-section-tabs button.active{background:var(--primary);color:#fff;box-shadow:0 10px 20px #2563eb2e}.admin-section-tabs button span{font-weight:800}.admin-section-tabs button small{color:currentColor;opacity:.78}.admin-panel{margin-bottom:0;border-radius:8px;background:#fffffff0}.admin-panel h2{margin:8px 0;font-size:28px;line-height:1.2}.admin-panel h3{margin:0;font-size:18px}.admin-panel-header,.admin-card-head,.admin-list-toolbar,.admin-config-meta,.admin-user-footer{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.admin-panel-header{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(203,213,225,.72)}.admin-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-mini-stats div{padding:13px 14px;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#f8fafc}.admin-mini-stats strong{display:block;margin-top:5px;font-size:22px}.admin-work-grid{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:16px;align-items:start}.admin-card{padding:18px;border:1px solid rgba(203,213,225,.8);border-radius:8px;background:#fff;box-shadow:var(--shadow-soft)}.admin-create-card{position:sticky;top:88px}.admin-card-head{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(203,213,225,.72)}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.admin-form-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-user-basic-grid{grid-template-columns:minmax(132px,.75fr) minmax(132px,.75fr) minmax(180px,1.2fr)}.admin-field{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-permission-builder{display:grid;grid-template-columns:minmax(170px,1fr) 92px 92px auto;gap:8px;align-items:center;margin-top:8px}.admin-builder-label{margin-top:14px}.admin-permission-number{text-align:center}.admin-permission-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:30px;margin-top:10px}.admin-permission-tag{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;border:1px solid rgba(37,99,235,.14);border-radius:999px;background:#2563eb0f;color:var(--text);box-shadow:none;font-size:12px}.admin-permission-tag:disabled{opacity:.68;cursor:not-allowed}.admin-permission-remove{color:var(--error);font-weight:700}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.admin-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid rgba(203,213,225,.84);border-radius:8px;background:#fff;color:var(--muted);font-size:13px;font-weight:700}.admin-toggle input{width:16px;height:16px;accent-color:var(--primary)}.admin-user-list-panel{min-width:0;padding:16px;border:1px solid rgba(203,213,225,.8);border-radius:8px;background:#fff;box-shadow:var(--shadow-soft)}.admin-list-toolbar{align-items:center;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(203,213,225,.72)}.admin-list-toolbar input{max-width:320px;padding:11px 13px}.admin-user-list{display:flex;flex-direction:column;gap:12px;max-height:820px;overflow:auto;padding-right:4px}.admin-user-card{border:1px solid rgba(203,213,225,.88);border-left:4px solid var(--primary);border-radius:8px;padding:16px;background:#fff;box-shadow:0 10px 22px #0f172a09}.admin-user-card.locked{border-left-color:var(--warning)}.admin-user-card.disabled{border-left-color:var(--muted);background:#f8fafc}.admin-user-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.admin-config-meta span{color:var(--muted);font-size:12px}.admin-user-identity{min-width:0}.admin-user-identity strong{display:block;font-size:18px;overflow-wrap:anywhere}.admin-user-identity span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.admin-user-role,.admin-user-member-type,.admin-status-badge,.admin-root-badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.admin-user-role{background:#2563eb1a;color:var(--primary)}.admin-user-role-wrap{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.admin-user-member-type{background:#0f172a0f;color:var(--text)}.admin-status-badge{background:#138a631a;color:var(--success)}.admin-status-badge.off{background:#6f7b8c1f;color:var(--muted)}.admin-root-badge{background:#b7791f1f;color:var(--warning)}.admin-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px}.admin-usage-grid div{padding:11px 12px;border:1px solid rgba(203,213,225,.72);border-radius:8px;background:#f8fafc}.admin-usage-grid strong{display:block;margin:4px 0 2px;font-size:20px}.admin-user-footer{align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(203,213,225,.72)}.admin-config-tabs{display:flex;flex-direction:column;gap:8px}.admin-config-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:16px;align-items:start}.admin-config-tabs button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border:1px solid rgba(203,213,225,.84);border-radius:8px;background:#fff;color:var(--text);text-align:left}.admin-config-tabs button.active{background:#2563eb14;border-color:#2563eb42;color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.admin-config-tabs button span{color:var(--muted);font-size:12px}.admin-config-workspace{min-width:0;padding:16px;border:1px solid rgba(203,213,225,.84);border-radius:8px;background:#fff;box-shadow:var(--shadow-soft)}.admin-config-meta{align-items:center;margin-bottom:12px}.admin-config-meta div{min-width:0}.admin-config-meta span{display:block;margin-top:5px;overflow-wrap:anywhere}.admin-config-editor{min-height:520px;font-family:Consolas,Courier New,monospace;font-size:13px;line-height:1.6;border-radius:8px;background:#0f172a;color:#e2e8f0;border-color:#0f172a2e;resize:vertical}.admin-hint{margin-top:10px;border:1px dashed rgba(15,23,42,.14);border-radius:8px;background:#f8fafcdb;color:var(--muted);padding:12px 14px;line-height:1.6}.admin-inline-error{margin:0 0 12px;padding:12px 14px;border:1px solid rgba(214,69,69,.18);border-radius:8px;background:#d6454514;color:var(--error)}.admin-empty{border:1px dashed rgba(203,213,225,.9);border-radius:8px;background:#f8fafc}.analysis-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid rgba(15,23,42,.06)}.analysis-title-wrap{display:flex;align-items:center;gap:14px}.analysis-title-logo{width:76px;height:76px;object-fit:contain;border-radius:18px}.analysis-profile-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0 10px;padding:10px;border-radius:18px;border:1px solid rgba(15,23,42,.06);background:#ffffffb8}.analysis-profile-field{gap:5px}.analysis-profile-field span{font-size:11px}.analysis-profile-field input{min-height:38px;padding:9px 10px;border-radius:12px;font-size:13px}.analysis-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.analysis-tab{background:#ffffffc2;border:1px solid var(--border);border-radius:999px;padding:9px 13px;color:var(--muted)}.analysis-tab.active{background:#1f6fff1a;border-color:#1f6fff3d;color:var(--primary);font-weight:700}.analysis-body{display:grid;grid-template-columns:minmax(520px,1.12fr) minmax(320px,.88fr);gap:14px}.analysis-body-editor{grid-template-columns:1fr}.analysis-editor,.analysis-view{border:1px solid rgba(15,23,42,.07);border-radius:20px;padding:14px;background:#ffffffd6;box-shadow:0 14px 30px #0f172a0a}.analysis-profile-card{display:flex;gap:16px;align-items:center;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:18px;background:linear-gradient(135deg,#1f6fff14,#5ba6ff08)}.analysis-avatar{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#1f6fff,#5ba6ff);color:#fff;font-size:28px;font-weight:700;flex-shrink:0}.analysis-profile-meta h3{margin:0 0 6px;font-size:22px}.analysis-profile-meta p{margin:4px 0;color:var(--muted)}.analysis-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.analysis-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.analysis-preset-panel{margin-top:12px;padding:10px;border:1px solid rgba(31,111,255,.08);border-radius:16px;background:#f8fbffbd}.analysis-preset-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.analysis-preset-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.analysis-preset-item{display:flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:#0f172a0a}.analysis-preset-chip{color:var(--text)}.analysis-preset-empty{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.6}.analysis-batch-panel{margin-bottom:12px;padding:12px;border:1px solid rgba(15,23,42,.07);border-radius:16px;background:#f9fafcb8}.analysis-batch-copy{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.analysis-batch-copy strong{font-size:15px}.analysis-batch-copy span{font-size:13px;color:var(--muted);line-height:1.6}.analysis-batch-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.analysis-file-input{display:none}.analysis-batch-success{margin-top:10px;font-size:13px;color:var(--success);line-height:1.6}.analysis-table{display:flex;flex-direction:column;gap:6px}.analysis-row{display:grid;grid-template-columns:minmax(140px,1fr) 82px 82px 58px;gap:6px;align-items:center}.analysis-row-head{padding:0 4px;font-size:12px;color:var(--muted);font-weight:700}.analysis-row input{min-height:36px;padding:8px 10px;border-radius:12px;font-size:13px}.analysis-row .text-button{min-height:34px;padding:0 8px;justify-content:center}.analysis-score-input{text-align:center}.analysis-submit{margin-top:0}.analysis-editor-actions{display:grid;grid-template-columns:minmax(84px,auto) minmax(70px,auto) minmax(160px,1fr);gap:8px;align-items:center;margin-top:12px}.analysis-result{display:grid;gap:14px}.analysis-result-page{display:grid}.analysis-result-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;border:1px solid rgba(15,23,42,.07);border-radius:22px;background:linear-gradient(135deg,#1f6fff17,#ffffffe6 58%,#169b620f);box-shadow:0 16px 32px #0f172a0d}.analysis-result-hero h3{margin:4px 0;font-size:24px}.analysis-result-hero p{margin:0;color:var(--muted)}.analysis-result-overview{display:grid;grid-template-columns:minmax(260px,.88fr) minmax(360px,1.12fr);gap:12px}.analysis-result-main{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:12px;align-items:start}.analysis-radar-panel,.analysis-insight-panel,.analysis-detail-panel{border:1px solid rgba(15,23,42,.07);border-radius:22px;padding:16px;background:#ffffffdb;box-shadow:0 14px 30px #0f172a0a}.analysis-insight-panel{display:grid;gap:12px}.analysis-result-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analysis-scoreboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analysis-score-card{border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:14px;background:linear-gradient(180deg,#f8fbff,#fff)}.analysis-score-card span,.analysis-score-card small{color:var(--muted)}.analysis-score-value{display:flex;align-items:baseline;gap:6px;margin-top:4px}.analysis-score-card strong{font-size:28px;line-height:1}.analysis-score-card.grade{background:linear-gradient(135deg,#1f6fff24,#5ba6ff1f)}.analysis-result-block{margin-top:0}.analysis-summary-box{background:linear-gradient(180deg,#f6fbff,#fff)}.analysis-chip-list{display:flex;flex-wrap:wrap;gap:8px}.analysis-practice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.analysis-chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}.analysis-chip.good{background:#169b621f;color:var(--success)}.analysis-chip.weak{background:#d645451f;color:var(--error)}.analysis-detail-list{border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#f8f9fbb8;overflow:hidden}.analysis-detail-row{display:grid;grid-template-columns:minmax(92px,1fr) minmax(92px,auto) minmax(110px,auto);align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(15,23,42,.06)}.analysis-detail-row:last-child{border-bottom:none}.analysis-detail-row span{color:var(--muted);font-size:13px;white-space:nowrap}.analysis-detail-row span:last-child{text-align:right}.analysis-export-actions{display:flex;flex-wrap:wrap;gap:10px}.learning-monitor-panel{border:1px solid var(--border);border-radius:24px;padding:20px;background:linear-gradient(180deg,#fffffffa,#f8fafcf5);box-shadow:0 16px 34px #0f172a0f}.learning-monitor-head,.learning-monitor-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.learning-monitor-head{margin-bottom:16px}.learning-monitor-head h2{margin:8px 0 6px;font-size:30px}.learning-monitor-head p,.learning-monitor-card-head p{margin:0;color:var(--muted);line-height:1.6}.learning-monitor-card{border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:16px;background:#fff}.learning-monitor-card.combined_checkin{border-color:#f59e0b3d;background:linear-gradient(135deg,#fffbebeb,#fff 42%)}.learning-monitor-card.combined_checkin .learning-monitor-summary{background:#f59e0b1f}.learning-monitor-card.prize_redemptions{margin-bottom:14px;border-color:#ec489933;background:linear-gradient(135deg,#fdf2f8eb,#fff 42%)}.admin-class-panel .admin-panel-header{align-items:center}.admin-class-create,.admin-class-card{margin-top:14px}.admin-class-list{display:grid;gap:14px;margin-top:16px}.admin-class-card{border-left-color:#7c3aed}.admin-class-card.type-school{border-left-color:#2563eb}.admin-class-card.type-tom{border-left-color:#7c3aed}.admin-class-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-class-card>header>div{display:grid;gap:4px}.admin-class-type{width:fit-content;padding:4px 8px;border-radius:999px;color:#5b21b6;background:#f3e8ff;font-size:11px;font-weight:800}.type-school .admin-class-type{color:#1d4ed8;background:#dbeafe}.admin-class-description{grid-column:1 / -1}.admin-class-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.admin-class-member-checklist{display:grid;align-content:start;max-height:210px;min-height:170px;padding:7px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.admin-class-member-option{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:center;min-height:42px;padding:7px 9px;border-radius:8px;cursor:pointer}.admin-class-member-option:hover{background:#f8fafc}.admin-class-member-option:has(input:checked){color:#4c1d95;background:#f5f3ff}.admin-class-member-option input{width:16px;height:16px;margin:0;accent-color:#6d28d9}.admin-class-member-option>span{display:grid;min-width:0}.admin-class-member-option strong,.admin-class-member-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-class-member-option small,.admin-class-member-checklist>p{color:var(--muted);font-size:11px}.admin-class-member-checklist>p{margin:auto}.admin-user-classes{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.admin-class-chip{padding:5px 9px;border:1px solid #ddd6fe;border-radius:999px;color:#5b21b6;background:#f5f3ff;font-size:11px;font-weight:800}.admin-class-chip.type-school{border-color:#bfdbfe;color:#1d4ed8;background:#eff6ff}.admin-class-chip.is-empty{border-color:#e2e8f0;color:#64748b;background:#f8fafc}.admin-class-member-grid small{color:var(--muted);font-size:11px}.admin-status.enabled,.admin-status.disabled{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.admin-status.enabled{color:#047857;background:#d1fae5}.admin-status.disabled{color:#64748b;background:#e2e8f0}@media(max-width:720px){.admin-class-member-grid{grid-template-columns:1fr}.admin-class-member-checklist{min-height:145px}.admin-class-card>header{flex-direction:column}}.learning-monitor-card.point_management{border-color:#2563eb33;background:linear-gradient(135deg,#eff6fff5,#fffffffa)}.learning-monitor-point-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px}.learning-monitor-point-tools input{width:min(320px,100%);min-height:40px;border:1px solid rgba(37,99,235,.2);border-radius:10px;background:#fff;color:var(--text);padding:8px 12px}.learning-monitor-point-tools span{color:var(--muted);font-size:12px;font-weight:700}.learning-monitor-point-row{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(100px,1fr) 72px 90px minmax(100px,.8fr) minmax(130px,1fr) 138px;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.18);font-size:13px}.learning-monitor-point-row:last-child{border-bottom:0}.learning-monitor-point-row.readonly{grid-template-columns:minmax(120px,1.2fr) minmax(110px,1fr) 80px 100px}.learning-monitor-point-table,.learning-monitor-point-history{overflow-x:auto}.learning-monitor-point-table .learning-monitor-point-row{min-width:900px}.learning-monitor-point-table .learning-monitor-point-row.readonly{min-width:480px}.learning-monitor-point-history-row{min-width:1080px}.learning-monitor-points-balance{color:#1d4ed8;font-size:16px;font-weight:900}.learning-monitor-point-input{width:100%;min-width:0;min-height:36px;border:1px solid rgba(37,99,235,.2);border-radius:8px;background:#fff;padding:6px 9px}.learning-monitor-point-note{min-width:130px}.learning-monitor-point-actions{display:flex;align-items:center;gap:6px}.learning-monitor-point-button{flex:1;min-height:36px;border:0;border-radius:999px;background:#2563eb;color:#fff;cursor:pointer;font-size:13px;font-weight:800}.learning-monitor-point-button.add{background:#2563eb}.learning-monitor-point-button.subtract{background:#dc2626}.learning-monitor-point-button:disabled{cursor:not-allowed;opacity:.45}.learning-monitor-point-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px}.learning-monitor-point-history-head h4{margin:0;font-size:15px}.learning-monitor-point-history-head span{color:var(--muted);font-size:12px}.learning-monitor-point-history-row{display:grid;grid-template-columns:minmax(130px,1.1fr) 90px 64px 96px minmax(150px,1.2fr) minmax(130px,1.1fr) minmax(145px,1fr);align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.18);font-size:13px}.learning-monitor-point-history-row>span{display:grid;gap:2px}.learning-monitor-point-history-row small{color:var(--muted);font-size:11px}.learning-monitor-points-added{color:var(--success);font-size:15px;font-weight:900}.learning-monitor-points-subtracted{color:var(--error);font-size:15px;font-weight:900}.learning-monitor-point-note-display{color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.learning-monitor-card.prize_redemptions .learning-monitor-summary{background:#ec48991a}.learning-monitor-card+.learning-monitor-card{margin-top:14px}.learning-monitor-card.collapsed{padding-bottom:16px}.learning-monitor-card-toggle{width:100%;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.learning-monitor-card-toggle:hover h3{color:var(--primary)}.learning-monitor-caret{align-self:center;min-width:44px;padding:6px 10px;border-radius:999px;background:#1f6fff14;color:var(--primary);font-size:12px;font-weight:800;text-align:center}.learning-monitor-card-head h3{margin:0 0 6px;font-size:20px}.learning-monitor-summary{min-width:130px;padding:10px 12px;border-radius:16px;background:#1f6fff14;text-align:right}.learning-monitor-summary span{display:block;color:var(--muted);font-size:12px;font-weight:700}.learning-monitor-summary strong{display:block;margin-top:4px;font-size:22px}.learning-monitor-summary em{display:block;margin-top:2px;color:var(--error);font-size:12px;font-style:normal;font-weight:800}.learning-monitor-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}.learning-monitor-filter-group{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#f8fafcf5}.learning-monitor-filter-button{min-height:32px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer;transition:.18s ease}.learning-monitor-filter-button.active{background:#fff;color:var(--primary);box-shadow:0 6px 16px #1f6fff24}.learning-monitor-table{margin-top:14px;border:1px solid rgba(15,23,42,.08);border-radius:16px;overflow:hidden}.learning-monitor-row{display:grid;grid-template-columns:minmax(90px,1.2fr) 64px minmax(92px,1fr) minmax(86px,.9fr) minmax(86px,.9fr);gap:8px;align-items:center;padding:11px 12px;border-bottom:1px solid rgba(15,23,42,.06);font-size:13px}.learning-monitor-row:last-child{border-bottom:0}.learning-monitor-redemption-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(100px,1fr) minmax(100px,1fr) 82px minmax(140px,1.2fr);gap:8px;align-items:center;padding:11px 12px;border-bottom:1px solid rgba(15,23,42,.06);font-size:13px}.learning-monitor-redemption-row:last-child{border-bottom:0}.learning-monitor-prize-name,.learning-monitor-points-spent{font-weight:800}.learning-monitor-prize-name{color:#be185d}.learning-monitor-points-spent{color:var(--error)}.learning-monitor-row-head{background:#f8fafceb;color:var(--muted);font-size:12px;font-weight:800}.learning-monitor-status,.learning-monitor-streak{display:inline-flex;align-items:center;min-height:28px;width:fit-content;padding:0 9px;border-radius:999px;font-weight:800}.learning-monitor-status.done{background:#169b621f;color:var(--success)}.learning-monitor-status.pending{background:#d645451a;color:var(--error)}.learning-monitor-streak{background:#fffbebfa;color:#9a5a12}.schedule-modal{width:min(1320px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:linear-gradient(180deg,#fffffffa,#f5f7fbfa);border-radius:28px;border:1px solid var(--border);box-shadow:0 28px 60px #0f172a2e;padding:24px}.recitation-modal{width:min(1320px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:radial-gradient(circle at top right,#facc151f,#facc1500 22%),linear-gradient(180deg,#fffffffa,#f7f4edf5);border-radius:28px;border:1px solid var(--border);box-shadow:0 28px 60px #0f172a2e;padding:24px}.schedule-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.schedule-next-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:12px;margin-bottom:18px;padding:12px;border:1px solid rgba(31,111,255,.14);border-radius:20px;background:linear-gradient(135deg,#eff6fff5,#fffffffa)}.schedule-next-label{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:8px 12px;border-radius:14px;background:#1f6fff1f;color:var(--primary);font-size:13px;font-weight:800}.schedule-next-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:10px;align-items:center;width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.schedule-next-main strong{display:block;margin-bottom:4px;color:var(--text);font-size:18px}.schedule-next-main span,.schedule-next-empty{color:var(--muted);font-size:13px;font-weight:700}.schedule-next-meta{display:grid;gap:4px;justify-items:end}.schedule-next-empty{display:flex;align-items:center;min-height:42px}.schedule-body{display:flex;flex-direction:column;gap:18px}.recitation-head{margin-bottom:20px}.recitation-layout{display:grid;grid-template-columns:minmax(320px,410px) minmax(0,1fr);gap:18px}.recitation-layout.is-library,.recitation-layout.is-stage{grid-template-columns:1fr}.recitation-editor-panel,.recitation-stage-panel{border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f9fafceb);padding:18px;box-shadow:0 14px 30px #0f172a0d}.recitation-editor-panel{display:flex;flex-direction:column;gap:16px}.recitation-library-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:4px 2px 2px}.recitation-library-head h3{margin:10px 0 0;font-size:28px;line-height:1.25}.recitation-library-head p{margin:8px 0 0;color:var(--muted);line-height:1.65}.recitation-library-head>span{flex-shrink:0;min-height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;background:#f59e0b1f;color:#b45309;font-size:12px;font-weight:800}.recitation-device-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:10px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#ffffffb8}.recitation-device-field{display:flex;flex-direction:column;gap:6px;min-width:0}.recitation-device-field span{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.recitation-device-actions{display:flex;align-items:flex-end}.recitation-head-actions{display:flex;align-items:center;gap:10px}.recitation-stage-panel{display:flex;flex-direction:column;gap:12px}.recitation-stage-nav{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#ffffffd6}.recitation-stage-nav span{min-width:0;color:var(--muted);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recitation-stage-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:12px;align-items:stretch}.recitation-stage-title,.recitation-stage-actions,.recitation-status-strip,.recitation-transcript-strip,.recitation-debug-panel,.recitation-article-panel{border-radius:22px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fffffffa,#f8fafcf0);box-shadow:0 12px 26px #0f172a0d}.recitation-stage-title,.recitation-stage-actions,.recitation-status-strip,.recitation-transcript-strip,.recitation-debug-panel{padding:14px}.recitation-stage-title h3{margin:8px 0 0;font-size:26px;line-height:1.2}.recitation-stage-meta{margin:8px 0 0;color:#92400e;font-size:14px;line-height:1.6}.recitation-stage-actions{display:flex;flex-direction:column;gap:10px}.recitation-progress-inline{display:flex;justify-content:space-between;gap:10px;align-items:center;color:var(--muted);font-size:12px;font-weight:700}.recitation-progress-inline strong{color:var(--text);font-size:16px}.recitation-lesson-list{display:flex;flex-direction:column;gap:12px}.recitation-lesson-group{display:flex;flex-direction:column;gap:10px}.recitation-lesson-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:#ffffffd9;color:var(--text);text-align:left;box-shadow:0 8px 18px #0f172a0a}.recitation-lesson-group-title{font-size:15px;font-weight:800}.recitation-lesson-group-meta{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700}.recitation-lesson-group-caret{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#0f172a0d}.recitation-lesson-group-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.recitation-lesson-card{width:100%;display:flex;flex-direction:column;gap:10px;padding:16px;text-align:left;border-radius:20px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fffffffa,#f8fafcf0);box-shadow:0 10px 22px #0f172a0a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.recitation-lesson-enter{margin-left:auto;background:#f59e0b24!important;color:#b45309!important}.recitation-lesson-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0f172a14;border-color:#f59e0b3d}.recitation-lesson-card.active{border-color:#f59e0b57;background:radial-gradient(circle at top right,#f59e0b1f,#f59e0b00 40%),linear-gradient(180deg,#fffffffa,#fffaf0fa);box-shadow:0 16px 30px #f59e0b1a}.recitation-lesson-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.recitation-lesson-top strong{font-size:18px;line-height:1.3}.recitation-lesson-top span{flex-shrink:0;color:var(--muted);font-size:12px;font-weight:700}.recitation-lesson-author{color:#92400e;font-size:13px;font-weight:700}.recitation-lesson-preview{color:var(--muted);line-height:1.75;font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.recitation-lesson-meta,.recitation-tag-row{display:flex;flex-wrap:wrap;gap:8px}.recitation-lesson-meta span,.recitation-tag{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#0f172a0d;color:var(--muted);font-size:12px;font-weight:700}.recitation-editor-actions,.recitation-control-actions,.recitation-chip-row{display:flex;gap:8px;flex-wrap:wrap}.recitation-control-actions .primary-button{flex:1 1 170px}.recitation-helper,.recitation-draft-warning{font-size:13px;line-height:1.7;border-radius:16px;padding:12px 14px}.recitation-helper{color:var(--muted);background:#0f172a0a;border:1px dashed rgba(15,23,42,.1)}.recitation-draft-warning{color:#a16207;background:#facc1529;border:1px solid rgba(250,204,21,.24)}.recitation-stage-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:14px}.recitation-progress-card,.recitation-control-card,.recitation-status-card,.recitation-transcript-card{border-radius:20px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fffffffa,#f8fafcf0);box-shadow:0 12px 26px #0f172a0d;padding:16px}.recitation-progress-card strong,.recitation-transcript-card strong,.recitation-status-card strong{display:block;margin-top:10px;font-size:22px;line-height:1.35}.recitation-progress-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted);font-size:13px}.recitation-progress-bar{margin-top:0;width:100%;height:8px;border-radius:999px;background:#0f172a14;overflow:hidden}.recitation-progress-bar>div{height:100%;border-radius:999px;background:linear-gradient(90deg,#f59e0b,#ef4444);transition:width .2s ease}.recitation-control-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px}.recitation-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;border:1px solid rgba(15,23,42,.08)}.recitation-chip.tone-unknown,.recitation-chip.tone-idle,.recitation-chip.tone-paused{background:#94a3b81f;color:#475569}.recitation-chip.tone-granted,.recitation-chip.tone-listening{background:#169b621f;color:var(--success)}.recitation-chip.tone-denied,.recitation-chip.tone-unsupported{background:#d645451a;color:var(--error)}.recitation-chip.tone-completed{background:#f59e0b24;color:#b45309}.recitation-status-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.recitation-status-strip strong,.recitation-transcript-strip strong{display:block;margin-top:6px;font-size:18px;line-height:1.35}.recitation-status-strip p,.recitation-transcript-strip p{margin:6px 0 0;color:var(--muted);line-height:1.7;font-size:14px}.recitation-status-subtle{margin-top:8px!important;color:#64748be0!important;font-size:13px!important}.recitation-current-progress{margin-top:10px}.recitation-current-progress-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:6px}.recitation-current-progress-head strong{color:#b45309;font-size:12px}.recitation-current-progress-bar{height:8px;border-radius:999px;overflow:hidden;background:#f59e0b1f}.recitation-current-progress-bar>div{height:100%;border-radius:999px;background:linear-gradient(90deg,#f59e0bad,#fbbf24eb);transition:width .18s ease}.recitation-mic-meter{margin-top:0;display:flex;align-items:center;gap:10px}.recitation-mic-meter-bar{flex:1;height:10px;border-radius:999px;background:#0f172a14;overflow:hidden}.recitation-mic-meter-bar>div{height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#f59e0b 55%,#ef4444);transition:width .12s linear}.recitation-mic-meter span{flex-shrink:0;color:var(--muted);font-size:12px;font-weight:700}.recitation-debug-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:12px}.recitation-debug-head strong{font-size:16px}.recitation-debug-head span{color:var(--muted);font-size:12px}.recitation-debug-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.recitation-debug-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.recitation-debug-item{padding:12px 14px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#ffffffb8}.recitation-debug-item span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.recitation-debug-item strong{font-size:13px;line-height:1.6;word-break:break-word}.recitation-debug-log{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto}.recitation-self-test{margin-bottom:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:#ffffffb8}.recitation-self-test-copy span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.recitation-self-test-copy strong{font-size:13px;line-height:1.6}.recitation-self-test-audio{width:100%;margin-top:10px}.recitation-debug-log-item,.recitation-debug-log-empty{padding:10px 12px;border-radius:14px;background:#0f172a0a;border:1px solid rgba(15,23,42,.06)}.recitation-debug-log-item span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.recitation-debug-log-item strong,.recitation-debug-log-empty{font-size:13px;line-height:1.6;word-break:break-word}.recitation-article-panel{padding:18px 20px;background:radial-gradient(circle at top right,#f59e0b14,#f59e0b00 18%),linear-gradient(180deg,#fffcf7fa,#fffffffa)}.recitation-article-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.recitation-article-content{min-height:360px;padding:10px 2px}.recitation-article-paragraph{margin:0 0 18px;font-size:30px;line-height:2;letter-spacing:.03em;word-break:break-word}.recitation-article-paragraph:last-child{margin-bottom:0}.recitation-article-sentence{border-radius:4px;cursor:pointer;outline:none;transition:color .18s ease,background-color .18s ease,opacity .18s ease}.recitation-article-sentence:hover,.recitation-article-sentence:focus-visible{background:#1f6fff14}.recitation-article-sentence.playing{background:#169b621f;color:#0f7a4c}.recitation-article-sentence.revealed{color:var(--text);-webkit-user-select:text;user-select:text}.recitation-article-sentence.current,.recitation-article-sentence.hidden{-webkit-user-select:none;user-select:none}.recitation-article-mask-group,.recitation-article-mask-group-lined{display:inline}.recitation-article-char-slot{display:inline-flex;align-items:flex-end;justify-content:center;min-width:1em;margin-right:.02em;vertical-align:baseline}.recitation-article-char-slot.revealable{border-bottom:2px solid rgba(148,163,184,.55)}.recitation-article-sentence.current .recitation-article-char-slot.revealable{border-bottom-color:#f59e0be6}.recitation-article-char-slot.punctuation{min-width:.6em}.recitation-article-char-text{display:inline-block;min-width:1em;text-align:center;color:transparent;transition:color .18s ease}.recitation-article-char-slot.punctuation .recitation-article-char-text{min-width:.6em;color:#64748bf2}.recitation-article-char-slot.revealed .recitation-article-char-text{color:var(--text)}.recitation-article-sentence.current .recitation-article-char-slot.revealed .recitation-article-char-text{color:#b45309}.recitation-article-mask-block{display:inline-block;height:.82em;margin:0 .12em .1em 0;vertical-align:middle;border-radius:999px;background:linear-gradient(180deg,#cbd5e18a,#e2e8f0c2);box-shadow:inset 0 -1px #cbd5e13d}.recitation-article-sentence.current .recitation-article-mask-block{background:linear-gradient(180deg,#f59e0b2e,#f59e0b1a);box-shadow:inset 0 -1px #f59e0b2e,0 0 0 1px #f59e0b14}.recitation-article-sentence.current .recitation-article-mask-block{min-width:.72em}.recitation-article-sentence.hidden .recitation-article-mask-block:last-child,.recitation-article-sentence.current .recitation-article-mask-block:last-child{margin-right:.28em}.recitation-empty-state{min-height:320px;display:grid;place-items:center;text-align:center}.schedule-week-panel,.schedule-calendar-panel,.schedule-editor{border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f9fafceb);padding:18px;box-shadow:0 14px 30px #0f172a0d}.schedule-toolbar,.schedule-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.schedule-toolbar strong,.schedule-calendar-head strong,.schedule-editor-head strong{font-size:18px;letter-spacing:.01em}.schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.schedule-timeline{display:flex;flex-direction:column;gap:0;border:1px solid rgba(15,23,42,.08);border-radius:20px;overflow:hidden;background:#fff}.schedule-mobile-day{display:none}.schedule-mobile-day-title{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.04em}.schedule-timeline-head{display:grid;grid-template-columns:88px repeat(7,minmax(0,1fr));border-bottom:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#f8fafcfa,#fffffffa)}.schedule-time-col-head,.schedule-day-col-head{padding:12px 10px}.schedule-time-col-head{border-right:1px solid rgba(15,23,42,.08);color:var(--muted);font-size:12px;font-weight:700}.schedule-day-col-head{border-right:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:4px}.schedule-day-col-head:last-child{border-right:none}.schedule-day-col-head strong{font-size:13px}.schedule-day-col-head span{color:var(--muted);font-size:12px}.schedule-day-col-head.selected{background:#1f6fff0f}.schedule-day-col-head.today{box-shadow:inset 0 -2px #1f6fff33}.schedule-timeline-body-wrap{overflow:visible}.schedule-timeline-body{position:relative;display:grid;grid-template-columns:88px repeat(7,minmax(0,1fr))}.schedule-time-col{position:relative;border-right:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fcfcfd,#f8fafc)}.schedule-time-tick{position:absolute;left:0;right:0;transform:translateY(-50%);padding-left:12px;color:var(--muted);font-size:12px;font-weight:700}.schedule-day-col{position:relative;border-right:1px solid rgba(15,23,42,.06);background:linear-gradient(180deg,#fffffff0,#f8fafceb)}.schedule-day-col:last-child{border-right:none}.schedule-day-col.selected{background:linear-gradient(180deg,#1f6fff0f,#fffffff0)}.schedule-day-col.today{box-shadow:inset 0 0 0 1px #1f6fff1f}.schedule-time-gridline{position:absolute;left:0;right:0;height:1px;background:#0f172a0f}.schedule-day-card{min-height:220px;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:12px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:inset 0 1px #ffffffb3}.schedule-day-card.selected{border-color:#1f6fff47;box-shadow:0 14px 28px #1f6fff14}.schedule-day-card.today{background:linear-gradient(180deg,#1f6fff14,#fff)}.schedule-day-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}.schedule-day-head strong{font-size:14px}.schedule-day-head span{color:var(--muted);font-size:12px}.schedule-event-list{display:flex;flex-direction:column;gap:8px}.schedule-event-card{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;text-align:left;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fffffffa,#f8fafcf5);box-shadow:0 12px 24px #0f172a0d;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;overflow:hidden}.schedule-event-card-timeline{position:absolute;left:8px;right:8px;width:auto;z-index:2}.schedule-event-card:hover{transform:translateY(-1px);box-shadow:0 14px 26px #0f172a14;border-color:#0f172a1f}.schedule-event-card.tone-chinese{border-left:4px solid #ef4444;background:linear-gradient(180deg,#fef2f2f5,#fffffffa)}.schedule-event-card.tone-math{border-left:4px solid #1f6fff;background:linear-gradient(180deg,#eff6fffa,#fffffffa)}.schedule-event-card.tone-english{border-left:4px solid #169b62;background:linear-gradient(180deg,#f0fdf4fa,#fffffffa)}.schedule-event-card.tone-generic{border-left:4px solid #d69127;background:linear-gradient(180deg,#fffbebfa,#fffffffa)}.schedule-event-card strong{font-size:14px;line-height:1.35;color:var(--text);width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.schedule-event-card span{font-size:12px;color:var(--muted);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-event-repeat{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em}.schedule-event-repeat{background:#1f6fff1a;color:var(--primary)}.schedule-event-time{color:var(--text)!important;font-weight:700;font-size:13px;display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#ffffffeb;border:1px solid rgba(15,23,42,.08);box-shadow:inset 0 1px #ffffffbf}.schedule-event-info{color:var(--text)!important;font-size:12px!important;line-height:1.35;font-weight:700;display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#1f6fff12;border:1px solid rgba(31,111,255,.1)}.schedule-event-teacher{color:var(--text)!important;font-size:12px!important;font-weight:700;line-height:1.35;display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#0f172a0d;border:1px solid rgba(15,23,42,.06)}.schedule-event-card.is-short{gap:4px;padding:10px 11px}.schedule-event-card.is-short strong{font-size:12px;line-height:1.25}.schedule-event-card.is-regular{gap:6px}.schedule-event-card.is-long{gap:8px;padding-top:14px;padding-bottom:14px}.schedule-event-card.is-long strong{font-size:14px}.schedule-event-card.is-long .schedule-event-time{font-size:13px;min-height:26px}.schedule-event-card.is-long .schedule-event-teacher,.schedule-event-card.is-long .schedule-event-info{font-size:12px;min-height:22px}.schedule-empty-slot{position:absolute;top:16px;left:0;right:0;text-align:center;color:#6f7b8cb3;font-size:12px}.schedule-calendar-head{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}.schedule-calendar-weekdays,.schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.schedule-calendar-weekdays{margin-bottom:8px}.schedule-calendar-weekdays span{text-align:center;font-size:12px;color:var(--muted);font-weight:700}.schedule-calendar-cell{min-height:54px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff,#f9fafc);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:inset 0 1px #ffffffb8;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.schedule-calendar-cell:hover{transform:translateY(-1px);border-color:#0f172a24;box-shadow:0 10px 18px #0f172a0d}.schedule-calendar-cell.muted{opacity:.42}.schedule-calendar-cell.selected{border-color:#1f6fff47;background:linear-gradient(180deg,#1f6fff24,#5ba6ff0f)}.schedule-calendar-cell.today{box-shadow:inset 0 0 0 1px #1f6fff38}.schedule-calendar-cell span{font-weight:700;font-size:15px}.schedule-calendar-cell small{color:var(--primary);font-size:11px;font-weight:700}.schedule-editor{margin-top:18px}.schedule-editor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.schedule-editor-grid input{min-width:0}.schedule-editor-title,.schedule-editor-date{grid-column:span 2}.schedule-editor-time,.schedule-editor-repeat{grid-column:span 1}.schedule-editor-location{grid-column:span 3}.schedule-preset-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.schedule-scope-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.schedule-scope-item{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#0f172a0a;border:1px solid rgba(15,23,42,.06)}.schedule-member-section{margin-top:14px}.schedule-member-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.schedule-member-item{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#0f172a0a;border:1px solid rgba(15,23,42,.06);transition:background .18s ease,border-color .18s ease}.schedule-member-item:hover{background:#1f6fff0f;border-color:#1f6fff24}.schedule-detail-modal{width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,#fffffffc,#f8fafcf5);padding:18px;box-shadow:0 28px 60px #0f172a2e}.schedule-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-detail-item{padding:12px 14px;border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.08)}.schedule-detail-item span,.schedule-detail-notes span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.schedule-detail-item strong{font-size:14px;line-height:1.45}.schedule-detail-notes{margin-top:12px;padding:14px;border-radius:18px;background:#0f172a08;border:1px solid rgba(15,23,42,.06)}.schedule-detail-notes p{margin:0;line-height:1.7;color:var(--text)}.analysis-entry,.vocabulary-entry{font-weight:700}.danger{color:var(--error)}.radar-chart{width:100%;max-width:360px;height:auto;display:block;margin:4px auto 0}.radar-grid{fill:#1f6fff05;stroke:#1f6fff1a;stroke-width:1}.radar-axis{stroke:#0f172a14;stroke-width:1}.radar-core{fill:#fff;stroke:#1f6fff24;stroke-width:1.5}.radar-core-value{font-size:22px;font-weight:700;text-anchor:middle;fill:#1f6fff}.radar-core-label{font-size:12px;text-anchor:middle;fill:var(--muted)}.radar-data-fill{fill:url(#radarFillGradient)}.radar-data-stroke{fill:none;stroke:#1f6fff;stroke-width:2.5}.radar-dot{fill:#1f6fff;stroke:#fff;stroke-width:2}.radar-label-pill{fill:#ffffffe0;stroke:#0f172a14;stroke-width:1}.radar-label{font-size:12px;font-weight:600;text-anchor:middle;fill:#334155}.radar-hint{font-size:12px;fill:#0f172a73}.auth-modal h2{margin:14px 0 8px;font-size:28px}.admin-console-shell .auth-modal{border-radius:8px;box-shadow:0 30px 70px #0f172a3d}.admin-console-shell .auth-submit{border-radius:8px;font-weight:800;background:linear-gradient(135deg,var(--primary) 0%,#138a63 100%)}.admin-console-shell .login-brand-logo{border-radius:8px}.admin-modal h2{margin:10px 0 8px;font-size:30px}.login-brand-wrap{display:flex;align-items:center;gap:12px}.login-brand-logo{width:82px;height:82px;object-fit:contain;border-radius:20px}.auth-copy{color:var(--muted);line-height:1.7;margin-bottom:18px}.auth-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:30px;padding:0 12px;border-radius:999px;background:#1f6fff14;color:var(--primary);font-size:12px;font-weight:700}.auth-field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;font-size:13px;color:var(--muted)}.auth-submit{width:100%;border-radius:16px;background:var(--primary);color:#fff;padding:14px 18px;margin-top:6px}.auth-switch{width:100%;margin-top:10px;background:transparent;color:var(--muted);padding:10px 0 0}select{width:100%;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:18px;padding:14px 16px}.mobile-only{display:none}@media(max-width:1000px){.tom-stage{grid-template-columns:1fr}.tom-classroom-panel{min-height:0}.classical-dictation-layout{grid-template-columns:1fr}.classical-dictation-library{max-height:none}.admin-console-main{padding:18px}.admin-console-hero,.admin-work-grid,.admin-config-layout{grid-template-columns:1fr}.admin-create-card{position:static}.admin-user-list{max-height:none;overflow:visible;padding-right:0}.sidebar-overlay{display:block;position:fixed;top:76px;right:0;bottom:0;left:0;background:#0f172a3d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:25;border:none;padding:0;margin:0}.app-sidebar{position:fixed;left:0;top:76px;bottom:0;max-height:calc(100vh - 76px);transform:translate(-100%);transition:transform .2s ease;z-index:30;box-shadow:var(--shadow);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.product-main.module-paper>.app-sidebar,.product-main.module-paper>.sidebar-overlay{display:none}.mobile-paper-library{display:block;margin-bottom:12px}.mobile-library-panel .app-sidebar{position:static;display:block;max-height:none;transform:none;padding:12px;overflow:visible;touch-action:auto}.app-sidebar.open{transform:translate(0)}.mobile-only{display:inline-grid;place-items:center}.product-content{padding:18px}.home-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-module-intro{padding:18px}.workspace-stats,.report-summary,.analysis-body{grid-template-columns:1fr}.analysis-scoreboard{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-result-hero,.analysis-result-overview,.analysis-result-main,.analysis-result-mini-grid{grid-template-columns:1fr}.analysis-result-hero{align-items:stretch}.analysis-profile-grid,.recitation-layout,.recitation-debug-grid,.analysis-preset-form{grid-template-columns:1fr}}@media(max-width:720px){.tom-space-page-viewer{width:100%;grid-template-columns:38px minmax(0,1fr) 38px;gap:8px}.tom-space-page-nav{width:38px;height:38px;font-size:1.65rem}.tom-voice-console{grid-template-columns:1fr;justify-items:center}.tom-voice-copy{text-align:center}.tom-mic-button{width:126px}.tom-video-wrap,.tom-video{min-height:280px}.tom-classroom-panel,.tom-chat-shell{padding:16px}.tom-classroom-panel h1{font-size:26px}.tom-thread{max-height:340px;min-height:190px}.tom-hint{display:none}.chinese-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.chinese-practice-card{min-height:134px;padding:12px;gap:6px}.chinese-practice-card strong{font-size:17px}.chinese-practice-card span{font-size:13px}.classical-dictation-modal{width:calc(100vw - 16px);padding:16px;border-radius:22px}.classical-dictation-stage{min-height:0;padding:14px}.classical-dictation-stage-head{flex-direction:column}.classical-dictation-paper{padding:14px}.classical-dictation-sentence{font-size:17px;line-height:2.25}.classical-dictation-blank{width:clamp(76px,7.5em,126px);min-height:1.5em;font-size:1em}.classical-dictation-actions{grid-template-columns:1fr}.admin-console-topbar{min-height:62px;padding:9px 12px}.admin-console-brand{gap:9px}.admin-console-mark{width:36px;height:36px;font-size:16px}.admin-console-brand strong,.admin-console-session span{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.admin-console-brand span{display:none}.admin-console-session .text-button,.admin-console-session .primary-button{min-height:34px;padding:7px 10px;font-size:12px}.admin-console-main{padding:12px}.admin-console-title,.admin-console-status,.admin-login-panel,.admin-card,.admin-user-list-panel,.admin-config-workspace{padding:14px}.admin-console-title h1{font-size:25px}.admin-console-title p,.admin-login-panel p,.admin-panel-header p{font-size:13px}.admin-console-status strong{font-size:20px}.admin-login-panel,.admin-panel-header,.admin-list-toolbar,.admin-config-meta,.admin-user-head,.admin-user-footer{flex-direction:column;align-items:stretch}.admin-overview-grid,.admin-mini-stats,.admin-form-grid,.admin-form-grid.compact,.admin-user-basic-grid,.admin-usage-grid{grid-template-columns:1fr}.admin-section-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.admin-section-tabs button{min-width:0}.admin-panel h2{font-size:22px}.admin-permission-builder{grid-template-columns:minmax(0,1fr) 82px}.admin-permission-builder .ghost-chip{grid-column:1 / -1;width:100%}.admin-list-toolbar input{max-width:none}.admin-user-role-wrap{justify-content:flex-start}.admin-actions .primary-button,.admin-actions .text-button,.admin-config-meta .primary-button{width:100%;justify-content:center}.admin-config-editor{min-height:420px;font-size:12px}.sidebar-overlay{inset:var(--mobile-header-height) 0 0 0}.app-sidebar{top:var(--mobile-header-height);max-height:calc(100vh - var(--mobile-header-height))}.app-header{min-height:62px;padding:8px 12px;align-items:center;flex-direction:row;gap:8px}.chat-hero h1,.workspace h1{font-size:26px}.composer-actions,.paper-toolbar,.workspace-head{flex-direction:column;align-items:stretch}.composer-head{flex-direction:column;align-items:stretch;gap:10px;padding-bottom:12px;margin-bottom:14px}.composer-head h2{font-size:21px}.composer-head>span{text-align:left}.quick-prompts{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.quick-prompts .ghost-chip{flex:0 0 auto;max-width:72vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-actions .primary-button{width:100%;min-height:46px;border-radius:8px}.bubble{max-width:100%}.session-remove{opacity:1;transform:scale(1)}.header-left,.header-right{gap:8px}.header-left{flex:1;min-width:0}.header-right{width:auto;flex:0 0 auto;align-items:center;flex-direction:row;justify-content:flex-end;max-width:42vw}.header-right .primary-button,.header-right .text-button,.header-right .ghost-chip{width:auto;padding:7px 10px;font-size:12px;min-height:34px;border-radius:999px;white-space:nowrap}.friend-icon-button{width:34px;height:34px;font-size:15px;flex:0 0 auto;box-shadow:none}.checkin-header-trigger{height:34px;min-width:48px;padding:0 9px;gap:4px;box-shadow:none;font-size:14px}.checkin-header-trigger strong{font-size:12px}.brand-block{gap:10px;min-width:0;align-items:center}.brand-logo{width:42px;height:42px;border-radius:12px}.brand-copy{min-width:0}.brand-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}.brand-copy span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}.user-pill{padding:4px 4px 4px 9px;gap:4px;max-width:42vw;justify-content:flex-end;border-radius:999px;box-shadow:none}.user-pill span{max-width:19vw;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:700}.user-pill .text-button{min-height:28px;padding:4px 8px;background:#0f172a0a;color:var(--muted);font-size:11px}.friends-modal,.checkin-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:16px;padding:16px}.checkin-celebration-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:16px;padding:12px}.checkin-celebration-modal.video-stage{width:100vw;height:100vh;max-height:none;border-radius:0;padding:0}.checkin-celebration-modal.video-stage .checkin-celebration-video-wrap{min-height:100vh}.checkin-celebration-result,.checkin-celebration-groups{min-height:360px;padding:42px 8px 12px}.checkin-celebration-flame{width:94px;height:94px;font-size:48px}.checkin-group-row{align-items:flex-start;flex-direction:column;gap:8px}.checkin-calendar-weekdays,.checkin-calendar-grid{gap:5px}.checkin-calendar-cell{min-height:50px;border-radius:11px;padding:6px 2px 5px}.checkin-day-icons i,.checkin-legend i{width:16px;height:16px;border-radius:5px;font-size:10px}.friends-search{grid-template-columns:1fr}.friends-header-actions{gap:6px}.friends-modal-header{gap:10px;margin-bottom:14px}.friends-title-block{gap:9px}.friends-modal-header h2{font-size:20px}.friend-header-button{width:34px;height:34px;border-radius:12px;font-size:21px}.friends-search .primary-button{width:100%}.friend-row{grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px}.friend-avatar{width:36px;height:36px;border-radius:12px}.friend-actions,.friend-status,.friend-row>.primary-button.compact{grid-column:2;justify-self:start}.friend-streak-badge{grid-column:3;grid-row:1;align-self:center}.friend-row>.friend-danger-button{grid-column:2 / 4;justify-self:end}.friend-group-row{grid-template-columns:minmax(0,1fr)}.friend-group-row>.friend-danger-button{justify-self:end}.product-content{padding:12px}.chat-shell,.panel{border-radius:8px;padding:16px}.chat-hero{margin-bottom:14px}.chat-hero p{font-size:14px;line-height:1.7}.paper-module-intro{margin-bottom:12px;padding:16px}.paper-module-intro h1{font-size:25px}.paper-module-intro p{font-size:13px}.home-feature-strip{grid-template-columns:1fr;gap:10px}.home-feature-button{min-height:106px;border-radius:8px;padding:14px;gap:8px}.home-feature-button strong{font-size:16px}.home-feature-button small{font-size:12px}.panel-kicker{font-size:11px;padding:5px 9px}.paper-toolbar{gap:12px}.workspace-head{padding:16px}.workspace-title p{font-size:13px}.paper-toolbar h2{margin:10px 0 0;font-size:21px;line-height:1.35}.paper-toolbar-right{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:8px}.paper-corner-logo{width:44px;height:44px;border-radius:12px;margin-left:auto}.workspace-stats,.report-summary{gap:10px}.stat-card{min-width:0;padding:12px 14px;border-radius:8px}.stat-card strong,.report-score strong{font-size:18px}.q-head,.sub-head{flex-direction:column;align-items:stretch;gap:8px}.q-card .q-meta{gap:8px 6px;margin-bottom:0}.q-card .q-meta span{padding:4px 8px;font-size:11px;line-height:1.2}.trace-chip,.trace-chip.sub{align-self:flex-start;max-width:100%;padding:5px 8px;font-size:10px;border-radius:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-card{padding:16px;border-radius:20px}.q-card .q-question{font-size:15px;line-height:1.7}.rich-text img:not([title=formula]){max-height:320px}.rich-text th,.rich-text td{padding:8px 10px;white-space:nowrap}.q-card .q-context{padding:12px 14px;border-radius:14px}.q-card .q-options label{gap:8px;padding:10px 12px;border-radius:14px}.q-card .sub-question{margin-top:12px;padding-top:12px}.paper-panel .paper-submit-row{margin-top:14px}.paper-panel .paper-submit-row button{width:100%;min-height:46px;border-radius:16px}.page-brand-footer{flex-direction:column;gap:4px;align-items:flex-start;font-size:11px;margin-top:16px;padding-top:10px}.analysis-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px;border-radius:22px}.learning-monitor-panel{padding:16px;border-radius:18px}.learning-monitor-head,.learning-monitor-card-head{flex-direction:column;align-items:stretch}.learning-monitor-summary{text-align:left}.learning-monitor-row,.learning-monitor-redemption-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.learning-monitor-redemption-row.learning-monitor-row-head{display:none}.learning-monitor-redemption-row strong{grid-column:1 / -1}.learning-monitor-row-head{display:none}.learning-monitor-row strong{grid-column:1 / -1}.learning-monitor-row span{min-width:0}.vocabulary-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px;border-radius:22px}.vocabulary-head{flex-direction:column;gap:12px}.vocabulary-head-actions{width:100%;justify-content:space-between}.vocabulary-calendar-action{gap:5px}.vocabulary-streak-badge{min-width:38px;height:32px;padding:0 8px;font-size:12px}.vocabulary-head h2{font-size:24px;line-height:1.3}.vocabulary-toolbar{grid-template-columns:1fr}.vocabulary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-flashcard,.vocabulary-dictation-card{min-height:220px;padding:20px}.vocabulary-flashcard strong,.vocabulary-dictation-card strong{font-size:30px}.vocabulary-dictation-form,.vocabulary-match-grid{grid-template-columns:1fr}.vocabulary-calendar-panel{padding:14px;border-radius:18px}.vocabulary-calendar-weekdays,.vocabulary-calendar-grid{gap:6px}.vocabulary-calendar-cell{min-height:42px;border-radius:12px}.vocabulary-calendar-cell small{font-size:13px}.vocabulary-mastered-head{flex-direction:column}.vocabulary-record-actions{width:100%;justify-content:stretch}.vocabulary-record-actions .ghost-chip{flex:1 1 0;justify-content:center;min-width:0;padding:8px 10px}.vocabulary-mastered-list{grid-template-columns:1fr}.vocabulary-mastered-item{align-items:flex-start;flex-direction:column}.vocabulary-mastered-item .text-button{align-self:stretch;justify-content:center;min-height:38px;background:#d6454514;border-radius:12px}.vocabulary-actions{justify-content:stretch}.vocabulary-actions>*,.vocabulary-dictation-form .primary-button{width:100%;justify-content:center}.recitation-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:12px;border-radius:22px}.recitation-stage-panel{gap:8px;padding:12px}.recitation-library-head,.recitation-stage-nav{flex-direction:row;align-items:center}.recitation-library-head h3{font-size:23px}.recitation-library-head>span{align-self:flex-start}.recitation-device-panel{grid-template-columns:minmax(0,1fr) auto;padding:12px;border-radius:16px}.recitation-device-actions .ghost-chip{width:auto;min-height:42px;padding:0 10px;justify-content:center}.recitation-lesson-group-toggle{padding:12px 13px;border-radius:16px}.recitation-lesson-group-list{grid-template-columns:1fr}.recitation-lesson-card{border-radius:16px;padding:14px}.recitation-lesson-top{align-items:flex-start}.recitation-lesson-top strong{font-size:16px}.recitation-lesson-preview{-webkit-line-clamp:2}.recitation-stage-nav .ghost-chip{width:auto;justify-content:center;flex-shrink:0}.recitation-stage-nav span{white-space:normal}.recitation-stage-header{grid-template-columns:1fr;gap:10px}.recitation-stage-title,.recitation-stage-actions,.recitation-status-strip{padding:10px;border-radius:16px}.recitation-stage-title .panel-kicker,.recitation-stage-meta,.recitation-tag-row{display:none}.recitation-stage-title h3{margin:0;font-size:22px}.recitation-stage-actions{gap:8px}.recitation-device-panel{gap:8px;padding:8px}.recitation-status-strip p{display:none}.recitation-status-strip strong{margin-top:4px;font-size:16px}.recitation-current-progress,.recitation-mic-meter{margin-top:8px}.recitation-chip-row{gap:6px}.recitation-control-actions>*{width:auto;justify-content:center}.recitation-control-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.recitation-control-actions .primary-button{grid-column:1 / -1}.recitation-device-field select{min-height:42px}.analysis-head{flex-direction:column;gap:12px}.analysis-title-wrap{align-items:flex-start;gap:10px}.analysis-title-logo{width:64px;height:64px;border-radius:16px}.analysis-head h2{margin:6px 0 0;font-size:22px;line-height:1.3}.analysis-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 8px;padding:8px}.analysis-tabs{gap:8px;margin:14px 0}.analysis-tab{padding:8px 12px;font-size:12px}.analysis-editor,.analysis-view,.analysis-profile-card,.analysis-score-card,.analysis-preset-panel,.analysis-batch-panel{border-radius:18px;padding:14px}.analysis-toolbar{flex-direction:column;align-items:stretch;gap:10px}.analysis-toolbar-actions,.analysis-editor-actions,.analysis-batch-actions,.analysis-export-actions,.analysis-practice-actions{flex-wrap:wrap;gap:8px}.analysis-toolbar-actions>*,.analysis-editor-actions>*,.analysis-batch-actions>*,.analysis-export-actions>*,.analysis-practice-actions>*{width:100%;justify-content:center}.analysis-editor-actions{display:grid;grid-template-columns:minmax(76px,.8fr) minmax(56px,.65fr) minmax(128px,1.35fr)}.analysis-result-hero{gap:10px;padding:14px}.analysis-result-hero h3{font-size:20px;line-height:1.25}.analysis-result-hero .ghost-chip,.analysis-result-hero .primary-button{width:100%;justify-content:center}.analysis-radar-panel,.analysis-insight-panel,.analysis-detail-panel{border-radius:18px;padding:14px}.analysis-profile-card{align-items:flex-start}.analysis-avatar{width:56px;height:56px;border-radius:18px;font-size:22px}.analysis-profile-meta h3{font-size:18px;line-height:1.3}.analysis-row{grid-template-columns:minmax(108px,1fr) minmax(58px,.52fr) minmax(58px,.52fr) 42px;gap:5px;padding:7px;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff}.analysis-row-head{display:none}.analysis-table{gap:7px}.analysis-row input{width:100%;min-height:34px;padding:7px 8px;font-size:12px}.analysis-row .text-button,.analysis-row .danger{width:100%;min-width:0;padding:0;justify-self:stretch;font-size:12px}.analysis-scoreboard{gap:8px}.analysis-score-card{padding:10px}.analysis-score-card strong{font-size:20px}.analysis-detail-row{grid-template-columns:minmax(54px,.8fr) minmax(76px,1fr) minmax(82px,1fr);gap:6px;padding:9px 10px}.analysis-detail-row strong,.analysis-detail-row span{font-size:12px}.analysis-detail-row span:last-child{text-align:right}.radar-chart{max-width:100%}.recitation-stage-title h3{font-size:24px}.recitation-article-panel{padding:18px}.recitation-article-content{min-height:320px}.recitation-article-paragraph{font-size:22px;line-height:1.95}.schedule-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px;border-radius:22px}.schedule-head{flex-direction:column;gap:12px}.schedule-next-card,.schedule-next-main{grid-template-columns:1fr}.schedule-next-label{justify-content:flex-start;width:fit-content}.schedule-next-meta{justify-items:start}.schedule-body{grid-template-columns:1fr}.schedule-timeline-body-wrap{max-height:640px}.schedule-week-grid{grid-template-columns:1fr}.schedule-timeline{display:none;border:none;background:transparent;overflow:visible}.schedule-mobile-day{display:flex;flex-direction:column;gap:10px}.schedule-timeline-head,.schedule-time-col,.schedule-time-col-head{display:none}.schedule-timeline-body{display:block;height:auto;min-height:0}.schedule-day-col{position:static;min-height:0;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:12px;margin-bottom:10px;background:linear-gradient(180deg,#fff,#f8fafc)}.schedule-time-gridline,.schedule-empty-slot{display:none}.schedule-event-card-timeline{position:static;left:auto;right:auto;width:100%;margin-bottom:8px}.schedule-day-card{min-height:0}.schedule-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.schedule-editor-title,.schedule-editor-date,.schedule-editor-location{grid-column:span 2}.schedule-editor-time,.schedule-editor-repeat{grid-column:span 1}.schedule-editor-grid input{min-height:40px;padding:9px 10px;font-size:13px}.schedule-member-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.schedule-member-item{padding:9px 10px;min-width:0}.schedule-member-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-detail-grid{grid-template-columns:1fr}.schedule-detail-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);padding:16px;border-radius:22px}.schedule-toolbar,.schedule-editor-head{flex-direction:column;align-items:stretch}}@media(max-width:420px){.brand-copy strong,.brand-copy span{max-width:40vw}.header-right,.user-pill{max-width:44vw}.user-pill span{max-width:18vw}}.class-pet-page{width:min(1180px,100%);margin:0 auto;padding:8px 0 40px;color:#25324b}.class-pet-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px;border:1px solid #e6e8ff;border-radius:28px;background:linear-gradient(135deg,#f7f8ff,#f2f0ff 58%,#edf8ff);box-shadow:0 18px 42px #535caa1a}.class-pet-kicker{display:inline-flex;align-items:center;gap:7px;color:#5b63d9;font-size:13px;font-weight:800;letter-spacing:.04em}.class-pet-hero h1{margin:10px 0 8px;font-size:clamp(30px,4vw,48px);line-height:1.1}.class-pet-hero p,.class-pet-help,.class-pet-system-note span,.class-pet-point-grid article span,.class-pet-empty span{color:#6e7891}.class-pet-system-note{display:grid;gap:6px;width:min(320px,100%);padding:18px 20px;border:1px solid rgba(91,99,217,.18);border-radius:20px;background:#ffffffd1}.class-pet-point-grid,.class-pet-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.class-pet-point-grid article{display:flex;gap:14px;padding:20px;border:1px solid #e9eaf7;border-radius:22px;background:#fff;box-shadow:0 12px 28px #232d550f}.class-pet-point-grid article>i{display:grid;place-items:center;width:46px;height:46px;flex:0 0 auto;border-radius:15px;background:#eef0ff;color:#5b63d9;font-size:23px}.class-pet-point-grid article div,.class-pet-config-title,.class-pet-empty{display:grid;gap:5px}.class-pet-panel{margin-top:20px;padding:24px;border:1px solid #e8eaf5;border-radius:24px;background:#fff;box-shadow:0 14px 34px #232d550f}.class-pet-panel-head,.class-pet-config-actions,.class-pet-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.class-pet-config-actions{flex-wrap:wrap}.class-pet-config-actions .class-pet-primary{border-color:#6268e7;background:linear-gradient(135deg,#6672f4,#8866eb);color:#fff}.class-pet-panel-head span,.class-pet-config-title span{color:#7279d9;font-size:12px;font-weight:800}.class-pet-panel-head h2,.class-pet-config-title h3,.class-pet-dialog h2{margin:4px 0 0}.class-pet-enable-grid{display:grid;grid-template-columns:1.1fr .8fr 1fr auto;gap:12px;align-items:end;margin-top:20px}.class-pet-enable-grid label{display:grid;gap:7px;font-size:13px;font-weight:700}.class-pet-enable-grid input,.class-pet-enable-grid select{min-height:44px;padding:0 13px;border:1px solid #dfe2f1;border-radius:13px;background:#fafbff;color:#29334a}.class-pet-primary,.class-pet-config-actions button,.class-pet-state button,.class-pet-dialog-actions button{min-height:42px;padding:0 17px;border:1px solid #dfe2f1;border-radius:13px;background:#fff;color:#47506b;font-weight:800;cursor:pointer}.class-pet-primary{border-color:#6268e7;background:linear-gradient(135deg,#6672f4,#8866eb);color:#fff}.class-pet-primary:disabled{cursor:not-allowed;opacity:.55}.class-pet-config-card{padding:20px;border:1px solid #e4e6f3;border-radius:20px;background:linear-gradient(180deg,#fff,#fafbff)}.class-pet-config-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}.class-pet-config-card dl div{padding:11px;border-radius:13px;background:#f4f5fb}.class-pet-config-card dt{color:#8790a7;font-size:11px}.class-pet-config-card dd{margin:5px 0 0;font-size:13px;font-weight:800}.class-pet-config-actions span{color:#68738d;font-size:12px}.class-pet-state,.class-pet-empty{place-items:center;padding:42px 20px;text-align:center}.class-pet-state.is-error{color:#b34444}.class-pet-empty i{color:#8b91e9;font-size:40px}.class-pet-dialog-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#1d223b61;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.class-pet-dialog{width:min(520px,100%);padding:26px;border-radius:24px;background:#fff;box-shadow:0 28px 70px #1c224640}.class-pet-dialog p{padding:12px 14px;border-radius:13px;background:#fff7e8;color:#8a6127}@media(max-width:900px){.class-pet-hero,.class-pet-panel-head{align-items:stretch;flex-direction:column}.class-pet-enable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.class-pet-page{padding-bottom:92px}.class-pet-hero,.class-pet-panel{padding:19px;border-radius:21px}.class-pet-point-grid,.class-pet-config-grid,.class-pet-enable-grid,.class-pet-config-card dl{grid-template-columns:1fr}.class-pet-dialog-backdrop{align-items:end;padding:8px}.class-pet-dialog{max-height:calc(100vh - 16px);overflow:auto;border-radius:24px 24px 18px 18px}}.class-pet-assignment-page{width:min(1240px,100%);margin:0 auto;padding:4px 0 112px;color:#25324b}.class-pet-assignment-head{display:grid;grid-template-columns:190px minmax(0,1fr) 230px;gap:24px;align-items:center;padding:26px 28px;border:1px solid #e4e7f7;border-radius:26px;background:linear-gradient(135deg,#fbfbff,#f1f0ff 62%,#eef9ff);box-shadow:0 16px 38px #343d7414}.class-pet-assignment-head h1{margin:6px 0;font-size:clamp(26px,3vw,40px)}.class-pet-assignment-head p{margin:0;color:#6d7891}.class-pet-back{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #dfe2f1;border-radius:13px;background:#ffffffd1;color:#525d78;font-weight:800;cursor:pointer}.class-pet-progress{display:grid;gap:5px;padding:17px;border:1px solid #dfe2f4;border-radius:18px;background:#ffffffe0}.class-pet-progress strong{color:#5962da;font-size:27px}.class-pet-progress span,.class-pet-assignment-context span{color:#7d879e;font-size:12px}.class-pet-progress div{height:7px;overflow:hidden;border-radius:999px;background:#e7e9f4}.class-pet-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6872ef,#9569e9)}.class-pet-assignment-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.class-pet-assignment-context>div{display:grid;gap:6px;padding:15px 17px;border:1px solid #e7e9f4;border-radius:17px;background:#fff}.class-pet-assignment-context select{min-height:36px;border:0;background:transparent;color:#28334b;font-weight:800}.class-pet-space-tabs{display:flex;align-items:center;gap:8px;margin-top:16px;overflow-x:auto;padding-bottom:3px}.class-pet-space-tabs>button,.class-pet-add-subject button,.class-pet-picker-filters button{min-height:38px;padding:0 14px;border:1px solid #e0e3f1;border-radius:12px;background:#fff;color:#69748b;font-weight:800;white-space:nowrap;cursor:pointer}.class-pet-space-tabs>button.active,.class-pet-picker-filters button.active{border-color:#7379eb;background:#eff0ff;color:#555ed4}.class-pet-add-subject{display:flex;gap:6px;margin-left:auto}.class-pet-add-subject input,.class-pet-subject-empty input,.class-pet-picker-filters input{min-height:38px;padding:0 12px;border:1px solid #e0e3f1;border-radius:12px;background:#fff}.class-pet-assignment-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 220px auto;gap:10px;align-items:center;margin-top:14px;padding:14px;border:1px solid #e7e9f3;border-radius:18px;background:#fff}.class-pet-search{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid #e1e4ef;border-radius:13px;background:#fafbff}.class-pet-search input{width:100%;border:0;outline:0;background:transparent}.class-pet-assignment-toolbar>select{min-height:42px;padding:0 12px;border:1px solid #e1e4ef;border-radius:13px;background:#fafbff}.class-pet-check{display:inline-flex;align-items:center;gap:7px;color:#566078;font-weight:700;white-space:nowrap}.class-pet-batchbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border-radius:16px;background:#f4f5fb}.class-pet-batchbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.class-pet-batchbar button{min-height:34px;padding:0 11px;border:1px solid #dde0ee;border-radius:10px;background:#fff;color:#59647d;font-weight:700;cursor:pointer}.class-pet-batchbar button:disabled{cursor:not-allowed;opacity:.45}.class-pet-message{margin-top:12px;padding:12px 15px;border-radius:13px;font-weight:700}.class-pet-message.is-success{background:#ecfaf3;color:#277152}.class-pet-message.is-error{background:#fff0f0;color:#a44}.class-pet-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.class-pet-student-card{position:relative;display:grid;grid-template-columns:48px minmax(112px,.68fr) minmax(250px,1.32fr);gap:14px;align-items:center;min-height:176px;padding:20px;border:1px solid #e3e6f1;border-radius:24px;background:#fff;box-shadow:0 10px 26px #2730590d;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.class-pet-student-card:hover{transform:translateY(-2px);border-color:#d2d6f4;box-shadow:0 16px 34px #343c7a1a}.class-pet-student-card.selected{border-color:#898eef;box-shadow:0 0 0 3px #7076e81a}.class-pet-student-card.assigned{background:linear-gradient(150deg,#fff,#faf9ff)}.class-pet-student-select{position:absolute;top:12px;right:12px}.class-pet-student-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#edf0ff;color:#5c65d8;font-size:20px;font-weight:900}.class-pet-student-copy{display:grid;gap:3px;min-width:0}.class-pet-student-copy span,.class-pet-student-copy small,.class-pet-current-pet span,.class-pet-assignment-actions span{color:#7c869d;font-size:12px}.class-pet-current-pet{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:124px;padding:10px 12px 10px 10px;overflow:hidden;border:1px solid #e8e8f7;border-radius:20px;background:radial-gradient(circle at 18% 28%,rgba(255,255,255,.96) 0 22%,transparent 23%),linear-gradient(145deg,#f0f7ff,#f5f1ff 56%,#fff8ef)}.class-pet-current-pet img{width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(63,70,137,.16));transform:scale(1.08)}.class-pet-current-pet div{display:grid;gap:5px;min-width:0}.class-pet-current-pet strong{overflow:hidden;color:#303858;font-size:17px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.class-pet-current-pet span{color:#69758f;font-size:12px}.class-pet-current-pet button,.class-pet-picker-panel footer button{min-height:35px;padding:0 12px;border:1px solid #dfe2ef;border-radius:10px;background:#fff;color:#58627b;font-weight:800;cursor:pointer}.class-pet-current-pet button{min-width:58px;border-color:#7076e833;color:#5b62cf;box-shadow:0 5px 12px #3d448e14}.class-pet-current-pet button:hover{border-color:#8e94eb;background:#fff;color:#444dbf}.class-pet-name-field{grid-column:2 / 4;display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;align-items:center}.class-pet-name-field span{color:#69748c;font-size:12px;font-weight:800}.class-pet-name-field input{min-height:39px;padding:0 11px;border:1px solid #dfe2ef;border-radius:11px;background:#fbfcff}.class-pet-name-field input:disabled{opacity:.5}.class-pet-student-status{position:absolute;left:18px;bottom:13px;color:#8a93a7;font-size:10px}.class-pet-assignment-actions{position:fixed;z-index:80;left:max(280px,calc((100vw - 1440px)/2 + 280px));right:max(24px,calc((100vw - 1440px)/2 + 24px));bottom:16px;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 16px;border:1px solid rgba(219,222,238,.9);border-radius:18px;background:#fffffff0;box-shadow:0 18px 50px #1f274c2e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.class-pet-assignment-actions>div{display:grid;gap:2px;margin-right:auto}.class-pet-assignment-actions>button{min-height:42px;padding:0 18px;border:1px solid #dfe2ee;border-radius:12px;background:#fff;font-weight:800;cursor:pointer}.class-pet-assignment-actions>.class-pet-primary{border-color:#6268e7;color:#fff;background:linear-gradient(135deg,#6672f4,#8866eb)}.class-pet-assignment-actions>button:disabled{color:#8a91a6;border-color:#e1e4ee;background:#f1f2f7;cursor:not-allowed;opacity:1}.class-pet-assignment-actions>.class-pet-primary:disabled{color:#858ca6;border-color:#dfe1ee;background:#e6e7f1}.class-pet-subject-empty{display:grid;place-items:center;margin-top:18px;padding:52px 20px;border:1px dashed #cfd3ea;border-radius:24px;background:#fbfbff;text-align:center}.class-pet-subject-empty>i{color:#7178e6;font-size:42px}.class-pet-subject-empty div{display:flex;gap:8px}.class-pet-picker-panel{width:min(1060px,100%);max-height:min(860px,calc(100vh - 32px));overflow:auto;padding:24px;border-radius:26px;background:#fff;box-shadow:0 30px 80px #191f4147}.class-pet-picker-panel>header,.class-pet-picker-panel>footer,.class-pet-picker-filters{display:flex;align-items:center;justify-content:space-between;gap:12px}.class-pet-picker-panel>header h2{margin:5px 0 0}.class-pet-picker-panel>header>button{width:42px;height:42px;border:0;border-radius:13px;background:#f2f3f9}.class-pet-picker-filters{margin:18px 0}.class-pet-picker-filters>div{display:flex;gap:7px}.class-pet-picker-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:18px}.class-pet-pet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.class-pet-pet-grid button{display:grid;place-items:center;gap:4px;padding:12px;border:1px solid #e1e4f0;border-radius:17px;background:#fff;color:#3d4760;cursor:pointer}.class-pet-pet-grid button.selected{border-color:#7379e8;background:#f0f1ff;box-shadow:0 0 0 3px #6a70e01a}.class-pet-pet-grid img{width:86px;height:86px;object-fit:contain}.class-pet-pet-grid span{color:#8a93a8;font-size:11px}.class-pet-level-preview{padding:16px;border-radius:19px;background:#f5f6fb}.class-pet-level-preview>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px}.class-pet-level-preview figure{display:grid;place-items:center;gap:3px;margin:0;padding:6px;border-radius:12px;background:#fff}.class-pet-level-preview img{width:54px;height:65px;object-fit:contain}.class-pet-level-preview figcaption{color:#68728b;font-size:10px;font-weight:800}.class-pet-picker-panel>footer{justify-content:flex-end;margin-top:18px}@media(max-width:1050px){.class-pet-assignment-head{grid-template-columns:1fr 220px}.class-pet-back{grid-column:1 / -1;justify-self:start}.class-pet-student-grid{grid-template-columns:1fr}.class-pet-assignment-actions{left:18px}}@media(max-width:760px){.class-pet-assignment-page{padding-bottom:170px}.class-pet-assignment-head,.class-pet-assignment-context,.class-pet-assignment-toolbar,.class-pet-picker-layout{grid-template-columns:1fr}.class-pet-assignment-head{padding:19px;gap:14px}.class-pet-progress{width:100%}.class-pet-space-tabs{align-items:stretch}.class-pet-add-subject{margin-left:0}.class-pet-batchbar{align-items:stretch;flex-direction:column}.class-pet-student-card{grid-template-columns:46px minmax(0,1fr);min-height:0;padding:16px}.class-pet-current-pet,.class-pet-name-field{grid-column:1 / -1}.class-pet-current-pet{grid-template-columns:92px minmax(0,1fr) auto;min-height:112px}.class-pet-current-pet img{width:92px;height:92px}.class-pet-name-field{grid-template-columns:86px minmax(0,1fr)}.class-pet-student-status{display:none}.class-pet-assignment-actions{left:8px;right:8px;bottom:76px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.class-pet-assignment-actions>div{grid-column:1 / -1}.class-pet-dialog-backdrop{align-items:end}.class-pet-picker-panel{width:100%;max-height:calc(100vh - 12px);padding:18px;border-radius:24px 24px 14px 14px}.class-pet-picker-filters{align-items:stretch;flex-direction:column}.class-pet-picker-filters>div{overflow-x:auto}.class-pet-pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-pet-level-preview>div{grid-template-columns:repeat(5,minmax(54px,1fr));overflow-x:auto}}.class-pet-subpage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px;padding:28px 30px;border:1px solid #e3e5f4;border-radius:28px;background:linear-gradient(135deg,#fff,#f6f6ff);box-shadow:0 18px 45px #2c337314}.class-pet-subpage-head h1{margin:8px 0;color:#20243d;font-size:clamp(28px,4vw,42px);letter-spacing:-.045em}.class-pet-subpage-head p{max-width:650px;margin:0;color:#727994;line-height:1.7}.class-pet-back{display:inline-flex;align-items:center;gap:7px;border:0;color:#646dd7;background:transparent;cursor:pointer;font-weight:800}.class-pet-balance-card{min-width:190px;padding:18px 20px;border:1px solid #e4e6f4;border-radius:20px;background:#ffffffdb}.class-pet-balance-card span,.class-pet-balance-card small{display:block;color:#8189a1;font-size:12px}.class-pet-balance-card strong{display:block;margin:3px 0;color:#5d67d5;font-size:30px}.class-pet-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.class-pet-shop-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:17px;border:1px solid #e4e6f2;border-radius:21px;background:#fff;box-shadow:0 8px 24px #2c33730f}.class-pet-shop-card.is-off{opacity:.62}.class-pet-shop-card-icon,.class-pet-tool-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;color:#636dde;background:#eef0ff;font-size:24px}.class-pet-shop-card-copy span,.class-pet-tool-card .class-pet-kicker{color:#7179df;font-size:11px;font-weight:900;letter-spacing:.08em}.class-pet-shop-card-copy h3{margin:4px 0;color:#272d48;font-size:17px}.class-pet-shop-card-copy p{margin:0;overflow:hidden;color:#7c849c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.class-pet-shop-card-meta{grid-column:1 / -1;display:flex;align-items:end;justify-content:space-between;padding-top:6px;border-top:1px solid #f0f1f7}.class-pet-shop-card-meta strong{color:#5962d2;font-size:24px}.class-pet-shop-card-meta strong small{margin-left:3px;color:#8189a1;font-size:11px}.class-pet-shop-card-meta span{color:#8b92a8;font-size:12px}.class-pet-shop-card-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px}.class-pet-shop-card-actions button,.class-pet-inline-actions button{min-height:34px;padding:0 11px;border:1px solid #e0e3f1;border-radius:10px;color:#68718a;background:#fff;cursor:pointer;font-size:12px;font-weight:800}.class-pet-shop-card-actions .class-pet-primary{color:#fff;border-color:#6874e5;background:#6874e5}.class-pet-danger-button{color:#d35d70!important;border-color:#f0cfd7!important;background:#fff8f9!important}.class-pet-order-list{display:grid;gap:9px}.class-pet-order-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid #edf0f6;border-radius:15px;background:#fbfbfe}.class-pet-order-list article strong,.class-pet-order-list article span{display:block}.class-pet-order-list article strong{color:#343a55}.class-pet-order-list article span{margin-top:4px;color:#8a91a6;font-size:12px}.class-pet-order-status{padding:5px 9px;border-radius:99px;color:#6972d7!important;background:#eef0ff;white-space:nowrap}.class-pet-order-status[data-status=fulfilled]{color:#38876c!important;background:#eaf8f1}.class-pet-order-status[data-status=cancelled]{color:#b86c79!important;background:#fff0f2}.class-pet-inline-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:end}.class-pet-shop-form{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto}.class-pet-dialog-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border:0;border-radius:11px;color:#727a94;background:#f3f4fa;cursor:pointer}.class-pet-shop-form>label,.class-pet-shop-form .class-pet-form-grid label{display:grid;gap:7px;margin-top:15px;color:#646d87;font-size:12px;font-weight:800}.class-pet-shop-form input,.class-pet-shop-form textarea,.class-pet-shop-form select,.class-pet-tool-select select{width:100%;box-sizing:border-box;min-height:42px;padding:9px 11px;border:1px solid #dfe2ef;border-radius:11px;color:#323952;background:#fff;outline:none}.class-pet-shop-form input:focus,.class-pet-shop-form textarea:focus,.class-pet-shop-form select:focus,.class-pet-tool-select select:focus{border-color:#6d76e4;box-shadow:0 0 0 3px #6d76e424}.class-pet-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.class-pet-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}.class-pet-check input{width:auto;min-height:0}.class-pet-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:15px}.class-pet-tool-card{position:relative;min-height:560px;overflow:hidden}.class-pet-tool-card h2{margin:12px 0 7px;color:#272d49}.class-pet-tool-card p{min-height:42px;margin:0;color:#7b839a;line-height:1.7}.class-pet-tool-card-heading{display:flex;align-items:center;gap:13px}.class-pet-tool-card-heading h2{margin:4px 0 0}.class-pet-tool-icon.is-blue{color:#4c8edc;background:#ebf5ff}.class-pet-tool-icon.is-purple{color:#8871dd;background:#f2edff}.class-pet-tool-result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:56px;margin:17px 0 13px;padding:11px 13px;border-radius:15px;background:#f8f8ff}.class-pet-tool-result span,.class-pet-tool-result small{color:#838ba3;font-size:11px}.class-pet-tool-result strong{color:#5b65d5;font-size:20px}.class-pet-tool-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin-top:16px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#7180e9,#6259d5);box-shadow:0 10px 24px #655fd838;cursor:pointer;font-weight:900}.class-pet-tool-action:disabled{color:#8d93a9;background:#e8eaf2;box-shadow:none}.class-pet-tool-select{display:grid;gap:7px;margin-top:15px;color:#646d87;font-size:12px;font-weight:800}.class-pet-prize-list{display:flex;flex-wrap:wrap;gap:9px}.class-pet-prize-list span{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid #e8e9f4;border-radius:99px;color:#6e7692;background:#fbfbff;font-size:12px}.class-pet-prize-list small{color:#a0a5b7;font-size:10px}.class-pet-prize-list i{color:#7b79dc}.class-pet-panel-actions{display:flex;align-items:center;gap:10px}.class-pet-panel-actions button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid #dfe2ef;border-radius:11px;color:#626bd1;background:#f8f8ff;cursor:pointer;font-weight:800}.class-pet-call-stage{position:relative;display:grid;place-items:center;min-height:260px;margin:20px 0 4px;overflow:hidden;border:1px solid #dcecff;border-radius:28px;background:radial-gradient(circle at 50% 38%,#fff 0,#fff 20%,#eef7ff 55%,#e5efff);box-shadow:inset 0 0 45px #4d93e11f;text-align:center}.class-pet-call-stage:before{position:absolute;width:172px;height:172px;border:1px solid rgba(82,150,223,.2);border-radius:50%;content:""}.class-pet-call-stage>span,.class-pet-call-stage>strong,.class-pet-call-stage>small{position:relative;z-index:2}.class-pet-call-stage>span{align-self:end;color:#6d83aa;font-size:12px;font-weight:900;letter-spacing:.08em}.class-pet-call-stage>strong{max-width:85%;color:#334d82;font-size:clamp(28px,3vw,46px);line-height:1.1;text-shadow:0 5px 18px rgba(62,111,181,.18)}.class-pet-call-stage>small{align-self:start;color:#8294b4}.class-pet-call-stage.is-rolling>strong{animation:class-pet-name-pop .18s ease both}.class-pet-call-stage.has-result{border-color:#cbd8ff;background:radial-gradient(circle at 50% 38%,#fff 0,#fff 19%,#f3f0ff 58%,#e9e7ff)}.class-pet-call-orbit{position:absolute;inset:50% auto auto 50%;width:210px;height:210px;transform:translate(-50%,-50%)}.class-pet-call-orbit i{position:absolute;top:50%;left:50%;width:9px;height:9px;border-radius:50%;background:#6fa9e8;box-shadow:0 0 16px #488fe0bf}.class-pet-call-orbit i:nth-child(1){transform:rotate(0) translate(98px)}.class-pet-call-orbit i:nth-child(2){transform:rotate(120deg) translate(98px)}.class-pet-call-orbit i:nth-child(3){transform:rotate(240deg) translate(98px)}.class-pet-call-stage.is-rolling .class-pet-call-orbit{animation:class-pet-orbit 1.05s linear infinite}.class-pet-wheel-stage{position:relative;display:grid;place-items:center;min-height:310px;margin-top:12px}.class-pet-wheel{position:relative;width:min(278px,82vw);aspect-ratio:1;border:10px solid #fff;border-radius:50%;box-shadow:0 18px 45px #4a41a13d,0 0 0 2px #dcdcf1;transition:transform 3.4s cubic-bezier(.12,.72,.08,1)}.class-pet-wheel:after{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(255,255,255,.55);border-radius:50%;content:"";pointer-events:none}.class-pet-wheel-pointer{position:absolute;z-index:5;top:0;left:50%;display:grid;place-items:center;width:42px;height:42px;border:4px solid #fff;border-radius:14px 14px 50% 50%;color:#fff;background:linear-gradient(135deg,#535ed9,#8d5ce3);box-shadow:0 8px 18px #4b42ac47;transform:translate(-50%,1px) rotate(180deg)}.class-pet-wheel-label{position:absolute;z-index:2;top:50%;left:50%;width:106px;overflow:hidden;color:#fff;font-size:10px;font-weight:900;text-align:right;text-overflow:ellipsis;text-shadow:0 1px 4px rgba(30,31,78,.35);white-space:nowrap;transform:translate(-100%,-50%) rotate(var(--segment-angle)) translate(7px);transform-origin:100% 50%}.class-pet-wheel-hub{position:absolute;z-index:4;top:50%;left:50%;display:grid;place-items:center;width:68px;height:68px;border:8px solid rgba(255,255,255,.86);border-radius:50%;color:#fff;background:linear-gradient(135deg,#5b68e3,#9065e8);box-shadow:0 8px 22px #2c287d40;transform:translate(-50%,-50%)}.class-pet-wheel.is-spinning{filter:saturate(1.08)}.class-pet-wheel-result{display:grid;gap:3px;margin-top:12px;padding:12px 14px;border:1px solid #e3dcff;border-radius:15px;background:linear-gradient(135deg,#faf8ff,#f1efff);text-align:center;animation:class-pet-result-pop .4s ease both}.class-pet-wheel-result span,.class-pet-wheel-result small{color:#8188a2;font-size:11px}.class-pet-wheel-result strong{color:#685ecf;font-size:20px}.class-pet-tool-error{margin-top:10px;padding:9px 12px;border:1px solid #f2ccd3;border-radius:11px;color:#b45669;background:#fff5f6;font-size:12px}.class-pet-wheel-editor{position:relative;width:min(880px,100%);max-height:calc(100vh - 32px);overflow:auto}.class-pet-wheel-editor>p{color:#7c849b}.class-pet-wheel-editor-list{display:grid;gap:10px;margin:18px 0}.class-pet-wheel-editor-list article{display:grid;grid-template-columns:82px minmax(150px,1.5fr) minmax(132px,1fr) minmax(90px,.7fr) minmax(90px,.7fr) auto;align-items:end;gap:9px;padding:12px;border:1px solid #e6e7f1;border-radius:15px;background:#fafaff}.class-pet-wheel-editor-list article>strong{align-self:center;color:#59617a;font-size:12px}.class-pet-wheel-editor-list label{display:grid;gap:5px;color:#7b8297;font-size:10px;font-weight:800}.class-pet-wheel-editor-list input,.class-pet-wheel-editor-list select{width:100%;box-sizing:border-box;min-height:38px;padding:7px 9px;border:1px solid #dfe2ed;border-radius:10px;color:#353b54;background:#fff}.class-pet-wheel-remove,.class-pet-wheel-add{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:0 11px;border:1px solid #efcdd5;border-radius:10px;color:#ba5d72;background:#fff8f9;cursor:pointer;font-weight:800}.class-pet-wheel-remove:disabled,.class-pet-wheel-add:disabled{opacity:.45;cursor:not-allowed}.class-pet-wheel-add{color:#626bd2;border-color:#dfe1f3;background:#f8f8ff}@keyframes class-pet-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes class-pet-name-pop{0%{opacity:.35;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes class-pet-result-pop{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1000px){.class-pet-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.class-pet-subpage-head{align-items:stretch;flex-direction:column;padding:21px}.class-pet-balance-card{min-width:0}.class-pet-shop-grid,.class-pet-tool-grid{grid-template-columns:1fr}.class-pet-order-list article{grid-template-columns:minmax(0,1fr) auto}.class-pet-inline-actions{grid-column:1 / -1;justify-content:start}.class-pet-shop-form{max-height:calc(100vh - 18px);padding:20px;border-radius:24px 24px 14px 14px}.class-pet-form-grid{grid-template-columns:1fr}.class-pet-tool-result{grid-template-columns:1fr auto}.class-pet-tool-result span{grid-column:1 / -1}.class-pet-tool-card{min-height:0}.class-pet-call-stage{min-height:230px}.class-pet-wheel-stage{min-height:286px}.class-pet-wheel{width:min(250px,78vw)}.class-pet-wheel-editor{max-height:calc(100vh - 18px);padding:20px;border-radius:24px 24px 14px 14px}.class-pet-wheel-editor-list article{grid-template-columns:repeat(2,minmax(0,1fr))}.class-pet-wheel-editor-list article>strong,.class-pet-wheel-remove{grid-column:1 / -1}.class-pet-panel-head{align-items:flex-start}.class-pet-panel-actions{align-items:flex-end;flex-direction:column}}@media(prefers-reduced-motion:reduce){.class-pet-call-stage.is-rolling .class-pet-call-orbit{animation:none}.class-pet-wheel{transition-duration:.01ms}.class-pet-wheel-result,.class-pet-call-stage.is-rolling>strong{animation:none}}.class-pet-tool-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.class-pet-tool-entry{position:relative;display:grid;min-height:360px;padding:28px;overflow:hidden;border:1px solid #e0e4f3;border-radius:28px;color:#303751;background:#fff;box-shadow:0 14px 38px #2d347014;cursor:pointer;text-align:left;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.class-pet-tool-entry:after{position:absolute;inset:auto -90px -120px auto;width:250px;height:250px;border-radius:50%;background:#6d7aeb14;content:""}.class-pet-tool-entry:hover{border-color:#cfd5f2;box-shadow:0 22px 52px #2d347024;transform:translateY(-4px)}.class-pet-tool-entry:focus-visible{outline:3px solid rgba(104,114,231,.24);outline-offset:3px}.class-pet-tool-entry.is-call{background:linear-gradient(145deg,#fff 0,#fff 54%,#edf7ff)}.class-pet-tool-entry.is-wheel{background:linear-gradient(145deg,#fff 0,#fff 54%,#f4efff)}.class-pet-tool-entry>strong{margin-top:10px;font-size:28px}.class-pet-tool-entry>small{max-width:430px;margin-top:8px;color:#747d96;font-size:14px;line-height:1.7}.class-pet-tool-entry-visual{position:relative;display:grid;place-items:center;width:154px;height:154px;margin-bottom:24px;border-radius:42px;color:#fff;background:linear-gradient(135deg,#5e9ee5,#626fe1);box-shadow:0 20px 38px #497dd53d}.class-pet-tool-entry.is-wheel .class-pet-tool-entry-visual{background:conic-gradient(#6a73e7,#966ee7,#55b9d8,#f4bb65,#6a73e7);box-shadow:0 20px 38px #7756d140}.class-pet-tool-entry-visual>i{font-size:58px}.class-pet-tool-entry-visual>b{position:absolute;display:grid;place-items:center;width:38px;height:38px;border:4px solid #fff;border-radius:50%;color:#5866c8;background:#fff;box-shadow:0 7px 15px #2d397e29;font-size:11px}.class-pet-tool-entry-visual>b:nth-of-type(1){top:-9px;right:-10px}.class-pet-tool-entry-visual>b:nth-of-type(2){right:-15px;bottom:4px}.class-pet-tool-entry-visual>b:nth-of-type(3){bottom:-12px;left:9px}.class-pet-tool-entry-action{z-index:1;display:inline-flex;align-items:center;gap:7px;align-self:end;justify-self:start;margin-top:24px;color:#626bd3;font-size:14px;font-weight:900}.class-pet-tool-coming{grid-column:1 / -1;display:flex;align-items:center;gap:15px;padding:20px 24px;border:1px dashed #d5d9e9;border-radius:20px;color:#7d8499;background:#fafbfe}.class-pet-tool-coming>i{color:#8c92ac;font-size:28px}.class-pet-tool-coming div{display:grid;gap:4px}.class-pet-tool-coming strong{color:#596079}.class-pet-tool-coming span{font-size:12px}.class-pet-tool-detail{display:grid;gap:18px;max-width:1040px;margin:0 auto}.class-pet-tool-detail .class-pet-tool-card{min-height:0;padding:30px}.class-pet-call-detail .class-pet-call-stage{min-height:430px}.class-pet-call-detail .class-pet-call-stage:before{width:250px;height:250px}.class-pet-call-detail .class-pet-call-orbit{width:300px;height:300px}.class-pet-call-detail .class-pet-call-orbit i:nth-child(1){transform:rotate(0) translate(142px)}.class-pet-call-detail .class-pet-call-orbit i:nth-child(2){transform:rotate(120deg) translate(142px)}.class-pet-call-detail .class-pet-call-orbit i:nth-child(3){transform:rotate(240deg) translate(142px)}.class-pet-call-detail .class-pet-call-stage>strong{font-size:clamp(42px,6vw,72px)}.class-pet-tool-side-note{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border:1px solid #dce9f7;border-radius:18px;color:#71809b;background:#f4f9ff}.class-pet-tool-side-note>i{color:#5d94d2;font-size:22px}.class-pet-tool-side-note div{display:grid;gap:5px}.class-pet-tool-side-note strong{color:#42536f}.class-pet-tool-side-note span{font-size:12px;line-height:1.7}.class-pet-wheel-detail{max-width:1180px}.class-pet-wheel-detail .class-pet-wheel-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);column-gap:32px}.class-pet-wheel-detail .class-pet-tool-card-heading,.class-pet-wheel-detail .class-pet-wheel-card>p{grid-column:1 / -1}.class-pet-wheel-detail .class-pet-wheel-stage{grid-row:3 / span 5;min-height:540px}.class-pet-wheel-detail .class-pet-tool-select{align-self:end;margin-top:42px}.class-pet-wheel-detail .class-pet-tool-action{align-self:start}.class-pet-wheel-detail .class-pet-tool-error,.class-pet-wheel-detail .class-pet-wheel-result{grid-column:2}.class-pet-wheel-detail .class-pet-wheel-result{align-self:center}.class-pet-wheel-prizes-panel{padding:24px}.class-pet-wheel-detail .class-pet-wheel{z-index:2;width:min(470px,74vw);border-width:14px;box-shadow:0 28px 65px #4737a04d,0 0 0 4px #dddff3,inset 0 0 28px #ffffff2e;transition:none}.class-pet-wheel-detail .class-pet-wheel:before{position:absolute;top:-29px;right:-29px;bottom:-29px;left:-29px;z-index:-1;border:3px solid #676ed9;border-radius:50%;background:#343960;box-shadow:inset 0 0 0 9px #f3f1ff;content:""}.class-pet-wheel-detail .class-pet-wheel-label{width:175px;padding-right:14px;font-size:13px}.class-pet-wheel-detail .class-pet-wheel-hub{width:96px;height:96px;border-width:10px}.class-pet-wheel-hub small{display:block;margin-top:2px;font-size:10px;font-weight:900;letter-spacing:.08em}.class-pet-wheel-detail .class-pet-wheel-pointer{top:12px;width:56px;height:56px;font-size:23px}.class-pet-wheel-aura{position:absolute;width:min(540px,84vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#7764e033,#7764e000 67%);filter:blur(3px)}.class-pet-wheel-lights{position:absolute;z-index:4;width:min(526px,82vw);aspect-ratio:1;pointer-events:none}.class-pet-wheel-lights i{position:absolute;top:50%;left:50%;width:10px;height:10px;border-radius:50%;background:#fff8bd;box-shadow:0 0 12px #ffe36b;transform:rotate(calc(var(--light-index) * 18deg)) translateY(-252px);transform-origin:0 0}.class-pet-wheel-stage.is-spinning .class-pet-wheel-lights i{animation:class-pet-wheel-light .45s ease-in-out infinite alternate;animation-delay:calc(var(--light-index) * -35ms)}.class-pet-wheel-speed-lines{position:absolute;z-index:5;width:min(570px,88vw);aspect-ratio:1;border-radius:50%;pointer-events:none;animation:class-pet-speed-ring .75s linear infinite}.class-pet-wheel-speed-lines i{position:absolute;top:50%;left:50%;width:72px;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,rgba(126,103,223,.68));transform:rotate(calc(var(--speed-index, 0) * 45deg)) translate(228px);transform-origin:left center}.class-pet-wheel-speed-lines i:nth-child(1){--speed-index: 0}.class-pet-wheel-speed-lines i:nth-child(2){--speed-index: 1}.class-pet-wheel-speed-lines i:nth-child(3){--speed-index: 2}.class-pet-wheel-speed-lines i:nth-child(4){--speed-index: 3}.class-pet-wheel-speed-lines i:nth-child(5){--speed-index: 4}.class-pet-wheel-speed-lines i:nth-child(6){--speed-index: 5}.class-pet-wheel-speed-lines i:nth-child(7){--speed-index: 6}.class-pet-wheel-speed-lines i:nth-child(8){--speed-index: 7}.class-pet-wheel-stage.is-spinning .class-pet-wheel-pointer{animation:class-pet-pointer-tick .13s ease-in-out infinite alternate}@keyframes class-pet-wheel-light{0%{opacity:.35;transform:rotate(calc(var(--light-index) * 18deg)) translateY(-252px) scale(.7)}to{opacity:1;transform:rotate(calc(var(--light-index) * 18deg)) translateY(-252px) scale(1.25)}}@keyframes class-pet-speed-ring{to{transform:rotate(360deg)}}@keyframes class-pet-pointer-tick{0%{transform:translate(-50%,1px) rotate(176deg)}to{transform:translate(-50%,1px) rotate(184deg)}}@media(max-width:900px){.class-pet-wheel-detail .class-pet-wheel-card{grid-template-columns:1fr}.class-pet-wheel-detail .class-pet-tool-card-heading,.class-pet-wheel-detail .class-pet-wheel-card>p,.class-pet-wheel-detail .class-pet-wheel-result,.class-pet-wheel-detail .class-pet-tool-error{grid-column:1}.class-pet-wheel-detail .class-pet-wheel-stage{grid-row:auto;min-height:500px}.class-pet-wheel-detail .class-pet-tool-select{margin-top:14px}}@media(max-width:680px){.class-pet-tool-hub{grid-template-columns:1fr}.class-pet-tool-entry{min-height:300px;padding:22px}.class-pet-tool-entry-visual{width:122px;height:122px;border-radius:34px}.class-pet-tool-entry-visual>i{font-size:46px}.class-pet-tool-entry>strong{font-size:24px}.class-pet-tool-coming{grid-column:1}.class-pet-tool-detail .class-pet-tool-card{padding:20px}.class-pet-call-detail .class-pet-call-stage{min-height:300px}.class-pet-call-detail .class-pet-call-stage:before{width:190px;height:190px}.class-pet-call-detail .class-pet-call-orbit{width:220px;height:220px}.class-pet-call-detail .class-pet-call-orbit i:nth-child(1){transform:rotate(0) translate(104px)}.class-pet-call-detail .class-pet-call-orbit i:nth-child(2){transform:rotate(120deg) translate(104px)}.class-pet-call-detail .class-pet-call-orbit i:nth-child(3){transform:rotate(240deg) translate(104px)}.class-pet-wheel-detail .class-pet-wheel-stage{min-height:360px}.class-pet-wheel-detail .class-pet-wheel{width:min(286px,76vw);border-width:9px}.class-pet-wheel-detail .class-pet-wheel:before{top:-19px;right:-19px;bottom:-19px;left:-19px;border-width:2px;box-shadow:inset 0 0 0 6px #f3f1ff}.class-pet-wheel-detail .class-pet-wheel-label{width:106px;padding-right:6px;font-size:9px}.class-pet-wheel-detail .class-pet-wheel-hub{width:66px;height:66px;border-width:7px}.class-pet-wheel-detail .class-pet-wheel-pointer{top:8px;width:42px;height:42px}.class-pet-wheel-lights{width:min(326px,86vw)}.class-pet-wheel-lights i{width:7px;height:7px;transform:rotate(calc(var(--light-index) * 18deg)) translateY(-155px)}.class-pet-wheel-speed-lines{width:min(348px,90vw)}.class-pet-wheel-speed-lines i{width:44px;transform:rotate(calc(var(--speed-index, 0) * 45deg)) translate(137px)}@keyframes class-pet-wheel-light{0%{opacity:.35;transform:rotate(calc(var(--light-index) * 18deg)) translateY(-155px) scale(.7)}to{opacity:1;transform:rotate(calc(var(--light-index) * 18deg)) translateY(-155px) scale(1.25)}}}@media(prefers-reduced-motion:reduce){.class-pet-wheel-stage.is-spinning .class-pet-wheel-lights i,.class-pet-wheel-speed-lines,.class-pet-wheel-stage.is-spinning .class-pet-wheel-pointer{animation:none}}.speech-inline-audio{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.speech-inline-audio.is-visible{position:sticky;top:8px;z-index:40;display:block;width:min(100%,420px);height:42px;margin:8px auto;opacity:1;pointer-events:auto}.speech-playback-fallback{margin:0 auto 10px;color:#92400e;font-size:12px;text-align:center}:root{--tui-brand-50: #f1f4ff;--tui-brand-100: #e4e9ff;--tui-brand-500: #6675ee;--tui-brand-600: #5364df;--tui-brand-700: #4250bd;--tui-purple-100: #f1eaff;--tui-ink: #1e2740;--tui-ink-2: #3f4a63;--tui-muted: #768096;--tui-border: #e5e9f2;--tui-surface: #ffffff;--tui-surface-soft: #f7f8fc;--tui-success-soft: #eaf9ef;--tui-warning-soft: #fff4e8;--tui-danger-soft: #fff0f0;--tui-shadow-xs: 0 3px 12px rgba(54, 64, 98, .06);--tui-shadow-sm: 0 10px 30px rgba(54, 64, 98, .09);--tui-shadow-lg: 0 24px 70px rgba(65, 76, 122, .14);--tui-radius-sm: 10px;--tui-radius-md: 16px;--tui-radius-lg: 24px;--tui-header-height: 64px;--tui-sidebar-width: 232px;--tui-mobile-nav-height: 64px;--bg: #f5f7fc;--sidebar: #fff;--panel: var(--tui-surface);--panel-soft: var(--tui-surface-soft);--border: var(--tui-border);--border-strong: #d3d9e6;--text: var(--tui-ink);--muted: var(--tui-muted);--primary: var(--tui-brand-600);--primary-dark: var(--tui-brand-700);--accent: #6f55c7;--shadow: var(--tui-shadow-lg);--shadow-soft: var(--tui-shadow-sm)}html{background:var(--bg)}body{min-width:320px;background:#f5f7fc;color:var(--tui-ink);font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(102,117,238,.24);outline-offset:2px}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.58}.product-shell{background:#f5f7fc}.app-header{min-height:var(--tui-header-height);height:var(--tui-header-height);padding:8px 24px;border-bottom-color:#e5e9f2eb;background:#fffffff0;box-shadow:0 4px 18px #2732530d}.brand-block{width:200px;height:48px;padding:5px 0;border-radius:12px}.brand-logo{width:174px;height:42px;object-fit:contain;object-position:left center;border-radius:0}.header-right{gap:10px}.icon-button,.checkin-header-trigger{width:40px;height:40px;min-height:40px;border-color:var(--tui-border);box-shadow:none}.icon-button .hgi-stroke,.checkin-header-trigger .hgi-stroke{font-size:20px}.checkin-header-trigger{color:#c56b24;background:var(--tui-warning-soft)}.friend-icon-button{background:var(--tui-brand-50);color:var(--tui-brand-700)}.user-pill{min-height:42px;padding:4px 6px 4px 5px;border-color:var(--tui-border);box-shadow:none}.user-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:var(--tui-brand-700);background:var(--tui-brand-100)}.header-login{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding-inline:18px}.product-main,.product-main.module-home{display:grid;grid-template-columns:var(--tui-sidebar-width) minmax(0,1fr);align-items:stretch;min-height:calc(100vh - var(--tui-header-height))}.product-main.module-paper{grid-template-columns:var(--tui-sidebar-width) 278px minmax(0,1fr)}.app-navigation{position:sticky;top:var(--tui-header-height);align-self:start;height:calc(100vh - var(--tui-header-height));display:flex;flex-direction:column;gap:4px;padding:20px 14px;border-right:1px solid var(--tui-border);background:#fffffff5;overflow-y:auto;z-index:12}.nav-section-label{padding:0 12px 9px;color:#9aa2b4;font-size:11px;font-weight:800;letter-spacing:.12em}.nav-item{width:100%;min-height:46px;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:5px 9px;border-radius:13px;color:var(--tui-ink-2);background:transparent;text-align:left;font-size:14px;font-weight:650;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.nav-item:hover{color:var(--tui-brand-700);background:var(--tui-brand-50)}.nav-item.active{color:var(--tui-brand-700);background:linear-gradient(90deg,var(--tui-brand-100),#f2edff);box-shadow:inset 3px 0 var(--tui-brand-600)}.nav-item.locked:not(.active){color:#8b94a7}.nav-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:inherit;background:#6675ee14}.nav-icon i{font-size:20px}.nav-lock{justify-self:end;color:#a2aabc;font-size:15px}.nav-permission-note{margin-top:auto;display:flex;align-items:flex-start;gap:8px;padding:12px;border-radius:13px;color:#747d91;background:var(--tui-surface-soft);font-size:11px;line-height:1.55}.nav-permission-note i{flex:0 0 auto;margin-top:2px;color:var(--tui-brand-600)}.product-main>.app-sidebar{width:278px;padding:18px 12px;background:#fbfcff}.product-content{width:100%;min-width:0;padding:24px clamp(20px,2.4vw,32px) 48px}.chat-entry,.workspace,.module-home .chat-entry{max-width:1480px}.module-page-bar{min-height:48px;margin-bottom:18px;padding:8px 14px;border:1px solid var(--tui-border);border-radius:14px;background:#ffffffdb}.module-home-button:before{margin-right:6px;font-family:Hugeicons}.tui-home-hero{position:relative;min-height:330px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:center;gap:24px;overflow:hidden;margin:0 0 28px;padding:42px 48px;border:1px solid rgba(126,138,231,.18);border-radius:28px;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.92),transparent 28%),linear-gradient(135deg,#eef3ff,#f5efff 54%,#eefbff);box-shadow:var(--tui-shadow-sm)}.tui-home-hero:after{position:absolute;inset:auto -70px -90px auto;width:260px;height:260px;border-radius:50%;background:#7588ee1c;content:""}.hero-copy{position:relative;z-index:2}.tui-home-hero h1{max-width:720px;margin:18px 0 14px;font-size:clamp(38px,4.2vw,62px);letter-spacing:-.045em;line-height:1.08}.tui-home-hero h1 span{color:var(--tui-brand-600)}.tui-home-hero p{max-width:620px;color:#58637b;font-size:17px;line-height:1.8}.hero-badge{gap:7px;background:#ffffffb8;box-shadow:inset 0 0 0 1px #6675ee24}.hero-trust{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:24px;color:#566078;font-size:13px;font-weight:650}.hero-trust span{display:inline-flex;align-items:center;gap:6px}.hero-trust i{color:var(--tui-brand-600);font-size:17px}.hero-visual{position:relative;min-height:260px;display:grid;place-items:center;z-index:1}.hero-orbit{position:absolute;width:270px;height:270px;border-radius:50%;background:linear-gradient(135deg,#ffffffdb,#d6ddffa8);box-shadow:inset 0 0 0 1px #ffffffd1,0 24px 60px #5a65a626}.hero-visual img{position:relative;width:min(340px,100%);max-height:300px;object-fit:contain;filter:drop-shadow(0 20px 24px rgba(63,72,120,.16));z-index:2}.home-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 2px 16px}.home-section-head span{color:var(--tui-brand-600);font-size:12px;font-weight:800;letter-spacing:.08em}.home-section-head h2{margin:5px 0 0;font-size:24px;letter-spacing:-.02em}.home-section-head small{color:var(--tui-muted)}.home-feature-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-feature-button{position:relative;min-height:168px;display:grid;grid-template-columns:54px minmax(0,1fr) 24px;align-items:start;gap:14px;padding:20px;border:1px solid var(--tui-border);border-left:1px solid var(--tui-border);border-radius:18px;color:var(--tui-ink);background:#fff;box-shadow:var(--tui-shadow-xs);text-align:left}.home-feature-button:after{display:none}.home-feature-button:hover{transform:translateY(-3px);border-color:#6675ee57;box-shadow:var(--tui-shadow-sm)}.feature-icon-wrap{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,var(--tui-brand-50),var(--tui-purple-100))}.feature-icon-wrap img{width:34px;height:34px;object-fit:contain}.feature-icon-wrap i{color:var(--tui-brand-600);font-size:28px}.feature-copy{min-width:0;display:flex;flex-direction:column;gap:7px}.feature-copy .feature-label{color:var(--tui-brand-700);font-size:13px;font-weight:800}.feature-copy strong{font-size:17px;line-height:1.35}.feature-copy small{color:var(--tui-muted);font-size:13px;line-height:1.58}.feature-status{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:var(--tui-brand-600);background:var(--tui-brand-50)}.home-feature-button.locked{background:linear-gradient(145deg,#fff,#fafbfe)}.home-feature-button.locked .feature-status{color:#8b94a8;background:#f0f2f6}.home-feature-button.locked .feature-label:after{margin-left:7px;padding:2px 6px;border-radius:99px;color:#7f889a;background:#f0f2f6;content:"需权限";font-size:10px}.primary-button{background:linear-gradient(135deg,var(--tui-brand-500),var(--tui-brand-700));box-shadow:0 8px 18px #5364df38}.primary-button:hover:not(:disabled){box-shadow:0 11px 24px #5364df4d}.ghost-chip{border-color:var(--tui-border);background:#fff}input,textarea,select{border-color:var(--tui-border);border-radius:12px}.mobile-bottom-nav,.mobile-more-backdrop{display:none}@media(max-width:1180px){.product-main.module-paper{grid-template-columns:208px 260px minmax(0,1fr)}.app-navigation{padding-inline:10px}.home-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){:root{--tui-header-height:56px}.app-header{height:56px;min-height:56px;padding:6px 14px}.brand-block{width:144px;height:42px}.brand-logo{width:138px;height:38px}.header-right{gap:6px;max-width:none}.header-right .checkin-header-trigger,.header-right .friend-icon-button{display:inline-flex}.header-login{min-height:40px;padding-inline:14px}.user-pill{max-width:none;padding:2px}.user-pill .user-avatar,.user-pill>span:not(.user-avatar){display:none}.product-main,.product-main.module-home,.product-main.module-paper{display:block;min-height:calc(100vh - 56px)}.app-navigation{display:none}.product-content{padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.module-page-bar{margin-bottom:14px}.tui-home-hero{min-height:220px;grid-template-columns:minmax(0,1fr) 150px;padding:24px 20px;border-radius:22px}.tui-home-hero h1{margin:12px 0 9px;font-size:clamp(29px,8vw,42px)}.tui-home-hero p{font-size:14px;line-height:1.65}.hero-trust{margin-top:15px;gap:7px 12px;font-size:11px}.hero-visual{min-height:160px}.hero-orbit{width:155px;height:155px}.hero-visual img{width:175px;max-height:180px}.home-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-feature-button{min-height:156px;grid-template-columns:44px minmax(0,1fr);padding:15px;gap:11px}.feature-icon-wrap{width:44px;height:44px;border-radius:13px}.feature-icon-wrap img{width:29px;height:29px}.feature-status{display:none}.mobile-bottom-nav{position:fixed;inset:auto 0 0;z-index:80;min-height:calc(var(--tui-mobile-nav-height) + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 6px env(safe-area-inset-bottom);border-top:1px solid rgba(229,233,242,.94);background:#fffffff5;box-shadow:0 -10px 30px #1f293717;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-bottom-nav button{position:relative;min-width:0;min-height:52px;display:grid;place-items:center;align-content:center;gap:2px;border-radius:12px;color:var(--tui-muted);background:transparent}.mobile-bottom-nav i{font-size:22px}.mobile-bottom-nav span{font-size:10px;white-space:nowrap}.mobile-bottom-nav button.active{color:var(--tui-brand-700);background:var(--tui-brand-50);font-weight:800}.mobile-bottom-nav button.active:before{position:absolute;top:0;width:24px;height:2px;border-radius:99px;background:var(--tui-brand-600);content:""}.mobile-more-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:flex-end;background:#171f3461;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-more-sheet{width:100%;max-height:82vh;overflow:auto;padding:18px 16px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -20px 60px #171f342e}.mobile-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mobile-more-head div{display:flex;flex-direction:column;gap:3px}.mobile-more-head strong{font-size:20px}.mobile-more-head small{color:var(--tui-muted)}.mobile-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mobile-more-grid button{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:1px solid var(--tui-border);border-radius:15px;color:var(--tui-ink);background:var(--tui-surface-soft);text-align:center}.mobile-more-grid button>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--tui-brand-600);background:var(--tui-brand-100)}.mobile-more-grid button small{color:var(--tui-muted);font-size:10px;line-height:1.35}.mobile-more-grid button.locked{opacity:.72}}@media(max-width:560px){.app-header .user-avatar{display:none}.user-pill{padding-left:9px}.tui-home-hero{grid-template-columns:minmax(0,1fr) 112px;gap:8px;padding:20px 16px}.tui-home-hero h1{font-size:29px}.tui-home-hero p{max-width:245px}.hero-trust span:nth-child(3){display:none}.hero-orbit{width:118px;height:118px}.hero-visual img{width:138px}.home-section-head{align-items:flex-start}.home-section-head h2{font-size:21px}.home-section-head>small{display:none}.home-feature-button{min-height:168px;grid-template-columns:40px minmax(0,1fr);padding:14px 12px}.feature-icon-wrap{width:40px;height:40px}.feature-copy strong{font-size:15px}.feature-copy small{font-size:12px}.mobile-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{--shell-brand: #596be7;--shell-brand-dark: #4456cb;--shell-brand-soft: #eef0ff;--shell-ink: #192033;--shell-muted: #687086;--shell-line: #e5e8f1;--shell-page: #f5f6fa;--shell-shadow: 0 18px 44px rgba(38, 48, 84, .08)}.product-shell{min-height:100vh;color:var(--shell-ink);background:var(--shell-page)}.app-header{height:66px;padding:0 24px;border-bottom:1px solid rgba(229,232,241,.92);background:#fffffff0;box-shadow:0 7px 24px #252e4e0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block{min-width:0;border-radius:12px}.brand-block:focus-visible,.app-navigation .nav-item:focus-visible,.home-feature-button:focus-visible,.mobile-bottom-nav button:focus-visible,.mobile-more-grid button:focus-visible{outline:3px solid rgba(89,107,231,.25);outline-offset:2px}.product-main,.product-main.module-home{grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 66px)}.app-navigation{width:230px;padding:20px 14px 28px;border-right:1px solid var(--shell-line);background:#fff}.nav-section-label{margin:3px 10px 8px;color:#9aa0b2;font-size:10px;font-weight:800;letter-spacing:.1em}.nav-section-label.account-label{margin-top:22px;padding-top:18px;border-top:1px solid #eef0f5}.app-navigation .nav-item{min-height:44px;margin-bottom:4px;padding:0 11px;border-radius:12px;color:#606a80;font-size:13px;font-weight:700}.app-navigation .nav-item:hover{color:var(--shell-brand-dark);background:#f7f8ff}.app-navigation .nav-item.active{color:#fff;background:linear-gradient(135deg,var(--shell-brand),var(--shell-brand-dark));box-shadow:0 9px 20px #596be738}.app-navigation .nav-icon{width:30px;height:30px;border-radius:9px;color:var(--shell-brand);background:var(--shell-brand-soft)}.app-navigation .nav-item.active .nav-icon{color:#fff;background:#ffffff2b}.product-content{width:100%;max-width:1440px;min-width:0;margin:0 auto;padding:28px 34px 54px}.chat-entry{width:100%;max-width:1260px;margin:0 auto}.tui-home-hero{min-height:352px;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);margin-bottom:30px;padding:44px 48px;border:1px solid rgba(112,126,225,.16);border-radius:28px;background:radial-gradient(circle at 83% 15%,rgba(255,255,255,.94),transparent 30%),linear-gradient(135deg,#eef2ff,#f7f2ff 53%,#edfaff);box-shadow:var(--shell-shadow)}.tui-home-hero h1{max-width:700px;margin:18px 0 14px;color:var(--shell-ink);font-size:clamp(40px,4.2vw,62px);letter-spacing:-.045em}.tui-home-hero p{max-width:620px;color:#5c657b;font-size:16px}.hero-badge{color:var(--shell-brand-dark);background:#ffffffc2}.hero-trust{color:#59637a}.hero-trust i{color:var(--shell-brand)}.hero-orbit{background:linear-gradient(135deg,#fffffff0,#dae0ffb3);box-shadow:inset 0 0 0 1px #ffffffe0,0 28px 66px #4b569b2b}.home-section-head{margin:0 2px 16px}.home-section-head span{color:var(--shell-brand);font-size:11px;letter-spacing:.1em}.home-section-head h2{margin-top:6px;color:var(--shell-ink);font-size:25px}.home-section-head small{color:var(--shell-muted);font-size:11px}.home-section-head.account-section-head{margin-top:30px;padding-top:26px;border-top:1px solid var(--shell-line)}.home-feature-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-feature-button{min-height:168px;grid-template-columns:54px minmax(0,1fr) 26px;gap:14px;padding:19px;overflow:hidden;border:1px solid var(--shell-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px #2630540f}.home-feature-button:hover{border-color:#596be752;box-shadow:0 17px 36px #2630541a;transform:translateY(-3px)}.home-feature-button:active{box-shadow:0 8px 20px #26305414;transform:translateY(-1px)}.feature-icon-wrap{width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--shell-brand-soft),#f5edff)}.feature-copy .feature-label{color:var(--shell-brand-dark);font-size:12px}.feature-copy strong{color:var(--shell-ink);font-size:16px}.feature-copy small{color:var(--shell-muted);font-size:12px}.feature-status{color:var(--shell-brand);background:var(--shell-brand-soft)}.account-feature-strip .home-feature-button{background:linear-gradient(145deg,#fff,#fafbff)}.module-page-bar{border:1px solid var(--shell-line);border-radius:14px;background:#ffffffe0;box-shadow:0 8px 22px #2630540d}@media(max-width:1180px){.product-main,.product-main.module-home{grid-template-columns:210px minmax(0,1fr)}.app-navigation{width:210px}.product-content{padding-inline:24px}.home-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-header{height:58px;padding:0 14px}.product-main,.product-main.module-home,.product-main.module-paper{min-height:calc(100vh - 58px)}.product-content{padding:16px 16px calc(104px + env(safe-area-inset-bottom))}.tui-home-hero{min-height:238px;grid-template-columns:minmax(0,1fr) 155px;padding:26px 22px;border-radius:22px}.tui-home-hero h1{font-size:clamp(30px,8vw,44px)}.tui-home-hero p{font-size:14px}.hero-visual{min-height:170px}.hero-orbit{width:160px;height:160px}.hero-visual img{width:182px;max-height:188px}.home-feature-button{min-height:158px;grid-template-columns:46px minmax(0,1fr);padding:15px}.feature-icon-wrap{width:46px;height:46px}.feature-status{display:none}.mobile-more-grid button{border-color:var(--shell-line);background:#fafbfe}.mobile-more-grid button>span{color:var(--shell-brand);background:var(--shell-brand-soft)}}@media(max-width:560px){.tui-home-hero{grid-template-columns:minmax(0,1fr) 108px;gap:8px;padding:21px 16px}.tui-home-hero h1{font-size:29px}.tui-home-hero p{max-width:245px}.hero-orbit{width:116px;height:116px}.hero-visual img{width:138px}.home-section-head h2{font-size:21px}.home-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-feature-button{min-height:166px;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:14px 12px}.feature-icon-wrap{width:40px;height:40px}.feature-copy strong{font-size:14px}.feature-copy small{font-size:11px}}.product-main.module-paper{grid-template-columns:230px 292px minmax(0,1fr)}.product-main.module-paper>.app-sidebar{position:sticky;top:66px;width:292px;height:calc(100vh - 66px);border-right:1px solid var(--shell-line);background:#fafbfe}.product-main.module-paper .product-content{max-width:1180px;padding-top:22px}.product-main.module-paper .module-page-bar{margin-bottom:18px}.paper-builder-intro{position:relative;min-height:250px;margin-bottom:18px;padding:34px 38px;overflow:hidden;border:1px solid rgba(112,126,225,.16);border-radius:24px;background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.96),transparent 30%),linear-gradient(135deg,#eef2ff,#f9f4ff 58%,#eefaff);box-shadow:var(--shell-shadow)}.paper-builder-intro:after{content:"";position:absolute;right:-58px;bottom:-88px;width:260px;height:260px;border:42px solid rgba(89,107,231,.07);border-radius:50%}.paper-intro-copy{position:relative;z-index:1;max-width:720px}.paper-builder-intro h1{max-width:720px;margin:16px 0 12px;color:var(--shell-ink);font-size:clamp(34px,3.6vw,48px);letter-spacing:-.035em}.paper-builder-intro h1 span{color:var(--shell-brand)}.paper-builder-intro p{max-width:650px;color:#5f687d;font-size:15px;line-height:1.8}.paper-intro-trust{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;color:#59637a;font-size:12px;font-weight:700}.paper-intro-trust span{display:inline-flex;align-items:center;gap:6px}.paper-intro-trust i{color:var(--shell-brand);font-size:17px}.paper-intro-mark{position:absolute;z-index:1;right:48px;top:50%;display:grid;width:112px;height:112px;place-items:center;border-radius:32px;color:#fff;background:linear-gradient(145deg,var(--shell-brand),#7a62e8);box-shadow:0 24px 45px #596be742;transform:translateY(-50%) rotate(7deg)}.paper-intro-mark i{font-size:58px}.paper-builder-shell{padding:26px;border:1px solid var(--shell-line);border-radius:22px;background:#fff;box-shadow:0 14px 36px #26305412}.paper-builder-shell .composer-head{padding-bottom:18px;border-bottom:1px solid #edf0f6}.paper-builder-shell .composer-head h2{color:var(--shell-ink);font-size:25px}.paper-builder-tip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:10px;color:var(--shell-muted);background:#f7f8fc}.paper-builder-tip i{color:var(--shell-brand)}.paper-builder-shell .chat-thread{min-height:auto;padding:18px 0 8px}.paper-builder-shell .bubble.assistant{max-width:82%;border:1px solid #e7eaff;color:#586279;background:#f7f8ff}.paper-builder-shell .bubble.user{margin-left:auto;color:#fff;background:linear-gradient(135deg,var(--shell-brand),var(--shell-brand-dark))}.paper-builder-shell .composer{padding:0;border:0;background:transparent}.paper-prompt-label{display:block;margin:6px 0 8px;color:#3f4960;font-size:12px;font-weight:800}.paper-builder-shell .composer textarea{min-height:124px;padding:16px;border:1px solid #dfe3ee;border-radius:14px;color:var(--shell-ink);background:#fcfcfe;font-size:14px;line-height:1.7;resize:vertical}.paper-builder-shell .composer textarea:hover{border-color:#c9d0e2}.paper-builder-shell .composer textarea:focus{border-color:var(--shell-brand);background:#fff;box-shadow:0 0 0 4px #596be71c}.paper-prompt-options{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-top:14px}.paper-prompt-options label{display:grid;gap:7px;color:#687086;font-size:11px;font-weight:800}.paper-prompt-options input,.paper-prompt-options select{width:100%;min-height:42px;padding:0 12px;border:1px solid #dfe3ee;border-radius:11px;color:var(--shell-ink);background:#fff;font:inherit;font-size:13px}.paper-prompt-options input:focus,.paper-prompt-options select:focus{outline:0;border-color:var(--shell-brand);box-shadow:0 0 0 3px #596be71c}.paper-builder-shell .composer-actions{align-items:flex-end;gap:16px;margin-top:18px}.paper-builder-shell .quick-prompts{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.paper-builder-shell .quick-prompts>span{color:#8a92a6;font-size:11px;font-weight:800}.paper-builder-shell .ghost-chip{min-height:34px;border-color:#e1e5ef;color:#59637a;background:#fff}.paper-builder-shell .ghost-chip:hover{border-color:#596be759;color:var(--shell-brand-dark);background:#f7f8ff}.paper-generate-button{min-width:154px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;background:linear-gradient(135deg,var(--shell-brand),var(--shell-brand-dark));box-shadow:0 12px 24px #596be738}.paper-generate-button:disabled{box-shadow:none}.paper-fetch-progress{margin-top:18px;padding:14px;border-radius:13px;background:#f7f8ff}.paper-fetch-progress>div:first-child{display:flex;justify-content:space-between;margin-bottom:9px;color:#5e6880;font-size:12px}.paper-fetch-progress strong{color:var(--shell-brand)}.paper-builder-shell .composer-error,.paper-grade-error{display:flex;align-items:center;gap:7px;margin-top:14px;padding:11px 13px;border:1px solid #ffd8d8;border-radius:11px;color:#b42318;background:#fff7f7}.paper-workspace-head{padding:26px 28px;border:1px solid rgba(112,126,225,.16);border-radius:22px;background:linear-gradient(135deg,#f7f8ff,#fff);box-shadow:0 12px 32px #2630540f}.paper-workspace-head .workspace-title h1{margin:13px 0 8px;color:var(--shell-ink);font-size:clamp(30px,3.5vw,44px)}.paper-workspace-head .workspace-stats{min-width:250px}.paper-workspace-head .stat-card{border:1px solid #e6e9f3;border-radius:14px;background:#fff}.paper-workspace-head .stat-card span{display:inline-flex;align-items:center;gap:5px;color:var(--shell-muted)}.paper-workspace-head .stat-card i{color:var(--shell-brand)}.paper-answer-panel{padding:26px;border:1px solid var(--shell-line);border-radius:22px;background:#fff;box-shadow:0 14px 36px #2630540f}.paper-answer-panel .paper-toolbar{padding-bottom:18px;border-bottom:1px solid #edf0f6}.paper-answer-panel .panel-kicker{display:inline-flex;align-items:center;gap:6px}.paper-answer-panel .paper-submit-row button{min-height:46px;padding:0 22px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--shell-brand),var(--shell-brand-dark));box-shadow:0 12px 24px #596be733;font-weight:800}.paper-grade-progress{margin-top:14px;padding:14px;border-radius:12px;background:#f7f8ff}@media(max-width:1180px){.product-main.module-paper{grid-template-columns:210px 260px minmax(0,1fr)}.product-main.module-paper>.app-sidebar{width:260px}.paper-intro-mark{right:30px;width:92px;height:92px}.paper-intro-mark i{font-size:48px}.paper-intro-copy{max-width:calc(100% - 110px)}}@media(max-width:1000px){.product-main.module-paper{grid-template-columns:210px minmax(0,1fr)}.product-main.module-paper>.app-sidebar{position:fixed;top:66px;left:210px;z-index:45;width:min(320px,calc(100vw - 210px));transform:translate(-110%)}.product-main.module-paper>.app-sidebar.open{transform:translate(0)}}@media(max-width:900px){.product-main.module-paper{grid-template-columns:1fr}.product-main.module-paper>.app-sidebar{display:none}.paper-builder-intro{min-height:220px;padding:26px 24px}.paper-builder-intro h1{font-size:34px}.paper-intro-mark{right:24px;width:80px;height:80px;border-radius:24px}.paper-intro-mark i{font-size:42px}.paper-builder-shell{padding:20px}.paper-builder-shell .composer-head{align-items:flex-start}.paper-builder-tip{margin-top:8px}.paper-builder-shell .composer-actions{align-items:stretch}.paper-generate-button{width:100%}}@media(max-width:560px){.paper-builder-intro{min-height:auto;padding:22px 18px;border-radius:18px}.paper-intro-copy{max-width:100%}.paper-builder-intro h1{font-size:28px}.paper-builder-intro p{font-size:13px}.paper-intro-trust{gap:10px 14px;margin-top:16px;font-size:10px}.paper-intro-mark{display:none}.paper-builder-shell{padding:16px;border-radius:18px}.paper-builder-shell .composer-head{display:block}.paper-builder-shell .composer-head h2{font-size:21px}.paper-prompt-options{grid-template-columns:1fr 1fr}.paper-builder-shell .composer-actions{display:flex;flex-direction:column}.paper-builder-shell .quick-prompts{width:100%}.paper-builder-shell .quick-prompts>span{width:100%}.paper-builder-shell .ghost-chip{max-width:100%;white-space:normal;text-align:left}.paper-workspace-head{padding:20px 17px}.paper-workspace-head .workspace-stats{min-width:0}.paper-answer-panel{padding:17px;border-radius:18px}}.practice-hub,.practice-choice-page{--practice-accent: #596be7;--practice-accent-dark: #4053cc;--practice-soft: #f2f4ff;--practice-line: #dfe3fb;width:100%;min-width:0}.practice-hub.subject-physics,.practice-choice-page.subject-physics{--practice-accent: #168aa3;--practice-accent-dark: #0b6f88;--practice-soft: #edfafd;--practice-line: #cfedf2}.practice-hub-hero{position:relative;min-height:268px;display:flex;align-items:center;overflow:hidden;padding:38px 42px;border:1px solid var(--practice-line);border-radius:24px;background:radial-gradient(circle at 88% 18%,#fff,transparent 28%),linear-gradient(135deg,var(--practice-soft),#fff 72%);box-shadow:var(--shell-shadow)}.practice-hub-hero:after{content:"";position:absolute;right:-68px;bottom:-112px;width:300px;height:300px;border:46px solid color-mix(in srgb,var(--practice-accent) 9%,transparent);border-radius:50%}.practice-hub-copy{position:relative;z-index:1;max-width:720px}.practice-subject-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;color:var(--practice-accent-dark);background:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--practice-accent) 12%,transparent);font-size:12px;font-weight:800}.practice-subject-badge i{font-size:17px}.practice-hub-copy h2{margin:17px 0 12px;color:var(--shell-ink);font-size:clamp(34px,3.6vw,48px);line-height:1.16;letter-spacing:-.035em}.practice-hub-copy h2 span{color:var(--practice-accent)}.practice-hub-copy>p{max-width:650px;margin:0;color:#5f687d;font-size:15px;line-height:1.8}.practice-hub-highlights{display:flex;flex-wrap:wrap;gap:18px;margin-top:21px;color:#5a647a;font-size:12px;font-weight:750}.practice-hub-highlights span{display:inline-flex;align-items:center;gap:6px}.practice-hub-highlights i{color:var(--practice-accent);font-size:17px}.practice-hub-mark{position:absolute;z-index:1;right:54px;top:50%;display:grid;width:116px;height:116px;place-items:center;border-radius:34px;color:#fff;background:linear-gradient(145deg,var(--practice-accent),var(--practice-accent-dark));box-shadow:0 24px 48px color-mix(in srgb,var(--practice-accent) 28%,transparent);transform:translateY(-50%) rotate(7deg)}.practice-hub-mark i{font-size:58px}.practice-hub-section{margin-top:20px;padding:26px;border:1px solid var(--shell-line);border-radius:22px;background:#fff;box-shadow:0 14px 36px #2630540f}.practice-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.practice-section-heading span{color:var(--practice-accent);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.practice-section-heading h3{margin:5px 0 0;color:var(--shell-ink);font-size:23px}.practice-section-heading small{color:var(--shell-muted)}.practice-entry-card{width:100%;display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;border:1px solid var(--practice-line);border-radius:18px;color:var(--shell-ink);background:linear-gradient(135deg,#fff,var(--practice-soft));text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.practice-entry-card:hover{border-color:color-mix(in srgb,var(--practice-accent) 42%,#fff);box-shadow:0 16px 34px color-mix(in srgb,var(--practice-accent) 12%,transparent);transform:translateY(-2px)}.practice-entry-card:active{transform:translateY(0)}.practice-entry-card:focus-visible,.practice-entry-card:focus,.practice-new-session-button:focus-visible,.practice-new-session-button:focus,.practice-option-button:focus-visible,.practice-option-button:focus,.practice-answer-feedback>button:focus-visible,.practice-answer-feedback>button:focus,.practice-complete-card button:focus-visible,.practice-complete-card button:focus,.practice-empty-card button:focus-visible,.practice-empty-card button:focus{outline:3px solid color-mix(in srgb,var(--practice-accent) 28%,transparent);outline-offset:3px}.practice-entry-icon{display:grid;width:62px;height:62px;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(145deg,var(--practice-accent),var(--practice-accent-dark));box-shadow:0 12px 24px color-mix(in srgb,var(--practice-accent) 24%,transparent)}.practice-entry-icon i{font-size:31px}.practice-entry-copy{min-width:0;display:grid;gap:7px}.practice-entry-copy strong{font-size:19px}.practice-entry-copy>small{color:var(--shell-muted);line-height:1.6}.practice-entry-tags{display:flex;flex-wrap:wrap;gap:7px}.practice-entry-tags b{padding:4px 8px;border-radius:7px;color:var(--practice-accent-dark);background:#fff;font-size:10px}.practice-entry-action{display:inline-flex;align-items:center;gap:7px;color:var(--practice-accent-dark);font-size:13px;font-weight:850}.physics-practice-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.physics-category-card{grid-template-columns:58px minmax(0,1fr)}.physics-category-card .practice-entry-action{grid-column:2}.physics-category-card.state-disabled{opacity:.62;cursor:not-allowed;filter:grayscale(.18)}.physics-category-card.state-disabled:hover{border-color:var(--practice-line);box-shadow:none;transform:none}.practice-choice-page{display:grid;gap:18px}.practice-choice-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;border:1px solid var(--practice-line);border-radius:22px;background:linear-gradient(135deg,var(--practice-soft),#fff);box-shadow:0 12px 32px #2630540f}.practice-choice-title h2{margin:12px 0 8px;color:var(--shell-ink);font-size:clamp(28px,3vw,40px);letter-spacing:-.025em}.practice-choice-title p{max-width:720px;margin:0;color:var(--shell-muted);line-height:1.7}.practice-new-session-button{flex:0 0 auto;display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid var(--practice-line);border-radius:11px;color:var(--practice-accent-dark);background:#fff;font-weight:800;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.practice-new-session-button:hover:not(:disabled){border-color:var(--practice-accent);background:var(--practice-soft);transform:translateY(-1px)}.practice-new-session-button:active:not(:disabled){transform:translateY(0)}.practice-new-session-button:disabled{opacity:.58;cursor:wait}.practice-choice-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px;min-width:0}.practice-question-column{min-width:0;display:grid;gap:14px}.practice-question-card{min-width:0;padding:28px;border:1px solid var(--shell-line);border-radius:22px;background:#fff;box-shadow:0 14px 36px #2630540f}.practice-question-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.practice-question-meta{display:flex;flex-wrap:wrap;gap:7px}.practice-question-meta span{padding:5px 9px;border-radius:8px;color:#667085;background:#f4f6f9;font-size:11px;font-weight:750}.practice-question-state{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:8px;font-size:11px;font-weight:850}.practice-question-state.state-current{color:var(--practice-accent-dark);background:var(--practice-soft)}.practice-question-card>h3{margin:23px 0;color:var(--shell-ink);font-size:clamp(19px,2vw,24px);line-height:1.75;overflow-wrap:anywhere}.subject-math .practice-question-stem{margin:23px 0;color:var(--shell-ink);font-size:clamp(19px,2vw,24px);font-weight:760;line-height:1.75;overflow-wrap:anywhere}.subject-math .math-rich-content{min-width:0;overflow-wrap:anywhere}.subject-math .math-inline-image{display:inline-block;max-width:min(100%,520px);height:auto;margin:0 3px;object-fit:contain;vertical-align:-.3em;cursor:zoom-in}.subject-math .math-inline-image.state-error{min-width:120px;min-height:34px;padding:6px 10px;border:1px dashed #d0d5dd;border-radius:8px;color:#667085;background:#f8fafc;cursor:default}.subject-math .practice-question-assets{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}.subject-math .practice-question-asset-button{position:relative;display:grid;min-width:0;min-height:170px;place-items:center;padding:18px;overflow:hidden;border:1px solid #e4e8ef;border-radius:16px;background:linear-gradient(145deg,#fff,#fafbfc);cursor:zoom-in;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.subject-math .practice-question-asset-button:hover{border-color:var(--practice-accent);box-shadow:0 12px 28px color-mix(in srgb,var(--practice-accent) 13%,transparent);transform:translateY(-1px)}.subject-math .practice-question-asset-button img{max-width:100%;max-height:440px;height:auto;object-fit:contain}.subject-math .practice-image-zoom-hint{position:absolute;right:10px;bottom:9px;display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid rgba(255,255,255,.8);border-radius:999px;color:#344054;background:#ffffffe6;box-shadow:0 4px 12px #10182814;font-size:10px;font-weight:800;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.practice-question-assets{display:grid;gap:12px;margin-bottom:22px}.practice-question-assets img{max-width:100%;max-height:440px;height:auto;margin:0 auto;object-fit:contain;border:1px solid #edf0f5;border-radius:14px}.practice-option-list{display:grid;gap:11px}.practice-option-button{width:100%;min-width:0;min-height:62px;display:grid;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:13px;padding:11px 15px;border:1px solid #dfe3eb;border-radius:14px;color:#344054;background:#fff;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.practice-option-button:hover:not(:disabled){border-color:var(--practice-accent);background:var(--practice-soft);box-shadow:0 8px 18px color-mix(in srgb,var(--practice-accent) 10%,transparent);transform:translateY(-1px)}.practice-option-button:active:not(:disabled){transform:translateY(0)}.practice-option-button:disabled{cursor:default}.practice-option-button>strong{display:grid;width:36px;height:36px;place-items:center;border-radius:10px;color:#4b5565;background:#eef1f5}.practice-option-button>span{min-width:0;line-height:1.65;overflow-wrap:anywhere}.subject-math .math-option-content{display:flex;min-height:30px;align-items:center;flex-wrap:wrap;gap:4px;line-height:1.65}.subject-math .math-option-image{max-width:min(100%,360px);max-height:180px;vertical-align:middle}.practice-option-button>i{justify-self:end;font-size:20px}.practice-option-button.state-current:hover:not(:disabled)>strong{color:#fff;background:var(--practice-accent)}.practice-option-button.state-correct{border-color:#63c488;color:#166534;background:#ecfdf3}.practice-option-button.state-correct>strong{color:#fff;background:#1f9d55}.practice-option-button.state-wrong{border-color:#f19999;color:#a32020;background:#fff1f1}.practice-option-button.state-wrong>strong{color:#fff;background:#d83f3f}.practice-option-button.state-empty{opacity:.58}.practice-answer-feedback{margin-top:20px;padding:18px;border:1px solid;border-radius:15px}.practice-answer-feedback.state-correct{border-color:#b7e7c8;color:#166534;background:#f0fcf4}.practice-answer-feedback.state-review{border-color:#f4d69f;color:#8a4b0f;background:#fffbeb}.practice-feedback-title{display:flex;align-items:center;gap:11px}.practice-feedback-title>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:currentColor}.practice-feedback-title>span i{color:#fff;font-size:21px}.practice-feedback-title strong{font-size:18px}.practice-feedback-title p{margin:3px 0 0;font-size:12px}.practice-review-note{margin:13px 0 0;line-height:1.65}.practice-answer-explanation{margin-top:14px;padding:15px;border-radius:12px;color:#485267;background:#ffffffd1}.practice-answer-explanation>span{display:inline-flex;align-items:center;gap:6px;color:var(--practice-accent-dark);font-weight:850}.practice-answer-explanation p{margin:7px 0 0;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.subject-math .math-explanation-content{margin-top:7px;line-height:1.8}.subject-math .math-explanation-image{max-width:min(100%,460px);max-height:260px}.subject-physics .practice-question-stem{margin:23px 0;color:var(--shell-ink);font-size:clamp(19px,2vw,24px);font-weight:760;line-height:1.75;overflow-wrap:anywhere}.subject-physics .physics-rich-content{min-width:0;overflow-wrap:anywhere}.subject-physics .physics-inline-image{display:inline-block;max-width:min(100%,520px);height:auto;margin:0 3px;object-fit:contain;vertical-align:-.3em;cursor:zoom-in}.subject-physics .physics-option-content{display:flex;min-height:30px;align-items:center;flex-wrap:wrap;gap:4px;line-height:1.65}.subject-physics .physics-option-image{max-width:min(100%,360px);max-height:180px;vertical-align:middle;cursor:zoom-in}.subject-physics .physics-explanation-content{margin-top:7px;line-height:1.8}.subject-physics .physics-explanation-image{max-width:min(100%,460px);max-height:260px;vertical-align:middle;cursor:zoom-in}.subject-physics .physics-rich-content img.state-error{min-width:120px;min-height:34px;padding:6px 10px;border:1px dashed #d0d5dd;border-radius:8px;color:#667085;background:#f8fafc;cursor:default}.practice-image-lightbox{position:fixed;z-index:3000;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;gap:12px;padding:56px 24px 24px;color:#fff;background:#0f172ae0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.practice-image-lightbox img{max-width:min(1120px,96vw);max-height:calc(100vh - 120px);object-fit:contain;border-radius:14px;background:#fff;box-shadow:0 26px 70px #00000061}.practice-image-lightbox p{margin:0;font-size:12px;font-weight:750}.practice-image-lightbox-close{position:absolute;top:18px;right:20px;display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:#ffffff1f;cursor:pointer}.practice-answer-feedback>button,.practice-complete-card button,.practice-empty-card button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:7px;margin-top:16px;padding:0 18px;border:0;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--practice-accent),var(--practice-accent-dark));box-shadow:0 10px 22px color-mix(in srgb,var(--practice-accent) 22%,transparent);font-weight:850;cursor:pointer}.practice-progress-panel{position:sticky;top:84px;padding:20px;border:1px solid var(--practice-line);border-radius:20px;background:#fff;box-shadow:0 12px 30px #2630540f}.practice-progress-heading{display:flex;align-items:center;gap:11px}.practice-progress-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--practice-accent),var(--practice-accent-dark))}.practice-progress-heading>div{display:grid;gap:2px}.practice-progress-heading span{color:var(--shell-muted);font-size:11px}.practice-progress-heading strong{color:var(--shell-ink);font-size:21px}.practice-progress-track{height:8px;margin:18px 0;overflow:hidden;border-radius:999px;background:#e9edf4}.practice-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--practice-accent),var(--practice-accent-dark));transition:width .25s ease}.practice-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.practice-stat-grid>div{display:grid;gap:3px;padding:11px;border-radius:11px;background:#f7f8fb}.practice-stat-grid span{color:var(--shell-muted);font-size:10px}.practice-stat-grid strong{color:var(--shell-ink);font-size:18px}.practice-progress-panel>p{display:flex;align-items:flex-start;gap:6px;margin:16px 0 0;color:var(--shell-muted);font-size:11px;line-height:1.55}.practice-loading-card,.practice-complete-card,.practice-empty-card{min-height:330px;display:grid;align-content:center;justify-items:center;gap:9px;padding:34px;border:1px solid var(--practice-line);border-radius:22px;background:#fff;box-shadow:0 14px 36px #2630540f;text-align:center}.practice-loading-icon,.practice-complete-icon,.practice-empty-card>span{display:grid;width:64px;height:64px;place-items:center;border-radius:19px;color:#fff;background:linear-gradient(145deg,var(--practice-accent),var(--practice-accent-dark))}.practice-loading-icon i{font-size:28px;animation:practice-spin 1s linear infinite}.practice-complete-icon i,.practice-empty-card>span i{font-size:31px}.practice-loading-card strong,.practice-complete-card h3,.practice-empty-card h3{margin:7px 0 0;color:var(--shell-ink);font-size:23px}.practice-loading-card small,.practice-complete-card p,.practice-empty-card p{margin:0;color:var(--shell-muted);line-height:1.65}.practice-error{display:flex;align-items:center;gap:7px;margin:0;padding:12px 14px;border:1px solid #ffd0d0;border-radius:11px;color:#b42318;background:#fff5f5;font-weight:700}@keyframes practice-spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.practice-hub-mark{right:32px;width:96px;height:96px;border-radius:27px}.practice-hub-mark i{font-size:48px}.practice-hub-copy{max-width:calc(100% - 105px)}.practice-choice-layout{grid-template-columns:1fr}.practice-progress-panel{position:static;order:-1}.practice-stat-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.practice-hub-hero{min-height:auto;padding:26px 24px}.practice-hub-copy{max-width:100%}.practice-hub-mark{display:none}.practice-hub-section{padding:20px}.practice-entry-card{grid-template-columns:58px minmax(0,1fr)}.practice-entry-icon{width:54px;height:54px;border-radius:15px}.practice-entry-action{grid-column:2;justify-self:start}.practice-choice-hero{align-items:stretch;flex-direction:column;padding:23px}.practice-new-session-button{align-self:flex-start}.practice-stat-grid{grid-template-columns:1fr 1fr}.practice-question-card{padding:21px}.practice-question-head{align-items:stretch;flex-direction:column}.practice-question-state{align-self:flex-start}.subject-math .practice-question-assets{grid-template-columns:1fr}.subject-math .practice-question-asset-button{min-height:140px;padding:13px}.subject-math .math-inline-image{max-width:100%}}@media(max-width:560px){.practice-hub-hero{padding:22px 18px;border-radius:18px}.practice-hub-copy h2{font-size:29px}.practice-hub-copy>p{font-size:13px}.practice-hub-highlights{gap:10px 13px;font-size:10px}.practice-hub-section{padding:17px;border-radius:18px}.practice-section-heading{align-items:flex-start;flex-direction:column;gap:5px}.practice-section-heading h3{font-size:20px}.practice-entry-card{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:16px}.practice-entry-icon{width:46px;height:46px;border-radius:13px}.practice-entry-icon i{font-size:25px}.practice-entry-copy strong{font-size:16px}.practice-entry-tags{display:none}.practice-choice-page{gap:13px;padding-bottom:10px}.practice-choice-hero{padding:18px;border-radius:18px}.practice-choice-title h2{font-size:27px}.practice-choice-title p{font-size:12px}.practice-new-session-button{width:100%}.practice-progress-panel{padding:16px;border-radius:17px}.practice-question-card{padding:17px;border-radius:18px}.practice-question-card>h3{margin:19px 0;font-size:18px}.practice-option-button{min-height:58px;grid-template-columns:35px minmax(0,1fr) 18px;gap:10px;padding:10px 11px}.practice-option-button>strong{width:32px;height:32px;border-radius:9px}.practice-answer-feedback{padding:15px}.practice-answer-feedback>button,.practice-complete-card button,.practice-empty-card button{width:100%}.practice-loading-card,.practice-complete-card,.practice-empty-card{min-height:280px;padding:24px 17px;border-radius:18px}}@media(prefers-reduced-motion:reduce){.practice-loading-icon i{animation:none}.practice-entry-card,.practice-new-session-button,.practice-option-button,.practice-progress-track>span{transition:none}}.schedule-page-content{min-width:0;overflow-x:clip}.schedule-page-content .schedule-modal{--schedule-accent: #6674e8;--schedule-accent-dark: #4d5bcf;--schedule-accent-soft: #eef0ff;--schedule-ink: #20243d;--schedule-muted: #717892;--schedule-line: #e5e8f2;width:100%;max-width:1480px;max-height:none;margin:0 auto;padding:0 0 28px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--schedule-ink)}.schedule-page-content .schedule-page-hero{position:relative;min-height:150px;display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;padding:28px 30px;overflow:hidden;border:1px solid rgba(102,116,232,.16);border-radius:24px;background:radial-gradient(circle at 88% 16%,rgba(255,255,255,.78) 0 5%,transparent 5.5%),radial-gradient(circle at 94% 72%,rgba(255,255,255,.52) 0 9%,transparent 9.5%),linear-gradient(135deg,#f5f6ff,#eef2ff 48%,#f7f9ff);box-shadow:0 18px 44px #3d478714}.schedule-page-content .schedule-page-hero:after{position:absolute;right:6%;bottom:-55px;width:210px;height:210px;border:34px solid rgba(102,116,232,.08);border-radius:50%;content:""}.schedule-page-content .schedule-hero-copy{position:relative;z-index:1;display:flex;align-items:center;gap:18px}.schedule-page-content .schedule-hero-icon{flex:0 0 auto;display:grid;width:68px;height:68px;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(145deg,#7d88f1,#5665dc);box-shadow:0 14px 28px #5260d240}.schedule-page-content .schedule-hero-icon i{font-size:34px}.schedule-page-content .schedule-eyebrow{margin-bottom:6px;color:var(--schedule-accent-dark);font-size:12px;font-weight:900;letter-spacing:.12em}.schedule-page-content .schedule-page-hero h2{margin:0;color:var(--schedule-ink);font-size:clamp(28px,3vw,40px);letter-spacing:-.045em;line-height:1.14}.schedule-page-content .schedule-page-hero p{margin:9px 0 0;color:var(--schedule-muted);font-size:14px;line-height:1.6}.schedule-close-button{position:relative;z-index:2;flex:0 0 auto;display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid var(--schedule-line, #e5e8f2);border-radius:11px;color:var(--schedule-muted, #717892);background:#ffffffdb;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}.schedule-close-button:hover{border-color:#cfd4ef;color:var(--schedule-accent-dark, #4d5bcf);background:#fff}.schedule-close-button:active{transform:scale(.95)}.schedule-close-button:focus-visible{outline:3px solid rgba(102,116,232,.24);outline-offset:2px}.schedule-page-content .schedule-next-card{grid-template-columns:126px minmax(0,1fr);gap:0;margin:0 0 18px;padding:0;overflow:hidden;border:1px solid var(--schedule-line);border-radius:20px;background:#fff;box-shadow:0 12px 32px #2630540e}.schedule-page-content .schedule-next-card.is-active{border-color:#24a76f47}.schedule-page-content .schedule-next-label{display:flex;min-width:0;align-items:center;justify-content:center;gap:7px;padding:15px 12px;border-radius:0;color:var(--schedule-accent-dark);background:var(--schedule-accent-soft);font-size:12px;letter-spacing:.03em}.schedule-page-content .schedule-next-card.is-active .schedule-next-label{color:#14734d;background:#e9f8f1}.schedule-page-content .schedule-next-label i{font-size:18px}.schedule-page-content .schedule-next-main{grid-template-columns:minmax(0,1fr) minmax(190px,auto) 24px;gap:18px;min-height:84px;padding:14px 18px;border-radius:0;transition:background .18s ease}.schedule-page-content .schedule-next-main:hover{background:#fafbff}.schedule-page-content .schedule-next-main:focus-visible{outline:3px solid rgba(102,116,232,.24);outline-offset:-3px}.schedule-page-content .schedule-next-main strong{margin:0 0 6px;color:var(--schedule-ink);font-size:17px}.schedule-page-content .schedule-next-main span,.schedule-page-content .schedule-next-meta span{display:flex;align-items:center;gap:6px;color:var(--schedule-muted);font-size:12px;font-weight:650}.schedule-page-content .schedule-next-main span i,.schedule-page-content .schedule-next-meta i{color:var(--schedule-accent);font-size:15px}.schedule-page-content .schedule-next-meta{gap:7px;justify-items:start}.schedule-page-content .schedule-next-arrow{color:var(--schedule-accent);font-size:20px}.schedule-page-content .schedule-next-empty{display:flex;min-height:84px;align-items:center;gap:12px;padding:14px 18px}.schedule-page-content .schedule-next-empty>i{color:#9aa1b8;font-size:30px}.schedule-page-content .schedule-next-empty span{display:grid;gap:3px}.schedule-page-content .schedule-next-empty strong{color:var(--schedule-ink);font-size:14px}.schedule-page-content .schedule-next-empty small{color:var(--schedule-muted);font-size:11px}.schedule-page-content .schedule-loading-state{min-height:380px;display:grid;align-content:center;justify-items:center;gap:8px;border:1px solid var(--schedule-line);border-radius:22px;background:#fff;box-shadow:0 12px 32px #2630540d}.schedule-page-content .schedule-loading-state>span{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(145deg,#7d88f1,#5665dc)}.schedule-page-content .schedule-loading-state i{font-size:28px;animation:schedule-spin 1s linear infinite}.schedule-page-content .schedule-loading-state strong{margin-top:6px;color:var(--schedule-ink);font-size:18px}.schedule-page-content .schedule-loading-state small{color:var(--schedule-muted)}.schedule-page-content .schedule-body{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);align-items:start;gap:18px}.schedule-page-content .schedule-calendar-panel,.schedule-page-content .schedule-week-panel,.schedule-page-content .schedule-editor{min-width:0;padding:20px;border:1px solid var(--schedule-line);border-radius:22px;background:#fff;box-shadow:0 12px 32px #2630540e}.schedule-page-content .schedule-calendar-panel{position:sticky;top:18px}.schedule-page-content .schedule-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.schedule-page-content .schedule-calendar-head>div{display:grid;gap:3px}.schedule-page-content .schedule-calendar-head span,.schedule-page-content .schedule-toolbar>div:first-child>span{color:var(--schedule-muted);font-size:10px;font-weight:800;letter-spacing:.08em}.schedule-page-content .schedule-calendar-head strong{color:var(--schedule-ink);font-size:19px}.schedule-page-content .schedule-calendar-today{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid #dfe3f0;border-radius:10px;color:var(--schedule-accent-dark);background:#f8f9ff;font-size:10px;font-weight:850;cursor:pointer}.schedule-page-content .schedule-calendar-today:hover{border-color:#c8ceee;background:#f1f3ff}.schedule-page-content .schedule-calendar-navigation{display:grid;grid-template-columns:34px minmax(88px,1fr) minmax(70px,.8fr) 34px;gap:6px;margin:14px 0 12px}.schedule-page-content .schedule-calendar-navigation button,.schedule-page-content .schedule-calendar-navigation select{width:100%;min-height:34px;border:1px solid #e0e3ed;border-radius:10px;color:#4f5873;background:#fff;font-size:10px;font-weight:800}.schedule-page-content .schedule-calendar-navigation button{display:grid;place-items:center;padding:0;cursor:pointer}.schedule-page-content .schedule-calendar-navigation select{padding:0 8px;cursor:pointer}.schedule-page-content .schedule-calendar-navigation button:hover,.schedule-page-content .schedule-calendar-navigation select:hover{border-color:#c8ceee;background:#f8f9ff}.schedule-page-content .schedule-calendar-navigation button:focus-visible,.schedule-page-content .schedule-calendar-navigation select:focus-visible,.schedule-page-content .schedule-calendar-today:focus-visible{outline:3px solid rgba(102,116,232,.2);outline-offset:1px}.schedule-page-content .schedule-calendar-weekdays{margin-bottom:5px}.schedule-page-content .schedule-calendar-weekdays span{color:#969cb0;font-size:10px;font-weight:800}.schedule-page-content .schedule-calendar-grid{gap:4px}.schedule-page-content .schedule-calendar-cell{position:relative;min-width:0;min-height:36px;padding:0;border:1px solid transparent;border-radius:10px;color:#555d78;background:transparent;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}.schedule-page-content .schedule-calendar-cell:hover{border-color:#daddf3;color:var(--schedule-accent-dark);background:#f6f7ff;transform:translateY(-1px)}.schedule-page-content .schedule-calendar-cell:focus-visible{outline:3px solid rgba(102,116,232,.22);outline-offset:1px}.schedule-page-content .schedule-calendar-cell.selected{border-color:var(--schedule-accent);color:#fff;background:linear-gradient(145deg,#7783ed,#5968dd);box-shadow:0 7px 16px #5765d740}.schedule-page-content .schedule-calendar-cell.today:not(.selected){border-color:#bfc5f1;color:var(--schedule-accent-dark);background:#f2f3ff}.schedule-page-content .schedule-calendar-cell.muted{color:#c0c4d2}.schedule-page-content .schedule-calendar-cell small{position:absolute;right:1px;bottom:1px;min-width:14px;height:14px;display:grid;place-items:center;padding:0 3px;border-radius:99px;color:#fff;background:#ff8a65;font-size:8px;line-height:1}.schedule-page-content .schedule-calendar-cell.selected small{color:var(--schedule-accent-dark);background:#fff}.schedule-page-content .schedule-calendar-help{display:flex;align-items:center;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid #f0f1f6;color:var(--schedule-muted);font-size:10px}.schedule-page-content .schedule-calendar-help i{color:var(--schedule-accent);font-size:14px}.schedule-page-content .schedule-toolbar{min-height:42px;margin:0 0 16px}.schedule-page-content .schedule-toolbar>div:first-child{display:grid;gap:3px}.schedule-page-content .schedule-toolbar strong{color:var(--schedule-ink);font-size:18px}.schedule-page-content .schedule-add-button,.schedule-page-content .admin-actions .primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 15px}.schedule-page-content button:disabled,.schedule-detail-modal button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.schedule-page-content .schedule-add-button:focus-visible,.schedule-page-content .admin-actions button:focus-visible,.schedule-detail-modal .admin-actions button:focus-visible{outline:3px solid rgba(102,116,232,.24);outline-offset:2px}.schedule-page-content .schedule-timeline{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;border-color:var(--schedule-line);border-radius:17px;scrollbar-color:#c7ccef transparent;scrollbar-width:thin}.schedule-page-content .schedule-timeline-head,.schedule-page-content .schedule-timeline-body{min-width:840px}.schedule-page-content .schedule-timeline-head{grid-template-columns:70px repeat(7,minmax(110px,1fr));background:#f8f9fd}.schedule-page-content .schedule-time-col-head,.schedule-page-content .schedule-day-col-head{min-width:0;padding:10px 7px}.schedule-page-content .schedule-time-col-head{color:var(--schedule-muted);font-size:10px}.schedule-page-content .schedule-day-col-head{cursor:default}.schedule-page-content .schedule-day-col-head strong{color:var(--schedule-ink);font-size:12px}.schedule-page-content .schedule-day-col-head span{color:var(--schedule-muted);font-size:9px}.schedule-page-content .schedule-day-col-head.selected{background:#f0f2ff}.schedule-page-content .schedule-day-col-head.today{box-shadow:inset 0 -2px var(--schedule-accent)}.schedule-page-content .schedule-timeline-body{grid-template-columns:70px repeat(7,minmax(110px,1fr))}.schedule-page-content .schedule-time-col{width:auto}.schedule-page-content .schedule-time-tick{right:9px;color:#9ba1b3;font-size:9px}.schedule-page-content .schedule-day-col.selected{background:#6674e806}.schedule-page-content .schedule-day-col.today{background:#6674e80b}.schedule-page-content .schedule-event-card{gap:5px;min-width:0;border-top:1px solid rgba(42,51,92,.07);border-right:1px solid rgba(42,51,92,.07);border-bottom:1px solid rgba(42,51,92,.07);border-radius:11px;box-shadow:0 6px 14px #26305414;transition:transform .18s ease,box-shadow .18s ease}.schedule-page-content .schedule-event-card:hover{transform:translateY(-2px);box-shadow:0 11px 22px #26305421}.schedule-page-content .schedule-event-card:active{transform:translateY(0)}.schedule-page-content .schedule-event-card:focus-visible{outline:3px solid rgba(102,116,232,.28);outline-offset:2px}.schedule-page-content .schedule-event-card strong{color:var(--schedule-ink);font-size:12px;line-height:1.35}.schedule-page-content .schedule-event-card span{min-width:0}.schedule-page-content .schedule-event-time,.schedule-page-content .schedule-event-teacher,.schedule-page-content .schedule-event-info{display:flex;align-items:center;gap:4px;color:var(--schedule-muted);font-size:9px;line-height:1.35}.schedule-page-content .schedule-event-time i,.schedule-page-content .schedule-event-teacher i,.schedule-page-content .schedule-event-info i{flex:0 0 auto;color:var(--schedule-accent);font-size:11px}.schedule-page-content .schedule-event-repeat{align-self:flex-start;padding:2px 6px;border-radius:99px;color:var(--schedule-accent-dark);background:#6674e81a;font-size:8px;font-weight:800}.schedule-page-content .schedule-empty-slot{color:#b1b6c7;font-size:10px}.schedule-page-content .schedule-view-switch,.schedule-page-content .schedule-mobile-day{display:none}.schedule-page-content .schedule-empty-state{min-height:220px;display:grid;align-content:center;justify-items:center;gap:7px;color:var(--schedule-muted);text-align:center}.schedule-page-content .schedule-empty-state>i{margin-bottom:4px;color:#aeb4ca;font-size:38px}.schedule-page-content .schedule-empty-state strong{color:var(--schedule-ink);font-size:16px}.schedule-page-content .schedule-empty-state span{font-size:11px}.schedule-page-content .schedule-editor{margin-top:18px;padding:22px}.schedule-page-content .schedule-editor-head,.schedule-detail-modal .schedule-editor-head{margin:0 0 18px}.schedule-page-content .schedule-editor-head>div,.schedule-detail-modal .schedule-editor-head>div{display:flex;align-items:center;gap:11px}.schedule-page-content .schedule-editor-head>div>div,.schedule-detail-modal .schedule-editor-head>div>div{display:grid;gap:2px}.schedule-page-content .schedule-editor-head small,.schedule-detail-modal .schedule-editor-head small{color:var(--schedule-muted);font-size:10px;font-weight:800;letter-spacing:.08em}.schedule-page-content .schedule-editor-head strong,.schedule-detail-modal .schedule-editor-head strong{color:var(--schedule-ink);font-size:19px}.schedule-page-content .schedule-editor-icon,.schedule-detail-modal .schedule-editor-icon{flex:0 0 auto;display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#7d88f1,#5665dc)}.schedule-page-content .schedule-editor-icon i,.schedule-detail-modal .schedule-editor-icon i{font-size:21px}.schedule-page-content .schedule-scope-switch{margin:0 0 16px;padding:5px;border-radius:13px;background:#f4f5fa}.schedule-page-content .schedule-scope-item{min-height:38px;border-radius:10px;color:var(--schedule-muted);background:transparent}.schedule-page-content .schedule-scope-item:has(input:checked){color:var(--schedule-accent-dark);background:#fff;box-shadow:0 5px 13px #26305412}.schedule-page-content .schedule-editor-grid{grid-template-columns:2fr 1.15fr 1fr 1fr 1.5fr .8fr;gap:12px}.schedule-page-content .schedule-field{display:grid;align-content:start;gap:6px;min-width:0;color:var(--schedule-muted);font-size:10px;font-weight:800}.schedule-page-content .schedule-field input,.schedule-page-content .schedule-field textarea{width:100%;min-width:0;border:1px solid var(--schedule-line);border-radius:11px;color:var(--schedule-ink);background:#fbfcff;font:inherit;font-size:12px;font-weight:600;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.schedule-page-content .schedule-field input{min-height:42px;padding:0 11px}.schedule-page-content .schedule-field textarea{padding:11px 12px;line-height:1.55;resize:vertical}.schedule-page-content .schedule-field input:hover,.schedule-page-content .schedule-field textarea:hover{border-color:#cdd2e8;background:#fff}.schedule-page-content .schedule-field input:focus,.schedule-page-content .schedule-field textarea:focus{outline:0;border-color:var(--schedule-accent);background:#fff;box-shadow:0 0 0 3px #6674e826}.schedule-page-content .schedule-preset-strip{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px}.schedule-page-content .schedule-preset-strip>span{margin-right:3px;color:var(--schedule-muted);font-size:10px;font-weight:800}.schedule-page-content .schedule-preset-strip button{min-height:30px;padding:0 9px;border:1px solid var(--schedule-line);border-radius:9px;color:#5f6781;background:#fafbfe;font-size:9px;cursor:pointer}.schedule-page-content .schedule-preset-strip button:hover{border-color:#c7cced;color:var(--schedule-accent-dark);background:var(--schedule-accent-soft)}.schedule-page-content .schedule-preset-strip button:focus-visible{outline:3px solid rgba(102,116,232,.2);outline-offset:1px}.schedule-page-content .schedule-editor-note{display:flex;align-items:flex-start;gap:6px;margin:13px 0 0;color:var(--schedule-muted);font-size:10px;line-height:1.55}.schedule-page-content .schedule-editor-note i{flex:0 0 auto;margin-top:1px;color:var(--schedule-accent);font-size:14px}.schedule-page-content .schedule-member-section{margin-top:18px}.schedule-page-content .schedule-member-section>strong{display:flex;align-items:center;gap:6px;color:var(--schedule-ink);font-size:12px}.schedule-page-content .schedule-member-section>strong i{color:var(--schedule-accent);font-size:16px}.schedule-page-content .schedule-member-list{margin-top:8px}.schedule-page-content .schedule-member-item{border-color:var(--schedule-line);color:#555d78;background:#fafbfe}.schedule-page-content .schedule-member-item:hover{border-color:#cdd2ec;background:#f6f7ff}.schedule-page-content .schedule-member-item:has(input:checked){border-color:#bbc1ef;color:var(--schedule-accent-dark);background:var(--schedule-accent-soft)}.schedule-page-content .schedule-notes-field,.schedule-page-content .admin-actions{margin-top:18px}.schedule-page-content .admin-actions .danger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 13px;border:1px solid #ffd1d1;border-radius:11px;color:#b42318;background:#fff6f6}.schedule-page-content .admin-actions .danger:hover{border-color:#ffb7b7;background:#ffeded}.schedule-page-content .primary-button .hgi-loading-03{animation:schedule-spin 1s linear infinite}.schedule-page-content .schedule-error{display:flex;align-items:center;gap:7px;margin:14px 0 0;padding:12px 14px;border:1px solid #ffd0d0;border-radius:11px;color:#b42318;background:#fff5f5;font-size:12px;font-weight:700}.schedule-detail-modal{--schedule-accent: #6674e8;--schedule-accent-dark: #4d5bcf;--schedule-muted: #717892;--schedule-ink: #20243d;--schedule-line: #e5e8f2;width:min(620px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto;padding:23px;border:1px solid var(--schedule-line);border-radius:23px;background:#fff;box-shadow:0 26px 70px #19204233}.schedule-detail-modal .schedule-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-detail-modal .schedule-detail-item{min-width:0;padding:14px;border:1px solid var(--schedule-line);border-radius:13px;background:#fafbfe}.schedule-detail-modal .schedule-detail-item>span,.schedule-detail-modal .schedule-detail-notes>span{display:flex;align-items:center;gap:5px;color:var(--schedule-muted);font-size:10px;font-weight:800}.schedule-detail-modal .schedule-detail-item>span i,.schedule-detail-modal .schedule-detail-notes>span i{color:var(--schedule-accent);font-size:14px}.schedule-detail-modal .schedule-detail-item strong{display:block;margin-top:7px;overflow-wrap:anywhere;color:var(--schedule-ink);font-size:12px;line-height:1.55}.schedule-detail-modal .schedule-detail-notes{margin-top:10px;padding:14px;border:1px solid var(--schedule-line);border-radius:13px;background:#fafbfe}.schedule-detail-modal .schedule-detail-notes p{margin:8px 0 0;color:#555d78;font-size:12px;line-height:1.65;white-space:pre-wrap}.schedule-detail-modal .admin-actions{margin-top:16px}.schedule-detail-modal .admin-actions .primary-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 15px}.schedule-detail-modal .admin-actions .danger{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid #ffd1d1;border-radius:11px;color:#b42318;background:#fff6f6}.schedule-detail-modal .admin-actions .danger:hover{border-color:#ffb7b7;background:#ffeded}.schedule-confirm-shell{z-index:170}.schedule-confirm-modal{--schedule-accent: #6674e8;--schedule-muted: #717892;--schedule-ink: #20243d;width:min(440px,calc(100vw - 28px));display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:24px;border:1px solid #ffd2d2;border-radius:22px;background:#fff;box-shadow:0 28px 80px #2b18223d}.schedule-confirm-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;color:#c12c24;background:#fff0f0}.schedule-confirm-icon i{font-size:27px}.schedule-confirm-modal small{color:#b42318;font-size:10px;font-weight:900;letter-spacing:.1em}.schedule-confirm-modal h3{margin:5px 0 7px;color:var(--schedule-ink);font-size:21px;letter-spacing:-.02em}.schedule-confirm-modal p{margin:0;color:var(--schedule-muted);font-size:12px;line-height:1.65}.schedule-confirm-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.schedule-confirm-actions button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 15px;border:1px solid #e1e4ee;border-radius:11px;color:#626981;background:#fff;font-weight:800;cursor:pointer}.schedule-confirm-actions button:hover{background:#f7f8fb}.schedule-confirm-actions button.danger{border-color:#d93a32;color:#fff;background:linear-gradient(145deg,#e34b43,#bd2b25);box-shadow:0 9px 19px #be2b2533}.schedule-confirm-actions button.danger:hover{background:linear-gradient(145deg,#d9423b,#ad241f)}.schedule-confirm-actions button:focus-visible{outline:3px solid rgba(217,58,50,.22);outline-offset:2px}.schedule-confirm-actions button:disabled{cursor:not-allowed;opacity:.58}.schedule-confirm-actions .hgi-loading-03{animation:schedule-spin 1s linear infinite}@keyframes schedule-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.schedule-page-content .schedule-body{grid-template-columns:240px minmax(0,1fr)}.schedule-page-content .schedule-editor-grid{grid-template-columns:2fr 1.2fr 1fr 1fr}.schedule-page-content .schedule-editor-location{grid-column:span 3}}@media(max-width:860px){.schedule-page-content .schedule-body{grid-template-columns:1fr}.schedule-page-content .schedule-calendar-panel{position:static}.schedule-page-content .schedule-calendar-panel{max-width:none}.schedule-page-content .schedule-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-page-content .schedule-editor-title,.schedule-page-content .schedule-editor-location{grid-column:1 / -1}}@media(max-width:720px){.schedule-page-content .schedule-modal{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.schedule-page-content .schedule-page-hero{min-height:0;padding:22px 19px;border-radius:20px}.schedule-page-content .schedule-hero-icon{width:52px;height:52px;border-radius:16px}.schedule-page-content .schedule-hero-icon i,.schedule-page-content .schedule-page-hero h2{font-size:27px}.schedule-page-content .schedule-page-hero p{max-width:280px;font-size:12px}.schedule-page-content .schedule-next-card{grid-template-columns:1fr}.schedule-page-content .schedule-next-label{justify-content:flex-start;padding:10px 14px}.schedule-page-content .schedule-next-main{grid-template-columns:minmax(0,1fr) 20px;gap:10px;min-height:0;padding:15px}.schedule-page-content .schedule-next-meta{grid-column:1 / -1}.schedule-page-content .schedule-next-arrow{grid-column:2;grid-row:1}.schedule-page-content .schedule-next-empty{min-height:74px}.schedule-page-content .schedule-calendar-panel,.schedule-page-content .schedule-week-panel,.schedule-page-content .schedule-editor{padding:16px;border-radius:18px}.schedule-page-content .schedule-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px}.schedule-page-content .schedule-toolbar>div:first-child{grid-column:1}.schedule-page-content .schedule-view-switch{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#f1f2f7}.schedule-page-content .schedule-view-switch button{min-height:34px;padding:0 12px;border:0;border-radius:9px;color:var(--schedule-muted);background:transparent;font-size:11px;font-weight:800}.schedule-page-content .schedule-view-switch button.active{color:var(--schedule-accent-dark);background:#fff;box-shadow:0 4px 11px #26305414}.schedule-page-content .schedule-view-switch button:focus-visible{outline:3px solid rgba(102,116,232,.22);outline-offset:1px}.schedule-page-content .schedule-add-button{grid-column:2;grid-row:1 / span 2;align-self:stretch}.schedule-page-content .schedule-timeline.is-mobile-week{display:block}.schedule-page-content .schedule-timeline-head,.schedule-page-content .schedule-timeline-body{min-width:780px}.schedule-page-content .schedule-mobile-day{display:block}.schedule-page-content .schedule-mobile-day-title{display:flex;align-items:center;gap:6px;margin-bottom:11px;color:var(--schedule-muted);font-size:10px;font-weight:800;letter-spacing:.06em}.schedule-page-content .schedule-mobile-day-title i{color:var(--schedule-accent);font-size:15px}.schedule-page-content .schedule-day-head{margin-bottom:12px;padding:10px 12px;border-radius:11px;background:#f6f7fc}.schedule-page-content .schedule-event-list{gap:10px}.schedule-page-content .schedule-event-list .schedule-event-card{min-height:112px;padding:14px 14px 14px 16px}.schedule-page-content .schedule-event-list .schedule-event-card strong{font-size:15px}.schedule-page-content .schedule-event-list .schedule-event-time,.schedule-page-content .schedule-event-list .schedule-event-teacher,.schedule-page-content .schedule-event-list .schedule-event-info{font-size:10px}.schedule-page-content .schedule-editor{margin-top:14px}}.schedule-main-tabs{display:flex;gap:8px;width:max-content;margin:14px 0;padding:5px;border:1px solid #e4e8f1;border-radius:14px;background:#fff;box-shadow:0 8px 24px #2933530d}.schedule-main-tabs button{display:flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:0;border-radius:10px;color:#697187;background:transparent;font-weight:800;cursor:pointer}.schedule-main-tabs button.active{color:#4d5fd1;background:#eef1ff;box-shadow:inset 0 0 0 1px #5868e01f}.schedule-student-selector{margin-top:14px;padding:16px;border:1px solid var(--schedule-line);border-radius:16px;background:#fbfcff}.schedule-student-selector>header,.schedule-group-editor-head,.schedule-attendance-toolbar,.schedule-attendance-actions,.schedule-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-student-selector>header>div{display:flex;align-items:center;gap:10px}.schedule-student-selector>header strong{display:flex;align-items:center;gap:7px;color:var(--schedule-ink)}.schedule-student-selector>header span{color:var(--schedule-muted);font-size:12px}.schedule-group-strip{display:flex;align-items:center;gap:7px;margin:12px 0;overflow-x:auto;scrollbar-width:thin}.schedule-group-strip>span{flex:0 0 auto;color:var(--schedule-muted);font-size:11px;font-weight:800}.schedule-group-strip button{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid #dfe4ee;border-radius:10px;color:#4a5268;background:#fff;font-weight:750;cursor:pointer}.schedule-group-strip button:hover{border-color:#aeb9ed;background:#f6f7ff}.schedule-group-strip button small{color:#8a91a3;font-size:10px}.schedule-student-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;margin-bottom:10px}.schedule-student-tools label{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 11px;border:1px solid #dfe4ee;border-radius:11px;background:#fff}.schedule-student-tools input{width:100%;border:0;outline:0;color:#30374d;background:transparent}.schedule-student-tools button,.schedule-group-members button{border:1px solid #dfe4ee;border-radius:10px;color:#596177;background:#fff;font-weight:750;cursor:pointer}.schedule-selected-students{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.schedule-selected-students button{display:flex;align-items:center;gap:5px;min-height:29px;padding:0 9px;border:1px solid #dbe1f5;border-radius:999px;color:#4f5fc4;background:#f4f6ff;font-size:11px;font-weight:750;cursor:pointer}.schedule-student-list{max-height:230px;overflow:auto}.schedule-student-list .schedule-member-item{grid-template-columns:auto minmax(0,1fr) auto}.schedule-student-list .schedule-member-item small{color:#99a0b1;font-size:10px}.schedule-group-editor{margin-top:14px;padding:14px;border:1px solid #dfe4f4;border-radius:14px;background:#fff;box-shadow:0 12px 30px #37416912}.schedule-group-editor-head button{border:0;color:#747c91;background:transparent;cursor:pointer}.schedule-group-editor>label{display:grid;gap:6px;margin-top:10px;color:#596177;font-size:11px;font-weight:800}.schedule-group-editor>label input{min-height:40px;padding:0 11px;border:1px solid #dfe4ee;border-radius:10px;outline:0}.schedule-group-members{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;color:#697187;font-size:11px}.schedule-group-existing{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.schedule-group-existing span{width:100%;color:#8a91a3;font-size:10px}.schedule-group-existing button{min-height:30px;padding:0 9px;border:1px solid #dfe4ee;border-radius:9px;background:#fff;cursor:pointer}.schedule-group-existing button.active{border-color:#8996e9;color:#4d5fd1;background:#f1f3ff}.schedule-attendance-shell{z-index:130}.schedule-attendance-modal{width:min(1040px,calc(100vw - 36px));max-height:92vh;padding:20px;overflow:hidden;border:1px solid #dfe4ee;border-radius:22px;background:#fff;box-shadow:0 28px 80px #252b4838}.schedule-attendance-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.schedule-attendance-meta span{display:flex;align-items:center;gap:6px;min-height:31px;padding:0 10px;border:1px solid #e3e7ef;border-radius:999px;color:#626a7e;background:#f8f9fc;font-size:11px}.schedule-attendance-toolbar{padding:11px 13px;border-radius:13px;background:#f4f6ff}.schedule-attendance-toolbar p{margin:0;color:#667087;font-size:12px}.schedule-attendance-list{display:grid;gap:8px;max-height:58vh;margin-top:12px;padding-right:4px;overflow:auto}.schedule-attendance-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(350px,1.65fr) minmax(170px,1fr);align-items:center;gap:10px;padding:11px;border:1px solid #e4e8f0;border-left:4px solid #b9c0cf;border-radius:13px;background:#fff}.schedule-attendance-row.state-present{border-left-color:#2ea36f}.schedule-attendance-row.state-absent{border-left-color:#e05252}.schedule-attendance-row.state-leave{border-left-color:#d89a25}.schedule-attendance-row.state-late{border-left-color:#8b6adf}.schedule-attendance-student{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:8px}.schedule-attendance-student>span{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:11px;color:#fff;background:#6877dc;font-weight:900}.schedule-attendance-student strong{min-width:0;color:#30374d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-attendance-student small{color:#939aac}.schedule-attendance-statuses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.schedule-attendance-statuses button{min-height:34px;border:1px solid #dfe4ee;border-radius:9px;color:#697187;background:#fafbfe;cursor:pointer}.schedule-attendance-statuses button.active{border-color:#8290e7;color:#4d5fd1;background:#eef1ff;font-weight:850}.schedule-attendance-row>input{min-height:38px;padding:0 10px;border:1px solid #dfe4ee;border-radius:9px;outline:0}.schedule-attendance-actions{margin-top:13px}.schedule-attendance-actions>span{color:#a06a13;font-size:11px}.schedule-attendance-entry{justify-content:space-between;gap:14px;padding:14px;border:1px solid #dfe5ff;border-radius:15px;background:#f7f8ff}.schedule-attendance-entry>div{display:grid;gap:6px}.schedule-attendance-entry>div>strong{display:flex;align-items:center;gap:7px;color:#3e4c92}.schedule-attendance-entry.is-locked{border-color:#e6e8ee;color:#7b8293;background:#f8f9fb}.schedule-attendance-entry.is-locked>div>strong{color:#687083}.schedule-attendance-entry.is-locked span{color:#8c93a3;font-size:12px}.schedule-attendance-badge,.schedule-report-status{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:850}.schedule-attendance-badge.state-complete,.schedule-report-status.state-present{color:#18744d;background:#eaf8f1}.schedule-attendance-badge.state-partial,.schedule-report-status.state-late{color:#7656c4;background:#f2edff}.schedule-attendance-badge.state-unmarked,.schedule-report-status.state-unmarked{color:#796521;background:#fff7d9}.schedule-report-status.state-absent{color:#b63e3e;background:#fff0f0}.schedule-report-status.state-leave{color:#956715;background:#fff6df}.schedule-report-panel{padding:20px;border:1px solid #e1e5ee;border-radius:20px;background:#fff;box-shadow:0 16px 45px #29335312}.schedule-report-head h3{margin:3px 0;color:#30374d;font-size:21px}.schedule-report-head small,.schedule-report-head p{color:#7c8497}.schedule-report-head p{margin:0;font-size:12px}.schedule-report-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) minmax(180px,1.4fr) auto;gap:8px;margin:16px 0;align-items:end}.schedule-report-filters label{display:grid;gap:5px;color:#697187;font-size:10px;font-weight:850}.schedule-report-filters input,.schedule-report-filters select{width:100%;min-height:40px;padding:0 9px;border:1px solid #dfe4ee;border-radius:10px;background:#fff}.schedule-report-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.schedule-report-summary article{padding:13px;border:1px solid #e4e8f0;border-radius:13px;background:#fafbfe}.schedule-report-summary span{color:#7a8295;font-size:11px}.schedule-report-summary strong{display:block;margin-top:5px;color:#30374d;font-size:21px}.schedule-report-warning{display:flex;align-items:center;gap:7px;margin-top:11px;padding:10px 12px;border-radius:11px;color:#8b651b;background:#fff8df;font-size:12px}.schedule-report-table-wrap{margin-top:13px;overflow:auto;border:1px solid #e4e8f0;border-radius:14px}.schedule-report-table{width:100%;min-width:920px;border-collapse:collapse}.schedule-report-table th,.schedule-report-table td{padding:11px 12px;border-bottom:1px solid #edf0f5;text-align:left;color:#50586c;font-size:12px;vertical-align:top}.schedule-report-table th{color:#697187;background:#f7f8fb;font-size:10px;letter-spacing:.03em}.schedule-report-table td small{display:block;margin-top:3px;color:#9299aa}.schedule-report-empty{padding:28px!important;text-align:center!important;color:#8a91a3!important}@media(max-width:1000px){.schedule-report-filters,.schedule-report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-attendance-row{grid-template-columns:1fr}.schedule-attendance-statuses{grid-template-columns:repeat(5,minmax(70px,1fr));overflow-x:auto}}@media(max-width:720px){.schedule-attendance-entry{align-items:stretch;flex-direction:column}.schedule-attendance-entry>button{width:100%;justify-content:center}.schedule-main-tabs{width:100%}.schedule-main-tabs button{flex:1;justify-content:center}.schedule-student-selector{padding:12px}.schedule-student-selector>header{align-items:flex-start;flex-direction:column}.schedule-student-tools{grid-template-columns:1fr 1fr}.schedule-student-tools label{grid-column:1/-1}.schedule-attendance-shell{align-items:flex-end;padding:0}.schedule-attendance-modal{width:100%;max-height:94vh;padding:15px;border-radius:22px 22px 0 0}.schedule-attendance-meta{gap:5px}.schedule-attendance-toolbar{align-items:flex-start;flex-direction:column}.schedule-attendance-list{max-height:56vh}.schedule-attendance-statuses{grid-template-columns:repeat(5,76px)}.schedule-attendance-actions{align-items:flex-start;flex-direction:column}.schedule-report-panel{padding:13px}.schedule-report-head{align-items:flex-start;flex-direction:column}.schedule-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-report-search{grid-column:1/-1}.schedule-report-filters>button{grid-column:1/-1}.schedule-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.tom-management-page{display:grid;gap:20px;padding-bottom:38px}.tom-management-page .tom-management-heading{padding:26px 30px;border:1px solid rgba(108,87,205,.15);border-radius:26px;background:radial-gradient(circle at 92% 15%,rgba(245,175,76,.2),transparent 34%),linear-gradient(135deg,#f7f5ff,#fff9f1);box-shadow:0 18px 52px #3f396914}.tom-management-page .tom-management-heading-title{display:flex;align-items:center;gap:17px}.tom-management-page .tom-management-heading-icon{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#755edc,#e4914b);color:#fff;box-shadow:0 14px 28px #6c51be38;font-size:25px}.tom-management-page .tom-management-heading-title>div>span{color:#6c58c4;font-size:12px;font-weight:850;letter-spacing:.12em}.tom-management-page .tom-management-heading h2{margin:5px 0 0;color:#292d46;font-size:clamp(25px,2.5vw,35px);line-height:1.18}.tom-management-page .tom-management-heading p{margin:8px 0 0;color:#70778d;line-height:1.7}.tom-management-page .tom-management-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.tom-management-page .tom-management-overview article{min-width:0;min-height:90px;display:flex;align-items:center;gap:13px;padding:16px;border:1px solid rgba(225,229,239,.95);border-radius:19px;background:#fff;box-shadow:0 12px 34px #3439550f}.tom-management-page .tom-management-overview article>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#f0efff;color:#6b59ce;font-size:19px}.tom-management-page .tom-management-overview article.enabled>span{background:#e9f8f1;color:#278766}.tom-management-page .tom-management-overview article.stock>span{background:#edf5ff;color:#3e79c8}.tom-management-page .tom-management-overview article.sold-out>span{background:#fff1eb;color:#cf674b}.tom-management-page .tom-management-overview article>div{display:grid;gap:3px}.tom-management-page .tom-management-overview small{color:#838a9e;font-size:12px}.tom-management-page .tom-management-overview strong{color:#2d344a;font-size:23px}.tom-management-page .tom-product-create-card{padding:23px;border:1px solid rgba(224,228,238,.96);border-radius:22px;background:#fff;box-shadow:0 14px 42px #32395412}.tom-management-page .tom-product-create-head,.tom-management-page .tom-product-create-head>div,.tom-management-page .tom-product-list-heading>div{display:flex;align-items:center;gap:12px}.tom-management-page .tom-product-create-head{justify-content:space-between;margin-bottom:18px}.tom-management-page .tom-product-create-head>div>span,.tom-management-page .tom-product-list-heading>div>span{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:#f1efff;color:#6a58cf;font-size:18px}.tom-management-page .tom-product-create-head h3,.tom-management-page .tom-product-list-heading h3{margin:0;color:#30364c}.tom-management-page .tom-product-create-head p,.tom-management-page .tom-product-list-heading p{margin:3px 0 0;color:#82899d;font-size:12px}.tom-management-page .tom-product-create-head>small{color:#9298a8;font-size:12px}.tom-management-page .tom-product-create-grid{gap:15px}.tom-management-page .tom-product-create-grid input,.tom-management-page .tom-product-edit-fields input{border-radius:12px}.tom-management-page .tom-product-image-dropzone{min-height:126px;border-radius:16px;background:#fafbfe}.tom-management-page .tom-product-image-dropzone>img{width:90px;height:90px;flex:0 0 auto;object-fit:contain}.tom-management-page .tom-product-image-drop-icon{font-size:22px}.tom-management-page .tom-product-primary-button,.tom-management-page .tom-product-delete-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px}.tom-management-page .tom-product-primary-button:focus-visible,.tom-management-page .tom-product-delete-button:focus-visible{outline:3px solid rgba(101,84,202,.2);outline-offset:2px}.tom-management-page .tom-product-list-heading{margin-top:4px}.tom-management-page .tom-product-management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tom-management-page .tom-product-management-card{min-width:0;overflow:hidden;padding:17px;border:1px solid rgba(224,228,238,.96);border-radius:21px;background:#fff;box-shadow:0 12px 36px #31385512}.tom-management-page .tom-product-management-media{position:relative;height:210px;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:linear-gradient(145deg,#f6f7fb,#eef2f8)}.tom-management-page .tom-product-management-media>img{width:100%;height:100%;max-width:100%;max-height:100%;padding:12px;object-fit:contain}.tom-management-page .tom-product-state-badge{position:absolute;top:11px;right:11px;min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:#535b70d6;color:#fff;font-size:11px;font-weight:850;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tom-management-page .tom-product-state-badge.enabled{background:#278766e0}.tom-management-page .tom-product-state-badge.empty{background:#be4c41e0}.tom-management-page .tom-product-edit-fields{margin-top:16px;gap:12px}.tom-management-page .tom-stock-editor{overflow:hidden;border-radius:12px}.tom-management-page .tom-stock-editor button{display:grid;place-items:center}.tom-management-page .tom-product-enabled-field{padding:10px 12px;border-radius:12px;background:#f7f8fb}.tom-management-page .tom-product-card-actions{margin-top:15px}@media(max-width:1000px){.tom-management-page .tom-management-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.tom-management-page .tom-product-management-grid{grid-template-columns:1fr}}@media(max-width:720px){.tom-management-page{gap:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.tom-management-page .tom-management-heading{padding:20px;border-radius:21px}.tom-management-page .tom-management-heading-title{align-items:flex-start;gap:12px}.tom-management-page .tom-management-heading-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.tom-management-page .tom-management-heading h2{font-size:24px}.tom-management-page .tom-management-heading p{font-size:13px}.tom-management-page .tom-management-overview{gap:9px}.tom-management-page .tom-management-overview article{min-height:78px;padding:12px;gap:9px;border-radius:16px}.tom-management-page .tom-management-overview article>span{width:36px;height:36px;border-radius:12px}.tom-management-page .tom-management-overview strong{font-size:19px}.tom-management-page .tom-product-create-card{padding:17px;border-radius:19px}.tom-management-page .tom-product-create-head{align-items:flex-start}.tom-management-page .tom-product-create-head>small{display:none}.tom-management-page .tom-product-create-grid{grid-template-columns:1fr}.tom-management-page .tom-product-list-heading{align-items:flex-start;gap:10px}.tom-management-page .tom-product-list-heading p{display:none}.tom-management-page .tom-product-management-card{padding:13px;border-radius:18px}.tom-management-page .tom-product-management-media{height:190px}.tom-management-page .tom-product-card-actions{flex-direction:column-reverse}.tom-management-page .tom-product-card-actions button{width:100%}}@media(max-width:520px){.schedule-page-content .schedule-page-hero{padding:19px 16px}.schedule-page-content .schedule-hero-copy{align-items:flex-start;gap:12px}.schedule-page-content .schedule-hero-icon{width:46px;height:46px;border-radius:14px}.schedule-page-content .schedule-hero-icon i{font-size:24px}.schedule-page-content .schedule-page-hero h2{font-size:23px}.schedule-page-content .schedule-page-hero p{font-size:11px}.schedule-page-content .schedule-calendar-cell{min-height:34px}.schedule-page-content .schedule-toolbar{grid-template-columns:1fr}.schedule-page-content .schedule-toolbar>div:first-child,.schedule-page-content .schedule-view-switch,.schedule-page-content .schedule-add-button{grid-column:1;grid-row:auto}.schedule-page-content .schedule-add-button{width:100%;min-height:42px}.schedule-page-content .schedule-editor-grid{grid-template-columns:1fr 1fr}.schedule-page-content .schedule-editor-title,.schedule-page-content .schedule-editor-date,.schedule-page-content .schedule-editor-location,.schedule-page-content .schedule-editor-repeat{grid-column:1 / -1}.schedule-page-content .schedule-member-list{grid-template-columns:1fr}.schedule-page-content .admin-actions{align-items:stretch;flex-direction:column}.schedule-page-content .admin-actions button{width:100%}.schedule-detail-modal{padding:18px;border-radius:20px}.schedule-detail-modal .schedule-detail-grid{grid-template-columns:1fr}.schedule-detail-modal .admin-actions .primary-button{width:100%}.schedule-confirm-modal{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:19px}.schedule-confirm-icon{width:46px;height:46px;border-radius:14px}.schedule-confirm-actions{display:grid;grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.schedule-page-content .schedule-loading-state i,.schedule-page-content .primary-button .hgi-loading-03,.schedule-confirm-actions .hgi-loading-03{animation:none}.schedule-page-content .schedule-calendar-cell,.schedule-page-content .schedule-event-card,.schedule-close-button{transition:none}}.analysis-page-content{min-width:0;overflow-x:clip}.analysis-page-content .analysis-modal{--analysis-accent: #6b66df;--analysis-accent-dark: #514bc2;--analysis-soft: #f1f0ff;--analysis-ink: #20243d;--analysis-muted: #737a92;--analysis-line: #e5e7f1;width:100%;max-width:1480px;max-height:none;margin:0 auto;padding:0 0 28px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--analysis-ink)}.analysis-page-content .analysis-page-hero{position:relative;min-height:156px;display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;padding:28px 30px;overflow:hidden;border:1px solid rgba(107,102,223,.16);border-radius:24px;background:radial-gradient(circle at 91% 22%,rgba(255,255,255,.75) 0 7%,transparent 7.5%),linear-gradient(135deg,#f5f3ff,#edf2ff 53%,#f8f9ff);box-shadow:0 18px 44px #3d448414}.analysis-page-content .analysis-page-hero:after{position:absolute;right:7%;bottom:-82px;width:230px;height:230px;border:36px solid rgba(107,102,223,.07);border-radius:50%;content:""}.analysis-page-content .analysis-title-wrap{position:relative;z-index:1;display:flex;align-items:center;gap:18px}.analysis-page-content .analysis-title-icon{display:grid;flex:0 0 auto;width:68px;height:68px;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(145deg,#817ced,#5b55d3);box-shadow:0 14px 28px #534cc740}.analysis-page-content .analysis-title-icon i{font-size:34px}.analysis-page-content .analysis-eyebrow{margin-bottom:5px;color:var(--analysis-accent-dark);font-size:11px;font-weight:900;letter-spacing:.12em}.analysis-page-content .analysis-page-hero h2{margin:0;color:var(--analysis-ink);font-size:clamp(29px,3vw,41px);letter-spacing:-.045em;line-height:1.13}.analysis-page-content .analysis-page-hero p{margin:9px 0 0;color:var(--analysis-muted);font-size:13px;line-height:1.6}.analysis-close-button{position:relative;z-index:2;display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid var(--analysis-line,#e5e7f1);border-radius:11px;color:var(--analysis-muted,#737a92);background:#ffffffe0;cursor:pointer}.analysis-close-button:hover{border-color:#ccd0eb;color:var(--analysis-accent-dark,#514bc2);background:#fff}.analysis-close-button:focus-visible{outline:3px solid rgba(107,102,223,.22);outline-offset:2px}.analysis-page-content .analysis-profile-section,.analysis-page-content .analysis-editor,.analysis-page-content .analysis-result{min-width:0;border:1px solid var(--analysis-line);border-radius:22px;background:#fff;box-shadow:0 12px 32px #2630540e}.analysis-page-content .analysis-profile-section{margin-bottom:14px;padding:19px}.analysis-page-content .analysis-section-heading,.analysis-page-content .analysis-preset-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.analysis-page-content .analysis-section-heading>span,.analysis-page-content .analysis-preset-heading>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:var(--analysis-accent-dark);background:var(--analysis-soft)}.analysis-page-content .analysis-section-heading>div,.analysis-page-content .analysis-preset-heading>div{display:grid;gap:2px}.analysis-page-content .analysis-section-heading small,.analysis-page-content .analysis-preset-heading small,.analysis-page-content .analysis-toolbar small{color:var(--analysis-muted);font-size:9px;font-weight:800;letter-spacing:.08em}.analysis-page-content .analysis-section-heading strong,.analysis-page-content .analysis-preset-heading strong{color:var(--analysis-ink);font-size:15px}.analysis-page-content .analysis-profile-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.analysis-page-content .analysis-profile-field{min-width:0;gap:6px}.analysis-page-content .analysis-profile-field span{color:var(--analysis-muted);font-size:10px;font-weight:800}.analysis-page-content .analysis-profile-field input,.analysis-page-content .analysis-row input,.analysis-page-content .analysis-preset-form input{width:100%;min-width:0;border:1px solid var(--analysis-line);border-radius:11px;color:var(--analysis-ink);background:#fbfcff;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.analysis-page-content .analysis-profile-field input{min-height:42px;padding:0 11px;font-size:11px}.analysis-page-content input:hover{border-color:#ccd0e7;background:#fff}.analysis-page-content input:focus{outline:0;border-color:var(--analysis-accent);background:#fff;box-shadow:0 0 0 3px #6b66df24}.analysis-page-content .analysis-tabs{display:flex;gap:7px;margin:0 0 14px;padding:5px;overflow-x:auto;border:1px solid var(--analysis-line);border-radius:14px;background:#f5f6fa;overscroll-behavior-inline:contain;scrollbar-width:thin}.analysis-page-content .analysis-tab{flex:0 0 auto;min-height:36px;padding:0 12px;border:0;border-radius:10px;color:#6f768c;background:transparent;font-size:10px;font-weight:800;white-space:nowrap}.analysis-page-content .analysis-tab:hover{color:var(--analysis-accent-dark);background:#ffffffb3}.analysis-page-content .analysis-tab.active{color:var(--analysis-accent-dark);background:#fff;box-shadow:0 5px 14px #26305414}.analysis-page-content .analysis-tab:focus-visible{outline:3px solid rgba(107,102,223,.2);outline-offset:1px}.analysis-page-content .analysis-body{display:block}.analysis-page-content .analysis-editor{padding:20px}.analysis-page-content .analysis-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.analysis-page-content .analysis-toolbar>div{display:flex;align-items:center;gap:10px}.analysis-page-content .analysis-toolbar>div>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:var(--analysis-accent-dark);background:var(--analysis-soft)}.analysis-page-content .analysis-toolbar>div>div{display:grid;gap:2px}.analysis-page-content .analysis-toolbar strong{color:var(--analysis-ink);font-size:17px}.analysis-page-content .analysis-toolbar>span{color:var(--analysis-muted);font-size:10px;font-weight:800}.analysis-page-content .analysis-batch-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:0 0 17px;padding:15px;border:1px solid #dcdcf7;border-radius:16px;background:linear-gradient(135deg,#f5f4ff,#fafbff)}.analysis-page-content .analysis-batch-copy{display:flex;align-items:center;gap:11px;min-width:0}.analysis-page-content .analysis-batch-icon{display:grid;flex:0 0 auto;width:43px;height:43px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#817ced,#5b55d3)}.analysis-page-content .analysis-batch-copy>div{display:grid;gap:4px}.analysis-page-content .analysis-batch-copy strong{color:var(--analysis-ink);font-size:14px}.analysis-page-content .analysis-batch-copy span:not(.analysis-batch-icon){color:var(--analysis-muted);font-size:10px;line-height:1.55}.analysis-page-content .analysis-batch-actions .primary-button,.analysis-page-content .analysis-editor-actions button,.analysis-page-content .analysis-preset-form button,.analysis-page-content .analysis-result-hero button,.analysis-page-content .analysis-practice-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.analysis-page-content .analysis-batch-actions .hgi-loading-03{animation:analysis-spin 1s linear infinite}.analysis-page-content .analysis-batch-success{grid-column:1/-1;padding:10px 12px;border-radius:10px;color:#14734d;background:#eaf8f1;font-size:11px;font-weight:700}.analysis-page-content .analysis-batch-panel .composer-error{grid-column:1/-1}.analysis-page-content .analysis-table{overflow:hidden;border:1px solid var(--analysis-line);border-radius:16px;background:#fff}.analysis-page-content .analysis-row{grid-template-columns:minmax(180px,2fr) minmax(90px,.7fr) minmax(90px,.7fr) 76px;gap:10px;min-width:0;padding:10px 12px;border-bottom:1px solid #f0f1f6}.analysis-page-content .analysis-row:last-child{border-bottom:0}.analysis-page-content .analysis-row-head{min-height:40px;color:var(--analysis-muted);background:#f7f8fc;font-size:9px;font-weight:900;letter-spacing:.06em}.analysis-page-content .analysis-row>label{display:block;min-width:0}.analysis-page-content .analysis-row>label>span{display:none}.analysis-page-content .analysis-row input{min-height:38px;padding:0 10px;font-size:11px}.analysis-page-content .analysis-row .danger{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:38px;border:1px solid #ffd6d6;border-radius:10px;color:#b42318;background:#fff6f6}.analysis-page-content .analysis-row .danger:hover{background:#ffeded}.analysis-page-content .analysis-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.analysis-page-content .analysis-submit{margin-left:auto;min-width:170px}.analysis-page-content button:focus-visible{outline:3px solid rgba(107,102,223,.22);outline-offset:2px}.analysis-page-content button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.analysis-page-content .analysis-notice{display:flex;align-items:center;gap:7px;margin:12px 0 0;padding:11px 13px;border:1px solid #ffd4b8;border-radius:11px;color:#9b5218;background:#fff8f0;font-size:11px;font-weight:700}.analysis-page-content .analysis-preset-panel{margin-top:18px;padding:17px;border:1px solid var(--analysis-line);border-radius:16px;background:#fafbfe}.analysis-page-content .analysis-preset-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.analysis-page-content .analysis-preset-form input{min-height:40px;padding:0 11px;font-size:11px}.analysis-page-content .analysis-preset-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.analysis-page-content .analysis-preset-item{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--analysis-line);border-radius:11px;background:#fff}.analysis-page-content .analysis-preset-item .danger{display:inline-flex;align-items:center;gap:4px;color:#b42318}.analysis-page-content .analysis-preset-empty{margin-top:11px;padding:12px;border-radius:10px;color:var(--analysis-muted);background:#f3f4f8;font-size:10px;line-height:1.55}.analysis-page-content .analysis-result-page,.analysis-page-content .analysis-result{width:100%;min-width:0;max-width:100%}.analysis-page-content .analysis-result-page,.analysis-page-content .analysis-result{grid-template-columns:minmax(0,1fr)}.analysis-page-content .analysis-result{padding:20px}.analysis-page-content .analysis-result-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 15px;padding:18px 20px;border:1px solid rgba(107,102,223,.15);border-radius:18px;background:linear-gradient(135deg,#f4f3ff,#f7f9ff)}.analysis-page-content .analysis-result-hero h3{margin:4px 0;color:var(--analysis-ink);font-size:21px}.analysis-page-content .analysis-result-hero p{margin:0;color:var(--analysis-muted);font-size:10px}.analysis-page-content .analysis-result-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.analysis-page-content .analysis-profile-card,.analysis-page-content .analysis-scoreboard,.analysis-page-content .analysis-radar-panel,.analysis-page-content .analysis-insight-panel,.analysis-page-content .analysis-detail-panel{border:1px solid var(--analysis-line);border-radius:17px;background:#fff;box-shadow:0 8px 22px #2630540b}.analysis-page-content .analysis-profile-card{padding:16px}.analysis-page-content .analysis-avatar{background:linear-gradient(145deg,#817ced,#5b55d3)}.analysis-page-content .analysis-scoreboard{overflow:hidden}.analysis-page-content .analysis-score-card{min-width:126px;padding:15px}.analysis-page-content .analysis-result-main{width:100%;min-width:0;max-width:100%;display:grid;grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);gap:14px;margin-top:14px}.analysis-page-content .analysis-result-main>*{min-width:0;max-width:100%}.analysis-page-content .analysis-radar-panel,.analysis-page-content .analysis-insight-panel{min-width:0;padding:17px}.analysis-page-content .radar-chart{display:block;width:100%;max-width:100%;height:auto;margin:6px auto 0;overflow:visible}.analysis-page-content .analysis-result-block{border-color:var(--analysis-line);border-radius:13px}.analysis-page-content .analysis-practice-actions{display:flex;flex-wrap:wrap;gap:7px}.analysis-page-content .analysis-detail-panel{margin-top:14px;padding:17px}.analysis-page-content .analysis-detail-row{grid-template-columns:minmax(180px,1fr) 150px 150px;min-width:0}.analysis-page-content .analysis-detail-row strong{overflow-wrap:anywhere}.analysis-confirm-shell{z-index:175}.analysis-confirm-modal{--analysis-ink:#20243d;--analysis-muted:#737a92;width:min(440px,calc(100vw - 28px));display:grid;grid-template-columns:54px minmax(0,1fr);gap:15px;padding:24px;border:1px solid #ffd2d2;border-radius:22px;background:#fff;box-shadow:0 28px 80px #2b18223d}.analysis-confirm-modal>span{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;color:#c12c24;background:#fff0f0}.analysis-confirm-modal>span i{font-size:27px}.analysis-confirm-modal small{color:#b42318;font-size:10px;font-weight:900;letter-spacing:.1em}.analysis-confirm-modal h3{margin:5px 0 7px;color:var(--analysis-ink);font-size:20px}.analysis-confirm-modal p{margin:0;color:var(--analysis-muted);font-size:11px;line-height:1.6}.analysis-confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.analysis-confirm-actions button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 15px;border:1px solid #e1e4ee;border-radius:11px;color:#626981;background:#fff;font-weight:800}.analysis-confirm-actions .danger{border-color:#d93a32;color:#fff;background:linear-gradient(145deg,#e34b43,#bd2b25)}@keyframes analysis-spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.analysis-page-content .analysis-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-page-content .analysis-result-main{grid-template-columns:1fr}}@media(max-width:760px){.physics-practice-category-grid{grid-template-columns:1fr}.analysis-page-content .analysis-modal{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.analysis-page-content .analysis-page-hero{min-height:0;padding:22px 19px;border-radius:20px}.analysis-page-content .analysis-title-icon{width:52px;height:52px;border-radius:16px}.analysis-page-content .analysis-title-icon i,.analysis-page-content .analysis-page-hero h2{font-size:27px}.analysis-page-content .analysis-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-page-content .analysis-profile-section,.analysis-page-content .analysis-editor,.analysis-page-content .analysis-result{padding:16px;border-radius:18px}.analysis-page-content .analysis-batch-panel{grid-template-columns:1fr}.analysis-page-content .analysis-batch-actions .primary-button{width:100%}.analysis-page-content .analysis-row-head{display:none}.analysis-page-content .analysis-row{grid-template-columns:minmax(0,1fr) minmax(76px,.42fr) minmax(76px,.42fr) 42px;padding:12px}.analysis-page-content .analysis-row>label{display:grid;gap:5px}.analysis-page-content .analysis-row>label>span{display:block;color:var(--analysis-muted);font-size:9px;font-weight:800}.analysis-page-content .analysis-row .danger{align-self:end;min-height:38px;padding:0}.analysis-page-content .analysis-row .danger span{display:none}.analysis-page-content .analysis-result-hero{grid-template-columns:1fr auto}.analysis-page-content .analysis-result-hero>div{grid-column:1/-1;grid-row:1}.analysis-page-content .analysis-result-hero>button:first-child{grid-column:1;grid-row:2;justify-self:start}.analysis-page-content .analysis-result-hero>button:last-child{grid-column:2;grid-row:2}.analysis-page-content .analysis-result-overview{grid-template-columns:1fr}.analysis-page-content .analysis-scoreboard{display:grid;grid-template-columns:repeat(3,1fr)}.analysis-page-content .analysis-score-card{min-width:0}.analysis-page-content .analysis-detail-list{overflow-x:auto}.analysis-page-content .analysis-detail-row{min-width:620px}}@media(max-width:520px){.analysis-page-content .analysis-page-hero{padding:19px 16px}.analysis-page-content .analysis-title-wrap{align-items:flex-start;gap:12px}.analysis-page-content .analysis-title-icon{width:46px;height:46px;border-radius:14px}.analysis-page-content .analysis-title-icon i{font-size:24px}.analysis-page-content .analysis-page-hero h2{font-size:23px}.analysis-page-content .analysis-page-hero p{font-size:11px}.analysis-page-content .analysis-profile-grid{grid-template-columns:1fr}.analysis-page-content .analysis-toolbar{align-items:flex-start}.analysis-page-content .analysis-row{grid-template-columns:minmax(0,1fr) minmax(72px,.42fr) minmax(72px,.42fr)}.analysis-page-content .analysis-row>label:first-child{grid-column:1/-1}.analysis-page-content .analysis-row .danger{grid-column:1/-1;width:100%}.analysis-page-content .analysis-row .danger span{display:inline}.analysis-page-content .analysis-editor-actions{display:grid;grid-template-columns:1fr 1fr}.analysis-page-content .analysis-editor-actions button{width:100%}.analysis-page-content .analysis-submit{grid-column:1/-1;margin:0}.analysis-page-content .analysis-preset-form{grid-template-columns:1fr}.analysis-page-content .analysis-preset-form button{width:100%}.analysis-page-content .analysis-result-hero{grid-template-columns:1fr}.analysis-page-content .analysis-result-hero>button:first-child,.analysis-page-content .analysis-result-hero>button:last-child{grid-column:1;width:100%}.analysis-page-content .analysis-scoreboard{grid-template-columns:1fr}.analysis-page-content .analysis-score-card{border-right:0;border-bottom:1px solid var(--analysis-line)}.analysis-page-content .analysis-score-card:last-child{border-bottom:0}.analysis-page-content .analysis-practice-actions{display:grid}.analysis-page-content .analysis-practice-actions button{width:100%}.analysis-confirm-modal{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:19px}.analysis-confirm-modal>span{width:46px;height:46px;border-radius:14px}.analysis-confirm-actions{display:grid;grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.analysis-page-content .analysis-batch-actions .hgi-loading-03{animation:none}}.tom-space-page{--tom-accent:#ef7d57;--tom-accent-dark:#c95c3b;--tom-soft:#fff3ed;--tom-ink:#28243a;--tom-muted:#797489;--tom-line:#ebe4e0;width:100%;max-width:1240px;min-width:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:18px;justify-items:stretch;overflow-x:clip}.tom-space-page-hero{grid-column:1/-1;position:relative;min-height:144px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;overflow:hidden;border:1px solid rgba(239,125,87,.17);border-radius:24px;background:radial-gradient(circle at 90% 16%,rgba(255,255,255,.8) 0 7%,transparent 7.5%),linear-gradient(135deg,#fff4ef,#fff8f1 55%,#f8f4ff);box-shadow:0 18px 44px #63413714}.tom-space-page-hero:after{position:absolute;right:7%;bottom:-92px;width:220px;height:220px;border:34px solid rgba(239,125,87,.07);border-radius:50%;content:""}.tom-space-page-title{position:relative;z-index:1;display:flex;align-items:center;gap:17px}.tom-space-page-title>span{display:grid;flex:0 0 auto;width:64px;height:64px;place-items:center;border-radius:19px;color:#fff;background:linear-gradient(145deg,#f49a75,#df6b48);box-shadow:0 14px 28px #d55d3938}.tom-space-page-title>span i{font-size:32px}.tom-space-page-title small{color:var(--tom-accent-dark);font-size:10px;font-weight:900;letter-spacing:.12em}.tom-space-page-title h2{margin:4px 0 6px;color:var(--tom-ink);font-size:clamp(28px,3vw,39px);letter-spacing:-.045em}.tom-space-page-title p{margin:0;color:var(--tom-muted);font-size:12px}.tom-space-page .tom-space-page-score{position:relative;z-index:1;width:auto;min-width:260px;min-height:70px;padding:12px 15px;border:1px solid rgba(239,125,87,.18);border-radius:16px;background:#ffffffe0;box-shadow:0 10px 25px #63413712}.tom-space-page .tom-space-page-score>span{color:var(--tom-ink);font-size:12px}.tom-space-page .tom-space-page-score small{color:var(--tom-muted);font-size:9px}.tom-space-page .tom-space-page-score strong{color:var(--tom-accent-dark);font-size:24px}.tom-space-page .tom-shop-button{display:grid;width:40px;height:40px;place-items:center;border:1px solid #f1d4ca;border-radius:12px;color:var(--tom-accent-dark);background:var(--tom-soft);font-size:0}.tom-space-page .tom-shop-button i{font-size:21px}.tom-cat-archive{grid-column:2;grid-row:2 / span 3;min-width:0;padding:18px;border:1px solid var(--tom-line);border-radius:22px;background:#fff;box-shadow:0 12px 32px #2630540e}.tom-cat-archive-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:13px}.tom-cat-archive-heading>div{display:grid;gap:3px}.tom-cat-archive-heading small{color:var(--tom-muted);font-size:9px;font-weight:900;letter-spacing:.09em}.tom-cat-archive-heading strong{color:var(--tom-ink);font-size:17px}.tom-cat-archive-heading>span{color:var(--tom-accent-dark);font-size:10px;font-weight:800}.tom-cat-archive-grid{display:grid;gap:9px}.tom-cat-card{width:100%;min-width:0;display:grid;grid-template-columns:70px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:9px;border:1px solid var(--tom-line);border-radius:15px;color:var(--tom-ink);background:#fbfbfd;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.tom-cat-card:hover:not(:disabled){transform:translateY(-1px);border-color:#f0c2b2;background:#fff8f4}.tom-cat-card.active{border-color:#efa88f;background:var(--tom-soft);box-shadow:0 8px 18px #d55d391a}.tom-cat-card:focus-visible{outline:3px solid rgba(239,125,87,.22);outline-offset:2px}.tom-cat-card:disabled{cursor:not-allowed}.tom-cat-card-media{position:relative;width:70px;height:70px;display:block;overflow:hidden;border-radius:12px;background:#f2f0ee}.tom-cat-card-media video{width:100%;height:100%;display:block;object-fit:cover}.tom-cat-card.locked .tom-cat-card-media video{filter:saturate(.45) brightness(.75)}.tom-cat-card-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#1f1b2647}.tom-cat-card-lock i{font-size:24px}.tom-cat-card-copy{min-width:0;display:grid;gap:4px}.tom-cat-card-copy strong{overflow:hidden;color:var(--tom-ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.tom-cat-card-copy small{color:var(--tom-muted);font-size:9px}.tom-cat-card>i{color:#aaa4b3;font-size:17px}.tom-space-page .tom-space-page-viewer{grid-column:1;width:100%;min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px}.tom-space-page .tom-space-page-stage{width:100%;min-width:0;max-height:none;aspect-ratio:16 / 10;border:1px solid rgba(239,125,87,.14);border-radius:22px;background:radial-gradient(circle at 50% 110%,#ffe9dd,#fff8f2 58%,#f5f0ff);box-shadow:0 18px 42px #4b37321c;cursor:pointer}.tom-space-page .tom-space-page-video{width:100%;height:100%;object-fit:contain;background:transparent}.tom-space-page .tom-space-page-fallback{width:100%;height:100%;display:grid;align-content:center;justify-items:center;gap:8px;color:var(--tom-muted);background:linear-gradient(145deg,#fff7f1,#f6f1ff)}.tom-space-page .tom-space-page-fallback i{color:var(--tom-accent);font-size:46px}.tom-space-page .tom-space-page-fallback strong{color:var(--tom-ink);font-size:19px}.tom-space-page .tom-space-page-fallback span{font-size:11px}.tom-space-page-stage-caption{position:absolute;left:15px;bottom:15px;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.75);border-radius:11px;color:#fff;background:#2d242f94;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tom-space-page-stage-caption span{font-size:10px;opacity:.78}.tom-space-page-stage-caption strong{font-size:11px}.tom-space-page .tom-space-page-nav{width:42px;height:42px;border-color:var(--tom-line);color:var(--tom-accent-dark);background:#fff;font-size:0}.tom-space-page .tom-space-page-nav i{font-size:20px}.tom-space-page .tom-space-page-lock-overlay span{color:var(--tom-accent-dark);font-size:0}.tom-space-page .tom-space-page-lock-overlay span i{font-size:22px}.tom-space-page .tom-growth-card{grid-column:1;width:100%;min-width:0;padding:15px 17px;border:1px solid #f0d8cf;border-radius:18px;background:linear-gradient(135deg,#fff8f4,#fbf9ff);box-shadow:0 10px 28px #4b37320f}.tom-space-page .tom-growth-heading span{color:var(--tom-ink);font-size:14px}.tom-space-page .tom-growth-heading strong{color:var(--tom-accent-dark);font-size:11px}.tom-space-page .tom-growth-track{height:12px;border:0;background:#eee9e6}.tom-space-page .tom-growth-fill{background:linear-gradient(90deg,#f6a17e,#e76e4b)}.tom-space-page .tom-growth-stage-button{min-height:32px;border-color:#f0d4ca;color:var(--tom-accent-dark);background:#fff;font-size:10px}.tom-space-page .tom-growth-stage-button.active{border-color:var(--tom-accent);color:#fff;background:linear-gradient(145deg,#f49a75,#df6b48)}.tom-space-page .tom-space-page-actions{grid-column:1;display:flex;min-height:56px;align-items:center;justify-content:center;gap:10px;padding:9px 13px;border:1px solid var(--tom-line);border-radius:17px;background:#fff;box-shadow:0 9px 24px #2630540b}.tom-space-page .tom-chicken-button,.tom-space-page .tom-unlock-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.tom-space-page .tom-chicken-button i,.tom-space-page .tom-unlock-button i{font-size:22px}.tom-space-page .tom-space-page-error{grid-column:1/-1;width:100%}.tom-shop-shell{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.tom-shop-modal{width:min(760px,calc(100vw - 28px));max-height:min(82vh,760px);display:grid;gap:10px;padding:20px;border:1px solid #eee4df;border-radius:23px;background:#fff;box-shadow:0 28px 80px #2b1f1f38}.tom-shop-modal header{position:sticky;top:-20px;z-index:2;padding:3px 0 13px;background:#fff}.tom-shop-modal h3{color:var(--tom-ink,#28243a);font-size:21px}.tom-shop-item{grid-template-columns:86px minmax(0,1fr) auto;min-width:0;gap:13px;padding:11px;border:1px solid #eee7e3;border-radius:15px;background:#fbfbfd}.tom-shop-item-icon,.tom-shop-image-wrap{width:86px;height:86px;min-width:0;overflow:hidden;border-radius:12px;background:#f3f1ef}.tom-shop-item-icon{display:grid;place-items:center;font-size:33px}.tom-shop-item-image{width:100%;height:100%;max-width:100%;max-height:100%;display:block;object-fit:contain;object-position:center}.tom-shop-image-wrap{position:relative;display:grid;place-items:center;padding:5px}.tom-shop-stock-badge{right:5px;bottom:5px;max-width:calc(100% - 10px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tom-shop-item>div:not(.tom-shop-image-wrap){min-width:0}.tom-shop-item strong{overflow-wrap:anywhere;color:var(--tom-ink,#28243a)}.tom-shop-item p{overflow-wrap:anywhere;color:var(--tom-muted,#797489)}.tom-shop-buy-button{flex:0 0 auto;min-width:88px}@media(max-width:900px){.tom-space-page{grid-template-columns:1fr}.tom-cat-archive{grid-column:1;grid-row:auto}.tom-cat-archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tom-cat-card{grid-template-columns:58px minmax(0,1fr)}.tom-cat-card-media{width:58px;height:58px}.tom-cat-card>i{display:none}}@media(max-width:620px){.tom-space-page{padding-bottom:calc(84px + env(safe-area-inset-bottom));gap:13px}.tom-space-page-hero{min-height:0;display:grid;padding:20px 17px;border-radius:20px}.tom-space-page-title{align-items:flex-start;gap:12px}.tom-space-page-title>span{width:48px;height:48px;border-radius:14px}.tom-space-page-title>span i{font-size:25px}.tom-space-page-title h2{font-size:24px}.tom-space-page-title p{font-size:10px}.tom-space-page .tom-space-page-score{width:100%;min-width:0;min-height:62px}.tom-cat-archive{padding:15px;border-radius:18px}.tom-cat-archive-grid{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.tom-cat-card{flex:0 0 220px;grid-template-columns:56px minmax(0,1fr)}.tom-cat-card-media{width:56px;height:56px}.tom-space-page .tom-space-page-viewer{grid-template-columns:34px minmax(0,1fr) 34px;gap:5px}.tom-space-page .tom-space-page-nav{width:32px;height:32px}.tom-space-page .tom-space-page-stage{aspect-ratio:4 / 5;border-radius:18px}.tom-space-page-stage-caption{left:10px;bottom:10px}.tom-space-page .tom-growth-card{padding:14px;border-radius:16px}.tom-space-page .tom-growth-heading{align-items:flex-start;flex-direction:column;gap:4px}.tom-space-page .tom-growth-stage-picker{flex-wrap:nowrap;overflow-x:auto}.tom-space-page .tom-growth-stage-button{flex:0 0 auto}.tom-shop-modal{max-height:86vh;padding:16px;border-radius:20px}.tom-shop-item{grid-template-columns:72px minmax(0,1fr)}.tom-shop-item-icon,.tom-shop-image-wrap{width:72px;height:72px}.tom-shop-buy-button{grid-column:1/-1;width:100%}}@media(prefers-reduced-motion:reduce){.tom-cat-card,.tom-space-page .tom-growth-fill{transition:none}}.tom-teacher-page{display:grid;gap:22px;padding-bottom:36px}.tom-teacher-page .tom-teacher-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid rgba(95,87,225,.16);border-radius:26px;background:radial-gradient(circle at 92% 12%,rgba(98,211,196,.26),transparent 34%),linear-gradient(135deg,#f6f5fffa,#eefbf9f5);box-shadow:0 18px 54px #41458017}.tom-teacher-page .tom-teacher-title{position:relative;z-index:1;display:flex;align-items:center;gap:18px;min-width:0}.tom-teacher-page .tom-teacher-title>span{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#6d5ce8,#4b91dc);color:#fff;box-shadow:0 14px 28px #5952d23d;font-size:25px}.tom-teacher-page .tom-teacher-title small{display:block;margin-bottom:4px;color:#6558ca;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.tom-teacher-page .tom-teacher-title h2{margin:0;color:#222947;font-size:clamp(24px,2.4vw,34px);line-height:1.18}.tom-teacher-page .tom-teacher-title p{max-width:680px;margin:8px 0 0;color:#66708c;line-height:1.7}.tom-teacher-page .tom-teacher-live{position:relative;z-index:1;flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:0 14px;border:1px solid rgba(58,144,124,.18);border-radius:999px;background:#ffffffc7;color:#236f62;font-size:13px;font-weight:800;white-space:nowrap}.tom-teacher-page .tom-teacher-live>span{width:9px;height:9px;border-radius:50%;background:#38b89c;box-shadow:0 0 0 5px #38b89c1f}.tom-teacher-page .tom-teacher-live.listening>span,.tom-teacher-page .tom-teacher-live.speaking>span{animation:tom-teacher-live-pulse 1.2s ease-in-out infinite}@keyframes tom-teacher-live-pulse{50%{box-shadow:0 0 0 9px #38b89c0a;transform:scale(.9)}}.tom-teacher-page .tom-teacher-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);align-items:stretch;gap:22px}.tom-teacher-page .tom-teacher-stage-card,.tom-teacher-page .tom-teacher-control-card,.tom-teacher-page .tom-chat-shell{border:1px solid rgba(224,228,239,.92);border-radius:26px;background:#fffffff5;box-shadow:0 18px 52px #363e6417}.tom-teacher-page .tom-teacher-stage-card{position:relative;min-width:0;min-height:520px;overflow:hidden;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 35%,#fffffff2,#eef7fcc7 48%,#e4ebfae6),#edf3fa}.tom-teacher-page .tom-video{width:100%;height:100%;min-height:474px;max-height:600px;border-radius:20px;object-fit:contain;background:transparent}.tom-teacher-page .tom-teacher-video-fallback{min-height:420px;display:grid;place-items:center;align-content:center;gap:10px;color:#65708a;text-align:center}.tom-teacher-page .tom-teacher-video-fallback i{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#6057dc1a;color:#6558d8;font-size:28px}.tom-teacher-page .tom-teacher-video-fallback strong{color:#303650;font-size:18px}.tom-teacher-page .tom-teacher-video-fallback span{font-size:14px}.tom-teacher-page .tom-stage-chip{position:absolute;top:18px;left:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#1f2945c2;color:#fff;font-size:13px;font-weight:800;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tom-teacher-page .tom-teacher-stage-note{position:absolute;right:18px;bottom:18px;z-index:2;display:flex;gap:8px}.tom-teacher-page .tom-teacher-stage-note span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#ffffffd6;color:#49536e;font-size:12px;font-weight:750;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tom-teacher-page .tom-teacher-control-card{min-width:0;min-height:520px;display:flex;flex-direction:column;justify-content:center;padding:34px}.tom-teacher-page .panel-kicker{color:#6558d5;font-size:12px;font-weight:850;letter-spacing:.1em}.tom-teacher-page .tom-teacher-control-card h1{margin:8px 0 0;color:#252b45;font-size:clamp(27px,2.8vw,40px);line-height:1.15}.tom-teacher-page .tom-teacher-intro{margin:12px 0 0;color:#69728b;line-height:1.75}.tom-teacher-page .tom-teacher-capabilities{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tom-teacher-page .tom-teacher-capabilities span{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border-radius:999px;background:#f2f1ff;color:#5b53b8;font-size:12px;font-weight:750}.tom-teacher-page .tom-voice-console{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:18px;margin-top:28px;padding:18px;border:1px solid rgba(99,87,216,.14);border-radius:22px;background:linear-gradient(145deg,#f8f7ff,#f2fbfa)}.tom-teacher-page .tom-mic-button{width:118px;min-height:112px;display:grid;place-items:center;align-content:center;gap:9px;border:0;border-radius:24px;background:linear-gradient(145deg,#6d5ce8,#4e80df);color:#fff;box-shadow:0 16px 30px #5c50d53d}.tom-teacher-page .tom-mic-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 38px #5c50d54d}.tom-teacher-page .tom-mic-button:active:not(:disabled){transform:translateY(0) scale(.98)}.tom-teacher-page .tom-mic-button:focus-visible{outline:3px solid rgba(95,87,225,.25);outline-offset:3px}.tom-teacher-page .tom-mic-button span{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:#ffffff29;font-size:20px}.tom-teacher-page .tom-mic-button.listening{background:linear-gradient(145deg,#ed6060,#ec8d45)}.tom-teacher-page .tom-mic-button.speaking{background:linear-gradient(145deg,#31a98f,#3f85d9)}.tom-teacher-page .tom-mic-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.tom-teacher-page .tom-voice-copy{min-width:0;display:grid;gap:7px}.tom-teacher-page .tom-voice-copy small{color:#7c82a0;font-size:11px;font-weight:800;letter-spacing:.08em}.tom-teacher-page .tom-voice-copy strong{color:#303650;font-size:15px;line-height:1.65;overflow-wrap:anywhere}.tom-teacher-page .tom-voice-copy span{color:#bd3e44;font-size:13px;line-height:1.5}.tom-teacher-page .tom-stop-speaking{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid rgba(209,67,71,.2);border-radius:10px;background:#fff;color:#b6363b;font-weight:750}.tom-teacher-page .tom-teacher-shortcut{display:flex;align-items:center;gap:7px;margin:14px 0 0;color:#858ba2;font-size:12px;line-height:1.5}.tom-teacher-page .tom-chat-shell{padding:22px 24px}.tom-teacher-page .tom-chat-shell.collapsed{padding:16px 20px}.tom-teacher-page .tom-chat-toggle{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0;border:0;background:transparent;color:#323850}.tom-teacher-page .tom-chat-toggle>span{display:flex;align-items:center;gap:12px;text-align:left}.tom-teacher-page .tom-chat-toggle>span>i{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:#f0efff;color:#6358d5;font-size:18px}.tom-teacher-page .tom-chat-toggle>span>span{display:grid;gap:3px}.tom-teacher-page .tom-chat-toggle>span strong{font-size:15px}.tom-teacher-page .tom-chat-toggle>span small{color:#858ba0;font-size:12px}.tom-teacher-page .tom-chat-toggle>strong{display:inline-flex;align-items:center;gap:6px;color:#6258ce;font-size:13px}.tom-teacher-page .tom-thread{max-height:400px;min-height:220px;margin:18px 0;padding:18px;border-radius:18px;background:#f7f8fc}.tom-teacher-page .tom-composer{display:grid;gap:12px}.tom-teacher-page .tom-composer textarea{min-height:112px;border-radius:17px;resize:vertical}.tom-teacher-page .tom-composer .primary-button{display:inline-flex;align-items:center;gap:7px}@media(max-width:1100px){.tom-teacher-page .tom-teacher-layout{grid-template-columns:1fr}.tom-teacher-page .tom-teacher-stage-card{min-height:460px}.tom-teacher-page .tom-video{min-height:414px;max-height:520px}.tom-teacher-page .tom-teacher-control-card{min-height:0}}@media(max-width:720px){.tom-teacher-page{gap:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.tom-teacher-page .tom-teacher-hero{align-items:flex-start;padding:20px;border-radius:21px}.tom-teacher-page .tom-teacher-title{align-items:flex-start;gap:12px}.tom-teacher-page .tom-teacher-title>span{width:44px;height:44px;border-radius:14px;font-size:21px}.tom-teacher-page .tom-teacher-title h2{font-size:24px}.tom-teacher-page .tom-teacher-title p{font-size:13px;line-height:1.6}.tom-teacher-page .tom-teacher-live{display:none}.tom-teacher-page .tom-teacher-layout{gap:14px}.tom-teacher-page .tom-teacher-stage-card{min-height:340px;padding:12px;border-radius:21px}.tom-teacher-page .tom-video{min-height:316px;max-height:390px;border-radius:16px}.tom-teacher-page .tom-stage-chip{top:12px;left:12px;min-height:34px;font-size:12px}.tom-teacher-page .tom-teacher-stage-note{right:12px;bottom:12px}.tom-teacher-page .tom-teacher-stage-note span{display:none}.tom-teacher-page .tom-teacher-stage-note span:first-child{display:inline-flex}.tom-teacher-page .tom-teacher-control-card{padding:22px 18px;border-radius:21px}.tom-teacher-page .tom-teacher-control-card h1{font-size:28px}.tom-teacher-page .tom-teacher-capabilities{margin-top:14px}.tom-teacher-page .tom-voice-console{grid-template-columns:96px minmax(0,1fr);gap:13px;margin-top:20px;padding:13px;border-radius:18px}.tom-teacher-page .tom-mic-button{width:96px;min-height:100px;border-radius:20px}.tom-teacher-page .tom-stop-speaking{grid-column:1 / -1}.tom-teacher-page .tom-teacher-shortcut{align-items:flex-start}.tom-teacher-page .tom-chat-shell,.tom-teacher-page .tom-chat-shell.collapsed{padding:14px;border-radius:21px}.tom-teacher-page .tom-chat-toggle>span small{display:none}.tom-teacher-page .tom-thread{min-height:180px;max-height:320px;padding:12px}.tom-teacher-page .composer-actions{align-items:stretch}.tom-teacher-page .composer-actions .primary-button{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.tom-teacher-page .tom-teacher-live>span,.tom-teacher-page .tom-mic-button{animation:none!important;transition:none!important}}.learning-monitor-page-content .learning-monitor-panel{display:grid;gap:20px;padding-bottom:38px}.learning-monitor-page-content .learning-monitor-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid rgba(66,125,209,.14);border-radius:26px;background:radial-gradient(circle at 90% 12%,rgba(91,207,183,.22),transparent 35%),linear-gradient(135deg,#f6f9ff,#f2fbf8);box-shadow:0 18px 52px #31466e14}.learning-monitor-page-content .learning-monitor-hero-title{display:flex;align-items:center;gap:17px;min-width:0}.learning-monitor-page-content .learning-monitor-hero-icon{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#4a78df,#42ae9a);color:#fff;box-shadow:0 14px 28px #3e76c038;font-size:25px}.learning-monitor-page-content .learning-monitor-hero .panel-kicker{color:#3374b9;font-size:12px;font-weight:850;letter-spacing:.12em}.learning-monitor-page-content .learning-monitor-hero h2{margin:5px 0 0;color:#222d47;font-size:clamp(25px,2.5vw,35px);line-height:1.18}.learning-monitor-page-content .learning-monitor-hero p{margin:8px 0 0;color:#68748e;line-height:1.7}.learning-monitor-page-content .learning-monitor-hero .ghost-chip{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid rgba(52,111,183,.18);border-radius:13px;background:#ffffffdb;color:#3370ae;font-weight:800;white-space:nowrap}.learning-monitor-page-content .learning-monitor-hero .ghost-chip:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #2e5b911f}.learning-monitor-page-content .learning-monitor-hero .ghost-chip:active:not(:disabled){transform:translateY(0)}.learning-monitor-page-content .learning-monitor-hero .ghost-chip:focus-visible{outline:3px solid rgba(53,117,188,.2);outline-offset:3px}.learning-monitor-page-content .learning-monitor-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.learning-monitor-page-content .learning-monitor-overview article{min-width:0;display:flex;align-items:center;gap:13px;min-height:92px;padding:17px;border:1px solid rgba(224,229,239,.96);border-radius:19px;background:#fff;box-shadow:0 12px 34px #2f3d5b0f}.learning-monitor-page-content .learning-monitor-overview article>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#edf3ff;color:#4776cf;font-size:19px}.learning-monitor-page-content .learning-monitor-overview article.done>span{background:#e8f8f1;color:#278568}.learning-monitor-page-content .learning-monitor-overview article.pending>span{background:#fff3e7;color:#d2782f}.learning-monitor-page-content .learning-monitor-overview article.date>span{background:#f2efff;color:#6b59cb}.learning-monitor-page-content .learning-monitor-overview article>div{min-width:0;display:grid;gap:3px}.learning-monitor-page-content .learning-monitor-overview small{color:#818aa0;font-size:12px}.learning-monitor-page-content .learning-monitor-overview strong{overflow:hidden;color:#283149;font-size:23px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.learning-monitor-page-content .learning-monitor-overview article.date strong{font-size:17px}.learning-monitor-page-content .learning-monitor-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid rgba(224,229,239,.96);border-radius:19px;background:#fff}.learning-monitor-page-content .learning-monitor-filter-block{display:grid;gap:8px}.learning-monitor-page-content .learning-monitor-filter-block>span{display:flex;align-items:center;gap:6px;color:#737d94;font-size:12px;font-weight:800}.learning-monitor-page-content .learning-monitor-filter-group{display:inline-flex;gap:5px;padding:4px;border-radius:13px;background:#f2f4f8}.learning-monitor-page-content .learning-monitor-filter-button{min-height:34px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:#687188;font-size:13px;font-weight:750}.learning-monitor-page-content .learning-monitor-filter-button:hover:not(.active){background:#ffffffb3;color:#3d4a66}.learning-monitor-page-content .learning-monitor-filter-button.active{background:#fff;color:#3f70c5;box-shadow:0 5px 14px #3554861a}.learning-monitor-page-content .learning-monitor-filter-button:focus-visible{outline:3px solid rgba(62,115,196,.18);outline-offset:2px}.learning-monitor-page-content .learning-monitor-card{overflow:hidden;border:1px solid rgba(224,229,239,.96);border-radius:22px;background:#fff;box-shadow:0 14px 42px #303e5b12}.learning-monitor-page-content .learning-monitor-card+.learning-monitor-card{margin-top:0}.learning-monitor-page-content .learning-monitor-card-head{padding:21px 23px;border-bottom:1px solid rgba(229,233,241,.88)}.learning-monitor-page-content .learning-monitor-card.collapsed .learning-monitor-card-head{border-bottom:0}.learning-monitor-page-content .learning-monitor-card-head h3{display:flex;align-items:center;gap:8px;margin:0;color:#2c344c}.learning-monitor-page-content .learning-monitor-card-head h3 i{color:#4a7fc5}.learning-monitor-page-content .learning-monitor-card-head p{margin:6px 0 0;color:#7b849a;line-height:1.55}.learning-monitor-page-content .learning-monitor-card-toggle:hover{background:#fafbfe}.learning-monitor-page-content .learning-monitor-card-toggle:focus-visible{outline:3px solid rgba(62,115,196,.18);outline-offset:-3px}.learning-monitor-page-content .learning-monitor-summary{min-width:105px}.learning-monitor-page-content .learning-monitor-table{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.learning-monitor-page-content .learning-monitor-row,.learning-monitor-page-content .learning-monitor-redemption-row,.learning-monitor-page-content .learning-monitor-point-row,.learning-monitor-page-content .learning-monitor-point-history-row{padding-right:22px;padding-left:22px}.learning-monitor-page-content .learning-monitor-row{min-width:720px}.learning-monitor-page-content .learning-monitor-redemption-row{min-width:820px}.learning-monitor-page-content .learning-monitor-point-row{min-width:1080px}.learning-monitor-page-content .learning-monitor-point-history-row{min-width:1120px}.learning-monitor-page-content .learning-monitor-row:not(.learning-monitor-row-head):hover,.learning-monitor-page-content .learning-monitor-redemption-row:not(.learning-monitor-row-head):hover,.learning-monitor-page-content .learning-monitor-point-row:not(.learning-monitor-row-head):hover,.learning-monitor-page-content .learning-monitor-point-history-row:not(.learning-monitor-row-head):hover{background:#fafcff}.learning-monitor-page-content .learning-monitor-point-tools{padding:18px 22px 0}.learning-monitor-page-content .learning-monitor-point-tools input{min-height:42px;border-radius:13px}.learning-monitor-page-content .learning-monitor-point-input{min-height:38px;border-radius:10px}.learning-monitor-page-content .learning-monitor-point-button{min-height:36px;border-radius:10px;font-weight:800}.learning-monitor-page-content .learning-monitor-point-button:focus-visible{outline:3px solid rgba(62,115,196,.18);outline-offset:2px}.learning-monitor-page-content .learning-monitor-point-history-head{padding-right:22px;padding-left:22px}@media(max-width:1000px){.learning-monitor-page-content .learning-monitor-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.learning-monitor-page-content .learning-monitor-panel{gap:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.learning-monitor-page-content .learning-monitor-hero{align-items:flex-start;padding:20px;border-radius:21px}.learning-monitor-page-content .learning-monitor-hero-title{align-items:flex-start;gap:12px}.learning-monitor-page-content .learning-monitor-hero-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.learning-monitor-page-content .learning-monitor-hero h2{font-size:24px}.learning-monitor-page-content .learning-monitor-hero p{font-size:13px}.learning-monitor-page-content .learning-monitor-hero .ghost-chip{min-width:42px;width:42px;padding:0;justify-content:center;font-size:0}.learning-monitor-page-content .learning-monitor-hero .ghost-chip i{font-size:17px}.learning-monitor-page-content .learning-monitor-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.learning-monitor-page-content .learning-monitor-overview article{min-height:78px;padding:12px;gap:9px;border-radius:16px}.learning-monitor-page-content .learning-monitor-overview article>span{width:36px;height:36px;border-radius:12px}.learning-monitor-page-content .learning-monitor-overview strong{font-size:19px}.learning-monitor-page-content .learning-monitor-overview article.date strong{font-size:13px}.learning-monitor-page-content .learning-monitor-toolbar{align-items:stretch;flex-direction:column;padding:13px;border-radius:17px}.learning-monitor-page-content .learning-monitor-filter-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.learning-monitor-page-content .learning-monitor-card{border-radius:19px}.learning-monitor-page-content .learning-monitor-card-head{align-items:flex-start;gap:12px;padding:17px}.learning-monitor-page-content .learning-monitor-card-head p{font-size:12px}.learning-monitor-page-content .learning-monitor-summary{min-width:74px}.learning-monitor-page-content .learning-monitor-caret{font-size:11px}.learning-monitor-page-content .learning-monitor-point-tools{padding:14px 14px 0}.learning-monitor-page-content .learning-monitor-point-history-head{padding-right:14px;padding-left:14px}}.vocabulary-page-content .vocabulary-modal{display:grid;gap:18px;padding-bottom:38px}.vocabulary-page-content .vocabulary-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid rgba(68,126,203,.15);border-radius:26px;background:radial-gradient(circle at 91% 12%,rgba(89,211,176,.22),transparent 34%),linear-gradient(135deg,#f4f8ff,#f0fbf6);box-shadow:0 18px 52px #30466c14}.vocabulary-page-content .vocabulary-hero-title{display:flex;align-items:center;gap:17px;min-width:0}.vocabulary-page-content .vocabulary-hero-icon{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#477fe0,#3eb291);color:#fff;box-shadow:0 14px 28px #3677be38;font-size:25px}.vocabulary-page-content .vocabulary-hero .panel-kicker{color:#3777bb;font-size:12px;font-weight:850;letter-spacing:.12em}.vocabulary-page-content .vocabulary-hero h2{margin:5px 0 0;color:#222d47;font-size:clamp(25px,2.5vw,35px);line-height:1.18}.vocabulary-page-content .vocabulary-hero p{margin:8px 0 0;color:#68748e;line-height:1.7}.vocabulary-page-content .vocabulary-head-actions{display:flex;gap:9px}.vocabulary-page-content .vocabulary-head-actions .ghost-chip{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 15px;border-radius:13px;background:#ffffffdb}.vocabulary-page-content .vocabulary-head-actions .ghost-chip:hover{transform:translateY(-1px);box-shadow:0 10px 22px #2f5d931f}.vocabulary-page-content .vocabulary-head-actions button:focus-visible{outline:3px solid rgba(54,116,186,.2);outline-offset:3px}.vocabulary-page-content .vocabulary-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.vocabulary-page-content .vocabulary-overview article{min-width:0;min-height:90px;display:flex;align-items:center;gap:13px;padding:16px;border:1px solid rgba(224,229,239,.96);border-radius:19px;background:#fff;box-shadow:0 12px 34px #2f3d5b0f}.vocabulary-page-content .vocabulary-overview article>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#edf3ff;color:#4776cf;font-size:19px}.vocabulary-page-content .vocabulary-overview article.known>span{background:#e8f8f1;color:#278568}.vocabulary-page-content .vocabulary-overview article.recognized>span{background:#fff5e7;color:#d18332}.vocabulary-page-content .vocabulary-overview article.streak>span{background:#fff0eb;color:#d66148}.vocabulary-page-content .vocabulary-overview article>div{min-width:0;display:grid;gap:3px}.vocabulary-page-content .vocabulary-overview small{color:#818aa0;font-size:12px}.vocabulary-page-content .vocabulary-overview strong{overflow:hidden;color:#283149;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.vocabulary-page-content .vocabulary-auth-note{display:flex;align-items:flex-start;gap:9px;padding:13px 15px;border:1px solid rgba(67,125,203,.14);border-radius:15px;background:#f3f7fd;color:#5d6f89;line-height:1.6}.vocabulary-page-content .vocabulary-auth-note i{flex:0 0 auto;margin-top:3px;color:#3d7bc4}.vocabulary-page-content .vocabulary-study-toolbar{padding:17px 18px;border:1px solid rgba(224,229,239,.96);border-radius:18px;background:#fff}.vocabulary-page-content .vocabulary-study-toolbar label{display:grid;gap:8px;color:#727d94;font-size:12px;font-weight:800}.vocabulary-page-content .vocabulary-study-toolbar label>span{display:inline-flex;align-items:center;gap:6px}.vocabulary-page-content .vocabulary-study-toolbar select{min-height:44px;border-radius:13px}.vocabulary-page-content .vocabulary-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:6px;border-radius:17px;background:#eef1f6}.vocabulary-page-content .vocabulary-tab{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:12px;background:transparent;color:#68738b;font-weight:800}.vocabulary-page-content .vocabulary-tab:hover:not(.active){background:#ffffffa6;color:#3c4a67}.vocabulary-page-content .vocabulary-tab.active{background:#fff;color:#3d72c4;box-shadow:0 7px 18px #364c741a}.vocabulary-page-content .vocabulary-tab:focus-visible{outline:3px solid rgba(62,115,196,.18);outline-offset:2px}.vocabulary-page-content .vocabulary-card-panel,.vocabulary-page-content .vocabulary-mastered-panel{border:1px solid rgba(224,229,239,.96);border-radius:23px;background:#fff;box-shadow:0 16px 46px #303e5b14}.vocabulary-page-content .vocabulary-card-panel{padding:24px}.vocabulary-page-content .vocabulary-flashcard,.vocabulary-page-content .vocabulary-dictation-card{min-height:340px;border:1px solid rgba(62,116,194,.14);border-radius:24px;background:radial-gradient(circle at 85% 15%,rgba(72,188,157,.15),transparent 32%),linear-gradient(145deg,#f8faff,#f3fbf8)}.vocabulary-page-content .vocabulary-flashcard:hover{transform:translateY(-2px);box-shadow:0 18px 44px #3253801f}.vocabulary-page-content .vocabulary-flashcard:focus-visible{outline:3px solid rgba(62,115,196,.2);outline-offset:3px}.vocabulary-page-content .vocabulary-flashcard strong,.vocabulary-page-content .vocabulary-dictation-card strong{max-width:88%;overflow-wrap:anywhere;font-size:clamp(32px,5vw,54px)}.vocabulary-page-content .vocabulary-speak-button{display:grid;place-items:center}.vocabulary-page-content .vocabulary-actions{gap:10px;margin-top:18px}.vocabulary-page-content .vocabulary-actions button{min-height:43px;border-radius:12px}.vocabulary-page-content .vocabulary-actions button:focus-visible{outline:3px solid rgba(62,115,196,.18);outline-offset:2px}.vocabulary-page-content .vocabulary-practice-progress,.vocabulary-page-content .vocabulary-match-head{padding:11px 14px;border-radius:13px;background:#f1f5fb;color:#4773b2;font-weight:850}.vocabulary-page-content .vocabulary-dictation-form input,.vocabulary-page-content .vocabulary-dictation-form button{min-height:48px;border-radius:13px}.vocabulary-page-content .vocabulary-match-grid{gap:13px}.vocabulary-page-content .vocabulary-match-item{min-height:48px;border-radius:13px;line-height:1.45;overflow-wrap:anywhere}.vocabulary-page-content .vocabulary-match-item:focus-visible{outline:3px solid rgba(62,115,196,.18);outline-offset:2px}.vocabulary-page-content .vocabulary-mastered-panel{padding:22px}.vocabulary-page-content .vocabulary-mastered-item{border-radius:14px}@media(max-width:1000px){.vocabulary-page-content .vocabulary-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.vocabulary-page-content .vocabulary-modal{gap:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.vocabulary-page-content .vocabulary-hero{align-items:flex-start;padding:20px;border-radius:21px}.vocabulary-page-content .vocabulary-hero-title{align-items:flex-start;gap:12px}.vocabulary-page-content .vocabulary-hero-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.vocabulary-page-content .vocabulary-hero h2{font-size:24px}.vocabulary-page-content .vocabulary-hero p{font-size:13px}.vocabulary-page-content .vocabulary-head-actions .ghost-chip{min-width:42px;width:42px;padding:0;justify-content:center;font-size:0}.vocabulary-page-content .vocabulary-head-actions .ghost-chip i{font-size:18px}.vocabulary-page-content .vocabulary-overview{gap:9px}.vocabulary-page-content .vocabulary-overview article{min-height:78px;padding:12px;gap:9px;border-radius:16px}.vocabulary-page-content .vocabulary-overview article>span{width:36px;height:36px;border-radius:12px}.vocabulary-page-content .vocabulary-overview strong{font-size:19px}.vocabulary-page-content .vocabulary-study-toolbar{padding:13px;border-radius:16px}.vocabulary-page-content .vocabulary-card-panel,.vocabulary-page-content .vocabulary-mastered-panel{padding:14px;border-radius:20px}.vocabulary-page-content .vocabulary-flashcard,.vocabulary-page-content .vocabulary-dictation-card{min-height:280px;border-radius:19px}.vocabulary-page-content .vocabulary-flashcard strong,.vocabulary-page-content .vocabulary-dictation-card strong{font-size:clamp(29px,10vw,42px)}.vocabulary-page-content .vocabulary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.vocabulary-page-content .vocabulary-actions .primary-button{grid-column:1 / -1}.vocabulary-page-content .vocabulary-dictation-form{grid-template-columns:1fr}.vocabulary-page-content .vocabulary-match-grid{gap:8px}.vocabulary-page-content .vocabulary-match-item{min-height:46px;padding:10px;font-size:13px}.vocabulary-page-content .vocabulary-mastered-head{align-items:flex-start;flex-direction:column;gap:12px}.vocabulary-page-content .vocabulary-record-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}.chinese-practice-hub{display:grid;gap:20px;padding-bottom:38px}.chinese-practice-hub .chinese-practice-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid rgba(185,77,84,.14);border-radius:26px;background:radial-gradient(circle at 90% 15%,rgba(238,181,90,.2),transparent 34%),linear-gradient(135deg,#fff6f5,#fffaf0);box-shadow:0 18px 52px #61373914}.chinese-practice-hub .chinese-practice-hero>div{display:flex;align-items:center;gap:17px;min-width:0}.chinese-practice-hub .chinese-practice-hero-icon{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#c95f68,#d69a4b);color:#fff;box-shadow:0 14px 28px #b04a5238;font-size:25px}.chinese-practice-hub .chinese-practice-hero .panel-kicker{color:#ad5059;font-size:12px;font-weight:850;letter-spacing:.12em}.chinese-practice-hub .chinese-practice-hero h2{margin:5px 0 0;color:#392a31;font-size:clamp(25px,2.5vw,35px);line-height:1.18}.chinese-practice-hub .chinese-practice-hero p{margin:8px 0 0;color:#796b70;line-height:1.7}.chinese-practice-hub .chinese-practice-hero-badge{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid rgba(176,82,90,.14);border-radius:999px;background:#ffffffd1;color:#a14e56;font-size:13px;font-weight:800;white-space:nowrap}.chinese-practice-hub .chinese-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chinese-practice-hub .chinese-practice-card{min-height:210px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;padding:25px;border:1px solid rgba(226,222,225,.95);border-radius:23px;background:#fff;box-shadow:0 15px 44px #4a373c14;text-align:left}.chinese-practice-hub .chinese-practice-card:after{display:none}.chinese-practice-hub .chinese-practice-card:hover{transform:translateY(-3px);box-shadow:0 22px 52px #4a373c21}.chinese-practice-hub .chinese-practice-card:focus-visible{outline:3px solid rgba(185,77,84,.2);outline-offset:3px}.chinese-practice-hub .chinese-practice-card-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;font-size:25px}.chinese-practice-hub .dictation .chinese-practice-card-icon{background:#fff0ed;color:#be5a61}.chinese-practice-hub .recitation .chinese-practice-card-icon{background:#f2efff;color:#705fca}.chinese-practice-hub .chinese-practice-card>div{display:grid;gap:5px}.chinese-practice-hub .chinese-practice-card small{color:#9b7376;font-size:11px;font-weight:850;letter-spacing:.08em}.chinese-practice-hub .chinese-practice-card strong{color:#352f3b;font-size:23px}.chinese-practice-hub .chinese-practice-card>div>span{color:#7d7784;font-size:14px;line-height:1.65}.chinese-practice-hub .chinese-practice-card>i{color:#a09aaa;font-size:20px}.classical-dictation-page-content .classical-dictation-modal{display:grid;gap:18px;padding-bottom:38px}.classical-dictation-page-content .classical-dictation-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid rgba(185,77,84,.14);border-radius:26px;background:radial-gradient(circle at 92% 12%,rgba(236,177,82,.18),transparent 34%),linear-gradient(135deg,#fff6f5,#fffaf0);box-shadow:0 18px 52px #61373914}.classical-dictation-page-content .classical-dictation-hero-title{display:flex;align-items:center;gap:17px;min-width:0}.classical-dictation-page-content .classical-dictation-hero-icon{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#c85e67,#d59647);color:#fff;box-shadow:0 14px 28px #b04a5238;font-size:25px}.classical-dictation-page-content .classical-dictation-hero .panel-kicker{color:#ad5059;font-size:12px;font-weight:850;letter-spacing:.12em}.classical-dictation-page-content .classical-dictation-hero h2{margin:5px 0 0;color:#392a31;font-size:clamp(25px,2.5vw,35px);line-height:1.18}.classical-dictation-page-content .classical-dictation-hero p{margin:8px 0 0;color:#796b70;line-height:1.7}.classical-dictation-page-content .classical-dictation-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.classical-dictation-page-content .classical-dictation-overview article{min-height:86px;display:flex;align-items:center;gap:13px;padding:16px;border:1px solid rgba(225,229,239,.95);border-radius:19px;background:#fff;box-shadow:0 12px 34px #4132370f}.classical-dictation-page-content .classical-dictation-overview article>span{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#fff0ed;color:#bd5860;font-size:19px}.classical-dictation-page-content .classical-dictation-overview article.groups>span{background:#f2efff;color:#705fc9}.classical-dictation-page-content .classical-dictation-overview article.streak>span{background:#fff4e8;color:#d17b32}.classical-dictation-page-content .classical-dictation-overview article>div{display:grid;gap:3px}.classical-dictation-page-content .classical-dictation-overview small{color:#868c9d;font-size:12px}.classical-dictation-page-content .classical-dictation-overview strong{color:#342f3d;font-size:22px}.classical-dictation-page-content .classical-dictation-layout{grid-template-columns:1fr}.classical-dictation-page-content .classical-dictation-library,.classical-dictation-page-content .classical-dictation-stage{border:1px solid rgba(225,226,235,.96);border-radius:23px;background:#fff;box-shadow:0 16px 46px #44353a14}.classical-dictation-page-content .classical-dictation-library{max-height:none;padding:22px}.classical-dictation-page-content .recitation-library-head{padding-bottom:17px;border-bottom:1px solid #ececf2}.classical-dictation-page-content .recitation-lesson-group{overflow:hidden;border:1px solid #ebeaf0;border-radius:16px;background:#fafbfc}.classical-dictation-page-content .recitation-lesson-group+.recitation-lesson-group{margin-top:10px}.classical-dictation-page-content .recitation-lesson-group-toggle{min-height:50px;padding:0 15px}.classical-dictation-page-content .recitation-lesson-card{border-radius:14px;background:#fff}.classical-dictation-page-content .recitation-lesson-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px #4030351a}.classical-dictation-page-content .recitation-lesson-card:focus-visible{outline:3px solid rgba(185,77,84,.18);outline-offset:2px}.classical-dictation-page-content .classical-dictation-stage{padding:24px}.classical-dictation-page-content .classical-dictation-stage-head{align-items:flex-start;margin-bottom:18px}.classical-dictation-page-content .classical-dictation-stage-head h3{margin:5px 0 0;font-size:25px;color:#372f3b}.classical-dictation-page-content .classical-dictation-stage-head p{margin:7px 0 0;color:#85808c;font-size:13px}.classical-dictation-page-content .classical-dictation-stage-actions button{display:inline-flex;align-items:center;gap:6px;border-radius:11px}.classical-dictation-page-content .classical-dictation-paper{padding:28px;border:1px solid rgba(212,199,190,.7);border-radius:18px;background:#fffdf8;box-shadow:inset 0 0 0 5px #f7efe199}.classical-dictation-page-content .classical-dictation-sentence{font-family:STKaiti,KaiTi,Microsoft YaHei,sans-serif;font-size:20px;line-height:2.25}.classical-dictation-page-content .classical-dictation-blank{min-width:120px;border-radius:9px}.classical-dictation-page-content .classical-dictation-blank:focus-visible{outline:3px solid rgba(185,77,84,.16);outline-offset:2px}.classical-dictation-page-content .classical-dictation-actions{align-items:center;margin-top:18px}@media(max-width:720px){.chinese-practice-hub,.classical-dictation-page-content .classical-dictation-modal{gap:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.chinese-practice-hub .chinese-practice-hero,.classical-dictation-page-content .classical-dictation-hero{align-items:flex-start;padding:20px;border-radius:21px}.chinese-practice-hub .chinese-practice-hero>div,.classical-dictation-page-content .classical-dictation-hero-title{align-items:flex-start;gap:12px}.chinese-practice-hub .chinese-practice-hero-icon,.classical-dictation-page-content .classical-dictation-hero-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.chinese-practice-hub .chinese-practice-hero h2,.classical-dictation-page-content .classical-dictation-hero h2{font-size:24px}.chinese-practice-hub .chinese-practice-hero p,.classical-dictation-page-content .classical-dictation-hero p{font-size:13px}.chinese-practice-hub .chinese-practice-hero-badge{display:none}.chinese-practice-hub .chinese-practice-grid{grid-template-columns:1fr;gap:10px}.chinese-practice-hub .chinese-practice-card{min-height:145px;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;padding:18px;border-radius:19px}.chinese-practice-hub .chinese-practice-card-icon{width:48px;height:48px;border-radius:15px;font-size:21px}.chinese-practice-hub .chinese-practice-card strong{font-size:19px}.classical-dictation-page-content .classical-dictation-overview{gap:8px}.classical-dictation-page-content .classical-dictation-overview article{min-height:76px;padding:11px;gap:8px;border-radius:15px}.classical-dictation-page-content .classical-dictation-overview article>span{width:34px;height:34px;border-radius:11px}.classical-dictation-page-content .classical-dictation-overview strong{font-size:17px}.classical-dictation-page-content .classical-dictation-library,.classical-dictation-page-content .classical-dictation-stage{padding:14px;border-radius:19px}.classical-dictation-page-content .classical-dictation-stage-head{flex-direction:column;gap:12px}.classical-dictation-page-content .classical-dictation-stage-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.classical-dictation-page-content .classical-dictation-stage-actions button{justify-content:center}.classical-dictation-page-content .classical-dictation-paper{padding:18px 14px;border-radius:15px}.classical-dictation-page-content .classical-dictation-sentence{font-size:17px;line-height:2.35}.classical-dictation-page-content .classical-dictation-blank{min-width:88px;max-width:150px}.classical-dictation-page-content .classical-dictation-actions{grid-template-columns:1fr 1fr}.classical-dictation-page-content .classical-dictation-progress{grid-column:1 / -1}}.recitation-page-content .recitation-modal{display:grid;gap:18px;padding-bottom:38px}.recitation-page-content .recitation-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid rgba(116,91,202,.14);border-radius:26px;background:radial-gradient(circle at 92% 12%,rgba(80,188,164,.2),transparent 34%),linear-gradient(135deg,#f7f4ff,#f1fbf7);box-shadow:0 18px 52px #3f376814}.recitation-page-content .recitation-hero-title{display:flex;align-items:center;gap:17px;min-width:0}.recitation-page-content .recitation-hero-icon{width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#725ed2,#3fa98e);color:#fff;box-shadow:0 14px 28px #634fbc38;font-size:25px}.recitation-page-content .recitation-hero .auth-badge{width:max-content;background:#eeeaff;color:#6856c1}.recitation-page-content .recitation-hero h2{margin:6px 0 0;color:#292d46;font-size:clamp(25px,2.5vw,35px);line-height:1.18}.recitation-page-content .recitation-hero p{margin:8px 0 0;color:#70778d;line-height:1.7}.recitation-page-content .recitation-head-actions button,.recitation-page-content .recitation-stage-nav button,.recitation-page-content .recitation-stage-actions button,.recitation-page-content .recitation-article-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px}.recitation-page-content .recitation-head-actions button:focus-visible,.recitation-page-content button:focus-visible{outline:3px solid rgba(104,83,194,.2);outline-offset:2px}.recitation-page-content .recitation-layout{grid-template-columns:1fr}.recitation-page-content .recitation-editor-panel,.recitation-page-content .recitation-stage-panel{min-width:0;border:1px solid rgba(224,226,237,.96);border-radius:23px;background:#fff;box-shadow:0 16px 46px #37355214}.recitation-page-content .recitation-editor-panel{padding:22px}.recitation-page-content .recitation-library-head{padding-bottom:17px;border-bottom:1px solid #ececf2}.recitation-page-content .recitation-lesson-group{overflow:hidden;border:1px solid #ebeaf1;border-radius:16px;background:#fafbfc}.recitation-page-content .recitation-lesson-group+.recitation-lesson-group{margin-top:10px}.recitation-page-content .recitation-lesson-group-toggle{min-height:50px;padding:0 15px}.recitation-page-content .recitation-lesson-card{border-radius:14px;background:#fff}.recitation-page-content .recitation-lesson-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px #3c355b1a}.recitation-page-content .recitation-stage-panel{padding:24px}.recitation-page-content .recitation-stage-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid #ececf2}.recitation-page-content .recitation-stage-nav>span{color:#757c90;font-size:13px}.recitation-page-content .recitation-stage-header{align-items:flex-start;margin-top:20px;padding:21px;border:1px solid #e8e7ef;border-radius:19px;background:linear-gradient(145deg,#faf9ff,#f5fbf8)}.recitation-page-content .recitation-stage-title h3{font-size:28px;color:#302d42}.recitation-page-content .recitation-control-actions{display:flex;flex-wrap:wrap;gap:8px}.recitation-page-content .recitation-control-actions .primary-button{min-height:44px}.recitation-page-content .recitation-device-panel{padding:13px;border-radius:14px;background:#fff}.recitation-page-content .recitation-device-field select{min-height:42px;border-radius:11px}.recitation-page-content .recitation-chip{border-radius:999px}.recitation-page-content .recitation-status-strip{margin-top:14px;padding:14px 16px;border-radius:15px;background:#f6f7fb}.recitation-page-content .recitation-debug-panel{margin-top:14px;border-radius:18px}.recitation-page-content .recitation-article-panel{margin-top:18px;padding:22px;border:1px solid rgba(211,203,190,.72);border-radius:19px;background:#fffdf8;box-shadow:inset 0 0 0 5px #f7f0e38c}.recitation-page-content .recitation-article-content{font-family:STKaiti,KaiTi,Microsoft YaHei,sans-serif;font-size:19px;line-height:2.1}.recitation-page-content .recitation-article-sentence{border-radius:8px}@media(max-width:720px){.recitation-page-content .recitation-modal{gap:14px;padding-bottom:calc(96px + env(safe-area-inset-bottom))}.recitation-page-content .recitation-hero{align-items:flex-start;padding:20px;border-radius:21px}.recitation-page-content .recitation-hero-title{align-items:flex-start;gap:12px}.recitation-page-content .recitation-hero-icon{width:44px;height:44px;border-radius:14px;font-size:20px}.recitation-page-content .recitation-hero h2{font-size:24px}.recitation-page-content .recitation-hero p{font-size:13px}.recitation-page-content .recitation-head-actions .ghost-chip{width:42px;min-width:42px;padding:0;font-size:0}.recitation-page-content .recitation-head-actions .ghost-chip i{font-size:18px}.recitation-page-content .recitation-editor-panel,.recitation-page-content .recitation-stage-panel{padding:14px;border-radius:19px}.recitation-page-content .recitation-stage-nav{align-items:flex-start;flex-direction:column}.recitation-page-content .recitation-stage-header{padding:15px}.recitation-page-content .recitation-stage-title h3{font-size:24px}.recitation-page-content .recitation-stage-actions{width:100%}.recitation-page-content .recitation-control-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.recitation-page-content .recitation-control-actions .primary-button{grid-column:1 / -1}.recitation-page-content .recitation-device-panel{grid-template-columns:1fr}.recitation-page-content .recitation-device-actions button{width:100%}.recitation-page-content .recitation-chip-row{flex-wrap:wrap}.recitation-page-content .recitation-article-panel{padding:17px 13px;border-radius:16px}.recitation-page-content .recitation-article-content{font-size:17px;line-height:2.2}}.modal-shell{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#181f346b}.auth-modal{position:relative;width:min(430px,calc(100vw - 30px));padding:30px;border:1px solid rgba(224,228,239,.96);border-radius:26px;background:#fff;box-shadow:0 28px 80px #1920373d}.auth-close-button{position:absolute;top:16px;right:16px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:12px;background:#f3f5f9;color:#6f778b;font-size:17px}.auth-close-button:hover{background:#eceff5;color:#353d53}.auth-close-button:focus-visible{outline:3px solid rgba(63,112,187,.2);outline-offset:2px}.login-brand-wrap{display:flex;align-items:center;gap:14px;padding-right:38px}.login-brand-logo{width:70px;height:70px;object-fit:contain;border-radius:20px;background:linear-gradient(145deg,#f4f3ff,#eef9f6)}.login-brand-wrap>div{display:grid;gap:6px}.login-brand-wrap p{margin:0;color:#7a8296;font-size:12px;line-height:1.5}.auth-modal h2{margin:25px 0 20px;color:#293149;font-size:28px}.auth-field>span{display:inline-flex;align-items:center;gap:6px;color:#68738a;font-weight:800}.auth-field input{min-height:48px;border-radius:13px}.auth-field input:focus{border-color:#507bd1;box-shadow:0 0 0 3px #4674c71f}.auth-submit{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:13px;background:linear-gradient(135deg,#526fd1,#488fca);font-weight:850}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #4666be38}.auth-submit:focus-visible,.auth-switch:focus-visible{outline:3px solid rgba(63,112,187,.2);outline-offset:2px}.auth-error{padding:11px 13px;border-radius:12px;background:#fff0f0;color:#b64349;line-height:1.5}.checkin-modal{width:min(760px,calc(100vw - 30px));overflow:hidden;border:1px solid rgba(224,228,239,.96);border-radius:26px;background:#f8f9fc;box-shadow:0 28px 80px #1920373d}.checkin-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;background:linear-gradient(135deg,#f5f3ff,#effaf6)}.checkin-modal-title{display:flex;align-items:center;gap:13px}.checkin-modal-title>span{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#6e5bd3,#3ca88d);color:#fff;font-size:21px}.checkin-modal-title small{color:#6a59c2;font-size:11px;font-weight:850;letter-spacing:.08em}.checkin-modal-title h2{margin:2px 0 0;color:#2c3148;font-size:24px}.checkin-modal-title p{margin:4px 0 0;color:#7c8497;font-size:12px}.checkin-header-button{flex:0 0 auto}.checkin-streak-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 22px 0}.checkin-counter{min-height:78px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e5e8f0;border-radius:17px;background:#fff}.checkin-counter>span:last-child{display:grid;gap:2px}.checkin-counter strong{color:#30364b;font-size:20px}.checkin-calendar-card{margin:16px 22px 22px;padding:18px;border:1px solid #e4e7ef;border-radius:19px;background:#fff}.checkin-month-button{border-radius:11px}.checkin-calendar-cell{border-radius:12px}.friends-modal{width:min(760px,calc(100vw - 30px));max-height:min(820px,calc(100vh - 40px));overflow:auto;border:1px solid rgba(224,228,239,.96);border-radius:26px;background:#f8f9fc;box-shadow:0 28px 80px #1920373d}.friends-modal-header{position:sticky;top:0;z-index:5;padding:21px 23px;border-bottom:1px solid #e7e9f0;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.friends-title-block{display:flex;align-items:center;gap:12px}.friends-title-block>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#4e7dd5,#46aa91);color:#fff;font-size:20px}.friends-title-block>div{display:grid;gap:2px}.friends-title-block small{color:#487dc3;font-size:11px;font-weight:850;letter-spacing:.08em}.friends-title-block h2{margin:0;color:#2c334a;font-size:23px}.friends-title-block p{margin:1px 0 0;color:#80879a;font-size:12px}.friend-header-button{border-radius:11px}.friends-section{margin:14px 18px;padding:17px;border:1px solid #e5e8ef;border-radius:18px;background:#fff}.friends-section-title{padding-bottom:12px;border-bottom:1px solid #eceef3}.friend-row{border-radius:14px}.friend-row:hover{background:#f7f9fd}.friends-search input,.friend-group-create input{min-height:44px;border-radius:12px}.friend-confirm-shell{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.friend-confirm-dialog{border-radius:20px;box-shadow:0 24px 70px #1c223740}@media(max-width:720px){.auth-modal{padding:24px 20px;border-radius:22px}.login-brand-logo{width:60px;height:60px}.checkin-modal-shell,.friends-modal-shell{align-items:flex-end;padding:0}.checkin-modal,.friends-modal{width:100%;max-height:calc(92vh - env(safe-area-inset-bottom));border-radius:24px 24px 0 0;border-bottom:0}.checkin-modal-header,.friends-modal-header{padding:17px 16px}.checkin-modal-title>span,.friends-title-block>span{width:40px;height:40px;border-radius:13px}.checkin-modal-title p,.friends-title-block p{display:none}.checkin-streak-card{padding:14px 14px 0;gap:8px}.checkin-counter{min-height:68px;padding:10px;gap:8px}.checkin-counter strong{font-size:17px}.checkin-calendar-card{margin:12px 14px calc(18px + env(safe-area-inset-bottom));padding:12px}.checkin-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-calendar-cell{min-height:48px;padding:5px 3px}.checkin-day-icons{gap:2px}.checkin-day-icons i{width:14px;height:14px;font-size:8px}.friends-header-actions{gap:5px}.friends-section{margin:10px 12px;padding:13px;border-radius:16px}.friend-row{align-items:flex-start;gap:9px}.friend-actions{flex-wrap:wrap;justify-content:flex-end}}.checkin-celebration-shell{z-index:180;background:#151f3470;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.checkin-celebration-modal:not(.video-stage){width:min(560px,calc(100vw - 32px));border:1px solid rgba(128,145,208,.2);border-radius:28px;background:radial-gradient(circle at 12% 0%,rgba(255,220,139,.34),transparent 34%),radial-gradient(circle at 92% 8%,rgba(137,217,206,.28),transparent 32%),#fffffffa;box-shadow:0 34px 90px #18244a47;padding:22px}.checkin-celebration-close{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(114,128,178,.16);color:#33416c;font-size:18px}.checkin-celebration-video-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,18,42,.12),transparent 34%,transparent 68%,rgba(10,18,42,.34))}.checkin-celebration-video-copy{position:absolute;z-index:1;left:max(22px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));display:grid;gap:3px;color:#fff;text-shadow:0 3px 18px rgba(5,12,31,.45)}.checkin-celebration-video-copy span{font-size:12px;font-weight:800;letter-spacing:.12em}.checkin-celebration-video-copy strong{font-size:clamp(24px,4vw,36px);letter-spacing:-.04em}.checkin-celebration-sound,.checkin-celebration-skip,.checkin-celebration-close{z-index:3}.checkin-celebration-result,.checkin-celebration-groups{min-height:430px;gap:18px;padding:38px 24px 24px}.checkin-celebration-flame,.checkin-celebration-group-mark{display:grid;place-items:center;width:104px;height:104px;border-radius:32px;color:#fff;font-size:48px;background:linear-gradient(145deg,#ffb84d,#ff7557);border:8px solid rgba(255,255,255,.74);box-shadow:0 22px 50px #f0764647;transform:rotate(-4deg)}.checkin-celebration-group-mark{width:82px;height:82px;border-radius:26px;color:#5667c9;font-size:34px;background:linear-gradient(145deg,#eef0ff,#dff7f3);border-color:#ffffffd6;box-shadow:0 18px 42px #495ca133}.checkin-celebration-result h2,.checkin-celebration-groups-head h2{color:#1d294f;font-size:clamp(26px,5vw,34px);letter-spacing:-.04em}.checkin-celebration-result h2 strong{color:#f06f43;font-size:52px}.checkin-celebration-streak-stats{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;width:min(100%,390px)}.checkin-celebration-streak-stats>div{display:grid;gap:5px;padding:14px 16px;border:1px solid rgba(121,137,190,.16);border-radius:18px;background:#f7f9ffe0}.checkin-celebration-streak-stats>div.current{border-color:#f2824f3d;background:#fff4e8e6}.checkin-celebration-streak-stats span{color:#7a839f;font-size:12px;font-weight:700}.checkin-celebration-streak-stats strong{color:#27335d;font-size:18px}.checkin-celebration-streak-stats>i{color:#8d98ba;font-size:20px}.checkin-group-list{gap:12px}.checkin-group-row{padding:14px 16px;border-radius:18px;border-color:#7484b829;background:#f8faffeb}.checkin-group-row.continued{border-color:#f2854d3d;background:linear-gradient(135deg,#fff4e6f5,#ffffffeb)}.checkin-group-row b{display:inline-flex;align-items:center;gap:5px;color:#e66b43}.checkin-group-row.waiting b{color:#7a839f}.checkin-celebration-reminder{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:16px;background:#f4f7ffeb;text-align:left}.checkin-celebration-reminder i{flex:0 0 auto;margin-top:3px;color:#6474ce}@media(max-width:560px){.checkin-celebration-modal:not(.video-stage){width:100vw;max-height:calc(100dvh - env(safe-area-inset-top));margin-top:auto;border-radius:28px 28px 0 0;padding:16px 14px calc(18px + env(safe-area-inset-bottom))}.checkin-celebration-result,.checkin-celebration-groups{min-height:520px;padding:44px 6px 12px}.checkin-celebration-streak-stats{gap:8px}.checkin-celebration-streak-stats>div{padding:12px 10px}.checkin-celebration-video-copy{bottom:calc(76px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.checkin-celebration-modal *,.checkin-celebration-modal *:before,.checkin-celebration-modal *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.paper-workspace-head{padding:26px;border:1px solid rgba(111,125,210,.16);border-radius:24px;background:linear-gradient(145deg,#fffffffa,#f3f6fff5);box-shadow:0 16px 42px #27346314}.paper-answer-panel{padding:24px;border:1px solid var(--shell-line);border-radius:24px;background:#fffffff5;box-shadow:0 18px 50px #25325e14}.paper-answer-panel .paper-toolbar{align-items:center;padding-bottom:18px;border-bottom:1px solid #e9edf6}.paper-answer-panel .paper-toolbar h2{margin:9px 0 0;color:var(--shell-ink);font-size:clamp(24px,3vw,32px);letter-spacing:-.035em}.paper-answer-panel .paper-toolbar-right .ghost-chip,.paper-answer-panel .paper-submit-row button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.paper-answer-panel .paper-download-status{border:1px solid rgba(89,107,231,.18);border-radius:14px;background:#596be712;color:var(--shell-brand-dark)}.paper-answer-panel .q-card{position:relative;overflow:hidden;margin-bottom:16px;padding:21px;border:1px solid #e3e7f1;border-radius:20px;background:#fff;box-shadow:0 10px 28px #22305b0d}.paper-answer-panel .q-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#d8deef}.paper-answer-panel .q-card.graded-correct:before{background:#23a47d}.paper-answer-panel .q-card.graded-wrong:before{background:#dc5961}.paper-answer-panel .q-card.graded-partial:before{background:#e3a13d}.paper-answer-panel .q-card.graded-missing:before{background:#8b95af}.paper-answer-panel .q-card .q-meta{gap:7px}.paper-answer-panel .q-card .q-meta span{padding:5px 10px;border-color:#e3e7f1;background:#f5f7fc;color:#66708b;font-weight:700}.paper-answer-panel .q-card .q-meta span:first-child{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--shell-brand),var(--shell-brand-dark))}.paper-answer-panel .q-card .q-context{border:1px solid #e4e8f2;border-left:4px solid var(--shell-brand);border-radius:15px;background:#f7f9fd}.paper-answer-panel .q-card .q-question{color:#273252;font-size:16px;line-height:1.85}.paper-answer-panel .q-options{gap:10px}.paper-answer-panel .q-options label{border:1px solid #e1e6f0;border-radius:15px;background:#fbfcff;transition:border-color .18s ease,background .18s ease,transform .18s ease}.paper-answer-panel .q-options label:hover{border-color:#596be757;background:#596be70d;transform:translateY(-1px)}.paper-answer-panel .q-options label:has(input:checked){border-color:#596be780;background:#596be717;box-shadow:0 0 0 3px #596be714}.paper-answer-panel textarea,.paper-answer-panel .memorization-blank-input,.paper-answer-panel .physics-blank-input{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.paper-answer-panel textarea:focus,.paper-answer-panel .memorization-blank-input:focus,.paper-answer-panel .physics-blank-input:focus{border-color:var(--shell-brand);outline:0;box-shadow:0 0 0 4px #596be71a}.paper-answer-panel .inline-grade-block{border-radius:16px}.paper-answer-panel .paper-submit-row{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom));z-index:5;padding:12px;border:1px solid rgba(217,223,238,.9);border-radius:18px;background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 16px 42px #23315d1f}.paper-answer-panel .paper-submit-row button{min-height:46px;border-radius:14px;background:linear-gradient(135deg,var(--shell-brand),var(--shell-brand-dark))}@media(max-width:560px){.paper-workspace-head,.paper-answer-panel{padding:16px;border-radius:19px}.paper-answer-panel .q-card{padding:17px 14px;border-radius:17px}.paper-answer-panel .q-head,.paper-answer-panel .sub-head{gap:8px}.paper-answer-panel .trace-chip{max-width:32vw;overflow:hidden;text-overflow:ellipsis}.paper-answer-panel .q-options label{padding:11px 12px}.paper-answer-panel .paper-submit-row{bottom:calc(72px + env(safe-area-inset-bottom));padding:8px}}.report-panel{margin-top:18px;padding:24px;border:1px solid var(--shell-line);border-radius:24px;background:#fffffff7;box-shadow:0 18px 50px #25325e14}.report-panel>.paper-toolbar{align-items:center;padding-bottom:18px;border-bottom:1px solid #e8ecf5}.report-panel .report-score{display:grid;grid-template-columns:auto auto;align-items:end;column-gap:5px;padding:14px 18px;border-radius:18px;color:#fff;background:linear-gradient(145deg,var(--shell-brand),var(--shell-brand-dark));box-shadow:0 14px 30px #4958bd38}.report-panel .report-score-label{grid-column:1 / 3;color:#ffffffb8;font-size:11px;font-weight:800}.report-panel .report-score strong,.report-panel .report-score>span:last-child{color:#fff}.report-panel .report-summary{gap:12px;margin-top:18px}.report-panel .report-summary .stat-card{border:1px solid #e2e7f1;border-radius:18px;background:#f8faff}.report-panel .report-summary .stat-card>span{display:inline-flex;align-items:center;gap:6px}.report-panel .report-summary .stat-card>span i{color:var(--shell-brand)}@media(max-width:560px){.report-panel{padding:16px;border-radius:19px}.report-panel .report-score{width:100%}}.home-feature-button{--feature-accent: #596be7;--feature-soft: #eef0ff;position:relative;isolation:isolate;border-color:#dadfebf5;background:linear-gradient(145deg,#fff 0%,#fff 68%,var(--feature-soft) 145%);box-shadow:0 12px 30px #2a355b11}.home-feature-button:before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:4px;border-radius:18px 0 0 18px;background:var(--feature-accent);opacity:.72}.home-feature-button.paper{--feature-accent:#5d6fe8;--feature-soft:#eef0ff}.home-feature-button.english-practice{--feature-accent:#d48a3b;--feature-soft:#fff4e6}.home-feature-button.chinese-practice{--feature-accent:#c8626b;--feature-soft:#fff0f1}.home-feature-button.physics-practice{--feature-accent:#2796af;--feature-soft:#e9f8fb}.home-feature-button.math-practice{--feature-accent:#7165d8;--feature-soft:#f0efff}.home-feature-button.schedule{--feature-accent:#3f9a7d;--feature-soft:#ebf8f3}.home-feature-button.tom-space{--feature-accent:#d59b34;--feature-soft:#fff7e6}.home-feature-button.tom-teacher{--feature-accent:#4c91c9;--feature-soft:#edf7ff}.home-feature-button.analysis{--feature-accent:#7866c9;--feature-soft:#f3efff}.home-feature-button.learning-monitor{--feature-accent:#3d9a80;--feature-soft:#edf8f4}.home-feature-button.management{--feature-accent:#66718d;--feature-soft:#f1f3f7}.home-feature-button:hover{border-color:color-mix(in srgb,var(--feature-accent) 30%,#dfe3ed);background:linear-gradient(145deg,#fff 0%,#fff 58%,var(--feature-soft) 125%)}.home-feature-button .feature-icon-wrap{color:var(--feature-accent);background:var(--feature-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--feature-accent) 13%,transparent)}.home-feature-button .feature-icon-wrap img{filter:saturate(.78) contrast(.96)}.home-feature-button .feature-label,.home-feature-button .feature-status{color:var(--feature-accent)}.home-feature-button .feature-status{background:var(--feature-soft)}.product-main.module-paper>.app-sidebar{padding:18px 12px 28px;background:#f7f8fc}.product-main.module-paper .app-sidebar .sidebar-section{gap:10px}.product-main.module-paper .app-sidebar .library-head{align-items:center;padding:4px 5px 8px}.product-main.module-paper .app-sidebar .library-head>span{min-width:54px;border-color:#e3e6ef;border-radius:999px;color:#59637a;background:#fff;box-shadow:none}.product-main.module-paper .library-subject{gap:0;overflow:hidden;border:1px solid #e3e7f0;border-left:1px solid #e3e7f0;border-radius:16px;background:#fffffff5;box-shadow:0 8px 22px #2a34560b}.product-main.module-paper .subject-toggle,.product-main.module-paper .recent-toggle{min-height:66px;padding:10px 12px;border-radius:15px;background:transparent}.product-main.module-paper .subject-toggle:hover,.product-main.module-paper .recent-toggle:hover{background:#f7f8fc}.product-main.module-paper .subject-toggle:active,.product-main.module-paper .recent-toggle:active{background:#f0f2f8}.product-main.module-paper .subject-toggle:focus-visible,.product-main.module-paper .paper-volume-toggle:focus-visible,.product-main.module-paper .paper-topic-toggle:focus-visible,.product-main.module-paper .recent-toggle:focus-visible,.product-main.module-paper .available-paper:focus-visible{outline:3px solid rgba(89,107,231,.2);outline-offset:-2px}.product-main.module-paper .subject-mark{width:39px;height:39px;border-radius:12px;color:var(--subject);background:color-mix(in srgb,var(--subject) 11%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--subject) 14%,transparent)}.product-main.module-paper .subject-main small,.product-main.module-paper .paper-volume-toggle small,.product-main.module-paper .paper-topic-toggle small{color:#8b92a5}.product-main.module-paper .subject-side>span:first-child,.product-main.module-paper .paper-topic-side{min-width:29px;min-height:25px;border:1px solid #e3e6ee;border-radius:999px;color:#687086;background:#f8f9fc}.product-main.module-paper .subject-topic-list{gap:8px;padding:0 9px 10px 12px;border-top:1px solid #eef0f5;background:#fbfcfe}.product-main.module-paper .paper-topic{overflow:hidden;border:1px solid #e8ebf2;border-radius:13px;background:#fff}.product-main.module-paper .paper-volume{overflow:hidden;border:1px solid #e2e5f1;border-radius:14px;background:#f8f8ff}.product-main.module-paper .paper-volume-toggle{min-height:56px;border-radius:12px}.product-main.module-paper .paper-volume-toggle:hover{background:#f2f3fd}.product-main.module-paper .volume-topic-list{margin:0 7px 7px;padding:2px 0 0 9px;border-left-color:#596be72e}.product-main.module-paper .paper-topic-toggle{min-height:53px;padding:9px 10px;border-radius:12px}.product-main.module-paper .paper-topic-toggle:hover{background:#f7f8fc}.product-main.module-paper .paper-group-list{gap:6px;padding:0 8px 8px}.product-main.module-paper .available-paper{min-height:0;padding:10px 11px;border:1px solid #e8ebf2;border-radius:11px;background:#fafbfe;box-shadow:none}.product-main.module-paper .available-paper:hover{border-color:#596be74d;background:#f5f6ff;transform:none}.product-main.module-paper .paper-group-chevron{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#7c8498;background:#f1f3f8;transform:none;transition:color .18s ease,background .18s ease}.product-main.module-paper .paper-group-chevron i{font-size:15px;transition:transform .2s ease}.product-main.module-paper .paper-group-chevron.open{color:var(--shell-brand);background:var(--shell-brand-soft)}.product-main.module-paper .paper-group-chevron.open i{transform:rotate(180deg)}.product-main.module-paper .sidebar-section+.sidebar-section{margin-top:12px;padding-top:14px;border-top:1px solid #e7eaf2}.product-main.module-paper .recent-toggle{border:1px solid #e3e7f0;background:#fff;box-shadow:0 8px 22px #2a34560b}.friend-icon-button{position:relative;display:inline-grid;place-items:center;overflow:visible}.friend-icon-button .friend-trigger-icon{position:static;width:auto;min-width:0;height:auto;padding:0;border:0;border-radius:0;color:currentColor;background:transparent;box-shadow:none;font-size:20px;line-height:1}.friend-request-badge{position:absolute;z-index:2;top:-6px;right:-6px;min-width:19px;height:19px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff;border-radius:999px;color:#fff;background:#e34f58;box-shadow:0 6px 14px #e34f5847;font-size:10px;font-weight:900;line-height:1}.friends-modal{display:flex;flex-direction:column;overflow:hidden;background:#f6f7fb}.friends-modal .friends-modal-header{flex:0 0 auto}.friends-modal .friends-content{min-height:0;overflow-y:auto;padding:2px 0 10px}.friends-modal .friends-title-block>span{background:linear-gradient(145deg,#596be7,#48a18b);box-shadow:0 12px 24px #4a5bb433}.friends-modal .friend-header-button{position:relative;width:40px;height:40px;border:1px solid #e2e6ef;color:#5f687d;background:#f8f9fc;box-shadow:none}.friends-modal .friend-header-button:hover{color:var(--shell-brand);background:var(--shell-brand-soft)}.friends-modal .friend-header-button:focus-visible,.friends-modal button:focus-visible,.friends-modal input:focus-visible{outline:3px solid rgba(89,107,231,.2);outline-offset:2px}.friends-modal .friend-header-badge{top:-7px;right:-7px}.friends-modal .friends-section{box-shadow:0 10px 28px #2933530b}.friends-modal .friends-section-title>span{min-height:25px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;color:#687086;background:#f1f3f8}.friends-modal .friend-row,.friends-modal .friend-group-row{padding:11px 9px;border-top:0;border-radius:13px}.friends-modal .friend-row+.friend-row,.friends-modal .friend-group-row+.friend-group-row{margin-top:4px}.friends-modal .friend-row:hover,.friends-modal .friend-group-row:hover{background:#f6f8fc}.friends-modal .friend-avatar{color:#5264d6;background:#eef0ff;box-shadow:inset 0 0 0 1px #596be71f}.friends-modal .friends-search input,.friends-modal .friend-group-form input{border-color:#dfe3ed;background:#fff}.practice-hub .practice-entry-grid{display:grid;gap:12px}.practice-hub.subject-chinese{--practice-accent:#bd5d66;--practice-accent-dark:#9f4650;--practice-soft:#fff0f1;--practice-line:#f0dfe1}.practice-hub.subject-english{--practice-accent:#d08a38;--practice-accent-dark:#ab6d27;--practice-soft:#fff5e8;--practice-line:#f1e2cb}.learning-monitor-page-content .learning-monitor-card-toggle{width:100%;text-align:left}.learning-monitor-page-content .learning-monitor-head-tools{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px}.learning-monitor-page-content .learning-monitor-head-tools .learning-monitor-summary{min-width:112px;margin:0}.learning-monitor-page-content .learning-monitor-head-tools .learning-monitor-caret{min-width:52px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;margin:0;border:1px solid #e1e5ee;border-radius:10px;color:#687086;background:#f7f8fc}.learning-monitor-page-content .learning-monitor-card-toggle:hover .learning-monitor-caret{border-color:#596be733;color:var(--shell-brand);background:var(--shell-brand-soft)}@media(max-width:720px){.friends-modal .friends-content{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.friends-modal .friend-row{grid-template-columns:40px minmax(0,1fr) auto}.friends-modal .friend-streak-badge{grid-column:3}.learning-monitor-page-content .learning-monitor-card-toggle{flex-wrap:wrap}.learning-monitor-page-content .learning-monitor-card-toggle>div:first-child{min-width:0;flex:1 1 190px}.learning-monitor-page-content .learning-monitor-head-tools{flex:1 1 auto;justify-content:flex-end;gap:8px}.learning-monitor-page-content .learning-monitor-head-tools .learning-monitor-summary{min-width:78px}.learning-monitor-page-content .learning-monitor-head-tools .learning-monitor-caret{min-width:48px;min-height:32px}}.home-feature-strip .home-feature-button,.home-feature-strip .home-feature-button.paper,.home-feature-strip .home-feature-button.chinese-practice,.home-feature-strip .home-feature-button.math-practice,.home-feature-strip .home-feature-button.english-practice,.home-feature-strip .home-feature-button.physics-practice,.home-feature-strip .home-feature-button.schedule,.home-feature-strip .home-feature-button.tom-space,.home-feature-strip .home-feature-button.tom-teacher,.home-feature-strip .home-feature-button.analysis,.home-feature-strip .home-feature-button.learning-monitor,.home-feature-strip .home-feature-button.management{border-color:#dadfebf5;background:linear-gradient(145deg,#fff 0%,#fff 72%,var(--feature-soft) 150%)!important;filter:none}.home-feature-strip .home-feature-button:after{display:none}.home-feature-strip .home-feature-button:hover{border-color:color-mix(in srgb,var(--feature-accent) 28%,#dfe3ed);background:linear-gradient(145deg,#fff 0%,#fff 64%,var(--feature-soft) 138%)!important;filter:none}.home-feature-strip .home-feature-button .feature-copy{color:var(--shell-ink)}.home-feature-strip .home-feature-button .feature-copy .feature-label{color:var(--feature-accent)}.home-feature-strip .home-feature-button .feature-copy strong{color:var(--shell-ink);text-shadow:none}.home-feature-strip .home-feature-button .feature-copy small{color:var(--shell-muted)}.friends-modal .friend-add-button .friend-add-icon{position:static;top:auto;right:auto;width:auto;min-width:0;height:auto;padding:0;border:0;border-radius:0;color:currentColor;background:transparent;box-shadow:none;font-size:19px;line-height:1}.friends-modal .friend-add-button:hover .friend-add-icon{color:var(--shell-brand)}.checkin-modal-shell{z-index:110;padding:24px;background:#1a223861;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.friends-modal-shell{z-index:110}.checkin-modal{width:min(720px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(224,228,239,.98);border-radius:26px;background:#f6f7fb;box-shadow:0 30px 90px #19203747;padding:0}.checkin-modal-header{position:sticky;z-index:4;top:0;flex:0 0 auto;margin:0;padding:21px 23px;border-bottom:1px solid #e6e9f1;background:#fffffff5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.checkin-modal-title{min-width:0}.checkin-modal-title>span{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#596be7,#48a18b);box-shadow:0 12px 24px #4a5bb433}.checkin-modal-title small{color:#596be7}.checkin-modal-title h2{color:#2b3249;font-size:23px}.checkin-modal-title p{color:#7d8598;font-weight:500}.checkin-header-button,.checkin-month-button{border:1px solid #e1e5ee;color:#60697d;background:#f8f9fc;box-shadow:none}.checkin-header-button:hover,.checkin-month-button:hover{color:var(--shell-brand);background:var(--shell-brand-soft)}.checkin-header-button:focus-visible,.checkin-month-button:focus-visible{outline:3px solid rgba(89,107,231,.2);outline-offset:2px}.checkin-streak-card{width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:17px 20px 0;border:0;border-radius:0;background:transparent}.checkin-counter{min-height:76px;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #e4e7ef;border-radius:17px;background:#fff;box-shadow:0 9px 26px #2933530b}.checkin-flame,.checkin-freeze{width:39px;height:39px;flex:0 0 auto;border-radius:12px;font-size:19px}.checkin-counter>span:last-child{display:grid;gap:3px}.checkin-counter small{color:#858ca0;font-size:11px}.checkin-counter strong,.checkin-streak-card strong{height:auto;color:#30364b;font-size:19px}.checkin-counter.frozen strong{color:#30364b}.checkin-calendar-card{min-height:0;margin:14px 20px 20px;padding:17px;overflow-y:auto;border:1px solid #e3e7ef;border-radius:19px;background:#fff;box-shadow:0 12px 32px #2933530e}.checkin-calendar-head{margin-bottom:12px}.checkin-calendar-head strong{color:#293148;font-size:17px}.checkin-legend{flex-wrap:wrap;gap:7px;margin-bottom:13px}.checkin-legend span{min-height:28px;padding:0 9px 0 6px;border:1px solid #e6e9f1;border-radius:999px;color:#6d7589;background:#f8f9fc;font-size:11px}.checkin-calendar-weekdays,.checkin-calendar-grid{gap:6px}.checkin-calendar-weekdays{margin-bottom:6px}.checkin-calendar-weekdays span{color:#8a91a3}.checkin-calendar-cell{min-height:54px;padding:7px 4px 5px;border-color:#e6e9f0;border-radius:12px;background:#fafbfe}.checkin-calendar-cell:not(.empty):hover{border-color:#596be742;background:#f6f7ff}.checkin-calendar-cell.checked{border-color:#409e7e3d;background:#f2faf7}.checkin-calendar-cell.today{border-color:#596be770;background:#f4f5ff;box-shadow:inset 0 0 0 1px #596be724}.checkin-day-number{color:#30374d}@media(max-width:720px){.checkin-modal-shell{align-items:flex-end;padding:0}.checkin-modal{width:100%;max-height:calc(92vh - env(safe-area-inset-bottom));border-radius:24px 24px 0 0;border-bottom:0}.checkin-modal-header{padding:17px 16px}.checkin-streak-card{gap:8px;padding:13px 13px 0}.checkin-counter{min-height:66px;gap:8px;padding:9px 10px;border-radius:14px}.checkin-flame,.checkin-freeze{width:34px;height:34px;border-radius:11px;font-size:17px}.checkin-counter strong,.checkin-streak-card strong{font-size:16px}.checkin-calendar-card{margin:11px 13px calc(16px + env(safe-area-inset-bottom));padding:11px;border-radius:16px}.checkin-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.checkin-calendar-weekdays,.checkin-calendar-grid{gap:4px}.checkin-calendar-cell{min-height:47px;padding:5px 2px 4px;border-radius:10px}}.schedule-page-content .schedule-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.schedule-page-content .schedule-toolbar-main{min-width:0;display:flex;align-items:center;gap:18px}.schedule-page-content .schedule-toolbar-main>div:first-child{display:grid;gap:3px}.schedule-page-content .schedule-view-switch{display:grid;grid-template-columns:repeat(3,auto);gap:4px;padding:4px;border:1px solid #e8eaf3;border-radius:13px;background:#f5f6fa}.schedule-page-content .schedule-view-switch button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:0;border-radius:9px;color:#727991;background:transparent;font-size:11px;font-weight:800;cursor:pointer;transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.schedule-page-content .schedule-view-switch button:hover{color:var(--schedule-accent-dark);background:#ffffffb3}.schedule-page-content .schedule-view-switch button:active{transform:translateY(1px)}.schedule-page-content .schedule-view-switch button.active{color:var(--schedule-accent-dark);background:#fff;box-shadow:0 5px 14px #26305417}.schedule-page-content .schedule-view-switch button:focus-visible{outline:3px solid rgba(102,116,232,.22);outline-offset:1px}.schedule-page-content .schedule-filter-bar{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(125px,.7fr)) auto;gap:8px;margin:-2px 0 14px}.schedule-page-content .schedule-filter-bar label{min-width:0}.schedule-page-content .schedule-filter-bar input,.schedule-page-content .schedule-filter-bar select{width:100%;min-width:0;height:38px;border:1px solid var(--schedule-line);border-radius:10px;color:#4d556f;background:#fbfcff;font:inherit;font-size:11px;font-weight:700;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.schedule-page-content .schedule-filter-bar input{padding:0 11px 0 34px}.schedule-page-content .schedule-filter-bar select{padding:0 30px 0 10px}.schedule-page-content .schedule-filter-bar input:hover,.schedule-page-content .schedule-filter-bar select:hover{border-color:#cdd2e8;background:#fff}.schedule-page-content .schedule-filter-bar input:focus,.schedule-page-content .schedule-filter-bar select:focus{outline:0;border-color:var(--schedule-accent);background:#fff;box-shadow:0 0 0 3px #6674e824}.schedule-page-content .schedule-filter-search{position:relative}.schedule-page-content .schedule-filter-search>i{position:absolute;z-index:1;left:11px;top:50%;transform:translateY(-50%);color:#969db4;font-size:14px;pointer-events:none}.schedule-page-content .schedule-filter-clear{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid #e0e3ef;border-radius:10px;color:#66708c;background:#fff;font-size:10px;font-weight:800;cursor:pointer}.schedule-page-content .schedule-filter-clear:hover{color:var(--schedule-accent-dark);border-color:#c9ceeb;background:#f7f8ff}.schedule-page-content .schedule-filter-clear:focus-visible{outline:3px solid rgba(102,116,232,.2);outline-offset:1px}.schedule-page-content .schedule-timeline-head,.schedule-page-content .schedule-timeline-body{min-width:840px;grid-template-columns:70px repeat(var(--schedule-day-count),minmax(110px,1fr))}.schedule-page-content .schedule-timeline.is-day-view .schedule-timeline-head,.schedule-page-content .schedule-timeline.is-day-view .schedule-timeline-body{min-width:0;grid-template-columns:70px minmax(0,1fr)}.schedule-page-content .schedule-day-col-head{border:0;border-left:1px solid #eceef5;background:transparent;text-align:center;cursor:pointer}.schedule-page-content .schedule-day-col-head:hover{background:#f3f4fc}.schedule-page-content .schedule-day-col-head:focus-visible{position:relative;z-index:2;outline:3px solid rgba(102,116,232,.2);outline-offset:-3px}.schedule-page-content .schedule-event-card-timeline{right:auto;overflow:hidden;padding:9px 8px 8px 10px}.schedule-page-content .schedule-event-card-timeline.is-compact{gap:3px;padding:7px 6px 6px 8px}.schedule-page-content .schedule-event-card-timeline.is-compact strong{font-size:10px}.schedule-page-content .schedule-event-card-timeline.is-compact .schedule-event-teacher,.schedule-page-content .schedule-event-card-timeline.is-compact .schedule-event-info,.schedule-page-content .schedule-event-card-timeline.is-compact .schedule-event-repeat{display:none}.schedule-page-content .schedule-compressed-gap{position:absolute;z-index:0;inset-inline:0;display:grid;place-items:center;border-block:1px dashed #dfe2ed;color:#a0a6b8;background:repeating-linear-gradient(135deg,#fafbfe,#fafbfe 6px,#f5f6fa 6px,#f5f6fa 12px);font-size:8px;letter-spacing:.08em;pointer-events:none}.schedule-page-content .schedule-compressed-gap span{padding:2px 6px;border-radius:99px;background:#ffffffe6}.schedule-page-content .schedule-list-view{display:grid;gap:13px}.schedule-page-content .schedule-list-day{overflow:hidden;border:1px solid var(--schedule-line);border-radius:16px;background:#fff}.schedule-page-content .schedule-list-day>header{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid #eef0f5;background:#fafbfe}.schedule-page-content .schedule-list-day>header>div{display:flex;align-items:baseline;gap:8px}.schedule-page-content .schedule-list-day>header strong{color:var(--schedule-ink);font-size:13px}.schedule-page-content .schedule-list-day>header span,.schedule-page-content .schedule-list-day>header small{color:var(--schedule-muted);font-size:10px}.schedule-page-content .schedule-list-events{display:grid}.schedule-page-content .schedule-list-event{min-width:0;display:grid;grid-template-columns:66px 4px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:0;border-bottom:1px solid #f0f1f5;color:inherit;background:#fff;text-align:left;cursor:pointer;transition:background .18s ease,transform .18s ease}.schedule-page-content .schedule-list-event:last-child{border-bottom:0}.schedule-page-content .schedule-list-event:hover{background:#f9faff}.schedule-page-content .schedule-list-event:active{transform:scale(.997)}.schedule-page-content .schedule-list-event:focus-visible{position:relative;z-index:1;outline:3px solid rgba(102,116,232,.2);outline-offset:-3px}.schedule-page-content .schedule-list-event time{display:grid;gap:2px;color:var(--schedule-ink)}.schedule-page-content .schedule-list-event time strong{font-size:13px}.schedule-page-content .schedule-list-event time span{color:var(--schedule-muted);font-size:9px}.schedule-page-content .schedule-list-accent{align-self:stretch;min-height:42px;border-radius:99px;background:#9aa3dd}.schedule-page-content .schedule-list-accent.tone-chinese{background:#f08c70}.schedule-page-content .schedule-list-accent.tone-math{background:#6778e9}.schedule-page-content .schedule-list-accent.tone-english{background:#23a984}.schedule-page-content .schedule-list-copy{min-width:0;display:grid;gap:5px}.schedule-page-content .schedule-list-copy>strong{overflow:hidden;color:var(--schedule-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.schedule-page-content .schedule-list-copy>small{overflow:hidden;color:var(--schedule-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.schedule-page-content .schedule-list-copy i{color:var(--schedule-accent)}.schedule-page-content .schedule-list-students{display:flex;align-items:center;gap:8px;color:#737b94;font-size:10px;font-weight:800}.schedule-page-content .schedule-list-students i{font-size:14px}.schedule-page-content .schedule-editor-shell{position:fixed;z-index:1150;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#171d3457;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.schedule-page-content .schedule-editor{width:min(440px,100vw);height:100%;max-height:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto;margin:0;padding:0;border:0;border-left:1px solid var(--schedule-line);border-radius:24px 0 0 24px;background:#fff;box-shadow:-22px 0 62px #19204233;animation:schedule-drawer-in .24s ease-out both}.schedule-page-content .schedule-editor-head{min-height:72px;margin:0;padding:14px 18px;border-bottom:1px solid #eceef4}.schedule-page-content .schedule-editor-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 18px 28px}.schedule-page-content .schedule-editor-section{display:grid;gap:12px;padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #eceef4}.schedule-page-content .schedule-editor-section:last-child{margin-bottom:0;border-bottom:0}.schedule-page-content .schedule-editor-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.schedule-page-content .schedule-editor-section-title>span{display:flex;align-items:center;gap:7px;color:var(--schedule-ink);font-size:12px;font-weight:900}.schedule-page-content .schedule-editor-section-title>span i{color:var(--schedule-accent);font-size:16px}.schedule-page-content .schedule-editor-section-title>small{color:var(--schedule-muted);font-size:9px;line-height:1.4;text-align:right}.schedule-page-content .schedule-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.schedule-page-content .schedule-editor-title,.schedule-page-content .schedule-editor-location{grid-column:1 / -1}.schedule-page-content .schedule-preset-strip{margin-top:0}.schedule-page-content .schedule-member-list{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-page-content .schedule-editor-students .schedule-student-selector,.schedule-page-content .schedule-notes-field{margin-top:0}.schedule-page-content .schedule-editor-actions{min-height:72px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e8eaf2;background:#fffffff7;box-shadow:0 -10px 28px #232a4812}.schedule-page-content .schedule-editor-actions button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;border-radius:11px;font-size:10px;font-weight:850}.schedule-page-content .schedule-editor-actions .text-button{border:1px solid #dfe2ed;color:#626b86;background:#fff}.schedule-page-content .schedule-editor-actions .text-button:hover{color:var(--schedule-accent-dark);border-color:#c7ccec;background:#f7f8ff}.schedule-page-content .schedule-editor-actions .danger{margin-right:auto;color:#b42318;border-color:#ffd1d1;background:#fff6f6}.schedule-page-content .schedule-editor-actions button:focus-visible{outline:3px solid rgba(102,116,232,.22);outline-offset:2px}@keyframes schedule-drawer-in{0%{opacity:.7;transform:translate(26px)}to{opacity:1;transform:translate(0)}}@media(max-width:1180px){.schedule-page-content .schedule-filter-bar{grid-template-columns:minmax(210px,1.5fr) repeat(2,minmax(120px,.8fr))}.schedule-page-content .schedule-filter-clear{justify-self:start}}@media(max-width:720px){.schedule-page-content .schedule-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}.schedule-page-content .schedule-toolbar-main{grid-column:1 / -1;display:grid;gap:10px}.schedule-page-content .schedule-view-switch{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-page-content .schedule-view-switch button{padding:0 7px}.schedule-page-content .schedule-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-page-content .schedule-filter-search{grid-column:1 / -1}.schedule-page-content .schedule-filter-clear{grid-column:1 / -1;justify-self:stretch}.schedule-page-content .schedule-timeline:not(.is-mobile-week) .schedule-timeline-head,.schedule-page-content .schedule-timeline:not(.is-mobile-week) .schedule-timeline-body{min-width:0;grid-template-columns:58px minmax(260px,1fr)}.schedule-page-content .schedule-timeline.is-mobile-week .schedule-timeline-head,.schedule-page-content .schedule-timeline.is-mobile-week .schedule-timeline-body{min-width:780px}.schedule-page-content .schedule-list-event{grid-template-columns:55px 4px minmax(0,1fr);gap:9px;padding:12px 10px}.schedule-page-content .schedule-list-students{grid-column:3;justify-self:start}.schedule-page-content .schedule-list-copy>small{white-space:normal;line-height:1.45}.schedule-page-content .schedule-editor-shell{align-items:flex-end}.schedule-page-content .schedule-editor{width:100%;height:min(88vh,760px);border-left:0;border-top:1px solid var(--schedule-line);border-radius:24px 24px 0 0;animation:schedule-sheet-in .24s ease-out both}.schedule-page-content .schedule-editor-head{min-height:64px;padding:11px 14px}.schedule-page-content .schedule-editor-scroll{padding:14px 14px 24px}.schedule-page-content .schedule-editor-section-title{display:grid;gap:3px}.schedule-page-content .schedule-editor-section-title>small{text-align:left}.schedule-page-content .schedule-editor-actions{min-height:68px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.schedule-page-content .schedule-editor-actions .danger{margin-right:0}.schedule-page-content .schedule-editor-actions .primary-button:only-child{grid-column:1 / -1}}@media(max-width:460px){.schedule-page-content .schedule-filter-bar{grid-template-columns:1fr}.schedule-page-content .schedule-filter-search,.schedule-page-content .schedule-filter-clear{grid-column:1}.schedule-page-content .schedule-editor-grid{grid-template-columns:1fr 1fr}.schedule-page-content .schedule-editor-title,.schedule-page-content .schedule-editor-date,.schedule-page-content .schedule-editor-location,.schedule-page-content .schedule-editor-repeat{grid-column:1 / -1}.schedule-page-content .schedule-member-list,.schedule-page-content .schedule-editor-actions{grid-template-columns:1fr}.schedule-page-content .schedule-editor-actions button{width:100%}}@keyframes schedule-sheet-in{0%{opacity:.7;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.schedule-page-content .schedule-editor,.schedule-page-content .schedule-event-card,.schedule-page-content .schedule-list-event{animation:none;transition:none}}.schedule-page-content .schedule-timeline{display:block;border:1px solid var(--schedule-line);background:#fff}.schedule-page-content .schedule-timeline-head,.schedule-page-content .schedule-timeline-body{width:max-content}.schedule-page-content .schedule-timeline.is-day-view .schedule-timeline-head,.schedule-page-content .schedule-timeline.is-day-view .schedule-timeline-body{width:100%}.schedule-page-content .schedule-day-col{min-width:0;overflow:visible}.schedule-page-content .schedule-event-card-timeline{display:grid;align-content:start;min-width:118px;gap:3px;padding:9px 9px 8px 11px;border:1px solid color-mix(in srgb,var(--schedule-teacher-color, #6674e8) 20%,#e6e9f1);border-left-width:4px;border-radius:8px;background-clip:padding-box;box-shadow:0 3px 9px #2c375b0f}.schedule-page-content .schedule-event-card-timeline strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px}.schedule-page-content .schedule-event-card-timeline .schedule-event-time{display:flex;min-height:0;padding:0;border:0;border-radius:0;color:#47506a!important;font-size:10px;font-weight:850;line-height:1.25;background:transparent;box-shadow:none}.schedule-page-content .schedule-event-card-timeline .schedule-event-teacher,.schedule-page-content .schedule-event-card-timeline .schedule-event-info{display:flex;min-height:0;padding:0;border:0;border-radius:0;color:#697189!important;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-page-content .schedule-event-card-timeline .schedule-event-time i,.schedule-page-content .schedule-event-card-timeline .schedule-event-teacher i,.schedule-page-content .schedule-event-card-timeline .schedule-event-info i{display:none}.schedule-page-content .schedule-event-card-timeline .schedule-event-repeat{min-height:0;align-self:start;padding:0;border-radius:0;color:#8a91a4;background:transparent}.schedule-page-content .schedule-event-card-timeline.is-compact{min-width:118px;gap:2px;padding:6px 7px 5px 9px}.schedule-page-content .schedule-event-card-timeline.is-compact .schedule-event-time{display:flex;flex-wrap:nowrap;min-height:0;padding:0;border:0;border-radius:0;font-size:9px;line-height:1.2;white-space:nowrap;background:transparent;box-shadow:none}.schedule-page-content .schedule-event-card-timeline.is-compact strong{font-size:11px;line-height:1.2}.schedule-page-content .schedule-event-card-timeline.is-compact .schedule-event-teacher,.schedule-page-content .schedule-event-card-timeline.is-compact .schedule-event-info{display:flex;min-height:0;padding:0;border:0;border-radius:0;font-size:9px!important;line-height:1.2;background:transparent}.schedule-page-content .schedule-event-card-timeline.is-compact .schedule-event-time i,.schedule-page-content .schedule-event-card-timeline.is-compact .schedule-event-repeat,.schedule-page-content .schedule-event-card-timeline.is-compact.is-short .schedule-event-info{display:none}.schedule-page-content .schedule-event-card-timeline.is-compact.is-short strong{-webkit-line-clamp:1}.schedule-page-content .schedule-calendar-navigation{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:stretch;gap:8px;margin:14px 0 15px}.schedule-page-content .schedule-calendar-periods{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:7px;min-width:0}.schedule-page-content .schedule-calendar-period-select{position:relative;display:grid;grid-template-rows:auto auto;gap:1px;min-width:0;min-height:44px;padding:5px 25px 5px 10px;border:1px solid #e2e6f2;border-radius:12px;background:linear-gradient(180deg,#fff,#fafbff);box-shadow:0 4px 12px #464f7a0d;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.schedule-page-content .schedule-calendar-period-select:hover{border-color:#cbd2f4;box-shadow:0 7px 16px #4b569417;transform:translateY(-1px)}.schedule-page-content .schedule-calendar-period-select:focus-within{border-color:#8b96ef;box-shadow:0 0 0 3px #6f7be824}.schedule-page-content .schedule-calendar-period-select>span{color:#9299ae;font-size:9px;font-weight:700;line-height:1.1}.schedule-page-content .schedule-calendar-period-select select{width:100%;min-width:0;min-height:18px;padding:0;border:0;border-radius:0;outline:0;color:#434c69;background:transparent;font-size:11px;font-weight:800;line-height:1.2;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.schedule-page-content .schedule-calendar-period-select>i{position:absolute;top:50%;right:8px;color:#7d86a6;font-size:13px;pointer-events:none;transform:translateY(-50%)}.schedule-page-content .schedule-calendar-shift{display:grid;place-items:center;width:38px;min-height:44px;padding:0;border:1px solid #e2e6f2;border-radius:12px;color:#68718f;background:#fff;box-shadow:0 4px 12px #464f7a0d;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}.schedule-page-content .schedule-calendar-shift:hover{border-color:#cbd2f4;color:#5966cf;background:#f7f8ff;transform:translateY(-1px)}.schedule-page-content .schedule-calendar-shift:active{transform:translateY(0)}.schedule-page-content .schedule-calendar-shift:focus-visible{outline:3px solid rgba(111,123,232,.18);outline-offset:2px}@media(max-width:420px){.schedule-page-content .schedule-calendar-navigation{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px}.schedule-page-content .schedule-calendar-periods{gap:5px}.schedule-page-content .schedule-calendar-period-select{min-height:42px;padding-right:21px;padding-left:8px}.schedule-page-content .schedule-calendar-period-select select{font-size:10px}.schedule-page-content .schedule-calendar-period-select>i{right:6px;font-size:11px}.schedule-page-content .schedule-calendar-shift{width:36px;min-height:42px}}.schedule-page-content .schedule-editor-grid{gap:13px}.schedule-page-content .schedule-editor-section:first-of-type{padding-bottom:20px}@media(max-width:720px){.schedule-page-content .schedule-timeline,.schedule-page-content .schedule-timeline.is-day-view{display:block;overflow-x:auto;overflow-y:hidden;border:1px solid var(--schedule-line);background:#fff}.schedule-page-content .schedule-timeline .schedule-timeline-head{display:grid}.schedule-page-content .schedule-timeline .schedule-time-col,.schedule-page-content .schedule-timeline .schedule-time-col-head{display:block}.schedule-page-content .schedule-timeline .schedule-timeline-body{display:grid;min-height:unset!important}.schedule-page-content .schedule-timeline .schedule-day-col{position:relative;min-height:100%;margin:0;padding:0;border:0;border-left:1px solid #eceef5;border-radius:0;background:transparent}.schedule-page-content .schedule-timeline .schedule-time-gridline,.schedule-page-content .schedule-timeline .schedule-empty-slot{display:block}.schedule-page-content .schedule-timeline .schedule-event-card-timeline{position:absolute;right:auto;margin:0}}:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page){--cp-brand:#6f63e9;--cp-brand-strong:#5749cf;--cp-brand-soft:#f0edff;--cp-accent:#ff966f;--cp-success:#25a879;--cp-warning:#d98628;--cp-danger:#d94f64;--cp-ink:#25213f;--cp-muted:#746f8c;--cp-line:#e7e3f2;--cp-surface:#fff;--cp-surface-soft:#f8f7fc;--cp-radius-sm:12px;--cp-radius-md:18px;--cp-radius-lg:28px;--cp-shadow-sm:0 8px 24px rgba(64,52,112,.08);--cp-shadow-md:0 18px 50px rgba(64,52,112,.13);color:var(--cp-ink)}:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page) :where(button,input,select,textarea){font:inherit}:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page) :where(button,a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--cp-brand) 38%,transparent);outline-offset:3px}:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page) button:not(:disabled){transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease}:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page) button:not(:disabled):active{transform:translateY(1px) scale(.985)}:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page) button:disabled{cursor:not-allowed;opacity:.52;filter:saturate(.7)}:where(.class-pet-state,.class-pet-empty,.empty-v21,.tool-notice,.tool-error-v21){border-radius:var(--cp-radius-md,18px)}:where(.class-pet-state,.class-pet-empty,.empty-v21){color:var(--cp-muted,#746f8c);background:var(--cp-surface-soft,#f8f7fc)}:where(.class-pet-state.is-error,.class-pet-message.is-error,.tool-error-v21){color:#a92e45;border-color:#f1bec8;background:#fff1f4}:where(.class-pet-message.is-success,.tool-notice.is-success){color:#157958;border-color:#abe4cf;background:#effbf6}.cp-skeleton{overflow:hidden;position:relative;min-height:18px;border-radius:10px;background:#ece9f5}.cp-skeleton:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.72) 48%,transparent 76%);animation:cp-shimmer 1.35s infinite;content:""}@keyframes cp-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page) *,:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page) *:before,:where(.class-pet-page,.class-pet-assignment-page,.class-pet-score-page,.class-pet-shop-page,.class-pet-overview-page,.classroom-tools-page) *:after{scroll-behavior:auto;animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}
