:root{--page:#f5f5f7;--surface:#fff;--surface-soft:#fafafc;--text:#1d1d1f;--muted:#6e6e73;--tertiary:#86868b;--line:#d2d2d7;--line-soft:#e8e8ed;--blue:#0071e3;--blue-soft:#e8f1fd;--green:#248a3d;--violet:#0071e3;--amber:#b25000;--red:#d70015;--student-content:1180px;--layer-header:40;--layer-mobile-nav:50;--layer-skip-link:60;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-28:28px;--fs-32:32px;--fs-48:48px;--hairline:#e5e5ea;--navy:#14264a;--navy-deep:#0e1b36;--navy-grad:linear-gradient(160deg, #1b3a6b 0%, #0e1b36 100%);--shadow-1:0 1px 2px #1018280a, 0 4px 12px #1018280d;--shadow-2:0 8px 24px #1018281a;--shadow-3:0 20px 48px #10182829;--dur-1:.12s;--dur-2:.18s;--ease-std:cubic-bezier(.2, .6, .2, 1);font-family:var(--font-sans);color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}.skip-link{z-index:var(--layer-skip-link);background:var(--text);color:var(--surface);border-radius:10px;padding:10px 14px;transition:top .16s;position:fixed;top:-60px;left:16px}.skip-link:focus{top:12px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0071e33d}.student-header{z-index:var(--layer-header);-webkit-backdrop-filter:saturate(160%)blur(18px);backdrop-filter:saturate(160%)blur(18px);border-bottom:1px solid #00000014;position:sticky;top:0}.student-header-inner{width:min(var(--student-content), calc(100% - 40px));align-items:center;gap:22px;margin:0 auto;display:flex}.student-brand{white-space:nowrap;align-items:center;gap:10px;display:flex}.student-brand>span{color:var(--surface);place-items:center;display:grid}.student-brand>span svg{font-size:var(--fs-20)}.student-brand b{font-size:var(--fs-16);letter-spacing:0}.student-back{min-height:42px;color:var(--muted);font-size:var(--fs-14);border-radius:10px;align-items:center;gap:5px;padding:0 10px;font-weight:600;display:inline-flex}.student-back:hover{color:var(--text);background:#0000000a}.student-nav{align-items:center;margin-left:auto;display:flex}.student-nav a,.student-records{color:#424245;min-height:42px;font-size:var(--fs-14);border-radius:999px;align-items:center;padding:0 13px;font-weight:600;transition:color .18s,background-color .18s;display:flex}.student-nav a{position:relative}.student-records{border:1px solid var(--line-soft);background:var(--surface);gap:6px;margin-left:6px}.student-records:hover{color:var(--blue);background:var(--blue-soft)}.student-mobile-nav{display:none}.student-page{width:min(var(--student-content), calc(100% - 40px));min-height:calc(100vh - 128px);margin:0 auto;padding:30px 0 62px}.student-hero{background:var(--surface);border-radius:32px;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:clamp(40px,7vw,92px);min-height:550px;padding:clamp(44px,6vw,76px);display:grid;overflow:hidden}.student-hero-copy h1,.subject-banner h1,.learning-hero h1,.page-title-row h1{color:var(--text);letter-spacing:0;margin:12px 0 18px;font-size:clamp(42px,5.2vw,68px);font-weight:700;line-height:1.08}.student-hero-copy p,.subject-banner p,.learning-hero p,.page-title-row p{max-width:680px;color:var(--muted);font-size:var(--fs-18);margin:0;line-height:1.75}.eyebrow{color:var(--blue);font-size:var(--fs-13);letter-spacing:.1em;font-weight:600;display:block}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.hero-actions .MuiButton-root,.student-section .MuiButton-root{box-shadow:none}.study-path{grid-template-columns:1fr 1fr;gap:12px;display:grid}.study-metric{background:var(--page);border-radius:22px;flex-direction:column;justify-content:flex-end;min-width:0;min-height:142px;padding:22px;display:flex}.study-metric.major{background:var(--text);min-height:190px;color:var(--surface);grid-column:1/-1}.study-metric small,.study-metric span{display:block}.study-metric small{color:var(--muted);font-size:var(--fs-13);font-weight:600}.study-metric.major small,.study-metric.major span{color:#aeaeb2}.study-metric strong{letter-spacing:0;margin:10px 0 8px;font-size:clamp(30px,4vw,48px);line-height:1}.study-metric span{color:var(--tertiary);font-size:var(--fs-13);line-height:1.5}.student-section{margin-top:34px}.student-section.compact{margin-top:28px}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px;display:flex}.section-heading h2,.focus-card h2{letter-spacing:0;margin:7px 0 0;font-size:clamp(28px,3vw,38px);font-weight:600;line-height:1.18}.section-heading>p{max-width:440px;color:var(--muted);text-align:right;margin:0;line-height:1.65}.subject-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.subject-card{background:var(--surface);border:1px solid #0000;border-radius:24px;flex-direction:column;min-width:0;min-height:330px;padding:28px;transition:transform .2s,box-shadow .2s;display:flex}.subject-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #00000012}.subject-icon,.feature-icon{width:48px;height:48px;color:var(--blue);background:var(--blue-soft);border-radius:14px;place-items:center;display:grid}.subject-card.green .subject-icon,.feature-icon.green{color:var(--green);background:#edf8ef}.subject-card.violet .subject-icon,.feature-icon.violet{color:var(--violet);background:#e8f1fd}.subject-card h3{font-size:var(--fs-24);letter-spacing:0;margin:24px 0 16px;font-weight:600}.subject-card strong,.subject-card small{display:block}.subject-card strong{font-size:var(--fs-18)}.subject-card small{color:var(--muted);margin-top:6px}.subject-card p{color:var(--muted);margin:18px 0;line-height:1.7}.subject-card a{min-height:44px;color:var(--blue);align-items:center;gap:5px;margin-top:auto;font-weight:600;display:inline-flex}.subject-banner{border:1px solid var(--line-soft);background:var(--surface);border-radius:22px;justify-content:space-between;align-items:center;gap:40px;display:flex;box-shadow:0 8px 24px #1113180a}.subject-banner h1{max-width:760px;margin-block:8px 12px}.subject-banner-mark{color:var(--blue);background:var(--page);border-radius:22px;align-items:center;gap:16px;display:flex}.subject-banner-mark>svg{background:var(--surface);border-radius:14px;padding:10px}.subject-banner-mark b,.subject-banner-mark small{display:block}.subject-banner-mark b{color:var(--text);font-size:var(--fs-24);letter-spacing:0}.subject-banner-mark small{color:var(--muted);margin-top:4px}.subject-banner.green .eyebrow,.subject-banner.green .subject-banner-mark{color:var(--green)}.subject-banner.violet .eyebrow,.subject-banner.violet .subject-banner-mark{color:var(--violet)}.subject-banner.amber .eyebrow,.subject-banner.amber .subject-banner-mark{color:var(--amber)}.feature-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.feature-card{border:1px solid var(--line-soft);background:var(--surface);border-radius:16px;padding:20px}.feature-card h3{margin:15px 0 7px}.feature-card p{min-height:62px;color:var(--muted);font-size:var(--fs-13);margin:0;line-height:1.6}.feature-card button{min-height:44px;color:var(--tertiary);background:0 0;border:0;margin-top:14px;padding:0;font-weight:600}.friendly-empty{background:var(--surface);border-radius:20px;align-items:center;gap:16px;margin-top:18px;padding:24px;display:flex}.friendly-empty>svg{color:var(--tertiary);font-size:var(--fs-32);flex:none}.friendly-empty b{font-size:var(--fs-16)}.friendly-empty p{color:var(--muted);margin:5px 0 0;line-height:1.6}.module-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.module-grid>a,.exam-choices>a,.home-tool-grid>a,.learning-tool-grid>a{background:var(--surface);transition:transform .2s,box-shadow .2s}.module-grid>a:hover,.exam-choices>a:hover,.home-tool-grid>a:hover,.learning-tool-grid>a:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0000000f}.module-grid>a{border-radius:18px;align-items:center;gap:13px;min-height:92px;padding:18px;display:flex}.module-grid>a>span{width:38px;height:38px;color:var(--blue);background:var(--blue-soft);border-radius:11px;flex:none;place-items:center;font-weight:700;display:grid}.module-grid>a>svg{color:var(--tertiary);font-size:var(--fs-18);margin-left:auto}.module-grid b,.module-grid small{display:block}.module-grid small{color:var(--muted);margin-top:5px}.focus-card{background:var(--surface);border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:30px;display:grid}.focus-card p{color:var(--muted);margin:7px 0 0}.exam-choices{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px;display:grid}.exam-choices>a{border-radius:20px;align-items:center;gap:14px;min-height:96px;padding:20px 22px;display:flex}.exam-choices>a>svg:first-child{color:var(--blue);font-size:var(--fs-28)}.exam-choices>a>svg:last-child{color:var(--tertiary);margin-left:auto}.exam-choices b,.exam-choices span{display:block}.exam-choices span{color:var(--muted);font-size:var(--fs-14);margin-top:5px}.paper-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.paper-grid article{background:var(--surface);border-radius:22px;flex-direction:column;min-height:232px;padding:24px;display:flex}.paper-topline{color:var(--muted);font-size:var(--fs-13);justify-content:space-between;align-items:center;gap:12px;display:flex}.paper-grid h3{font-size:var(--fs-18);letter-spacing:0;margin:20px 0 10px;font-weight:600;line-height:1.55}.paper-grid p{color:var(--muted);margin:0 0 14px}.paper-grid .MuiButton-root{align-self:flex-start;margin-top:auto;padding-inline:0}.paper-pagination{justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}.paper-pagination span{color:var(--muted);font-size:var(--fs-14);font-weight:600}.question-bank-modules{gap:12px;display:grid}.question-bank-module{background:var(--surface);border-radius:22px;scroll-margin-top:84px;overflow:hidden}.question-bank-module>header{align-items:center;gap:16px;min-height:104px;padding:22px 24px;display:flex}.question-bank-module.open>header{border-bottom:1px solid var(--line-soft)}.question-bank-module>header>span{width:42px;height:42px;color:var(--surface);background:var(--text);font-size:var(--fs-13);border-radius:13px;flex:none;place-items:center;font-weight:700;display:grid}.question-bank-module>header>div:nth-child(2){flex:1;min-width:0}.question-bank-module h3{font-size:var(--fs-20);margin:0;font-weight:600}.question-bank-module header p{color:var(--muted);font-size:var(--fs-14);margin:6px 0 0}.question-bank-actions{align-items:center;gap:6px;display:flex}.question-bank-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:10px 24px 20px;display:grid}.question-bank-point{border-bottom:1px solid var(--line-soft);padding:14px 0}.question-bank-point summary,.question-bank-point.simple>div{cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:44px;display:grid}.question-bank-point summary::marker{color:var(--blue)}.question-bank-point summary>span{color:var(--blue);font-size:var(--fs-13);font-weight:600}.question-bank-point b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.question-bank-point small{color:var(--muted);white-space:nowrap}.point-practice{padding:8px 0}.question-bank-point ul{gap:4px;margin:2px 0 0;padding:0;list-style:none;display:grid}.question-bank-point li a{color:#424245;min-height:44px;font-size:var(--fs-16);border-radius:10px;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:8px;padding:8px 10px;display:grid}.question-bank-point li a:hover{color:var(--blue);background:var(--blue-soft)}.question-bank-point li svg{font-size:var(--fs-18)}.home-tool-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.home-tool-grid>a{border-radius:20px;align-items:center;gap:14px;min-height:112px;padding:22px;display:flex}.home-tool-grid>a>svg:first-child{width:42px;height:42px;color:var(--blue);background:var(--blue-soft);border-radius:12px;padding:10px}.home-tool-grid>a>svg:last-child{color:var(--tertiary);margin-left:auto}.home-tool-grid b,.home-tool-grid span{display:block}.home-tool-grid span{color:var(--muted);font-size:var(--fs-14);margin-top:5px;line-height:1.5}.learning-hero{background:var(--surface);border-radius:30px;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:center;gap:46px;padding:clamp(38px,5vw,64px);display:grid}.learning-hero h1,.page-title-row h1{font-size:clamp(38px,4.5vw,58px)}.learning-hero .MuiButton-root{margin-top:26px}.review-cycle{background:var(--page);border-radius:22px;grid-template-columns:1fr 18px 1fr 18px 1fr;align-items:center;padding:26px;display:grid}.review-cycle>div{text-align:center}.review-cycle span{width:36px;height:36px;color:var(--surface);background:var(--text);border-radius:50%;place-items:center;margin:0 auto 9px;font-weight:700;display:grid}.review-cycle b{color:#424245;font-size:var(--fs-13)}.review-cycle i{background:var(--line);height:1px}.learning-tool-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.learning-tool-grid>a{border-radius:20px;grid-template-columns:46px 1fr auto;align-items:center;gap:15px;min-height:126px;padding:22px;display:grid}.learning-tool-grid>a>span{width:46px;height:46px;color:var(--blue);background:var(--blue-soft);border-radius:13px;place-items:center;display:grid}.learning-tool-grid>a>svg{color:var(--tertiary)}.learning-tool-grid b{font-size:var(--fs-18)}.learning-tool-grid p{color:var(--muted);margin:6px 0 0;line-height:1.6}.learning-tool-grid>a.primary{background:var(--text);color:var(--surface)}.learning-tool-grid>a.primary>span{color:var(--surface);background:#333336}.learning-tool-grid>a.primary p,.learning-tool-grid>a.primary>svg{color:#aeaeb2}.learning-note{background:var(--surface);border-radius:18px;align-items:flex-start;gap:14px;margin-top:20px;padding:20px;display:flex}.learning-note>svg{color:var(--green);flex:none}.learning-note p{color:var(--muted);margin:5px 0 0;line-height:1.65}.student-footer{padding:36px max(20px, calc((100% - var(--student-content)) / 2)) 24px;border-top:1px solid var(--hairline);margin-top:40px}.student-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:28px 48px;display:flex}.student-footer-brand{align-items:center;gap:12px;display:flex}.student-footer-logo{width:38px;height:38px;color:var(--surface);background:var(--navy-grad);border-radius:11px;place-items:center;display:grid}.student-footer-logo svg{font-size:var(--fs-20)}.student-footer-brand-copy b{color:var(--text);font-size:var(--fs-14);font-weight:700;display:block}.student-footer-brand-copy p{color:var(--tertiary);font-size:var(--fs-12);margin:3px 0 0}.student-footer-nav{flex-wrap:wrap;gap:24px 56px;display:flex}.student-footer-col{align-content:start;gap:2px;display:grid}.student-footer-col>b{color:var(--tertiary);font-size:var(--fs-12);letter-spacing:.04em;margin-bottom:6px;font-weight:600}.student-footer-col a{min-height:32px;color:var(--muted);font-size:var(--fs-14);align-items:center;display:inline-flex}.student-footer-col a:hover{color:var(--blue)}.student-footer-legal{border-top:1px solid var(--hairline);color:var(--tertiary);font-size:var(--fs-12);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:28px;padding-top:16px;display:flex}@media (width<=620px){.student-footer{margin-top:28px;padding-top:28px}.student-footer-inner{flex-direction:column}.student-footer-nav{gap:20px 40px}}.student-header a:focus-visible,.student-page a:focus-visible,.student-page button:focus-visible,.student-footer a:focus-visible{outline-offset:3px;outline:3px solid #0071e366}.compact-bank-page{width:min(var(--student-content), calc(100% - 40px))}.compact-domain-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:24px;padding:4px 0 14px;display:flex}.compact-domain-head span{color:var(--muted);font-size:var(--fs-13)}.compact-domain-head h1{letter-spacing:0;margin:4px 0 0}.compact-domain-head p{font-size:var(--fs-13);margin:7px 0 0}.compact-domain-head>small{color:var(--muted);font-size:var(--fs-14);margin-bottom:4px}.domain-number{color:#d8dce2;font-size:var(--fs-48);letter-spacing:0;font-weight:700;line-height:.9}.domain-tabs{display:flex}.domain-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-weight:600;position:relative}.domain-tabs button:hover{color:var(--text)}.bank-shortcuts{border:1px solid var(--line-soft);background:var(--surface);border-radius:14px;grid-template-columns:repeat(3,1fr);margin:24px 0 14px;display:grid;overflow:hidden}.bank-shortcuts>a{border-right:1px solid var(--line-soft);grid-template-columns:28px 1fr auto;align-items:center;gap:12px;min-height:76px;padding:0 22px;transition:background .18s;display:grid}.bank-shortcuts>a:last-child{border-right:0}.bank-shortcuts>a:hover{background:var(--surface-soft)}.bank-shortcuts svg{color:var(--blue);font-size:var(--fs-24)}.bank-shortcuts span{font-size:var(--fs-16);font-weight:600}.bank-shortcuts small{color:var(--muted);font-size:var(--fs-13)}.bank-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:14px;display:grid}.bank-main{gap:14px;min-width:0;display:grid}.bank-aside{position:sticky;top:80px}.plain-panel{border:1px solid var(--line-soft);background:var(--surface);border-radius:16px;scroll-margin-top:82px;overflow:hidden;box-shadow:0 1px 2px #11131806}.plain-panel>header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:20px;min-height:66px;padding:0 20px;display:flex}.plain-panel>header h2{font-size:var(--fs-18);letter-spacing:0;margin:0;font-weight:600}.plain-panel>header span{color:var(--muted);font-size:var(--fs-13)}.bank-aside .plain-panel>a{border-bottom:1px solid var(--line-soft);color:#424245;min-height:48px;font-size:var(--fs-14);justify-content:space-between;align-items:center;padding:0 18px;display:flex}.bank-aside .plain-panel>a:last-child{border-bottom:0}.bank-aside .plain-panel>a:hover{color:var(--blue);background:var(--blue-soft)}.bank-aside .plain-panel>a span{color:var(--tertiary);font-size:var(--fs-20)}.compact-module{border-bottom:1px solid var(--line-soft)}.compact-module:last-child{border-bottom:0}.compact-module-head{background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.compact-module-trigger{background:var(--surface);width:100%;color:var(--text);text-align:left;cursor:pointer;border:0;align-items:center;gap:8px;padding:0 18px;display:grid}.compact-module-trigger:hover{background:var(--surface-soft)}.compact-module-trigger small{font-size:var(--fs-13)}.module-practice-link{color:var(--blue);white-space:nowrap;border-radius:9px;align-items:center;gap:2px;margin-right:14px;padding:0 10px;font-weight:600;display:inline-flex}.module-practice-link svg{width:16px;height:16px}.module-practice-link:hover{background:var(--blue-soft)}.module-chevron{font-size:var(--fs-24);line-height:1;transition:transform .18s}.compact-module.open .module-chevron{transform:rotate(90deg)}.compact-point-list{padding:4px 18px 12px 46px}.taxonomy-point{border-top:1px solid var(--line-soft)}.taxonomy-point-row{color:var(--text);align-items:center;gap:10px;padding:0 4px;display:grid}.taxonomy-point-row:hover{color:var(--blue)}.taxonomy-point-name{align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.taxonomy-point-name i{background:#a8b4c5;border-radius:50%;flex:none;width:5px;height:5px}.taxonomy-point-row small{color:var(--muted);text-align:right}.taxonomy-point-row em{color:var(--blue);white-space:nowrap;justify-content:flex-end;align-items:center;font-style:normal;display:inline-flex}.taxonomy-point-row em svg{width:16px;height:16px}.taxonomy-children{background:#f8fafc;border-left:2px solid #dbe7f7;border-radius:0 8px 8px 0;margin:0 0 8px 18px;padding:0 10px 2px 16px}.taxonomy-children .taxonomy-point:first-child{border-top:0}.taxonomy-point.depth-1 .taxonomy-point-row{min-height:44px;font-size:var(--fs-13);color:#4d5868}.taxonomy-point.depth-1 .taxonomy-point-name i{background:var(--blue)}.taxonomy-empty{min-height:54px;color:var(--muted);font-size:var(--fs-13);align-items:center;display:flex}.paper-panel{scroll-margin-top:82px}.paper-total-badge{white-space:nowrap;background:#f1f4f8;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-weight:600;display:inline-flex;color:#546171!important;font-size:var(--fs-12)!important}.paper-card-grid{background:#f7f8fa;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.paper-card{min-width:0}.paper-card>button{background:var(--surface);width:100%;min-height:174px;color:var(--text);text-align:left;cursor:pointer;border:1px solid #e5e8ed;border-radius:14px;flex-direction:column;align-items:stretch;padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden}.paper-card>button:before{content:"";opacity:.78;background:#0071e3;width:4px;height:100%;position:absolute;top:0;left:0}.paper-panel-mock .paper-card>button:before{background:#b25000}.paper-panel-police .paper-card>button:before{background:#248a3d}.paper-card>button:hover{border-color:#c8d3e2;transform:translateY(-2px);box-shadow:0 10px 24px #1f2a3714}.paper-card>button:active{transform:translateY(0)}.paper-card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.paper-card-topline span{min-height:26px;font-size:var(--fs-12);border-radius:7px;align-items:center;padding:0 9px;font-weight:600;display:inline-flex}.paper-year{color:#0071e3;background:#edf5ff}.paper-kind{color:#626a76;background:#f2f3f5}.paper-panel-mock .paper-year{color:#b25000;background:#fff4df}.paper-panel-police .paper-year{color:#248a3d;background:#eaf7ef}.paper-card h3{min-height:48px;font-size:var(--fs-16);letter-spacing:0;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:14px 0 12px;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.paper-card-meta{color:var(--muted);font-size:var(--fs-12);flex-wrap:wrap;align-items:center;gap:0;display:flex}.paper-card-meta span{white-space:nowrap;align-items:center;display:inline-flex}.paper-card-meta span+span:before{content:"";background:#b5bbc4;border-radius:50%;width:3px;height:3px;margin:0 8px}.paper-card-action{min-height:30px;color:var(--blue);font-size:var(--fs-13);justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:13px;font-weight:600;display:flex}.paper-panel-mock .paper-card-action{color:#b25000}.paper-panel-police .paper-card-action{color:#248a3d}.paper-card-action svg{font-size:var(--fs-20);transition:transform .18s}.paper-card>button:hover .paper-card-action svg{transform:translate(3px)}.simple-empty{color:var(--muted);text-align:center;padding:34px 20px}.standalone-bank{margin-top:24px}.paper-panel .paper-pagination{border-top:1px solid var(--line-soft);background:var(--surface);margin:0;padding:12px}.home-compact{padding-top:26px}.home-compact-head{justify-content:space-between;align-items:flex-end;gap:24px;min-height:62px;margin-bottom:14px;display:flex}.home-compact-head span,.home-section-title span{color:var(--blue);font-size:var(--fs-12);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-weight:700;display:block}.home-compact-head h1{letter-spacing:0;margin:0;font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.08}.home-dashboard{grid-template-columns:minmax(0,1fr) 318px;align-items:stretch;gap:16px;display:grid}.home-focus{min-height:260px;color:var(--surface);background:#15181f;border-radius:22px;align-items:center;padding:30px 32px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 36px #1113181f}.home-focus:after{content:"";background:#ffffff1a;width:1px;height:430px;position:absolute;top:-80px;right:116px;transform:rotate(22deg)}.home-focus-copy{z-index:1;width:min(720px,88%);position:relative}.home-kicker{color:#aebcd0;min-height:26px;font-size:var(--fs-12);letter-spacing:.1em;border:1px solid #ffffff2e;border-radius:999px;align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.home-focus h2{max-width:620px;color:var(--surface);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin:17px 0 8px;font-size:clamp(25px,3.2vw,38px);font-weight:700;line-height:1.18;overflow:hidden}.home-focus p{color:#adb4c0;font-size:var(--fs-14);margin:0;line-height:1.65}.home-primary-action{background:var(--surface);width:fit-content;min-height:44px;color:var(--text);font-size:var(--fs-13);border-radius:10px;align-items:center;gap:7px;margin-top:22px;padding:0 10px 0 14px;font-weight:700;transition:transform .18s,background-color .18s;display:inline-flex}.home-primary-action:hover{background:var(--blue-soft);transform:translateY(-1px)}.home-primary-action svg:first-child{color:var(--blue);font-size:var(--fs-20)}.home-primary-action svg:last-child{font-size:var(--fs-18);margin-left:4px}.home-overview{border:1px solid var(--line-soft);background:var(--surface);border-radius:22px;flex-direction:column;min-height:260px;padding:22px;display:flex;box-shadow:0 8px 22px #1113180b}.home-overview>header{justify-content:space-between;align-items:flex-start;display:flex}.home-overview header span,.home-overview header b{display:block}.home-overview header span{color:var(--text);font-size:var(--fs-14);font-weight:700}.home-overview header b{color:var(--tertiary);font-size:var(--fs-12);margin-top:4px;font-weight:600}.home-overview header>svg{width:36px;height:36px;color:var(--blue);background:var(--blue-soft);border-radius:10px;padding:8px}.home-stat-grid{border-block:1px solid var(--line-soft);grid-template-columns:repeat(3,1fr);margin-top:22px;display:grid}.home-stat-grid>div{text-align:center;min-width:0;padding:16px 6px 15px}.home-stat-grid>div+div{border-left:1px solid var(--line-soft)}.home-stat-grid strong,.home-stat-grid span{display:block}.home-stat-grid strong{font-size:var(--fs-24);letter-spacing:0;font-variant-numeric:tabular-nums;font-weight:700}.home-stat-grid span{color:var(--tertiary);font-size:var(--fs-12);white-space:nowrap;margin-top:5px}.home-overview>a{min-height:40px;color:var(--blue);font-size:var(--fs-12);justify-content:space-between;align-items:flex-end;margin-top:auto;font-weight:600;display:flex}.home-overview>a svg{font-size:var(--fs-18)}.home-subject-area,.home-learning-area{border:1px solid var(--line-soft);background:#ffffffb8;border-radius:22px;margin-top:2px;padding:20px}.home-section-title{justify-content:space-between;align-items:flex-end;gap:20px;min-height:42px;margin-bottom:14px;display:flex}.home-section-title h2{font-size:var(--fs-18);letter-spacing:0;margin:0;font-weight:700}.home-section-title>small{color:var(--tertiary);font-size:var(--fs-12)}.home-section-title>a{min-height:38px;color:var(--blue);font-size:var(--fs-12);align-items:center;gap:3px;font-weight:600;display:inline-flex}.home-section-title>a svg{font-size:var(--fs-18)}.home-subjects{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.home-subjects>a{border:1px solid var(--line-soft);background:var(--surface);border-radius:16px;flex-direction:column;align-items:flex-start;min-width:0;min-height:186px;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.home-subjects>a:hover{border-color:#c6d2e3;transform:translateY(-2px);box-shadow:0 10px 24px #11131812}.subject-dot{width:38px;height:38px;color:var(--blue);background:var(--blue-soft);border-radius:11px;place-items:center;display:grid}.subject-dot svg{font-size:var(--fs-20)}.subject-dot.green{color:var(--green);background:#edf8ef}.subject-dot.violet{color:var(--violet);background:#e8f1fd}.subject-copy{width:100%;margin-top:18px}.home-subjects b,.home-subjects small,.home-subjects em{display:block}.home-subjects b{font-size:var(--fs-16);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.home-subjects small{min-height:34px;color:var(--muted);font-size:var(--fs-12);margin-top:6px;line-height:1.55}.home-subjects em{color:var(--blue);font-size:var(--fs-12);margin-top:12px;font-style:normal;font-weight:700}.home-subjects>a>svg{color:var(--tertiary);font-size:var(--fs-18);transition:transform .18s;position:absolute;bottom:12px;right:12px}.home-subjects>a:hover>svg{transform:translate(2px)}.home-learning{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.home-learning>a{border:1px solid var(--line-soft);background:var(--surface);border-radius:14px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:92px;padding:13px;transition:border-color .18s,transform .18s;display:grid}.home-learning>a:hover{border-color:#c6d2e3;transform:translateY(-1px)}.home-learning>a>span{color:#424955;background:#f1f3f6;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.home-learning>a>span svg{font-size:var(--fs-18)}.home-learning b,.home-learning small{display:block}.home-learning b{font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.home-learning small{color:var(--tertiary);font-size:var(--fs-12);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.home-learning>a>svg{display:none}.home-recent-area{border:1px solid var(--line-soft);background:#ffffffb8;border-radius:22px;grid-column:1/-1;padding:20px}.home-recent-list{border:1px solid var(--line-soft);background:var(--surface);border-radius:15px;overflow:hidden}.home-recent-list>a{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) 76px 70px 76px;align-items:center;gap:14px;min-height:60px;padding:9px 14px;transition:background-color .18s;display:grid}.home-recent-list>a:last-child{border-bottom:0}.home-recent-list>a:hover{background:var(--surface-soft)}.home-recent-list>a>div{min-width:0}.home-recent-list b,.home-recent-list small{display:block}.home-recent-list b{font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.home-recent-list div small{color:var(--tertiary);font-size:var(--fs-12);margin-top:4px}.home-attempt-status{color:var(--muted);background:#f0f2f5;border-radius:999px;justify-self:start;padding:4px 7px;font-weight:600}.home-attempt-status.in_progress{color:var(--amber);background:#fff5e9}.home-attempt-status.submitted{color:var(--green);background:#edf8ef}.home-recent-list>a>strong{text-align:right;font-size:var(--fs-16);font-variant-numeric:tabular-nums;font-weight:700}.home-recent-list>a>strong small{color:var(--tertiary);font-size:var(--fs-12);font-weight:600;display:inline}.home-recent-list>a>em{color:var(--blue);font-size:var(--fs-12);text-align:right;font-style:normal;font-weight:600}.home-recent-empty{border:1px dashed var(--line);background:var(--surface);border-radius:15px;justify-content:space-between;align-items:center;min-height:116px;padding:20px;display:flex}.home-recent-empty>b{font-size:var(--fs-14)}.home-recent-empty>a{color:var(--blue);font-size:var(--fs-12);align-items:center;gap:3px;font-weight:600;display:inline-flex}.account-page-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:24px;margin:0 0 20px;padding-bottom:18px;display:flex}.account-page-head h1{letter-spacing:0;margin:0;line-height:1.12}.account-page-head h1 small{color:var(--tertiary);font-size:var(--fs-13);letter-spacing:0;margin-left:12px;font-weight:600}.account-page-head p{max-width:640px;color:var(--muted);font-size:var(--fs-13);margin:8px 0 0;line-height:1.6}.account-empty{border:1px solid var(--hairline);background:color-mix(in srgb, var(--blue-soft) 42%, var(--surface));box-shadow:var(--shadow-1);text-align:center;border-radius:20px;padding:56px 24px}.account-empty-icon{width:56px;height:56px;color:var(--blue);background:var(--surface);box-shadow:var(--shadow-1);border-radius:50%;place-items:center;margin:0 auto 14px;display:grid}.account-empty-icon svg{font-size:28px}.account-empty b{font-size:var(--fs-18)}.account-empty p{color:var(--muted);margin:8px 0 18px}.account-empty a{color:var(--blue);font-weight:600}.text-action{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.learning-filters{border:1px solid var(--line-soft);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:-10px 0 20px;padding:12px;display:flex}.filter-tabs{gap:4px;display:flex}.filter-tabs button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 14px}.filter-tabs button:hover{background:var(--surface-soft);color:var(--text)}.filter-tabs button.active{font-weight:600}.filter-selects{align-items:center;gap:8px;display:flex}.filter-selects select,.learning-search input{border:1px solid var(--line);background:var(--surface);height:40px;color:var(--text);font:inherit;font-size:var(--fs-13);border-radius:9px}.filter-selects select{min-width:126px;padding:0 32px 0 11px}.learning-search{grid-template-columns:minmax(160px,260px) auto;gap:7px;display:grid}.learning-search input{width:100%;padding:0 12px}.learning-search button{cursor:pointer;border-radius:9px;min-width:58px;font-weight:600}.filter-selects select:focus-visible,.learning-search input:focus-visible,.learning-search button:focus-visible,.filter-tabs button:focus-visible,.text-action:focus-visible{outline:2px solid color-mix(in srgb, var(--blue) 35%, transparent);outline-offset:2px}.record-list{border:1px solid var(--line-soft);background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 26px #11131809}.record-list article{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) 76px 92px;align-items:center;gap:18px;min-height:78px;padding:15px 18px;display:grid}.record-list article:last-child{border-bottom:0}.record-list b,.record-list small{display:block}.record-list b{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-16);font-weight:600;overflow:hidden}.record-list small{color:var(--tertiary);font-size:var(--fs-12);margin-top:7px}.record-status{color:var(--muted);background:#f0f0f2;border-radius:999px;margin-left:12px;padding:3px 7px}.record-status.submitted{color:var(--green);background:#edf8ef}.record-status.in_progress{color:var(--amber);background:#fff5e9}.record-status.cancelled,.record-status.expired{color:var(--muted);background:#f0f0f2}.record-result{text-align:right}.record-result strong{font-size:var(--fs-24);font-weight:600}.record-result span{color:var(--tertiary);font-size:var(--fs-12);margin-left:3px}.record-list article>a{min-height:40px;color:var(--blue);font-size:var(--fs-13);border-radius:10px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.record-list article>a:hover{background:var(--blue-soft)}.review-group{margin-top:26px}.review-group>h2,.report-block>h2{font-size:var(--fs-18);margin:0 0 12px;font-weight:600}.review-group>h2 small,.report-block>h2 small{color:var(--tertiary);font-size:var(--fs-12);margin-left:10px;font-weight:600}.review-question{border:1px solid var(--line-soft);background:var(--surface);border-radius:14px;margin-bottom:10px;overflow:hidden}.review-question-head{width:100%;min-height:68px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 42px;align-items:center;gap:14px;padding:13px 16px;display:grid}.review-question-head>span{min-width:0;max-height:48px;font-size:var(--fs-14);line-height:1.65;overflow:hidden}.review-question-head p{margin:0;display:inline}.review-question-head small{color:var(--tertiary);font-size:var(--fs-12);white-space:nowrap}.review-question-head em{color:var(--blue);font-size:var(--fs-12);font-style:normal}.review-question.open .review-question-head{background:#fbfbfd}.review-question-body{border-top:1px solid var(--line-soft);padding:16px}.review-options{gap:7px;display:grid}.review-options>div{border:1px solid var(--line-soft);font-size:var(--fs-14);border-radius:10px;gap:10px;padding:9px 12px;line-height:1.55;display:flex}.review-options>div.correct{background:#f2faf4;border-color:#b7dfc1}.review-options>div.yours{background:#fff4f5;border-color:#f1b6bd}.review-options p{margin:0;display:inline}.answer-line{color:var(--muted);font-size:var(--fs-14);margin:14px 0 0}.answer-line>b{color:var(--green)}.answer-line span{margin-left:24px}.answer-line strong{color:var(--text)}.analysis-box{color:#424245;font-size:var(--fs-14);background:#f7f7f8;border-radius:10px;grid-template-columns:48px minmax(0,1fr);gap:8px;margin-top:12px;padding:13px 14px;line-height:1.7;display:grid}.analysis-box p{margin:0;display:inline}.danger-text{color:#d70015;cursor:pointer;background:0 0;border:0;min-height:38px;padding:0 10px}.review-remove{margin-top:10px}.review-actions{gap:6px;margin-top:10px;display:flex}.ask-teacher-link{color:#245fbd;min-height:38px;font-size:var(--fs-13);background:#f4f8ff;border:1px solid #b9cdef;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:700;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.ask-teacher-link:hover{color:#174a9d;background:#eaf2ff;border-color:#7fa8e8}.ask-teacher-link:focus-visible{outline-offset:2px;outline:3px solid #3b6ef53d}.ask-teacher-link svg{font-size:18px}.review-actions button:not(.danger-text){border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:9px;padding:0 12px}.review-actions button:not(.danger-text):hover{background:var(--blue-soft);color:var(--blue);border-color:#b9cde9}.note-summary{padding:0 16px 14px}.note-summary>p{white-space:pre-wrap;background:#f5f5f7;border-radius:10px;margin:0 0 8px;padding:12px 14px;line-height:1.65}.note-summary textarea,.question-actions textarea{border:1px solid var(--line);resize:vertical;background:var(--surface);border-radius:10px;width:100%;padding:11px 12px}.note-summary button,.question-actions button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;min-height:38px;margin-right:6px;padding:0 12px}.dialog-copy{color:var(--muted);margin:0 0 18px;line-height:1.6}.count-picker{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.count-picker button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;min-height:48px}.count-picker button.active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:600}.custom-count-field{align-items:center;gap:12px;margin-top:12px;display:flex}.custom-count-field label{min-width:72px;font-size:var(--fs-14);font-weight:600}.custom-count-field>div{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;width:180px;min-height:46px;display:flex;overflow:hidden}.custom-count-field input{width:100%;min-width:0;min-height:44px;font:inherit;border:0;outline:0;padding:0 12px}.custom-count-field>div:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #4678f71f}.custom-count-field span{color:var(--muted);white-space:nowrap;padding-right:12px}.count-hint{color:var(--muted);font-size:var(--fs-13);margin-top:10px;line-height:1.5;display:block}.count-hint.invalid{color:#d70015}.report-crumb{color:var(--tertiary);font-size:var(--fs-13);gap:8px;margin:0 0 20px;display:flex}.report-crumb a{color:var(--blue)}.report-page-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px;display:grid}.report-page-layout.without-card{grid-template-columns:minmax(0,1fr)}.report-main{min-width:0}.report-score-card{border:1px solid var(--line-soft);background:var(--surface);box-shadow:none;border-radius:16px;grid-template-columns:172px minmax(0,1fr);gap:24px 38px;padding:26px;display:grid;overflow:hidden}.report-score-total{flex-direction:column;justify-content:center;display:flex}.report-score-total strong{color:var(--blue);font-size:var(--fs-48);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.report-score-total span{color:#9ea5bb;font-size:var(--fs-12);margin-top:8px;line-height:1.5}.report-score-card dl{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;margin:0;display:grid}.report-score-card dl>div{text-align:center;min-width:0}.report-score-card dt{color:#32343a;font-size:var(--fs-24);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.report-score-card dl>.correct dt{color:#248a3d}.report-score-card dl>.wrong dt{color:#d70015}.report-score-card dl>.unanswered dt{color:#84858d;font-weight:600}.report-score-card dl>.rate.high dt{color:#248a3d}.report-score-card dl>.rate.low dt{color:#d70015}.report-score-card dd{color:#84858d;font-size:var(--fs-12);margin:6px 0 0;line-height:1.5}.report-score-card footer{color:#9ea5bb;font-size:var(--fs-12);border-top:1px solid #eef0f4;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px 26px;padding-top:16px;display:flex}.report-score-card footer>span{align-items:center;gap:8px;display:inline-flex}.report-score-card footer small{color:#9ea5bb;font-size:var(--fs-12)}.report-score-card footer time{color:#84858d;font-variant-numeric:tabular-nums}.report-score-card footer b{color:#32343a;font-size:var(--fs-12);font-variant-numeric:tabular-nums;font-weight:600}.report-module-section{--subject-primary:var(--blue);margin-top:24px}.report-module-section .subject-hub-panel:hover{box-shadow:none}.report-module-section .subject-hub-panel-content{padding:0}.report-module-row{cursor:default}.report-module-row:hover:before{opacity:0!important}.report-module-metrics{gap:24px!important}.report-module-metrics small{color:#84858d!important}.report-module-metrics small b{color:#32343a;font-size:var(--fs-13);font-variant-numeric:tabular-nums;margin-left:4px;font-weight:600}.report-module-metrics small.high b{color:#248a3d}.report-module-metrics small.low b{color:#d70015}.report-module-duration{align-items:center;gap:12px;display:inline-flex}.report-module-duration>span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.report-module-duration i{color:#9ea5bb;font-size:var(--fs-12);font-style:normal}.report-module-duration b.overtime{color:#d70015}.subject-hub-page .report-module-list .report-module-row{grid-template-columns:10px 8px minmax(0,1fr) auto}.subject-hub-page .report-module-list .report-module-metrics{width:auto;gap:20px!important}.subject-hub-page .report-module-list .report-module-metrics>small{width:auto}.report-analysis-section{min-width:0;margin-top:24px}.report-analysis-section>header{justify-content:space-between;align-items:center;min-height:48px;padding:0 2px;display:flex}.report-analysis-section>header h2{color:#32343a;font-size:var(--fs-18);margin:0;font-weight:600}.report-analysis-section>header span{color:#9ea5bb;font-size:var(--fs-12);font-variant-numeric:tabular-nums}.report-question-list{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;display:grid}.report-question{border:1px solid var(--line-soft);background:var(--surface);min-width:0;box-shadow:none;border-radius:16px;outline:none;padding:26px;scroll-margin-top:86px;transition:border-color .2s,box-shadow .2s}.report-question.active{border-color:#a9c5ff;box-shadow:0 0 0 3px #0071e31a}.report-question:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.report-question-head{align-items:center;gap:10px;margin-bottom:18px;display:flex}.report-question-number{color:#32343a;width:30px;height:30px;font-size:var(--fs-13);font-variant-numeric:tabular-nums;background:#f2f2f5;border-radius:8px;place-items:center;font-weight:600;display:grid}.report-answer-revised{color:#84858d;font-size:var(--fs-12);background:#f2f2f5;border-radius:999px;padding:3px 8px;line-height:1.5}.report-verdict{font-size:var(--fs-12);border-radius:999px;padding:3px 9px;font-style:normal;font-weight:600}.report-verdict.correct{color:#248a3d;background:#eaf9f5}.report-verdict.wrong{color:#d70015;background:#fff0f0}.report-verdict.unanswered{color:#84858d;background:#f2f2f5}.report-options{gap:10px;display:grid}.report-options>div{color:#32343a;background:var(--surface);min-height:46px;font-size:var(--fs-14);border:1px solid #0000;border-radius:10px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:9px 12px;line-height:1.55;display:grid}.report-options>div>b{color:#84858d;width:26px;height:26px;font-size:var(--fs-12);background:#f2f2f5;border-radius:50%;place-items:center;font-weight:600;display:grid}.report-options>div.correct{background:#f4fcfa;border-color:#248a3d}.report-options>div.correct>b{color:var(--surface);background:#248a3d}.report-options>div.wrong{background:#fff7f7;border-color:#d70015}.report-options>div.wrong>b{color:var(--surface);background:#d70015}.report-options span{overflow-wrap:anywhere;min-width:0}.report-options p{margin:0;display:inline}.report-question img{max-width:100%;height:auto}.report-result-bar{background:#f7f8fa;border-radius:8px;flex-wrap:wrap;gap:14px 32px;margin-top:16px;padding:12px 16px;display:flex}.report-result-bar>span{align-items:center;gap:8px;display:inline-flex}.report-result-bar small{color:#84858d;font-size:var(--fs-12)}.report-result-bar b{color:#32343a;font-size:var(--fs-14);font-variant-numeric:tabular-nums;font-weight:600}.report-result-bar b.correct{color:#248a3d}.report-result-bar b.wrong{color:#d70015}.report-result-bar b.unanswered{color:#84858d}.report-analysis{color:#32343a;font-size:var(--fs-14);grid-template-columns:48px minmax(0,1fr);gap:10px;margin-top:16px;line-height:1.75;display:grid}.report-analysis>b{font-weight:600}.report-analysis p{margin:0;display:inline}.report-ai-explanation{background:var(--surface-soft);border:1px solid #dce5fb;border-radius:10px;margin-top:14px;overflow:hidden}.report-ai-explanation__head{justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 12px;display:flex}.report-ai-explanation__head>span{align-items:baseline;gap:8px;display:flex}.report-ai-explanation__head b{color:#0071e3;font-size:var(--fs-14)}.report-ai-explanation__head small{color:#8a94aa;font-size:var(--fs-12)}.report-ai-explanation__head button{color:#0071e3;background:var(--surface);cursor:pointer;border:1px solid #cbd9fa;border-radius:8px;min-height:32px;padding:0 11px}.report-ai-explanation__head button:disabled{opacity:.55;cursor:wait}.report-ai-explanation__body{color:#32343a;background:var(--surface);border-top:1px solid #e4eafb;padding:12px}.report-ai-explanation__body .portal-ai-chat-markdown{font-size:var(--fs-14);gap:8px;line-height:1.75;display:grid}.report-ai-explanation__body .portal-ai-chat-markdown p{margin:0}.report-ai-explanation__body .portal-ai-chat-markdown ul{margin:0;padding-left:20px}.report-ai-explanation__body>small{color:#8a94aa;font-size:var(--fs-12);margin-top:10px;display:block}.report-ai-explanation__error{color:#d70015;font-size:var(--fs-13);margin:0;padding:0 12px 12px}.report-tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.report-tags span{color:var(--blue);background:var(--blue-soft);font-size:var(--fs-12);border-radius:4px;padding:3px 8px;line-height:1.5}.report-answer-card{border:1px solid var(--line-soft);background:var(--surface);max-height:calc(100vh - 104px);box-shadow:none;border-radius:16px;flex-direction:column;display:flex;position:sticky;top:84px;overflow:hidden}.report-answer-card>header{border-bottom:1px solid #eef0f4;flex:none;padding:18px 18px 14px}.report-answer-card h2{color:#32343a;font-size:var(--fs-16);margin:0;font-weight:600}.report-answer-legend{color:#84858d;font-size:var(--fs-12);flex-wrap:wrap;gap:8px 14px;margin-top:10px;display:flex}.report-answer-legend span{align-items:center;gap:5px;display:inline-flex}.report-answer-legend i{border-radius:50%;width:8px;height:8px}.report-answer-legend i.correct{background:#248a3d}.report-answer-legend i.wrong{background:#d70015}.report-answer-legend i.unanswered{background:#f2f2f5;box-shadow:inset 0 0 0 1px #dfe1e6}.report-answer-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#84858d61 transparent;min-height:0;padding:16px 18px 18px;overflow-y:auto}.report-answer-scroll::-webkit-scrollbar{width:6px}.report-answer-scroll::-webkit-scrollbar-track{background:0 0}.report-answer-scroll::-webkit-scrollbar-thumb{background:#84858d61;border-radius:999px}.report-answer-group+.report-answer-group{margin-top:18px}.report-answer-group h3{color:#84858d;font-size:var(--fs-12);margin:0 0 9px;font-weight:400}.report-answer-grid{grid-template-columns:repeat(10,28px);gap:6px;display:grid}.report-answer-grid button{color:#84858d;width:28px;height:28px;font-size:var(--fs-13);font-variant-numeric:tabular-nums;cursor:pointer;background:#f2f2f5;border:0;border-radius:6px;padding:0;font-weight:600;transition:transform .16s,outline-color .16s}.report-answer-grid button.correct{color:var(--surface);background:#248a3d}.report-answer-grid button.wrong{color:var(--surface);background:#d70015}.report-answer-grid button.unanswered{color:#84858d;background:#f2f2f5}.report-answer-grid button:hover{transform:translateY(-1px)}.report-answer-grid button.active{outline:2px solid var(--blue);outline-offset:0}.report-page-shell .report-answer-grid button:focus-visible,.report-page-shell .report-answer-grid button.active:focus-visible{outline:2px solid var(--blue);outline-offset:2px;box-shadow:0 0 0 2px #dce8ff}.report-legacy,.report-empty,.report-error{border:1px solid var(--line-soft);background:var(--surface);border-radius:16px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:168px;margin-top:24px;padding:26px;display:flex}.report-legacy b,.report-empty b,.report-error b{color:#32343a;font-size:var(--fs-16)}.report-legacy p,.report-empty p,.report-error p{color:#84858d;font-size:var(--fs-14);margin:7px 0 0;line-height:1.65}.report-error{margin-top:0}.report-error button{border:1px solid var(--blue);min-height:40px;color:var(--blue);background:var(--surface);cursor:pointer;border-radius:9px;margin-top:16px;padding:0 16px}.report-loading{grid-template-rows:190px 240px 1fr;gap:24px;min-height:720px;display:grid}.report-loading>div{background:linear-gradient(100deg,#f3f4f6 20%,#fafbfc 40%,#f3f4f6 60%) 0 0/200% 100%;border-radius:16px;animation:1.4s infinite report-skeleton}@keyframes report-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=1199px){.report-page-layout{grid-template-columns:minmax(0,1fr)}.report-answer-card{order:2;max-height:none;position:static}}@media (width<=720px){.report-score-card{grid-template-columns:1fr;gap:20px}.report-score-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px}.report-score-card footer{grid-column:auto}.report-module-section .subject-hub-panel-content{overflow-x:auto}.report-module-row{min-width:620px}.report-question{padding:18px}.report-answer-grid{grid-template-columns:repeat(10,28px)}}@media (prefers-reduced-motion:reduce){.report-question,.report-answer-grid button{transition:none}.report-answer-grid button:hover{transform:none}.report-loading>div{animation:none}}.question-material{color:#424245;font-size:var(--fs-14);background:#f7f7f8;border-radius:10px;margin-bottom:12px;padding:13px;line-height:1.7}.question-stem{font-size:var(--fs-16);margin-bottom:14px;line-height:1.75}.review-question-head>span,.review-options span,.analysis-box span,.question-material,.question-stem{color:inherit;letter-spacing:normal;font-family:inherit}.review-question-head>span :is(p,div,span,font,li),.review-options span :is(p,div,span,font,li),.analysis-box span :is(p,div,span,font,li),.question-material :is(p,div,span,font,li),.question-stem :is(p,div,span,font,li){font-family:inherit!important;font-size:inherit!important;color:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}.review-question-head>span :is(strong,b),.review-options span :is(strong,b),.analysis-box span :is(strong,b),.question-material :is(strong,b),.question-stem :is(strong,b){font-weight:700!important}.question-material p,.question-stem p{margin-top:0}.question-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;display:flex}.question-actions>div{width:100%;margin-top:10px}.profile-links{border:1px solid var(--line-soft);background:var(--surface);border-radius:14px;grid-template-columns:repeat(4,1fr);margin-bottom:14px;display:grid;overflow:hidden}.profile-links a{border-right:1px solid var(--line-soft);min-height:54px;font-size:var(--fs-14);justify-content:space-between;align-items:center;padding:0 16px;font-weight:600;display:flex}.profile-links a:last-child{border-right:0}.profile-links a:hover{color:var(--blue);background:var(--surface-soft)}.profile-links span{color:var(--tertiary);font-size:var(--fs-20)}.profile-unified-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:14px;display:grid}.profile-unified-grid .plain-panel{padding:22px}.profile-unified-grid h2{font-size:var(--fs-16);margin:0 0 18px}.profile-stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.profile-stats div{text-align:center;background:#f7f7f8;border-radius:12px;padding:18px 8px}.profile-stats strong,.profile-stats span{display:block}.profile-stats strong{font-size:var(--fs-24)}.profile-stats span{color:var(--tertiary);font-size:var(--fs-12);margin-top:5px}.profile-info p{border-bottom:1px solid var(--line-soft);font-size:var(--fs-14);justify-content:space-between;margin:0;padding:12px 0;display:flex}.profile-info p:last-child{border-bottom:0}.profile-info span{color:var(--tertiary)}.password-form{grid-column:1/-1;max-width:580px}.password-form label,.unified-login label{color:var(--muted);font-size:var(--fs-13);margin:12px 0 7px;font-weight:600;display:block}.password-form input,.unified-login input{border:1px solid var(--line);background:#fafafa;border-radius:10px;width:100%;height:46px;padding:0 13px}.primary-action{cursor:pointer;border:0;border-radius:10px;min-height:46px;margin-top:16px;padding:0 20px;font-weight:600}.primary-action:disabled{opacity:.55;cursor:not-allowed}.form-error{color:#d70015;font-size:var(--fs-13)}.form-success{color:var(--green);font-size:var(--fs-13)}.login-main{place-items:center;min-height:calc(100vh - 150px);display:grid}.auth-shell{min-height:100vh}.auth-header{justify-content:center;align-items:center;min-height:72px;padding:18px 20px 0;display:flex}.auth-brand{white-space:nowrap;align-items:center;gap:10px;display:inline-flex}.auth-brand>span{width:36px;height:36px;color:var(--surface);background:var(--navy-grad);border-radius:11px;place-items:center;display:grid}.auth-brand>span svg{font-size:var(--fs-20)}.auth-brand b{font-size:var(--fs-16);letter-spacing:0;font-weight:700}.unified-login{border:1px solid var(--line-soft);background:var(--surface);border-radius:18px;grid-template-columns:1fr 1fr;gap:48px;width:min(760px,100%);padding:38px;display:grid}.unified-login h1{font-size:var(--fs-32);letter-spacing:0;margin:0}.unified-login>div>p{color:var(--muted);line-height:1.7}.unified-login form .primary-action{width:100%}.registration-panel{align-items:start}.registration-eyebrow{font-size:var(--fs-12);letter-spacing:.1em;margin:0 0 8px;font-weight:700;color:var(--blue)!important}.registration-login-link{color:var(--blue);font-size:var(--fs-14);margin-top:18px;font-weight:600;display:inline-flex}.registration-steps{counter-reset:register-step;gap:9px;margin:24px 0 0;padding:0;list-style:none;display:grid}.registration-steps li{color:var(--tertiary);font-size:var(--fs-13);align-items:center;gap:10px;display:flex}.registration-steps li:before{border:1px solid var(--line);counter-increment:register-step;content:counter(register-step);border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.registration-steps li.active{color:var(--text);font-weight:600}.registration-steps li.active:before{border-color:var(--blue);background:var(--blue);color:var(--surface)}.mobile-input,.password-input{border:1px solid var(--line);background:#fafafa;border-radius:10px;align-items:center;display:flex;overflow:hidden}.mobile-input:focus-within,.password-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2469dc1a}.mobile-input>span{color:var(--muted);font-size:var(--fs-14);padding-left:13px}.password-input input,.mobile-input input{background:0 0;border:0;outline:0}.password-input button{min-width:52px;min-height:44px;color:var(--blue);cursor:pointer;background:0 0;border:0}.secondary-action{border:1px solid var(--line);cursor:pointer;border-radius:10px;min-height:44px}.secondary-action:disabled{opacity:.55;cursor:not-allowed}.registration-resend{width:100%;margin-top:10px}.form-hint{color:var(--muted);font-size:var(--fs-12);line-height:1.55}.verified-mobile{color:var(--green);font-size:var(--fs-13);background:#edf8f2;border-radius:10px;margin:0 0 18px;padding:12px 14px;font-weight:600}.registration-cancel{width:100%;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:8px}.password-reset-link{width:fit-content;color:var(--blue);font-size:var(--fs-13);margin:10px 0 0 auto;font-weight:600;display:flex}.password-reset-panel{width:min(820px,100%)}.password-reset-steps{gap:0;margin:26px 0 0;padding:0;list-style:none;display:grid}.password-reset-steps li{border-left:1px solid var(--line);min-height:42px;color:var(--tertiary);font-size:var(--fs-13);grid-template-columns:36px 1fr;align-items:center;display:grid}.password-reset-steps li span{border:1px solid var(--line);background:var(--surface);width:27px;height:27px;color:var(--tertiary);font-size:var(--fs-12);border-radius:50%;place-items:center;margin-left:-14px;font-weight:700;display:grid}.password-reset-steps li.active{border-left-color:var(--blue);color:var(--text);font-weight:600}.password-reset-steps li.active span{border-color:var(--blue);background:var(--blue);color:var(--surface);box-shadow:0 0 0 5px #2469dc17}.password-reset-steps li.done{color:var(--green);border-left-color:#91c7aa}.password-reset-steps li.done span{color:var(--green);border-color:#91c7aa}.password-reset-panel input:focus-visible,.password-reset-panel button:focus-visible,.password-reset-link:focus-visible{outline-offset:2px;outline:3px solid #2469dc38}.account-claim-login-link{width:fit-content;color:var(--muted);font-size:var(--fs-12);margin-top:10px;font-weight:600;display:flex}.account-claim-panel{align-items:start;width:min(840px,100%)}.account-claim-steps{grid-template-columns:repeat(3,1fr);margin:26px 0 0;padding:0;list-style:none;display:grid}.account-claim-steps li{color:var(--tertiary);font-size:var(--fs-12);text-align:center;justify-items:center;gap:8px;display:grid;position:relative}.account-claim-steps li:after{background:var(--line);content:"";width:calc(100% - 34px);height:1px;position:absolute;top:14px;left:calc(50% + 17px)}.account-claim-steps li:last-child:after{display:none}.account-claim-steps li span{z-index:1;border:1px solid var(--line);background:var(--surface);width:29px;height:29px;font-size:var(--fs-12);border-radius:50%;place-items:center;font-weight:700;display:grid;position:relative}.account-claim-steps li.active{color:var(--text);font-weight:600}.account-claim-steps li.active span{border-color:var(--blue);background:var(--blue);color:var(--surface);box-shadow:0 0 0 5px #2469dc17}.account-claim-steps li.done{color:var(--green)}.account-claim-steps li.done span{color:var(--green);border-color:#91c7aa}.account-claim-steps li.done:after{background:#91c7aa}.claim-uniform-hint{color:#31466a;font-size:var(--fs-13);background:#f6f9ff;border:1px solid #d9e7ff;border-radius:10px;margin:0 0 18px;padding:12px 14px;line-height:1.55}.claim-binding-summary{background:#f2faf5;border:1px solid #cfe8d9;border-radius:13px;align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:flex}.claim-binding-summary>span{background:var(--green);width:32px;height:32px;color:var(--surface);border-radius:50%;place-items:center;font-weight:700;display:grid}.claim-binding-summary div{gap:3px;display:grid}.claim-binding-summary b{color:var(--text);font-size:var(--fs-14)}.claim-binding-summary small{color:var(--muted);font-size:var(--fs-12)}.account-claim-panel input:focus-visible,.account-claim-panel button:focus-visible,.account-claim-login-link:focus-visible{outline-offset:2px;outline:3px solid #2469dc38}.practice-setup-page{max-width:920px}.practice-setup{border:1px solid var(--line-soft);background:var(--surface);border-radius:18px;max-width:620px;padding:28px}.practice-setup h1{font-size:var(--fs-32);margin:0}.practice-setup>p{color:var(--muted);line-height:1.7}.practice-setup fieldset{border:0;margin:24px 0 6px;padding:0}.practice-setup legend{font-size:var(--fs-13);margin-bottom:10px;font-weight:600}.material-practice-rule{color:#24344d;background:#f6f9ff;border:1px solid #d9e7ff;border-radius:14px;align-items:center;gap:10px;margin:24px 0 8px;padding:16px 18px;display:flex}.material-practice-rule b{font-size:var(--fs-14);margin-right:auto}.material-practice-rule span{font-size:var(--fs-13);font-weight:600}.material-practice-rule i{color:#8a99ad;font-style:normal}.material-practice-rule em{color:#248a3d;font-size:var(--fs-12);background:#e8f7ee;border-radius:999px;padding:5px 9px;font-style:normal;font-weight:700}.redirect-copy{color:var(--muted)}@media (width<=1020px){.student-header-inner{width:min(100% - 24px, var(--student-content))}.student-page{width:min(100% - 28px, var(--student-content));padding-top:26px}.student-hero{grid-template-columns:1fr;min-height:0}.study-path{max-width:700px}.subject-grid{grid-template-columns:repeat(2,1fr)}.subject-card:last-child{grid-column:1/-1;min-height:260px}.feature-grid{grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:repeat(3,1fr)}.home-tool-grid,.learning-hero{grid-template-columns:1fr}.home-dashboard{grid-template-columns:minmax(0,1fr) 280px}.home-subject-area,.home-learning-area{padding:16px}}@media (width<=860px){.home-dashboard{grid-template-columns:minmax(0,1fr)}.home-overview{min-height:210px}.home-subjects{grid-template-columns:repeat(3,minmax(0,1fr))}.home-learning{grid-template-columns:repeat(4,minmax(0,1fr))}.home-learning>a{text-align:center;grid-template-columns:1fr;align-content:center;min-height:104px}.home-learning>a>span{margin:0 auto}}@media (width<=720px){.student-header-inner{min-height:58px;padding:7px 0}.student-brand b{font-size:var(--fs-16)}.student-nav,.student-back span{display:none}.student-back{padding:0 8px}.student-records{padding:0 10px}.student-mobile-nav{z-index:var(--layer-mobile-nav);height:calc(66px + env(safe-area-inset-bottom));padding:5px 6px max(5px, env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#ffffffeb;border-top:1px solid #00000014;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.student-mobile-nav a{min-width:0;min-height:54px;color:var(--muted);font-size:var(--fs-12);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;display:flex}.student-mobile-nav a svg{font-size:var(--fs-20)}.student-mobile-nav a.active{color:var(--blue);background:var(--blue-soft)}.student-page{width:min(100% - 24px,1200px);padding:18px 0 96px}.student-hero{border-radius:24px;gap:34px;padding:32px 24px}.student-hero-copy h1,.subject-banner h1,.learning-hero h1,.page-title-row h1{font-size:var(--fs-32)}.student-hero-copy p,.subject-banner p,.learning-hero p,.page-title-row p{font-size:var(--fs-16)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .MuiButton-root{width:100%}.study-path{grid-template-columns:1fr}.study-metric.major{grid-column:auto;min-height:160px}.student-section{margin-top:52px}.section-heading{flex-direction:column;align-items:flex-start;gap:10px}.section-heading>p{text-align:left}.subject-grid,.feature-grid,.module-grid,.paper-grid,.exam-choices,.learning-tool-grid{grid-template-columns:1fr}.subject-card,.subject-card:last-child{grid-column:auto;min-height:290px}.subject-banner{border-radius:24px;flex-direction:column;align-items:flex-start;min-height:0;padding:32px 24px}.subject-banner-mark{width:100%;min-width:0}.focus-card{grid-template-columns:auto 1fr;padding:22px}.focus-card .MuiButton-root{grid-column:1/-1}.question-bank-module>header{flex-wrap:wrap;align-items:flex-start;padding:20px}.question-bank-actions{width:100%}.question-bank-actions .MuiButton-root{flex:1}.question-bank-points{grid-template-columns:1fr;padding-inline:20px}.question-bank-point summary,.question-bank-point.simple>div{grid-template-columns:minmax(0,1fr) auto}.question-bank-point summary>span,.question-bank-point.simple>div .MuiButton-root{grid-column:1/-1}.question-bank-point.simple>div .MuiButton-root{width:100%}.learning-hero{border-radius:24px;gap:28px;padding:32px 24px}.review-cycle{grid-template-columns:1fr;gap:8px}.review-cycle i{width:1px;height:16px;margin:auto}.learning-tool-grid>a{grid-template-columns:44px 1fr auto;padding:18px}.learning-tool-grid p{font-size:var(--fs-14)}.page-title-row{flex-direction:column;align-items:flex-start;gap:8px}.chat-messages{min-height:320px;padding:16px}.chat-message p{max-width:86%}.chat-composer{grid-template-columns:1fr}.chat-composer .MuiButton-root{width:100%;min-height:48px}.student-footer{padding:24px 16px}.compact-bank-page{width:min(100% - 24px, var(--student-content))}.compact-domain-head{align-items:center;gap:12px;min-height:90px}.compact-domain-head h1{font-size:var(--fs-24)}.compact-domain-head p{max-width:290px}.domain-number{display:none}.bank-shortcuts{grid-template-columns:1fr}.bank-shortcuts>a{border-right:0;border-bottom:1px solid var(--line-soft);min-height:58px}.bank-shortcuts>a:last-child{border-bottom:0}.bank-layout{grid-template-columns:1fr}.bank-aside{position:static}.domain-tabs{gap:2px;max-width:100%;overflow-x:auto}.domain-tabs button{flex:none}.plain-panel>header{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px}.compact-point-list{padding-left:28px}.taxonomy-point-row{grid-template-columns:minmax(0,1fr) auto}.taxonomy-point-row em{grid-column:1/-1;justify-content:flex-start;padding:0 0 10px 15px}.paper-list>button{grid-template-columns:1fr;gap:8px;min-height:88px}.paper-list b{white-space:normal}.home-compact{width:min(100% - 24px, var(--student-content));padding-top:14px}.home-compact-head{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:70px;margin-bottom:12px}.home-compact-head h1{font-size:var(--fs-28)}.home-compact-head>small{display:none}.home-dashboard{gap:12px}.home-focus{border-radius:18px;min-height:230px;padding:24px}.home-focus-copy{width:100%}.home-focus h2{font-size:var(--fs-24);white-space:normal}.home-focus p{max-width:90%}.home-overview{border-radius:18px;min-height:202px;padding:18px}.home-subject-area,.home-learning-area{border-radius:18px;padding:16px}.home-section-title>small{display:none}.home-subjects{grid-template-columns:1fr}.home-subjects>a{grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:13px;min-height:112px;padding:15px;display:grid}.subject-copy{margin-top:0}.home-subjects small{min-height:0}.home-subjects em{margin-top:7px}.home-subjects>a>svg{position:static}.home-learning{grid-template-columns:repeat(2,minmax(0,1fr))}.home-learning>a{text-align:left;grid-template-columns:34px minmax(0,1fr);min-height:94px}.home-learning>a>span{margin:0}.home-recent-area{border-radius:18px;padding:16px}.home-recent-list>a{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;min-height:68px}.home-recent-list>a>div{grid-row:1/3}.home-attempt-status{display:none}.home-recent-list>a>strong,.home-recent-list>a>em{text-align:right;grid-column:2}.account-page-head{flex-direction:column;align-items:flex-start}.learning-filters{flex-direction:column;align-items:stretch;margin-top:-6px}.filter-selects{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.filter-selects select{width:100%;min-width:0}.learning-search{grid-template-columns:minmax(0,1fr) 64px}.record-list article{grid-template-columns:minmax(0,1fr) 68px}.record-list article>a{grid-column:1/-1;justify-content:flex-start}.review-question-head{grid-template-columns:minmax(0,1fr) 42px}.review-question-head small{display:none}.profile-links{grid-template-columns:repeat(2,1fr)}.profile-links a{border-bottom:1px solid var(--line-soft)}.profile-links a:nth-child(2){border-right:0}.profile-links a:nth-child(n+3){border-bottom:0}.profile-unified-grid,.unified-login{grid-template-columns:1fr}.password-form{grid-column:auto}.profile-stats{grid-template-columns:repeat(2,1fr)}.unified-login{gap:20px;padding:26px 20px}.password-reset-main{align-items:start;padding-top:18px}.password-reset-panel{width:100%}.account-claim-main{align-items:start;padding-top:18px}.account-claim-panel{width:100%}.count-picker{grid-template-columns:repeat(2,1fr)}}.bank-home-head{justify-content:space-between;gap:28px;display:flex}.bank-home-head span,.bank-launcher-title span,.bank-subject-index>header span,.bank-recent>header span{font-size:var(--fs-12);margin-bottom:5px;font-weight:700;display:block}.bank-home-head h1{letter-spacing:0;margin:0}.bank-home-head p{color:var(--muted);font-size:var(--fs-13);margin:0 0 4px}.bank-home-grid{align-items:start}.bank-home-main,.bank-home-rail{min-width:0;display:grid}.bank-home-rail>*,.domain-study-rail>*{width:100%;min-width:0;overflow:hidden}.bank-launcher,.bank-subject-index,.bank-recent,.bank-resume,.bank-summary,.bank-study-tools,.domain-study-rail>section,.domain-study-rail>nav{border:1px solid var(--line-soft);background:var(--surface)}.bank-launcher-title,.bank-recent>header{justify-content:space-between;align-items:flex-end;gap:16px;min-height:46px;margin-bottom:13px;display:flex}.bank-launcher-title h2,.bank-subject-index>header h2,.bank-recent>header h2{letter-spacing:0;margin:0}.bank-launcher-title>a,.bank-recent>header>a{min-height:36px;color:var(--blue);font-size:var(--fs-12);align-items:center;gap:2px;font-weight:600;display:inline-flex}.bank-launcher-title>a svg,.bank-recent>header>a svg{font-size:var(--fs-18)}.bank-launcher-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bank-launcher-actions>a{border-radius:13px;grid-template-columns:36px minmax(0,1fr);align-content:center;gap:10px;min-width:0;min-height:112px;padding:17px;transition:filter .18s,transform .18s;display:grid;position:relative}.bank-launcher-actions>a.quick,.bank-launcher-actions>a.real,.bank-launcher-actions>a.mock{color:var(--text)}.bank-launcher-actions>a>svg:last-child{font-size:var(--fs-18);opacity:.6;position:absolute;bottom:10px;right:11px}.bank-launcher-actions b,.bank-launcher-actions small{display:block}.bank-launcher-actions b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bank-launcher-actions small{opacity:.72;margin-top:4px;line-height:1.45}.bank-subject-index>header{margin-bottom:12px}.bank-subject-index>div{border:1px solid var(--line-soft);overflow:hidden}.bank-subject-index>div>a{background:var(--surface);align-items:center;transition:background-color .18s;display:grid}.bank-subject-index>div>a:last-child{border-bottom:0}.bank-subject-index>div>a:hover{background:var(--surface-soft)}.subject-symbol{border-radius:10px;place-items:center;display:grid}.subject-symbol.blue{color:var(--blue);background:var(--blue-soft)}.subject-symbol.green{color:var(--green);background:#eaf7ed}.subject-symbol.violet{color:var(--violet);background:#e8f1fd}.bank-subject-index b,.bank-subject-index small{display:block}.bank-subject-index small{color:var(--muted);font-size:var(--fs-12);margin-top:4px}.bank-subject-index em{color:var(--blue);font-size:var(--fs-12);font-style:normal;font-weight:600}.bank-subject-index>div>a>svg{color:var(--tertiary)}.bank-recent>header{margin-bottom:10px}.bank-recent>div:not(.MuiLinearProgress-root){border:1px solid var(--line-soft);border-radius:13px;overflow:hidden}.bank-recent>div>a{border-bottom:1px solid var(--line-soft);background:var(--surface);align-items:center;gap:12px;padding:9px 13px;display:grid}.bank-recent>div>a:last-child{border-bottom:0}.bank-recent>div>a:hover{background:var(--surface-soft)}.bank-recent b,.bank-recent small{display:block}.bank-recent b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bank-recent div small{color:var(--tertiary);font-size:var(--fs-12);margin-top:3px}.bank-recent strong{text-align:right}.bank-recent strong small{display:inline}.bank-recent em{color:var(--blue);text-align:right;font-style:normal}.bank-empty-row{justify-content:space-between;align-items:center;padding:16px;display:flex}.bank-empty-row a{color:var(--blue);align-items:center;font-weight:600;display:inline-flex}.bank-home-rail{position:sticky;top:78px}.bank-resume>span{font-size:var(--fs-12);font-weight:600}.bank-resume h2{text-overflow:ellipsis;line-height:1.35;overflow:hidden}.bank-resume p{min-height:40px;font-size:var(--fs-12);margin:0;line-height:1.6}.bank-resume>a{border-radius:9px;align-items:center;gap:6px;width:fit-content;font-weight:600;display:inline-flex}.bank-resume>a svg{color:var(--blue);font-size:var(--fs-18)}.bank-summary{padding:16px}.bank-summary header{justify-content:space-between;align-items:center;display:flex}.bank-summary header span{color:var(--tertiary);font-size:var(--fs-12)}.bank-summary>div{border-block:1px solid var(--line-soft);grid-template-columns:repeat(3,1fr);margin-top:13px;display:grid}.bank-summary p{text-align:center;margin:0;padding:13px 3px}.bank-summary p+p{border-left:1px solid var(--line-soft)}.bank-summary strong,.bank-summary p span{display:block}.bank-summary strong{font-weight:700}.bank-study-tools{overflow:hidden}.bank-study-tools>a{border-bottom:1px solid var(--line-soft);align-items:center;gap:9px;padding:0 14px;display:grid}.bank-study-tools>a:last-child{border-bottom:0}.bank-study-tools>a:hover{background:var(--surface-soft)}.bank-study-tools>a>svg:first-child{color:#4f5662}.bank-study-tools>a>svg:last-child{color:var(--tertiary);font-size:var(--fs-16)}.bank-study-tools b,.bank-study-tools small{display:block}.bank-study-tools small{color:var(--tertiary);font-size:var(--fs-12);margin-top:2px}.compact-domain-head>.domain-switch{color:var(--blue);border:1px solid #075cca38;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:7px 10px 7px 12px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:inline-grid}.compact-domain-head>.domain-switch:hover{transform:translateY(-1px);box-shadow:0 5px 16px #075cca17}.compact-domain-head>.domain-switch>svg:first-child{width:28px;height:28px;color:var(--surface);background:var(--blue);border-radius:8px;padding:5px}.compact-domain-head>.domain-switch>svg:last-child{color:var(--blue);font-size:var(--fs-18)}.compact-domain-head>.domain-switch span{min-width:0;display:block}.compact-domain-head>.domain-switch small,.compact-domain-head>.domain-switch b{white-space:nowrap;display:block}.compact-domain-head>.domain-switch small{color:var(--muted);font-size:var(--fs-12);font-weight:600;line-height:1.2}.compact-domain-head>.domain-switch b{color:var(--text);margin-top:2px;line-height:1.25}.domain-tabs{border:0;border-bottom:1px solid var(--line);scrollbar-width:none;background:0 0;border-radius:0;gap:22px;width:100%;margin-top:0;padding:0;overflow:auto hidden}.domain-tabs::-webkit-scrollbar{display:none}.domain-tabs button{min-height:50px;font-size:var(--fs-14);border-radius:0;padding:0 2px}.domain-tabs button.active{color:var(--blue);background:0 0}.domain-tabs button.active:after{background:var(--blue);content:"";height:2px;display:block;position:absolute;bottom:-1px;left:0;right:0}.domain-workspace{align-items:start;display:grid}.domain-workspace-main{min-width:0}.domain-content{margin-top:0;overflow:hidden}.domain-content-head{border-bottom:1px solid var(--line-soft);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;display:flex}.domain-content-head h2{margin:0}.domain-content-head span{font-size:var(--fs-12);margin-top:4px;display:block}.domain-content-head>small{color:var(--tertiary);font-size:var(--fs-12)}.domain-study-rail{display:grid;position:sticky;top:78px}.domain-study-rail>section,.domain-study-rail>nav{overflow:hidden}.domain-study-rail section>header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:0 14px;display:flex}.domain-study-rail section>header b{font-size:var(--fs-14)}.domain-study-rail section>header a{color:var(--muted);font-size:var(--fs-12);align-items:center;display:inline-flex}.domain-study-rail section>header a svg{font-size:var(--fs-16)}.domain-history-list>a{border-bottom:1px solid var(--line-soft);align-content:center;padding:10px 14px}.domain-history-list>a:last-child{border-bottom:0}.domain-history-list>a:hover{background:var(--surface-soft)}.domain-history-list span,.domain-history-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.domain-history-list small{font-size:var(--fs-12);margin-top:4px}.domain-rail-empty{color:var(--tertiary);padding:18px 14px;line-height:1.6}.domain-rail-stats{padding:4px 14px}.domain-rail-stats p{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:46px;margin:0;display:flex}.domain-rail-stats p:last-child{border-bottom:0}.domain-rail-stats span{color:var(--muted);font-size:var(--fs-12)}.domain-rail-stats strong{font-size:var(--fs-16);font-weight:700}.domain-study-rail>nav>a{border-bottom:1px solid var(--line-soft);grid-template-columns:22px minmax(0,1fr) 17px;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:grid}.domain-study-rail>nav>a:last-child{border-bottom:0}.domain-study-rail>nav>a:hover{background:var(--surface-soft)}.domain-study-rail>nav svg:first-child{color:#555d69;font-size:var(--fs-18)}.domain-study-rail>nav svg:last-child{color:var(--tertiary);font-size:var(--fs-16)}@media (width<=1040px){.student-nav .student-learning-link{display:none}.bank-home-rail,.domain-study-rail{position:static}}@media (width<=820px){.bank-home-rail{grid-template-columns:1fr 1fr}.bank-study-tools{grid-column:1/-1;grid-template-columns:repeat(4,1fr);display:grid}.bank-study-tools>a{border-right:1px solid var(--line-soft);text-align:center;border-bottom:0;grid-template-columns:1fr;justify-items:center;gap:4px;min-height:70px}.bank-study-tools>a:last-child{border-right:0}.bank-study-tools small,.bank-study-tools>a>svg:last-child{display:none}.domain-study-rail{grid-template-columns:1fr 1fr}.domain-study-rail>nav{grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.domain-study-rail>nav>a{border-right:1px solid var(--line-soft);border-bottom:0;min-height:52px}}@media (width<=620px){.bank-home{padding-top:12px}.bank-home-head{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:70px}.bank-home-head p{display:none}.bank-launcher,.bank-subject-index,.bank-recent{padding:14px}.bank-launcher-actions>a{grid-template-columns:36px minmax(0,1fr) 20px;align-items:center}.bank-launcher-actions>a>svg:last-child{position:static}.bank-subject-index>div>a{grid-template-columns:36px minmax(0,1fr) 18px}.bank-subject-index em{display:none}.bank-recent>div>a{grid-template-columns:minmax(0,1fr) auto}.bank-recent .home-attempt-status,.bank-recent strong{display:none}.bank-recent em{text-align:right}.bank-home-rail,.domain-study-rail{grid-template-columns:1fr}.bank-study-tools,.domain-study-rail>nav{grid-column:auto}.compact-domain-head{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:104px}.compact-domain-head>.domain-switch{width:100%;max-width:240px}.domain-content-head{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.paper-card-grid{grid-template-columns:1fr;gap:9px;padding:10px}.paper-card>button{min-height:158px;padding:16px}.paper-card h3{min-height:0;font-size:var(--fs-16);-webkit-line-clamp:3;margin:12px 0}}.mastery-page{padding-bottom:96px}.mastery-page .account-page-head{margin-bottom:14px}.mastery-basis{min-height:28px;font-size:var(--fs-12);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 10px;font-weight:700;display:inline-flex}.mastery-basis--exact{color:#248a3d;background:#e7f6ed;border:1px solid #bde5cd}.mastery-basis--estimated{color:#b25000;background:#fff3d7;border:1px solid #f1d18d}.mastery-basis-note{color:#67451b;background:#fffaf0;border:1px solid #f0d6a6;border-radius:12px;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:4px 14px;margin:0 0 22px;padding:15px 18px;display:grid}.mastery-basis-note strong{font-size:var(--fs-13);padding-top:1px}.mastery-basis-note p{font-size:var(--fs-13);margin:0;line-height:1.65}.mastery-basis-note small{color:#826438;grid-column:2;line-height:1.5}.mastery-status{margin-top:16px}.mastery-status>p{color:var(--muted);margin:12px 0 0}.mastery-status .text-action{min-height:40px;margin-top:8px}.mastery-groups{gap:18px;display:grid}.mastery-group{background:var(--surface);box-shadow:none;border:1px solid #e3e9f1;border-radius:22px;overflow:hidden}.mastery-group__header{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:18px;padding:19px 22px 15px;display:flex}.mastery-group__header span:not(.mastery-basis){color:var(--tertiary);font-size:var(--fs-12);font-weight:600}.mastery-group__header h2{color:#26334a;font-size:var(--fs-20);letter-spacing:0;margin:3px 0 0}.mastery-group__summary{background:#f8fafc;border-bottom:1px solid #edf1f6;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:14px 22px;display:grid}.mastery-group__summary div{min-width:0}.mastery-group__summary dt{color:var(--tertiary);font-size:var(--fs-12)}.mastery-group__summary dd{color:#26334a;font-size:var(--fs-16);font-variant-numeric:tabular-nums;margin:4px 0 0;font-weight:700}.mastery-point-list{margin:0;padding:0;list-style:none}.mastery-point{border-bottom:1px solid #edf1f6;padding:18px 22px}.mastery-point:last-child{border-bottom:0}.mastery-point__heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.mastery-point__heading strong,.mastery-point__heading span{display:block}.mastery-point__heading strong{color:#26334a;font-size:var(--fs-16)}.mastery-point__heading div>span{color:var(--tertiary);font-size:var(--fs-12);margin-top:4px}.mastery-point__evidence{grid-template-columns:minmax(220px,1.3fr) minmax(240px,1fr);align-items:end;gap:24px;margin-top:15px;display:grid}.mastery-point__rate>span{color:var(--muted);font-size:var(--fs-13);justify-content:space-between;gap:12px;display:flex}.mastery-point__rate b{color:#26334a;font-size:var(--fs-16);font-variant-numeric:tabular-nums}.mastery-progress{appearance:none;background:#e8edf4;border:0;border-radius:999px;width:100%;height:9px;margin-top:8px;display:block;overflow:hidden}.mastery-progress::-webkit-progress-bar{background:#e8edf4;border-radius:999px}.mastery-progress::-webkit-progress-value{background:var(--blue);border-radius:999px}.mastery-progress::-moz-progress-bar{background:var(--blue);border-radius:999px}.mastery-progress--empty{height:24px;color:var(--tertiary);font-size:var(--fs-12);background:0 0;padding-top:6px}.mastery-point__evidence dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.mastery-point__evidence dl div{border-left:1px solid #e2e8f0;min-width:0;padding-left:12px}.mastery-point__evidence dt{color:var(--tertiary);font-size:var(--fs-12)}.mastery-point__evidence dd{color:#26334a;font-size:var(--fs-16);font-variant-numeric:tabular-nums;margin:3px 0 0;font-weight:600}.mastery-point>time{color:var(--tertiary);font-size:var(--fs-12);margin-top:12px;display:block}.mastery-point__footer{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.mastery-point__footer time{color:var(--tertiary);font-size:var(--fs-12)}.mastery-point__footer .ask-teacher-link{flex:none}.mastery-group__empty{color:var(--muted);text-align:center;margin:0;padding:30px 22px}@media (width<=720px){.mastery-basis-note{grid-template-columns:1fr}.mastery-basis-note small{grid-column:1}.mastery-group__header{align-items:flex-start;padding:17px 16px 13px}.mastery-group__summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px 16px}.mastery-point{padding:17px 16px}.mastery-point__evidence{grid-template-columns:1fr;gap:15px}}@media (width<=420px){.mastery-point__heading{flex-direction:column;gap:8px}.mastery-point__evidence dl{grid-template-columns:1fr}.mastery-point__evidence dl div{border-top:1px solid #e2e8f0;border-left:0;padding:7px 0 0}}.rights-page,.redeem-page{max-width:900px}.rights-page__header,.redeem-page__header{background:var(--surface);border-radius:22px;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;padding:30px;display:flex}.rights-page__header h1,.redeem-page__header h1{letter-spacing:0;margin:6px 0;font-size:clamp(30px,5vw,46px)}.rights-page__header p,.redeem-page__header p,.rights-page__note{color:var(--muted);margin:0;line-height:1.7}.rights-page__header>div>span,.redeem-page__header>span{color:var(--blue);font-size:var(--fs-13);font-weight:700}.rights-page__redeem-link,.redeem-back-link{white-space:nowrap}.rights-card,.redeem-card{border:1px solid var(--line-soft);background:var(--surface);border-radius:20px;padding:28px;box-shadow:0 10px 28px #142a500f}.rights-status{background:var(--surface-soft);border-radius:14px;padding:18px}.rights-status strong{font-size:var(--fs-24)}.rights-status p{color:var(--muted);margin:6px 0 0}.rights-status--active,.rights-status--expiring_soon{background:#edf8ef}.rights-status--load_failed,.rights-status--revoked_or_disabled{background:#fff3f2}.rights-details{background:var(--line-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:22px 0;display:grid}.rights-details>div{background:var(--surface);padding:16px}.rights-details dt{color:var(--muted);font-size:var(--fs-13)}.rights-details dd{overflow-wrap:anywhere;margin:6px 0 0;font-weight:600}.rights-page__note{margin:18px 4px}.redeem-page__header{display:block}.redeem-card{gap:12px;display:grid}.redeem-card label{font-weight:700}.redeem-card input{border:1px solid var(--line);width:100%;min-height:52px;font-size:var(--fs-16);letter-spacing:.1em;text-transform:uppercase;border-radius:12px;padding:0 15px}.redeem-card small{color:var(--muted);line-height:1.6}.redeem-message{color:#d70015;background:#fff3f2;border-radius:12px;margin:4px 0;padding:14px;line-height:1.65}.redeem-message--success{color:#248a3d;background:#edf8ef}.redeem-card__scope{border-left:3px solid var(--blue);color:var(--muted);background:var(--surface-soft);border-radius:0 10px 10px 0;margin:0 0 4px;padding:12px 14px;line-height:1.6}.credit-receipt{background:#f4fbf5;border:1px solid #cfe6d4;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:16px;padding:18px;display:grid}.credit-receipt>div{min-width:0}.credit-receipt span,.credit-receipt strong,.credit-receipt small{display:block}.credit-receipt span{color:var(--muted);font-size:var(--fs-13)}.credit-receipt strong{color:#248a3d;font-size:var(--fs-28);overflow-wrap:anywhere;margin-top:4px;line-height:1.1}.credit-receipt small{color:#4f6f57;margin-top:3px}.credit-receipt a{min-height:44px;color:var(--blue);white-space:nowrap;align-items:center;font-weight:700;display:inline-flex}.credit-receipt .credit-receipt__pending{font-size:var(--fs-16);line-height:1.5}.redeem-actions{gap:10px;margin-top:8px;display:flex}.primary-action,.secondary-action{cursor:pointer;border:0;border-radius:11px;min-height:46px;padding:0 18px;font-weight:700}.primary-action{color:var(--surface)}.secondary-action{color:var(--text);background:var(--surface-soft)}button:disabled{cursor:not-allowed;opacity:.58}.redeem-back-link{color:var(--blue);margin-top:18px;font-weight:600;display:inline-block}.credit-account{border:1px solid var(--line-soft);background:var(--surface);border-radius:20px;margin-top:24px;scroll-margin-top:82px;overflow:hidden;box-shadow:0 10px 28px #142a500d}.credit-account__header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:28px;padding:26px 28px;display:flex}.credit-account__header>div>span{color:var(--blue);font-size:var(--fs-13);font-weight:700}.credit-account__header h2{font-size:var(--fs-24);letter-spacing:0;margin:5px 0 3px}.credit-account__header p{color:var(--muted);margin:0;line-height:1.6}.credit-account__summary{align-items:stretch;gap:10px;display:flex}.credit-account__redeem-link{white-space:nowrap;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.credit-balance{border:1px solid var(--line-soft);background:var(--line-soft);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;min-width:270px;margin:0;display:grid;overflow:hidden}.credit-balance>div{background:var(--surface);padding:14px 16px}.credit-balance dt{color:var(--muted);font-size:var(--fs-12)}.credit-balance dd{color:var(--text);font-size:var(--fs-24);overflow-wrap:anywhere;margin:5px 0 0;font-weight:700;line-height:1.1}.credit-account__status{color:var(--muted);margin:0;padding:28px}.credit-account__status--error{color:#d70015}.credit-account__status--error p{margin:0 0 12px}.credit-account__status .text-action{min-height:44px}.credit-ledger{padding:24px 28px 28px}.credit-ledger__title{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.credit-ledger__title h3{font-size:var(--fs-18);margin:0}.credit-ledger__title span{color:var(--muted);font-size:var(--fs-12)}.credit-ledger__list{margin:0;padding:0;list-style:none}.credit-ledger__list li{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:84px;padding:14px 0 14px 24px;display:grid;position:relative}.credit-ledger__list li:last-child{border-bottom:0}.credit-ledger__rail{background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:4px}.credit-ledger__rail:before{border:2px solid var(--surface);background:var(--blue);content:"";border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #c9d7f4}.credit-ledger__list strong,.credit-ledger__list time{display:block}.credit-ledger__list time{color:var(--muted);font-size:var(--fs-12);margin-top:5px}.credit-ledger__list dl{text-align:right;grid-template-columns:repeat(2,minmax(100px,1fr));gap:16px;margin:0;display:grid}.credit-ledger__list dl>div{min-width:0}.credit-ledger__list dt{color:var(--muted);font-size:var(--fs-12)}.credit-ledger__list dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:700}.credit-ledger__empty{color:var(--muted);margin:0;padding:22px 0}.credit-ledger__error{color:#d70015;background:#fff3f2;border-radius:10px;padding:12px}.credit-ledger__more{min-width:140px;margin-top:16px}.credit-ledger__more:focus-visible,.credit-receipt a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media (width<=620px){.rights-page,.redeem-page{padding-bottom:112px}.rights-page__header,.redeem-page__header{flex-direction:column;align-items:stretch;padding:22px 18px}.rights-card,.redeem-card{padding:20px 16px}.rights-details{grid-template-columns:1fr}.redeem-actions{background:var(--surface);padding:10px 0;position:sticky;bottom:84px}.redeem-card--complete .redeem-actions{position:static}.redeem-actions button{flex:1}.credit-receipt{grid-template-columns:1fr 1fr}.credit-receipt a{grid-column:1/-1}.credit-account__header{flex-direction:column;align-items:stretch;padding:22px 18px}.credit-account__summary{display:grid}.credit-balance{min-width:0}.credit-ledger{padding:20px 18px 24px}.credit-ledger__list li{grid-template-columns:1fr;gap:12px}.credit-ledger__list dl{text-align:left}.credit-ledger__more{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{color:var(--text);background:var(--page)}.student-header{background:#fffffff0;border-bottom-color:#e8ecf3;box-shadow:0 1px #1f2e4a05}.student-header-inner{min-height:66px}.student-brand>span{background:var(--navy-grad);width:34px;height:34px;box-shadow:none;border-radius:10px}.student-brand b{color:#253249;font-weight:700}.student-nav{gap:16px}.student-nav a{color:#455168;border-radius:0;min-height:66px;padding:0 2px;font-weight:600}.student-nav a:hover,.student-nav a.active{color:var(--blue);background:0 0}.student-nav a.active:after{background:var(--blue);content:"";border-radius:3px 3px 0 0;height:3px;display:block;position:absolute;bottom:0;left:0;right:0}.student-mokao-link{color:#455168;min-height:66px;font-size:var(--fs-14);align-items:center;gap:5px;margin-left:16px;padding:0 2px;font-weight:600;transition:color .18s;display:flex;position:relative}.student-mokao-link:hover,.student-mokao-link.active{color:var(--blue)}.student-mokao-link.active:after{background:var(--blue);content:"";border-radius:3px 3px 0 0;height:3px;display:block;position:absolute;bottom:0;left:0;right:0}@media (width<=720px){.student-mokao-link{display:none}}.student-records{color:#515d72;border-color:#e4e9f1;min-height:40px;padding-inline:14px;box-shadow:0 2px 8px #1c2b4308}.student-page{padding-top:25px}.student-footer{color:#a0a9b7;background:var(--surface);border-top:1px solid #edf0f5}.bank-home{padding-top:22px}.bank-home-head span,.bank-launcher-title span,.bank-subject-index>header span,.bank-recent>header span{color:var(--blue)}.bank-home-head h1{color:#253249;font-weight:700}.bank-home-grid{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.bank-home-main,.bank-home-rail{gap:18px}.bank-launcher,.bank-subject-index,.bank-recent,.bank-resume,.bank-summary,.bank-study-tools,.domain-study-rail>section,.domain-study-rail>nav{box-shadow:none;border-color:#e7ebf2;border-radius:22px}.bank-launcher,.bank-subject-index,.bank-recent{padding:16px}.bank-launcher-title{min-height:42px;margin-bottom:12px}.bank-launcher-title h2,.bank-subject-index>header h2,.bank-recent>header h2{color:#2c3950}.bank-launcher-actions>a{border:1px solid var(--line);min-height:128px;box-shadow:none;border-radius:22px;grid-template-columns:42px minmax(0,1fr);align-content:start;padding:20px 18px;overflow:hidden;color:var(--text)!important}.bank-launcher-actions>a:before,.domain-mode-selector button:before,.bank-launcher-actions>a:after,.domain-mode-selector button:after{content:none}.bank-launcher-actions>a.quick,.bank-launcher-actions>a.real,.bank-launcher-actions>a.mock{background:var(--surface)}.bank-launcher-actions>a:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 10px 24px #00000012}.bank-launcher-actions>a>svg:first-child{z-index:1;color:var(--blue);background:var(--blue-soft);border-radius:12px;padding:9px;position:relative}.bank-launcher-actions>a>svg:last-child{z-index:1;color:var(--tertiary)}.bank-launcher-actions>a>div{z-index:1;position:relative}.bank-launcher-actions b{color:var(--surface);margin-top:2px}.bank-launcher-actions small{color:var(--muted);font-size:var(--fs-12)}.bank-subject-index>div>a:hover,.bank-recent>div>a:hover,.bank-study-tools>a:hover,.domain-history-list>a:hover,.domain-study-rail>nav>a:hover{background:#f7f9fd}.bank-resume{color:#23334d;background:var(--blue-soft);border-color:#dce7ff;position:relative;overflow:hidden}.bank-resume:after{content:"";border:24px solid #4b78f614;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-74px;right:-46px}.bank-resume>span{color:var(--blue)}.bank-resume h2{z-index:1;color:#253653;position:relative}.bank-resume p{z-index:1;color:#718096;position:relative}.bank-resume>a{z-index:1;color:#0071e3;background:var(--surface);border:1px solid #cfdbf7;position:relative}.bank-summary>div{border-bottom:0}.compact-bank-page{padding-top:20px}.compact-domain-head{margin-bottom:15px}.compact-domain-head>div>span{color:var(--muted)}.compact-domain-head h1{color:#26334a}.compact-domain-head p{color:var(--muted)}.compact-domain-head>.domain-switch{background:var(--surface);border-color:#d7e3fb;border-radius:10px;box-shadow:0 5px 16px #2a47780d}.compact-domain-head>.domain-switch:hover{background:#f6f9ff;border-color:#aebff0}.domain-mode-selector{gap:12px;display:grid}.domain-mode-selector.three{grid-template-columns:repeat(3,minmax(0,1fr))}.domain-mode-selector.two{grid-template-columns:repeat(2,minmax(0,1fr))}.domain-mode-selector button{border:1px solid var(--line);min-width:0;color:var(--text);text-align:left;cursor:pointer;box-shadow:none;border-radius:22px;align-items:center;gap:12px;padding:18px;transition:transform .18s,box-shadow .18s,filter .18s;display:grid;position:relative;overflow:hidden}.domain-mode-selector button.special,.domain-mode-selector button.real,.domain-mode-selector button.mock{background:var(--surface)}.domain-mode-selector button:hover,.domain-mode-selector button.active{filter:none;transform:translateY(-2px);box-shadow:0 10px 24px #00000012}.domain-mode-selector button.active{outline:2px solid var(--blue);outline-offset:2px}.domain-mode-selector .domain-mode-icon{z-index:1;width:42px;height:42px;color:var(--blue);background:var(--blue-soft);border-radius:12px;place-items:center;display:grid;position:relative}.domain-mode-selector .domain-mode-icon svg{font-size:var(--fs-24)}.domain-mode-selector button>span:nth-child(2){z-index:1;min-width:0;position:relative}.domain-mode-selector b,.domain-mode-selector small{display:block}.domain-mode-selector b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.domain-mode-selector small{color:var(--muted);font-size:var(--fs-12);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;overflow:hidden}.domain-mode-selector button>svg{z-index:1;color:var(--tertiary);font-size:var(--fs-20);opacity:.8;position:relative}.domain-workspace{grid-template-columns:minmax(0,1fr) 286px;gap:18px;margin-top:18px}.domain-content{background:var(--surface);box-shadow:none;border:1px solid #e7ebf2;border-radius:22px}.domain-content-head{padding:15px 18px 13px 22px;position:relative;overflow:hidden}.domain-content-head:before{background:var(--blue);content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.domain-content-head h2{color:#293750}.domain-content-head span{color:#8792a4}.paper-total-badge{background:#f2f5fa;border-radius:999px;padding:5px 9px;color:#60708a!important}.compact-module{border-bottom-color:#edf0f5}.compact-module-head,.compact-module-trigger{min-height:58px}.module-chevron{width:22px;height:22px;color:var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;display:grid}.compact-module.open .module-chevron{color:var(--surface);background:var(--blue)}.compact-module-trigger b{color:#344258}.compact-module-trigger small{color:#8c96a7}.module-practice-link,.taxonomy-point-row em{color:var(--blue)}.compact-point-list{background:var(--surface-soft)}.taxonomy-point-row:hover{background:#f0f5ff}.paper-panel{background:var(--surface);box-shadow:none;border:1px solid #e7ebf2;border-radius:22px;overflow:hidden}.paper-list-summary{color:#8490a4;min-height:44px;font-size:var(--fs-13);background:#fbfcfe;border-bottom:1px solid #edf0f5;align-items:center;padding:0 16px;display:flex}.paper-simple-list{background:var(--surface);display:block}.paper-simple-row{background:var(--surface);border-bottom:1px solid #edf0f5}.paper-simple-row:last-child{border-bottom:0}.paper-simple-row>button{background:var(--surface);color:#1f2937;text-align:left;cursor:pointer;touch-action:manipulation;border:0;align-items:center;gap:10px;width:100%;padding:16px 22px;transition:background-color .16s;display:grid}.paper-simple-row>button:hover{background:#fafbfe}.paper-simple-row>button:active{background:#f3f6fb}.paper-simple-row>button:focus-visible{z-index:1;outline-offset:-2px;outline:2px solid #0071e3;position:relative}.paper-list-icon{color:#8292b5;border:1px solid #aebad0;border-radius:2px;place-items:center;width:20px;height:14px;display:grid}.paper-list-icon svg{font-size:var(--fs-12)}.paper-list-copy{min-width:0;display:block}.paper-list-copy b{color:#202938;text-overflow:ellipsis;white-space:nowrap;line-height:1.45;display:block;overflow:hidden}.paper-list-copy small{color:#8b95a6;font-size:var(--fs-12);margin-top:10px;line-height:1.35;display:block}.paper-list-empty{border:0;border-radius:0}.paper-pagination{border-top:1px solid #edf0f5}.domain-study-rail{gap:14px}.domain-study-rail>section,.domain-study-rail>nav{border-radius:11px;box-shadow:0 7px 24px #2532490a}.domain-study-rail section>header{min-height:55px}.domain-history-list small{color:#d70015}.domain-rail-stats strong{color:#526891}.account-page-head h1{color:#26334a}.learning-filters,.record-list article,.review-question,.profile-links,.plain-panel,.practice-setup{box-shadow:none;border-color:#e6ebf2;border-radius:22px}.primary-action{background:var(--blue)}.filter-tabs button.active{color:#253247;background:#eef1f5;box-shadow:inset 0 0 0 1px #dce2e9}.filter-tabs button.active:hover{color:#1b2738;background:#e7ebf0}.learning-search button{color:#2b3749;background:#f2f4f7;border:1px solid #d9e0e8}.learning-search button:hover{background:#e8ecf1;border-color:#cfd7e1}.bank-launcher-title h2,.bank-subject-index>header h2,.bank-recent>header h2{font-size:var(--fs-24);font-weight:700}.bank-launcher-actions>a{grid-template-columns:46px minmax(0,1fr);align-content:center;align-items:center;min-height:112px}.bank-launcher-actions b{z-index:1;margin:0;font-weight:700;position:relative}.bank-subject-index b{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.bank-subject-index>div>a>svg{font-size:var(--fs-20)}.bank-recent b{font-weight:600}.home-attempt-status{font-size:var(--fs-12)}.bank-recent strong{font-size:var(--fs-16)}.bank-empty-row{min-height:92px}.bank-empty-row b{font-size:var(--fs-16)}.bank-empty-row a{font-size:var(--fs-14)}.bank-resume{padding:24px 20px}.bank-resume h2{font-size:var(--fs-24);white-space:normal;margin:0 0 22px;font-weight:700}.bank-resume>a{min-height:44px;font-size:var(--fs-14);margin-top:0;padding:0 15px}.bank-summary header b{font-size:var(--fs-16);font-weight:700}.bank-summary strong{font-size:var(--fs-24)}.bank-summary p span{color:#69758a;font-size:var(--fs-12);margin-top:6px}.bank-study-tools>a{grid-template-columns:26px minmax(0,1fr) 20px;min-height:62px}.bank-study-tools>a>svg:first-child{font-size:var(--fs-20)}.bank-study-tools b{font-size:var(--fs-16);font-weight:600}@media (width<=1040px){.bank-home-grid,.domain-workspace{grid-template-columns:minmax(0,1fr) 254px}}@media (width<=820px){.student-nav{gap:10px}.domain-mode-selector.three{scroll-snap-type:x proximity;grid-template-columns:repeat(3,minmax(190px,1fr));padding:3px 3px 10px;overflow-x:auto}.domain-mode-selector.three button{scroll-snap-align:start}.bank-home-grid,.domain-workspace{grid-template-columns:1fr}}@media (width<=620px){.student-page{width:min(100% - 24px,var(--student-content));padding-top:15px}.student-header-inner{width:calc(100% - 24px)}.bank-home-head h1{font-size:var(--fs-24)}.bank-launcher-actions>a{align-content:center;padding:14px}.bank-launcher-actions>a:before{width:110px;height:110px}.domain-mode-selector.two{grid-template-columns:1fr}.domain-mode-selector button{min-height:84px;padding:14px}.compact-domain-head{margin-bottom:12px}.paper-simple-row>button{min-height:88px;padding:15px 14px}.paper-list-copy b{white-space:normal}}.bank-home-head{align-items:center}.bank-recent>div>a{grid-template-columns:minmax(0,1fr) auto;min-height:68px}.bank-recent b{font-size:var(--fs-16)}.bank-recent em{font-size:var(--fs-14);font-weight:600}.bank-home-rail{align-content:start}.compact-domain-head{align-items:center;min-height:76px}.compact-domain-head h1{font-size:var(--fs-32);font-weight:700}.compact-domain-head>.domain-switch{min-width:214px;min-height:52px}.compact-domain-head>.domain-switch b{font-size:var(--fs-16);margin:0;font-weight:700}.domain-mode-selector button{grid-template-columns:46px minmax(0,1fr) 22px;min-height:92px}.domain-mode-selector b{font-size:var(--fs-20);font-weight:700}.domain-content-head{min-height:62px}.domain-content-head h2{font-size:var(--fs-20);font-weight:700}.compact-module-head,.compact-module-trigger{min-height:64px}.compact-module-trigger{grid-template-columns:24px minmax(0,1fr)}.compact-module-trigger b{font-size:var(--fs-16);font-weight:600}.module-practice-link{min-height:42px;font-size:var(--fs-14)}.taxonomy-point-row{min-height:54px;font-size:var(--fs-16);grid-template-columns:minmax(0,1fr) auto}.taxonomy-point-row em{font-size:var(--fs-14);font-weight:600}.paper-simple-row>button{grid-template-columns:20px minmax(0,1fr) 20px;min-height:72px}.paper-list-copy b{font-size:var(--fs-16);font-weight:600}.paper-simple-row>button>svg{color:var(--tertiary);font-size:var(--fs-20)}.domain-history-list>a{grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px;min-height:62px;display:grid}.domain-history-list span{font-size:var(--fs-14);font-weight:600}.domain-history-list>a>svg{color:var(--tertiary);font-size:var(--fs-18)}.domain-rail-empty{min-height:70px;font-size:var(--fs-14);place-items:center;display:grid}.domain-study-rail>nav>a{min-height:54px;font-size:var(--fs-14)}.account-page-head{align-items:center;min-height:84px}.account-page-head h1{font-size:var(--fs-32);font-weight:700}.subject-banner{min-height:142px;padding:30px 40px}.subject-banner h1{font-size:var(--fs-32);margin:0}.subject-banner-mark{min-width:0;padding:16px 20px}.subject-banner-mark>svg{width:42px;height:42px}.feature-card h3{font-size:var(--fs-20);margin-bottom:18px}.friendly-empty{justify-content:center}@media (width<=620px){.compact-domain-head h1{font-size:var(--fs-28)}.compact-domain-head>.domain-switch{min-width:0}.domain-mode-selector b{font-size:var(--fs-18)}.account-page-head h1{font-size:var(--fs-28)}.subject-banner{min-height:108px;padding:24px}.subject-banner h1{font-size:var(--fs-32)}}.bank-home{min-height:calc(100vh - 126px);padding-bottom:32px}.bank-home-head{min-height:64px;margin-bottom:18px}.bank-home-head h1{font-size:var(--fs-32)}.bank-home-grid{display:block}.bank-home-main{gap:18px;width:100%;display:grid}.bank-launcher,.bank-subject-index,.bank-tools-panel{background:var(--surface);border:1px solid #e4e9f1;border-radius:14px;width:100%;padding:24px;box-shadow:0 7px 24px #2532490a}.bank-launcher-title,.bank-subject-index>header{align-items:center;min-height:38px;margin-bottom:16px;display:flex}.bank-launcher-title h2,.bank-subject-index>header h2,.bank-tools-panel>h2{color:#26334a;font-size:var(--fs-24);letter-spacing:0;margin:0;font-weight:700}.bank-launcher-actions{gap:14px}.bank-launcher-actions>a{grid-template-columns:52px minmax(0,1fr);gap:14px;min-height:142px;padding:24px}.bank-launcher-actions>a>svg:first-child{width:52px;height:52px}.bank-launcher-actions b{font-size:var(--fs-24)}.bank-subject-index>div{border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bank-subject-index>div>a{border-right:1px solid var(--line-soft);border-bottom:0;grid-template-columns:46px minmax(0,1fr) 22px;gap:14px;min-height:112px;padding:20px}.bank-subject-index>div>a:last-child{border-right:0}.subject-symbol{width:46px;height:46px}.subject-symbol svg{font-size:var(--fs-24)}.bank-subject-index b{font-size:var(--fs-18)}.bank-tools-panel>h2{margin-bottom:16px}.bank-tools-panel .bank-study-tools{border:1px solid var(--line-soft);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.bank-tools-panel .bank-study-tools>a{border-right:1px solid var(--line-soft);border-bottom:0;grid-template-columns:30px minmax(0,1fr) 20px;gap:12px;min-height:88px;padding:0 20px}.bank-tools-panel .bank-study-tools>a:last-child{border-right:0}.bank-tools-panel .bank-study-tools>a>svg:first-child{font-size:var(--fs-24)}.bank-tools-panel .bank-study-tools b{font-size:var(--fs-16)}.shenlun-page .student-section{margin-top:18px}.shenlun-page .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;min-height:390px}.shenlun-page .feature-card{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:185px;padding:28px;display:grid}.shenlun-page .feature-card h3{font-size:var(--fs-24);margin:0}.shenlun-page .feature-card button{min-height:40px;font-size:var(--fs-16);margin:0}@media (width<=820px){.bank-home-head h1{font-size:var(--fs-28)}.bank-launcher-actions>a{min-height:112px;padding:18px}.bank-launcher-actions b{font-size:var(--fs-20)}.bank-subject-index>div{grid-template-columns:1fr}.bank-subject-index>div>a{border-right:0;border-bottom:1px solid var(--line-soft);min-height:82px}.bank-subject-index>div>a:last-child{border-bottom:0}.bank-tools-panel .bank-study-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-tools-panel .bank-study-tools>a{border-bottom:1px solid var(--line-soft)}.bank-tools-panel .bank-study-tools>a:nth-child(2n){border-right:0}.bank-tools-panel .bank-study-tools>a:nth-last-child(-n+2){border-bottom:0}.shenlun-page .feature-grid{grid-template-columns:1fr;min-height:0}.shenlun-page .feature-card{min-height:112px}}@media (width<=620px){.bank-launcher,.bank-subject-index,.bank-tools-panel{padding:16px}.bank-launcher-actions{grid-template-columns:1fr}.bank-launcher-actions>a{min-height:86px}.bank-tools-panel .bank-study-tools{grid-template-columns:1fr}.bank-tools-panel .bank-study-tools>a{border-right:0;border-bottom:1px solid var(--line-soft);min-height:66px}.bank-tools-panel .bank-study-tools>a:nth-last-child(2){border-bottom:1px solid var(--line-soft)}}.domain-mode-selector.four{grid-template-columns:repeat(4,minmax(0,1fr))}.domain-mode-selector button.bank{background:var(--surface)}.section-bank-content{gap:12px;display:grid}.section-bank-tabs{background:var(--surface);box-shadow:none;border:1px solid #e7ebf2;border-radius:22px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:6px;display:grid;overflow-x:auto}.section-bank-tabs button{color:#536078;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;gap:3px;min-width:92px;min-height:54px;padding:8px 10px;transition:color .16s,background-color .16s,box-shadow .16s;display:grid}.section-bank-tabs button:hover{color:#0071e3;background:#f3f6ff}.section-bank-tabs button:focus-visible{outline-offset:1px;outline:2px solid #0071e3}.section-bank-tabs button.active{color:var(--surface);background:var(--blue);box-shadow:none}.section-bank-tabs b{font-size:var(--fs-13);white-space:nowrap;font-weight:600}.section-bank-tabs span{font-size:var(--fs-12);opacity:.78}@media (width<=820px){.domain-mode-selector.four{scroll-snap-type:x proximity;grid-template-columns:repeat(4,minmax(190px,1fr));padding:3px 3px 10px;overflow-x:auto}.domain-mode-selector.four button{scroll-snap-align:start}}.bank-launcher .bank-launcher-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.bank-launcher-actions>a.bank{background:var(--surface)}@media (width<=820px){.bank-launcher .bank-launcher-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.bank-launcher .bank-launcher-actions{grid-template-columns:1fr}}body:has(.portal-home){--ap-bg-grouped:#f2f2f7;--ap-bg-card:#fff;--ap-bg-header:#ffffffb8;--ap-label:#1c1c1e;--ap-label-2:#3c3c4399;--ap-label-3:#3c3c434d;--ap-label-4:#3c3c432e;--ap-separator:#3c3c434a;--ap-green:#34c759;--ap-red:#ff3b30;--ap-orange:#ff9500;background:var(--ap-bg-grouped)}body:has(.portal-home) .student-header{z-index:50;border-bottom:.5px solid var(--ap-separator);background:var(--ap-bg-card);box-shadow:none;position:sticky;top:0}body:has(.portal-home) .student-brand b{color:var(--ap-label)}body:has(.portal-home) .student-nav a{color:var(--ap-label-2)}body:has(.portal-home) .student-records{color:var(--ap-label-2)}body:has(.portal-home) .student-nav a:hover{color:var(--ap-label)}body:has(.portal-home) .student-records:hover{color:var(--ap-label)}body:has(.portal-home) .student-nav a.active{color:var(--blue)}body:has(.portal-home) .student-mokao-link{color:var(--ap-label-2)}body:has(.portal-home) .student-mokao-link:hover{color:var(--ap-label)}body:has(.portal-home) .student-mokao-link.active{color:var(--blue)}body:has(.portal-home) .student-records{border-color:var(--ap-separator);background:var(--ap-bg-card);min-height:44px}:is(body:has(.portal-home) .student-mobile-nav,body:has(.portal-home) .student-footer){border-color:var(--ap-separator);color:var(--ap-label-2);background:var(--ap-bg-card)}body:has(.portal-home) .student-mobile-nav a{color:var(--ap-label-2)}body:has(.portal-home) .student-mobile-nav a.active{color:var(--blue)}@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){:is(body:has(.portal-home) .student-header,body:has(.portal-home) .student-mobile-nav){background:var(--ap-bg-header);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%)}}.portal-home{width:min(var(--student-content), calc(100% - 40px));min-height:0;color:var(--ap-label);font-variant-numeric:tabular-nums;padding:24px 0}.portal-home .portal-home-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.portal-home .portal-home-main,.portal-home .portal-home-study-rail{gap:16px;min-width:0;display:grid}.portal-home .portal-home-study-rail{gap:16px;position:sticky;top:82px}.portal-home .portal-home-recommendations,.portal-home .portal-home-continue,.portal-home .portal-home-subjects,.portal-home .portal-home-rail-card{background:var(--ap-bg-card);border:0;border-radius:14px;padding:20px;transition:box-shadow .3s;box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000d}.portal-home .portal-home-recommendations:hover,.portal-home .portal-home-continue:hover,.portal-home .portal-home-subjects:hover,.portal-home .portal-home-rail-card:hover{box-shadow:0 2px 4px #0000000d,0 12px 32px #00000014}.portal-home .portal-home-card-heading{justify-content:space-between;align-items:center;gap:16px;min-height:24px;margin:0 0 16px;display:flex}.portal-home .portal-home-card-heading h2{color:var(--ap-label);font-size:var(--fs-20);letter-spacing:normal;margin:0;font-weight:600;line-height:1.35}.portal-home .portal-home-primary-action,.portal-home .portal-home-continue-action{min-height:44px;color:var(--ap-bg-card);background:linear-gradient(270deg, var(--blue), color-mix(in srgb, var(--blue) 78%, var(--ap-label)));font-size:var(--fs-16);white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-weight:600;transition:box-shadow .3s,transform .3s;display:inline-flex;box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000d}.portal-home .portal-home-continue-action{background:var(--blue);font-size:var(--fs-16);padding:0 16px}.portal-home .portal-home-primary-action:hover,.portal-home .portal-home-continue-action:hover{box-shadow:0 2px 4px #0000000d,0 12px 32px #00000014}.portal-home .portal-home-primary-action:active,.portal-home .portal-home-continue-action:active{transform:scale(.98)}.portal-home .portal-home-state--error{color:var(--ap-red)}.portal-home .portal-home-card-heading>a{min-height:44px;color:var(--blue);font-size:var(--fs-13);letter-spacing:0;white-space:nowrap;align-items:center;gap:8px;font-weight:400;transition:opacity .3s,transform .3s;display:inline-flex}.portal-home .portal-home-card-heading>a:hover{opacity:.72}.portal-home .portal-home-card-heading>a:active{transform:scale(.98)}.portal-home .portal-home-card-heading>a svg{font-size:var(--fs-16)}.portal-home .portal-home-subjects__list{margin:0 -20px -20px;display:grid;overflow:hidden}.portal-home .portal-home-subjects__list>a{min-width:0;min-height:56px;color:var(--ap-label);background:var(--ap-bg-card);grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:20px;padding:12px 20px;transition:background-color .3s,transform .3s;display:grid;position:relative}.portal-home .portal-home-subjects__list>a:not(:last-child):after{background:var(--ap-separator);content:"";height:.5px;position:absolute;bottom:0;left:20px;right:0}.portal-home .portal-home-subjects__list>a:hover{background:#00000008}.portal-home .portal-home-subjects__list>a:active{background:#0000000f;transform:scale(.98)}.portal-home .portal-home-subject__copy{align-items:baseline;gap:8px;min-width:0;display:flex}.portal-home .portal-home-subject__copy b,.portal-home .portal-home-subject__copy small{display:inline}.portal-home .portal-home-subject__copy b{color:var(--ap-label);font-size:var(--fs-16);font-weight:600;line-height:1.45}.portal-home .portal-home-subject__copy small{color:var(--ap-label-2);font-size:var(--fs-16);font-weight:400;line-height:1.7}.portal-home .portal-home-subject__chevron{color:var(--ap-label-3);font-size:var(--fs-20)}.portal-home .portal-home-today-guide{color:var(--ap-label-2);font-size:var(--fs-16);margin:0 0 16px;font-weight:400;line-height:1.7}.portal-home .portal-home-list-state{min-height:88px;color:var(--ap-label-2);font-size:var(--fs-16);text-align:center;flex-wrap:wrap;justify-content:center;place-items:center;gap:16px;line-height:1.7;display:flex}.portal-home .portal-home-list-state button{min-height:44px;color:var(--ap-bg-card);background:var(--blue);font-size:var(--fs-16);border:0;border-radius:12px;padding:0 16px;font-weight:600;transition:transform .3s}.portal-home .portal-home-list-state button:active{transform:scale(.98)}.portal-home .portal-home-recommendation-list{margin:0 -20px;display:grid;overflow:hidden}.portal-home .portal-home-recommendation-list>a{min-height:56px;color:var(--ap-label);grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:20px;padding:12px 20px;transition:background-color .3s,transform .3s;display:grid;position:relative}.portal-home .portal-home-recommendation-list>a:not(:last-child):after{background:var(--ap-separator);content:"";height:.5px;position:absolute;bottom:0;left:20px;right:0}.portal-home .portal-home-recommendation-list>a:hover{background:#00000008}.portal-home .portal-home-recommendation-list>a:active{transform:scale(.98)}.portal-home .portal-home-recommendation-list b,.portal-home .portal-home-recommendation-list small{display:block}.portal-home .portal-home-recommendation-list b{color:var(--ap-label);font-size:var(--fs-16);font-weight:600;line-height:1.45}.portal-home .portal-home-recommendation-list small{color:var(--ap-label-2);font-size:var(--fs-13);margin-top:8px;font-weight:400;line-height:1.45}.portal-home .portal-home-recommendation-list>a>svg{color:var(--ap-label-3);font-size:var(--fs-20)}.portal-home .portal-home-today-action{width:100%;margin-top:16px}.portal-home .portal-home-continue{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.portal-home .portal-home-continue .portal-home-card-heading{margin:0}.portal-home .portal-home-continue-copy{gap:8px;min-width:0;display:grid}.portal-home .portal-home-continue-copy b{color:var(--ap-label);font-size:var(--fs-16);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.45;overflow:hidden}.portal-home .portal-home-continue-copy span{color:var(--ap-label-2);font-size:var(--fs-13);letter-spacing:0;font-weight:400}.portal-home .portal-home-rail-card{overflow:hidden}.portal-home .portal-home-attempts,.portal-home .portal-home-learning-links{margin:0 -20px -20px;display:grid}.portal-home .portal-home-attempt{min-width:0;min-height:76px;color:var(--ap-label);background:var(--ap-bg-card);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 20px;transition:background-color .3s,transform .3s;display:grid;position:relative}.portal-home .portal-home-attempt:not(:last-child):after{background:var(--ap-separator);content:"";height:.5px;position:absolute;bottom:0;left:20px;right:0}.portal-home .portal-home-attempt:hover{background:#00000008}.portal-home .portal-home-attempt:active{background:#0000000f;transform:scale(.98)}.portal-home .portal-home-attempt__copy{gap:8px;min-width:0;display:grid}.portal-home .portal-home-attempt__copy b{color:var(--ap-label);font-size:var(--fs-16);text-overflow:ellipsis;white-space:nowrap;font-weight:400;line-height:1.45;overflow:hidden}.portal-home .portal-home-attempt__meta{color:var(--ap-label-3);font-size:var(--fs-13);letter-spacing:0;align-items:center;gap:8px;font-weight:400;display:flex}.portal-home .portal-home-attempt__meta em{color:var(--ap-label-2);font-style:normal;font-weight:400}.portal-home .portal-home-attempt__meta time{font-variant-numeric:tabular-nums}.portal-home .portal-home-attempt__action{font-size:var(--fs-13);letter-spacing:0;white-space:nowrap;align-items:center;gap:8px;font-weight:400;display:inline-flex}.portal-home .portal-home-attempt--in-progress .portal-home-attempt__action{color:var(--ap-orange)}.portal-home .portal-home-attempt--completed .portal-home-attempt__action{color:var(--ap-green)}.portal-home .portal-home-attempt__action svg{font-size:var(--fs-20)}.portal-home .portal-home-rail-state{min-height:88px;color:var(--ap-label-2);font-size:var(--fs-16);text-align:center;place-items:center;padding:20px;line-height:1.7;display:grid}.portal-home .portal-home-rail-state a{color:var(--blue)}.portal-home .portal-home-learning-links>a{min-height:56px;color:var(--ap-label);background:var(--ap-bg-card);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 20px;transition:background-color .3s,transform .3s;display:grid;position:relative}.portal-home .portal-home-learning-links>a:not(:last-child):after{background:var(--ap-separator);content:"";height:.5px;position:absolute;bottom:0;left:20px;right:0}.portal-home .portal-home-learning-links>a:hover{background:#00000008}.portal-home .portal-home-learning-links>a:active{background:#0000000f;transform:scale(.98)}.portal-home .portal-home-learning-links>a>svg:first-child{color:var(--ap-label-2);font-size:var(--fs-20)}.portal-home .portal-home-learning-links>a>span{font-size:var(--fs-16);font-weight:400}.portal-home .portal-home-learning-value{align-items:center;gap:8px;display:inline-flex}.portal-home .portal-home-learning-value b{color:var(--ap-red);font-size:var(--fs-16);font-variant-numeric:tabular-nums;font-weight:400}.portal-home .portal-home-learning-links>a>svg:last-child,.portal-home .portal-home-learning-value>svg{color:var(--ap-label-3);font-size:var(--fs-20)}.portal-home .portal-home-primary-action:focus-visible,.portal-home .portal-home-continue-action:focus-visible,.portal-home .portal-home-list-state button:focus-visible,.portal-home .portal-home-subjects__list>a:focus-visible,.portal-home .portal-home-card-heading>a:focus-visible,.portal-home .portal-home-recommendation-list>a:focus-visible,.portal-home .portal-home-attempt:focus-visible,.portal-home .portal-home-learning-links>a:focus-visible{z-index:1;outline:3px solid var(--blue);outline-offset:2px}@media (width<=900px){.portal-home{width:min(var(--student-content), calc(100% - 16px * 2));padding-top:24px}}@media (width<=820px){.portal-home .portal-home-workspace{grid-template-columns:1fr}.portal-home .portal-home-study-rail{grid-template-columns:repeat(2,minmax(0,1fr));position:static}}@media (width<=620px){.portal-home{width:calc(100% - 24px);padding:16px 0 112px}.portal-home .portal-home-main,.portal-home .portal-home-study-rail{gap:16px}.portal-home .portal-home-study-rail{grid-template-columns:1fr}}.learning-workbench{padding-top:24px}.learning-workbench-head{justify-content:space-between;align-items:flex-end;gap:24px;min-height:76px;padding:0 2px 18px;display:flex}.learning-workbench-head h1{color:#202938;font-size:var(--fs-32);letter-spacing:0;margin:0;font-weight:700}.learning-workbench-head p{color:var(--muted);font-size:var(--fs-13);margin:7px 0 0}.learning-workbench-head>a{min-height:44px;color:var(--muted);font-size:var(--fs-13);align-items:center;padding:0 4px;font-weight:600;display:inline-flex}.learning-workbench-head>a:hover{color:var(--blue)}.learning-core-tabs{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.learning-core-tabs button{border:0;border-right:1px solid var(--line-soft);min-height:58px;color:var(--muted);font:inherit;font-size:var(--fs-16);cursor:pointer;background:0 0;font-weight:600;position:relative}.learning-core-tabs button:last-child{border-right:0}.learning-core-tabs button:hover{color:var(--text);background:#fafbfc}.learning-core-tabs button.active{color:var(--blue);background:var(--surface)}.learning-core-tabs button.active:after{background:var(--blue);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:24%;right:24%}.learning-core-tabs button:focus-visible{z-index:1;outline:2px solid color-mix(in srgb,var(--blue) 45%,transparent);outline-offset:-3px}.learning-workbench-panel{min-height:420px;padding-top:20px}.learning-workbench .learning-filters{border:0;border-bottom:1px solid var(--line-soft);box-shadow:none;background:0 0;border-radius:0;margin:0 0 16px;padding:0 0 16px}.learning-workbench .filter-selects{flex-wrap:wrap}.learning-workbench .collection-toolbar{align-items:flex-start;gap:12px;display:flex}.learning-workbench .collection-toolbar .learning-filters{flex:1;min-width:0}.learning-workbench .wrong-practice-action{min-width:96px;min-height:40px;box-shadow:none}.learning-workbench .record-list{box-shadow:none;border-left:0;border-right:0;border-radius:0}.learning-workbench .record-list article{padding-left:14px;padding-right:14px}.subject-pill{color:#355fa8;font-size:var(--fs-12);background:#eef4ff;border-radius:999px;margin-right:10px;padding:2px 7px;font-weight:600}.subject-pill.police{color:#248a3d;background:#ecf8f1}.learning-workbench .review-group{margin-top:20px}.learning-workbench .review-group:first-of-type{margin-top:0}.learning-workbench .review-group>h2{color:var(--muted);font-size:var(--fs-13);margin-bottom:8px;font-weight:600}.learning-workbench .review-question{box-shadow:none;border-bottom:0;border-left:0;border-right:0;border-radius:0;margin:0}.learning-workbench .review-question:last-child{border-bottom:1px solid var(--line-soft)}.learning-workbench .account-empty{border:0;border-bottom:1px solid var(--line-soft);background:0 0;border-radius:0;min-height:270px;padding:72px 24px}.learning-workbench .account-empty b{font-size:var(--fs-16)}.learning-workbench .account-empty p{font-size:var(--fs-13)}@media (width<=720px){.learning-workbench{padding-top:14px}.learning-workbench-head{align-items:center;min-height:70px}.learning-workbench-head h1{font-size:var(--fs-28)}.learning-workbench-head p{display:none}.learning-core-tabs button{min-height:50px;font-size:var(--fs-14)}.learning-core-tabs button.active:after{left:18%;right:18%}.learning-workbench-panel{padding-top:14px}.learning-workbench .collection-toolbar{flex-direction:column;align-items:stretch}.learning-workbench .wrong-practice-action{align-self:flex-end;margin-top:-8px}.learning-workbench .filter-selects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.portal-home .portal-home-recommendations,.portal-home .portal-home-continue,.portal-home .portal-home-subjects,.portal-home .portal-home-rail-card,.portal-home .portal-home-primary-action,.portal-home .portal-home-continue-action,.portal-home .portal-home-list-state button,.portal-home .portal-home-subjects__list>a,.portal-home .portal-home-card-heading>a,.portal-home .portal-home-recommendation-list>a,.portal-home .portal-home-attempt,.portal-home .portal-home-learning-links>a{transition:none}body:has(.portal-home) .student-header a{transition:none}body:has(.portal-home) .student-mobile-nav a{transition:none}.portal-home .portal-home-primary-action:active,.portal-home .portal-home-continue-action:active,.portal-home .portal-home-list-state button:active,.portal-home .portal-home-subjects__list>a:active,.portal-home .portal-home-card-heading>a:active,.portal-home .portal-home-recommendation-list>a:active,.portal-home .portal-home-attempt:active,.portal-home .portal-home-learning-links>a:active{transform:none}}.portal-home.portal-ai-chat{width:100%;height:calc(100dvh - 67px);min-height:0;color:var(--ap-label);padding:0;position:relative;overflow:hidden}.portal-home .portal-ai-chat-shell{align-items:stretch;width:100%;height:100%;display:flex}.portal-home .portal-ai-chat-main{flex:auto;min-width:0;height:100%;display:grid;position:relative}.portal-home .portal-ai-chat-stage{grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;min-height:0;display:grid;position:relative}.portal-home.portal-ai-chat--empty .portal-ai-chat-stage{padding:0}.portal-home .portal-ai-preview-note{border:.5px solid var(--ap-separator);width:fit-content;min-height:28px;color:var(--ap-label-2);font-size:var(--fs-12);background:#ffffffc7;border-radius:999px;align-items:center;margin:10px auto 0;padding:0 10px;line-height:1.4;display:inline-flex}.portal-home .portal-ai-preview-note span:first-child{color:var(--ap-label);font-weight:600}.portal-home .portal-ai-chat-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ap-label-4) transparent;min-height:0;padding:0 24px;overflow-y:auto}.portal-home.portal-ai-chat--empty .portal-ai-chat-scroll{align-items:center;display:grid}.portal-home .portal-ai-chat-welcome{width:min(720px,100%);color:var(--ap-label);text-align:center;justify-items:center;margin:auto;padding:36px 0 28px;display:grid}.portal-home .portal-ai-chat-mark{border:.5px solid var(--ap-separator);width:44px;height:44px;color:var(--blue);background:var(--ap-bg-card);border-radius:14px;place-items:center;margin-bottom:18px;display:grid;box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000d}.portal-home .portal-ai-chat-mark svg{font-size:var(--fs-24)}.portal-home .portal-ai-chat-welcome h1{color:var(--ap-label);margin:0;font-size:clamp(28px,4vw,36px);font-weight:700;line-height:1.24}.portal-home .portal-ai-chat-welcome>p{color:var(--ap-label-2);font-size:var(--fs-16);margin:12px 0 0;font-weight:400;line-height:1.65}.portal-home .portal-ai-chat-starters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(620px,100%);margin-top:28px;display:grid}.portal-home .portal-ai-chat-starters button{border:.5px solid var(--ap-separator);min-height:46px;color:var(--ap-label);background:var(--ap-bg-header);font:inherit;font-size:var(--fs-14);text-align:left;cursor:pointer;border-radius:12px;padding:0 15px;transition:border-color .18s,background-color .18s}.portal-home .portal-ai-chat-starters button:disabled{opacity:.5;cursor:wait}.portal-home .portal-ai-chat-starters button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.portal-home .portal-ai-chat-thread{flex-direction:column;align-items:stretch;gap:28px;width:min(760px,100%);min-height:100%;margin:0 auto;padding:36px 0 54px;display:flex}.portal-home .portal-ai-chat-message{gap:8px;width:auto;min-width:0;max-width:100%;display:grid}.portal-home .portal-ai-chat-message--user{border:.5px solid var(--ap-separator);background:var(--ap-bg-card);border-radius:16px 16px 5px;align-self:flex-end;width:fit-content;max-width:min(76%,620px);padding:10px 14px;box-shadow:0 1px 2px #0000000a}.portal-home .portal-ai-chat-message--assistant{align-self:stretch;width:100%}.portal-home .portal-ai-chat-message__meta{min-height:20px;color:var(--ap-label-2);font-size:var(--fs-13);flex-wrap:wrap;align-items:center;gap:8px;line-height:1.5;display:flex}.portal-home .portal-ai-chat-message__meta span{color:var(--ap-label);font-weight:600}.portal-home .portal-ai-chat-message__meta i{width:28px;height:28px;color:var(--surface);font-size:var(--fs-13);background:#0071e3;border-radius:50%;justify-content:center;align-items:center;font-style:normal;font-weight:700;display:inline-flex}.portal-home .portal-ai-chat-message>p,.portal-home .portal-ai-chat-markdown,.portal-home .portal-ai-chat-markdown p,.portal-home .portal-ai-chat-markdown ul{color:var(--ap-label);font-size:var(--fs-16);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-weight:400;line-height:1.68}.portal-home .portal-ai-chat-markdown{gap:8px;display:grid}.portal-home .portal-ai-chat-markdown ul{white-space:normal;padding-left:22px}.portal-home .portal-ai-chat-markdown h3,.portal-home .portal-ai-chat-markdown h4,.portal-home .portal-ai-chat-markdown h5{color:var(--ap-label);font-size:var(--fs-16);margin:4px 0 0;font-weight:600;line-height:1.5}.portal-home .portal-ai-chat-markdown code{color:var(--ap-label);background:var(--ap-label-4);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-12);border-radius:5px;padding:2px 5px}.portal-home .portal-ai-reasoning{color:var(--ap-label-2);border-left:2px solid #3b6ef56b;padding:0 0 0 14px}.portal-home .portal-ai-reasoning summary{cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.portal-home .portal-ai-reasoning summary::-webkit-details-marker{display:none}.portal-home .portal-ai-reasoning summary span{font-weight:600}.portal-home .portal-ai-reasoning summary small{font-size:var(--fs-12)}.portal-home .portal-ai-reasoning[open] summary span:before{background:var(--blue);content:"";border-radius:50%;width:6px;height:6px;margin-right:7px;animation:1.5s ease-out infinite portal-ai-thinking;display:inline-block;box-shadow:0 0 #3b6ef547}.portal-home .portal-ai-reasoning__body{overflow-y:auto}.portal-home .portal-ai-reasoning__body .portal-ai-chat-markdown,.portal-home .portal-ai-reasoning__body .portal-ai-chat-markdown p,.portal-home .portal-ai-reasoning__body .portal-ai-chat-markdown ul,.portal-home .portal-ai-reasoning__body>p{color:var(--ap-label-2);font-size:var(--fs-14);margin:0;line-height:1.7}.portal-home .portal-ai-chat-stream-status{color:var(--ap-label-2)!important;font-size:var(--fs-14)!important}@keyframes portal-ai-thinking{70%,to{box-shadow:0 0 0 7px #3b6ef500}}.portal-home .portal-ai-chat-message--pending p{color:var(--ap-label-2)}.portal-home .portal-ai-chat-message__images{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.portal-home .portal-ai-chat-message__images img{-o-object-fit:contain;object-fit:contain;background:var(--ap-bg-grouped);border-radius:10px;width:min(220px,100%);max-height:260px;display:block}.portal-home .portal-ai-chat-dock{z-index:4;background:0 0;border-top:.5px solid #0000;width:100%;padding:12px 24px 16px}.portal-home .portal-ai-chat-dock--active{border-top-color:var(--ap-separator);-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);background:#f2f2f7eb;position:relative}.portal-home .portal-ai-chat-composer{border:.5px solid var(--ap-separator);background:var(--ap-bg-card);border-radius:18px;width:min(760px,100%);margin:0 auto;transition:border-color .3s,box-shadow .3s;overflow:visible;box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000d}.portal-home .portal-ai-chat-composer textarea{resize:none;width:100%;min-height:58px;max-height:180px;color:var(--ap-label);font:inherit;font-size:var(--fs-16);background:0 0;border:0;outline:0;padding:14px 16px 4px;font-weight:400;line-height:1.6}.portal-home .portal-ai-chat-attachments{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px 2px;display:flex}.portal-home .portal-ai-chat-attachments figure{border:.5px solid var(--ap-separator);background:var(--ap-bg-grouped);border-radius:10px;width:58px;height:58px;margin:0;position:relative;overflow:visible}.portal-home .portal-ai-chat-attachments img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.portal-home .portal-ai-chat-attachments figure button{width:20px;height:20px;color:var(--surface);cursor:pointer;background:#1c1c1ed1;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-6px;right:-6px}.portal-home .portal-ai-chat-attachments figure button svg{font-size:var(--fs-14)}.portal-home .portal-ai-vision-route{min-height:28px;color:var(--ap-label-2);background:var(--ap-bg-grouped);font-size:var(--fs-12);border-radius:999px;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.portal-home .portal-ai-vision-route svg{font-size:var(--fs-16);color:var(--blue)}.portal-home .portal-ai-chat-composer__error{color:var(--ap-red);font-size:var(--fs-12);margin:0;padding:2px 16px 4px}.portal-home .portal-ai-chat-composer__toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:4px 8px 8px 10px;display:flex}.portal-home .portal-ai-chat-composer__left{align-items:center;gap:6px;min-width:0;display:flex}.portal-home .portal-ai-attach{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.portal-home .portal-ai-attach:hover{color:var(--ap-label);background:var(--ap-bg-grouped)}.portal-home .portal-ai-attach:disabled{opacity:.35;cursor:not-allowed}.portal-home .portal-ai-attach svg{font-size:var(--fs-20)}.portal-home .portal-ai-teacher-control{min-width:0;position:relative}.portal-home .portal-ai-teacher-trigger{border:.5px solid var(--ap-separator);max-width:min(480px,100vw - 130px);font:inherit;font-size:var(--fs-13);cursor:pointer;border-radius:999px;align-items:center;gap:6px;display:inline-flex}.portal-home .portal-ai-teacher-trigger>svg{color:var(--ap-label-2);font-size:var(--fs-16)}.portal-home .portal-ai-teacher-trigger span,.portal-home .portal-ai-teacher-trigger small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-home .portal-ai-teacher-trigger span{font-weight:600}.portal-home .portal-ai-teacher-trigger small{color:var(--ap-label-2);font-size:var(--fs-12)}.portal-home .portal-ai-teacher-trigger svg:last-child{margin-left:2px}.portal-home .portal-ai-teacher-settings{z-index:12;border:.5px solid var(--ap-separator);background:var(--ap-bg-card);border-radius:14px;gap:10px;width:min(344px,100vw - 36px);padding:12px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 16px 42px #00000024}.portal-home .portal-ai-teacher-settings__header{min-height:44px;color:var(--ap-label);font-size:var(--fs-14);justify-content:space-between;align-items:center;display:flex}.portal-home .portal-ai-teacher-settings__header strong{font-weight:600}.portal-home .portal-ai-teacher-settings__header button{width:44px;height:44px;color:var(--ap-label-2);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.portal-home .portal-ai-teacher-settings__header button:hover{color:var(--ap-label);background:var(--ap-bg-grouped)}.portal-home .portal-ai-teacher-settings__header svg{font-size:var(--fs-18)}.portal-home .portal-ai-teacher-settings label{color:var(--ap-label-2);font-size:var(--fs-12);gap:6px;display:grid}.portal-home .portal-ai-teacher-settings select{border:.5px solid var(--ap-separator);width:100%;height:44px;color:var(--ap-label);background:var(--ap-bg-card);font:inherit;cursor:pointer;border-radius:9px;padding:0 10px}.portal-home .portal-ai-style-setting{color:var(--ap-label-2);font-size:var(--fs-12);gap:6px;display:grid}.portal-home .portal-ai-style-options{background:var(--ap-bg-grouped);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.portal-home .portal-ai-style-options button{min-width:0;min-height:44px;color:var(--ap-label-2);font:inherit;font-size:var(--fs-13);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 8px}.portal-home .portal-ai-style-options button:hover{color:var(--ap-label);background:#ffffffa8}.portal-home .portal-ai-style-options button.is-active{color:var(--blue);background:var(--ap-bg-card);font-weight:600;box-shadow:0 1px 3px #00000012}.portal-home .portal-ai-style-options button:disabled{opacity:.45;cursor:not-allowed}.portal-home .portal-ai-style-setting>small{color:var(--ap-label-2);font-size:var(--fs-12);line-height:1.5}.portal-home .portal-ai-model-setting{color:var(--ap-label-2);font-size:var(--fs-12);gap:6px;display:grid}.portal-home .portal-ai-model-options{border:.5px solid var(--ap-separator);background:var(--ap-bg-card);overscroll-behavior:contain;border-radius:10px;gap:2px;max-height:min(220px,26vh);padding:3px;display:grid;overflow-y:auto}.portal-home .portal-ai-model-options button{min-height:44px;color:var(--ap-label);font:inherit;font-size:var(--fs-13);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.portal-home .portal-ai-model-options button:hover{background:var(--ap-bg-grouped)}.portal-home .portal-ai-model-options button.is-active{color:var(--blue);background:#3772ff17;font-weight:600}.portal-home .portal-ai-model-options button>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.portal-home .portal-ai-model-options button>small{color:var(--ap-label-2);background:var(--ap-bg-grouped);font-size:var(--fs-12);border-radius:999px;padding:2px 6px;font-weight:600}.portal-home .portal-ai-model-options button>svg{font-size:var(--fs-18)}.portal-home .portal-ai-model-options button:disabled{opacity:.45;cursor:not-allowed}.portal-home .portal-ai-thinking-setting{border-top:1px solid var(--ap-line);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:4px 0 0;display:flex}.portal-home .portal-ai-thinking-setting>span{gap:2px;min-width:0;display:grid}.portal-home .portal-ai-thinking-setting strong{color:var(--ap-label);font-size:var(--fs-13);font-weight:600}.portal-home .portal-ai-thinking-setting small{color:var(--ap-label-2);font-size:var(--fs-12);line-height:1.45}.portal-home .portal-ai-thinking-setting>button{width:50px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;flex:0 0 50px;padding:0;position:relative}.portal-home .portal-ai-thinking-setting>button:before{content:"";background:#78788040;border-radius:999px;transition:background-color .18s;position:absolute;inset:10px 3px}.portal-home .portal-ai-thinking-setting>button i{background:var(--surface);border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:12px;left:5px;box-shadow:0 1px 3px #00000038}.portal-home .portal-ai-thinking-setting.is-active>button:before{background:var(--blue)}.portal-home .portal-ai-thinking-setting.is-active>button i{transform:translate(22px)}.portal-home .portal-ai-thinking-setting.is-disabled{opacity:.55}.portal-home .portal-ai-thinking-setting>button:disabled{cursor:not-allowed}.portal-home .portal-ai-teacher-settings__footer{border-top:1px solid var(--ap-line);color:var(--ap-label-2);font-size:var(--fs-12);justify-content:space-between;align-items:center;gap:12px;padding-top:9px;display:flex}.portal-home .portal-ai-teacher-settings__footer strong{color:var(--ap-label);font-weight:600}.portal-home .portal-ai-chat-composer__toolbar>button{width:44px;height:44px;color:var(--ap-bg-card);background:var(--blue);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:opacity .3s,transform .3s;display:grid}.portal-home .portal-ai-chat-composer__toolbar>button:disabled{color:var(--ap-label-2);background:var(--ap-label-4);cursor:not-allowed}.portal-home .portal-ai-chat-composer__toolbar>button:not(:disabled):active{transform:scale(.96)}.portal-home .portal-ai-chat-composer__toolbar>button svg{font-size:var(--fs-20)}.portal-home .portal-ai-chat-caption{width:min(760px,100%);color:var(--ap-label-2);font-size:var(--fs-12);text-align:center;margin:7px auto 0;line-height:1.5}.portal-home .portal-ai-chat-error{border:.5px solid var(--ap-separator);color:var(--ap-red);background:var(--ap-bg-card);font-size:var(--fs-13);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.portal-home .portal-ai-chat-error button{border:.5px solid var(--ap-separator);min-height:32px;color:var(--ap-label);background:var(--ap-bg-card);border-radius:8px;padding:0 10px}.portal-home .portal-ai-teacher-trigger:focus-visible,.portal-home .portal-ai-teacher-settings__header button:focus-visible,.portal-home .portal-ai-teacher-settings select:focus-visible,.portal-home .portal-ai-style-options button:focus-visible,.portal-home .portal-ai-model-options button:focus-visible,.portal-home .portal-ai-thinking-setting>button:focus-visible,.portal-home .portal-ai-chat-composer__toolbar>button:focus-visible,.portal-home .portal-ai-chat-error button:focus-visible,.portal-home .portal-ai-sidebar button:focus-visible,.portal-home .portal-ai-chat-mobile-menu:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.portal-home .portal-ai-sidebar{flex-direction:column;flex:0 0 248px;height:100%;min-height:0;transition:width .25s,flex-basis .25s;display:flex}@supports not ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.portal-home .portal-ai-sidebar{background:var(--ap-bg-card)}}.portal-home .portal-ai-sidebar__header{align-items:center;gap:8px;display:flex}.portal-home .portal-ai-sidebar__new,.portal-home .portal-ai-sidebar__collapse,.portal-home .portal-ai-sidebar__mobile-close,.portal-home .portal-ai-chat-mobile-menu{border:.5px solid var(--ap-separator);min-height:44px;color:var(--ap-label);background:var(--ap-bg-card);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.portal-home .portal-ai-sidebar__new{min-width:0;font-size:var(--fs-14);flex:auto;gap:8px;padding:0 12px;font-weight:600}.portal-home .portal-ai-sidebar__new:disabled{opacity:.45;cursor:not-allowed}.portal-home .portal-ai-sidebar__new svg,.portal-home .portal-ai-sidebar__collapse svg,.portal-home .portal-ai-sidebar__mobile-close svg,.portal-home .portal-ai-chat-mobile-menu svg{font-size:var(--fs-18)}.portal-home .portal-ai-sidebar__collapse,.portal-home .portal-ai-sidebar__mobile-close{flex:0 0 44px;width:44px}.portal-home .portal-ai-sidebar__mobile-close{display:none}.portal-home .portal-ai-sidebar__history{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ap-label-4) transparent;flex:auto;min-height:0;overflow-y:auto}.portal-home .portal-ai-sidebar__state{color:var(--ap-label-2);font-size:var(--fs-13);text-align:center;margin:24px 8px}.portal-home .portal-ai-sidebar__group{margin:0 0 18px}.portal-home .portal-ai-sidebar__group h2{font-weight:600;line-height:1.5}.portal-home .portal-ai-sidebar__items{gap:3px;display:grid}.portal-home .portal-ai-sidebar__item{min-width:0;color:var(--ap-label);grid-template-columns:minmax(0,1fr) auto;align-items:center;transition:background .2s;display:grid}.portal-home .portal-ai-sidebar__select{min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0 6px 0 10px;overflow:hidden}.portal-home .portal-ai-sidebar__select span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-home .portal-ai-sidebar__actions{transition:width .2s,opacity .2s;display:flex}.portal-home .portal-ai-sidebar__item:hover .portal-ai-sidebar__actions,.portal-home .portal-ai-sidebar__item:focus-within .portal-ai-sidebar__actions{opacity:1;width:58px}.portal-home .portal-ai-sidebar__actions button{width:29px;height:40px;color:var(--ap-label-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.portal-home .portal-ai-sidebar__actions button:hover{color:var(--ap-label)}.portal-home .portal-ai-sidebar__actions button:disabled{opacity:.4;cursor:wait}.portal-home .portal-ai-sidebar__actions svg{font-size:var(--fs-16)}.portal-home .portal-ai-sidebar--collapsed .portal-ai-sidebar__header{flex-direction:column;padding:9px 10px}.portal-home .portal-ai-sidebar--collapsed .portal-ai-sidebar__new{flex:0 0 44px;justify-content:center;width:44px;padding:0}.portal-home .portal-ai-sidebar--collapsed .portal-ai-sidebar__new span,.portal-home .portal-ai-sidebar--collapsed .portal-ai-sidebar__history,.portal-home .portal-ai-sidebar-backdrop,.portal-home .portal-ai-chat-mobile-menu{display:none}.portal-home .portal-ai-chat-loading{z-index:6;border:.5px solid var(--ap-separator);color:var(--ap-label-2);background:var(--ap-bg-card);font-size:var(--fs-12);border-radius:999px;padding:6px 10px;position:absolute;top:16px;left:50%;transform:translate(-50%)}@media (width<=900px){.portal-home.portal-ai-chat{width:100%;padding:0}.portal-home .portal-ai-chat-thread{padding-top:28px}.portal-home .portal-ai-chat-message--user{max-width:82%}.portal-home .portal-ai-sidebar,.portal-home .portal-ai-sidebar--collapsed{z-index:42;flex-basis:auto;height:auto;min-height:0;transition:transform .25s;position:fixed;top:66px;bottom:0;left:0;transform:translate(-102%);box-shadow:0 18px 48px #00000024}.portal-home .portal-ai-sidebar--mobile-open{transform:translate(0)}.portal-home .portal-ai-sidebar--collapsed .portal-ai-sidebar__header{flex-direction:row;padding:9px 10px}.portal-home .portal-ai-sidebar--collapsed .portal-ai-sidebar__new{flex:auto;justify-content:flex-start;width:auto;padding:0 12px}.portal-home .portal-ai-sidebar--collapsed .portal-ai-sidebar__new span,.portal-home .portal-ai-sidebar--collapsed .portal-ai-sidebar__history{display:block}.portal-home .portal-ai-sidebar__collapse{display:none}.portal-home .portal-ai-sidebar__mobile-close{display:inline-flex}.portal-home .portal-ai-sidebar__history{flex:auto;max-height:none}.portal-home .portal-ai-sidebar-backdrop{z-index:41;background:#101a3347;border:0;display:block;position:fixed;inset:66px 0 0}.portal-home .portal-ai-chat-mobile-menu{z-index:8;min-height:44px;color:var(--ap-label-2);font-size:var(--fs-13);gap:6px;padding:0 10px;display:inline-flex;position:absolute;top:12px;left:16px}}@media (width<=620px){.portal-home.portal-ai-chat{width:100%;height:calc(100dvh - 133px);min-height:380px;padding:0}.portal-home .portal-ai-preview-note{margin:8px 12px 0 auto}.portal-home .portal-ai-preview-note span:last-child{display:none}.portal-home .portal-ai-chat-scroll{padding:0 12px}.portal-home .portal-ai-chat-welcome{margin:auto;padding:24px 0 18px}.portal-home .portal-ai-chat-welcome h1{font-size:var(--fs-28)}.portal-home .portal-ai-chat-welcome>p{font-size:var(--fs-16)}.portal-home .portal-ai-chat-starters{grid-template-columns:1fr;margin-top:20px}.portal-home .portal-ai-chat-thread{gap:24px;padding:24px 0 34px}.portal-home .portal-ai-chat-message--user{max-width:88%}.portal-home .portal-ai-chat-message>p,.portal-home .portal-ai-chat-markdown,.portal-home .portal-ai-chat-markdown p,.portal-home .portal-ai-chat-markdown ul{font-size:var(--fs-16)}.portal-home .portal-ai-chat-composer textarea{min-height:56px}.portal-home .portal-ai-chat-composer__toolbar{align-items:center}.portal-home .portal-ai-chat-dock{padding:10px 12px 12px}.portal-home .portal-ai-sidebar{top:67px;bottom:66px}.portal-home .portal-ai-sidebar-backdrop{inset:67px 0 66px}}@media (prefers-reduced-motion:reduce){.portal-home .portal-ai-reasoning[open] summary span:before{animation:none}.portal-home .portal-ai-chat-starters button,.portal-home .portal-ai-chat-composer,.portal-home .portal-ai-chat-composer__toolbar>button,.portal-home .portal-ai-sidebar,.portal-home .portal-ai-sidebar__item,.portal-home .portal-ai-sidebar__actions{transition:none}.portal-home .portal-ai-chat-composer__toolbar>button:not(:disabled):active{transform:none}}.portal-home.portal-ai-chat{--chat-primary:#0071e3;--chat-ink:#1f2329;--chat-muted:#646a73;--chat-soft:#f7f8fa;--chat-user:#eef3ff;--chat-line:#e8eaed;background:var(--surface);color:var(--chat-ink)}.portal-home .portal-ai-chat-main{background:var(--surface);grid-template-rows:58px minmax(0,1fr)}.portal-home .portal-ai-chat-context{border-bottom:1px solid var(--chat-line);background:#fffffff5;align-items:center;gap:12px;min-width:0;padding:0 28px;display:flex}.portal-home .portal-ai-chat-context__title{gap:2px;min-width:0;display:grid}.portal-home .portal-ai-chat-context__title strong,.portal-home .portal-ai-chat-context__title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-home .portal-ai-chat-context__title strong{color:var(--chat-ink);font-size:var(--fs-16);font-weight:600;line-height:1.35}.portal-home .portal-ai-chat-context__title span{color:var(--chat-muted);font-size:var(--fs-12);line-height:1.35}.portal-home .portal-ai-chat-stage{min-height:0}.portal-home .portal-ai-chat-scroll{padding:0 28px}.portal-home .portal-ai-chat-thread{gap:32px;width:min(880px,100%);padding:32px 0 42px}.portal-home .portal-ai-chat-message{gap:10px}.portal-home .portal-ai-chat-message--user{max-width:min(72%,660px);box-shadow:none;background:0 0;border:0;border-radius:0;justify-items:end;padding:0}.portal-home .portal-ai-chat-message__user-bubble{background:var(--chat-user);border-radius:17px 17px 5px;max-width:100%;padding:11px 16px}.portal-home .portal-ai-chat-message__user-bubble>p{color:var(--chat-ink);font-size:var(--fs-16);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.75}.portal-home .portal-ai-chat-message__meta{min-height:22px;color:var(--chat-muted);font-size:var(--fs-13);gap:7px}.portal-home .portal-ai-chat-message__meta span{color:var(--chat-ink);font-size:var(--fs-14);font-weight:600}.portal-home .portal-ai-chat-message__meta small{border-left:1px solid var(--chat-line);color:var(--chat-muted);font-size:var(--fs-12);padding-left:7px}.portal-home .portal-ai-chat-message>p,.portal-home .portal-ai-chat-markdown,.portal-home .portal-ai-chat-markdown p,.portal-home .portal-ai-chat-markdown ul{color:var(--chat-ink);font-size:var(--fs-16);line-height:1.68}.portal-home .portal-ai-chat-markdown{gap:8px}.portal-home .portal-ai-chat-markdown h3,.portal-home .portal-ai-chat-markdown h4,.portal-home .portal-ai-chat-markdown h5{color:var(--chat-ink);line-height:1.55}.portal-home .portal-ai-reasoning{border-left-color:#4d6bfe80;margin:2px 0 4px;padding-left:16px}.portal-home .portal-ai-reasoning summary{min-height:34px;color:var(--chat-muted);font-size:var(--fs-13)}.portal-home .portal-ai-reasoning summary span{color:var(--chat-ink)}.portal-home .portal-ai-reasoning summary small{color:#8a9099}.portal-home .portal-ai-reasoning__body{max-height:280px;padding:5px 18px 12px 0}.portal-home .portal-ai-reasoning__body .portal-ai-chat-markdown,.portal-home .portal-ai-reasoning__body .portal-ai-chat-markdown p,.portal-home .portal-ai-reasoning__body .portal-ai-chat-markdown ul,.portal-home .portal-ai-reasoning__body>p{color:var(--chat-muted);font-size:var(--fs-14);line-height:1.75}.portal-home .portal-ai-live-progress{color:var(--chat-muted);border-left:2px solid #4d6bfe9e;margin:2px 0 8px;padding-left:16px;position:relative}.portal-home .portal-ai-live-progress details{min-width:0}.portal-home .portal-ai-live-progress summary{cursor:pointer;align-items:center;gap:8px;min-height:40px;padding-right:82px;list-style:none;display:flex}.portal-home .portal-ai-live-progress summary::-webkit-details-marker{display:none}.portal-home .portal-ai-live-progress summary strong{color:var(--chat-ink);font-size:var(--fs-14);font-weight:600}.portal-home .portal-ai-live-progress summary small{color:#8a9099;min-width:0;font-size:var(--fs-12);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.portal-home .portal-ai-live-progress__pulse{background:#0071e3;border-radius:50%;flex:none;width:8px;height:8px}.portal-home .portal-ai-live-progress.is-streaming .portal-ai-live-progress__pulse{animation:1.2s ease-out infinite portal-ai-progress-pulse;box-shadow:0 0 #4d6bfe4d}.portal-home .portal-ai-live-progress.is-complete .portal-ai-live-progress__pulse{background:#248a3d}.portal-home .portal-ai-live-progress__stop{color:#666d78;background:var(--surface);min-width:70px;height:32px;font-size:var(--fs-12);cursor:pointer;border:1px solid #e2e5ea;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 10px;display:inline-flex;position:absolute;top:4px;right:0}.portal-home .portal-ai-live-progress__stop:hover{color:#20242c;background:#f8f9fb;border-color:#cfd4dc}.portal-home .portal-ai-live-progress__stop:focus-visible{outline-offset:2px;outline:2px solid #4d6bfe73}.portal-home .portal-ai-live-progress__stop svg{width:16px;height:16px}.portal-home .portal-ai-live-progress__body{max-height:320px;padding:2px 18px 12px 0;overflow-y:auto}.portal-home .portal-ai-live-progress__ticker{padding:4px 0 8px}.portal-home .portal-ai-live-progress__ticker>span{color:#8a9099;font-size:var(--fs-12);line-height:1.4;display:block}.portal-home .portal-ai-live-progress__ticker-viewport{min-height:48px;margin-top:5px;overflow:hidden}.portal-home .portal-ai-live-progress__ticker-text{color:#4f5867;font-size:var(--fs-14);margin:0;line-height:1.7;animation:.24s cubic-bezier(.2,.8,.2,1) both portal-ai-progress-text-jump}.portal-home .portal-ai-live-progress__analysis{border-top:1px solid #eceef2;margin-top:4px;padding-top:10px}.portal-home .portal-ai-live-progress__analysis>span{color:#8a9099;font-size:var(--fs-12);margin-bottom:6px;display:block}.portal-home .portal-ai-live-progress__analysis .portal-ai-chat-markdown,.portal-home .portal-ai-live-progress__analysis .portal-ai-chat-markdown p,.portal-home .portal-ai-live-progress__analysis .portal-ai-chat-markdown ul{color:var(--chat-muted);font-size:var(--fs-14);line-height:1.68}.portal-home .portal-ai-live-progress__complete-note{color:#8a9099;font-size:var(--fs-13);margin:4px 0 0}@keyframes portal-ai-progress-pulse{70%,to{box-shadow:0 0 0 7px #4d6bfe00}}@keyframes portal-ai-progress-text-jump{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.portal-home .portal-ai-live-progress summary{gap:6px;padding-right:42px}.portal-home .portal-ai-live-progress summary small{display:none}.portal-home .portal-ai-live-progress__stop{width:34px;min-width:34px;padding:0}.portal-home .portal-ai-live-progress__stop span{display:none}}@media (prefers-reduced-motion:reduce){.portal-home .portal-ai-live-progress.is-streaming .portal-ai-live-progress__pulse,.portal-home .portal-ai-live-progress__ticker-text{animation:none}}.portal-home .portal-ai-chat-message__actions{align-items:center;gap:8px;min-height:44px;display:flex}.portal-home .portal-ai-chat-message__actions--user{justify-content:flex-end}.portal-home .portal-ai-chat-message__actions button{width:44px;min-width:44px;height:44px;color:var(--chat-muted);font:inherit;font-size:var(--fs-12);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:color .18s,background-color .18s;display:inline-flex}.portal-home .portal-ai-chat-message__actions button:disabled{opacity:.42;cursor:wait}.portal-home .portal-ai-chat-message__actions button.is-active{color:var(--chat-primary);background:#0071e314}.portal-home .portal-ai-chat-message__actions button:hover{color:var(--chat-ink);background:var(--chat-soft)}.portal-home .portal-ai-chat-message__actions button:focus-visible{outline-offset:1px;outline:3px solid #4d6bfe47}.portal-home .portal-ai-chat-message__actions svg{font-size:var(--fs-16)}.portal-home .portal-ai-chat-citations{color:#536078;background:#f8faff;border:1px solid #dfe7f5;border-radius:12px;max-width:760px;margin-top:14px;padding:12px 14px}.portal-home .portal-ai-chat-citations b{color:#33415c;font-size:var(--fs-13)}.portal-home .portal-ai-chat-citations ul{font-size:var(--fs-12);gap:4px;margin:7px 0 0;padding-left:20px;display:grid}.portal-home .portal-ai-chat-suggestions{flex-wrap:wrap;gap:8px;max-width:760px;margin-top:12px;display:flex}.portal-home .portal-ai-chat-suggestions button{color:#315d9f;cursor:pointer;text-align:left;background:#fff;border:1px solid #d2def2;border-radius:10px;min-height:36px;padding:7px 11px}.portal-home .portal-ai-chat-suggestions button:hover{background:#f5f8ff;border-color:#97b6e5}.portal-home .portal-ai-chat-suggestions button:focus-visible{outline-offset:2px;outline:3px solid #3b6ef538}.portal-home .portal-ai-chat-message__receipt{color:#7c838e;font-size:var(--fs-12);white-space:nowrap;margin-left:2px;line-height:1.5}.portal-home .portal-ai-chat-message__receipt b{color:#c3c7ce;margin:0 5px;font-weight:400}.portal-home .portal-ai-chat-message__editor{gap:10px;display:grid}.portal-home .portal-ai-chat-message__editor textarea{resize:vertical;width:min(520px,58vw);min-height:88px;color:var(--chat-ink);font:inherit;font-size:var(--fs-16);background:0 0;border:0;outline:0;padding:0;line-height:1.65}.portal-home .portal-ai-chat-message__editor>div{justify-content:flex-end;gap:8px;display:flex}.portal-home .portal-ai-chat-message__editor button{border:1px solid var(--chat-line);min-height:44px;color:var(--chat-ink);background:var(--surface);font:inherit;cursor:pointer;border-radius:9px;padding:0 14px}.portal-home .portal-ai-chat-message__editor button.is-primary{border-color:var(--chat-primary);color:var(--surface);background:var(--chat-primary)}.portal-home .portal-ai-chat-message__editor button:disabled{opacity:.5;cursor:not-allowed}.portal-home .portal-ai-chat-welcome{width:min(780px,100%);padding:38px 0 30px}.portal-home .portal-ai-chat-eyebrow{color:var(--chat-primary);font-size:var(--fs-13);letter-spacing:.1em;margin-bottom:12px;font-weight:600}.portal-home .portal-ai-chat-welcome h1{color:var(--chat-ink);letter-spacing:0;font-size:clamp(28px,3vw,34px);font-weight:600}.portal-home .portal-ai-chat-welcome>p{color:var(--chat-muted);font-size:var(--fs-16);margin-top:10px}.portal-home .portal-ai-chat-starters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(680px,100%);margin-top:26px}.portal-home .portal-ai-chat-starters button{border-color:var(--chat-line);min-height:44px;color:var(--chat-ink);background:var(--surface);text-align:center;border-radius:10px}.portal-home .portal-ai-chat-starters button:hover{background:var(--surface-soft);border-color:#4d6bfe6b}.portal-home .portal-ai-chat-dock,.portal-home .portal-ai-chat-dock--active{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:0;padding:14px 28px 12px}.portal-home .portal-ai-chat-composer{border:1px solid #dfe2e7;border-radius:20px;width:min(880px,100%);box-shadow:0 1px 2px #0f172a0a,0 10px 30px #0f172a12}.portal-home .portal-ai-chat-composer:focus-within{border-color:#4d6bfeb8;box-shadow:0 1px 2px #0f172a0a,0 12px 34px #0f172a17}.portal-home .portal-ai-chat-composer textarea{min-height:60px;color:var(--chat-ink);font-size:var(--fs-16);padding:15px 18px 4px}.portal-home .portal-ai-chat-composer textarea::placeholder{color:#a2a7b0}.portal-home .portal-ai-chat-composer__toolbar{min-height:50px;padding:4px 9px 8px 10px}.portal-home .portal-ai-attach{width:40px;height:40px;color:var(--chat-muted)}.portal-home .portal-ai-teacher-trigger{border-color:var(--chat-line);min-height:38px;color:var(--chat-muted);background:var(--surface);padding:0 11px}.portal-home .portal-ai-teacher-trigger:hover{background:var(--chat-soft)}.portal-home .portal-ai-teacher-trigger span{color:var(--chat-ink)}.portal-home .portal-ai-chat-composer__toolbar>button{width:42px;height:42px;color:var(--surface);background:var(--chat-primary)}.portal-home .portal-ai-chat-caption{color:#90959e;width:min(880px,100%);font-size:var(--fs-12);margin-top:6px}.portal-home .portal-ai-sidebar{border-right:1px solid var(--chat-line);background:var(--chat-soft);-webkit-backdrop-filter:none;backdrop-filter:none;flex-basis:260px;width:260px}.portal-home .portal-ai-sidebar__header{border-bottom:0;min-height:58px;padding:8px 10px}.portal-home .portal-ai-sidebar__new{min-height:42px;color:var(--chat-ink);background:var(--surface);border-color:var(--chat-line);border-radius:12px;justify-content:flex-start;box-shadow:0 1px 2px #0f172a08}.portal-home .portal-ai-sidebar__new:hover{background:var(--surface);border-color:#d7dae0}.portal-home .portal-ai-sidebar__collapse,.portal-home .portal-ai-sidebar__mobile-close{color:var(--chat-muted);background:0 0;border-color:#0000}.portal-home .portal-ai-sidebar__collapse:hover,.portal-home .portal-ai-sidebar__mobile-close:hover{background:#1f23290f}.portal-home .portal-ai-sidebar__history{padding:10px 8px 20px}.portal-home .portal-ai-sidebar__group{margin-bottom:20px}.portal-home .portal-ai-sidebar__group h2{color:#8b919a;font-size:var(--fs-12);margin:0 11px 7px}.portal-home .portal-ai-sidebar__item{border-radius:9px;min-height:42px}.portal-home .portal-ai-sidebar__item:hover{background:#1f23290d}.portal-home .portal-ai-sidebar__item.is-active{background:#e8efff}.portal-home .portal-ai-sidebar__select{min-height:42px;color:var(--chat-ink);font-size:var(--fs-14)}.portal-home .portal-ai-sidebar__actions{opacity:0;width:0;position:relative;overflow:visible}.portal-home .portal-ai-sidebar__item:hover .portal-ai-sidebar__actions,.portal-home .portal-ai-sidebar__item:focus-within .portal-ai-sidebar__actions,.portal-home .portal-ai-sidebar__actions.is-open{opacity:1;width:36px}.portal-home .portal-ai-sidebar__actions .portal-ai-sidebar__more{border-radius:8px;width:36px;height:38px}.portal-home .portal-ai-sidebar__actions .portal-ai-sidebar__more:hover{background:#1f23290f}.portal-home .portal-ai-sidebar__menu{z-index:30;border:1px solid var(--chat-line);background:var(--surface);border-radius:10px;gap:2px;width:112px;padding:6px;display:grid;position:absolute;top:36px;right:2px;box-shadow:0 10px 28px #0f172a1f}.portal-home .portal-ai-sidebar__menu button{width:100%;height:34px;color:var(--chat-ink);font:inherit;font-size:var(--fs-13);text-align:left;border-radius:7px;justify-content:flex-start;padding:0 9px}.portal-home .portal-ai-sidebar__menu button:hover{background:var(--chat-soft)}.portal-home .portal-ai-sidebar__menu button.is-danger{color:#d70015}.portal-home .portal-ai-sidebar--collapsed{flex-basis:58px;width:58px}.portal-home .portal-ai-chat-mobile-menu{position:static}@media (width<=900px){.portal-home .portal-ai-chat-main{grid-template-rows:54px minmax(0,1fr)}.portal-home .portal-ai-chat-context{min-height:54px;padding:0 14px}.portal-home .portal-ai-chat-mobile-menu{min-height:40px;color:var(--chat-muted);font-size:var(--fs-13);padding:0 9px;display:inline-flex;position:static}.portal-home .portal-ai-sidebar,.portal-home .portal-ai-sidebar--collapsed{width:min(300px,86vw)}}@media (width<=620px){.portal-home .portal-ai-chat-context{padding:0 10px}.portal-home .portal-ai-chat-context__title strong{font-size:var(--fs-14)}.portal-home .portal-ai-chat-context__title span{font-size:var(--fs-12)}.portal-home .portal-ai-chat-scroll{padding:0 14px}.portal-home .portal-ai-chat-thread{gap:26px;padding:24px 0 30px}.portal-home .portal-ai-chat-message--user{max-width:88%}.portal-home .portal-ai-chat-message__actions button{width:44px;min-width:44px;height:44px}.portal-home .portal-ai-chat-message__editor textarea{width:72vw}.portal-home .portal-ai-chat-starters{grid-template-columns:1fr}.portal-home .portal-ai-chat-dock,.portal-home .portal-ai-chat-dock--active{padding:10px 10px 9px}.portal-home .portal-ai-chat-composer{border-radius:17px}.portal-home .portal-ai-chat-caption{margin-top:4px}.portal-home .portal-ai-teacher-trigger{max-width:calc(100vw - 122px)}.portal-home .portal-ai-teacher-settings{width:auto;max-height:calc(100dvh - 116px);position:fixed;bottom:92px;left:18px;right:18px;overflow-y:auto}.portal-home .portal-ai-model-options{max-height:min(180px,24dvh)}}.session-device-panel{grid-column:1/-1}.session-device-panel>header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.session-device-panel>header h2{margin:0}.session-device-panel>header p{color:var(--muted);font-size:var(--fs-14);margin:6px 0 0}.session-device-loading{justify-content:center;padding:28px;display:flex}.session-device-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.session-device-list article{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;min-width:0;padding:16px;position:relative}.session-device-list article.current{background:var(--blue-soft);border-color:#3b6ef552}.session-device-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.session-device-title strong{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.session-device-list dl{gap:7px;margin:0 0 12px;display:grid}.session-device-list dl div{font-size:var(--fs-13);justify-content:space-between;gap:12px;display:flex}.session-device-list dt{color:var(--muted)}.session-device-list dd{color:var(--text);text-align:right;margin:0}.session-device-empty{text-align:center;color:var(--muted);margin:0;padding:24px}@media (width<=900px){.session-device-list{grid-template-columns:1fr}}@media (width<=520px){.session-device-panel>header{flex-direction:column;align-items:stretch}.session-device-panel>header button{align-self:flex-start}}.xingce-page-study-rail{gap:14px;display:grid;position:sticky;top:78px}.xingce-page-study-card,.xingce-page-study-shortcut-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden;box-shadow:0 4px 15px #1f345b0b}.xingce-page-study-card-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:0 15px;display:flex}.xingce-page-study-card-header h2,.xingce-page-study-shortcut-card h2{color:var(--text);font-size:var(--fs-16);letter-spacing:0;margin:0;font-weight:700}.xingce-page-study-card-header>a{min-height:36px;color:var(--muted);font-size:var(--fs-12);align-items:center;gap:1px;font-weight:600;transition:color .16s;display:inline-flex}.xingce-page-study-card-header>a:hover{color:var(--blue)}.xingce-page-study-card-header>a svg{font-size:var(--fs-16)}.xingce-page-study-attempts{padding:5px 10px 10px;display:grid}.xingce-page-study-attempt{min-width:0;min-height:76px;color:var(--text);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 5px;display:grid}.xingce-page-study-attempt:last-child{border-bottom:0}.xingce-page-study-attempt-copy{gap:6px;min-width:0;display:grid}.xingce-page-study-attempt-copy b{font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.45;overflow:hidden}.xingce-page-study-attempt-copy time{color:var(--muted);font-size:var(--fs-12)}.xingce-page-study-attempt-action{color:var(--blue);font-size:var(--fs-12);white-space:nowrap;align-items:center;gap:2px;font-weight:600;display:inline-flex}.xingce-page-study-attempt-action svg{font-size:var(--fs-16)}.xingce-page-study-attempt:hover .xingce-page-study-attempt-copy b{color:var(--blue)}.xingce-page-study-state{min-height:116px;color:var(--muted);font-size:var(--fs-13);text-align:center;justify-content:center;align-items:center;padding:18px;line-height:1.6;display:flex}.xingce-page-study-state-link{color:var(--blue);gap:2px;font-weight:600}.xingce-page-study-state-link svg{font-size:var(--fs-18)}.xingce-page-study-state-error{color:#d70015}.xingce-page-study-shortcut-card{padding:14px}.xingce-page-study-shortcut-card h2{margin:0 2px 11px}.xingce-page-study-shortcuts{gap:7px;display:grid}.xingce-page-study-shortcuts>a{min-height:50px;color:var(--text);background:var(--surface-soft);font-size:var(--fs-13);border:1px solid #0000;border-radius:10px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:7px 10px;font-weight:600;transition:color .16s,border-color .16s,background-color .16s;display:grid}.xingce-page-study-shortcut-icon{width:34px;height:34px;color:var(--blue);background:var(--blue-soft);border-radius:9px;place-items:center;display:grid}.xingce-page-study-shortcut-icon svg{font-size:var(--fs-18)}.xingce-page-study-shortcuts>a:hover{color:var(--blue);background:var(--surface);border-color:#3b6ef533}.xingce-page-study-card-header>a:focus-visible,.xingce-page-study-attempt:focus-visible,.xingce-page-study-state-link:focus-visible,.xingce-page-study-shortcuts>a:focus-visible{outline-offset:2px;outline:3px solid #3b6ef538}@media (width<=820px){.xingce-page-study-rail{grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);position:static}.xingce-page-study-shortcuts{grid-template-columns:1fr}}@media (width<=620px){.xingce-page-study-rail{grid-template-columns:1fr}.xingce-page-study-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.xingce-page-study-shortcuts>a{text-align:center;grid-template-columns:1fr;justify-items:center;gap:4px;min-height:62px;padding:8px 4px}}@media (prefers-reduced-motion:reduce){.xingce-page-study-card-header>a,.xingce-page-study-shortcuts>a{transition:none}}.xingce-page{padding-top:22px;padding-bottom:48px}.xingce-page-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:96px;padding:10px 0 18px;display:flex}.xingce-page-header h1{color:var(--text);letter-spacing:0;margin:0;font-size:clamp(30px,3vw,38px);font-weight:700;line-height:1.15}.xingce-page-header p{color:var(--muted);font-size:var(--fs-16);margin:8px 0 0;line-height:1.5}.xingce-page-subject-switch{border:1px solid var(--line);min-height:48px;color:var(--blue);background:var(--surface);border-radius:12px;align-items:center;gap:9px;padding:0 14px;transition:border-color .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 3px 12px #1f345b0d}.xingce-page-subject-switch:hover{border-color:#3b6ef561;transform:translateY(-1px);box-shadow:0 7px 18px #1f345b14}.xingce-page-subject-switch>svg:first-child{font-size:var(--fs-20)}.xingce-page-subject-switch>svg:last-child{color:var(--muted);font-size:var(--fs-18)}.xingce-page-subject-switch b{color:var(--text);font-size:var(--fs-14);font-weight:600}.xingce-page-mode-selector{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.xingce-page-mode-selector button{border:1px solid var(--line);min-width:0;min-height:88px;color:var(--text);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:13px;padding:15px 18px 17px;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #1f345b0b}.xingce-page-mode-selector button:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:16px;right:16px}.xingce-page-mode-selector button:hover{border-color:#3b6ef54d;transform:translateY(-1px);box-shadow:0 8px 20px #1f345b13}.xingce-page-mode-selector button.active{background:var(--blue-soft);border-color:#3b6ef54d;box-shadow:0 6px 18px #3b6ef514}.xingce-page-mode-selector button.active:after{background:var(--blue)}.xingce-page-mode-selector button:focus-visible,.xingce-page-subject-switch:focus-visible{outline-offset:2px;outline:3px solid #3b6ef538}.xingce-page-mode-icon{width:44px;height:44px;color:var(--blue);background:var(--blue-soft);border-radius:12px;flex:0 0 44px;place-items:center;display:grid}.xingce-page-mode-selector button.active .xingce-page-mode-icon{color:var(--surface);background:var(--blue)}.xingce-page-mode-icon svg{font-size:var(--fs-24)}.xingce-page-mode-selector b{min-width:0;font-size:var(--fs-16);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.xingce-page-workspace{grid-template-columns:minmax(0,1fr) 286px;align-items:start;gap:18px;margin-top:18px;display:grid}.xingce-page-main{min-width:0}.xingce-page-section-papers{gap:12px;display:grid}.xingce-page-section-tabs{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:6px;display:grid;overflow-x:auto;box-shadow:0 5px 18px #1f345b0a}.xingce-page-section-tabs button{min-width:92px;min-height:54px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;gap:3px;padding:8px 10px;transition:color .16s,background-color .16s;display:grid}.xingce-page-section-tabs button:hover{color:var(--blue);background:var(--blue-soft)}.xingce-page-section-tabs button.active{color:var(--surface);background:var(--blue)}.xingce-page-section-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.xingce-page-section-tabs b{font-size:var(--fs-13);white-space:nowrap;font-weight:600}.xingce-page-section-tabs span{font-size:var(--fs-12);opacity:.78}.xingce-page-paper-panel{min-width:0}.xingce-page-paper-heading{align-items:center;min-height:56px;padding:0 4px;display:flex}.xingce-page-paper-heading h2{color:var(--text);font-size:var(--fs-20);letter-spacing:0;margin:0;font-weight:700}.xingce-page-paper-list{gap:12px;display:grid}.xingce-page-paper-row{min-width:0}.xingce-page-paper-row>button{border:1px solid var(--line);width:100%;min-height:116px;color:var(--text);background:var(--surface);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:18px 20px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 4px 15px #1f345b0b}.xingce-page-paper-row>button:hover{border-color:#3b6ef547;transform:translateY(-1px);box-shadow:0 9px 24px #1f345b14}.xingce-page-paper-row>button:focus-visible{outline-offset:2px;outline:3px solid #3b6ef538}.xingce-page-paper-copy{min-width:0;display:block}.xingce-page-paper-copy b{color:var(--text);font-size:var(--fs-16);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.45;display:block;overflow:hidden}.xingce-page-paper-copy small{color:var(--muted);font-size:var(--fs-13);align-items:center;gap:18px;margin-top:14px;display:flex}.xingce-page-paper-copy small span+span{position:relative}.xingce-page-paper-copy small span+span:before{content:"";background:#aab4c4;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.xingce-page-paper-action{min-height:40px;color:var(--surface);background:var(--blue);font-size:var(--fs-14);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 15px;font-weight:600;display:inline-flex}.xingce-page-paper-action svg{font-size:var(--fs-18)}.xingce-page-paper-empty{border:1px solid var(--line);background:var(--surface);border-radius:14px}.xingce-page-pagination{border:1px solid var(--line);min-height:54px;color:var(--muted);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}@media (width<=1040px){.xingce-page-workspace{grid-template-columns:minmax(0,1fr) 254px}}@media (width<=820px){.xingce-page-mode-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.xingce-page-workspace{grid-template-columns:1fr}}@media (width<=620px){.xingce-page{padding-top:12px;padding-bottom:112px}.xingce-page-header{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;min-height:122px;padding:8px 0 14px}.xingce-page-header h1{font-size:var(--fs-28)}.xingce-page-header p{font-size:var(--fs-14);margin-top:5px}.xingce-page-subject-switch{min-height:42px}.xingce-page-mode-selector{grid-template-columns:1fr;gap:10px}.xingce-page-mode-selector button{min-height:76px;padding:12px 15px}.xingce-page-mode-icon{flex-basis:40px;width:40px;height:40px}.xingce-page-paper-heading{min-height:50px}.xingce-page-paper-row>button{grid-template-columns:1fr;gap:14px;min-height:112px;padding:16px}.xingce-page-paper-copy b{white-space:normal;overflow:visible}.xingce-page-paper-action{width:fit-content}}@media (prefers-reduced-motion:reduce){.xingce-page-mode-selector button,.xingce-page-subject-switch,.xingce-page-paper-row>button{transition:none}}.xingce-page-point-panel{min-width:0}.xingce-page-point-heading{align-items:center;min-height:56px;padding:0 4px;display:flex}.xingce-page-point-heading h2{color:var(--text);font-size:var(--fs-20);letter-spacing:0;margin:0;font-weight:700}.xingce-page-point-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.xingce-page-point-module{align-content:start;gap:12px;min-width:0;display:grid}.xingce-page-point-module.expanded{grid-column:1/-1}.xingce-page-point-module-surface{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-template-rows:minmax(0,1fr) 44px;height:132px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;overflow:hidden;box-shadow:0 4px 15px #1f345b0b}.xingce-page-point-module-surface:hover{border-color:#3b6ef547;transform:translateY(-1px);box-shadow:0 9px 24px #1f345b14}.xingce-page-point-module.expanded .xingce-page-point-module-surface{border-color:#3b6ef56b;box-shadow:0 7px 20px #3b6ef51a}.xingce-page-point-module-surface>button{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:12px;padding:18px 18px 12px;display:grid}.xingce-page-point-module-surface>button span{min-width:0}.xingce-page-point-module-surface>button b,.xingce-page-point-module-surface>button small{display:block}.xingce-page-point-module-surface>button b{font-size:var(--fs-18);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.35;overflow:hidden}.xingce-page-point-module-surface>button small{color:var(--muted);font-size:var(--fs-13);margin-top:8px;line-height:1.3}.xingce-page-point-module-surface>button>svg{color:var(--muted);font-size:var(--fs-24);transition:color .18s,transform .18s}.xingce-page-point-module.expanded .xingce-page-point-module-surface>button>svg{color:var(--blue);transform:rotate(180deg)}.xingce-page-point-module-surface>a{border-top:1px solid var(--line);color:var(--blue);font-size:var(--fs-14);background:#fbfcff;justify-content:space-between;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:flex}.xingce-page-point-module-surface>a:hover{background:var(--blue-soft)}.xingce-page-point-module-surface>a svg{font-size:var(--fs-18)}.xingce-page-point-module-surface>button:focus-visible,.xingce-page-point-module-surface>a:focus-visible,.xingce-page-point-entry>button:focus-visible,.xingce-page-point-entry>a:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #3b6ef538;position:relative}.xingce-page-point-module-points{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:18px}.xingce-page-point-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.xingce-page-point-card-group{min-width:0}.xingce-page-point-entry{border:1px solid var(--line);min-height:92px;color:var(--text);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;overflow:hidden;box-shadow:0 3px 12px #1f345b09}.xingce-page-point-entry:hover{border-color:#3b6ef547;transform:translateY(-1px);box-shadow:0 7px 18px #1f345b12}.xingce-page-point-entry>button,.xingce-page-point-entry-title{min-width:0;min-height:90px;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:10px;padding:16px;display:grid}.xingce-page-point-entry>button{cursor:pointer}.xingce-page-point-entry-title{grid-template-columns:minmax(0,1fr)}.xingce-page-point-entry>button>svg{color:var(--muted);font-size:var(--fs-20);transition:color .18s,transform .18s}.xingce-page-point-entry.expanded>button>svg{color:var(--blue);transform:rotate(180deg)}.xingce-page-point-entry>button span,.xingce-page-point-entry-title span{min-width:0}.xingce-page-point-entry b,.xingce-page-point-entry small{display:block}.xingce-page-point-entry b{font-size:var(--fs-16);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.45;overflow:hidden}.xingce-page-point-entry small{color:var(--muted);font-size:var(--fs-12);margin-top:8px;line-height:1.3}.xingce-page-point-entry>a{border-left:1px solid var(--line);min-height:90px;color:var(--blue);font-size:var(--fs-13);white-space:nowrap;background:#fbfcff;justify-content:center;align-items:center;gap:4px;padding:0 15px;font-weight:600;display:inline-flex}.xingce-page-point-entry>a:hover{background:var(--blue-soft)}.xingce-page-point-entry>a svg{font-size:var(--fs-16)}.xingce-page-point-children{border-left:2px solid #dce7fb;gap:8px;margin:8px 0 0 12px;padding-left:12px;display:grid}.xingce-page-point-card-group.depth-1 .xingce-page-point-entry,.xingce-page-point-card-group.depth-1 .xingce-page-point-entry>button,.xingce-page-point-card-group.depth-1 .xingce-page-point-entry-title,.xingce-page-point-card-group.depth-1 .xingce-page-point-entry>a{min-height:78px}.xingce-page-point-card-group.depth-1 .xingce-page-point-entry>button,.xingce-page-point-card-group.depth-1 .xingce-page-point-entry-title{padding:13px 14px}.xingce-page-point-card-group.depth-1 .xingce-page-point-entry{box-shadow:none}.xingce-page-point-empty{border:1px solid var(--line);min-height:92px;color:var(--muted);background:var(--surface);font-size:var(--fs-14);border-radius:12px;place-items:center;display:grid}@media (width<=820px){.xingce-page-point-modules,.xingce-page-point-grid{grid-template-columns:1fr}}@media (width<=620px){.xingce-page-point-heading{min-height:50px}.xingce-page-point-modules{gap:10px}.xingce-page-point-module-surface{height:124px}.xingce-page-point-module-surface>button{padding:15px 15px 10px}.xingce-page-point-module-surface>a{padding:0 15px}.xingce-page-point-module-points{padding:14px}.xingce-page-point-entry{grid-template-columns:1fr;min-height:88px}.xingce-page-point-entry>button,.xingce-page-point-entry-title{min-height:74px;padding:14px}.xingce-page-point-entry>a{border-top:1px solid var(--line);border-left:0;justify-content:flex-start;min-height:44px;padding:0 14px}.xingce-page-point-entry b{white-space:normal;overflow:visible}.xingce-page-point-children{margin-left:6px;padding-left:8px}}@media (prefers-reduced-motion:reduce){.xingce-page-point-module-surface,.xingce-page-point-module-surface>button>svg,.xingce-page-point-entry,.xingce-page-point-entry>button>svg{transition:none}}.subject-hub-page{--text:#32343a;--muted:#84858d;--weak:#9ea5bb;--subject-primary:#3c7cfc;width:min(1280px,100% - 40px);color:var(--text);padding-top:24px;padding-bottom:24px;line-height:1.65}main.student-page.subject-hub-page{width:min(var(--student-content),calc(100% - 40px))}main.student-page.subject-hub-page>.subject-hub-actions,main.student-page.subject-hub-page>.subject-hub-secondary,main.student-page.subject-hub-page>.subject-hub-workspace,main.student-page.subject-hub-page>.MuiAlert-root{width:100%;margin-left:0;margin-right:0}.subject-hub-page-title{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.subject-hub-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:0;display:grid}.subject-hub-actions[data-action-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-hub-actions[data-action-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-hub-actions[data-action-count="2"] .subject-hub-action{max-width:none}.subject-hub-action{border:1px solid var(--action-border);min-width:0;max-width:360px;height:104px;color:var(--action-title);background:var(--action-bg);text-align:left;cursor:pointer;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1f345b08,0 4px 12px #1f345b0d}.subject-hub-action--blue,.subject-hub-action--teal,.subject-hub-action--orange,.subject-hub-action--purple{--action-bg:#fff;--action-title:#1d1d1f;--action-icon:#0071e3;--action-border:#d2d2d7}.subject-hub-action:hover{transform:translateY(-2px);box-shadow:0 2px 4px #1f345b0d,0 10px 24px #1f345b1a}.subject-hub-action:active{transform:scale(.98)}.subject-hub-action.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--action-icon) 18%,transparent),0 8px 20px #1f345b17}.subject-hub-action span{min-width:0}.subject-hub-action b,.subject-hub-action small{display:block}.subject-hub-action b{font-size:var(--fs-16);font-weight:600;line-height:1.5}.subject-hub-action small{color:color-mix(in srgb,var(--action-title) 72%,transparent);font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-weight:400;line-height:1.5;overflow:hidden}.subject-hub-action>i{width:36px;height:36px;color:var(--action-icon);background:color-mix(in srgb,var(--action-icon) 16%,transparent);border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;bottom:12px;right:16px}.subject-hub-action>i svg{font-size:var(--fs-24)}.subject-hub-secondary{border:1px solid var(--line);width:100%;min-height:56px;color:var(--text);background:var(--surface);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:12px;margin-top:12px;padding:0 16px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 4px 16px #1f345b0a}.subject-hub-secondary:hover,.subject-hub-secondary.active{border-color:#3b6ef557;box-shadow:0 8px 22px #1f345b14}.subject-hub-secondary:active{transform:scale(.98)}.subject-hub-secondary>i{color:var(--blue);font-style:normal}.subject-hub-secondary>i svg,.subject-hub-secondary>svg{font-size:var(--fs-24)}.subject-hub-secondary>svg{color:var(--muted)}.subject-hub-secondary b,.subject-hub-secondary small{display:inline}.subject-hub-secondary b{font-size:var(--fs-16);font-weight:600}.subject-hub-secondary small{color:var(--muted);font-size:var(--fs-13);margin-left:12px}.subject-hub-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;margin-top:40px;display:grid;overflow:visible}.subject-hub-panel,.subject-hub-rail-card{border:1px solid var(--line);background:var(--surface);min-width:0;box-shadow:none;border-radius:16px;transition:all .2s ease-in-out;overflow:hidden}.subject-hub-panel:hover,.subject-hub-rail-card:hover{box-shadow:0 10px 20px #3c7cfc33}.subject-hub-panel-header,.subject-hub-rail-card>header{background:#f5f8ff;border-bottom:1px solid #e3eaf7;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;gap:16px;height:48px;min-height:48px;padding:0 26px;display:flex;position:relative}.subject-hub-panel-header>div{align-items:center;gap:8px;min-width:0;display:flex}.subject-hub-panel-header strong,.subject-hub-rail-card h2{color:var(--text);font-size:var(--fs-16);font-weight:600;line-height:1.5}.subject-hub-panel-header span{color:var(--subject-primary);font-size:var(--fs-12);font-variant-numeric:tabular-nums;white-space:nowrap;background:#e1ebff;border-radius:999px;padding:2px 8px;font-weight:400;line-height:1.5}.subject-hub-panel-content{min-width:0;padding:26px}.subject-hub-panel-content .embedded{box-shadow:none;border:0}.subject-hub-panel-content .paper-panel.embedded{overflow:visible}.subject-hub-panel-content .xingce-page-paper-list{gap:12px}.subject-hub-state{min-height:160px;color:var(--muted);font-size:var(--fs-14);place-items:center;display:grid}.subject-hub-rail{flex-direction:column;align-self:start;min-width:0;height:auto;display:flex;position:static;top:auto}.subject-hub-rail-card{flex:none;width:100%;min-height:0}.subject-hub-rail-card>header{justify-content:space-between}.subject-hub-rail-card h2{margin:0}.subject-hub-rail-card>header>a{min-height:44px;color:var(--muted);font-size:var(--fs-13);align-items:center;display:inline-flex}.subject-hub-rail-card>header>a svg,.subject-hub-rail-card>header>svg{font-size:var(--fs-18)}.subject-hub-history-list>a{border-bottom:1px solid var(--line);min-height:76px;color:var(--text);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 26px;transition:background-color .18s;display:grid}.subject-hub-history-list>a:last-child{border-bottom:0}.subject-hub-history-list>a:hover{background:var(--surface-soft)}.subject-hub-history-list>a>span{min-width:0}.subject-hub-history-list b{font-size:var(--fs-14);text-overflow:ellipsis;white-space:nowrap;font-weight:400;line-height:1.5;display:block;overflow:hidden}.subject-hub-history-list small{color:var(--weak);font-size:var(--fs-12);align-items:center;gap:8px;margin-top:8px;font-weight:400;line-height:1.5;display:flex}.subject-hub-history-list small em{min-height:24px;color:var(--weak);background:var(--surface-soft);border-radius:999px;align-items:center;padding:0 8px;font-style:normal;display:inline-flex}.subject-hub-history-list time{font-variant-numeric:tabular-nums}.subject-hub-history-list>a>i{min-height:24px;font-size:var(--fs-12);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-style:normal;display:inline-flex}.subject-hub-history-list>a>i.in-progress,.subject-hub-history-list>a>i.completed{color:var(--weak);background:var(--surface-soft)}.subject-hub-rail-state{min-height:112px;color:var(--muted);font-size:var(--fs-13);text-align:center;place-items:center;padding:26px;display:grid}.subject-hub-rail-state a{min-height:44px;color:var(--muted);align-items:center;transition:color .2s ease-in-out;display:inline-flex}.subject-hub-rail-state a:hover{color:var(--subject-primary)}.subject-hub-rail-state.error{color:var(--muted)}.subject-hub-action:focus-visible,.subject-hub-secondary:focus-visible,.subject-hub-history-list>a:focus-visible,.subject-hub-rail-card>header>a:focus-visible{outline-offset:2px;outline:3px solid #3c7cfc52}.subject-hub-page .xingce-page-section-tabs,.subject-hub-page .xingce-page-section-tabs button{gap:8px;padding:8px}.subject-hub-page .xingce-page-section-tabs button:hover,.subject-hub-page .xingce-page-section-tabs button.active{color:var(--text);background:#eef3fc}.subject-hub-page .xingce-page-section-tabs b{font-size:var(--fs-13);font-weight:600;line-height:1.5}.subject-hub-page .xingce-page-section-tabs span{color:var(--weak);font-size:var(--fs-12);opacity:1;font-weight:400;line-height:1.5}.subject-hub-page .subject-paper-list{min-width:0;margin:16px -26px -26px}.subject-hub-page .subject-paper-list.is-flush-top{margin-top:-26px}.subject-hub-page .police-paper-filters+.paper-panel-police .subject-paper-list.is-flush-top{margin-top:0}.subject-hub-page .subject-paper-authoritative-filters{border-bottom:1px solid #dee2ea80;margin:-26px -26px 0}.subject-hub-page .subject-paper-authoritative-filters .subject-paper-region-filter:last-child{border-bottom:0}.subject-hub-page .subject-paper-filter-label{min-width:40px;min-height:36px;color:var(--muted);font-size:var(--fs-13);align-items:center;font-weight:600;display:inline-flex}.subject-hub-page .subject-paper-region-filter{border-bottom:1px solid #dee2ea80;flex-wrap:wrap;gap:8px;padding:16px 26px;display:flex}.subject-hub-page .subject-paper-region-filter button{color:#545454;min-height:28px;font-size:var(--fs-14);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 12px;font-weight:400;line-height:1.5;transition:color .2s ease-in-out,background-color .2s ease-in-out}.subject-hub-page .subject-paper-region-filter button:hover{color:var(--subject-primary)}.subject-hub-page .subject-paper-region-filter button.active{color:var(--surface);background:var(--subject-primary)}.subject-hub-page .subject-paper-region-filter button:focus-visible{outline-offset:2px;outline:2px solid #3c7cfc8c}.subject-hub-page .subject-paper-list-count{min-height:40px;color:var(--weak);font-size:var(--fs-12);font-variant-numeric:tabular-nums;border-bottom:1px solid #dee2ea80;align-items:center;padding:0 26px;font-weight:400;line-height:1.5;display:flex}.subject-hub-page .subject-paper-list-loading{padding:0 26px}.subject-hub-page .subject-paper-list-empty{min-height:160px;color:var(--muted);font-size:var(--fs-14);text-align:center;place-items:center;display:grid}.subject-hub-page .subject-paper-rows{display:block}.subject-hub-page .subject-paper-row{margin:0;position:relative}.subject-hub-page .subject-paper-row>button{width:100%;min-height:56px;color:var(--text);box-shadow:none;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;padding:0 26px;transition:background-color .18s ease-in-out;display:flex;position:relative;overflow:hidden}.subject-hub-page .subject-paper-row>button:before{background:var(--subject-primary);content:"";opacity:0;width:2px;transition:opacity .18s ease-in-out,transform .18s ease-in-out;position:absolute;top:0;bottom:0;left:0;transform:scaleY(.55)}.subject-hub-page .subject-paper-row>button:after{content:"";background:#dee2ea80;height:1px;position:absolute;bottom:0;left:0;right:0}.subject-hub-page .subject-paper-row:last-child>button:after{display:none}.subject-hub-page .subject-paper-row>button:hover{background:#f5f8ff}.subject-hub-page .subject-paper-row>button:hover:before,.subject-hub-page .subject-paper-row>button:focus-visible:before{opacity:1;transform:scaleY(1)}.subject-hub-page .subject-paper-row>button:focus-visible{z-index:1;outline-offset:-2px;outline:2px solid #3c7cfc8c}.subject-hub-page .subject-paper-row>button:disabled{opacity:.55;cursor:wait}.subject-hub-page .subject-paper-badge{width:18px;height:18px;color:var(--muted);background:0 0;flex:0 0 18px;place-items:center;display:grid}.subject-hub-page .subject-paper-badge svg{width:15px;height:15px;font-size:var(--fs-16)}.subject-hub-page .subject-paper-copy{flex:auto;min-width:0}.subject-hub-page .subject-paper-copy b{color:var(--text);font-size:var(--fs-14);text-overflow:ellipsis;white-space:nowrap;font-weight:400;line-height:1.5;display:block;overflow:hidden}.subject-hub-page .subject-paper-meta{color:var(--muted);font-size:var(--fs-12);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:400;line-height:1.5}.subject-hub-page .subject-paper-pill{color:var(--muted);font-size:var(--fs-12);white-space:nowrap;background:#f2f2f5;border-radius:999px;padding:3px 10px;font-weight:400;line-height:1.5}.subject-hub-page .subject-paper-arrow{width:16px;height:16px;color:var(--weak);flex:0 0 16px;place-items:center;transition:color .18s ease-in-out,transform .18s ease-in-out;display:grid}.subject-hub-page .subject-paper-arrow svg{width:16px;height:16px;font-size:var(--fs-16)}.subject-hub-page .subject-paper-row>button:hover .subject-paper-arrow,.subject-hub-page .subject-paper-row>button:focus-visible .subject-paper-arrow{color:var(--subject-primary);transform:translate(2px)}.subject-hub-page .subject-paper-pagination{border-top:1px solid #dee2ea80;justify-content:center;align-items:center;gap:12px;min-height:52px;display:flex}.subject-hub-page .subject-paper-pagination .MuiButton-root{min-height:44px;color:var(--muted);font-size:var(--fs-14);font-weight:600}.subject-hub-page .subject-paper-pagination .MuiButton-root:hover{color:var(--subject-primary)}.subject-hub-page .subject-paper-pagination .MuiButton-root.Mui-disabled{color:var(--weak)}.subject-hub-page .subject-paper-pagination>span{color:var(--muted);font-size:var(--fs-14);font-variant-numeric:tabular-nums;font-weight:600}.subject-hub-page .subject-hub-panel:has(.subject-hub-list--knowledge-tree) .subject-hub-panel-header span{display:none}.subject-hub-page .subject-hub-panel:has(.subject-hub-list--knowledge-tree){position:relative}.subject-hub-page .subject-hub-list-summary{z-index:2;color:var(--weak);font-size:var(--fs-12);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:400;line-height:1.5;display:block;position:absolute;top:15px;left:98px}.subject-hub-page .subject-hub-list{background:var(--surface);border:0;border-radius:0;display:block;overflow:visible}.subject-hub-page .subject-hub-list-group{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0}.subject-hub-page .subject-hub-list-row{width:100%;height:48px;min-height:48px;color:var(--text);box-shadow:none;text-align:left;box-sizing:border-box;font:inherit;background:0 0;border:0;border-radius:0;grid-template-rows:minmax(0,1fr);grid-template-columns:10px 8px minmax(0,1fr) 84px;grid-auto-rows:minmax(0,1fr);align-items:center;gap:0;padding:0 26px;text-decoration:none;transition:color .2s ease-in-out;display:grid;position:relative;overflow:visible;transform:none}.subject-hub-page .subject-hub-list-row--leaf{height:44px;min-height:44px}.subject-hub-page .subject-hub-list--knowledge-tree .subject-hub-list-row--parent{height:48px;min-height:48px}.subject-hub-page .subject-hub-list--knowledge-tree .subject-hub-list-row--leaf{height:44px;min-height:44px}.subject-hub-page .subject-hub-list-row:before{z-index:0;content:"";opacity:0;background:#f4f7fc;border-radius:8px;transition:opacity .2s ease-in-out,background-color .2s ease-in-out,box-shadow .2s ease-in-out;position:absolute;inset:4px 26px}.subject-hub-page .subject-hub-list-row:after{content:"";background:#dee2ea80;height:1px;position:absolute;bottom:0;left:26px;right:26px}.subject-hub-page .subject-hub-list>:last-child>.subject-hub-list-row:after,.subject-hub-page .subject-hub-list>.subject-hub-list-row:last-child:after,.subject-hub-page .subject-hub-list>button:last-child:after{display:none}.subject-hub-page button.subject-hub-list-row,.subject-hub-page a.subject-hub-list-row{cursor:pointer}.subject-hub-page .subject-hub-list-row:not(.is-disabled):hover{color:var(--text);box-shadow:none;background:0 0;border-color:#0000;transform:none}.subject-hub-page .subject-hub-list-row:not(.is-disabled):hover:before{opacity:1}.subject-hub-page .subject-hub-list-row>*{z-index:1;position:relative}.subject-hub-page .subject-hub-row-main{min-width:0;min-height:44px;color:inherit;text-align:left;font:inherit;background:0 0;border:0;grid-column:1/4;grid-template-columns:10px 8px minmax(0,1fr);align-items:center;padding:0;display:grid}.subject-hub-page button.subject-hub-row-main{cursor:pointer}.subject-hub-page .subject-hub-row-main>b{min-width:0;color:var(--text);font-size:var(--fs-14);text-overflow:ellipsis;white-space:nowrap;grid-column:3;font-weight:400;line-height:1.5;overflow:hidden}.subject-hub-page .subject-hub-list-row--parent .subject-hub-row-main>b{font-weight:600}.subject-hub-page .subject-hub-row-main[aria-expanded=true]>b{color:var(--text);font-weight:600}.subject-hub-page .subject-hub-list-row:focus-visible{z-index:1;outline:2px solid var(--subject-primary);outline-offset:-4px;position:relative}.subject-hub-page .subject-hub-list--knowledge-tree .subject-hub-list-row[aria-current=page]:before,.subject-hub-page .subject-hub-list--knowledge-tree .subject-hub-list-row[aria-selected=true]:before{box-shadow:inset 2px 0 0 var(--subject-primary);opacity:1;background:#e7efff}.subject-hub-page .subject-hub-list--knowledge-tree .subject-hub-list-row[aria-current=page]>b,.subject-hub-page .subject-hub-list--knowledge-tree .subject-hub-list-row[aria-selected=true]>b{color:var(--subject-primary);font-weight:600}.subject-hub-page .subject-hub-list-row>b,.subject-hub-page .subject-hub-list-row>strong{min-width:0;color:var(--text);font-size:var(--fs-14);text-overflow:ellipsis;white-space:nowrap;grid-column:3;margin:0;font-weight:400;line-height:1.5;overflow:hidden}.subject-hub-page .subject-hub-list-row--parent>b{font-weight:600}.subject-hub-page .subject-hub-list-row--parent[aria-expanded=true]>b{color:var(--text);font-weight:600}.subject-hub-page .subject-hub-list--knowledge-tree .subject-hub-list-row--parent[aria-expanded=true]{box-shadow:none}.subject-hub-page .subject-hub-list-tail{white-space:nowrap;grid-column:4;justify-content:flex-end;align-items:center;width:84px;display:flex}.subject-hub-page .subject-hub-list-tail>small{width:100%;color:var(--weak);font-size:var(--fs-12);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:400;line-height:1.5}.subject-hub-page .subject-hub-list-row:has(.subject-hub-list-action){grid-template-columns:10px 8px minmax(0,1fr) 154px}.subject-hub-page .subject-hub-list-row:has(.subject-hub-list-action) .subject-hub-list-tail{gap:12px;width:154px}.subject-hub-page .subject-hub-list-row:has(.subject-hub-list-action) .subject-hub-list-tail>small{flex:1;width:auto}.subject-hub-page .subject-hub-list-action{min-width:44px;min-height:44px;color:var(--subject-primary);background:var(--surface);font-size:var(--fs-12);border:1px solid #c9d9ff;border-radius:6px;justify-content:center;align-items:center;padding:0 10px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.subject-hub-page .subject-hub-list-action:hover{border-color:var(--subject-primary);background:#f7faff}.subject-hub-page .subject-hub-disclosure{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:8px solid var(--subject-primary);transform-origin:3px 4px;grid-column:1;width:0;height:0;transition:transform .2s ease-in-out;transform:rotate(0)}.subject-hub-page .subject-hub-list-row[aria-expanded=true]>.subject-hub-disclosure,.subject-hub-page .subject-hub-row-main[aria-expanded=true]>.subject-hub-disclosure{transform:rotate(90deg)}.subject-hub-page .subject-hub-marker-space{grid-column:1;place-items:center;width:10px;height:10px;display:grid}.subject-hub-page .subject-hub-marker-space:before{content:"";background:#c3d6ff;border-radius:50%;width:4px;height:4px}.subject-hub-page .subject-hub-list-row.is-disabled{color:var(--weak);cursor:default}.subject-hub-page .xingce-page-point-modules,.subject-hub-page .xingce-page-point-module,.subject-hub-page .xingce-page-point-grid{gap:0}.subject-hub-page .xingce-page-point-grid{grid-template-columns:1fr}.subject-hub-page .subject-hub-list-branch{background:0 0;border:0;min-width:0;margin:0 0 0 26px;padding:0 0 8px;position:relative}.subject-hub-page .subject-hub-list-branch:before{z-index:0;content:"";background:#e6eaf2;width:1px;position:absolute;top:0;bottom:8px;left:29px}.subject-hub-page .subject-hub-list-row--child{padding-left:26px}.subject-hub-page .xingce-page-point-card-group{box-shadow:none;border:0;border-radius:0}.subject-hub-page .taxonomy-point{border:0}.subject-hub-page .subject-hub-list-row--child{background:0 0}.subject-hub-page .subject-hub-list-row--child:after{display:none}@media (width<=1020px){main.student-page.subject-hub-page{width:min(var(--student-content),calc(100% - 24px))}}@media (width<=1199px){.subject-hub-actions{grid-template-columns:repeat(2,minmax(0,360px))}.subject-hub-actions[data-action-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.subject-hub-workspace{grid-template-columns:1fr;align-items:start}.subject-hub-rail{order:1;align-self:start;width:100%;height:auto;display:block;position:static;top:auto}.subject-hub-rail-card{min-height:0}.subject-hub-history-list>a{min-height:64px;padding:10px 26px}.subject-hub-history-list small{margin-top:4px}}@media (width<=819px){.subject-hub-actions,.subject-hub-actions[data-action-count="2"],.subject-hub-actions[data-action-count="3"]{grid-template-columns:minmax(0,1fr)}}@media (width<=620px){.subject-hub-page{padding-top:16px;padding-bottom:24px}.subject-hub-actions{grid-template-columns:minmax(0,360px);gap:12px}.subject-hub-action{height:104px;padding:16px}.subject-hub-action>i{bottom:12px;right:16px}.subject-hub-secondary{grid-template-columns:24px minmax(0,1fr) 24px}.subject-hub-secondary b,.subject-hub-secondary small{display:block}.subject-hub-secondary small{margin:8px 0 0}.subject-hub-panel-header{padding:0 26px}.subject-hub-panel-content{padding:26px}.subject-hub-page .subject-hub-list-row{padding:0 26px}.subject-hub-page .subject-paper-meta{display:none}}@media (prefers-reduced-motion:reduce){.subject-hub-page *,.subject-hub-page :before,.subject-hub-page :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.subject-hub-action:hover,.subject-hub-action:active,.subject-hub-secondary:active{transform:none}}.route-loading,.route-load-error{width:min(1120px,100% - 32px);min-height:48vh;color:var(--text);margin:0 auto;padding:48px 0}.route-loading>p{color:var(--muted);text-align:center;margin:18px 0}.route-loading__skeleton{grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-top:36px;display:grid}.route-loading__skeleton i{background:linear-gradient(100deg,#f5f6f8 20%,var(--surface) 40%,#f5f6f8 60%);background-size:220% 100%;border:1px solid #e5e7eb;border-radius:18px;height:180px;animation:1.2s ease-in-out infinite route-skeleton;display:block}.route-load-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:560px;min-height:55vh;display:flex}.route-load-error b{font-size:var(--fs-24)}.route-load-error p{color:var(--muted);margin:10px 0 20px}.route-load-error button{background:var(--blue);min-height:44px;color:var(--surface);font:inherit;cursor:pointer;border:0;border-radius:10px;padding:0 20px;font-weight:600}@keyframes route-skeleton{to{background-position:-220% 0}}@media (width<=720px){.route-loading__skeleton{grid-template-columns:1fr}.route-loading__skeleton i{height:120px}.route-loading__skeleton i:nth-child(n+3){display:none}}.student-hero,.learning-hero,.feature-card,.focus-card,.paper-grid article,.home-subjects>a,.learning-note,.mastery-group,.report-score-card,.report-question,.report-answer-card{border:1px solid var(--hairline);box-shadow:var(--shadow-1)}.portal-home .portal-ai-chat-message__actions{flex-wrap:wrap;row-gap:4px}.portal-home .portal-ai-chat-markdown{min-width:0}.portal-home .portal-ai-chat-markdown code{overflow-wrap:anywhere}@media (width<=620px){.portal-home .portal-ai-chat-message__receipt{white-space:normal;flex-basis:100%;margin-left:0}}.subject-hub-page .subject-paper-authoritative-filters{border-bottom:0}.subject-hub-page .subject-paper-region-filter,.subject-hub-page .shenlun-secondary-filter.subject-paper-region-filter{border:1px solid var(--hairline);width:fit-content;max-width:calc(100% - 52px);box-shadow:none;background:#76768014;border-radius:13px;gap:3px;margin:14px 26px;padding:4px}.subject-hub-page .subject-paper-region-filter button{min-height:30px;color:var(--muted);font-size:var(--fs-14);cursor:pointer;transition:color var(--dur-2) var(--ease-std), background-color var(--dur-2) var(--ease-std), box-shadow var(--dur-2) var(--ease-std);background:0 0;border:0;border-radius:9px;padding:3px 14px;font-weight:500;line-height:1.5}.subject-hub-page .subject-paper-region-filter button:hover{color:var(--text);background:0 0}.subject-hub-page .subject-paper-region-filter button.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-1);font-weight:600}@media (width<=620px){.subject-hub-page .subject-paper-region-filter,.subject-hub-page .shenlun-secondary-filter.subject-paper-region-filter{max-width:calc(100% - 32px);margin:12px 16px}}@media (prefers-reduced-motion:reduce){.subject-hub-page .subject-paper-region-filter button{transition:none}}.mock-paper-cards{flex-direction:column;display:flex}.mock-paper-card{border-bottom:1px solid #dee2ea80;align-items:center;gap:10px;padding-right:26px;display:flex}.mock-paper-card:last-child{border-bottom:0}.mock-paper-main{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:auto;align-items:center;gap:12px;padding:13px 0 13px 26px;transition:background-color .18s ease-in-out;display:flex}.mock-paper-main:hover{background:#f5f8ff}.mock-paper-main:focus-visible{outline-offset:-2px;outline:2px solid #3c7cfc8c}.mock-paper-copy{flex:auto;min-width:0}.mock-paper-serial{width:44px;height:44px;color:var(--subject-primary,#2f6fed);font-variant-numeric:tabular-nums;letter-spacing:.5px;background:linear-gradient(135deg,#eaf1ff,#d9e7ff);border-radius:12px;flex:0 0 44px;place-items:center;font-size:16px;font-weight:700;display:grid}.mock-paper-serial.is-mine{color:#b57908;background:linear-gradient(135deg,#fff3d6,#ffe6a8)}.mock-paper-serial svg{width:18px;height:18px;color:var(--muted)}.mock-paper-copy b{font-size:var(--fs-14);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.5;display:block;overflow:hidden}.mock-paper-copy small{color:var(--muted);font-size:var(--fs-12);font-variant-numeric:tabular-nums;line-height:1.5;display:block}.mock-paper-action{color:var(--subject-primary);font-size:var(--fs-13);flex:none;align-items:center;gap:2px;font-weight:500;display:inline-flex}.mock-paper-action svg{width:16px;height:16px}.mock-paper-rank{max-width:340px;color:var(--text);font-size:var(--fs-12);white-space:nowrap;background:#3c7cfc0f;border-radius:999px;flex:none;align-items:center;gap:8px;padding:6px 12px;text-decoration:none;transition:background-color .18s ease-in-out;display:inline-flex}.mock-paper-rank:hover{background:#3c7cfc21}.mock-paper-rank:focus-visible{outline-offset:1px;outline:2px solid #3c7cfc8c}.mock-paper-rank>svg{color:#e8a33d;flex:0 0 15px;width:15px;height:15px}.mock-paper-rank-body{align-items:center;gap:10px;min-width:0;display:inline-flex;overflow:hidden}.mock-paper-top-item{text-overflow:ellipsis;align-items:center;gap:4px;display:inline-flex;overflow:hidden}.mock-paper-top-item i{font-style:normal}.mock-paper-top-item b{font-variant-numeric:tabular-nums}.mock-paper-rank-count{color:var(--muted);flex:none}.mock-paper-rank-me{color:var(--subject-primary);flex:none;font-weight:500}.mock-paper-rank.is-empty{color:var(--muted);background:0 0}.mock-paper-rank.is-empty:hover{background:#3c7cfc0f}.mock-paper-rank.is-empty>svg{color:#c8cfdb}.mock-paper-rank-empty{text-overflow:ellipsis;overflow:hidden}.mock-paper-rank-chevron{width:14px;height:14px;color:var(--muted);flex:none}@media (width<=900px){.mock-paper-rank-count{display:none}.mock-paper-rank{max-width:280px}}.xingce-ranking-stats{flex-wrap:wrap;gap:12px 32px;display:flex}.xingce-ranking-stats>div{flex-direction:column;display:flex}.xingce-ranking-stats dt{font-size:var(--fs-20,20px);font-variant-numeric:tabular-nums;font-weight:600}.xingce-ranking-stats dd{color:var(--muted);font-size:var(--fs-12);margin:0}.ranking-tabs{background:#3c7cfc12;border-radius:999px;gap:4px;margin:14px 0;padding:4px;display:inline-flex}.ranking-tabs button{color:var(--muted);font-size:var(--fs-13);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 18px;transition:background-color .16s ease-in-out,color .16s ease-in-out}.ranking-tabs button:hover{color:var(--subject-primary)}.ranking-tabs button.is-active{color:var(--subject-primary);background:#fff;font-weight:600;box-shadow:0 1px 4px #1e3c7824}.ranking-tabs button:focus-visible{outline-offset:1px;outline:2px solid #3c7cfc8c}.ranking-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ranking-dim-picker{color:var(--muted);font-size:var(--fs-13);align-items:center;gap:8px;display:inline-flex}.ranking-dim-picker select{color:var(--text);font-size:var(--fs-13);background:#fff;border:1px solid #c6d0e0e6;border-radius:8px;max-width:260px;padding:6px 10px}.ranking-dim-note{color:var(--muted);font-size:var(--fs-12);margin:10px 2px 0}.ranking-dim-empty{padding:18px 4px}.xingce-ranking-mine dt{color:var(--subject-primary)}.report-ranking{background:#fff;border:1px solid #dee2eacc;border-radius:12px;margin:16px 0;padding:16px 20px}.report-ranking>header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.report-ranking>header h2{font-size:var(--fs-16);margin:0}.report-ranking>header a{color:var(--subject-primary);font-size:var(--fs-13);text-decoration:none}.report-ranking-loading{color:var(--muted);font-size:var(--fs-13);margin:0}.report-ranking-my{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.report-ranking-my b{font-size:var(--fs-20,20px);color:var(--subject-primary)}.report-ranking-my span{color:var(--muted);font-size:var(--fs-13)}.report-ranking-top{flex-wrap:wrap;gap:6px 18px;margin:0 0 8px;padding:0;list-style:none;display:flex}.report-ranking-top li{font-size:var(--fs-13);align-items:center;gap:5px;display:inline-flex}.report-ranking-top i{font-style:normal}.report-ranking-top b{font-variant-numeric:tabular-nums}.report-ranking-neighbors{border-top:1px dashed #dee2eae6;flex-direction:column;gap:4px;padding-top:8px;display:flex}.report-ranking-neighbors>div{font-size:var(--fs-13);color:var(--muted);gap:12px;display:flex}.report-ranking-neighbors>div.me{color:var(--text);font-weight:600}.report-ranking-neighbors b{font-variant-numeric:tabular-nums;margin-left:auto}.auth-shell{background:radial-gradient(1100px 520px at 88% -8%, #0071e317, transparent 62%), radial-gradient(900px 480px at -12% 108%, #14264a14, transparent 58%), var(--page)}.unified-login{border:0;border-radius:22px;position:relative;overflow:hidden;box-shadow:0 18px 48px #142a501f}.unified-login:before{content:"";background:linear-gradient(90deg,#0071e3,#66a9f0);height:4px;position:absolute;top:0;left:0;right:0}.registration-eyebrow{background:var(--blue-soft);letter-spacing:.14em;border-radius:999px;align-items:center;width:fit-content;padding:5px 12px;display:inline-flex}.registration-login-link{align-items:center;gap:5px;margin-top:24px;display:inline-flex}.registration-login-link:after{content:"→";transition:transform var(--dur-2) var(--ease-std)}.registration-login-link:hover:after{transform:translate(3px)}.registration-steps{gap:6px;margin-top:30px;display:flex}.registration-steps li{font-size:var(--fs-12);flex-direction:column;flex:1;align-items:flex-start;gap:9px;display:flex;position:relative}.registration-steps li:before{z-index:1;background:var(--surface);width:27px;height:27px;font-size:var(--fs-12);transition:background-color var(--dur-2) var(--ease-std), border-color var(--dur-2) var(--ease-std), box-shadow var(--dur-2) var(--ease-std);border-width:1.5px;font-weight:700;position:relative}.registration-steps li:after{content:"";background:var(--line-soft);border-radius:2px;height:2px;position:absolute;top:13px;left:32px;right:1px}.registration-steps li:last-child:after{display:none}.registration-steps li.active:before{border-color:var(--blue);background:var(--blue);color:var(--surface);box-shadow:0 0 0 4px #0071e321}.registration-steps li.done{color:var(--green);font-weight:600}.registration-steps li.done:before{content:"✓";border-color:var(--green);background:var(--green);color:var(--surface)}.registration-steps li.done:after{background:#bfe3cc}.password-form label,.unified-login label{color:#3a3a3c}.password-form input,.unified-login input{background:var(--surface);height:48px;transition:border-color var(--dur-1) var(--ease-std), box-shadow var(--dur-1) var(--ease-std);border-radius:12px}.password-form input:hover,.unified-login input:hover{border-color:#b9b9bf}.password-form input:focus,.unified-login input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0071e324}.password-form input:focus-visible,.unified-login input:focus-visible{outline:none}.mobile-input input:focus,.password-input input:focus{box-shadow:none}.unified-login select,.password-form select{border:1px solid var(--line);appearance:none;background-color:var(--surface);width:100%;height:48px;color:var(--text);font-size:var(--fs-14);cursor:pointer;transition:border-color var(--dur-1) var(--ease-std), box-shadow var(--dur-1) var(--ease-std);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2386868B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;border-radius:12px;padding:0 42px 0 14px}.unified-login select:hover,.password-form select:hover{border-color:#b9b9bf}.unified-login select:focus,.password-form select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #0071e324}:is(.unified-login select:has(>option[value=""]:checked),.password-form select:has(>option[value=""]:checked)){color:var(--tertiary)}.mobile-input{background:var(--surface);border-radius:12px}.mobile-input>span{border-right:1px solid var(--line-soft);color:var(--text);padding:0 12px;font-weight:600}.password-input{background:var(--surface);border-radius:12px}.verified-mobile{border:1px solid #cdedd8;align-items:center;gap:9px;display:flex}.verified-mobile:before{content:"✓";background:var(--green);width:20px;height:20px;color:var(--surface);font-size:var(--fs-12);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.unified-login .form-error,.password-form .form-error{background:#fff3f2;border:1px solid #f5d2cf;border-radius:10px;margin:4px 0 0;padding:10px 13px;line-height:1.55}.form-success{background:#edf8f2;border:1px solid #cdedd8;border-radius:10px;padding:10px 13px;line-height:1.55}.unified-login .primary-action,.profile-page .primary-action{letter-spacing:.02em;transition:transform var(--dur-2) var(--ease-std), box-shadow var(--dur-2) var(--ease-std), filter var(--dur-2) var(--ease-std);background:linear-gradient(#2b8cff 0%,#0071e3 100%);border-radius:12px;box-shadow:0 6px 16px #0071e342}.unified-login .primary-action:hover:not(:disabled),.profile-page .primary-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #0071e352}.unified-login .primary-action:active:not(:disabled),.profile-page .primary-action:active:not(:disabled){filter:brightness(.96);transform:translateY(0)}.registration-resend{color:var(--blue);background:var(--surface);transition:background-color var(--dur-2) var(--ease-std), border-color var(--dur-2) var(--ease-std);border-color:#cfe2f9;border-radius:12px;font-weight:600}.registration-resend:hover:not(:disabled){border-color:var(--blue);background:var(--blue-soft)}.profile-hero{background:var(--navy-grad);color:var(--surface);box-shadow:var(--shadow-2);border-radius:22px;align-items:center;gap:20px;margin:0 0 16px;padding:28px 30px;display:flex;position:relative;overflow:hidden}.profile-hero:before,.profile-hero:after{content:"";background:#ffffff0f;border-radius:50%;position:absolute}.profile-hero:before{width:260px;height:260px;top:-120px;right:-70px}.profile-hero:after{width:170px;height:170px;bottom:-110px;right:130px}.profile-hero>*{z-index:1;position:relative}.profile-avatar{background:linear-gradient(160deg,#ffffff3d,#ffffff14);border:1px solid #ffffff61;border-radius:50%;flex:none;place-items:center;width:66px;height:66px;font-size:27px;font-weight:700;display:grid}.profile-hero-copy h1{color:var(--surface);font-size:var(--fs-24);letter-spacing:0;margin:0}.profile-hero-copy p{color:#ffffffb8;font-size:var(--fs-13);margin:6px 0 0}.profile-hero-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.profile-hero-tags span{font-size:var(--fs-12);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;display:inline-flex}.profile-hero-tags svg{font-size:15px}.profile-hero .profile-logout{color:var(--surface);text-transform:none;border-color:#ffffff80;margin-left:auto;font-weight:600}.profile-hero .profile-logout:hover{border-color:var(--surface);background:#ffffff1f}.profile-hero-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.profile-hero-actions .profile-logout{min-height:44px;margin-left:0}.profile-rights-badge{min-height:44px;color:var(--surface);font-size:var(--fs-12);white-space:nowrap;transition:background-color var(--dur-2) var(--ease-std), border-color var(--dur-2) var(--ease-std);background:#ffffff1f;border:1px solid #ffffff42;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-weight:700;display:inline-flex}.profile-rights-badge:hover{color:var(--surface);background:#fff3;border-color:#fff9}.profile-rights-badge svg{font-size:18px}.profile-rights-strip{margin-bottom:16px}.profile-rights-strip__heading{justify-content:space-between;align-items:end;gap:16px;margin:0 2px 10px;display:flex}.profile-rights-strip__heading span{color:var(--blue);font-size:var(--fs-12);letter-spacing:.05em;font-weight:700}.profile-rights-strip__heading h2{font-size:var(--fs-18);margin:3px 0 0}.profile-rights-strip__heading p{color:var(--muted);font-size:var(--fs-13);margin:0}.profile-rights-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:12px;display:grid}.profile-rights-card{min-width:0;min-height:250px;box-shadow:var(--shadow-1);border-radius:20px;flex-direction:column;padding:22px;display:flex;position:relative}.profile-rights-card:first-child:before{background:var(--blue);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;top:22px;bottom:22px;left:0}.profile-rights-card--active:first-child:before{background:var(--green)}.profile-rights-card--expiring_soon:first-child:before{background:var(--amber)}.profile-rights-card--load_failed:first-child:before,.profile-rights-card--revoked_or_disabled:first-child:before{background:var(--red)}.profile-rights-card__top{align-items:center;gap:12px;display:flex}.profile-rights-card__top>div{min-width:0}.profile-rights-card__top>div>span{color:var(--tertiary);font-size:var(--fs-12);font-weight:600}.profile-rights-card__top h3{font-size:var(--fs-20);margin:3px 0 0}.profile-rights-card__icon{background:var(--blue-soft);width:44px;height:44px;color:var(--blue);border-radius:13px;flex:none;place-items:center;display:grid}.profile-rights-card__icon svg{font-size:22px}.profile-credit-card .profile-rights-card__icon{color:var(--amber);background:#fdf0e5}.profile-rights-card__description{color:var(--muted);font-size:var(--fs-13);margin:14px 0 0;line-height:1.65}.profile-rights-meta,.profile-credit-balance{border:1px solid var(--line-soft);background:var(--surface-soft);border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 0;display:grid}.profile-rights-meta>div,.profile-credit-balance>div{min-width:0;padding:12px 14px}.profile-rights-meta>div+div,.profile-credit-balance>div+div{border-left:1px solid var(--line-soft)}.profile-rights-meta dt,.profile-credit-balance dt{color:var(--tertiary);font-size:var(--fs-12);align-items:center;gap:5px;display:flex}.profile-rights-meta dt svg{font-size:15px}.profile-rights-meta dd{overflow-wrap:anywhere;font-size:var(--fs-13);margin:6px 0 0;font-weight:600}.profile-credit-balance dd{font-size:var(--fs-24);font-variant-numeric:tabular-nums;margin:5px 0 0;font-weight:700}.profile-rights-card__error{color:var(--red);font-size:var(--fs-12);background:#fff3f2;border:1px solid #f5d2cf;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:11px 13px;display:flex}.profile-rights-card__error .text-action{flex:none;min-height:44px}.profile-rights-card__actions{align-items:center;gap:10px;margin-top:auto;padding-top:18px;display:flex}.profile-rights-card__actions .primary-action,.profile-rights-card__actions .secondary-action{min-height:44px;font-size:var(--fs-13);justify-content:center;align-items:center;margin:0;padding:0 15px;display:inline-flex}.profile-rights-card__text-link{min-height:44px;color:var(--blue);font-size:var(--fs-13);align-items:center;padding:0 8px;font-weight:700;display:inline-flex}.profile-links{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;overflow:visible}.profile-links a{border:1px solid var(--line-soft);background:var(--surface);min-height:74px;box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-std), box-shadow var(--dur-2) var(--ease-std), border-color var(--dur-2) var(--ease-std);border-radius:16px;justify-content:flex-start;gap:12px;padding:0 16px}.profile-links a:hover{background:var(--surface);color:var(--text);box-shadow:var(--shadow-2);border-color:#cfe2f9;transform:translateY(-2px)}.profile-links a>svg:first-child{box-sizing:border-box;background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:12px;flex:none;padding:9px;font-size:20px}.profile-links .profile-link-label{color:var(--text);font-size:var(--fs-14);flex-direction:column;gap:2px;display:flex}.profile-link-label b{font-size:var(--fs-14)}.profile-link-label small{color:var(--tertiary);font-size:var(--fs-12);font-weight:400}.profile-links a .profile-link-chevron{color:var(--tertiary);transition:transform var(--dur-2) var(--ease-std);margin-left:auto}.profile-links a:hover .profile-link-chevron{color:var(--blue);transform:translate(2px)}.profile-unified-grid{gap:16px}.profile-unified-grid .plain-panel{box-shadow:var(--shadow-1);border-radius:20px;padding:24px}.profile-unified-grid h2{font-size:var(--fs-18);align-items:center;gap:8px;display:flex}.profile-unified-grid h2 svg{color:var(--blue);font-size:21px}.profile-stats-panel,.profile-unified-grid .session-device-panel,.profile-unified-grid>.password-form:last-child{grid-column:1/-1}.learning-stats-panel{margin-bottom:16px;padding:22px}.learning-stats-panel h2{font-size:var(--fs-18);align-items:center;gap:8px;margin:0 0 18px;display:flex}.learning-stats-panel h2 svg{color:var(--blue);font-size:21px}.profile-unified-grid>.profile-file-form{grid-column:auto;max-width:none}.profile-unified-grid>.session-device-panel,.profile-unified-grid>.password-form:last-child{grid-column:auto}.profile-info{flex-direction:column;display:flex}.profile-info p{flex:1;align-items:center;display:flex}.profile-stats{gap:14px}.profile-stats .stat{border:1px solid var(--line-soft);background:var(--surface-soft);text-align:left;border-radius:14px;align-items:center;gap:14px;padding:18px;display:flex}.profile-stats .stat-icon{border-radius:13px;flex:none;place-items:center;width:44px;height:44px;margin-top:0;font-size:22px;display:grid}.profile-stats .stat-copy{flex-direction:column;gap:3px;margin-top:0;display:flex}.profile-stats .stat-copy strong{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.1}.profile-stats .stat-copy span{margin-top:0}.stat-blue .stat-icon{background:var(--blue-soft);color:var(--blue)}.stat-green .stat-icon{color:var(--green);background:#e9f7ee}.stat-violet .stat-icon{color:#5e5ce6;background:#efeffc}.stat-amber .stat-icon{color:#b25000;background:#fdf0e5}.profile-info p{padding:14px 0}.profile-info b{font-weight:600}.profile-unified-grid>.password-form:last-child input{max-width:460px}.profile-unified-grid>.password-form:last-child .primary-action{width:auto;min-width:200px}@media (width<=860px){.profile-hero{flex-wrap:wrap;padding:22px}.profile-hero-actions{width:100%;margin-left:0}.profile-hero-actions .profile-logout{justify-content:center;width:auto}.profile-rights-grid{grid-template-columns:1fr}.profile-links a{min-height:64px}.profile-stats{gap:10px}.profile-unified-grid>.password-form:last-child input{max-width:none}.profile-unified-grid>.password-form:last-child .primary-action{width:100%}.registration-steps li{font-size:11px}}@media (width<=640px){.profile-hero-actions{grid-template-columns:1fr;display:grid}.profile-rights-badge,.profile-hero-actions .profile-logout{justify-content:center;width:100%}.profile-rights-strip__heading{flex-direction:column;align-items:flex-start;gap:5px}.profile-rights-card{min-height:0;padding:20px 18px}.profile-rights-card:first-child:before{top:20px;bottom:20px}.profile-rights-card__actions{flex-direction:column;align-items:stretch}.profile-rights-card__actions .primary-action,.profile-rights-card__actions .secondary-action,.profile-rights-card__text-link{justify-content:center;width:100%}.profile-rights-card__error{flex-direction:column;align-items:flex-start}.profile-links{grid-template-columns:1fr}}.purchase-page,.pay-qr-page,.order-list-page{max-width:980px}.purchase-page__header,.pay-page__header{background:linear-gradient(135deg,#fff,#edf4ff);border-radius:22px;justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;padding:30px;display:flex}.purchase-page__header>div>span,.pay-page__header>div>span,.sku-card__type,.order-list>li>div>span{color:var(--blue);font-size:13px;font-weight:700}.purchase-page__header h1,.pay-page__header h1{letter-spacing:-.04em;margin:6px 0;font-size:clamp(30px,5vw,46px)}.purchase-page__header p,.pay-page__header p{max-width:620px;color:var(--muted);margin:0;line-height:1.7}.purchase-page__orders,.pay-page__header>a{white-space:nowrap}.sku-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.sku-card{border:1px solid var(--line-soft);background:#fff;border-radius:20px;flex-direction:column;min-height:260px;padding:28px;display:flex;box-shadow:0 10px 28px #142a500f}.sku-card h2{letter-spacing:-.02em;margin:9px 0 8px;font-size:24px}.sku-card>p{color:var(--muted);margin:0;line-height:1.65}.sku-card__checkout{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:26px;display:flex}.sku-card__checkout strong{letter-spacing:-.03em;font-size:28px}.purchase-assurance{border-left:3px solid var(--blue);background:var(--surface-soft);border-radius:0 12px 12px 0;gap:14px;margin-top:18px;padding:18px 20px;display:flex}.purchase-assurance span{color:var(--muted);line-height:1.6}.payment-message,.payment-loading,.payment-empty{background:var(--surface-soft);border-radius:14px;margin:0 0 18px;padding:16px 18px;line-height:1.6}.payment-message--error,.payment-message--weak{color:#9b2c24;background:#fff3f2}.payment-message--success{color:#176b2b;background:#edf8ef}.payment-empty{text-align:center;padding:32px}.payment-empty h2{margin:0 0 8px}.payment-empty p{color:var(--muted);margin:0 0 20px}.pay-console{border:1px solid var(--line-soft);background:#fff;border-radius:22px;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);display:grid;overflow:hidden;box-shadow:0 12px 34px #142a5012}.pay-console__visual{background:var(--surface-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:410px;padding:38px;display:flex}.pay-console__visual>span{max-width:280px;color:var(--muted);font-size:13px;line-height:1.6}.pay-qr{border:1px solid var(--line-soft);background:#fff;border-radius:18px;padding:17px;box-shadow:0 8px 20px #142a5012}.pay-state-mark{width:132px;height:132px;color:var(--blue);background:#fff;border:1px solid #c9d7f4;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 12px #0071e30f}.pay-state-mark span{font-size:48px;font-weight:750}.pay-console__detail{flex-direction:column;justify-content:center;padding:38px;display:flex}.pay-console__detail dl{gap:0;margin:22px 0;display:grid}.pay-console__detail dl>div{border-bottom:1px solid var(--line-soft);grid-template-columns:100px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.pay-console__detail dt{color:var(--muted)}.pay-console__detail dd{overflow-wrap:anywhere;margin:0;font-weight:700}.order-state-rail{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.order-state-rail i{background:var(--line-soft);border-radius:5px;height:5px}.order-state-rail i:first-child,.order-state-rail i.active{background:var(--blue)}.mock-pay-action{align-self:flex-start}.pay-code-missing{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.6}.order-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.order-list>li{border:1px solid var(--line-soft);background:#fff;border-radius:17px;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.order-list h2{margin:5px 0;font-size:20px}.order-list p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px}.order-list__summary{grid-template-columns:auto auto;place-items:center end;gap:7px 14px;display:grid}.order-list__summary strong{font-size:20px}.order-list__summary a{color:var(--blue);grid-column:1/-1;font-weight:700}.order-badge{color:#41506a;background:var(--surface-soft);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.order-badge--fulfilled{color:#176b2b;background:#edf8ef}.order-badge--expired,.order-badge--cancelled{color:#7c332b;background:#fff3f2}.rights-page__actions,.credit-account__actions{gap:10px;display:flex}.credit-account__actions{flex-direction:column}@media (width<=620px){.purchase-page,.pay-qr-page,.order-list-page{padding-bottom:112px}.purchase-page__header,.pay-page__header{flex-direction:column;align-items:stretch;padding:22px 18px}.sku-grid{grid-template-columns:1fr}.sku-card{min-height:230px;padding:22px 18px}.sku-card__checkout{flex-direction:column;align-items:stretch}.sku-card__checkout button{width:100%}.purchase-assurance{flex-direction:column;align-items:flex-start}.pay-console{grid-template-columns:1fr}.pay-console__visual{min-height:340px;padding:26px 18px}.pay-console__detail{padding:26px 18px}.pay-console__detail dl>div{grid-template-columns:82px minmax(0,1fr)}.mock-pay-action{width:100%}.order-list>li{flex-direction:column;align-items:stretch}.order-list__summary{justify-items:start;width:100%}.rights-page__actions{flex-direction:column;align-items:stretch}.credit-account__actions{grid-template-columns:1fr 1fr;display:grid}}
