:root{--paper:#f8f5ed;--paper-2:#f1ecdf;--surface:#fffdf8;--surface-strong:#ffffff;--ink:#2e2a25;--ink-soft:#6f675d;--line:#e5ddcf;--teal:#607d73;--teal-deep:#3f6258;--teal-soft:#e7efeb;--sunset:#c87942;--sunset-soft:#f7e4d3;--gold:#d2a556;--danger:#a85545;--danger-soft:#f8e7e3;--shadow:0 16px 45px rgba(69,52,33,0.08);--radius:20px;--hero-overlay-dark:0.46;--hero-saturation:0.82;--hero-brightness:0.82;--hero-blur:16px}*{box-sizing:border-box}body,html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:#d8e5de}.app-layout{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);position:relative}.app-layout:before{content:"";position:fixed;inset:0 0 0 250px;pointer-events:none;background:radial-gradient(circle at 88% 2%,rgba(209,165,86,.14),transparent 27%),linear-gradient(125deg,rgba(95,125,115,.035),transparent 42%)}.sidebar{background:#293b36;color:#edf3ef;height:100vh;position:sticky;top:0;padding:24px 17px 18px;display:flex;flex-direction:column;z-index:30;box-shadow:8px 0 30px rgba(36,52,47,.08)}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 23px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(140deg,#f1d59e,#c88046);color:#263d36;box-shadow:0 8px 22px rgba(0,0,0,.15)}.brand strong{display:block;font-size:16px;letter-spacing:.05em}.brand span{display:block;margin-top:4px;font-size:10px;opacity:.62}.close-menu{display:none}.nav-list{margin-top:20px;display:grid;gap:4px}.nav-list a{min-height:43px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:12px;color:rgba(237,243,239,.72);transition:.18s ease;font-size:14px}.nav-list a:hover{color:white;background:rgba(255,255,255,.07);transform:translateX(2px)}.nav-list a.active{color:#fff;background:rgba(255,255,255,.105);box-shadow:inset 3px 0 #e0b46d}.nav-list a.primary-nav{margin:5px 0;border:1px solid rgba(224,180,109,.22)}.nav-list em{margin-left:auto;font-size:9px;font-style:normal;color:#f1d39d;background:rgba(209,165,86,.16);border-radius:20px;padding:3px 7px}.sidebar-footer{margin-top:auto;padding:15px 8px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:10px;min-width:0}.sidebar-footer .avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;background:#e7d2a7;color:#33483f;font-weight:800}.user-copy{min-width:0;flex:1 1}.user-copy span,.user-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.user-copy strong{font-size:12px}.user-copy span{font-size:10px;opacity:.55;margin-top:3px}.sidebar-footer button{border:0;background:transparent;color:rgba(255,255,255,.55);padding:5px}.main-content{position:relative;z-index:1;padding:42px 48px 70px;width:min(1440px,100%)}.site-footer{margin-top:48px;padding:18px 12px 0;color:#81786d;font-size:12px;line-height:1.6;text-align:center}.site-footer-separator{margin:0 7px;color:#aaa196}.site-footer a{display:inline-block;text-decoration:none;text-underline-offset:3px;transition:color .16s ease}.site-footer a:focus-visible,.site-footer a:hover{color:var(--teal-deep);text-decoration:underline;outline:none}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;min-height:52px}.page-header h1{margin:3px 0 0;font-family:STSong,Songti SC,serif;font-size:clamp(27px,3vw,37px);letter-spacing:-.03em;font-weight:700}.eyebrow{margin:0;color:var(--teal);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.mobile-menu{display:none}.card{background:var(--surface);border:1px solid rgba(219,209,193,.8);border-radius:var(--radius);box-shadow:0 4px 16px rgba(61,48,30,.035)}.card-pad{padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.section-title h2,.section-title h3{margin:0;font-family:STSong,Songti SC,serif}.section-title h2{font-size:21px}.section-title h3{font-size:18px}.section-title p{margin:4px 0 0;color:var(--ink-soft);font-size:12px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{display:grid;gap:18px}.muted{color:var(--ink-soft)}.small{font-size:12px}.button{min-height:42px;padding:0 17px;border-radius:12px;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13px;transition:.18s ease}.button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(54,44,30,.08)}.button.primary{background:var(--teal-deep);color:white;border-color:var(--teal-deep)}.button.sunset{background:var(--sunset);color:white;border-color:var(--sunset)}.button.danger{background:var(--danger-soft);color:var(--danger);border-color:rgba(168,85,69,.28)}.button.ghost{background:transparent}.button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}.icon-button{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--ink-soft)}.field{display:grid;gap:8px}.field[role=group],fieldset.field{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0}.field legend{padding:0 6px;font-size:12px;color:var(--ink-soft);font-weight:700}.field label:has(input[type=radio]){display:flex;align-items:center;gap:8px}.field label input[type=radio]{width:auto;min-height:0}.field label{font-size:12px;color:var(--ink-soft);font-weight:700}.field input,.field select,.field textarea,.input{width:100%;border:1px solid var(--line);background:#fffefa;color:var(--ink);border-radius:12px;padding:11px 13px;outline:none;min-height:43px}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:#8da59c;box-shadow:0 0 0 3px rgba(96,125,115,.1)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:10px;line-height:1;font-weight:800;color:#665f55;background:#eee9df;white-space:nowrap}.badge.teal{background:var(--teal-soft);color:var(--teal-deep)}.badge.sunset{background:var(--sunset-soft);color:#99582f}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.gold{background:#f7edcf;color:#896b2f}.progress{height:7px;background:#ebe6dc;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#8aa397)}.state-panel{min-height:220px;border:1px dashed var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--ink-soft);background:rgba(255,255,255,.38)}.state-panel h3{margin:12px 0 3px;color:var(--ink)}.state-panel p{margin:7px 0}.state-panel.error{color:var(--danger);min-height:110px}.center-screen{min-height:100vh;display:flex;gap:12px;align-items:center;justify-content:center;color:var(--ink-soft)}.loader,.spin{animation:spin 1s linear infinite}.loader{width:20px;height:20px;border-radius:50%;border:2px solid #d9d4c9;border-top:2px solid var(--teal)}.formula{overflow-x:auto;max-width:100%}.formula.block{padding:16px;border-radius:13px;background:#f7f3ea;border:1px solid #ebe3d6}.login-page{display:grid;grid-template-columns:minmax(0,3fr) minmax(400px,2fr);background:#ede7db}.login-page,.login-visual{min-height:100svh;position:relative;isolation:isolate;overflow:hidden}.login-visual{background:#806842}.login-visual:before{content:"";position:absolute;inset:-24px;z-index:-2;opacity:0;background:url(/branding/autumn-study-login-v2.png) 50%/cover no-repeat;filter:blur(22px) saturate(.8) brightness(.7);transform:scale(1.08)}.login-visual:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(20,26,22,.44),rgba(22,27,23,.04) 60%),linear-gradient(0deg,rgba(20,25,21,.67),transparent 54%)}.login-bg{position:absolute;inset:0;z-index:-1}.login-bg img{object-fit:cover;object-position:center 48%;filter:saturate(.84) brightness(.9)}.login-story{position:absolute;z-index:1;left:0;bottom:0;width:min(680px,88%);padding:clamp(38px,5vw,76px);color:white;text-shadow:0 2px 18px rgba(0,0,0,.34)}.login-story .chapter{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;opacity:.78}.login-story h1{margin:13px 0 15px;font-size:clamp(42px,5.4vw,72px);line-height:1.05;letter-spacing:-.06em}.login-story h1,.login-story p{font-family:STSong,Songti SC,serif}.login-story p{margin:0;font-size:clamp(15px,1.45vw,18px);line-height:1.85;opacity:.92}.login-story-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.login-story-tags span{padding:6px 10px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(23,31,26,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;font-weight:800;letter-spacing:.08em}.login-side{position:relative;display:grid;place-items:center;padding:clamp(28px,4vw,58px) clamp(28px,4vw,58px) max(62px,5vw);background:radial-gradient(circle at 85% 4%,rgba(210,165,86,.2),transparent 28%),linear-gradient(150deg,#faf7f0,#eee7d9);box-shadow:-20px 0 55px rgba(49,39,25,.12)}.login-site-footer{position:absolute;z-index:2;right:24px;bottom:15px;left:24px;margin:0;padding:0;color:#756d62}.login-side:before{content:"";position:absolute;inset:22px;pointer-events:none;border:1px solid rgba(121,103,74,.1);border-radius:28px}.login-card{position:relative;z-index:1;width:min(420px,100%);color:var(--ink);border:1px solid rgba(255,255,255,.86);border-radius:29px;background:rgba(255,253,248,.91);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:clamp(27px,3vw,38px);box-shadow:0 25px 65px rgba(67,52,32,.15),inset 0 1px rgba(255,255,255,.9)}.login-card-head{display:flex;align-items:center;gap:13px}.login-card .mini-brand{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:16px;color:white;background:linear-gradient(145deg,#57766b,#35554c);box-shadow:0 10px 25px rgba(63,98,88,.22)}.login-card-head>div:last-child{display:grid;gap:3px}.login-card-head span{color:#9b7a45;font-size:8px;font-weight:900;letter-spacing:.18em}.login-card-head strong{font-family:STSong,Songti SC,serif;font-size:15px}.login-card h2{margin:27px 0 8px;font-family:STSong,Songti SC,serif;font-size:30px;letter-spacing:-.03em}.login-card>p{margin:0 0 18px;color:var(--ink-soft);font-size:12px;line-height:1.7}.login-feature-row{display:flex;gap:8px;margin:0 0 23px}.login-feature-row span{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;color:var(--teal-deep);background:var(--teal-soft);font-size:10px;font-weight:800}.login-form{display:grid;gap:16px}.login-form .field label{color:#5f584e}.login-form .field input{min-height:50px;padding:12px 14px;border-color:#ded5c7;border-radius:14px;background:rgba(255,255,255,.86);font-size:16px}.login-form .field input::placeholder{color:#aaa195;font-size:13px}.password-field{position:relative}.password-field input{padding-right:52px!important}.password-field button{position:absolute;right:6px;top:5px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:11px;background:transparent;color:var(--ink-soft)}.password-field button:hover{background:var(--paper-2);color:var(--ink)}.login-form .button{width:100%;min-height:50px;margin-top:4px;border-radius:14px;box-shadow:0 10px 25px rgba(63,98,88,.18)}.demo-divider{display:flex;align-items:center;gap:12px;margin:22px 0 0;color:#938a7e;font-size:10px}.demo-divider:after,.demo-divider:before{content:"";height:1px;background:var(--line);flex:1 1}.secure-note{margin-top:18px;display:flex;gap:8px;color:var(--ink-soft);font-size:10px;line-height:1.5}.form-error{background:var(--danger-soft);color:var(--danger)}.form-error,.form-success{border-radius:10px;padding:10px 12px;font-size:12px}.form-success{background:rgba(55,128,105,.09);color:#285f50;border:1px solid rgba(55,128,105,.25)}.background-ingestion{display:flex;align-items:center;gap:11px;margin:-4px 0 18px;padding:11px 14px;border:1px solid rgba(55,128,105,.23);border-radius:13px;color:var(--teal-deep);background:rgba(235,244,240,.86);text-decoration:none;box-shadow:0 8px 22px rgba(45,77,67,.06)}.background-ingestion span{display:grid;gap:2px}.background-ingestion strong{font-size:13px}.background-ingestion small{color:var(--ink-soft);font-size:11px}.encouragement{position:relative;overflow:hidden;min-height:190px;padding:34px;color:#f8f5ed;background:linear-gradient(125deg,#3d5e55,#58776d 62%,#9b744b 140%);border:0;box-shadow:var(--shadow)}.encouragement:after{content:"";position:absolute;width:260px;height:260px;right:-60px;top:-100px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025)}.encouragement time{font-size:11px;opacity:.68;letter-spacing:.12em}.encouragement blockquote{margin:20px 0;max-width:850px;font-family:STSong,Songti SC,serif;font-size:clamp(22px,2.6vw,31px);line-height:1.5;position:relative;z-index:1}.encouragement .button{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.22);color:white}.metric-card{padding:20px;display:flex;align-items:center;gap:15px}.metric-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal-deep)}.metric-card:nth-child(2) .metric-icon{background:var(--sunset-soft);color:var(--sunset)}.metric-card:nth-child(3) .metric-icon{background:#f4ebd2;color:#987233}.metric-card:nth-child(4) .metric-icon{background:#eee8f3;color:#725a82}.metric-card strong{display:block;font-size:25px}.metric-card span{color:var(--ink-soft);font-size:11px}.weak-list{display:grid;gap:11px}.weak-row{padding:15px 16px;display:grid;grid-template-columns:minmax(0,1fr) 160px 44px;align-items:center;gap:16px;border-radius:15px;background:#faf7f0}.weak-row strong{font-size:13px}.weak-row p{margin:4px 0 0;color:var(--ink-soft);font-size:10px}.weak-row>span{font-weight:800;color:var(--teal-deep);text-align:right}.upload-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start}.dropzone{min-height:410px;border:1.5px dashed #b9b09f;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(243,238,227,.62));display:flex;align-items:center;justify-content:center;padding:25px;position:relative;overflow:hidden;transition:.18s ease}.dropzone.dragging{border-color:var(--teal);background:var(--teal-soft);transform:scale(.995)}.drop-prompt{text-align:center;max-width:380px}.drop-icon{width:70px;height:70px;display:grid;place-items:center;margin:0 auto 18px;border-radius:23px;background:var(--surface);color:var(--teal);box-shadow:0 12px 30px rgba(62,75,66,.1)}.drop-prompt h2{margin:0 0 9px;font-family:STSong,Songti SC,serif;font-size:23px}.drop-prompt p{color:var(--ink-soft);font-size:12px;line-height:1.7}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-picker-button{position:absolute;right:18px;bottom:18px;z-index:2;box-shadow:0 8px 22px rgba(41,39,33,.12)}.preview-grid{width:100%;align-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preview{position:relative;min-height:160px;border-radius:15px;overflow:hidden;background:#ece8de}.preview img{width:100%;height:100%;object-fit:cover}.preview .file-tile{height:100%;display:grid;place-items:center;text-align:center;padding:20px;font-size:12px}.preview .remove-file{position:absolute;top:8px;right:8px;width:auto;height:30px;padding:0 9px;border:0;border-radius:999px;background:rgba(30,30,27,.78);color:white;display:flex;gap:4px;align-items:center;font-size:11px;font-weight:700}.preview-crop-actions{position:absolute;left:8px;bottom:8px;display:flex;flex-wrap:wrap;gap:6px}.preview-crop-actions button{min-height:31px;padding:0 9px;border:1px solid rgba(255,255,255,.24);background:rgba(30,30,27,.82);display:flex;align-items:center;gap:5px;font-size:11px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cropped-badge,.preview-crop-actions button{border-radius:999px;color:white;font-weight:750}.cropped-badge{position:absolute;left:8px;top:8px;padding:5px 8px;background:rgba(60,102,87,.9);font-size:10px}.upload-options{padding:24px}.upload-actions{position:sticky;bottom:14px;padding-top:18px;background:linear-gradient(transparent,var(--surface) 25%)}.crop-dialog-backdrop{position:fixed;inset:0;z-index:100;padding:18px;display:grid;place-items:center;background:rgba(18,21,19,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.crop-dialog{width:min(1040px,100%);max-height:calc(100dvh - 36px);padding:20px;display:grid;gap:13px;overflow:auto;background:#f9f6ee}.crop-dialog-actions,.crop-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.crop-dialog-head h2{margin:2px 0 0;font-family:STSong,Songti SC,serif;font-size:clamp(20px,2.5vw,28px)}.crop-dialog-head .eyebrow{margin:0}.crop-help,.crop-output-hint{margin:0;display:flex;align-items:center;gap:7px;color:var(--ink-soft)}.crop-stage{min-height:300px;max-height:66dvh;padding:10px;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:#1e211f}.crop-surface{--crop-aspect:1;position:relative;width:min(100%,calc(62dvh * var(--crop-aspect)));max-height:62dvh;aspect-ratio:var(--crop-aspect);overflow:hidden;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.crop-surface>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.crop-mask{display:none}.crop-selection{position:absolute;min-width:2%;min-height:2%;border:2px solid #fff;cursor:move;box-shadow:0 0 0 9999px rgba(5,8,7,.62),0 0 0 1px rgba(35,111,92,.8);touch-action:none}.crop-grid{position:absolute;pointer-events:none;background:rgba(255,255,255,.55)}.crop-grid.vertical{top:0;bottom:0;width:1px}.crop-grid.horizontal{left:0;right:0;height:1px}.crop-grid.first.vertical{left:33.333%}.crop-grid.second.vertical{left:66.666%}.crop-grid.first.horizontal{top:33.333%}.crop-grid.second.horizontal{top:66.666%}.crop-handle{position:absolute;width:32px;height:32px;padding:0;border:0;background:transparent;touch-action:none}.crop-handle:after{content:"";position:absolute;width:13px;height:13px;border-color:#fff;border-style:solid;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.crop-handle.nw{left:-17px;top:-17px;cursor:nwse-resize}.crop-handle.ne{right:-17px;top:-17px;cursor:nesw-resize}.crop-handle.sw{left:-17px;bottom:-17px;cursor:nesw-resize}.crop-handle.se{right:-17px;bottom:-17px;cursor:nwse-resize}.crop-handle.nw:after{right:2px;bottom:2px;border-width:3px 0 0 3px}.crop-handle.ne:after{left:2px;bottom:2px;border-width:3px 3px 0 0}.crop-handle.sw:after{right:2px;top:2px;border-width:0 0 3px 3px}.crop-handle.se:after{left:2px;top:2px;border-width:0 3px 3px 0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;margin-bottom:18px}.toolbar .input{width:min(280px,100%)}.toolbar select{border:1px solid var(--line);background:var(--surface);border-radius:11px;min-height:40px;padding:0 12px;color:var(--ink-soft)}.library-list{display:grid;gap:12px}.question-card{display:grid;grid-template-columns:28px 112px minmax(0,1fr) auto;gap:17px;align-items:center;padding:15px;transition:.18s ease}.question-card:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(66,51,34,.07)}.question-card.selected{border-color:#8ba399;background:#fbfdfb}.question-check{width:18px;height:18px;accent-color:var(--teal)}.question-thumb{height:84px;border-radius:12px;overflow:hidden;background:var(--paper-2)}.question-thumb img{width:100%;height:100%;object-fit:cover}.question-main{min-width:0}.question-title{margin:8px 0 5px;font-size:14px;font-weight:700}.question-preview,.question-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-preview{color:var(--ink-soft);font-size:11px}.question-preview p,.question-title p{display:inline;margin:0}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.question-side{display:grid;justify-items:end;gap:8px;min-width:95px}.bulk-bar{position:sticky;bottom:16px;z-index:10;margin:18px auto 0;width:fit-content;padding:10px 13px;display:flex;gap:10px;align-items:center;background:rgba(41,59,54,.95);color:white;border-radius:16px;box-shadow:0 14px 35px rgba(23,34,30,.28)}.bulk-bar .button{min-height:36px}.bulk-check{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:20px;align-items:start}.asset-viewer{background:#272622;border-radius:var(--radius);overflow:hidden;min-height:390px;display:grid;place-items:center}.asset-viewer img{display:block;max-width:100%;max-height:630px;object-fit:contain}.problem-text{padding:23px}.problem-text h2{font-family:STSong,Songti SC,serif;font-size:20px}.problem-document{display:grid;gap:15px;line-height:1.85;color:var(--ink)}.problem-document>p,.problem-document>ul{margin:0}.problem-figure{margin:4px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8f5ec;text-align:center}.problem-figure img{display:block;width:auto;max-width:100%;max-height:680px;margin:0 auto;object-fit:contain}.problem-figure figcaption{margin-top:10px;color:var(--muted);font-size:13px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attempt-history{display:grid;gap:12px}.attempt-entry{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fcfbf7}.attempt-entry-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.attempt-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin-top:12px}.attempt-photo-grid a{display:grid;gap:5px;color:var(--ink-soft);text-decoration:none;font-size:11px;min-width:0}.attempt-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:10px;background:white}.attempt-photo-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attempt-upload-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.attempt-file-list{display:flex;flex-wrap:wrap;gap:7px}.attempt-file-list>span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:6px 8px;border-radius:9px;background:#f2efe5;color:var(--ink-soft);font-size:12px}.attempt-file-list button{display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--sunset);cursor:pointer}.problem-note{padding:12px 14px;border-left:3px solid var(--sunset);background:var(--sunset-soft);border-radius:8px}.transcription-editor{display:grid;gap:14px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.62)}.live-transcription-preview{min-height:150px;border-color:#bfd1c9;background:#f8fbf9}.live-transcription-preview>strong{display:block;margin-bottom:12px;color:var(--teal-deep)}.live-transcription-preview,.live-transcription-preview .problem-document,.transcription-editor,.transcription-editor>*{min-width:0;max-width:100%}.transcription-editor textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:clamp(180px,32dvh,420px);box-sizing:border-box;overflow-x:auto;overflow-wrap:anywhere;resize:vertical}.live-transcription-preview .rich-markdown,.live-transcription-preview p{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.live-transcription-preview .formula{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.transcription-editor-actions{align-items:stretch}.uncertainty-list{display:grid;gap:8px;margin:12px 0;padding:12px 14px;border-radius:12px;background:#fff6dd;color:#74551d}.visual-lab-card{padding:22px;overflow:hidden}.teaching-svg{width:100%;max-height:245px;margin:8px 0 4px;overflow:visible}.teaching-svg line{stroke:#817b70;stroke-width:1.4}.teaching-svg .guide{stroke:#c7bfae;stroke-dasharray:5 5}.teaching-svg .wave{fill:none;stroke:var(--teal);stroke-width:3}.teaching-svg .marker{stroke:var(--sunset);stroke-dasharray:4 4}.teaching-svg .marker-dot{fill:var(--sunset)}.teaching-svg .phasor{stroke:var(--teal);stroke-width:4}.teaching-svg .phasor-head{fill:var(--teal)}.teaching-svg text{fill:var(--muted);font-size:11px}.range-field{display:grid;gap:8px;color:var(--ink);font-weight:650}.range-field input{accent-color:var(--teal)}.analysis-card{padding:24px}.analysis-card .root-cause{border-left:3px solid var(--sunset);padding:13px 15px;background:var(--sunset-soft);border-radius:0 12px 12px 0;line-height:1.7;font-size:13px}.streamed-solution{white-space:pre-wrap;line-height:1.85;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.58)}.rich-markdown,.streamed-solution{overflow-wrap:anywhere;font-size:13px}.rich-markdown{line-height:1.8}.rich-markdown>:first-child{margin-top:0}.rich-markdown>:last-child{margin-bottom:0}.rich-markdown h2,.rich-markdown h3,.rich-markdown h4{margin:20px 0 9px;line-height:1.45}.rich-markdown p{margin:8px 0}.rich-markdown ol,.rich-markdown ul{margin:8px 0;padding-left:22px}.rich-markdown hr{border:0;border-top:1px solid var(--line);margin:18px 0}.rich-markdown code{padding:2px 5px;border-radius:5px;background:rgba(34,100,94,.09);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.analysis-card>.rich-markdown{padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.58)}.multi-question-picker{border-color:#d8b56d;background:linear-gradient(145deg,rgba(255,251,238,.96),rgba(250,247,238,.94))}.candidate-choice-grid{display:grid;gap:12px}.candidate-choice{display:grid;grid-template-columns:22px minmax(0,1fr);gap:13px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.62);cursor:pointer;transition:.16s ease}.candidate-choice:hover{border-color:#a9bdb5;transform:translateY(-1px)}.candidate-choice.selected{border-color:var(--teal);background:#f3f8f5;box-shadow:0 7px 20px rgba(61,91,82,.08)}.candidate-choice>input{width:18px;height:18px;margin-top:3px;accent-color:var(--teal-deep)}.candidate-choice .rich-markdown{min-width:0}.candidate-work-preview{padding:12px;border-left:3px solid var(--sunset);border-radius:10px;background:var(--sunset-soft)}.candidate-work-preview>strong{display:block;margin-bottom:6px;font-size:12px;color:#865333}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.step,.steps{display:grid;gap:12px}.step{grid-template-columns:30px minmax(0,1fr)}.step-index{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal-deep);font-size:12px;font-weight:800}.step h4{margin:2px 0 8px;font-size:13px}.side-stack{display:grid;gap:16px;position:sticky;top:20px}.chat-panel{overflow:hidden}.chat-head{padding:17px 18px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.chat-head h3{margin:0;font-size:14px}.chat-messages{min-height:260px;max-height:460px;overflow-y:auto;padding:17px;display:grid;align-content:start;gap:12px}.bubble{max-width:91%;border-radius:14px 14px 14px 4px;background:#f1ede4;padding:11px 13px;font-size:12px;line-height:1.7;white-space:pre-wrap}.bubble.user{justify-self:end;border-radius:14px 14px 4px 14px;color:white;background:var(--teal-deep)}.bubble .rich-markdown{font-size:inherit;white-space:normal}.chat-compose{padding:13px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.chat-compose textarea{min-height:42px;max-height:120px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:10px}.chat-compose button{border:0;border-radius:12px;color:white;background:var(--teal-deep)}.review-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.review-buttons button{min-height:40px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:11px;font-weight:800}.review-buttons button:hover{border-color:var(--teal);color:var(--teal)}.subject-choice{min-height:230px;padding:28px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.subject-choice:after{position:absolute;right:-10px;top:-28px;font-family:serif;font-size:150px;font-weight:900;color:rgba(96,125,115,.08)}.subject-choice.math:after{content:"∫"}.subject-choice.circuit:after{content:"Ω"}.subject-choice h2{margin:12px 0 7px;font-family:STSong,Songti SC,serif;font-size:27px}.subject-choice p{color:var(--ink-soft);line-height:1.7;max-width:520px}.knowledge-list{display:grid;gap:11px}.knowledge-node{display:grid;grid-template-columns:minmax(0,1fr) 180px 70px;align-items:center;gap:18px;padding:17px}.knowledge-node.level-1{background:#edf3f0;border-color:#d4e0db}.knowledge-node-link{color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.knowledge-node-link:focus-visible,.knowledge-node-link:hover{transform:translateY(-2px);border-color:var(--teal);box-shadow:0 10px 24px rgba(61,91,82,.12);outline:none}.knowledge-node-side{text-align:right}.knowledge-node-side span{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;margin-top:5px;color:var(--teal);font-size:10px;font-weight:800}.knowledge-node h3{margin:0 0 6px;font-size:14px}.knowledge-node p{margin:0;font-size:11px;color:var(--ink-soft)}.chart-bars{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:160px minmax(0,1fr) 38px;gap:12px;align-items:center;font-size:12px}.bar{height:11px;border-radius:99px;background:#eee8dc;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--sunset),#e2ad6a);border-radius:inherit}.insight-card{padding:25px;background:linear-gradient(140deg,#f7eadc,#fffaf1);border-color:#edd8bf}.insight-card p{margin:9px 0 0;line-height:1.8}.resource-card,.task-row{padding:16px;display:flex;gap:14px;align-items:center}.task-check{width:21px;height:21px;accent-color:var(--teal)}.resource-copy,.task-copy{min-width:0;flex:1 1}.resource-copy h3,.task-copy h3{margin:0 0 5px;font-size:13px}.resource-copy p,.task-copy p{margin:0;color:var(--ink-soft);font-size:11px}.resource-card{align-items:flex-start}.resource-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:var(--sunset-soft);color:var(--sunset)}.resource-card a{color:var(--teal-deep);font-weight:800}.provider-row{padding:18px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center}.status-dot{width:11px;height:11px;border-radius:50%;background:#b7afa3;box-shadow:0 0 0 5px rgba(183,175,163,.15)}.status-dot.on{background:#6f947f;box-shadow:0 0 0 5px rgba(111,148,127,.15)}.daily-overview{background:linear-gradient(135deg,rgba(242,248,244,.96),rgba(255,247,235,.94))}.daily-question-list{display:grid;gap:12px}.daily-question{padding:18px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;align-items:center;color:inherit;text-decoration:none;transition:.16s ease}.daily-question:hover{transform:translateY(-2px);border-color:var(--teal);box-shadow:0 10px 24px rgba(61,91,82,.1)}.daily-question.completed{opacity:.72;background:#f3f7f4}.daily-question .task-copy h3{margin-top:10px;line-height:1.65}.daily-question-side{display:flex;align-items:center;gap:8px;color:var(--teal)}.notification-actions{display:flex;flex-wrap:wrap;gap:9px}.delivery-list{display:grid;gap:8px}.delivery-row{padding:11px 13px;display:flex;align-items:center;gap:10px;border-radius:11px;background:rgba(255,255,255,.58);border:1px solid var(--line)}.delivery-row>div{flex:1 1;min-width:0}.delivery-row small,.delivery-row strong{display:block}@media (max-width:1060px){.main-content{padding:34px 30px 60px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout,.upload-layout{grid-template-columns:1fr}.side-stack{position:static}.login-page{grid-template-columns:minmax(0,1fr) minmax(370px,46%)}.login-story{width:94%;padding:42px}.login-side{padding:30px}.login-side:before{inset:14px}}@media (max-width:760px){.app-layout{display:block}.app-layout:before{inset:0}.sidebar{position:fixed;left:0;top:0;width:min(280px,86vw);transform:translateX(-105%);transition:transform .22s ease}.sidebar.is-open{transform:translateX(0)}.sidebar-scrim{position:fixed;inset:0;z-index:25;border:0;background:rgba(22,28,25,.45)}.close-menu{margin-left:auto;display:grid;place-items:center;border:0;background:transparent;color:white}.mobile-menu{display:grid;place-items:center;position:fixed;right:16px;top:14px;z-index:20;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:rgba(255,253,248,.9);color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.main-content{padding:25px 16px 55px}.page-header{padding-right:52px;align-items:flex-start}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.encouragement{padding:26px 23px}.weak-row{grid-template-columns:minmax(0,1fr) 80px 35px}.login-page{min-height:100dvh;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(340px,47dvh) auto;overflow:auto;background:#eee7da}.login-visual{min-height:340px}.login-visual:before{opacity:1}.login-visual:after{background:linear-gradient(180deg,rgba(22,28,24,.38),transparent 35%,rgba(20,25,21,.44))}.login-bg{inset:0}.login-bg img{object-fit:contain;object-position:center;filter:saturate(.86) brightness(.94)}.login-story{top:0;bottom:auto;width:100%;padding:20px 19px}.login-story .chapter{font-size:8px;letter-spacing:.15em}.login-story h1{margin:9px 0 0;font-size:33px}.login-story p,.login-story-tags{display:none}.login-side{width:100%;align-items:start;padding:0 13px max(20px,env(safe-area-inset-bottom));margin-top:-24px;border-radius:27px 27px 0 0;box-shadow:0 -18px 45px rgba(56,43,27,.16)}.login-side:before{display:none}.login-card{width:min(480px,100%);padding:25px 21px 21px;border-radius:25px}.login-site-footer{position:static;width:100%;margin-top:16px;padding:0 8px}.login-card h2{margin-top:22px;font-size:27px}.login-feature-row{margin-bottom:19px}.login-form{gap:14px}.demo-divider{margin-top:19px}.dropzone{min-height:320px}.preview-grid{grid-template-columns:1fr}.crop-dialog-backdrop{padding:0;place-items:stretch}.crop-dialog{width:100%;max-height:100dvh;min-height:100dvh;border-radius:0;padding:15px}.crop-stage{min-height:260px;max-height:61dvh;padding:6px}.crop-surface{width:min(100%,calc(58dvh * var(--crop-aspect)));max-height:58dvh}.crop-dialog-actions{align-items:stretch;flex-direction:column}.crop-dialog-actions>.button,.crop-dialog-actions>.tag-row{width:100%}.crop-dialog-actions .tag-row{display:grid;grid-template-columns:.7fr 1.3fr}.transcription-editor{width:100%;padding:13px;margin-inline:0;overflow:hidden}.transcription-editor textarea{min-height:clamp(190px,36dvh,390px);font-size:16px;line-height:1.65}.transcription-editor-actions{display:grid;grid-template-columns:1fr}.transcription-editor-actions .button{width:100%;min-height:46px;white-space:normal}.live-transcription-preview{padding:14px;overflow:hidden}.live-transcription-preview .formula{-webkit-overflow-scrolling:touch}.question-card{grid-template-columns:24px 76px minmax(0,1fr);gap:10px}.question-thumb{height:70px}.question-side{grid-column:2/-1;display:flex;justify-content:space-between;width:100%}.daily-question{grid-template-columns:30px minmax(0,1fr)}.daily-question-side{grid-column:2;justify-content:flex-end}.bulk-bar,.toolbar .input{width:100%}.bulk-bar{overflow-x:auto;justify-content:flex-start}.knowledge-node{grid-template-columns:minmax(0,1fr) 60px}.knowledge-node .progress{grid-column:1/-1;grid-row:2}.bar-row{grid-template-columns:90px minmax(0,1fr) 34px}}@media (max-width:390px){.login-page{grid-template-rows:minmax(310px,44dvh) auto}.login-visual{min-height:310px}.login-card{padding-inline:18px}.login-card>p{margin-bottom:14px}}@media (max-height:680px) and (min-width:761px){.login-story{padding-block:30px}.login-story p,.login-story-tags{display:none}.login-card{padding-block:25px}.login-card h2{margin-top:20px}.login-feature-row{margin-bottom:16px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}