.login-page{margin:0;min-height:100dvh;display:grid;place-items:center;background:#fff9ed;color:#284a36;font:16px system-ui}.login-card{width:min(380px,82vw);padding:32px;border:1px solid #bdd09f;border-radius:24px;background:#fffdf7}.login-card p{line-height:1.7}.login-card label{display:block;margin-top:16px}.login-card input{box-sizing:border-box;width:100%;margin-top:8px;padding:12px;border:1px solid #c9cbbb;border-radius:9px;font:inherit}.login-card button,.access-dialog button{padding:11px 14px;border:1px solid #bdd09f;border-radius:10px;background:#759b3c;color:#fff;font:inherit;cursor:pointer}.login-card button[type=submit]{width:100%;margin-top:20px}.account-actions{display:flex;gap:10px;margin-top:16px}.account-actions button{background:transparent;color:#284a36}.access-dialog{width:min(420px,82vw);border:1px solid #bdd09f;border-radius:20px;padding:26px;background:#fffdf7;color:#284a36;font:16px system-ui}.access-dialog::backdrop{background:#192c2477}.access-dialog p{line-height:1.7}.access-dialog input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #bdd09f;border-radius:8px;font:inherit}.access-dialog .account-actions{flex-wrap:wrap}.access-dialog [data-close]{float:right;background:transparent;color:#284a36}.access-dialog [data-pay]{background:#759b3c;color:#fff}.preview-lock{padding:16px;border:1px dashed #cbb998;border-radius:12px;color:#7b5239;background:#fff8ed}.preview-locked{cursor:not-allowed!important;opacity:.55}#authError,[data-message]{color:#8e392f}button:disabled{cursor:not-allowed;opacity:.65}[hidden]{display:none!important}

.account-status{flex-wrap:wrap}.account-status>button{padding:8px 10px;border:1px solid #bdd09f;border-radius:9px;background:#fff9ed;color:inherit;font:inherit;cursor:pointer}

.access-dialog{--activation-green:#48664c;box-sizing:border-box;width:min(1100px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid #d6dfc1;border-radius:32px;background:#fffdf5;color:#294637;overflow:auto;font-family:system-ui,-apple-system,"PingFang SC",sans-serif;box-shadow:0 24px 100px #4e693526}
.access-dialog[open]{display:grid;grid-template-columns:37% 63%}.access-dialog::backdrop{background:#58654b66;backdrop-filter:blur(7px)}
.access-dialog [data-close]{position:absolute;right:22px;top:22px;z-index:1;float:none;width:46px;height:46px;padding:0;display:grid;place-items:center;border:1px solid #d6dfc1;border-radius:50%;background:#fff;color:#294637;font-size:34px;line-height:1}
.activation-story{padding:64px 42px;background:linear-gradient(145deg,#f2f6dd,#edf5de);color:#294637;display:flex;flex-direction:column}.activation-brand{align-self:flex-start;padding:10px 14px;border-radius:9px;background:#dfecc1;color:#48664c;font-size:15px;font-weight:800}.activation-story h2{margin:44px 0 22px;font-size:clamp(28px,3.1vw,42px);line-height:1.65;letter-spacing:.02em;color:#294637}.activation-story p{margin:0;color:#647365;font-size:18px;line-height:1.9}.activation-story ol{list-style:none;margin:64px 0 0;padding:0;display:grid;gap:22px}.activation-story li{display:flex;align-items:center;gap:18px;font-weight:750;font-size:18px}.activation-story li span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#dfecc1;color:#48664c;font-size:22px;font-weight:500;flex-shrink:0}
.activation-main{padding:70px 60px 50px}.activation-eyebrow{margin:0 0 16px;color:#8a6e3d;font-size:16px;font-weight:800}.activation-main h2{margin:0 0 18px;font-size:24px;line-height:1.4}.access-dialog .activation-description{color:#647365;font-size:18px;line-height:1.6;margin:0 0 8px}.access-dialog form label{display:block;font-size:16px;font-weight:750;margin-bottom:10px}.access-dialog input{padding:18px;border:1px solid #d6dfc1;border-radius:12px;background:#fffdf5;color:#294637;font-size:16px;min-height:60px}.access-dialog input::placeholder{color:#7a866f}.access-dialog input:focus{outline:3px solid #a6c377;outline-offset:1px}.access-dialog button{font-weight:750}.access-dialog .activation-submit{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:20px;padding:18px 22px;border:1px solid #b7c99b;border-radius:12px;background:#dfecc1;color:#294637;font-size:20px}.activation-submit span{font-size:26px;line-height:1}.activation-purchase{border-top:1px solid #d6dfc1;margin-top:26px;padding-top:25px}.activation-divider{display:flex;align-items:center;gap:15px;color:#647365;font-weight:750;font-size:15px}.activation-divider::before,.activation-divider::after{content:"";height:1px;flex:1;background:#d6dfc1}.activation-price{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px}.activation-price-label{background:#f8edcb;color:#80653b;border-radius:20px;padding:6px 10px;font-size:13px;font-weight:750}.activation-price strong{font-size:46px;line-height:1.1;letter-spacing:-1.5px;color:var(--activation-green)}.activation-purchase p{text-align:center;color:#647365;font-size:14px;margin:16px 0 20px}.activation-payments{display:grid;grid-template-columns:1fr 1fr;gap:14px}.access-dialog [data-pay]{padding:17px 8px;border-radius:12px;border:1px solid #b7c99b;background:#edf5de;color:#294637;font-size:17px}.access-dialog [data-pay="alipay"]{border-color:#d6dfc1;background:#fffdf5;color:var(--activation-green)}.access-dialog .activation-skip{padding:6px 0;margin-top:3px;border:0;background:transparent;color:#58794b;font-weight:600;font-size:16px;text-align:left}.activation-payment-status{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:12px}.activation-payment-status:has([hidden]):not(:has(:not([hidden]))){display:none}.access-dialog [data-check]{background:#edf5de;color:var(--activation-green);border-color:#d6dfc1}.activation-payment-status a{color:#58794b;font-weight:650}.access-dialog [data-message]{font-size:14px;margin:12px 0 0}.access-dialog [data-message]:empty{display:none}.access-dialog .activation-footer{margin:30px 0 0;font-size:13px;color:#687563}.access-dialog button:focus-visible,.access-dialog a:focus-visible{outline:3px solid #a6c377;outline-offset:3px}.access-dialog button:hover{filter:brightness(.96)}
@media(max-width:760px){.access-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:22px}.access-dialog[open]{grid-template-columns:1fr}.activation-story{padding:26px 24px}.activation-brand{font-size:12px;padding:8px 11px}.activation-story h2{font-size:26px;line-height:1.4;margin:20px 0 10px}.activation-story h2 br{display:none}.activation-story p{font-size:14px;line-height:1.7}.activation-story ol{margin-top:20px;gap:10px}.activation-story li{font-size:14px;gap:10px}.activation-story li span{width:28px;height:28px;font-size:16px;border-radius:7px}.activation-main{padding:28px 24px}.access-dialog [data-close]{top:14px;right:14px;width:36px;height:36px;font-size:27px}.activation-main h2{font-size:22px}.access-dialog .activation-description{font-size:15px}.activation-eyebrow{font-size:14px;margin-bottom:10px}.activation-price strong{font-size:40px}.access-dialog [data-pay]{font-size:14px;padding:16px 5px}.activation-payments{gap:10px}.access-dialog .activation-skip{font-size:14px}.access-dialog .activation-footer{margin-top:22px}}

/* 更紧凑的激活窗口 */
@media(min-width:761px){.access-dialog{width:min(920px,calc(100vw - 48px));border-radius:26px}.activation-story{padding:44px 32px}.activation-brand{padding:8px 12px;font-size:14px}.activation-story h2{margin:32px 0 18px;font-size:34px;line-height:1.55}.activation-story p{font-size:16px;line-height:1.8}.activation-story ol{margin-top:42px;gap:18px}.activation-story li{font-size:16px;gap:14px}.activation-story li span{width:34px;height:34px;font-size:20px}.activation-main{padding:46px 42px 34px}.activation-eyebrow{font-size:14px;margin-bottom:12px}.activation-main h2{font-size:22px;margin-bottom:14px}.access-dialog .activation-description{font-size:16px}.access-dialog input{min-height:52px;padding:14px}.access-dialog .activation-submit{padding:14px 18px;margin-top:16px;font-size:18px}.activation-purchase{margin-top:20px;padding-top:20px}.activation-price{margin-top:16px}.activation-price strong{font-size:40px}.activation-purchase p{margin:12px 0 16px;font-size:13px}.access-dialog [data-pay]{padding:14px 6px;font-size:15px}.access-dialog .activation-skip{font-size:14px}.access-dialog .activation-footer{margin-top:22px;font-size:12px}.access-dialog [data-close]{width:38px;height:38px;right:16px;top:16px;font-size:28px}}
@media(max-width:760px){.activation-story{padding:20px}.activation-story h2{font-size:23px;margin:16px 0 8px}.activation-story ol{margin-top:14px;gap:8px}.activation-main{padding:22px 20px}.activation-purchase{margin-top:20px;padding-top:20px}}

/* 账户信息与操作分行，避免按钮把文字挤成逐字换行 */
.account-status{display:grid;grid-template-columns:37px minmax(0,1fr);align-items:center;gap:10px 11px}
.account-status .account-copy{min-width:0;width:100%}
.account-status .account-copy small{white-space:nowrap}
.account-status .account-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-status .account-copy>span{white-space:normal;line-height:1.5;overflow-wrap:break-word}
.account-status>button{grid-column:1 / -1;min-width:0;width:100%;white-space:nowrap}
html.sidebar-collapsed .account-status{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center}
html.sidebar-collapsed .account-status>button{padding:8px 2px;font-size:12px;overflow:hidden;text-overflow:ellipsis}
.account-status{position:relative}
.account-status>.account-indicator{position:absolute;top:18px;right:14px;margin:0}

.site-shortcuts{position:static;width:100%;margin:0 0 20px;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid #c9d7b0;border-radius:16px;background:#fffdf3;color:#36543e;box-sizing:border-box}.site-shortcuts>span{margin-right:auto;font-size:12px;color:#6b7b60}.site-shortcuts a{display:flex;align-items:center;gap:18px;padding:10px 14px;border-radius:10px;background:#edf3dc;color:#36543e;text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap}.site-shortcuts a:hover{background:#e2edc8}.site-shortcuts small:empty{display:none}.site-shortcuts small{flex-basis:100%;font-size:12px;line-height:1.5}.site-shortcuts a:focus-visible{outline:3px solid #8ba660;outline-offset:2px}@media(max-width:600px){.site-shortcuts{padding:10px;gap:8px}.site-shortcuts>span{flex-basis:100%}.site-shortcuts a{flex:1;justify-content:space-between;padding:10px;font-size:13px}}

/* Single-course and bundle plans share one purchase window. */
.access-dialog{width:min(980px,calc(100vw - 48px))}
.access-dialog[open]{grid-template-columns:280px minmax(0,1fr)}
.activation-main{min-width:0;padding:32px 36px 24px}
.activation-story{padding:42px 28px}
.activation-story h2{font-size:30px;line-height:1.5}
.activation-story ol{margin-top:auto;padding-top:32px;gap:16px}
.activation-eyebrow{font-size:12px;margin-bottom:10px}
.activation-main h2{font-size:25px;margin-bottom:10px}
.access-dialog .activation-description{font-size:13px;line-height:1.6;margin:0 0 18px}
.access-dialog form{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:end;gap:8px 10px}
.access-dialog form label{grid-column:1/-1;font-size:13px;margin:0}
.access-dialog input{min-height:46px;height:46px;font-size:13px;padding:12px}
.access-dialog .activation-submit{height:46px;margin:0;padding:10px 14px;font-size:14px}
.activation-submit span{font-size:20px}
.activation-purchase{border-top:0;margin-top:20px;padding-top:0;min-width:0}
.activation-divider{font-size:12px;font-weight:500;margin-bottom:14px}
.activation-plan-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.access-dialog .activation-plan-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:15px 16px;border:1px solid #d6ddc8;border-radius:16px;background:#fffef9;color:#36513a;text-align:left;line-height:1.45;box-sizing:border-box;word-break:normal;overflow-wrap:normal}
.access-dialog .activation-plan-card.is-selected{border:2px solid #829b5b;padding:14px 15px;background:#f1f5e4;box-shadow:0 0 0 3px #8b9d6410}
.activation-plan-label{font-size:11px;color:#6b795c;font-weight:700}
.activation-plan-card h3{font-size:16px;line-height:1.5;min-height:24px;margin:0;font-weight:800}
.activation-plan-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px}
.activation-plan-price strong{font-size:32px;line-height:1.1;white-space:nowrap}
.activation-plan-price>span{font-size:11px;color:#6d7b66;white-space:nowrap}
.activation-purchase .activation-plan-card p{font-size:12px;line-height:1.6;margin:0;color:#71806a;text-align:left;flex:1}
.activation-plan-choice{align-self:stretch;padding-top:10px;border-top:1px solid #dce4cd;font-size:12px;font-weight:800;margin-top:3px}
.access-dialog .activation-plan-card:disabled{cursor:default;background:#f4f4ef;color:#6f7b68}
.activation-purchase .activation-plan-note{font-size:12px;text-align:left;line-height:1.6;color:#71806a;margin:12px 0 16px}
.activation-checkout{padding:16px;border-radius:14px;background:#f5f4eb;border:1px solid #e4e3d7}
.activation-order-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.activation-order-summary>span{font-size:13px;line-height:1.5;color:#455b40}
.activation-order-summary>strong{font-size:24px;white-space:nowrap}
.activation-payments{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.access-dialog [data-pay]{height:44px;padding:10px;font-size:14px;min-width:0}
.activation-checkout>p{font-size:11px;margin:9px 0 0;line-height:1.6}
.access-dialog .activation-skip{display:block;margin:14px auto 0;font-size:12px;text-align:center}
.access-dialog .activation-footer{font-size:11px;margin-top:18px;line-height:1.5}
@media(min-width:761px) and (max-width:1000px){.activation-plan-card h3{min-height:48px}}
@media(max-width:760px){.access-dialog{width:calc(100vw - 24px)}.access-dialog[open]{grid-template-columns:minmax(0,1fr)}.activation-story{display:none}.activation-main{padding:48px 24px 24px}.activation-plan-card h3{min-height:48px}}
@media(max-width:440px){.activation-main{padding:48px 18px 22px}.activation-plan-options{grid-template-columns:minmax(0,1fr)}.access-dialog .activation-plan-card{gap:6px;padding:14px}.access-dialog .activation-plan-card.is-selected{padding:13px}.activation-plan-card h3{min-height:0}.activation-plan-price strong{font-size:28px}.activation-plan-choice{padding-top:7px}.activation-order-summary>span{font-size:12px}}

.home-auth.login-card{box-sizing:border-box;width:100%;max-width:760px;margin:0 0 28px;padding:24px 28px;background:#fffdf7}.home-auth h1{font-size:25px;margin:10px 0}.home-auth form{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.home-auth form button{grid-column:1/-1}.home-auth #confirmLabel{grid-column:1/-1}.home-auth .account-actions{flex-wrap:wrap}.home-auth input{min-width:0}.home-auth p{font-size:14px}.home-auth #authError:empty{display:none}@media(max-width:600px){.home-auth.login-card{padding:20px}.home-auth form{grid-template-columns:1fr}}
