@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=PT+Serif:wght@700&display=swap";*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{color:#1b2737;background:#f3f6f9;font-family:Inter,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}::selection{color:#fff;background:#1a4f8b}.eyebrow{color:#8db7e4!important;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.login-page{display:grid;min-height:100vh;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);background:#fff}.login-story{position:relative;display:flex;min-height:100%;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,5vw,76px);color:#fff;background:radial-gradient(circle at 82% 14%,rgba(60,126,190,.36),transparent 27%),linear-gradient(142deg,#0a1c33,#12294a 55%,#173b66)}.login-story:before,.login-story:after{position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%;content:""}.login-story:before{width:420px;height:420px;right:-210px;bottom:-80px}.login-story:after{width:300px;height:300px;right:-150px;bottom:-20px}.brand-mark{z-index:1;display:grid;width:54px;height:54px;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:#ffffff17;font-family:"PT Serif",Georgia,serif;font-size:1.15rem;place-items:center}.login-story__copy{z-index:1;max-width:620px;padding:56px 0}.login-story__copy h1.ant-typography{max-width:600px;margin:20px 0 24px;color:#fff;font-family:"PT Serif",Georgia,serif;font-size:clamp(2.5rem,5vw,4.75rem);line-height:1.04}.login-story__copy .ant-typography{max-width:530px;color:#ffffffbd;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.7}.security-note{z-index:1;display:flex;max-width:580px;align-items:center;gap:14px;color:#ffffffa1;font-size:.85rem;line-height:1.5}.security-note .anticon{color:#8db7e4;font-size:1.35rem}.login-panel{display:grid;padding:clamp(28px,6vw,96px);place-items:center}.login-card{width:min(100%,440px)}.login-card__header{margin-bottom:36px}.login-card__header .eyebrow{color:#1a4f8b!important}.login-card__header h2.ant-typography{margin:12px 0 6px;color:#12294a;font-family:"PT Serif",Georgia,serif;font-size:2.2rem}.login-card .ant-alert,.login-card .ant-form-item{margin-bottom:22px}.login-card .ant-form-item-label label{color:#344357;font-size:.85rem;font-weight:600}.login-card .ant-input-affix-wrapper{height:50px;border-color:#dce3ea}.login-card .ant-btn-primary{height:50px;margin-top:8px;font-weight:600;box-shadow:0 10px 24px #1a4f8b33}.login-support{display:block;margin-top:24px;text-align:center;font-size:.8rem}@media(max-width:860px){.login-page{grid-template-columns:1fr}.login-story{min-height:auto;padding:28px}.login-story__copy{padding:72px 0 40px}.login-story__copy h1.ant-typography{font-size:clamp(2.35rem,11vw,3.8rem)}.security-note{display:none}.login-panel{padding:48px 24px 64px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.route-loader,.public-loader{display:grid;min-height:60vh;place-items:center}.full-width{width:100%}.app-shell{min-height:100vh}.app-sider,.mobile-nav .ant-drawer-body{position:sticky!important;top:0;height:100vh;overflow:auto;background:#0a1c33!important}.app-sider .ant-layout-sider-children,.mobile-nav .ant-drawer-body{display:flex;flex-direction:column}.app-brand{display:flex;height:92px;flex-shrink:0;align-items:center;gap:12px;padding:20px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff}.app-brand>span,.public-brand>span{display:grid;width:42px;height:42px;flex-shrink:0;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:#ffffff14;font-family:"PT Serif",Georgia,serif;place-items:center}.app-brand div{display:flex;min-width:0;flex-direction:column;line-height:1.25}.app-brand strong{white-space:nowrap}.app-brand small{margin-top:4px;color:#ffffff75;font-size:.65rem;text-transform:uppercase}.app-brand[data-collapsed=true]{justify-content:center;padding-inline:12px}.app-sider .ant-menu,.mobile-nav .ant-menu{flex:1;padding:18px 12px;background:transparent}.app-sider .ant-menu-item,.mobile-nav .ant-menu-item{height:44px;margin-block:5px;border-radius:8px;color:#ffffffab}.app-sider .ant-menu-item-selected,.mobile-nav .ant-menu-item-selected{background:#1d4f83!important;color:#fff}.sider-footer{margin:16px 20px 24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);color:#ffffff5c;font-size:.68rem;letter-spacing:.04em}.mobile-nav .ant-drawer-header{display:none}.app-header{position:sticky;z-index:10;top:0;display:flex;height:72px;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #dce3ea;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-header__right{display:flex;align-items:center;gap:8px}.user-menu{display:flex;align-items:center;gap:10px;padding:6px 8px;border:0;border-radius:10px;color:inherit;background:transparent;cursor:pointer}.user-menu:hover{background:#f3f6f9}.user-menu>span:last-child{display:flex;align-items:flex-start;flex-direction:column;line-height:1.15}.user-menu .ant-tag{margin-top:3px;padding:0;color:#667487;background:transparent;font-size:.63rem}.app-content{min-width:0;padding:clamp(22px,3vw,42px);background:#f3f6f9}.page-stack{width:min(100%,1440px);margin:0 auto}.page-stack>*+*{margin-top:22px}.narrow-page{max-width:920px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:8px}.page-header h1.ant-typography{margin:8px 0 4px;color:#12294a;font-family:"PT Serif",Georgia,serif;font-size:clamp(2rem,3.4vw,3rem);line-height:1.12}.page-header p.ant-typography{max-width:760px;margin:0;color:#667487;font-size:.95rem;line-height:1.65}.page-eyebrow{color:#1a4f8b!important;font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.page-header__actions{display:flex;flex-shrink:0;gap:10px}.stat-card{display:flex;min-height:138px;align-items:flex-start;gap:16px;padding:22px;border:1px solid #dce3ea;border-radius:14px;background:#fff;box-shadow:0 7px 28px #162d4b0a}.stat-card__icon{display:grid;width:42px;height:42px;flex-shrink:0;border-radius:11px;color:#1a4f8b;background:#eaf2fb;font-size:1.1rem;place-items:center}.stat-card--green .stat-card__icon{color:#237a57;background:#e8f5ef}.stat-card--amber .stat-card__icon{color:#b76b16;background:#fff3e4}.stat-card--red .stat-card__icon{color:#b83a3a;background:#fceaea}.stat-card>div:last-child{display:flex;min-width:0;flex-direction:column}.stat-card strong{margin-top:4px;color:#12294a;font-family:"PT Serif",Georgia,serif;font-size:2rem}.stat-card small{margin-top:4px;color:#667487}.dashboard-card,.course-admin-card,.assignment-card,.catalog-card,.member-card,.editor-version-card,.editor-meta-card,.chapter-card,.assignment-form-card{border-color:#dce3ea;border-radius:14px;box-shadow:0 7px 28px #162d4b0a}.dashboard-card{min-height:400px}.token-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:10px 0 26px}.token-summary div{display:flex;flex-direction:column}.token-summary strong{margin-top:5px;color:#12294a;font-size:1.35rem}.usage-chart{display:flex;height:210px;align-items:flex-end;gap:10px;padding:18px 16px 0;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#f2f6fa)}.usage-chart__column{display:flex;min-width:12px;height:100%;flex:1;align-items:center;flex-direction:column;justify-content:flex-end;gap:7px}.usage-chart__column span{width:min(100%,26px);min-height:6px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#4e8bc7,#1a4f8b)}.usage-chart__column small{color:#667487;font-size:.58rem;transform:rotate(-35deg)}.chart-empty{align-self:center;margin:auto;color:#667487}.recommendation-list{display:grid;gap:12px}.recommendation-list__item{display:grid;grid-template-columns:minmax(110px,auto) 1fr;align-items:start;gap:12px;padding:14px;border:1px solid #dce3ea;border-radius:14px;background:#f3f6f9}.recommendation-list__item .ant-typography{margin-bottom:0}.health-list{width:100%}.health-list>div{width:100%}.health-list span{display:flex;align-items:center;gap:8px;margin-bottom:7px;color:#667487}.health-list strong{display:block;color:#12294a;font-size:1.45rem}.table-toolbar{display:flex;padding:14px;border:1px solid #dce3ea;border-radius:12px;background:#fff}.table-toolbar .ant-input-affix-wrapper{max-width:420px}.person-cell,.feedback-message{display:flex;flex-direction:column;gap:3px}.person-cell small,.feedback-message small,.feedback-message span{color:#667487;font-size:.75rem}.course-admin-card{height:100%}.course-admin-card .ant-card-body{min-height:255px}.course-admin-card h3.ant-typography,.catalog-card h3.ant-typography{margin:0;color:#12294a;font-family:"PT Serif",Georgia,serif}.editor-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.editor-version-card .ant-card-body{padding-block:14px}.version-select{min-width:220px}.editor-section-title h2.ant-typography{margin:0;color:#12294a;font-family:"PT Serif",Georgia,serif}.chapter-list{width:100%}.chapter-card.is-dragging{z-index:5;box-shadow:0 16px 40px #0e2a4826}.chapter-card__header{display:grid;align-items:center;gap:10px;grid-template-columns:auto auto minmax(180px,1fr) auto}.chapter-card__header.is-readonly{grid-template-columns:auto minmax(180px,1fr)}.drag-handle{padding:8px;border:0;color:#667487;background:transparent;cursor:grab}.lesson-row{display:grid;align-items:center;gap:10px;margin:12px 0 0 76px;padding:10px 12px;border-radius:8px;background:#f3f6f9;grid-template-columns:28px 1fr auto}.lesson-row span,.lesson-row small,.lesson-empty{color:#667487;font-size:.75rem}.lesson-empty{margin:14px 0;padding:12px;border-radius:10px;background:#f3f6f9;text-align:center}.lesson-editor-list,.step-editor-list,.step-editor__fields{width:100%}.lesson-editor-list{margin-top:16px}.lesson-editor{border-color:#dce3ea;background:#fbfcfe}.lesson-editor__header{display:grid;align-items:center;gap:10px;margin-bottom:12px;grid-template-columns:auto minmax(180px,1fr) auto}.lesson-editor__actions{margin-top:12px}.step-editor{padding:14px;border:1px solid #dce3ea;border-radius:10px;background:#fff}.step-editor__header{display:grid;align-items:center;gap:8px;margin-bottom:10px;grid-template-columns:auto 1fr auto}.sticky-actions{position:sticky;z-index:4;bottom:18px;display:flex;justify-content:flex-end;padding:12px;border:1px solid #dce3ea;border-radius:12px;background:#ffffffeb;box-shadow:0 10px 35px #0c243e1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.generator-input-card,.generator-output-card{min-height:650px;border-radius:14px}.generator-output-card .ant-card-body{display:flex;min-height:590px;flex-direction:column}.generator-placeholder{display:flex;flex:1;align-items:center;flex-direction:column;justify-content:center;color:#667487;text-align:center}.generator-placeholder>.anticon{display:grid;width:72px;height:72px;margin-bottom:16px;border-radius:20px;color:#1a4f8b;background:#eaf2fb;font-size:2rem;place-items:center}.ai-stream-output{flex:1;overflow:auto;margin:0;padding:18px;border:1px solid #dce3ea;border-radius:10px;color:#314158;background:#f8fafc;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.65;white-space:pre-wrap}.draft-ready{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:14px;border:1px solid #bfe1cf;border-radius:10px;background:#eff9f4}.draft-ready>div{display:flex;flex-direction:column}.draft-ready span{color:#667487;font-size:.75rem}.cluster-card{padding:14px;border:1px solid #dce3ea;border-radius:10px;background:#fafbfc}.cluster-card h4.ant-typography{margin:10px 0 6px}.plugin-grid{display:grid;gap:14px}.plugin-card .ant-card-body{display:flex;align-items:center;gap:18px}.plugin-card__icon,.catalog-card__icon{display:grid;width:52px;height:52px;flex:0 0 auto;border-radius:13px;color:#1a4f8b;background:#eaf2fb;font-size:1.35rem;place-items:center}.plugin-card__body{min-width:0;flex:1}.plugin-card__body h3.ant-typography{margin:0}.team-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.member-card__person{display:flex;align-items:center;gap:12px}.member-card__person h3.ant-typography{margin:0 0 4px;color:#12294a}.member-card__progress{margin:24px 0}.member-card__progress>div{display:flex;justify-content:space-between;margin-bottom:7px}.member-card__stats{display:grid;grid-template-columns:repeat(3,1fr)}.member-card__stats span{display:flex;flex-direction:column}.member-card__stats small{color:#667487}.member-card__stats strong{margin-top:4px;color:#12294a;font-size:1.1rem}.assignment-row{width:100%}.assignment-row .ant-form-item{flex:1}.learner-hero{position:relative;display:flex;min-height:280px;align-items:flex-end;justify-content:space-between;overflow:hidden;padding:clamp(26px,4vw,48px);border-radius:18px;color:#fff;background:radial-gradient(circle at 88% 20%,rgba(76,143,206,.34),transparent 30%),linear-gradient(135deg,#0a1c33,#173b66)}.learner-hero:after{position:absolute;width:300px;height:300px;right:-120px;bottom:-160px;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:""}.learner-hero>div:first-child{z-index:1;max-width:700px}.learner-hero h1.ant-typography{margin:10px 0 12px;color:#fff;font-family:"PT Serif",Georgia,serif;font-size:clamp(2.25rem,4vw,3.5rem)}.learner-hero p.ant-typography{color:#ffffffad;font-size:1rem}.learner-hero__score{z-index:1;display:flex;min-width:170px;align-items:center;flex-direction:column;padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.learner-hero__score .anticon{color:#86d2ac;font-size:1.5rem}.learner-hero__score strong{font-family:"PT Serif",Georgia,serif;font-size:2.6rem}.learner-hero__score span{color:#ffffff9e;font-size:.75rem}.assignment-card{height:100%}.assignment-card h3.ant-typography{margin-top:20px;color:#12294a;font-family:"PT Serif",Georgia,serif}.assignment-card__progress{display:flex;justify-content:space-between;margin-top:22px;font-size:.8rem}.assignment-card .ant-btn-primary{margin-top:14px}.empty-icon{color:#9eabb8;font-size:3rem}.catalog-card{height:100%}.catalog-card__icon{margin-bottom:18px}.catalog-card .ant-tag{margin-bottom:12px}.catalog-card .ant-btn-link{padding-inline:0}.course-player{min-height:calc(100vh - 156px);margin:calc(clamp(22px,3vw,42px)*-1);background:#fff}.player-header{display:grid;min-height:72px;align-items:center;gap:24px;padding:12px 24px;border-bottom:1px solid #dce3ea;grid-template-columns:180px minmax(220px,1fr) 70px}.player-header>div{display:flex;align-items:center;gap:18px}.player-header .ant-progress{flex:1;margin:0}.player-body{display:grid;min-height:calc(100vh - 144px);grid-template-columns:292px minmax(0,1fr)}.player-outline{padding:26px 18px;border-right:1px solid #dce3ea;background:#f8fafc}.player-outline h3.ant-typography{margin:0 8px 22px;color:#12294a;font-family:"PT Serif",Georgia,serif}.player-outline section+section{margin-top:24px}.outline-chapter{display:block;margin:0 8px 8px;color:#173b66;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.player-outline small{display:block;margin:12px 8px 5px;color:#667487}.player-outline button{display:flex;width:100%;align-items:center;gap:10px;padding:8px;border:0;border-radius:8px;color:#435168;background:transparent;cursor:pointer;text-align:left}.player-outline button:hover,.player-outline button.active{color:#1a4f8b;background:#eaf2fb}.player-outline button>span{display:grid;width:24px;height:24px;flex:0 0 auto;border:1px solid #dce3ea;border-radius:50%;background:#fff;font-size:.65rem;place-items:center}.player-outline button>span.done{border-color:#237a57;color:#fff;background:#237a57}.player-content{width:min(100%,920px);margin:0 auto;padding:clamp(34px,5vw,76px)}.player-content__meta{display:flex;align-items:center;gap:10px;margin-bottom:28px}.lesson-content h1.ant-typography{margin:10px 0 30px;color:#12294a;font-family:"PT Serif",Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.16}.rich-content{color:#2c394a;font-size:1.02rem;line-height:1.8}.rich-content h1,.rich-content h2,.rich-content h3{margin-top:1.7em;color:#12294a;font-family:"PT Serif",Georgia,serif}.rich-content img{max-width:100%}.rich-content table{width:100%;border-collapse:collapse}.rich-content td,.rich-content th{padding:10px;border:1px solid #dce3ea}.lesson-content>.ant-btn-primary{margin-top:30px}.course-video{width:100%;max-height:520px;border-radius:12px;background:#000}.test-step .ant-radio-group{width:100%}.test-step .ant-radio-wrapper{width:100%;margin:0;padding:14px 16px;border:1px solid #dce3ea;border-radius:10px}.test-step .ant-radio-wrapper-checked{border-color:#1a4f8b;background:#eaf2fb}.ai-analysis{margin-top:24px;border-color:#cfc4e7;background:#faf8ff}.player-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:64px;padding-top:22px;border-top:1px solid #dce3ea}.tutor-fab{position:fixed;z-index:8;right:28px;bottom:28px;height:46px;padding-inline:20px;box-shadow:0 12px 32px #1a4f8b47}.selected-quote{margin-bottom:18px;padding:12px 14px;border-left:3px solid #1a4f8b;color:#667487;background:#f3f6f9;font-size:.85rem}.modal-submit{margin-top:24px}.tutor-chat{display:flex;min-height:360px;flex-direction:column;gap:10px;padding:14px 0}.chat-bubble{max-width:88%;padding:11px 14px;border-radius:13px;line-height:1.55}.chat-bubble--user{align-self:flex-end;color:#fff;background:#1a4f8b;border-bottom-right-radius:4px}.chat-bubble--assistant{align-self:flex-start;color:#2c394a;background:#edf1f5;border-bottom-left-radius:4px}.tutor-empty{display:flex;flex:1;align-items:center;flex-direction:column;justify-content:center;gap:10px;color:#667487}.tutor-empty .anticon{font-size:2rem}.tutor-compose{display:flex;flex-direction:column;gap:10px}.public-catalog,.public-detail{min-height:100vh;padding:0 clamp(24px,6vw,92px) 80px;background:#f3f6f9}.public-nav{display:flex;height:86px;align-items:center;justify-content:space-between}.public-brand{display:flex;align-items:center;gap:12px;color:#12294a}.public-brand>span{border-color:#dce3ea;background:#12294a;color:#fff}.public-catalog>header{max-width:850px;padding:80px 0 54px}.public-catalog>header h1.ant-typography,.public-detail article>h1.ant-typography{margin:14px 0 20px;color:#12294a;font-family:"PT Serif",Georgia,serif;font-size:clamp(2.6rem,6vw,5rem);line-height:1.05}.public-catalog>header p.ant-typography,.public-lead{max-width:720px;color:#667487;font-size:1.08rem;line-height:1.75}.public-course-card{height:100%;border-color:#dce3ea;border-radius:14px}.public-course-card>.ant-card-body>.anticon{margin-bottom:24px;color:#1a4f8b;font-size:1.7rem}.public-course-card h3.ant-typography{color:#12294a;font-family:"PT Serif",Georgia,serif}.public-course-card .ant-btn-link{padding:0}.public-detail article{width:min(100%,880px);margin:48px auto 0;padding:clamp(28px,5vw,72px);border:1px solid #dce3ea;border-radius:18px;background:#fff}.public-detail article>h1.ant-typography{font-size:clamp(2.3rem,5vw,4rem)}.public-detail article section{margin-top:60px}.public-detail article section h2.ant-typography,.public-detail article section h3.ant-typography{color:#12294a;font-family:"PT Serif",Georgia,serif}@media(max-width:960px){.team-grid,.player-body{grid-template-columns:1fr}.player-outline{display:none}.course-player{min-height:calc(100vh - 72px)}}@media(max-width:720px){.app-header{height:64px;padding:0 14px}.app-content{padding:20px 14px 32px}.user-menu>span:last-child{display:none}.page-header{align-items:stretch;flex-direction:column;gap:16px}.page-header__actions>.ant-btn{flex:1}.token-summary{grid-template-columns:1fr}.chapter-card__header{grid-template-columns:auto auto minmax(0,1fr)}.chapter-card__header>.ant-typography{display:none}.lesson-row,.lesson-empty{margin-left:0}.lesson-editor__header{grid-template-columns:auto minmax(0,1fr) auto}.draft-ready,.learner-hero,.player-actions{align-items:stretch;flex-direction:column}.learner-hero__score{display:none}.member-card__stats{grid-template-columns:1fr 1fr}.assignment-row{display:block}.player-header{padding-inline:14px;grid-template-columns:auto 1fr auto}.player-header>.ant-btn span:last-child,.player-header>div>.ant-typography{display:none}.player-content{padding:34px 20px 80px}.tutor-fab{right:16px;bottom:16px}.public-catalog,.public-detail{padding-inline:18px}.public-nav .ant-btn span:last-child{display:none}.public-catalog>header{padding-top:52px}.public-detail article{margin-top:20px;padding:24px}}
