/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-slate-500:oklch(55.4% .046 257.417);--color-slate-900:oklch(20.8% .042 265.755);--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.hidden{display:none}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-slate-500{color:var(--color-slate-500)}.text-slate-900{color:var(--color-slate-900)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;--ink:#111827;--muted:#667085;--indigo:#4f46e5;--blue:#2563eb;--paper:#f7f8fa;background:#edf0f4;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:#edf0f4;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}#root{min-height:100vh}.app-error{color:#6f2525;background:#fff7f7;border:1px solid #efd2d2;border-radius:8px;width:min(100% - 32px,430px);margin:48px auto;padding:22px}.app-error h1{margin:0;font-size:20px}.app-error p{overflow-wrap:anywhere;margin:10px 0 0;font-size:11px;line-height:1.7}.app-error button{color:#fff;background:#9f3434;border:0;border-radius:6px;margin-top:16px;padding:8px 12px;font-size:10px;font-weight:800}.app-shell,.login-shell{background:var(--paper);width:min(100%,430px);min-height:100dvh;margin:0 auto;position:relative;overflow:clip;box-shadow:0 0 48px #0f172a14}.app-shell--seat{background:#fdf4f1}.login-shell{background:#fdf4f1;flex-direction:column;display:flex}.login-visual{height:100%;position:absolute;inset:0;overflow:hidden}.login-visual img{object-fit:cover;object-position:center center;filter:saturate(.9)contrast(1.01);width:100%;height:100%;animation:1.4s ease-out both image-settle}.login-visual__shade{background:linear-gradient(#fffaf814,#ffffff1f 52%,#fffaf847 100%);position:absolute;inset:0}.login-content{z-index:2;padding:max(24px, env(safe-area-inset-top)) 22px max(26px, env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex;position:relative}.brand-lockup{align-items:center;width:100%;max-width:270px;height:auto;margin:0 auto;display:flex}.brand-logo{object-fit:contain;mix-blend-mode:multiply;width:100%;height:auto;display:block}.login-copy{color:#172033;margin-top:clamp(58px,14vh,112px);animation:.8s ease-out .1s both rise-in}.login-copy .eyebrow{color:#a16f68}.login-copy h1{letter-spacing:0;margin:0 0 10px;font-family:Songti SC,STSong,serif;font-size:40px;font-weight:700;line-height:1.15}.login-copy h1 span{display:block}.login-copy>p:last-child{color:#746d78;max-width:330px;margin:0;font-size:13px;line-height:1.7}.glass-login{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#ffffffc7;border:1px solid #ffffffbf;border-radius:8px;flex-direction:column;gap:14px;margin-top:auto;padding:22px;animation:.8s ease-out .25s both rise-in;display:flex;box-shadow:0 18px 45px #0f172a24}.glass-login h2{margin:0;font-size:18px;font-weight:750}.glass-login>div>p{color:#667085;margin:5px 0 0;font-size:12px}.id-field{color:#667085;background:#f8fafcd1;border:1px solid #dbe2ea;border-radius:8px;align-items:center;gap:11px;height:52px;padding:0 15px;transition:border-color .25s,box-shadow .25s,background .25s;display:flex}.id-field:focus-within{background:#fff;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a,0 0 20px #6366f11a}.id-field.is-error{border-color:#dc6b6b;box-shadow:0 0 0 4px #dc6b6b17}.id-field input{color:#111827;background:0 0;border:0;outline:0;width:100%;font-size:16px}.id-field input::placeholder{color:#9aa4b2}.login-error{color:#b54747;margin:-7px 2px -3px;font-size:10px;font-weight:650}.primary-button{color:#fff;background:linear-gradient(105deg,#3730a3,#2563eb);border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:9px;min-height:50px;font-size:14px;font-weight:720;transition:transform .25s,box-shadow .25s,opacity .25s;display:inline-flex;box-shadow:0 10px 24px #2563eb38}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #2563eb4d}.primary-button:active{transform:scale(.985)}.primary-button:disabled{opacity:.42;box-shadow:none;transform:none}.privacy-note{color:#98a2b3;justify-content:center;align-items:center;gap:5px;font-size:10px;display:flex}.sticky-header{z-index:30;padding:max(13px, env(safe-area-inset-top)) 18px 10px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f8facc;border-bottom:1px solid #e2e8f0a6;position:sticky;top:0}.sticky-header--seat{background:#fdf4f1d6;border-color:#c9a99f38}.header-row{justify-content:space-between;align-items:center;display:flex}.student-lockup{align-items:center;gap:9px;min-width:0;display:flex}.student-avatar{color:#3730a3;background:#e8e7ff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.student-lockup p{color:#172033;margin:0;font-size:12px;font-weight:720}.icon-button,.back-button{color:#64748b;background:#ffffffbf;border:1px solid #e5e9ef;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;transition:transform .2s,color .2s;display:grid}.icon-button:hover,.back-button:hover{color:#111827;transform:translateY(-1px)}.step-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-top:12px;display:grid}.step-nav button{color:#98a2b3;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:3px;min-width:0;height:34px;font-size:9px;font-weight:680;transition:color .25s,background .25s;display:flex}.step-nav button.is-active{color:#3730a3;background:#ecebff}.step-nav button.is-complete{color:#475569}.step-nav__icon{place-items:center;width:18px;height:18px;display:grid}.sticky-header--seat .step-nav button.is-active{color:#8b5048;background:#b86f631f}.page{min-height:calc(100dvh - 102px);padding:27px 18px 42px;position:relative}.page--light{background-color:#f7f8fa;background-image:radial-gradient(#d9dee7 .75px,#0000 .75px);background-size:17px 17px}.page--paper{background:#fff}.page--with-action{padding-bottom:118px}.page-heading{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.page-heading h1{color:#111827;letter-spacing:0;margin:5px 0 0;font-size:29px;font-weight:790;line-height:1.17}.page-heading--stacked{display:block}.page-heading--stacked>p:last-child{color:#667085;margin:11px 0 0;font-size:12px;line-height:1.75}.eyebrow{color:#64748b;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:9px;font-weight:800}.stage-pill{color:#167963;background:#f0faf7;border:1px solid #d5eee7;border-radius:999px;flex:none;align-items:center;gap:6px;margin-bottom:3px;padding:6px 8px;font-size:9px;font-weight:700;display:inline-flex}.stage-pill span{background:#1aa985;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #1aa9851f}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px;display:grid}.metric-card{text-align:center;background:#ffffffe0;border:1px solid #e2e8f0cc;border-radius:8px;min-width:0;padding:13px 8px 12px;box-shadow:0 8px 22px #0f172a0a}.metric-ring{width:68px;height:68px;margin:0 auto 8px;position:relative}.metric-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.metric-ring circle{fill:none;stroke-width:5px}.metric-ring__track{stroke:#edf0f4}.metric-ring__value{stroke:#4f46e5;stroke-linecap:round;animation:1s ease-out both draw-ring}.metric-card--teal .metric-ring__value{stroke:#0f9f8f}.metric-card--amber .metric-ring__value{stroke:#e39a22}.metric-card--blue .metric-ring__value{stroke:#2563eb}.metric-ring strong{color:#172033;flex-direction:column;justify-content:center;align-items:center;font-size:18px;font-weight:800;line-height:1;display:flex;position:absolute;inset:0}.metric-ring small{margin-top:3px;font-size:8px;font-weight:700}.metric-grade{place-items:center;width:68px;height:68px;margin:0 auto 8px;display:grid}.metric-grade strong{color:#dc2626;font-size:32px;font-weight:850;line-height:1}.metric-card h3{overflow-wrap:anywhere;color:#384152;margin:0;font-size:11px;font-weight:750}.metric-card p{color:#98a2b3;min-height:14px;margin:6px 0 0;font-size:9px;line-height:1.55}.ai-card{background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(110deg,#9aa5ff,#d7dde7 35%,#6fd5c0 68%,#f0b56d) border-box;border:1px solid #0000;border-radius:8px;margin-top:10px;padding:18px;position:relative;overflow:hidden;box-shadow:0 12px 30px #1f293712}.ai-card:after{content:"";filter:blur(10px);pointer-events:none;background:#ffffffa6;width:22%;height:180%;animation:5s ease-in-out 1.5s infinite ai-sheen;position:absolute;top:-40%;left:-25%;transform:rotate(20deg)}.ai-card__topline{align-items:center;gap:9px;display:flex}.ai-icon{color:#fff;background:#4f46e5;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 6px 16px #4f46e53d}.ai-card__topline p{color:#293242;margin:0;font-size:11px;font-weight:800}.ai-card__topline span:not(.ai-icon):not(.ai-live){color:#98a2b3;margin-top:2px;font-size:8px;display:block}.ai-live{color:#18866f;align-items:center;gap:5px;margin-left:auto;font-size:8px;font-weight:750;display:flex}.ai-live i{background:#20b895;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #20b8951f}.ai-card>h2{color:#172033;margin:17px 0 8px;font-size:17px;font-weight:780;line-height:1.45}.ai-card>p{color:#5f6978;margin:0;font-size:11px;line-height:1.9}.insight-list{gap:9px;margin-top:15px;display:grid}.insight-list>div{background:#f7f8fb;border-radius:7px;align-items:flex-start;gap:9px;padding:10px;display:flex}.insight-list>div>span{color:#5148cc;background:#eae9ff;border-radius:6px;flex:none;place-items:center;width:26px;height:26px;display:grid}.insight-list>div:nth-child(2)>span{color:#b06913;background:#fff3dc}.insight-list p{color:#737d8b;margin:0;font-size:9px;line-height:1.6}.insight-list strong{color:#384152;margin-bottom:2px;font-size:10px;display:block}.course-summary{background:#f2f4f6;border-top:1px solid #dde2e8;margin:20px -18px 0;padding:23px 18px 34px}.course-summary__heading{padding:0 0 16px}.course-summary__meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.course-summary__meta span{color:#737e8d;letter-spacing:0;font-size:7px;font-weight:800}.course-summary__heading h2{color:#1d2735;margin:7px 0 0;font-family:Songti SC,STSong,serif;font-size:23px;font-weight:700;line-height:1.25}.course-summary__heading>p{color:#687383;margin:7px 0 0;font-size:9px;font-weight:580;line-height:1.7}.lesson-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lesson-project{--lesson-accent:#7666ff;background:#dfe4ea;border:0;border-radius:8px;min-width:0;height:150px;margin:0;overflow:hidden;box-shadow:0 10px 24px #18223021}.lesson-project--2{--lesson-accent:#128d7c}.lesson-project--3{--lesson-accent:#c47b10}.lesson-project--4{--lesson-accent:#2875c7}.lesson-project__trigger{width:100%;height:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.lesson-project__trigger:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000,#0b121ce0);position:absolute;inset:38% 0 0}.lesson-project__trigger:focus-visible{outline-offset:-3px;outline:3px solid #f1c75b}.lesson-project__media{background:#e1e5ea;place-items:center;width:100%;height:100%;display:grid;position:absolute;inset:0;overflow:hidden}.lesson-project__media--portrait{background:#e8eef3}.lesson-project__media img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.lesson-project__media--portrait img{object-position:center 26%}.lesson-project__trigger:hover .lesson-project__media img{transform:scale(1.04)}.lesson-project__caption{z-index:2;grid-template-columns:23px minmax(0,1fr) 13px;align-items:center;gap:7px;padding:21px 10px 10px;display:grid;position:absolute;bottom:0;left:0;right:0}.lesson-project__caption span{color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1118273d;border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:23px;height:23px;font-family:Georgia,serif;font-size:7px;font-weight:700;display:grid}.lesson-project__caption strong{color:#fff;text-shadow:0 2px 8px #00000047;overflow-wrap:anywhere;min-width:0;font-size:10px;font-weight:800;line-height:1.35}.lesson-project__caption svg{color:#fff}.knowledge-overview{color:#fff;background:#2459d8;border-radius:8px;margin-top:13px;overflow:hidden;box-shadow:0 16px 34px #2563eb42}.knowledge-overview__heading{background:#285fcf;border-bottom:1px solid #fff3;min-height:112px;padding:17px 125px 15px 16px;position:relative;overflow:hidden}.knowledge-overview__heading:after{content:"";background:#ffd451;height:2px;position:absolute;bottom:17px;left:16px;right:104px}.knowledge-overview__heading>div{z-index:2;position:relative}.knowledge-overview__heading span{color:#ffd85d;letter-spacing:0;font-size:6.5px;font-weight:800}.knowledge-overview__heading h3{color:#fff;margin:4px 0 0;font-family:Songti SC,STSong,serif;font-size:19px;font-weight:700;line-height:1.3}.knowledge-overview__heading>div>p{color:#dbe7ff;margin:6px 0 0;font-size:7.5px;font-weight:650;line-height:1.4}.knowledge-overview__heading>img{z-index:1;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 13px #112a7338);width:108px;height:112px;display:block;position:absolute;bottom:-2px;right:4px}.knowledge-overview__grid{background:#214fbd;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.knowledge-card{min-width:0;padding:14px 12px 15px}.knowledge-card+.knowledge-card{border-left:1px solid #fff3}.knowledge-card header{align-items:center;gap:8px;display:flex}.knowledge-card header>span{color:#ffd85d;background:#ffd85d26;border-radius:7px;flex:none;place-items:center;width:31px;height:31px;display:grid}.knowledge-card--subject header>span{color:#75e2cf;background:#75e2cf26}.knowledge-card header div{align-items:baseline;gap:4px;min-width:0;display:flex}.knowledge-card header strong{color:#fff;font-family:Georgia,serif;font-size:28px;line-height:1}.knowledge-card header p{color:#dbe7ff;margin:0;font-size:7.5px;font-weight:750;line-height:1.3}.knowledge-card__tags{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.knowledge-card__tags span{color:#ffe58d;background:#ffd85d1a;border:1px solid #ffd85d4d;border-radius:3px;padding:4px 5px;font-size:6.8px;font-weight:720;line-height:1.3}.knowledge-card--subject .knowledge-card__tags span{color:#a1f0e1;background:#75e2cf1a;border-color:#75e2cf4d}.learning-review{margin-top:17px}.learning-review>header{color:#263140;border-bottom:1px solid #d8dde3;align-items:center;gap:9px;padding:0 0 12px;display:flex}.learning-review>header>span{color:#1d2938;background:#f1c75b;border-radius:7px;flex:none;place-items:center;width:31px;height:31px;display:grid}.learning-review>header p{color:#8a94a2;margin:0;font-size:6.5px;font-weight:800}.learning-review>header h3{margin:2px 0 0;font-family:Songti SC,STSong,serif;font-size:15px;font-weight:700;line-height:1.3}.learning-review__list article{border-bottom:1px solid #dde2e7;grid-template-columns:31px minmax(0,1fr);gap:9px;padding:13px 1px;display:grid}.learning-review__list article:last-child{border-bottom:0}.learning-review__list article>span{color:#9ba4b0;font-family:Georgia,serif;font-size:9px;font-weight:700}.learning-review__list strong{color:#273241;margin-bottom:4px;font-size:9.5px;font-weight:800;display:block}.learning-review__list p{color:#626d7b;margin:0;font-size:9px;font-weight:580;line-height:1.8}.lesson-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11182794;justify-content:center;align-items:flex-end;padding:16px 8px 0;animation:.2s ease-out both dialog-fade-in;display:flex;position:fixed;inset:0}.lesson-dialog{background:#fff;border-radius:8px 8px 0 0;width:min(100%,414px);max-height:calc(100dvh - 20px);animation:.28s ease-out both dialog-sheet-in;position:relative;overflow-y:auto;box-shadow:0 -18px 50px #0f172a42}.lesson-dialog__close{z-index:2;color:#283344;background:#ffffffe6;border:1px solid #ffffffbf;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 5px 15px #0f172a24}.lesson-dialog__media{background:#edf1f5;place-items:center;width:100%;height:210px;display:grid;overflow:hidden}.lesson-dialog__media--portrait{background:#e7edf2}.lesson-dialog__media img{object-fit:contain;width:100%;height:100%;display:block}.lesson-dialog__content{padding:18px 18px max(20px,env(safe-area-inset-bottom))}.lesson-dialog__content>p{color:#4f46e5;margin:0;font-size:8px;font-weight:800}.lesson-dialog__content>h2{color:#202a39;margin:5px 0 0;font-family:Songti SC,STSong,serif;font-size:23px;font-weight:700;line-height:1.3}.lesson-dialog__knowledge{gap:9px;margin-top:16px;display:grid}.lesson-dialog__knowledge section{background:#f6f6ff;border-left:3px solid #4f46e5;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:12px;display:grid}.lesson-dialog__knowledge section:nth-child(2){background:#f0faf7;border-left-color:#0f8f7b}.lesson-dialog__knowledge section>span{color:#fff;background:#4f46e5;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.lesson-dialog__knowledge section:nth-child(2)>span{background:#0f8f7b}.lesson-dialog__knowledge h3{color:#2b3545;margin:0;font-size:10px;font-weight:800}.lesson-dialog__knowledge p{color:#5f6b7b;margin:4px 0 0;font-size:10px;font-weight:580;line-height:1.75}.lesson-dialog__project{border-top:1px solid #e8ebef;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.lesson-dialog__project span{color:#98a2b3;font-size:8px;font-weight:800}.lesson-dialog__project strong{color:#2b3545;text-align:right;font-size:10px}.bottom-action{z-index:25;width:min(100%,430px);padding:13px 18px max(14px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border-top:1px solid #e2e8f0b3;gap:10px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-action .back-button{border-color:#dce2e9;width:50px;height:50px}.ability-page{overflow-x:hidden}.ability-hero{padding:6px 2px 0;position:relative}.ability-hero:before{content:"02";color:#e5e7eb;pointer-events:none;font-family:Georgia,serif;font-size:64px;font-weight:700;line-height:1;position:absolute;top:-16px;right:-1px}.ability-hero>*{z-index:1;position:relative}.ability-hero .eyebrow{color:#9a3e37}.ability-hero h1{color:#111827;margin:8px 0 0;font-family:Songti SC,STSong,serif;font-size:29px;font-weight:700;line-height:1.2}.ability-hero h1 span{color:#c62828}.ability-hero>p:last-child{color:#555f6d;text-align:justify;margin:15px 0 0;font-size:11px;line-height:1.95}.ability-hero__highlight,.ability-hero__conclusion{color:#c62828;font-weight:750}.ability-overview{margin-top:20px}.ability-overview__heading{margin-bottom:10px}.ability-overview__heading p{color:#a53b35;margin:0;font-size:7px;font-weight:800}.ability-overview__heading h2{color:#242d3b;margin:4px 0 0;font-size:18px;font-weight:790;line-height:1.35}.ability-overview__image{background:#fff4f2;border:1px solid #f1c7c4;border-radius:8px;width:100%;height:auto;display:block;box-shadow:0 14px 32px #9a2d2621}.competition-plan-image{aspect-ratio:1600/1130;object-fit:contain;background:#fff1f1;border-radius:8px;width:100%;height:auto;margin-top:20px;display:block;box-shadow:0 10px 26px #8b2e2e1f}.monthly-plan-section{margin-top:18px}.monthly-plan-section__heading{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px;display:flex}.monthly-plan-section__heading p{color:#929aa7;letter-spacing:.12em;margin:0;font-size:7px;font-weight:800}.monthly-plan-section__heading h2{color:#242d3b;margin:4px 0 0;font-size:17px;font-weight:790}.monthly-plan-section__heading>span{color:#a22f2f;background:#fff0f0;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:750}.monthly-plan-table-wrap{background:#fff;border:1px solid #e1e6ed;border-radius:8px;overflow:hidden;box-shadow:0 10px 26px #0f172a0d}.monthly-plan-table{border-collapse:separate;border-spacing:0;table-layout:fixed;word-break:break-word;width:100%}.monthly-plan-table th,.monthly-plan-table td{vertical-align:top;text-align:left;border-bottom:1px solid #e8ecf1;border-right:1px solid #e8ecf1;padding:10px 5px}.monthly-plan-table thead th{color:#fff;text-align:center;vertical-align:middle;background:#e64a49;font-size:7px;font-weight:800;line-height:1.35}.monthly-plan-table thead th:first-child{background:#f09a29;width:15%}.monthly-plan-table thead th:nth-child(2){width:37%}.monthly-plan-table thead th:nth-child(3){background:#3d82bd;width:23%}.monthly-plan-table thead th:nth-child(4){background:#4f9b66;width:25%}.monthly-plan-table tr>:last-child{border-right:0}.monthly-plan-table tbody tr:last-child>*{border-bottom:0}.monthly-plan-table tbody th{color:#704114;text-align:center;vertical-align:middle;background:#fff2df}.monthly-plan-table tbody th strong{font-size:8px;font-weight:850;line-height:1.45;display:block}.monthly-plan-table tbody tr:nth-child(2n) td{background:#fbfcfd}.plan-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.plan-list li{color:#465261;padding-left:7px;font-size:7px;font-weight:650;line-height:1.5;position:relative}.plan-list li:before{content:"";background:#ee6a3b;border-radius:50%;width:3px;height:3px;position:absolute;top:.58em;left:0}.monthly-plan-table td:nth-child(3) .plan-list li:before{background:#3d82bd}.monthly-plan-table td:nth-child(4) .plan-list li:before{background:#4f9b66}.monthly-plan-table tbody tr:nth-child(3) td:nth-child(4),.monthly-plan-table tbody tr:nth-child(5) td:nth-child(4),.monthly-plan-table tbody tr:nth-child(6) td:nth-child(4){background:#fff1f0;box-shadow:inset 3px 0 #d93a3a}.monthly-plan-table tbody tr:nth-child(3) td:nth-child(4) .plan-list li,.monthly-plan-table tbody tr:nth-child(5) td:nth-child(4) .plan-list li,.monthly-plan-table tbody tr:nth-child(6) td:nth-child(4) .plan-list li{color:#c42121;font-weight:800}.monthly-plan-table tbody tr:nth-child(3) td:nth-child(4) .plan-list li:before,.monthly-plan-table tbody tr:nth-child(5) td:nth-child(4) .plan-list li:before,.monthly-plan-table tbody tr:nth-child(6) td:nth-child(4) .plan-list li:before{background:#d93a3a}.letter-page{color:#fff;background-color:#2459d8;background-image:linear-gradient(#ffffff0e 1px,#0000 1px);background-size:100% 30px;padding-top:18px}.family-letter{color:#fff;background:#1039a838;border:1px solid #ffffff52;border-radius:8px;padding:18px 17px 26px;font-family:Songti SC,STSong,serif;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #ffffff0b,0 18px 42px #0f32913d}.family-letter:after{content:"";pointer-events:none;border:1px solid #ffd85d2e;border-radius:6px;position:absolute;inset:8px}.family-letter>*{z-index:2;position:relative}.letter-letterhead{align-items:flex-start;gap:11px;min-height:126px;padding:8px 118px 14px 5px;display:flex}.letter-seal{color:#2459d8;background:#ffd85d;border:1px solid #ffffff57;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 18px #14369138}.letter-letterhead>div:nth-child(2){min-width:0}.letter-letterhead p{color:#ffd85d;letter-spacing:0;margin:2px 0 0;font-family:Avenir Next,PingFang SC,sans-serif;font-size:7px;font-weight:800;line-height:1.45}.letter-letterhead h1{color:#fff;white-space:nowrap;margin:6px 0 0;font-size:25px;font-weight:700;line-height:1.24}.letter-mascot{z-index:1;object-fit:contain;filter:drop-shadow(0 10px 16px #0e2e8538);width:104px;height:104px;display:block;position:absolute;top:6px;right:-14px}.letter-rule{border-top:1px solid #ffffff61;height:10px;margin-top:1px;position:relative}.letter-rule span{background:#ffd85d;width:58px;height:5px;position:absolute;top:-3px;left:0}.letter-salutation{color:#fff;margin:16px 0 0;font-size:14px;font-weight:700}.letter-lead{color:#fff;max-width:320px;margin:17px 0 0;font-size:15px;font-weight:700;line-height:1.75}.letter-body{color:#dce7ff;text-align:justify;margin:13px 0 0;font-size:11px;line-height:2}.letter-principles{margin-top:22px;display:grid}.letter-principles section{cursor:pointer;border-top:1px solid #ffffff2e;outline:none;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:18px 0;transition:background .2s,border-color .2s,transform .2s;display:grid}.letter-principles section:hover,.letter-principles section:focus-visible{background:#ffffff0e;border-top-color:#ffd85d94;transform:translate(2px)}.letter-principles section>span{color:#ffd85d;padding-top:2px;font-family:Georgia,serif;font-size:11px;font-weight:700;line-height:1.2}.letter-principles__meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.letter-principles__category{font-family:Avenir Next,PingFang SC,sans-serif;font-weight:800;color:#ffd85d!important;text-align:left!important;margin:0 0 5px!important;font-size:9px!important;line-height:1.3!important}.letter-principles__meta>span{color:#fff;flex:none;align-items:center;gap:4px;font-family:Avenir Next,PingFang SC,sans-serif;font-size:8px;font-weight:700;display:inline-flex}.letter-principles h2{color:#fff;margin:0;font-family:Avenir Next,PingFang SC,sans-serif;font-size:14px;font-weight:780;line-height:1.45}.letter-principles p{color:#dce7ff;text-align:justify;margin:8px 0 0;font-size:10px;line-height:1.9}.letter-principles__benefits{border-top:1px solid #ffd85d3d;margin-top:12px;padding-top:10px;font-family:Avenir Next,PingFang SC,sans-serif}.letter-principles__benefits strong{color:#ffd85d;font-size:8px;font-weight:800;line-height:1.4;display:block}.letter-principles__benefits>div{flex-wrap:wrap;gap:6px 0;margin-top:6px;display:flex}.letter-principles__benefits span{color:#fff;font-size:8px;font-weight:650;line-height:1.45}.letter-principles__benefits span+span{border-left:1px solid #ffffff57;margin-left:7px;padding-left:7px}.letter-closing{color:#f5f8ff;text-indent:2em;border-top:1px solid #ffd85d80;margin:10px 0 0;padding-top:18px;font-size:11px;line-height:1.95}.letter-signature{color:#fff;flex-direction:column;align-items:flex-end;margin-top:20px;display:flex}.letter-signature strong{font-size:12px;font-weight:700}.letter-signature span{color:#ffd85d;margin-top:4px;font-size:10px}.agreement-check{color:#fff;text-align:left;background:#0d35a052;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:11px;width:100%;margin-top:13px;padding:13px;transition:border-color .25s,background .25s,box-shadow .25s;display:flex}.agreement-check>span{color:#2459d8;background:#ffffff1f;border:1px solid #ffffffb3;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;display:grid}.agreement-check strong{color:#fff;font-size:11px;display:block}.agreement-check small{color:#d4e1ff;margin-top:3px;font-size:8px;display:block}.agreement-check.is-checked{background:#ffd85d1f;border-color:#ffd85d;box-shadow:0 8px 22px #0e2e8533}.agreement-check.is-checked>span{background:#ffd85d;border-color:#ffd85d}.letter-page .bottom-action{background:#1f4ec7eb;border-top-color:#ffffff2e}.letter-page .bottom-action .back-button{color:#fff;background:#ffffff1f;border-color:#ffffff57}.letter-page .primary-button{color:#fff;background:#1746b8;border:1px solid #ffffff57;box-shadow:0 10px 24px #0c2a7a47}.reason-detail-backdrop{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05123db8;justify-content:center;align-items:flex-end;padding:16px 8px 0;animation:.2s ease-out both dialog-fade-in;display:flex;position:fixed;inset:0}.reason-detail-dialog{color:#fff;background:#123ca9;border:1px solid #ffffff3d;border-radius:8px 8px 0 0;flex-direction:column;width:min(100%,414px);max-height:calc(100dvh - 16px);animation:.28s ease-out both dialog-sheet-in;display:flex;position:relative;overflow:hidden;box-shadow:0 -20px 56px #030f366b}.reason-detail-dialog__close{z-index:3;color:#1e3a8a;background:#fffffff0;border:1px solid #ffffff7a;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 5px 15px #05123d33}.reason-detail-dialog__media{overscroll-behavior:contain;scrollbar-width:thin;background:#fff7f5;flex:1;width:100%;min-height:0;overflow:hidden auto}.reason-detail-dialog__image{width:100%;height:auto;display:block}.reason-detail-dialog__content{padding:17px 18px max(22px,env(safe-area-inset-bottom))}.reason-detail-dialog__content p{color:#ffd85d;margin:0;font-size:9px;font-weight:800}.reason-detail-dialog__content h2{color:#fff;margin:6px 0 0;font-family:Songti SC,STSong,serif;font-size:21px;line-height:1.35}.seat-page{color:#172033;background-color:#fdf4f1;background-image:var(--login-background-image);background-position:50%;background-size:cover;min-height:calc(100dvh - 102px)}.particle-field{pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle-field i{background:#b98a66;border-radius:50%;width:2px;height:2px;animation:6s ease-in-out infinite particle-float;position:absolute;box-shadow:0 0 8px #b98a667a}.particle-field i:nth-child(3n){background:#a87575;border-radius:0;width:3px;height:1px}.seat-back{z-index:2;color:#88777a;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:10px;display:inline-flex;position:relative}.seat-intro{z-index:2;text-align:center;margin-top:25px;position:relative}.seat-intro__icon{color:#9a743b;background:#ffffffad;border:1px solid #ead6cf;border-radius:50%;place-items:center;width:44px;height:44px;margin:0 auto 12px;display:grid;box-shadow:0 10px 24px #7b534a14}.seat-intro .eyebrow{color:#9f685f}.seat-intro h1{white-space:pre-line;color:#172033;max-width:340px;margin:8px auto;font-family:Songti SC,serif;font-size:28px;font-weight:700;line-height:1.32}.seat-intro>p:last-child{color:#786e75;max-width:320px;margin:0 auto;font-size:10px;line-height:1.7}.class-schedule-image{z-index:2;object-fit:contain;border-radius:8px;width:100%;height:auto;margin-top:25px;display:block;position:relative;box-shadow:0 18px 38px #9b3b232e}.course-time-picker{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border:1px solid #e1cbc4d1;border-radius:8px;margin-top:15px;padding:14px;position:relative;box-shadow:0 10px 24px #7b534a12}.course-time-picker__heading{align-items:center;gap:10px;display:flex}.course-time-picker__heading>span{color:#9a743b;background:#f6ead2;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.course-time-picker__heading p{color:#9a6a62;margin:0;font-size:8px;font-weight:800}.course-time-picker__heading h2{color:#343944;margin:2px 0 0;font-size:14px;font-weight:790;line-height:1.35}.course-time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.course-time-fields label{min-width:0}.course-time-fields label>span{color:#8b7d81;margin-bottom:5px;font-size:8px;font-weight:700;display:block}.course-time-fields select{color:#3d414b;background:#fff;border:1px solid #dfd1cc;border-radius:7px;outline:none;width:100%;min-width:0;height:38px;padding:0 8px;font-size:10px;font-weight:700}.course-time-fields select:focus{border-color:#b88378;box-shadow:0 0 0 3px #b883781f}.course-time-fields select:disabled{color:#65706d;opacity:1;background:#edf3f1}.course-time-picker__note{color:#7c6e72;align-items:center;gap:5px;margin:10px 0 0;font-size:8px;line-height:1.5;display:flex}.seat-action-wrap{z-index:25;width:min(100%,430px);padding:13px 18px max(14px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf8db;border-top:1px solid #e1cbc4b3;margin:0 auto;position:fixed;bottom:0;left:0;right:0}.reserve-button{color:#1c1a15;background:#d8bd7a;border:1px solid #d4b56f;border-radius:999px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:52px;font-size:14px;font-weight:800;transition:background .3s,color .3s;animation:2.4s ease-in-out infinite reserve-pulse;display:flex;box-shadow:0 0 #d8bd7a4d}.reserve-button.is-reserved{color:#c7e7de;background:#21483e;border-color:#3c7e6c;animation:none}.seat-action-wrap>p{color:#92858a;justify-content:center;align-items:center;gap:5px;margin:7px 0 0;font-size:7px;display:flex}.toast{z-index:60;top:max(18px,env(safe-area-inset-top));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #d9e3df;border-radius:8px;align-items:center;gap:10px;width:min(100% - 32px,398px);padding:12px 14px;animation:.4s ease-out both toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0f172a33}.toast__icon{color:#fff;background:#23836b;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;display:grid}.toast--error .toast__icon{background:#b43d3d}.admin-session-loading{color:#506271;background:#eef1f4;place-content:center;justify-items:center;gap:10px;min-height:100vh;display:grid}.admin-session-loading svg{color:#176f61}.admin-session-loading p{margin:0;font-size:11px;font-weight:700}.admin-login-shell{color:#172033;background:#e8edf1;place-items:center;min-height:100vh;padding:30px;display:grid}.admin-login-panel{background:#fff;border:1px solid #d6dee4;border-radius:8px;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);width:min(100%,820px);min-height:480px;display:grid;overflow:hidden;box-shadow:0 26px 70px #18344f24}.admin-login-copy{color:#fff;background:#18344f;flex-direction:column;justify-content:flex-end;padding:42px;display:flex}.admin-login-copy>span{color:#70d6c2;background:#70d6c214;border:1px solid #70d6c26b;border-radius:8px;place-items:center;width:46px;height:46px;margin-bottom:auto;display:grid}.admin-login-copy p{color:#70d6c2;margin:0 0 10px;font-size:9px;font-weight:800}.admin-login-copy h1{margin:0;font-family:Songti SC,STSong,serif;font-size:34px;font-weight:700;line-height:1.2}.admin-login-copy strong{color:#c8d6df;max-width:260px;margin-top:14px;font-size:12px;font-weight:500;line-height:1.7;display:block}.admin-login-form{flex-direction:column;justify-content:center;gap:16px;padding:42px;display:flex}.admin-login-form>div:first-child p{color:#176f61;margin:0;font-size:9px;font-weight:800}.admin-login-form h2{color:#1e2c38;margin:5px 0 0;font-size:21px;line-height:1.35}.admin-login-form label>span{color:#647582;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.admin-login-form label>div{color:#81909a;background:#fbfcfd;border:1px solid #d7dfe5;border-radius:7px;align-items:center;gap:9px;height:43px;padding:0 12px;display:flex}.admin-login-form label>div:focus-within{border-color:#277c6d;box-shadow:0 0 0 3px #277c6d1a}.admin-login-form input{color:#1d2c3a;background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:12px}.admin-login-form>button{color:#fff;background:#176f61;border:1px solid #176f61;border-radius:7px;height:44px;font-size:11px;font-weight:800}.admin-login-form>button:disabled{opacity:.62}.admin-login-form>small{color:#8a97a1;text-align:center;font-size:8px}.admin-login-error{color:#a13737;background:#fff0f0;border-radius:6px;margin:-6px 0 0;padding:8px 10px;font-size:9px;line-height:1.5}.admin-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#10233485;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.admin-password-dialog{background:#fff;border:1px solid #d8e0e5;border-radius:8px;flex-direction:column;gap:14px;width:min(100%,390px);padding:24px;display:flex;position:relative;box-shadow:0 24px 70px #0c1c2b40}.admin-dialog-close{color:#667784;background:#fff;border:1px solid #dce2e7;border-radius:7px;place-items:center;width:31px;height:31px;display:grid;position:absolute;top:12px;right:12px}.admin-password-dialog__heading{align-items:center;gap:10px;padding-right:38px;display:flex}.admin-password-dialog__heading>span{color:#176f61;background:#e4f4f0;border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.admin-password-dialog__heading p{color:#6f7e89;margin:0;font-size:8px;font-weight:800}.admin-password-dialog__heading h2{color:#1c2b37;margin:3px 0 0;font-size:18px}.admin-password-dialog label>span{color:#647582;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.admin-password-dialog input{color:#1d2c3a;background:#fbfcfd;border:1px solid #d7dfe5;border-radius:7px;outline:none;width:100%;height:40px;padding:0 11px;font-size:11px}.admin-password-dialog input:focus{border-color:#277c6d;box-shadow:0 0 0 3px #277c6d1a}.admin-password-submit{color:#fff;background:#176f61;border:1px solid #176f61;border-radius:7px;height:42px;font-size:10px;font-weight:800}.admin-password-submit:disabled{opacity:.62}.admin-shell{color:#172033;background:#eef1f4;min-height:100vh}.admin-header{color:#fff;background:#18344f;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px max(28px,50vw - 590px) 26px;display:flex}.admin-header p{color:#70d6c2;margin:0;font-size:10px;font-weight:800;line-height:1.4}.admin-header h1{margin:7px 0 0;font-family:Songti SC,STSong,serif;font-size:30px;font-weight:700;line-height:1.2}.admin-header span{color:#c6d4df;margin-top:8px;font-size:12px;line-height:1.6;display:block}.admin-account{flex:none;align-items:center;gap:8px;display:flex}.admin-account>div{border-right:1px solid #ffffff2e;align-items:center;gap:8px;padding-right:10px;display:flex}.admin-account>div>span{color:#70d6c2;background:#70d6c21c;border-radius:7px;place-items:center;width:30px;height:30px;margin:0;display:grid}.admin-account p{flex-direction:column;margin:0;display:flex}.admin-account strong{color:#fff;font-size:10px;line-height:1.4}.admin-account small{color:#91a8b8;font-size:7px;line-height:1.4}.admin-account button,.admin-account a{color:#fff;background:0 0;border:1px solid #ffffff42;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 10px;font-size:9px;font-weight:700;text-decoration:none;display:inline-flex}.admin-content{width:min(100% - 40px,1180px);margin:0 auto;padding:24px 0 40px}.admin-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.admin-stats article{background:#fff;border:1px solid #dce2e7;border-radius:8px;align-items:center;gap:12px;min-width:0;padding:16px;display:flex;box-shadow:0 7px 20px #1d2f3e0a}.admin-stats article>span{color:#186f61;background:#e4f4f0;border-radius:7px;flex:none;place-items:center;width:38px;height:38px;display:grid}.admin-stats article:nth-child(2)>span{color:#285ba7;background:#e8effa}.admin-stats article:nth-child(3)>span{color:#9b6820;background:#f8eedb}.admin-stats strong{color:#172033;font-size:24px;font-weight:800;line-height:1;display:block}.admin-stats strong small{margin-left:2px;font-size:12px;font-weight:800}.admin-stats p{color:#71808c;margin:5px 0 0;font-size:10px;font-weight:700}.admin-workspace{background:#fff;border:1px solid #dce2e7;border-radius:8px;margin-top:18px;overflow:hidden;box-shadow:0 12px 30px #1d2f3e0f}.admin-toolbar{border-bottom:1px solid #e5e9ed;justify-content:space-between;align-items:center;gap:18px;padding:17px 18px;display:flex}.admin-toolbar p{color:#74828e;margin:0;font-size:8px;font-weight:800}.admin-toolbar h2{color:#1d2c3a;margin:4px 0 0;font-size:17px;font-weight:800;line-height:1.3}.admin-toolbar__actions{flex:none;align-items:center;gap:8px;display:flex}.admin-icon-button{color:#526474;background:#fff;border:1px solid #d7dee4;border-radius:7px;place-items:center;width:36px;height:36px;display:grid}.admin-download-button{color:#176f61;background:#f3f8f6;border:1px solid #b8c9c4;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 12px;font-size:10px;font-weight:800;display:inline-flex}.admin-download-button:disabled{opacity:.6}.admin-import-button{color:#fff;background:#176f61;border:1px solid #176f61;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 13px;font-size:10px;font-weight:800;display:inline-flex}.admin-import-button:disabled{opacity:.6}.admin-import-note{color:#61717e;background:#f7f9fa;align-items:flex-start;gap:8px;padding:11px 18px;display:flex}.admin-import-note svg{color:#267b6d;flex:none;margin-top:1px}.admin-import-note p{margin:0;font-size:9px;line-height:1.65}.admin-import-history{color:#74828e;background:#fbfcfd;border-top:1px solid #edf0f2;align-items:center;gap:10px;min-width:0;padding:9px 18px;display:flex;overflow:hidden}.admin-import-history strong{color:#405260;flex:none;font-size:8px}.admin-import-history span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:8px;overflow:hidden}.admin-message{border-radius:6px;align-items:center;gap:7px;margin:12px 18px 0;padding:10px 11px;font-size:10px;font-weight:700;line-height:1.5;display:flex}.admin-message--success{color:#176f61;background:#e9f6f2}.admin-message--error{color:#a13737;background:#fff0f0}.admin-filterbar{background:#fff;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2;align-items:center;gap:8px;padding:12px 18px;display:flex}.admin-filterbar label{color:#82909a;background:#fbfcfd;border:1px solid #d9e0e5;border-radius:7px;align-items:center;gap:7px;width:min(100%,310px);height:35px;padding:0 10px;display:flex}.admin-filterbar label:focus-within{border-color:#287b6e}.admin-filterbar input{color:#263641;background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:9px}.admin-filterbar select{color:#526472;background:#fff;border:1px solid #d9e0e5;border-radius:7px;outline:none;height:35px;padding:0 9px;font-size:9px;font-weight:700}.admin-filterbar>span{color:#82909a;white-space:nowrap;margin-left:auto;font-size:8px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:760px}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8ecef;padding:13px 16px}.admin-table th{color:#6b7a86;background:#fbfcfd;font-size:9px;font-weight:800}.admin-table th:first-child{width:25%}.admin-table th:nth-child(2){width:29%}.admin-table th:nth-child(3),.admin-table th:nth-child(4){width:23%}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table td>strong{color:#253542;font-size:11px;font-weight:800;line-height:1.45;display:block}.admin-table td>span{color:#667784;margin-top:3px;font-size:9px;line-height:1.5;display:block}.admin-table td>small{color:#98a3ad;margin-top:3px;font-size:8px;line-height:1.45;display:block}.admin-report-code{color:#176f61;background:#f0f7f5;border:1px solid #d8e5e1;border-radius:5px;align-items:center;gap:5px;max-width:100%;margin-top:5px;padding:4px 6px;display:inline-flex}.admin-report-code code{text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1;overflow:hidden}.admin-report-code svg{flex:none}.admin-status strong{color:#7c8790;background:#eef1f3;border-radius:4px;padding:4px 6px;font-size:8px;font-weight:800;line-height:1;display:inline-block}.admin-status.is-active strong{color:#176f61;background:#e4f4f0}.admin-status span{color:#8b98a2;margin-top:5px;font-size:8px;line-height:1.4;display:block}.admin-table-state{color:#7c8993;text-align:center;padding:44px 18px;font-size:11px}.page-enter{animation:.38s ease-out both page-in}@keyframes image-settle{0%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes page-in{0%{opacity:.25}to{opacity:1}}@keyframes draw-ring{0%{stroke-dashoffset:195px}}@keyframes ai-sheen{0%,55%{transform:translate(-150%)rotate(20deg)}78%,to{transform:translate(700%)rotate(20deg)}}@keyframes particle-float{0%,to{opacity:.2;transform:translate(0)}50%{opacity:.8;transform:translate(8px,-12px)}}@keyframes reserve-pulse{0%,to{box-shadow:0 0 #d8bd7a40}50%{box-shadow:0 0 0 8px #d8bd7a00}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-14px)}to{opacity:1;transform:translate(-50%)}}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-sheet-in{0%{opacity:.75;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media (width>=720px){body{background:#e9edf2}.app-shell,.login-shell{min-height:100vh}}@media (width<=680px){.admin-login-shell{padding:16px}.admin-login-panel{grid-template-columns:1fr;min-height:0}.admin-login-copy{min-height:210px;padding:24px}.admin-login-copy>span{width:38px;height:38px;margin-bottom:34px}.admin-login-copy h1{font-size:28px}.admin-login-form{padding:24px}.admin-header{flex-direction:column;align-items:flex-start;padding:24px 20px}.admin-header h1{font-size:24px}.admin-header span{max-width:260px}.admin-account{flex-wrap:wrap;width:100%}.admin-account>div{margin-right:auto}.admin-content{width:calc(100% - 24px);padding-top:14px}.admin-stats{grid-template-columns:1fr;gap:8px}.admin-stats article{padding:12px}.admin-toolbar{flex-direction:column;align-items:flex-start;padding:14px}.admin-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;width:100%}.admin-import-note{padding:10px 14px}.admin-import-history{flex-direction:column;align-items:flex-start;gap:5px;padding:10px 14px}.admin-import-history span{width:100%}.admin-filterbar{flex-wrap:wrap;padding:10px 14px}.admin-filterbar label{width:100%}.admin-filterbar select{flex:auto}.admin-table-wrap{overflow-x:visible}.admin-table{min-width:0;display:block}.admin-table thead{display:none}.admin-table tbody{display:block}.admin-table tr{border-bottom:1px solid #e8ecef;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.admin-table tbody tr:last-child{border-bottom:0}.admin-table td{border:0;min-width:0;padding:0;display:block}.admin-table td:first-child{border-bottom:1px solid #eef1f3;grid-column:1/-1;padding-bottom:11px}.admin-table td:nth-child(n+2):before{color:#8a97a1;margin-bottom:6px;font-size:7px;font-weight:800;line-height:1.3;display:block}.admin-table td:nth-child(2):before{content:"学习数据"}.admin-table td:nth-child(3):before{content:"家长查看"}.admin-table td:nth-child(4):before{content:"学位状态"}.admin-table td>strong{font-size:10px}.admin-table td>span{font-size:8px}}@media (height<=720px){.login-copy{margin-top:34px}.login-copy h1{font-size:34px}.glass-login{padding:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-login-copy{isolation:isolate;position:relative;overflow:hidden}.admin-login-copy:after{z-index:-1;content:"";border:1px solid #70d6c229;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-100px;right:-76px;box-shadow:0 0 0 42px #70d6c20a,0 0 0 84px #70d6c206}.admin-stats--four{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stats--four article:first-child>span{color:#176f61;background:#e4f4f0}.admin-stats--four article:nth-child(2)>span{color:#285ba7;background:#e8effa}.admin-stats--four article:nth-child(3)>span{color:#9b6820;background:#f8eedb}.admin-stats--four article:nth-child(4)>span{color:#9a3e42;background:#fae8e9}.admin-tabs{background:#e4e9ed;border:1px solid #d8e0e5;border-radius:8px;gap:4px;margin-top:20px;padding:4px;display:inline-flex}.admin-tabs button{color:#667582;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;min-height:37px;padding:0 14px;font-size:10px;font-weight:800;display:inline-flex}.admin-tabs button.is-active{color:#17334d;background:#fff;box-shadow:0 2px 7px #1e31411a}.admin-tabs+.admin-workspace{margin-top:10px}.admin-toolbar__actions{flex-wrap:wrap;justify-content:flex-end}.admin-add-button{color:#fff;background:#254a6a;border:1px solid #254a6a;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 13px;font-size:10px;font-weight:800;display:inline-flex}.admin-admin-import-button{color:#fff;background:#70534f;border:1px solid #70534f;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 13px;font-size:10px;font-weight:800;display:inline-flex}.admin-import-note--password{color:#5b512d;background:#fff9e8}.admin-import-note--password svg{color:#9a7028}.admin-import-note strong{color:inherit;font-size:10px}.admin-bulkbar{background:#fbfcfd;border-top:1px solid #edf0f2;border-bottom:1px solid #e5e9ed;align-items:center;gap:13px;min-height:46px;padding:8px 18px;display:flex}.admin-bulkbar label{color:#405260;align-items:center;gap:7px;font-size:9px;font-weight:800;display:inline-flex}.admin-bulkbar>span{color:#81909b;font-size:8px}.admin-bulkbar input,.admin-table input[type=checkbox]{accent-color:#176f61;width:15px;height:15px}.admin-danger-button{color:#9d383d;background:#fff4f4;border:1px solid #dfb7b9;border-radius:6px;align-items:center;gap:6px;height:31px;margin-left:auto;padding:0 10px;font-size:9px;font-weight:800;display:inline-flex}.admin-danger-button:disabled{opacity:.45}.admin-teacher-table{min-width:920px}.admin-teacher-table th:first-child{width:5%}.admin-teacher-table th:nth-child(2){width:25%}.admin-teacher-table th:nth-child(3){width:19%}.admin-teacher-table th:nth-child(4){width:15%}.admin-teacher-table th:nth-child(5){width:36%}.admin-student-table.is-admin{min-width:1080px}.admin-student-table.is-admin th:first-child{width:13%}.admin-student-table.is-admin th:nth-child(2){width:20%}.admin-student-table.is-admin th:nth-child(3){width:15%}.admin-student-table.is-admin th:nth-child(4){width:11%}.admin-student-table.is-admin th:nth-child(5){width:17%}.admin-student-table.is-admin th:nth-child(6),.admin-student-table.is-admin th:nth-child(7){width:12%}.admin-structure-cell>strong{overflow-wrap:anywhere}.admin-structure-cell.is-empty>strong{color:#98a3ad;font-weight:700}.admin-account-state{background:#f7eaea;border-radius:5px;width:fit-content;padding:5px 7px;font-weight:800;color:#8b5558!important;margin:0!important;font-size:8px!important;display:inline-flex!important}.admin-account-state.is-active{background:#e4f4f0;color:#176f61!important}.admin-row-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-row-actions button{color:#536675;background:#fff;border:1px solid #d6dee4;border-radius:6px;align-items:center;gap:5px;height:30px;padding:0 8px;font-size:8px;font-weight:800;display:inline-flex}.admin-row-actions button:hover,.admin-icon-button:hover,.admin-download-button:hover{background:#f6f9fa;border-color:#8fa6b7}.admin-protected-label{align-items:center;gap:5px;font-weight:800;color:#7b8994!important;margin:0!important;font-size:8px!important;display:inline-flex!important}.admin-form-dialog{background:#fff;border:1px solid #d8e0e5;border-radius:8px;width:min(100%,400px);max-height:min(90vh,760px);padding:24px;animation:.24s ease-out both dialog-sheet-in;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0c1c2b40}.admin-form-dialog--wide{width:min(100%,620px)}.admin-dialog-heading{align-items:center;gap:10px;padding-right:38px;display:flex}.admin-dialog-heading>span{color:#176f61;background:#e4f4f0;border-radius:7px;flex:none;place-items:center;width:38px;height:38px;display:grid}.admin-dialog-heading p{color:#6f7e89;margin:0;font-size:8px;font-weight:800}.admin-dialog-heading h2{color:#1c2b37;margin:3px 0 0;font-size:18px}.admin-dialog-form{flex-direction:column;gap:13px;margin-top:20px;display:flex}.admin-dialog-form--grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-dialog-form label{min-width:0}.admin-dialog-form label>span{color:#647582;margin-bottom:5px;font-size:9px;font-weight:800;display:block}.admin-dialog-form input,.admin-dialog-form select{color:#1d2c3a;background:#fbfcfd;border:1px solid #d7dfe5;border-radius:7px;outline:none;width:100%;min-width:0;height:40px;padding:0 11px;font-size:11px}.admin-dialog-form input:focus,.admin-dialog-form select:focus{border-color:#277c6d;box-shadow:0 0 0 3px #277c6d1a}.admin-dialog-hint{color:#61717e;background:#f3f6f8;border-radius:6px;grid-column:1/-1;margin:0;padding:9px 10px;font-size:8px;line-height:1.6}.admin-dialog-error{grid-column:1/-1}.admin-dialog-submit{color:#fff;background:#176f61;border:1px solid #176f61;border-radius:7px;grid-column:1/-1;height:42px;font-size:10px;font-weight:800}.admin-dialog-submit:disabled{opacity:.62}@media (width<=820px){.admin-stats--four{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-header{flex-direction:column;align-items:flex-start}.admin-account{flex-wrap:wrap;width:100%}.admin-account>div{margin-right:auto}}@media (width<=680px){.admin-stats,.admin-stats--four{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats article{gap:9px}.admin-stats strong{font-size:20px}.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.admin-tabs button{justify-content:center;padding:0 8px}.admin-toolbar__actions{justify-content:flex-start}.admin-toolbar__actions>button:not(.admin-icon-button){flex:auto;padding:0 9px}.admin-bulkbar{flex-wrap:wrap;padding:10px 14px}.admin-danger-button{margin-left:0}.admin-form-dialog{padding:20px 16px}.admin-dialog-form--grid{grid-template-columns:1fr}.admin-dialog-hint,.admin-dialog-error,.admin-dialog-submit{grid-column:auto}.admin-teacher-table,.admin-student-table.is-admin{width:100%;min-width:0}.admin-table tr,.admin-student-table.is-admin tr{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-student-table:not(.is-admin) td:first-child{grid-column:1/-1}.admin-student-table.is-admin td:first-child{border-bottom:0;order:2;grid-column:auto;padding-bottom:0}.admin-student-table.is-admin td:nth-child(2){border-bottom:1px solid #eef1f3;order:1;grid-column:1/-1;padding-bottom:11px}.admin-student-table.is-admin td:nth-child(3){order:3}.admin-student-table.is-admin td:nth-child(4){order:4}.admin-student-table.is-admin td:nth-child(5){order:5}.admin-student-table.is-admin td:nth-child(6){order:6}.admin-student-table.is-admin td:nth-child(7){order:7}.admin-student-table.is-admin td:first-child:before{color:#8a97a1;content:"课线";margin-bottom:6px;font-size:7px;font-weight:800;line-height:1.3;display:block}.admin-student-table.is-admin td:nth-child(2):before{content:none}.admin-student-table.is-admin td:nth-child(3):before{content:"归属老师"}.admin-student-table.is-admin td:nth-child(4):before{content:"组长"}.admin-student-table.is-admin td:nth-child(5):before{content:"学习数据"}.admin-student-table.is-admin td:nth-child(6):before{content:"家长访问"}.admin-student-table.is-admin td:nth-child(7):before{content:"学位状态"}.admin-teacher-table tr{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:42px;display:grid;position:relative}.admin-teacher-table td:first-child{border:0;padding:0;display:block;position:absolute;top:14px;left:14px}.admin-teacher-table td:nth-child(2){border-bottom:1px solid #eef1f3;grid-column:1/-1;padding-bottom:11px}.admin-teacher-table td:nth-child(2):before{content:none}.admin-teacher-table td:nth-child(3):before{content:"学生数据"}.admin-teacher-table td:nth-child(4):before{content:"账号状态"}.admin-teacher-table td:nth-child(5){grid-column:1/-1}.admin-teacher-table td:nth-child(5):before{content:"账号操作"}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
