:root{--ink:#172033;--muted:#687185;--line:#e2e6ee;--surface:#fff;--brand:#3157d5;--brand-dark:#2443ad;--good:#087963;--danger:#ad3f48}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#eef1f6;min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 0,#3157d524,#0000 34rem),radial-gradient(circle at 100% 100%,#00b4a014,#0000 28rem),#eef1f6;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,a{font:inherit}.shell{width:min(100%,560px);min-height:100vh;margin:0 auto;padding:28px 18px 32px}.brand{color:#424b5f;letter-spacing:.02em;align-items:center;gap:11px;font-size:13px;font-weight:700;display:flex}.brand-mark{background:var(--ink);color:#fff;letter-spacing:.08em;border-radius:14px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:850;display:grid}.auth-card{text-align:center;background:#fffffff5;border:1px solid #dce1ebeb;border-radius:28px;margin-top:42px;padding:34px 26px 28px;box-shadow:0 24px 70px #2230531f}.eyebrow{color:var(--brand);letter-spacing:.12em;margin:0 0 24px;font-size:12px;font-weight:800}.auth-card h1{letter-spacing:-.045em;margin:18px 0 0;font-size:clamp(29px,8vw,38px);line-height:1.15}.lead{max-width:420px;color:var(--muted);margin:14px auto 0;font-size:15px;line-height:1.75}.lock-icon,.success-icon{border-radius:24px;place-items:center;width:72px;height:72px;margin:0 auto;display:grid}.lock-icon{background:#e9eeff;position:relative}.lock-icon:before{border:4px solid var(--brand);content:"";border-bottom:0;border-radius:14px 14px 0 0;width:24px;height:22px;position:absolute;top:17px}.lock-icon span{background:var(--brand);border-radius:9px;width:37px;height:29px;position:absolute;top:33px}.lock-icon span:after{content:"";background:#fff;border-radius:999px;width:5px;height:11px;position:absolute;top:9px;left:16px}.success-icon{color:var(--good);background:#dff5ef;font-size:38px;font-weight:800}.primary-button,.secondary-button{border-radius:15px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:54px;margin-top:26px;font-weight:760;text-decoration:none;display:flex}.primary-button{background:var(--brand);color:#fff;border:0;box-shadow:0 10px 24px #3157d53d}.primary-button:hover{background:var(--brand-dark)}.primary-button.is-disabled{cursor:not-allowed;box-shadow:none;pointer-events:none;background:#aeb8d7}.feishu-glyph{width:27px;height:27px;color:var(--brand);background:#fff;border-radius:8px;place-items:center;font-size:13px;font-weight:850;display:grid}.secondary-button{cursor:pointer;color:#424d64;background:#f7f8fb;border:1px solid #d9deea}.notice{text-align:left;border-radius:13px;margin-top:20px;padding:12px 14px;font-size:13px;line-height:1.55}.setup-notice{color:#765319;background:#fff4d9}.error-notice{color:var(--danger);background:#fdebee}.success-notice{color:#176c5c;background:#e8f7f2}.privacy-list{color:#6b7486;text-align:left;gap:9px;margin:24px 0 0;padding:0;font-size:12px;line-height:1.45;list-style:none;display:grid}.privacy-list li{padding-left:23px;position:relative}.privacy-list li:before{color:var(--good);content:"✓";font-weight:850;position:absolute;top:0;left:1px}.identity-panel{border:1px solid var(--line);text-align:left;background:#f8f9fb;border-radius:17px;gap:0;margin:26px 0 0;display:grid;overflow:hidden}.identity-panel div{padding:14px 16px}.identity-panel div+div{border-top:1px solid var(--line)}.identity-panel dt{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:750}.identity-panel dd{margin:5px 0 0;font-size:15px;font-weight:700}.identity-panel .technical-value{overflow-wrap:anywhere;color:#4f596c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:550}footer{color:#838b9a;text-align:center;margin-top:22px;font-size:11px}@media (max-width:420px){.shell{padding:20px 13px 28px}.auth-card{border-radius:24px;margin-top:28px;padding:28px 19px 23px}}.portal-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:22px 16px 80px}.portal-topbar,.portal-brand,.account-area,.date-card,.lesson-heading,.panel-title-row,.lesson-share-bar{align-items:center;display:flex}.portal-topbar{justify-content:space-between;gap:16px}.portal-brand{gap:11px;min-width:0}.portal-brand p,.portal-brand h1,.date-card p,.date-card h2,.lesson-heading p,.lesson-heading h2,.panel-title-row p,.panel-title-row h3,.lesson-share-bar p{margin:0}.portal-brand p{color:var(--muted);font-size:11px;font-weight:700}.portal-brand h1{letter-spacing:-.02em;margin-top:2px;font-size:18px}.account-area{color:#4e586c;flex:none;gap:8px;font-size:12px;font-weight:700}.account-area button,.selection-tools button{cursor:pointer;color:#566075;background:#ffffffe6;border:1px solid #d9deea;border-radius:9px}.account-area button{padding:7px 10px}.date-card{color:#fff;background:linear-gradient(135deg,#233b83,#3157d5 62%,#3b73e7);border-radius:23px;justify-content:space-between;gap:22px;margin-top:26px;padding:24px;box-shadow:0 18px 42px #223e913d}.date-card .section-kicker{color:#cbd7ff}.date-card h2{letter-spacing:-.03em;margin-top:5px;font-size:24px}.date-card>div>p:last-child{color:#dbe3ff;margin-top:7px;font-size:12px}.date-form{gap:8px;min-width:205px;display:grid}.date-form input,.date-form button{min-height:44px;font:inherit;border:0;border-radius:12px}.date-form input{width:100%;color:var(--ink);background:#fff;padding:0 12px;font-size:14px}.date-form button{cursor:pointer;color:#fff;background:#132655;font-weight:750}.section-kicker{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:850}.portal-notice,.empty-card{border-radius:18px;margin-top:18px;padding:17px 18px}.portal-notice strong{font-size:13px;display:block}.portal-notice p{margin:5px 0 0;font-size:12px;line-height:1.65}.portal-notice.error-notice{color:var(--danger);text-align:left;background:#fdebee}.image-warning{color:#765319;background:#fff5dc}.empty-card{color:var(--muted);text-align:center;background:#ffffffbd;border:1px dashed #cad1df}.empty-card span{font-size:34px}.empty-card h2{color:var(--ink);margin:8px 0 0;font-size:18px}.empty-card p{margin:7px 0 0;font-size:13px}.lesson-list{gap:22px;margin-top:22px;display:grid}.lesson-card{background:#fffffffa;border:1px solid #dae0ebf5;border-radius:25px;padding:22px;overflow:hidden;box-shadow:0 16px 48px #2735541a}.lesson-heading{align-items:flex-start;gap:13px}.lesson-number{width:38px;height:38px;color:var(--brand);background:#e8edff;border-radius:13px;flex:none;place-items:center;font-size:14px;font-weight:850;display:grid}.lesson-meta{color:var(--muted);font-size:11px;line-height:1.4}.lesson-heading h2{letter-spacing:-.025em;margin-top:3px;font-size:21px}.lesson-program{color:#4f5d75;font-size:12px;margin-top:5px!important}.summary-panel,.image-section{background:#f8f9fc;border:1px solid #e1e5ee;border-radius:18px;margin-top:20px;padding:17px}.panel-title-row{justify-content:space-between;align-items:flex-start;gap:14px}.panel-title-row h3{margin-top:4px;font-size:14px;line-height:1.45}.copy-button{cursor:pointer;background:var(--brand);color:#fff;border:0;border-radius:11px;min-width:88px;min-height:38px;font-size:12px;font-weight:760}.copy-button:disabled{cursor:not-allowed;background:#bbc3d8}.summary-panel pre{color:#3e485d;text-align:left;white-space:pre-wrap;word-break:break-word;border-top:1px solid #e0e4ed;max-height:260px;margin:15px 0 0;padding-top:14px;font-family:inherit;font-size:12px;line-height:1.72;overflow:auto}.included-badge,.review-badge{border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:800}.included-badge{color:#17705f;background:#e3f4ef}.review-badge{color:#96570b;background:#fff0d0}.review-badge.reviewed{color:#16725f;background:#dff3ed}.auto-section{background:#fffaf0}.auto-section.needs-review{border-color:#e6b965;box-shadow:inset 4px 0 #e0a640}.selection-tools{justify-content:flex-end;gap:7px;margin-top:10px;display:flex}.selection-tools button{padding:6px 10px;font-size:11px}.material-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:11px;display:grid}.material-image{cursor:pointer;text-align:left;background:#e7eaf0;border:2px solid #0000;border-radius:14px;min-width:0;padding:0;position:relative;overflow:hidden}.material-image.selected{border-color:var(--brand);box-shadow:0 0 0 2px #3157d51f}.material-image img{aspect-ratio:4/3;object-fit:cover;background:#e4e7ec;width:100%;display:block}.material-check{color:#fff;background:#212a3c8c;border:2px solid #fff;border-radius:50%;place-items:center;width:23px;height:23px;font-size:12px;font-weight:850;display:grid;position:absolute;top:7px;right:7px}.material-image.selected .material-check{background:var(--brand)}.material-caption{background:#fff;gap:2px;padding:8px;display:grid}.material-caption b{color:#343e52;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.material-caption small{color:#8991a0;font-size:9px}.review-confirm{cursor:pointer;color:#7a510c;background:#fff;border:1px solid #ddae57;border-radius:13px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:46px;margin-top:14px;font-weight:740;display:flex}.review-confirm span{border:2px solid #d8a54b;border-radius:6px;place-items:center;width:21px;height:21px;font-size:12px;display:grid}.review-confirm.is-reviewed{color:#14725e;background:#edf8f4;border-color:#63aa97}.review-confirm.is-reviewed span{color:#fff;background:#17826c;border-color:#17826c}.lesson-share-bar{background:#f8f9fc;border-top:1px solid #e4e7ed;justify-content:space-between;gap:16px;margin:20px -22px -22px;padding:15px 22px}.lesson-share-bar>div{min-width:0}.lesson-share-bar strong{color:#38445b;font-size:13px;display:block}.lesson-share-bar span{color:var(--muted);font-size:10px}.lesson-share-bar p{color:#687185;text-overflow:ellipsis;white-space:nowrap;max-width:360px;margin-top:3px;font-size:10px;overflow:hidden}.lesson-share-bar button{cursor:pointer;background:var(--brand);color:#fff;border:0;border-radius:13px;min-width:142px;min-height:47px;font-size:13px;font-weight:800;box-shadow:0 7px 18px #3157d53b}.lesson-share-bar button:disabled{cursor:not-allowed;box-shadow:none;background:#aeb7ca}@media (max-width:600px){.portal-shell{padding:16px 10px 56px}.account-area>span{display:none}.date-card{padding:20px;display:grid}.date-form{min-width:0}.lesson-card{border-radius:21px;padding:16px}.summary-panel,.image-section{padding:14px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-share-bar{margin:18px -16px -16px;padding:13px 16px}.lesson-share-bar button{min-width:132px}}
