:root{--ink:#18332c;--muted:#526a62;--line:#dce7e1;--paper:#f3f7f4;--white:#fff;--deep:#154b43;--teal:#17695f;--teal-soft:#e8f4ee;--gold:#d29d4a;--warn:#955b2a;--warn-bg:#fff3e5;--red:#a74444;--red-bg:#fff0ee;--shadow:0 10px 30px rgba(25,55,67,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--paper)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:1.8rem;letter-spacing:-.02em}h2{font-size:1.2rem}h3{font-size:1rem}p{line-height:1.7}.loading-screen{padding:15vh 2rem;text-align:center;color:var(--muted)}
.login-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,520px);background:#e9f0f1}.login-hero{padding:9vh 8vw;background:radial-gradient(circle at 20% 20%,#2f7280,transparent 43%),linear-gradient(145deg,#102b3b,#1d4b5b);color:#f5fbfb;display:flex;flex-direction:column;justify-content:space-between}.brand{font-weight:700;letter-spacing:.16em;font-size:1.3rem}.hero-title{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.35;max-width:650px;margin:0}.hero-copy{color:#c8dedd;max-width:540px;font-size:1.05rem}.hero-foot{font-size:.84rem;color:#9fc4c4}.login-panel{display:flex;align-items:center;justify-content:center;padding:3rem}.login-card{width:100%;max-width:380px}.eyebrow{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--teal);margin-bottom:.6rem}.login-card h1{margin-bottom:.5rem}.muted{color:var(--muted)}.subtle{font-size:.87rem;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:.43rem;margin-bottom:1rem}.field label{font-weight:600;font-size:.88rem}.field input,.field textarea,.field select,.mini-input{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.76rem .85rem;color:var(--ink);outline:none;width:100%}.field input:focus,.field textarea:focus,.field select:focus,.mini-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #d9f0ee}.field textarea{min-height:82px;resize:vertical}.field small{color:var(--muted)}.btn{border:1px solid transparent;background:var(--teal);color:#fff;border-radius:10px;padding:.7rem 1.05rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:.16s}.btn:hover{background:#12686b;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:#edf3f3}.btn.ghost{background:transparent;color:var(--teal)}.btn.danger{background:#fff;color:var(--red);border-color:#e8c8c5}.btn.small{font-size:.83rem;padding:.45rem .7rem}.btn.full{width:100%}.demo-users{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.3rem}.demo-users button{border:1px solid var(--line);border-radius:100px;background:#fff;color:var(--muted);padding:.42rem .65rem;font-size:.8rem}.demo-users button:hover{color:var(--teal);border-color:var(--teal)}
.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:var(--deep);color:#e8f1f1;padding:1.7rem 1.1rem;display:flex;flex-direction:column;gap:1.6rem;position:sticky;top:0;height:100vh}.sidebar .brand{padding:.25rem .8rem}.sidebar .brand span{display:block;font-size:.69rem;font-weight:400;letter-spacing:.03em;color:#aac7cd;margin-top:.18rem}.nav{display:flex;flex-direction:column;gap:.2rem}.nav button{border:0;background:transparent;color:#b8cbd1;text-align:left;padding:.72rem .8rem;border-radius:9px;font-weight:600}.nav button:hover,.nav button.active{background:#2b5261;color:#fff}.side-bottom{margin-top:auto;border-top:1px solid #345563;padding:.95rem .8rem 0}.side-bottom strong{display:block;font-size:.88rem}.side-bottom small{color:#b5cbd0}.main{min-width:0}.topbar{height:72px;background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.3rem,4vw,3.2rem)}.topbar .trail{color:var(--muted);font-size:.86rem}.top-actions{display:flex;align-items:center;gap:.8rem}.topbar .role{font-size:.78rem;color:var(--teal);background:var(--teal-soft);padding:.35rem .65rem;border-radius:100px;font-weight:700}.top-logout{border:0;background:none;color:var(--muted);font-size:.8rem}.top-logout:hover{color:var(--teal)}.content{max-width:1170px;margin:0 auto;padding:2.2rem clamp(1.3rem,4vw,3.2rem) 5rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}.page-head h1{margin-bottom:.3rem}.page-head p{color:var(--muted);margin:0}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.card{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:1.3rem 1.45rem;box-shadow:var(--shadow)}.card h2{margin-bottom:.8rem}.card h3{margin-bottom:.65rem}.card p:last-child{margin-bottom:0}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem}.card-head h2,.card-head h3{margin:0}.metric{font-size:2rem;font-weight:700;color:var(--deep);line-height:1.2}.metric-label{font-size:.83rem;color:var(--muted)}.stat-strip{display:flex;gap:1rem;flex-wrap:wrap}.stat{min-width:135px}.stat strong{display:block;font-size:1.2rem}.pill{display:inline-flex;align-items:center;border-radius:100px;padding:.3rem .6rem;font-size:.73rem;font-weight:700;background:#edf2f4;color:#526875;white-space:nowrap}.pill.good{background:var(--teal-soft);color:#126e70}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.error{background:var(--red-bg);color:var(--red)}.divider{height:1px;background:var(--line);margin:1.3rem 0}.list{display:flex;flex-direction:column;gap:.75rem}.list-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.82rem 0;border-bottom:1px solid #ecf0f0}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-row:first-child{padding-top:0}.list-row h3{margin:0 0 .18rem}.list-row p{margin:0;color:var(--muted);font-size:.86rem}.kicker{font-size:.76rem;color:var(--muted);font-weight:700;letter-spacing:.05em}.notice{border-left:3px solid var(--teal);background:#edf8f6;padding:.85rem 1rem;border-radius:0 9px 9px 0;color:#315962}.notice.warn{border-color:var(--gold);background:var(--warn-bg);color:var(--warn)}.notice.error{border-color:var(--red);background:var(--red-bg);color:var(--red)}.notice p{margin:0}.action-row{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.empty{text-align:center;padding:2.5rem 1.3rem;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:.35rem}.section-title{margin:1.6rem 0 .75rem}.tag-list{display:flex;gap:.4rem;flex-wrap:wrap}.tag{background:#eff4f4;color:#516873;font-size:.75rem;border-radius:6px;padding:.28rem .48rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.step{border:1px solid var(--line);border-radius:10px;padding:.95rem;background:#fbfcfc}.step strong{display:block;margin-bottom:.25rem}.step p{font-size:.82rem;color:var(--muted);margin:0}.file-list{display:flex;flex-wrap:wrap;gap:.5rem}.file-link{font-size:.82rem;padding:.45rem .65rem;border:1px solid var(--line);border-radius:8px;background:#fff}.review-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.8fr);gap:1rem}.review-layout .sticky{position:sticky;top:1rem;align-self:start}.editor-block{border:1px solid var(--line);background:#fbfcfc;border-radius:11px;padding:1rem;margin-bottom:.8rem}.editor-block .field:last-child{margin-bottom:0}.editor-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.editor-heading h3{margin:0}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.small-label{font-size:.8rem;color:var(--muted);font-weight:700}.chat-box{height:360px;overflow:auto;display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#f7f9f9;border-radius:10px;border:1px solid var(--line);margin-bottom:1rem}.bubble{max-width:85%;padding:.68rem .84rem;border-radius:11px;background:#fff;border:1px solid var(--line);line-height:1.6;white-space:pre-wrap}.bubble.mine{align-self:flex-end;background:#dff2f0;border-color:#c1e3df}.bubble small{display:block;color:var(--muted);font-size:.7rem;margin-top:.3rem}.checkin-item{border-left:3px solid #a9d7d4;padding:.45rem .8rem;margin:.55rem 0;background:#f6faf9}.form-section{max-width:760px}.timeline{border-left:2px solid #d8e3e4;margin-left:.4rem;padding-left:1.25rem}.timeline-item{position:relative;margin-bottom:1rem}.timeline-item:before{content:'';position:absolute;left:-1.6rem;top:.35rem;width:.62rem;height:.62rem;border-radius:50%;background:var(--teal)}.report-section{margin:1.1rem 0}.report-section h3{margin-bottom:.4rem}.issue{padding:.8rem 0;border-bottom:1px solid #edf1f1}.issue:last-child{border-bottom:0}.issue p{margin:.2rem 0}.toast{position:fixed;right:1.2rem;bottom:1.2rem;background:var(--deep);color:#fff;border-radius:10px;padding:.8rem 1.1rem;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;max-width:380px;z-index:10}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#9c4141}
@media(max-width:1000px){.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:span 12}.review-layout{grid-template-columns:1fr}.review-layout .sticky{position:static}}
@media(max-width:720px){.login-wrap{grid-template-columns:1fr}.login-hero{padding:2.3rem 1.5rem;min-height:230px}.hero-title{font-size:2rem}.hero-copy{display:none}.hero-foot{display:none}.login-panel{padding:2rem 1.5rem}.shell{display:block}.sidebar{position:static;height:auto;padding:.9rem 1rem;gap:.6rem}.sidebar .brand{padding:0}.sidebar .brand span,.side-bottom{display:none}.nav{flex-direction:row;overflow:auto;gap:.25rem}.nav button{white-space:nowrap;font-size:.83rem;padding:.5rem .65rem}.topbar{height:52px;padding:0 1.2rem}.content{padding:1.5rem 1.1rem 4rem}.page-head{align-items:flex-start}.page-head h1{font-size:1.5rem}.card{padding:1.1rem}.steps,.two-cols{grid-template-columns:1fr}}
.choice-field{border:0;padding:0}.choice-title{font-weight:600;font-size:.88rem}.choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.45rem;margin-top:.15rem}.choice-option{display:flex;align-items:flex-start;gap:.5rem;border:1px solid var(--line);border-radius:9px;padding:.55rem .7rem;background:#fff;font-size:.86rem;cursor:pointer}.choice-option:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}.choice-option input{width:auto;margin:.2rem 0 0;accent-color:var(--teal)}[hidden]{display:none!important}
.question-picks{display:flex;flex-direction:column;gap:.65rem}.question-pick{display:flex;flex-direction:column;gap:.55rem;border:1px solid var(--line);border-radius:11px;padding:.9rem 1rem;background:#fbfcfc}.question-pick-top{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.question-pick-top input{width:1.1rem;height:1.1rem;accent-color:var(--teal)}.question-pick .tag{display:inline-flex}.question-pick.not-choice{background:#f3f5f5;color:var(--muted)}.question-no-check{width:1.1rem;text-align:center;color:var(--muted)}.question-stem{font-size:.88rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.question-pick input:disabled{cursor:not-allowed}
.ai-progress-card{margin-bottom:1rem}.progress-track{height:9px;background:#e8eeee;border-radius:99px;overflow:hidden;margin:.7rem 0 .35rem}.progress-track span{display:block;height:100%;background:var(--teal);border-radius:inherit;transition:width .3s ease}.progress-track.indeterminate span{width:38%;animation:ai-progress 1.35s ease-in-out infinite}.inline-progress{display:inline-block;vertical-align:middle;width:110px;height:6px;margin:0 .4rem}.inline-progress span{background:var(--teal)}@keyframes ai-progress{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}
.portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.portrait-cell{border:1px solid var(--line);border-radius:14px;background:#f8fafb;padding:1rem 1.2rem}.portrait-cell h3{margin:0 0 .6rem}.portrait-cell p{margin:.45rem 0}.portrait-cell .subtle{font-size:.88rem}@media(max-width:760px){.portrait-grid{grid-template-columns:1fr}}

.portrait-radar{max-width:440px;margin:1.2rem auto;text-align:center}.portrait-radar svg{display:block;width:100%;height:auto}.portrait-radar figcaption{font-size:.78rem;line-height:1.6;color:var(--muted)}.radar-grid{fill:none;stroke:#d9e6e7;stroke-width:1}.radar-axis{stroke:#c7d7d9;stroke-width:1}.radar-area{fill:rgba(30,143,139,.23);stroke:var(--teal);stroke-width:2}.radar-dot{fill:var(--teal)}.radar-label{font-size:12px;fill:var(--ink);font-weight:600}.report-evidence-toggle{display:flex;align-items:center;gap:.55rem;margin:1rem 0;padding:.85rem;background:#f5f9f8;border:1px solid var(--line);border-radius:10px}.report-evidence-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--teal)}
.report-step{display:inline-block;margin-bottom:.4rem;color:var(--teal);font-size:.82rem;font-weight:700}.report-lead{margin:1.1rem 0;padding:1rem 1.15rem;border-left:4px solid var(--teal);background:#f5f9f8;border-radius:0 10px 10px 0}.report-lead h3{margin:0 0 .45rem}.report-lead p{margin:0}.report-evidence{margin-top:1.3rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.report-evidence summary{cursor:pointer;font-weight:600}.report-evidence p{margin:.8rem 0 0}
.plan-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.65rem 0 1.2rem}.plan-choice-card{display:flex;align-items:center;gap:.75rem;min-width:0;min-height:58px;padding:.8rem 1rem;border:1px solid var(--line);border-radius:11px;background:#fbfcfc;cursor:pointer;transition:background .15s,border-color .15s}.plan-choice-card:hover{border-color:#a8d4cd}.plan-choice-card:has(input:checked){border-color:var(--teal);background:#eef8f5}.plan-choice-card input{flex:none;width:1.1rem;height:1.1rem;margin:0;accent-color:var(--teal)}.plan-choice-text{min-width:0;line-height:1.5;overflow-wrap:anywhere}@media(max-width:760px){.plan-picks{grid-template-columns:1fr}}
.portrait-document{border-color:#ddd2ff;background:linear-gradient(145deg,#fff 0%,#f8f5ff 100%)}.portrait-document-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.portrait-document-head .kicker{color:#6743cf}.portrait-document-head h2{font-size:1.35rem;margin:.3rem 0}.portrait-document-head p{margin:0}.portrait-document-actions{display:flex;gap:.55rem;flex-wrap:wrap}.portrait-document-actions .btn{white-space:nowrap}.portrait-document-actions .btn:not(.secondary){background:#6036d7}.portrait-document-intro{font-size:1rem;line-height:1.8;margin:1.25rem 0;padding:1rem 1.2rem;background:#fff;border-left:4px solid #7451df;border-radius:0 10px 10px 0}.portrait-preview{margin-top:1rem}.portrait-preview summary{cursor:pointer;color:#5c39c4;font-weight:700}.portrait-preview iframe{display:block;width:100%;height:min(78vh,850px);margin-top:1rem;border:1px solid #ddd2ff;border-radius:10px;background:#fff}@media(max-width:760px){.portrait-document-head{flex-direction:column}.portrait-preview iframe{height:65vh}}
.exam-picker{margin:1rem 0}.exam-picker>label{display:block;font-weight:600;margin-bottom:.4rem}.exam-picker>input{width:100%;max-width:440px}.exam-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0;max-height:370px;overflow:auto}.exam-choice-card{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}.exam-choice-card:has(input:checked){border-color:var(--teal);background:#eef8f5}.exam-choice-card input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--teal)}.exam-choice-card strong,.exam-choice-card small{display:block}.exam-choice-card small{margin-top:.4rem;color:var(--muted);line-height:1.5}.exam-picker-selected{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1rem;background:#f2f7f6;border-radius:9px}.exam-picker-selected strong{font-size:.86rem;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:760px){.exam-picker-list{grid-template-columns:1fr}.exam-picker-selected{align-items:flex-start;flex-direction:column}}

/* Learning-methods assistant: all component styles remain scoped to its container. */
.learning-methods{min-width:0;overflow-wrap:anywhere}.learning-methods button:focus-visible{outline:3px solid #8ccdc9;outline-offset:3px}.learning-methods .lm-intro{display:flex;align-items:flex-start;gap:1.5rem;padding:1.2rem 1.4rem;background:linear-gradient(115deg,#e2f1ee,#edf4f6);border:1px solid #c8dfdd;border-radius:15px;margin-bottom:1rem}.learning-methods .lm-intro>div:first-child{flex:1}.learning-methods .lm-intro p{margin:.35rem 0 0;font-size:.91rem;color:#365965}.learning-methods .lm-kicker{display:block;color:var(--teal);font-size:.73rem;font-weight:700;letter-spacing:.05em}.learning-methods .lm-status{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.learning-methods .lm-content-notice{font-size:.76rem;color:#766442}.learning-methods .lm-tabs{display:flex;gap:.35rem;border-bottom:1px solid var(--line);margin-bottom:1.3rem}.learning-methods .lm-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:700;padding:.75rem 1rem}.learning-methods .lm-tabs button.active{color:var(--teal);border-bottom-color:var(--teal)}.learning-methods .lm-chat-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.37fr);gap:1rem}.learning-methods .lm-conversation{padding:1.2rem;min-width:0}.learning-methods .lm-section-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.8rem}.learning-methods .lm-section-head h2,.learning-methods .lm-section-head h3{margin:0}.learning-methods .lm-section-head p{margin:.3rem 0 0}.learning-methods .lm-history{height:clamp(340px,48vh,560px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:1rem;background:#f5f8f8;border:1px solid #e5eded;border-radius:12px;display:flex;flex-direction:column;gap:1rem}.learning-methods .lm-history-more{text-align:center}.learning-methods .lm-message{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;max-width:94%;width:100%;flex-shrink:0}.learning-methods .lm-message.mine{background:#e1f2ef;border-color:#bfdfda;max-width:85%;width:auto;align-self:flex-end}.learning-methods .lm-message-head{font-size:.74rem;color:var(--muted);font-weight:600;margin-bottom:.5rem;display:flex;gap:.5rem;justify-content:space-between;flex-wrap:wrap}.learning-methods .lm-message p{font-size:.9rem;line-height:1.8;margin:0 0 .65rem}.learning-methods .lm-message p:last-child{margin-bottom:0}.learning-methods .lm-message time{font-size:.68rem;font-weight:400}.learning-methods .lm-minimum{border:1px solid #c6e3da;background:#f0f8f3;border-radius:10px;padding:.85rem 1rem;margin:.9rem 0}.learning-methods .lm-minimum h3{margin:.25rem 0 .4rem;font-size:.95rem}.learning-methods .lm-minimum .btn{margin-top:.4rem}.learning-methods .lm-boundary{font-size:.8rem!important;color:#64747b;padding:.6rem .75rem;background:#f7f8f8;border-radius:7px}.learning-methods .lm-boundary strong{color:#546971;margin-right:.3rem}.learning-methods .lm-references{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem}.learning-methods .lm-references>span{font-size:.72rem;color:var(--muted)}.learning-methods .lm-reference{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;background:#f4f8f8;border-radius:7px}.learning-methods .lm-reference>button:first-child{flex:1;border:0;padding:0;text-align:left;background:transparent;color:var(--teal);font-size:.8rem;line-height:1.6}.learning-methods .lm-save{border:0;background:transparent;color:var(--teal);font-size:.78rem;padding:.25rem;white-space:nowrap}.learning-methods .lm-save:disabled{opacity:.5;cursor:wait}.learning-methods .lm-followups{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}.learning-methods .lm-followups button{border:1px solid #c9dfdf;background:#fff;border-radius:99px;color:var(--teal);font-size:.78rem;padding:.4rem .7rem;line-height:1.5;text-align:left}.learning-methods .lm-feedback{display:flex;flex-wrap:wrap;gap:.35rem;border-top:1px solid #eaf0ef;padding-top:.6rem;margin-top:.8rem}.learning-methods .lm-feedback button{border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-size:.73rem;padding:.3rem .45rem}.learning-methods .lm-feedback button.active{border-color:#a8d4cd;color:var(--teal);background:var(--teal-soft)}.learning-methods .lm-mode{font-size:.69rem!important;color:var(--muted);margin:.55rem 0 0!important}.learning-methods .lm-welcome{margin:auto;text-align:center;max-width:360px;padding:2rem 1rem}.learning-methods .lm-welcome h3{margin:.8rem 0 .5rem}.learning-methods .lm-welcome p{font-size:.85rem;color:var(--muted);margin:.5rem 0}.learning-methods .lm-welcome-mark{display:inline-grid;place-items:center;background:var(--deep);color:#fff;width:48px;height:48px;border-radius:14px;font-weight:700}.learning-methods .lm-thinking{font-size:.82rem;color:var(--muted);padding:.3rem .5rem;display:flex;align-items:center;gap:.5rem}.learning-methods .lm-loading-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:lm-pulse 1.2s ease-in-out infinite}.learning-methods .lm-composer{padding-top:1.1rem}.learning-methods .lm-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.65rem}.learning-methods .lm-options .field{margin-bottom:.7rem}.learning-methods .lm-options label{font-size:.77rem}.learning-methods .lm-options select,.learning-methods .lm-options input{padding:.6rem;font-size:.83rem;min-width:0}.learning-methods .lm-plan-toggle{display:flex;gap:.55rem;align-items:flex-start;padding:.5rem 0 .9rem;font-size:.83rem;cursor:pointer}.learning-methods .lm-plan-toggle input{margin-top:.18rem;accent-color:var(--teal)}.learning-methods .lm-plan-toggle small{display:block;margin-top:.2rem;line-height:1.5;font-size:.72rem;color:var(--muted)}.learning-methods .lm-composer textarea{min-height:100px;line-height:1.6;font-size:.9rem}.learning-methods .lm-send-row{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.learning-methods .lm-send-row .subtle{font-size:.7rem}.learning-methods .lm-send-row [data-lm-count]{display:block;margin-top:.2rem}.learning-methods .lm-inline-error{font-size:.8rem;color:var(--red);margin:.5rem 0}.learning-methods .lm-side{display:flex;flex-direction:column;gap:1rem}.learning-methods .lm-popular{display:flex;flex-direction:column;gap:.15rem}.learning-methods .lm-popular button{display:flex;justify-content:space-between;gap:.6rem;border:0;border-bottom:1px solid #e9eeee;background:transparent;text-align:left;padding:.8rem 0;font-size:.84rem;line-height:1.6;color:#3b5967}.learning-methods .lm-popular button:last-child{border:0}.learning-methods .lm-popular button:hover{color:var(--teal)}.learning-methods .lm-popular button span{color:var(--teal)}.learning-methods .lm-side-note{margin-top:.8rem;font-size:.73rem}.learning-methods .lm-support{padding:.5rem 1rem;color:var(--muted)}.learning-methods .lm-support h3{font-size:.9rem;color:#496571}.learning-methods .lm-support p{font-size:.81rem}.learning-methods .lm-search{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:.7rem;align-items:end}.learning-methods .lm-search .field{margin:0}.learning-methods .lm-search input,.learning-methods .lm-search select{min-width:0}.learning-methods .lm-topics{display:flex;flex-wrap:wrap;gap:.4rem;padding:1.2rem 0}.learning-methods .lm-topics button{border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--muted);padding:.45rem .75rem;font-size:.8rem}.learning-methods .lm-topics button.active{background:var(--teal-soft);border-color:#a8d4cd;color:var(--teal)}.learning-methods .lm-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.learning-methods .lm-method-card{border:1px solid var(--line);border-radius:12px;padding:1rem;background:#fcfdfd;display:flex;flex-direction:column;min-width:0}.learning-methods .lm-card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}.learning-methods .lm-demo{font-size:.68rem;color:#8c754a;margin-left:auto}.learning-methods .lm-method-card h3{margin:0 0 .5rem;font-size:.95rem}.learning-methods .lm-method-card h3 button{font-weight:700;border:0;background:none;padding:0;text-align:left;color:var(--ink);line-height:1.6}.learning-methods .lm-method-card p{font-size:.82rem;color:var(--muted);margin:0 0 .7rem}.learning-methods .lm-method-card .lm-card-action{font-size:.76rem;background:#edf6f3;color:#466e65;padding:.55rem .65rem;border-radius:7px}.learning-methods .lm-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto}.learning-methods .lm-load-more{text-align:center;margin:1.2rem 0 0}.learning-methods .lm-saved-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1rem}.learning-methods .lm-saved-layout .lm-card-grid{grid-template-columns:1fr}.learning-methods .lm-trial{border-top:1px solid var(--line);padding:1rem 0}.learning-methods .lm-trial p{font-size:.86rem;margin:.5rem 0}.learning-methods .lm-trial .subtle{font-size:.73rem}.learning-methods .lm-trial-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}.learning-methods .lm-new{margin-top:.6rem}.learning-methods .lm-error{margin-bottom:1rem}.learning-methods .lm-modal-backdrop{position:fixed;inset:0;background:rgba(16,39,48,.55);z-index:40;display:flex;align-items:center;justify-content:center;padding:1.2rem}.learning-methods .lm-modal{background:#fff;border-radius:16px;width:min(620px,100%);max-height:85vh;overflow:auto;padding:1.5rem;box-shadow:0 24px 80px rgba(0,0,0,.18);overscroll-behavior:contain}.learning-methods .lm-modal header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.learning-methods .lm-modal header h2{margin:.4rem 0 0;line-height:1.5}.learning-methods .lm-close{border:0;background:#edf3f3;border-radius:50%;width:32px;height:32px;flex-shrink:0;font-size:1.4rem;color:var(--muted);line-height:1}.learning-methods .lm-modal section{margin:1.1rem 0}.learning-methods .lm-modal section h3{font-size:.9rem;color:var(--teal);margin-bottom:.5rem}.learning-methods .lm-modal p,.learning-methods .lm-modal li{font-size:.87rem;line-height:1.8}.learning-methods .lm-modal ul,.learning-methods .lm-modal ol{padding-left:1.4rem}.learning-methods .lm-modal li{margin:.35rem 0}.learning-methods .lm-modal footer{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:1rem;border-top:1px solid var(--line)}
@keyframes lm-pulse{50%{opacity:.3;transform:scale(.8)}}
@media(max-width:1120px){.learning-methods .lm-chat-layout{grid-template-columns:minmax(0,1fr) 240px}.learning-methods .lm-intro{flex-direction:column;gap:.7rem}.learning-methods .lm-status{align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-items:center}.learning-methods .lm-side .card{padding:1rem}}
@media(max-width:950px){.learning-methods .lm-chat-layout,.learning-methods .lm-saved-layout{grid-template-columns:1fr}.learning-methods .lm-side{display:grid;grid-template-columns:1.2fr 1fr}.learning-methods .lm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-methods .lm-saved-layout .lm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.learning-methods .lm-intro{padding:1rem}.learning-methods .lm-intro p{font-size:.83rem}.learning-methods .lm-status .pill{font-size:.67rem;white-space:normal}.learning-methods .lm-tabs{gap:0}.learning-methods .lm-tabs button{font-size:.81rem;padding:.65rem .7rem}.learning-methods .lm-conversation{padding:.85rem}.learning-methods .lm-section-head{flex-wrap:wrap}.learning-methods .lm-history{padding:.65rem;height:420px}.learning-methods .lm-message{max-width:100%;padding:.8rem}.learning-methods .lm-message.mine{max-width:94%}.learning-methods .lm-message p{font-size:.84rem}.learning-methods .lm-options{grid-template-columns:1fr 1fr;gap:.5rem}.learning-methods .lm-options .field:last-child{grid-column:1/-1}.learning-methods .lm-send-row{align-items:flex-end}.learning-methods .lm-send-row .btn{padding:.65rem .85rem;white-space:nowrap}.learning-methods .lm-side{grid-template-columns:1fr}.learning-methods .lm-card-grid,.learning-methods .lm-saved-layout .lm-card-grid{grid-template-columns:1fr}.learning-methods .lm-search{grid-template-columns:minmax(0,1fr) 100px}.learning-methods .lm-search .btn{grid-column:1/-1}.learning-methods .lm-modal-backdrop{padding:.65rem}.learning-methods .lm-modal{padding:1.1rem;max-height:90vh}.learning-methods .lm-modal header h2{font-size:1.1rem}.learning-methods .lm-reference{align-items:flex-start}.learning-methods .lm-popular button{font-size:.83rem}}
@media(prefers-reduced-motion:reduce){.learning-methods .lm-loading-dot{animation:none}}

/* 知序统一界面：任务结构、组件与屏幕空间共同决定布局。 */
:root{--purple:#653ea1;--purple-soft:#f5f0fb;--radius:18px;--visible-height:100dvh;--shadow:0 4px 22px rgba(25,64,48,.045)}
html{scroll-padding-top:20px}body{line-height:1.6;-webkit-text-size-adjust:100%}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #338a73;outline-offset:3px}button:disabled{cursor:not-allowed}button:disabled:hover{transform:none}svg{max-width:100%}h1,h2,h3,h4,p,strong,span,a,pre{overflow-wrap:anywhere}h1{font-size:28px;line-height:1.3;letter-spacing:-.04em}h2{font-size:20px;line-height:1.4}h3{font-size:17px;line-height:1.5}h4{font-size:16px;line-height:1.5;margin:0 0 8px}.subtle,.muted,.metric-label{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.08em;color:var(--teal);font-weight:700;margin:0 0 8px}.icon{width:22px;height:22px;flex:0 0 22px}.btn,.top-logout,.file-link,.icon-button{min-height:44px}.btn{border-radius:12px;padding:10px 16px;font-size:15px;font-weight:650}.btn.small{min-height:44px;font-size:14px;padding:8px 12px}.btn:disabled{opacity:.6}.btn:active:not(:disabled){transform:translateY(1px)}.field{margin:0 0 20px}.field label,.choice-title{font-size:15px;line-height:1.6;color:var(--ink)}.field input,.field select,.field textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select{font-size:16px;min-height:46px;border-radius:11px;border:1px solid #c8d8ce;background:#fff;color:var(--ink);max-width:100%;min-width:0}.field textarea{min-height:112px}.field input::placeholder,.field textarea::placeholder{color:#637970}.field small{font-size:13px;margin-top:4px}input[type=checkbox],input[type=radio]{accent-color:var(--teal);width:18px;height:18px;flex:0 0 18px}.choice-option{min-height:48px;align-items:center;padding:10px 12px;border-radius:12px;font-size:15px}.choice-list{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:8px}.choice-option input{margin:0}.card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-width:0}.editor-block{background:#f7faf7;border:0;border-radius:14px;padding:18px}.card .card{box-shadow:none}.card-head{gap:12px;flex-wrap:wrap}.notice{font-size:14px;border-left-width:3px;padding:14px 16px;border-radius:0 12px 12px 0}.notice.warn{color:#805123}.notice.error,.form-error{color:#90382d}.pill{font-size:12px;white-space:normal;line-height:1.5;padding:5px 10px}.tag{font-size:13px;padding:6px 10px}.empty{background:#f7faf7;border:1px dashed #cdded1;border-radius:14px;padding:28px 18px;margin-top:12px}.list-row{min-width:0;padding:16px 0;gap:12px}.list-row>div{min-width:0}.action-row{gap:10px}.form-error{border:1px solid #ebc9c3;border-radius:12px;background:#fff3ef;padding:14px;line-height:1.7;white-space:pre-line;margin:16px 0}.form-error ul{padding-left:20px;margin:8px 0 0}.text-button{border:0;background:none;min-height:44px;padding:8px 0;color:var(--teal);font-size:14px;text-align:left}.icon-button{width:44px;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:18px}.icon-button.danger{color:#90382d}.icon-button:disabled{opacity:.35}.loading-screen{font-size:16px}.progress-track.indeterminate span{width:38%}progress{width:100%;height:8px;accent-color:var(--teal);border:0;border-radius:99px;overflow:hidden}progress::-webkit-progress-bar{background:#e4eee6;border-radius:99px}progress::-webkit-progress-value{background:var(--teal);border-radius:99px}
.shell{grid-template-columns:224px minmax(0,1fr);min-height:100dvh}.sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:28px 16px;height:100dvh;gap:32px}.sidebar .brand{padding:0 8px}.brand-lockup{display:flex;align-items:center;gap:10px;letter-spacing:.08em}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--teal);display:inline-grid;place-items:center;color:#fff;font-size:22px;letter-spacing:0}.brand-lockup div>span{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:2px}.nav{gap:6px}.nav button{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 14px;color:#3f5e52;border-radius:13px;font-size:15px;font-weight:600}.nav button:hover{background:#f1f6f1;color:var(--teal)}.nav button.active{background:var(--teal-soft);color:var(--teal)}.side-bottom{padding:20px 12px 0;border-color:var(--line)}.side-bottom strong{font-size:15px}.side-bottom small{display:block;color:var(--muted);font-size:12px}.side-bottom button{border:0;background:transparent;color:var(--teal);display:flex;gap:8px;align-items:center;min-height:44px;margin-top:10px}.topbar{height:68px;padding:0 32px;background:#fff}.trail{font-size:14px!important;color:var(--ink)!important;font-weight:600}.top-actions{gap:12px;min-width:0}.top-logout{font-size:14px;padding:8px}.topbar .role{font-size:12px;background:#f0f6f0;color:var(--teal);padding:6px 12px;line-height:1.4}.mobile-brand{display:none}.content{max-width:1250px;padding:32px 32px 64px}.page-head{margin-bottom:24px}.page-head p{font-size:14px;max-width:740px;line-height:1.7}.page-head h1{margin-bottom:8px}.grid{gap:20px}.student-context{display:flex;align-items:center;gap:10px;background:#e8f1e9;border-bottom:1px solid #d9e6dc;padding:10px 32px;font-size:13px;flex-wrap:wrap}.student-context>span:first-child{display:flex;gap:8px;align-items:center;color:var(--muted)}.student-context strong{font-size:16px}.student-context .text-button{margin-left:auto;min-height:32px;padding:0}.bottom-nav{display:none}.jobs-panel:empty{display:none}.jobs-panel{margin-bottom:16px}.job-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid #dacfb7;background:#fffbf1;padding:12px 16px;border-radius:14px;font-size:14px;margin-bottom:8px}.job-row>span:nth-child(2){flex:1;min-width:0}.toast{z-index:90;max-width:min(420px,calc(100vw - 32px));font-size:14px;right:24px;bottom:24px;line-height:1.6;background:#194f43}.toast.error{background:#90382d}
.login-wrap{min-height:100dvh;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);background:#f5f8f3}.login-hero{color:var(--ink);padding:64px clamp(32px,6vw,100px);background:radial-gradient(ellipse at 25% 75%,#dcefdc 0%,transparent 60%),#edf5ea;position:relative;gap:60px}.login-hero .brand{color:var(--teal);display:block}.login-hero .brand span{display:block;letter-spacing:0;font-size:13px;font-weight:500;margin-top:4px;color:#466353}.hero-title{font-size:clamp(32px,3.5vw,56px);line-height:1.35;letter-spacing:-.06em;color:#214c39}.hero-copy{color:#466353;font-size:16px;margin:24px 0 0;max-width:440px}.hero-foot{color:#466353;font-size:13px}.login-panel{padding:40px;display:flex;align-items:center;justify-content:center;background:#fff}.login-card{max-width:380px;width:100%}.login-card h1{font-size:28px;margin:0 0 12px}.login-card>.muted{font-size:14px;margin-bottom:28px}.login-card form .btn{margin-top:6px;min-height:48px}.login-brand{display:none}.login-help{font-size:13px;margin:24px 0 4px}.demo-users{display:block}.demo-users summary{font-size:13px;color:var(--muted)}
.wizard-progress{position:sticky;top:0;background:#fff;padding:12px 0 20px;z-index:2;margin-bottom:14px;border-bottom:1px solid var(--line)}.wizard-progress>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px}.wizard-progress span{color:var(--muted);white-space:nowrap}.wizard-step{padding:0}.wizard-step h2{font-size:20px;margin-top:8px}.wizard-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line)}.wizard-actions .subtle{flex:1;font-size:12px;min-width:140px}.form-section{max-width:820px}.upload-picker{padding:18px;background:#f7faf6;border-radius:14px;margin-bottom:18px;border:1px solid var(--line)}.upload-picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.upload-picker-heading h3{margin:0 0 4px}.upload-picker-heading p{font-size:13px;margin:0}.upload-input{position:relative;overflow:hidden;cursor:pointer}.upload-input input{position:absolute;width:100%;height:100%;inset:0;opacity:0;cursor:pointer}.upload-input:focus-within{outline:3px solid #338a73;outline-offset:3px}.upload-file-list{margin-top:12px}.upload-file-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;border-top:1px solid #dce7de;padding:12px 0}.upload-file-row>img{width:48px;height:64px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.upload-pdf-icon{height:56px;width:44px;display:grid;place-items:center;border:1px solid #cedfd0;border-radius:8px;color:var(--teal);font-size:12px;font-weight:700;background:#fff}.upload-file-meta strong{font-size:13px;display:block;line-height:1.5}.upload-file-meta small{font-size:12px;color:var(--muted)}.upload-file-actions{display:flex;gap:4px}.upload-progress{margin-bottom:20px;background:#eef7ed;border-radius:12px;padding:16px}.upload-progress label{display:block;font-size:14px;margin-bottom:8px}.upload-progress p{margin:4px 0 0;font-size:13px}
.portrait-document{background:#fff;border:1px solid #ded2eb}.portrait-document-head .kicker{color:var(--purple)}.portrait-document-head h2{color:#492f6c}.portrait-document-actions .btn:not(.secondary){background:var(--purple)}.portrait-document-intro{border-left-color:var(--purple);background:var(--purple-soft);color:#38234f}.portrait-self-report{border-left-color:#7e58ae;background:#f6f2fb;color:#533f6c}.portrait-reading-section{padding:22px 0;border-bottom:1px solid #ece5f2;max-width:850px}.portrait-reading-section h3{color:#553878;font-size:18px;margin:0 0 14px}.portrait-reading-section>p{font-size:15px;line-height:1.85}.portrait-insight{background:#faf7fc;padding:16px 18px;margin:10px 0;border-radius:12px}.portrait-insight p{font-size:14px;margin:8px 0;line-height:1.8}.portrait-insight strong{font-weight:600}.portrait-grid{margin:0;gap:12px}.portrait-cell{background:#faf8fc;border:0;padding:18px}.portrait-cell h4{color:#493166;font-size:15px}.portrait-cell h4 span{font-size:12px;color:#664789;font-weight:500;display:block;margin-top:4px}.portrait-cell p{font-size:14px}.portrait-radar{max-width:400px}.radar-area{fill:rgba(101,62,161,.15);stroke:var(--purple)}.radar-dot{fill:var(--purple)}.radar-grid{stroke:#e0d5ea}.radar-axis{stroke:#d3c5df}.radar-label{fill:#493166;font-size:13px}.portrait-radar figcaption{font-size:13px}.report-section{margin:0 0 20px}.report-lead{border-radius:0 12px 12px 0;background:#eff6ee}.report-evidence summary{min-height:44px;line-height:1.7}.plan-choice-card,.exam-choice-card{min-height:56px}.plan-picks{gap:12px}.plan-choice-text{font-size:14px}
.review-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:20px;align-items:start}.review-layout .sticky{top:16px;max-height:calc(100dvh - 32px);overflow:auto}.review-tabs{display:none}.question-toolbar{background:#edf5ec;padding:16px;border-radius:13px;margin:16px 0 20px}.question-toolbar>label{display:block;font-size:14px;font-weight:600}.question-toolbar select{width:100%;padding:10px;margin-top:8px}.question-toolbar .action-row{justify-content:space-between}.question-toolbar [data-question-position]{font-size:13px;color:var(--muted)}.non-choice-review-item{border:0;background:#f7faf6;margin-bottom:16px}.material-preview{margin:16px 0}.material-zoom{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:10px;background:#f1f4f0;overflow:hidden;cursor:zoom-in}.material-preview img{width:100%;max-height:460px;object-fit:contain;display:block}.material-preview p{font-size:12px;margin:8px 0}.file-link{display:inline-flex;align-items:center;border-radius:10px;padding:8px 12px;color:var(--teal);font-size:13px}.file-link.active{background:var(--teal-soft);border-color:var(--teal)}.question-pick{padding:16px;border-radius:14px}.question-stem{font-size:14px}.question-picks{gap:12px}.chat-box{height:clamp(260px,42dvh,480px);overscroll-behavior:contain;scrollbar-gutter:stable;border:0;background:#f1f6f0;padding:16px;gap:12px}.bubble{font-size:15px;max-width:92%;border:0;padding:14px;border-radius:14px;overflow-wrap:anywhere;flex-shrink:0}.bubble.mine{background:#dff0e5}.bubble small{font-size:12px}.checkin-item{border-left:3px solid #aed1b5;background:#f6faf6;border-radius:0 10px 10px 0;padding:12px 14px}.checkin-item p{font-size:14px}.stat{min-width:100px}
.app-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(var(--visible-height) - 32px);border:0;border-radius:20px;background:#fff;color:var(--ink);padding:24px;box-shadow:0 24px 90px rgba(12,44,30,.24);overflow:auto;overscroll-behavior:contain}.app-dialog::backdrop{background:rgba(17,42,31,.48)}.app-dialog>header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.app-dialog h2{font-size:20px;margin:0}.app-dialog header .icon-button{border:0;background:#eef5ee}.more-menu{display:grid;gap:8px}.more-menu button{min-height:52px;border:0;border-radius:12px;background:#f4f8f1;color:var(--ink);display:flex;gap:12px;align-items:center;text-align:left;padding:12px 16px;font-size:15px}.privacy-copy p{font-size:14px;line-height:1.9}.privacy-copy h3{margin-top:22px}.material-dialog{width:min(1000px,calc(100vw - 24px));padding:20px}.zoom-control{display:flex;gap:14px;align-items:center;font-size:14px}.zoom-control input{flex:1;min-width:0}.zoom-control span{width:48px}.zoom-image-wrap{overflow:auto;max-height:calc(var(--visible-height) - 230px);margin:16px 0;background:#eef1ec}.zoom-image{width:100%;max-width:none;display:block;touch-action:pan-x pan-y pinch-zoom}
.learning-methods .lm-intro{background:#eaf4e9;border-color:#d5e5d5;border-radius:16px}.learning-methods .lm-content-notice{color:#745225;font-size:12px}.learning-methods .lm-status .pill{max-width:100%}.learning-methods .lm-tabs button{min-height:48px;font-size:14px}.learning-methods .lm-message p{font-size:15px}.learning-methods .lm-message time,.learning-methods .lm-mode{font-size:12px!important}.learning-methods .lm-history{background:#f3f7f1;border:0;border-radius:14px;height:clamp(260px,43dvh,540px)}.learning-methods .lm-message{border:0;padding:16px;border-radius:14px}.learning-methods .lm-message.mine{background:#dff0e5}.learning-methods .lm-options select,.learning-methods .lm-options input,.learning-methods .lm-composer textarea{font-size:16px;min-height:46px}.learning-methods .lm-composer textarea{min-height:104px}.learning-methods .lm-options label{font-size:13px}.learning-methods .lm-plan-toggle{min-height:44px;font-size:14px}.learning-methods .lm-plan-toggle small{font-size:12px}.learning-methods .lm-save,.learning-methods .lm-followups button,.learning-methods .lm-feedback button,.learning-methods .lm-topics button{min-height:44px;font-size:13px}.learning-methods .lm-reference{min-height:48px}.learning-methods .lm-reference>button:first-child{font-size:14px;min-height:44px}.learning-methods .lm-close{width:44px;height:44px}.learning-methods .lm-modal{max-height:calc(var(--visible-height) - 32px)}.learning-methods .lm-modal-backdrop{z-index:70}.learning-methods .lm-search{grid-template-columns:minmax(0,1fr) 140px auto}.learning-methods .lm-demo{font-size:12px}.learning-methods .lm-method-card{padding:18px;border-radius:14px;background:#fafcf8}.learning-methods .lm-method-card h3{font-size:17px}.learning-methods .lm-method-card p{font-size:14px}.learning-methods .lm-send-row .subtle{font-size:12px}.learning-methods .lm-side-note{font-size:12px}
@media(min-width:1024px){.span-7{grid-column:span 7}.span-5{grid-column:span 5}.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.review-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}}
@media(min-width:768px) and (max-width:1023px){.shell{grid-template-columns:184px minmax(0,1fr)}.sidebar{padding:24px 10px}.brand-lockup{gap:8px;font-size:18px}.brand-mark{width:34px;height:38px}.brand-lockup div>span{font-size:10px}.nav button{font-size:14px;padding:12px 10px;gap:8px}.content{padding:24px 24px 48px}.topbar{padding:0 24px}.top-actions{gap:8px}.topbar .role{max-width:180px}.student-context{padding:10px 24px}.grid{gap:16px}.review-layout{grid-template-columns:1fr}.review-layout .sticky{position:static;max-height:none}.learning-methods .lm-chat-layout{grid-template-columns:1fr}.learning-methods .lm-side{grid-template-columns:1fr}.portrait-grid{grid-template-columns:1fr}.login-panel{padding:32px}.login-hero{padding:48px 32px}.hero-title{font-size:36px}}
@media(max-width:767px){html{scroll-padding-top:12px}.shell{display:block;min-height:100dvh}.sidebar{display:none}.main{width:100%;min-width:0}.mobile-brand{display:block;color:var(--teal);font-size:21px;letter-spacing:.08em;font-weight:750;flex-shrink:0}.topbar{padding:8px 16px;height:64px;gap:8px}.topbar .trail{display:none}.top-actions{gap:2px;flex:1;justify-content:flex-end}.topbar .role{max-width:150px;font-size:11px;padding:5px 8px;margin-right:auto;margin-left:8px;overflow-wrap:anywhere}.top-logout{font-size:13px;min-width:40px;padding:6px}.student-context{padding:9px 16px;gap:8px;font-size:12px}.student-context>span:first-child{font-size:11px;gap:4px}.student-context .icon{width:18px;height:18px;flex-basis:18px}.student-context strong{font-size:15px}.student-context .text-button{font-size:12px}.content{padding:24px 16px calc(96px + env(safe-area-inset-bottom));width:100%;max-width:100%}.page-head{margin-bottom:20px}.page-head .eyebrow{font-size:11px}.page-head h1{font-size:24px;margin-bottom:8px}.page-head p{font-size:13px;line-height:1.7}.grid{grid-template-columns:minmax(0,1fr);gap:16px}.span-12,.span-8,.span-7,.span-6,.span-5,.span-4{grid-column:1}.card{padding:20px;border-radius:18px}.card-head{margin-bottom:14px;gap:10px}.card-head .pill{align-self:flex-start}.card h2{font-size:19px}.card h3{font-size:16px}.two-cols,.steps,.portrait-grid{grid-template-columns:1fr;gap:12px}.editor-block{padding:16px;border-radius:12px}.editor-heading{gap:8px;align-items:flex-start}.editor-heading h3{padding-top:8px}.editor-heading .btn{font-size:12px;padding:8px 10px}.action-row .btn{max-width:100%}.bottom-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(255,255,255,.97);border-top:1px solid #dce7de;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-shadow:0 -4px 20px rgba(32,63,40,.035)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#60776b;border:0;background:transparent;min-height:52px;min-width:0;border-radius:12px;font-size:11px;line-height:1.4;padding:4px}.bottom-nav button.active{color:var(--teal);background:#edf6eb;font-weight:750}.bottom-nav .icon{width:22px;height:22px}.toast{bottom:calc(80px + env(safe-area-inset-bottom));right:16px;left:16px;max-width:none;width:auto;padding:12px 16px;border-radius:12px}.keyboard-open .bottom-nav{display:none}.keyboard-open .toast{bottom:12px}.keyboard-open .content{padding-bottom:32px}.list-row{flex-wrap:wrap}.list-row>.pill{margin-top:3px}.stat-strip{gap:24px}.metric{font-size:30px}.login-wrap{display:block;background:#fff;min-height:100dvh}.login-hero{display:none}.login-panel{min-height:100dvh;padding:32px 24px calc(24px + env(safe-area-inset-bottom));align-items:flex-start}.login-card{max-width:400px;margin:auto;display:block}.login-brand{display:inline-block;margin-bottom:48px;font-size:26px;letter-spacing:.1em;color:var(--teal)}.login-card h1{font-size:28px}.login-card>.muted{margin-bottom:32px}.login-help{margin-top:24px}.wizard-progress{padding:8px 0 16px}.wizard-progress>div{font-size:13px}.wizard-actions{gap:8px;display:grid;grid-template-columns:1fr 1fr}.wizard-actions .subtle{grid-column:1/-1;grid-row:1;font-size:11px;min-width:0}.wizard-actions>.btn{width:100%}.wizard-actions .btn:last-child{grid-column:2}.upload-picker{padding:16px}.upload-picker-heading{flex-wrap:wrap}.upload-picker-heading>div{flex:1;min-width:150px}.upload-picker-heading .pill{font-size:11px}.upload-picker .action-row{gap:8px}.upload-picker .btn{font-size:13px;padding:8px 10px}.upload-picker .icon{width:18px;height:18px;flex-basis:18px}.upload-file-row{grid-template-columns:40px minmax(0,1fr);gap:8px}.upload-file-row>img{width:40px;height:54px}.upload-file-actions{grid-column:2;justify-content:flex-end}.upload-file-meta strong{font-size:12px}.upload-file-meta small{font-size:11px}.portrait-document-head{gap:16px}.portrait-document-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.portrait-document-actions .btn{font-size:12px;padding:8px}.portrait-document-intro{font-size:15px;padding:16px;margin:20px 0}.portrait-reading-section{padding:20px 0}.portrait-reading-section h3{font-size:17px}.portrait-insight{padding:16px}.portrait-cell{padding:16px}.portrait-radar{margin:20px auto}.portrait-radar svg{overflow:visible}.report-evidence{padding:12px}.exam-picker-list{grid-template-columns:1fr;max-height:450px}.exam-choice-card{font-size:14px}.exam-picker-selected{font-size:13px;padding:12px}.plan-picks{grid-template-columns:1fr}.plan-choice-card{padding:12px}.review-layout{display:block}.review-layout .sticky{position:static;max-height:none;margin-bottom:16px}.review-tabs{display:flex;gap:8px;margin:20px 0 16px;border-bottom:1px solid var(--line)}.review-tabs button{flex:1;min-height:48px;border:0;border-bottom:3px solid transparent;border-radius:10px 10px 0 0;background:#eef5ed;color:var(--muted);font-size:14px;font-weight:600}.review-tabs button.active{border-bottom-color:var(--teal);color:var(--teal);background:#e1efe1}.review-layout[data-mobile-tab=review] .review-materials,.review-layout[data-mobile-tab=materials] .review-work{display:none}.question-toolbar{padding:14px}.question-toolbar .btn{font-size:13px;padding:8px 12px}.material-preview img{max-height:65dvh}.material-dialog{padding:16px}.app-dialog{padding:20px;border-radius:18px;max-height:calc(var(--visible-height) - 24px)}.chat-box{height:clamp(260px,42dvh,440px);padding:12px}.bubble{max-width:95%;font-size:14px;padding:12px}.bubble small{font-size:11px}.learning-methods .lm-intro{padding:16px}.learning-methods .lm-intro p{font-size:13px}.learning-methods .lm-status{align-items:flex-start;gap:8px}.learning-methods .lm-chat-layout,.learning-methods .lm-saved-layout{grid-template-columns:1fr}.learning-methods .lm-side{display:flex;flex-direction:column}.learning-methods .lm-tabs{gap:0;justify-content:space-between}.learning-methods .lm-tabs button{font-size:13px;padding:10px 8px}.learning-methods .lm-conversation{padding:16px}.learning-methods .lm-history{height:clamp(260px,42dvh,440px);padding:12px;scrollbar-gutter:auto}.learning-methods .lm-message p{font-size:14px;line-height:1.85}.learning-methods .lm-message{padding:14px}.learning-methods .lm-section-head{gap:8px}.learning-methods .lm-section-head h2{font-size:17px}.learning-methods .lm-options{grid-template-columns:1fr 1fr;gap:8px}.learning-methods .lm-options .field:last-child{grid-column:1/-1}.learning-methods .lm-search{grid-template-columns:minmax(0,1fr) 100px;gap:8px}.learning-methods .lm-search .btn{grid-column:1/-1}.learning-methods .lm-card-grid,.learning-methods .lm-saved-layout .lm-card-grid{grid-template-columns:1fr}.learning-methods .lm-send-row{flex-wrap:wrap;align-items:center}.learning-methods .lm-send-row .btn{margin-left:auto;min-height:44px}.learning-methods .lm-send-row .subtle{font-size:11px;max-width:65%}.learning-methods .lm-save{padding:4px 8px;white-space:normal}.learning-methods .lm-reference{padding:8px;gap:8px}.learning-methods .lm-reference>button:first-child{font-size:13px}.learning-methods .lm-feedback button{font-size:12px;padding:8px}.learning-methods .lm-topics button{font-size:12px;padding:8px 12px}.learning-methods .lm-followups button{font-size:12px;padding:8px 12px}.learning-methods .lm-modal-backdrop{padding:12px}.learning-methods .lm-modal{padding:20px;max-height:calc(var(--visible-height) - 24px)}.learning-methods .lm-modal p,.learning-methods .lm-modal li{font-size:14px}.learning-methods .lm-modal header h2{font-size:18px}.learning-methods .lm-boundary{font-size:12px!important}.learning-methods .lm-message-head{font-size:12px}.learning-methods .lm-boundary strong{display:block}}
@media(max-width:359px){.content{padding-left:12px;padding-right:12px}.card{padding:16px}.topbar{padding-left:12px;padding-right:12px}.topbar .role{max-width:105px;margin-left:4px;font-size:10px}.student-context{padding-left:12px;padding-right:12px}.student-context>span:first-child{font-size:10px}.student-context .text-button{margin-left:0}.page-head h1{font-size:22px}.portrait-document-actions{grid-template-columns:1fr}.learning-methods .lm-tabs button{font-size:12px;padding:8px 4px}.learning-methods .lm-conversation{padding:12px}.learning-methods .lm-history{padding:8px}.upload-picker{padding:12px}.wizard-actions .btn{font-size:13px}.login-panel{padding:24px 20px}.login-brand{margin-bottom:36px}}
@media(max-height:500px) and (max-width:1023px){.login-brand{margin-bottom:16px}.login-panel{padding-top:20px}.bottom-nav{padding-top:2px;padding-bottom:calc(2px + env(safe-area-inset-bottom))}.bottom-nav button{min-height:44px}.learning-methods .lm-history,.chat-box{height:260px}.app-dialog{max-height:calc(var(--visible-height) - 16px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.sidebar,.topbar,.student-context,.bottom-nav,.page-head,.jobs-panel,.portrait-document-actions,.toast{display:none!important}.shell{display:block}.content{padding:0;max-width:none}.card{box-shadow:none}.portrait-document{border:0}.portrait-reading-section{break-inside:avoid}}

.review-stage-strip{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.review-stage-strip span{display:inline-flex;align-items:center;padding:8px 12px;font-size:12px;border-radius:10px;background:#eaf3e8;color:#365c43;min-height:40px}.review-stage-strip span:last-child{background:#f4f7f1;color:#526a62}

.home-context-line{font-size:13px;color:var(--muted);margin:-10px 0 20px}.home-primary{background:linear-gradient(135deg,#fff,#f8fbf4);border-color:#cfe0ce}.home-plan-overview{font-size:14px;color:#3e5d45;line-height:1.8}.home-goal{display:flex;gap:12px;padding:16px 0;border-top:1px solid #e0eadd}.home-goal>span{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;background:#e3efdf;border-radius:9px;color:#2f6741;font-size:13px;font-weight:700}.home-goal h3{font-size:17px;margin:0 0 6px}.home-goal p{font-size:14px;color:var(--muted);margin:0 0 10px}.home-report-card .report-excerpt{font-size:14px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.home-report-card .text-button{display:flex;align-items:center;gap:8px}.report-read-tabs{display:flex;gap:8px;margin-bottom:20px;background:#e8f0e5;padding:6px;border-radius:14px;max-width:540px}.report-read-tabs button{flex:1;min-height:44px;border:0;border-radius:10px;background:transparent;color:#42634e;font-size:15px;font-weight:600;padding:10px 12px}.report-read-tabs button.active{background:#fff;color:var(--teal);box-shadow:0 2px 8px rgba(34,66,43,.07)}.report-reading{max-width:940px}.read-section-title{font-size:18px;margin:0 0 16px}.report-history{margin-top:20px}.report-history summary{min-height:44px;cursor:pointer;font-weight:600;padding:8px 0}.report-history .portrait-document{margin-top:16px}.report-history .report-section{margin-top:16px}@media(max-width:767px){.home-context-line{font-size:12px;margin-top:-8px;margin-bottom:16px}.home-goal{gap:10px;padding:14px 0}.home-goal h3{font-size:16px}.home-goal p{font-size:13px}.home-primary .action-row .btn{font-size:13px;padding:10px 12px}.home-plan-overview{font-size:14px}.report-read-tabs{margin-bottom:20px;gap:4px;padding:5px}.report-read-tabs button{font-size:13px;padding:9px 6px}.home-report-card .report-excerpt{-webkit-line-clamp:3}.report-history{padding:16px}}
