:root{color-scheme:light;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f7f2;color:#1f2d2a;font-synthesis:none;text-rendering:optimizeLegibility;--brand: #1f7668;--brand-soft: #e6f2ee;--ink: #1f2d2a;--muted: #71807a;--line: #dfe5df;--surface: #ffffff;--soft: #f8faf7;--danger: #a0443e;--danger-soft: #f8ecea;--radius: 18px;--shadow: 0 18px 50px rgba(38, 55, 51, .08);--shadow-soft: 0 10px 28px rgba(38, 55, 51, .06)}.drop-zone{padding-top:28px;background:url(/puddle.svg) 18% 90% / 120px auto no-repeat,var(--bg-card)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f7f2}.diagnostic-page,.app-error-page{min-height:100vh;display:grid;align-content:start;gap:18px;padding:28px;background:#f6f7f2}.diagnostic-page h1,.app-error-page h1{margin:0;font-size:28px}.diagnostic-page dl,.app-error-page section{max-width:880px;display:grid;gap:12px;margin:0;padding:22px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.diagnostic-page dl div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px}.diagnostic-page dt{color:var(--muted)}.diagnostic-page dd{margin:0;overflow-wrap:anywhere}.diagnostic-page pre,.app-error-page pre{max-width:880px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;border-radius:16px;background:#f8f3ed;color:#684038}.app-error-page section div{display:flex;flex-wrap:wrap;gap:10px}.app-version{margin-top:12px;color:var(--muted);font-size:12px;text-align:center}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{color:inherit}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(31,118,104,.08),transparent 360px),#f6f7f2}.app-header{position:sticky;top:0;z-index:20;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 32px;background:#f6f7f2db;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,229,223,.7)}.brand{display:inline-flex;align-items:center;gap:12px;border:0;background:transparent;padding:0;text-align:left}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:21px;font-weight:800}.brand strong{display:block;font-size:17px}.brand small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.top-nav{display:flex;align-items:center;gap:6px;padding:5px;border-radius:999px;background:#ffffffb8}.nav-item{min-height:40px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:999px;padding:0 14px;background:transparent;color:#51625d}.nav-item.active{background:var(--brand);color:#fff;box-shadow:0 10px 25px #1f76682e}.app-main{width:min(1180px,calc(100vw - 48px));margin:0 auto;padding:34px 0 80px;display:grid;grid-template-columns:1fr;gap:28px}.app-main.with-sidebar{width:min(1340px,calc(100vw - 48px));grid-template-columns:340px minmax(0,1fr);align-items:start}.page-stage{min-width:0}.sidebar{position:sticky;top:100px;max-height:calc(100vh - 122px);overflow:auto;padding:20px;background:#ffffffd1;border-radius:var(--radius);box-shadow:var(--shadow)}.sidebar::-webkit-scrollbar,.knowledge-tree::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb,.knowledge-tree::-webkit-scrollbar-thumb{background:#485c562e;border-radius:999px}.sidebar:not(.open){display:none}.sidebar-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.sidebar-head p,.eyebrow{margin:0 0 4px;color:var(--brand);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.sidebar-head strong{font-size:16px}.icon-button{width:34px;height:34px;border:0;border-radius:999px;display:inline-grid;place-items:center;background:#eef3ef;color:var(--brand)}.sidebar-rail{position:sticky;top:100px;width:58px;height:92px;border:0;border-radius:18px;background:var(--surface);box-shadow:var(--shadow);color:var(--brand);display:grid;place-items:center;align-content:center;gap:6px}.sidebar-rail span{font-size:12px}.knowledge-tree{display:grid;gap:4px}.tree-all,.tree-label{border:0;background:transparent;color:inherit}.tree-all span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-all{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;padding:0 12px;border-radius:12px;color:#40534e;font-weight:700}.tree-all.active,.tree-item.active .tree-label{background:var(--brand-soft);color:#15574d}.tree-item{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;min-height:42px}.tree-toggle{width:24px;height:28px;border:0;background:transparent;color:#7d8b85;display:grid;place-items:center}.tree-spacer{width:24px}.tree-label{width:100%;min-height:40px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:10px;padding:0 10px;border-radius:12px;text-align:left}.tree-label span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.tree-label em,.tree-all em{font-style:normal;color:#70817b;font-size:12px;text-align:right;justify-self:end}.tree-item.level-2{margin-left:10px}.tree-item.level-1 .tree-label{font-size:15.5px;font-weight:820}.tree-item.level-2 .tree-label{font-size:14px;font-weight:560}.tree-children{display:grid;gap:2px}.page-stack{display:grid;gap:24px}.page-hero,.upload-hero{min-height:210px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:34px;border-radius:28px;background:linear-gradient(145deg,#fff,#eef6f1);box-shadow:var(--shadow)}.page-hero.compact{min-height:150px;align-items:center}.page-hero h1,.upload-hero h1{max-width:760px;font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:0;margin:0 0 14px}.page-hero.compact h1{font-size:clamp(28px,3vw,38px)}.page-hero p,.upload-hero p{max-width:660px;color:#63736d;font-size:17px;line-height:1.75;margin-bottom:0}.primary-button,.secondary-button,.icon-text-button,.text-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:999px;padding:0 18px;font-weight:760;white-space:nowrap}.primary-button{background:var(--brand);color:#fff;box-shadow:0 14px 32px #1f76682e}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.secondary-button{background:#fff;color:var(--brand);border:1px solid #d8e2dc;position:relative;overflow:hidden}.secondary-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.secondary-button.visible{overflow:visible}.text-button{background:transparent;color:var(--brand);padding:0}.icon-text-button{background:#f1f5f2;color:#49605a;padding:0 14px}.icon-text-button.danger{color:var(--danger);background:var(--danger-soft)}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.today-flow-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}.today-flow-card div{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;align-items:center}.today-flow-card svg{grid-row:span 2;color:var(--brand)}.today-flow-card strong{color:#263832;font-size:17px}.today-flow-card span{color:var(--muted);line-height:1.6}.today-flow-card.done{background:var(--brand-soft)}.metric-card,.soft-panel,.list-surface,.review-column,.upload-section,.editor-page,.reading-page{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{padding:24px}.metric-card span{color:var(--muted);font-size:14px}.metric-card strong{display:block;margin:8px 0 6px;color:var(--brand);font-size:40px;line-height:1}.metric-card em{color:#87948f;font-style:normal}.soft-panel{padding:26px}.soft-panel h2{margin-bottom:12px;font-size:22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;color:var(--ink);font-weight:800}.section-title span{display:inline-flex;align-items:center;gap:8px}.section-title em{font-style:normal;color:var(--muted);font-size:13px}.muted{color:var(--muted);line-height:1.8;margin-bottom:0}.weak-grid,.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.weak-item,.quick-actions button{min-height:86px;border:0;border-radius:16px;background:var(--soft);display:grid;align-content:center;gap:6px;padding:18px;color:var(--ink);text-align:left}.quick-actions button{color:var(--brand)}.weak-item span{color:var(--muted);font-size:13px}.hero-actions,.upload-actions,.detail-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.variant-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:5px;border-radius:999px;background:#ffffffbd}.variant-switch button{min-height:38px;border:0;border-radius:999px;background:transparent;color:#5e706a;font-weight:760}.variant-switch button.active{background:var(--brand-soft);color:var(--brand)}.merge-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:14px;font-weight:680}.merge-toggle input{accent-color:var(--brand)}.list-surface{padding:22px}.list-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 130px 150px;gap:12px;margin-bottom:18px}.search-input{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:999px;background:#f3f6f3;color:#65746f}.search-input input{width:100%;min-width:0;border:0;outline:0;background:transparent}select,input,textarea{border:1px solid #dce4dd;background:#fff;border-radius:14px;outline:0}.list-toolbar select{min-width:0;padding:0 12px}.question-stack,.mini-stack{display:grid;gap:12px}.question-row{width:100%;border:0;border-radius:18px;background:#fbfcfa;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px;color:inherit;text-align:left}.question-row:hover{background:#f1f7f3}.question-row h3{margin:10px 0 8px;font-size:18px;line-height:1.65;font-weight:760}.question-row p{margin:0;color:var(--muted);line-height:1.6}.question-row-meta{min-width:110px;display:grid;justify-items:end;gap:6px;color:#71807a;font-size:13px}.question-row-meta strong,.soft-label{width:fit-content;border-radius:999px;padding:4px 10px;background:var(--brand-soft);color:var(--brand);font-size:13px}.empty-block{min-height:180px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.upload-panel{display:grid;gap:24px}.upload-grid{display:grid;grid-template-columns:minmax(320px,36%) minmax(0,64%);gap:24px;align-items:start}.learning-hero{min-height:108px;padding:24px 28px;align-items:center}.learning-hero h1{font-size:clamp(26px,3vw,36px);margin-bottom:8px}.learning-hero p{max-width:none;font-size:15px;line-height:1.5}.ocr-pill{border:0;border-radius:999px;min-height:36px;padding:0 14px;font-weight:780}.ocr-pill.connected{background:var(--brand-soft);color:var(--brand)}.ocr-pill.warning{background:var(--danger-soft);color:var(--danger)}.step-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.step-flow li{min-width:0;border-radius:16px;background:transparent}.step-flow button{width:100%;min-height:48px;border:0;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:16px;background:#ffffffb3;color:#8a9692;text-align:left}.step-flow .active button{background:#fff;color:var(--brand);box-shadow:var(--shadow-soft)}.step-flow .done button{background:var(--brand-soft);color:#15574d}.step-flow span{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:13px;font-weight:800}.step-flow strong{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.step-flow .pending strong{font-weight:640}.upload-left,.upload-right{display:grid;gap:18px}.drop-zone{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;padding:28px;border:1.5px dashed #9bb8ae;border-radius:24px;background:#ffffffc2;color:var(--brand);text-align:center;position:relative}.compact-zone{min-height:168px;padding:22px}.drop-zone strong{font-size:22px;color:var(--ink)}.drop-zone span{color:var(--muted)}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-section{padding:22px}.learning-upload,.preview-section,.focus-section,.compact-heading{box-shadow:var(--shadow-soft)}.upload-actions.slim{margin-top:14px}.inline-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.file-strip{min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:#f7faf7}.file-strip strong{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-strip span{color:var(--muted);font-size:13px}.file-replace{position:relative}.visually-hidden-file{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}.text-button.danger{color:var(--danger)}.ocr-settings-card{display:grid;gap:14px;padding:20px;border-radius:22px;background:#ffffffd1;box-shadow:var(--shadow-soft)}.ocr-settings-card h2{margin:0;font-size:20px}.ocr-settings-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.ocr-settings-card dt{color:var(--muted);font-size:12px}.ocr-settings-card dd{margin:3px 0 0;color:#243832;font-weight:760}.warning-text{color:#9a4e42}.upload-preview{width:100%;max-height:360px;object-fit:contain;border-radius:18px;background:#f2f5f2}.preview-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#f2f6f3}.preview-tabs button{min-height:30px;border:0;border-radius:999px;padding:0 10px;background:transparent;color:var(--muted);font-size:13px;font-weight:760}.preview-tabs button.active{background:#fff;color:var(--brand)}.single-preview{width:100%;border:0;display:grid;gap:10px;padding:0;background:transparent;color:var(--brand);text-align:left}.single-preview img{width:100%;max-height:240px;object-fit:contain;border-radius:16px;background:#f2f5f2}.single-preview span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:780}.preview-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.preview-compare.three{grid-template-columns:repeat(3,minmax(0,1fr))}.preview-compare>div{display:grid;gap:10px;align-content:start}.preview-compare strong{color:#40534e;font-size:14px}.pdf-preview{min-height:140px;border-radius:18px;background:#f5f7f5;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted)}.notice{border-radius:16px;background:#f4f8f5;padding:16px;color:#435550}.notice.warning{background:#f8f3ed}.fallback-actions div{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.notice p{color:var(--muted);margin:6px 0 0;line-height:1.7}.ocr-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.8;color:#344943}.ocr-progress{display:grid;gap:10px}.ocr-progress div{height:10px;border-radius:999px;background:#edf2ee;overflow:hidden}.ocr-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .2s ease}.ocr-progress p{margin:0;color:var(--muted)}.provider-banner,.quality-panel{border-radius:16px;background:#f3f8f5;padding:14px;margin-bottom:14px}.provider-banner.warning,.quality-panel.warning{background:#f8f3ed}.provider-banner p,.quality-panel p{margin:6px 0 0;color:var(--muted);line-height:1.7}.quality-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.quality-panel ul{margin:0 0 12px;padding-left:18px;color:#586a64;line-height:1.8}.diagnostics-panel{border-radius:16px;background:#f5f8f5;padding:14px}.recognition-details{margin-top:16px}.learning-details{margin-top:0;display:block}.recognition-details summary{cursor:pointer;color:#40534e;font-weight:760}.learning-details>*+*{margin-top:14px}.diagnostics-panel strong{display:block;margin-bottom:10px}.diagnostics-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.diagnostics-panel div{min-width:0}.diagnostics-panel dt{color:var(--muted);font-size:12px}.diagnostics-panel dd{margin:2px 0 0;color:#30443f;font-weight:760}.ocr-editor{display:grid;gap:8px;margin-top:14px;color:#40534e;font-size:14px;font-weight:760}.ocr-editor textarea{width:100%;padding:14px;line-height:1.75;resize:vertical}.primary-editor textarea{min-height:190px;max-height:420px;field-sizing:content}.readonly-textarea{width:100%;margin-top:12px;padding:14px;line-height:1.75;resize:vertical}.quality-ok{margin:14px 0 0;color:var(--muted);font-size:14px}.confirm-review-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.confirm-review-row p{margin:0}.primary-button.confirmed{background:#166253}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.question-form{display:grid;gap:18px}.learning-form{padding-bottom:86px}.form-section{display:grid;gap:16px;padding-top:20px;border-top:1px solid var(--line)}.form-section:first-child{padding-top:0;border-top:0}.form-section h2{margin:0;font-size:17px;letter-spacing:0}.question-form label{display:grid;gap:8px;color:#40534e;font-size:14px;font-weight:760}.question-form input,.question-form select,.question-form textarea{width:100%;min-height:48px;padding:12px 14px;font-weight:520}.question-form textarea{resize:vertical;line-height:1.7}.question-form .stem-input{min-height:180px}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-columns.small{grid-template-columns:repeat(3,minmax(0,1fr))}.form-save{justify-self:start}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.subtle-details{border-radius:16px;background:#f7faf7;padding:14px}.subtle-details summary{cursor:pointer;color:#40534e;font-weight:760}.subtle-details textarea{margin-top:12px}.compact-muted{font-size:14px}.ai-note{display:grid;gap:6px;border-radius:16px;background:#f7faf7;padding:14px}.ai-note span{color:var(--muted);font-size:13px}.ai-note p{margin:0;color:#4d5f59;line-height:1.8}.category-grid select,.category-grid input{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-search{min-height:36px!important;padding:8px 10px!important;background:#f7faf7;font-size:13px}.recommend-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;padding:14px;border-radius:16px;background:var(--brand-soft)}.recommend-card span{display:block;color:var(--brand);font-size:13px;font-weight:820}.recommend-card strong{display:block;min-width:0;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f3d36}.recommend-card em{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-style:normal}.recommend-candidates{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.recommend-candidates button{min-height:30px;border:0;border-radius:999px;padding:0 10px;background:#fff;color:var(--brand);font-size:12px;font-weight:760}.recent-classifications{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.recent-classifications span{color:var(--muted);font-size:13px}.recent-classifications button{min-height:32px;border:0;border-radius:999px;padding:0 12px;background:#f1f6f2;color:var(--brand);font-size:13px;font-weight:760}.form-action-bar{position:sticky;bottom:18px;z-index:12;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;border:1px solid rgba(223,229,223,.86);border-radius:20px;background:#ffffffeb;box-shadow:0 18px 42px #26373324;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.subtle-ai{margin-top:12px}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#1f2d2a52;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.success-dialog{width:min(460px,100%);display:grid;justify-items:start;gap:14px;padding:28px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.success-dialog>svg{color:var(--brand)}.success-dialog h2{margin:0}.saved-path{display:grid;gap:6px;color:var(--muted)}.saved-path strong{color:#263832}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.image-backdrop{place-items:stretch}.image-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;width:min(1100px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px));margin:auto;padding:16px;border-radius:24px;background:#fff}.image-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.image-dialog-head div{display:flex;gap:8px}.image-stage{min-height:0;overflow:auto;display:grid;place-items:center;border-radius:18px;background:#f2f5f2;cursor:grab}.image-stage img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center}.editor-page{padding:28px;display:grid;gap:22px}.reading-page{max-width:880px;margin:0 auto;padding:34px}.detail-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.question-meta-line{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.question-meta-line span{border-radius:999px;padding:5px 11px;background:#eef4f0;color:#516a63;font-size:13px}.reading-page h1{font-size:clamp(25px,3vw,36px);line-height:1.55;letter-spacing:0;margin-bottom:26px}.option-reader{display:grid;gap:14px;margin-bottom:24px}.option-reader-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:17px 18px;border-radius:18px;background:#f8faf7;line-height:1.75;font-size:17px}.option-reader-item strong{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#e9eeeb;color:#52645f}.option-reader-item.correct{background:var(--brand-soft)}.option-reader-item.correct strong{background:var(--brand);color:#fff}.option-reader-item.wrong-answer{background:var(--danger-soft)}.answer-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:28px}.answer-summary div{border-radius:18px;background:#f5f8f5;padding:18px}.answer-summary span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.answer-summary strong{color:var(--brand);font-size:26px}.answer-summary .wrong strong{color:var(--danger)}.analysis-blocks{display:grid;gap:16px}.analysis-blocks section{border-top:1px solid var(--line);padding-top:18px}.analysis-blocks h2{font-size:18px;margin-bottom:8px}.analysis-blocks p{color:#4d5f59;line-height:1.9;font-size:16px;margin-bottom:0}.analysis-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.ai-analysis-card{display:grid;gap:16px;border-radius:18px;background:#f8faf7;padding:18px}.ai-analysis-card h3{margin:0 0 6px;font-size:15px}.option-analysis-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.option-analysis-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;line-height:1.7}.review-grid,.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stats-grid{grid-template-columns:1.1fr .9fr}.review-column{min-width:0;padding:20px}.review-column .question-row{grid-template-columns:1fr;width:100%;min-width:0}.review-column .question-row-meta{justify-items:start}.bar-list{display:grid;gap:14px}.bar-row{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr) 34px;align-items:center;gap:14px;color:#40524d}.bar-row div{height:10px;border-radius:999px;background:#edf2ee;overflow:hidden}.bar-row i{display:block;height:100%;border-radius:inherit;background:var(--brand)}.bar-row em{font-style:normal;color:var(--muted)}.rank-list{margin:0;padding-left:18px;display:grid;gap:12px}.rank-list li{color:#40534e;line-height:1.6}.rank-list em{margin-left:8px;color:var(--brand);font-style:normal}.mastery-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mastery-list div{border-radius:16px;background:#f5f8f5;padding:18px}.mastery-list span{display:block;color:var(--muted);margin-bottom:8px}.mastery-list strong{color:var(--brand);font-size:28px}.mine-summary{display:grid;gap:12px;justify-items:start}.practice-mode-select,.practice-count-input{min-height:42px;padding:0 12px}.practice-count-input{width:92px}.review-start-button{width:100%;margin-bottom:14px}.icon-text-button.active{background:var(--brand-soft);color:var(--brand)}.practice-shell{width:min(900px,100%);margin:0 auto;padding-bottom:112px}.practice-topbar{position:sticky;top:88px;z-index:12;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;margin-bottom:18px;padding:12px;border:1px solid rgba(223,229,223,.86);border-radius:20px;background:#ffffffe6;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.practice-topbar>div{min-width:0;display:grid;gap:3px}.practice-topbar strong,.practice-topbar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-score{display:flex!important;flex-direction:row;gap:8px;color:var(--muted);font-size:13px}.practice-card,.practice-result-card{display:grid;gap:20px;padding:30px;border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.practice-card h1{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.65;letter-spacing:0}.practice-option{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;border:1px solid #dfe7e2;border-radius:18px;padding:18px;background:#fbfcfa;color:#263832;text-align:left}.practice-option strong{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#eef3ef;color:var(--brand)}.practice-option.selected{border-color:#1f766861;background:var(--brand-soft)}.practice-feedback{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:20px}.practice-feedback h2{margin:0;color:var(--brand)}.practice-feedback.wrong h2{color:var(--danger)}.practice-feedback h3{margin:0 0 6px;font-size:16px}.practice-feedback p{margin:0;line-height:1.85;color:#4d5f59}.practice-bottom-bar{position:fixed;left:50%;bottom:20px;z-index:24;width:min(900px,calc(100vw - 32px));transform:translate(-50%);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;padding:12px;border:1px solid rgba(223,229,223,.86);border-radius:22px;background:#fffffff0;box-shadow:0 18px 42px #26373324;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.practice-result-card h1{margin:0;font-size:34px}.practice-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.practice-result-grid div{border-radius:16px;background:#f5f8f5;padding:16px}.practice-result-grid span{display:block;color:var(--muted);margin-bottom:8px}.practice-result-grid strong{color:var(--brand);font-size:26px}.practice-actions{display:flex;flex-wrap:wrap;gap:10px}.practice-shell{width:min(900px,100%);margin:0 auto;padding:4px 0 118px}.practice-topbar{position:sticky;top:88px;z-index:12;display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;gap:18px;align-items:center;margin-bottom:26px;padding:12px 14px;border:1px solid rgba(223,229,223,.72);border-radius:999px;background:#ffffffe6;box-shadow:0 12px 34px #26373314;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.practice-nav-button,.practice-exit-button,.practice-bar-button{min-height:42px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;background:transparent;color:#63726d;font-weight:760;transition:transform .16s ease,background .16s ease,color .16s ease}.practice-nav-button:hover,.practice-exit-button:hover,.practice-bar-button:hover{transform:translateY(-1px);background:#f1f6f2;color:var(--brand)}.practice-exit-button{color:#8c625d}.practice-progress-block{min-width:0;display:grid;gap:8px}.practice-progress-block strong{color:#263832;font-size:15px;text-align:center}.practice-progress-track{height:9px;overflow:hidden;border-radius:999px;background:#edf2ee}.practice-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f7668,#4cae8f);transition:width .24s ease}.practice-score{display:inline-flex!important;align-items:center;gap:10px;font-size:14px;font-weight:800}.practice-score .good{color:var(--brand)}.practice-score .bad{color:var(--danger)}.practice-card{display:grid;gap:24px;padding:clamp(24px,4vw,42px);border-radius:30px;background:#fffffff5;box-shadow:0 18px 54px #26373314;animation:practiceFadeIn .22s ease}.practice-question-meta{display:flex;flex-wrap:wrap;gap:8px}.practice-question-meta span{border-radius:999px;padding:5px 11px;background:#eef4f0;color:#536862;font-size:13px;font-weight:760}.practice-card h1{margin:0;color:#1f2d2a;font-size:clamp(22px,2.6vw,26px);line-height:1.62;letter-spacing:0;font-weight:780}.practice-options{display:grid;gap:14px}.practice-option{width:100%;min-height:74px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;border:2px solid rgba(223,231,226,.95);border-radius:22px;padding:18px 20px;background:#fff;color:#263832;text-align:left;box-shadow:0 8px 22px #2637330a;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.practice-option:not(:disabled):hover{transform:translateY(-1px) scale(1.006);border-color:#1f766842;background:#f5fbf7;box-shadow:0 14px 30px #26373314}.practice-option strong{display:inline-flex;align-items:center;gap:10px;color:#32453f;font-size:17px;font-weight:850}.practice-option strong i{width:22px;height:22px;border:2px solid #b8c7c1;border-radius:999px;background:#fff}.practice-option span{min-width:0;line-height:1.7;font-size:18px;overflow-wrap:break-word;word-break:normal}.practice-option.selected{border-color:var(--brand);background:#f5fbf7}.practice-option.selected strong i{border-color:var(--brand);box-shadow:inset 0 0 0 5px #fff;background:var(--brand)}.practice-option.correct{border-color:#1f766857;background:#e8f5ee}.practice-option.wrong{border-color:#a0443e57;background:var(--danger-soft)}.practice-feedback{display:grid;gap:12px;border-top:0;padding-top:8px;animation:practiceFadeIn .2s ease}.practice-info-card,.practice-summary-card{display:grid;gap:8px;border-radius:20px;padding:18px;background:#f8faf7}.practice-info-card span,.practice-summary-card h2{color:var(--muted);font-size:13px;font-weight:800}.practice-info-card strong{color:#263832;font-size:24px}.practice-feedback.correct .result-status strong{color:var(--brand)}.practice-feedback.wrong .result-status strong{color:var(--danger)}.practice-info-card h3{margin:0;color:#263832;font-size:16px}.practice-info-card p,.practice-summary-card p{margin:0;color:#4d5f59;line-height:1.85}.practice-bottom-bar{position:fixed;left:50%;bottom:20px;z-index:24;width:min(900px,calc(100vw - 32px));transform:translate(-50%);display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:12px;border:1px solid rgba(223,229,223,.86);border-radius:26px;background:#fffffff0;box-shadow:0 18px 42px #26373324;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.practice-bar-button.active{background:var(--brand-soft);color:var(--brand)}.practice-bar-button:disabled{cursor:not-allowed;opacity:.42;transform:none}.practice-primary-action{min-height:48px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 24px;background:var(--brand);color:#fff;font-weight:850;box-shadow:0 14px 28px #1f766838;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.practice-primary-action:hover{transform:translateY(-1px);box-shadow:0 18px 34px #1f766847}.practice-primary-action:disabled{cursor:not-allowed;opacity:.48;transform:none}.practice-result-card{display:grid;justify-items:center;gap:22px;padding:clamp(28px,5vw,52px);border-radius:34px;background:#fff;text-align:center;box-shadow:0 18px 54px #26373314;animation:practiceFadeIn .24s ease}.practice-celebrate{margin:0;font-size:42px}.practice-result-card h1{margin:0;font-size:clamp(30px,4vw,42px)}.practice-result-grid{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.practice-result-grid div{border-radius:20px;background:#f5f8f5;padding:18px 12px}.practice-result-grid span{display:block;color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:780}.practice-result-grid strong{color:var(--brand);font-size:clamp(22px,3vw,30px)}.practice-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}@keyframes practiceFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-navigation{display:none}@media(max-width:1060px){.app-header{padding:14px 22px}.top-nav{gap:2px}.nav-item{padding:0 10px}.nav-item span{display:none}.app-main.with-sidebar{grid-template-columns:1fr}.sidebar{position:relative;top:auto;max-height:none}.sidebar-rail{position:relative;top:auto;width:100%;height:52px;grid-auto-flow:column}.upload-grid{grid-template-columns:minmax(280px,34%) minmax(0,66%)}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.app-header{display:none}.app-main,.app-main.with-sidebar{width:min(100% - 28px,720px);padding:18px 0 96px;display:block}.page-stack{gap:18px}.page-hero,.upload-hero{min-height:auto;display:grid;padding:24px;border-radius:24px}.page-hero h1,.upload-hero h1,.page-hero.compact h1{font-size:30px}.page-hero p,.upload-hero p{font-size:16px}.dashboard-metrics,.weak-grid,.quick-actions,.list-toolbar,.form-columns,.form-columns.small,.option-grid,.ocr-settings-card dl,.step-flow,.answer-summary,.stats-grid,.mastery-list,.preview-compare,.preview-compare.three,.variant-switch,.upload-grid{grid-template-columns:1fr}.today-flow-card{display:grid;padding:18px}.today-flow-card .secondary-button{width:100%}.review-grid{width:100%;grid-template-columns:minmax(0,1fr);gap:16px}.review-column,.review-card{width:100%;min-width:0;max-width:100%}.review-column{padding:18px}.review-column .mini-stack{gap:14px}.question-row,.review-column .question-row{width:100%;min-width:0;max-width:100%;gap:14px;overflow:hidden}.question-row-main,.question-row-meta{min-width:0}.question-row-main h3{display:-webkit-box;overflow:hidden;line-height:1.6;font-size:clamp(17px,4.4vw,19px);white-space:normal;overflow-wrap:break-word;word-break:normal;-webkit-line-clamp:5;-webkit-box-orient:vertical}.question-row-main p{display:-webkit-box;overflow:hidden;line-height:1.55;white-space:normal;overflow-wrap:break-word;word-break:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}.learning-hero{padding:20px;align-items:start}.ocr-pill{justify-self:start}.file-strip{grid-template-columns:1fr;justify-items:start}.preview-tabs{max-width:100%;overflow:auto}.primary-editor textarea{min-height:170px;max-height:360px}.form-action-bar{position:fixed;left:14px;right:14px;bottom:86px;border-radius:18px}.learning-form{padding-bottom:132px}.form-action-bar .primary-button,.form-action-bar .secondary-button{flex:1;min-width:0}.recommend-card{grid-template-columns:1fr}.image-dialog{width:calc(100vw - 24px);height:calc(100vh - 110px);padding:12px}.soft-panel,.list-surface,.editor-page,.reading-page,.upload-section{padding:20px;border-radius:22px}.question-row{grid-template-columns:1fr;padding:18px}.question-row-meta{justify-items:start}.detail-topbar{align-items:flex-start;flex-direction:column}.analysis-heading-row{display:grid}.detail-tools{width:100%}.icon-text-button{flex:1}.option-reader-item{font-size:16px;grid-template-columns:34px minmax(0,1fr)}.bar-row{grid-template-columns:1fr 34px}.bar-row div{grid-column:1 / -1;grid-row:2}.bottom-navigation{position:fixed;left:0;right:0;bottom:0;z-index:30;height:76px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:7px 8px 9px;background:#fffffff0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-item{border:0;background:transparent;color:#72817b;display:grid;justify-items:center;gap:4px;font-size:12px}.bottom-item.active{color:var(--brand);font-weight:800}.bottom-item.primary svg{width:38px;height:38px;padding:9px;color:#fff;background:var(--brand);border-radius:999px;box-shadow:0 12px 26px #1f766838}.practice-shell{width:100%;padding-bottom:118px}.practice-topbar{top:0;grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:14px;border-radius:18px}.practice-topbar .danger{grid-column:1 / -1;justify-self:start}.practice-score{font-size:12px}.practice-card,.practice-result-card{padding:20px;border-radius:22px}.practice-card h1{font-size:21px;line-height:1.65}.practice-option{min-height:58px;padding:16px;grid-template-columns:36px minmax(0,1fr)}.practice-option span{font-size:17px;line-height:1.65}.practice-bottom-bar{left:12px;right:12px;bottom:14px;width:auto;transform:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.practice-bottom-bar .primary-button{grid-column:1 / -1}.practice-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--bg-main: #f6f0e4;--bg-card: #fffdf8;--bg-soft: #f0e6d5;--text-main: #22261f;--text-secondary: #70736c;--yellow-raincoat: #e6b733;--yellow-soft: #f7e8b1;--navy-raincoat: #293a57;--navy-soft: #e7ebf1;--umbrella-blue: #4c9fd2;--umbrella-green: #3c985d;--border-soft: #e5dac8;--shadow-soft: 0 12px 30px rgba(72, 61, 42, .08);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--brand: var(--navy-raincoat);--brand-soft: var(--navy-soft);--ink: var(--text-main);--muted: var(--text-secondary);--line: var(--border-soft)}body{background:var(--bg-main);color:var(--text-main)}.app-shell{width:100%;margin:0;padding:16px 0 48px;background:url(/rain-lines.svg) 6% 86px / 220px 166px repeat,radial-gradient(ellipse at 14% 88%,rgba(76,159,210,.1),transparent 150px),radial-gradient(ellipse at 92% 20%,rgba(60,152,93,.1),transparent 180px),var(--bg-main)}.app-header,.app-main,.app-main.with-sidebar{width:min(96vw,1680px);max-width:1680px}.app-header{margin:0 auto 18px;border-color:#e5dac8eb;background:#fffdf8e6}.brand-mark,.nav-item.active,.primary-button,.form-save{background:var(--navy-raincoat);color:#fffdf8}.app-main,.app-main.with-sidebar{margin:0 auto;padding:0 0 88px}.learning-hero{min-height:150px;grid-template-columns:minmax(0,1fr) 310px auto;gap:22px;margin-bottom:20px;padding:24px 30px;background:linear-gradient(120deg,#fffdf8f5,#f7e8b152),var(--bg-card)}.learning-hero h1{color:var(--navy-raincoat);font-size:clamp(30px,2.4vw,36px)}.learning-hero p{max-width:560px;color:var(--text-secondary)}.rainy-hero-art{width:310px;height:132px;background:url(/assets/dog-sit-CiK_uLtS.webp) center / contain no-repeat,url(/rain-lines.svg) center / cover no-repeat;border-radius:24px}.upload-progress,.step-flow{margin:0 0 22px}.answer-section,.analysis-section,.classification-section{padding:24px;border:1px solid rgba(229,218,200,.9);border-radius:var(--radius-lg);background:#fffdf8eb;box-shadow:var(--shadow-soft)}.upload-section,.question-confirm-card{border-color:#e5dac8e6;background:#fffdf8eb}.drop-zone{min-height:236px;background:url(/assets/dog-sit-CiK_uLtS.webp) center 22px / 112px auto no-repeat,url(/puddle.svg) 18% 90% / 120px auto no-repeat,var(--bg-card);padding-top:126px;border-color:#e6b733b3}.step-flow{display:flex;overflow-x:auto;padding:8px 2px 12px;scrollbar-width:none}.step-flow span{width:36px;height:36px;border:2px solid var(--border-soft);background:var(--bg-soft);color:var(--text-secondary)}.form-columns.small,.question-edit-panel .form-columns.small{grid-template-columns:repeat(2,minmax(0,1fr))}.stem-input{min-height:130px;max-height:160px}.analysis-tabs{max-width:620px}.analysis-section textarea{min-height:120px}.success-dialog h2{color:var(--navy-raincoat)}.success-dialog h2:before{content:"";display:block;width:118px;height:84px;margin:0 auto 10px;background:url(/assets/dog-happy-AF7J_m2U.webp) center / contain no-repeat,url(/puddle.svg) center bottom / 110px auto no-repeat}.empty-block:before{content:"";width:128px;height:90px;margin-bottom:12px;background:url(/assets/dog-lie-CJIhuZhe.webp) center / contain no-repeat}.brand-mascot{display:inline-grid;justify-items:center;gap:6px;margin:0;max-width:132px}.brand-mascot img{width:min(132px,100%);height:auto;object-fit:contain;animation:mascot-breathe 4.8s ease-in-out infinite}.brand-mascot figcaption{max-width:12em;color:var(--text-secondary);font-size:12px;line-height:1.5;text-align:center}.mascot-tail img,.mascot-happy img{animation:mascot-breathe 4.8s ease-in-out infinite,mascot-gentle-lift 3.8s ease-in-out infinite}.study-dog{display:inline-grid;justify-items:center;gap:6px;margin:0;max-width:148px;color:var(--text-secondary)}.study-dog.compact{max-width:104px}.study-dog-image-wrap{position:relative;display:inline-grid;place-items:center;width:min(148px,100%)}.study-dog.compact .study-dog-image-wrap{width:min(104px,100%)}.study-dog img{width:100%;height:auto;object-fit:contain;animation:mascot-breathe 5.4s ease-in-out infinite}.study-dog figcaption{max-width:13em;font-size:12px;font-weight:750;line-height:1.5;text-align:center}.study-dog-recognizing img{animation:mascot-breathe 4.8s ease-in-out infinite,mascot-focus 2.4s ease-in-out infinite}.study-dog-ocr-success,.study-dog-saved{animation:mascot-run-in .42s ease-out both}.study-dog-ocr-success img,.study-dog-saved img,.study-dog-streak-3 img{animation:mascot-breathe 4.8s ease-in-out infinite,mascot-gentle-lift 2.8s ease-in-out infinite}.study-dog-saved img{transform-origin:50% 90%;animation:mascot-saved-wave 1.3s ease-in-out 1,mascot-breathe 4.8s ease-in-out 1.3s infinite}.study-dog-search-empty img{transform-origin:50% 82%;animation:mascot-head-tilt 4.8s ease-in-out infinite}.study-dog-board{position:absolute;right:-8px;bottom:22%;padding:5px 7px;border:1px solid rgba(41,58,87,.16);border-radius:8px;background:#fffdf8f0;color:var(--navy-raincoat);font-size:11px;font-weight:900;box-shadow:var(--shadow-soft)}.study-dog-dots{position:absolute;right:4px;top:18%;display:inline-flex;gap:3px}.study-dog-dots i{width:5px;height:5px;border-radius:999px;background:var(--navy-raincoat);animation:mascot-dot 1s ease-in-out infinite}.study-dog-dots i:nth-child(2){animation-delay:.16s}.study-dog-dots i:nth-child(3){animation-delay:.32s}.hero-study-dog{justify-self:center}.inline-study-dog{margin-top:10px}.metric-study-dog{position:absolute;top:12px;right:12px;max-width:58px;opacity:.92}.metric-card{position:relative}.dog-progress{display:flex;align-items:center;gap:14px}.ocr-progress-track{flex:1;min-width:0}.mascot-toast{display:flex;justify-content:flex-start;margin:10px 0 4px}.review-empty-state,.stats-empty-state{display:flex;align-items:center;gap:12px;color:var(--text-secondary)}.empty-block .study-dog{max-width:132px}.drop-zone{background:url(/puddle.svg) 18% 90% / 120px auto no-repeat,var(--bg-card)}.success-dialog h2:before,.empty-block:before{display:none}@keyframes mascot-focus{0%,to{rotate:0deg}50%{rotate:-1.2deg}}@keyframes mascot-run-in{0%{opacity:0;transform:translate(-18px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes mascot-head-tilt{0%,to{rotate:0deg}45%,55%{rotate:-5deg}}@keyframes mascot-dot{0%,80%,to{opacity:.32;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes mascot-saved-wave{0%,to{rotate:0deg}28%{rotate:-2.5deg}56%{rotate:2deg}}@keyframes mascot-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes mascot-gentle-lift{0%,to{translate:0 0}50%{translate:0 -2px}}@media(max-width:900px){.upload-top-grid{grid-template-columns:1fr}.question-edit-panel,.full-width-section,.save-action-bar{grid-column:1}.learning-hero{grid-template-columns:minmax(0,1fr)}.rainy-hero-art{width:min(310px,100%)}}@media(max-width:760px){.app-main,.app-main.with-sidebar{width:min(100% - 24px,720px);padding-bottom:calc(104px + env(safe-area-inset-bottom))}.learning-hero{min-height:auto;padding:22px}.rainy-hero-art{width:180px;height:112px;background-image:url(/assets/dog-sit-CiK_uLtS.webp),url(/rain-lines.svg)}.answer-section .form-columns.small,.category-grid,.question-edit-panel .form-columns.small,.form-columns.small,.analysis-tabs,.option-grid{grid-template-columns:1fr}.save-action-bar{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));flex-wrap:wrap}}.drop-zone{padding-top:28px;background:url(/puddle.svg) 18% 90% / 120px auto no-repeat,var(--bg-card)}.drop-zone{padding-top:28px;background:url(/puddle.svg) 18% 90% / 120px auto no-repeat,var(--bg-card)}:root{--bg-main: #f6f0e4;--bg-card: #fffdf8;--bg-soft: #f2e9d8;--text-main: #20251f;--text-secondary: #6f746d;--text-muted: #9a9b93;--yellow-primary: #e8b52f;--yellow-soft: #f7e7ad;--navy-primary: #273a59;--navy-soft: #e7ebf2;--green-accent: #37965a;--blue-accent: #4b9fd3;--border-soft: #e6ddce;--danger: #c65b4b;--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--shadow-soft: 0 12px 34px rgba(72, 62, 44, .08);--brand: var(--navy-primary);--brand-soft: var(--navy-soft);--ink: var(--text-main);--muted: var(--text-secondary);--line: var(--border-soft);--surface: var(--bg-card);--soft: var(--bg-soft);--shadow: 0 20px 54px rgba(72, 62, 44, .1)}.app-shell{width:100%;min-height:100vh;padding:18px 0 40px;overflow-x:hidden;background:linear-gradient(104deg,rgba(32,37,31,.035) 0 1px,transparent 1px 98px),linear-gradient(94deg,transparent 0 62px,rgba(32,37,31,.028) 62px 64px,transparent 64px 142px),radial-gradient(ellipse at 12% 84%,rgba(75,159,211,.1),transparent 135px),radial-gradient(ellipse at 89% 18%,rgba(55,150,90,.08),transparent 150px),var(--bg-main)}.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(88deg,transparent 0 44px,rgba(32,37,31,.05) 44px 47px,transparent 47px 118px),linear-gradient(92deg,transparent 0 88px,rgba(32,37,31,.04) 88px 90px,transparent 90px 190px);background-size:180px 220px,240px 260px;opacity:.38;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 78%,transparent)}.app-header{height:68px;margin:0 auto 16px;padding:10px 14px 10px 18px;border-color:#e6ddced1;border-radius:999px;background:#fffdf8e0;box-shadow:var(--shadow-soft)}.brand-mark{background:var(--navy-primary);color:var(--yellow-soft)}.top-nav{background:#ffffffb8;border:1px solid rgba(230,221,206,.76);box-shadow:none}.nav-item.active{background:var(--navy-primary);color:#fffdf8}.page-hero,.upload-hero,.soft-panel,.list-surface,.upload-section,.review-column,.metric-card,.today-flow-card,.reading-page,.editor-page,.sidebar{border:1px solid rgba(230,221,206,.86);background:#fffdf8e6;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.upload-panel{gap:20px}.upload-left::-webkit-scrollbar{width:6px}.upload-left::-webkit-scrollbar-thumb{border-radius:999px;background:#273a592e}.learning-hero{min-height:140px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:24px 28px;overflow:hidden;background:linear-gradient(135deg,#fffdf8f5,#f7e7ad57),var(--bg-card)}.rainy-hero-art{position:relative;width:188px;height:104px;border-radius:28px;background:linear-gradient(90deg,rgba(39,58,89,.08) 0 2px,transparent 2px 26px),radial-gradient(ellipse at 34% 84%,rgba(75,159,211,.18),transparent 42px),#fffdf875;overflow:hidden}.dog-coat:after{content:"";position:absolute;left:9px;bottom:-18px;width:52px;height:16px;border-bottom:3px solid rgba(39,58,89,.34);border-radius:50%}.step-flow::-webkit-scrollbar{display:none}.step-flow span{width:36px;height:36px;position:relative;z-index:1;border:2px solid var(--border-soft);background:var(--bg-soft);color:var(--text-muted)}.step-flow strong{font-size:13px}.step-flow .done:after{background:#37965a73}.step-flow .active span{border-color:var(--yellow-primary);background:var(--yellow-primary);color:var(--navy-primary);box-shadow:0 8px 20px #e8b52f42}.step-flow .active strong{color:var(--navy-primary);font-weight:900}.file-strip img{width:56px;height:48px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-soft)}.section-title{margin-bottom:12px}.section-action-button{min-height:36px;padding:0 12px;font-size:13px}.learning-form{gap:0;padding-bottom:104px}.form-section label{gap:7px;color:var(--text-secondary);font-size:14px;font-weight:760}textarea{line-height:1.55}.option-grid{gap:12px}.inline-hint{margin-left:8px;color:var(--text-muted);font-size:12px;font-weight:650}.recommend-card{border-color:#e8b52f6b;background:#f7e7ad38}.form-save{background:var(--navy-primary)}.primary-button{background:var(--navy-primary);color:#fff}.success-dialog{position:relative;overflow:hidden}.success-dialog:after{content:"";position:absolute;right:20px;top:18px;width:86px;height:64px;border-radius:42px 42px 28px 28px;background:radial-gradient(circle at 75% 30%,#d7a377 0 13px,transparent 14px),linear-gradient(var(--yellow-primary),var(--yellow-soft));opacity:.35}@media(max-width:900px){.app-shell{padding-top:0}.app-header{width:min(96vw,1680px)}.app-main,.app-main.with-sidebar{width:min(96vw,900px);display:block}.upload-grid{grid-template-columns:1fr}.upload-left{position:static;max-height:none;overflow:visible;padding-right:0}.learning-hero{grid-template-columns:minmax(0,1fr) auto}.rainy-hero-art{width:132px}}@media(max-width:760px){.app-main,.app-main.with-sidebar{width:min(100% - 24px,720px);padding-bottom:calc(102px + env(safe-area-inset-bottom))}.learning-hero{min-height:118px;grid-template-columns:1fr;padding:22px}.learning-hero p{font-size:14px}.rainy-hero-art{display:none}.step-flow{margin-left:-2px;margin-right:-2px}.step-flow li{flex-basis:92px}.file-strip{grid-template-columns:52px 1fr}.file-strip .text-button{justify-self:start}.form-columns.small,.category-grid,.option-grid,.analysis-tabs{grid-template-columns:1fr}.form-action-bar{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom))}.bottom-navigation{bottom:max(10px,env(safe-area-inset-bottom))}}:root{--brand: #9b6a2f;--brand-soft: #f2e6d3;--ink: #181a17;--muted: #7b7d74;--line: #e7e0d5;--surface: rgba(255, 255, 255, .82);--soft: rgba(249, 245, 235, .78);--danger: #a0443e;--danger-soft: #faece6;--radius: 28px;--shadow: 0 24px 70px rgba(65, 56, 42, .08);--shadow-soft: 0 14px 42px rgba(65, 56, 42, .06)}body{background:radial-gradient(circle at 8% 14%,rgba(208,217,191,.5),transparent 155px),radial-gradient(circle at 96% 22%,rgba(220,213,242,.42),transparent 180px),radial-gradient(circle at 78% 96%,rgba(242,225,187,.46),transparent 210px),#f8f5ec}.app-shell{position:relative;overflow-x:hidden;background:transparent}.app-shell:before,.app-shell:after{content:"";position:fixed;pointer-events:none;z-index:0;width:460px;height:460px;background:url(/app-line-art.svg) center / contain no-repeat;opacity:.42}.app-shell:before{left:-150px;top:92px}.app-shell:after{right:-180px;bottom:42px;transform:rotate(16deg)}.app-header,.app-main,.bottom-navigation{position:relative;z-index:1}.app-header{height:76px;margin:14px auto 0;width:min(1180px,calc(100vw - 48px));padding:10px 12px 10px 18px;border:1px solid rgba(231,224,213,.72);border-radius:999px;background:#fffdf7c2;box-shadow:0 18px 46px #41382a12}.brand{gap:10px}.brand-mark{width:40px;height:40px;border-radius:999px;background:#171814;box-shadow:none}.brand strong{color:#171814;font-size:17px}.top-nav{gap:4px;padding:5px;background:#ffffffb8;box-shadow:inset 0 0 0 1px #e7e0d5c7}.nav-item{color:#6f7168}.nav-item.active{background:#171814;color:#fff;box-shadow:0 12px 24px #1718142e}.app-main{padding-top:22px}.page-hero,.upload-hero{position:relative;overflow:hidden;min-height:150px;padding:28px 32px;border:1px solid rgba(231,224,213,.72);border-radius:34px;background:linear-gradient(135deg,#ffffffe6,#f9f5ebe0),radial-gradient(circle at 84% 18%,rgba(220,213,242,.52),transparent 160px);box-shadow:0 24px 70px #41382a14}.page-hero:after,.upload-hero:after{content:"";position:absolute;right:-74px;top:-104px;width:310px;height:310px;background:url(/app-line-art.svg) center / contain no-repeat;opacity:.24}.page-hero h1,.upload-hero h1,.page-hero.compact h1{position:relative;z-index:1;color:#171814;font-weight:760;letter-spacing:-.01em}.metric-card,.today-flow-card,.soft-panel,.list-surface,.upload-section,.review-column,.reading-page,.editor-page,.sidebar{border:1px solid rgba(231,224,213,.72);background:#fffdf7d1;box-shadow:0 18px 50px #41382a11;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-metrics .metric-card:nth-child(1),.review-grid .review-column:nth-child(1),.question-row:nth-child(3n+1){background:#ede9fab8}.dashboard-metrics .metric-card:nth-child(2),.review-grid .review-column:nth-child(2),.question-row:nth-child(3n+2){background:#f7efd5bd}.dashboard-metrics .metric-card:nth-child(3),.review-grid .review-column:nth-child(3),.question-row:nth-child(3n){background:#e8efdcbd}.metric-card span,.section-title em,.muted,.question-row p{color:#74786d}.metric-card strong,.rank-list em,.mastery-list strong{color:#9b6a2f}.quick-actions{gap:16px}.quick-actions button,.weak-item{min-height:96px;border:1px solid rgba(231,224,213,.72);border-radius:28px;background:#fffdf7cc;box-shadow:0 14px 36px #41382a0d}.quick-actions button:nth-child(1),.weak-grid .weak-item:nth-child(1){background:#ede9fab3}.quick-actions button:nth-child(2),.weak-grid .weak-item:nth-child(2){background:#f7efd5bd}.quick-actions button:nth-child(3),.weak-grid .weak-item:nth-child(3){background:#e8efdcbd}.quick-actions button:nth-child(4),.weak-grid .weak-item:nth-child(4){background:#f9e5da9e}.primary-button,.practice-primary-action{background:#171814;color:#fff;box-shadow:0 16px 32px #1718142e}.secondary-button,.icon-text-button{border-color:#e7e0d5e0;background:#fffdf7c7;color:#7a582c}.text-button,.quick-actions button{color:#7a582c}.ocr-pill.connected,.question-row-meta strong,.soft-label,.tree-all.active,.tree-item.active .tree-label,.preview-tabs button.active,.variant-switch button.active,.icon-text-button.active{background:#171814;color:#fff}.tree-label,.tree-all{border-radius:16px}.drop-zone{border-color:#9b6a2f61;background:linear-gradient(135deg,#fffdf7e0,#ede9fa70),#fffdf7d1;color:#7a582c}.drop-zone strong{color:#171814}.file-strip,.notice,.diagnostics-panel,.ocr-settings-card,.practice-info-card,.practice-summary-card,.practice-result-grid div,.mastery-list div{background:#fffdf7b8;border:1px solid rgba(231,224,213,.62)}.question-row{border:1px solid rgba(231,224,213,.62);box-shadow:0 12px 30px #41382a0b}.question-row:hover{background:#fffdf7eb;transform:translateY(-1px)}.practice-card,.practice-result-card{border:1px solid rgba(231,224,213,.72);background:linear-gradient(145deg,#fffdf7f2,#f9f5ebe0),#fffdf7}.practice-option{border-color:#e7e0d5e0;background:#fffdf7e0}.practice-option:not(:disabled):hover,.practice-option.selected{border-color:#171814;background:#f7efd5b8}.practice-option strong i{border-color:#b8aa93}.practice-option.selected strong i{background:#171814;border-color:#171814}.bottom-navigation{left:50%;right:auto;bottom:16px;width:min(430px,calc(100vw - 28px));height:72px;transform:translate(-50%);border:1px solid rgba(231,224,213,.78);border-radius:999px;background:#fffdf7db;box-shadow:0 18px 48px #41382a29}.bottom-item{border-radius:999px}.bottom-item.active{color:#171814}.bottom-item.primary svg{background:#171814;box-shadow:0 12px 24px #17181433}@media(max-width:760px){.app-shell:before{left:-220px;top:20px}.app-shell:after{right:-250px;bottom:120px}.page-hero,.upload-hero{min-height:120px;border-radius:32px}.page-hero h1,.upload-hero h1,.page-hero.compact h1{font-size:34px}.soft-panel,.list-surface,.upload-section,.review-column,.metric-card,.today-flow-card{border-radius:28px}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-navigation{bottom:max(12px,env(safe-area-inset-bottom));height:70px;padding:7px;border-radius:999px}.bottom-item span{font-size:11px}.bottom-item.primary svg{width:40px;height:40px}}body{background:linear-gradient(180deg,#ffffffb3,#f6f7f200),#f6f7f2}.app-shell{background:radial-gradient(circle at top right,rgba(31,118,104,.08),transparent 320px),#f6f7f2}.app-header{height:68px;padding:12px 30px}.brand-mark{width:38px;height:38px;border-radius:14px;box-shadow:0 12px 26px #1f766833}.brand strong{font-size:18px;letter-spacing:0}.top-nav{box-shadow:inset 0 0 0 1px #dfe5dfad}.nav-item{min-height:38px}.app-main{padding-top:24px}.page-stack{gap:18px}.page-hero,.upload-hero{min-height:auto;align-items:center;padding:24px 26px;border-radius:26px;background:#ffffffeb;box-shadow:var(--shadow-soft)}.page-hero.compact{min-height:auto}.page-hero h1,.upload-hero h1,.page-hero.compact h1{margin:0;font-size:clamp(28px,3.6vw,42px);line-height:1.16}.learning-hero h1{font-size:clamp(26px,3vw,34px)}.soft-panel,.list-surface,.upload-section,.metric-card,.today-flow-card,.review-column{border:1px solid rgba(223,229,223,.56);box-shadow:0 14px 36px #2637330f}.dashboard-metrics{gap:14px}.metric-card{padding:20px}.metric-card strong{font-size:34px}.quick-actions button,.weak-item{border:1px solid rgba(223,229,223,.52);background:#ffffffdb}.primary-button,.practice-primary-action{box-shadow:0 14px 28px #1f76682e}.secondary-button{background:#ffffffeb}.app-version,.eyebrow{display:none}@media(max-width:760px){body{background:#f6f7f2}.app-main,.app-main.with-sidebar{width:min(100% - 24px,720px);padding-top:14px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.page-hero,.upload-hero{padding:22px;border-radius:28px}.page-hero h1,.upload-hero h1,.page-hero.compact h1{font-size:30px}.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric-card{min-width:0;padding:16px 12px;border-radius:20px}.metric-card span,.metric-card em{font-size:12px}.metric-card strong{font-size:28px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions button{min-height:76px;border-radius:22px}.bottom-navigation{height:calc(76px + env(safe-area-inset-bottom));padding-bottom:calc(9px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;box-shadow:0 -14px 34px #2637331a}.bottom-item{min-width:0;min-height:56px}.bottom-item.primary svg{width:42px;height:42px}}@media(max-width:900px){.practice-shell{width:min(100%,820px)}.practice-topbar{top:18px;grid-template-columns:auto minmax(0,1fr) auto;border-radius:22px}.practice-score{grid-column:2 / 3;justify-content:center}.practice-exit-button{grid-column:3;grid-row:1}}@media(max-width:760px){.app-main:has(.practice-shell),.app-main.with-sidebar:has(.practice-shell){width:min(100% - 24px,720px);padding:12px 0 110px}.practice-shell{width:100%;padding-bottom:122px}.practice-topbar{top:10px;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;margin-bottom:16px;padding:10px;border-radius:22px}.practice-nav-button,.practice-exit-button{min-height:38px;padding:0 9px}.practice-nav-button span,.practice-exit-button span{display:none}.practice-progress-block strong{font-size:14px}.practice-progress-track{height:8px}.practice-score{grid-column:1 / -1;justify-content:center;font-size:12px}.practice-card{gap:18px;padding:20px;border-radius:24px}.practice-question-meta span{font-size:12px}.practice-card h1{font-size:20px;line-height:1.62}.practice-options{gap:12px}.practice-option{min-height:64px;grid-template-columns:54px minmax(0,1fr);padding:16px;border-radius:20px}.practice-option strong{font-size:16px}.practice-option strong i{width:20px;height:20px}.practice-option span{font-size:17px;line-height:1.62}.practice-info-card{padding:16px}.practice-bottom-bar{left:10px;right:10px;bottom:10px;width:auto;transform:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border-radius:22px}.practice-bar-button,.practice-primary-action{min-height:46px;padding:0 10px;font-size:14px}.practice-primary-action{grid-column:1 / -1;order:9}.practice-result-card{padding:24px 18px;border-radius:26px}.practice-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-actions{width:100%;display:grid;grid-template-columns:1fr}.practice-actions button{width:100%}}:root{--bg-main: #f6f0e4;--bg-card: #fffdf8;--bg-soft: #f2e9d8;--text-main: #20251f;--text-secondary: #6f746d;--text-muted: #9a9b93;--yellow-primary: #e8b52f;--yellow-soft: #f7e7ad;--navy-primary: #273a59;--navy-soft: #e7ebf2;--green-accent: #37965a;--blue-accent: #4b9fd3;--border-soft: #e6ddce;--danger: #c65b4b;--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--shadow-soft: 0 12px 34px rgba(72, 62, 44, .08);--brand: var(--navy-primary);--brand-soft: var(--navy-soft);--ink: var(--text-main);--muted: var(--text-secondary);--line: var(--border-soft);--surface: var(--bg-card);--soft: var(--bg-soft)}html,body{min-height:100%;background:var(--bg-main)}.app-shell{width:100%;min-height:100vh;padding:18px 0 40px;background:linear-gradient(104deg,rgba(32,37,31,.035) 0 1px,transparent 1px 98px),linear-gradient(94deg,transparent 0 62px,rgba(32,37,31,.028) 62px 64px,transparent 64px 142px),radial-gradient(ellipse at 12% 84%,rgba(75,159,211,.1),transparent 135px),radial-gradient(ellipse at 89% 18%,rgba(55,150,90,.08),transparent 150px),var(--bg-main)}.app-shell:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;width:auto;height:auto;background:linear-gradient(88deg,transparent 0 44px,rgba(32,37,31,.05) 44px 47px,transparent 47px 118px),linear-gradient(92deg,transparent 0 88px,rgba(32,37,31,.04) 88px 90px,transparent 90px 190px);background-size:180px 220px,240px 260px;opacity:.36;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 78%,transparent)}.app-shell:after{display:none}.app-header,.app-main{width:min(96vw,1680px);max-width:1680px}.app-header{height:68px;margin:0 auto 16px;padding:10px 14px 10px 18px;border:1px solid rgba(230,221,206,.82);border-radius:999px;background:#fffdf8e0;box-shadow:var(--shadow-soft)}.app-main,.app-main.with-sidebar{margin:0 auto;padding:0 0 80px}.app-main.with-sidebar{grid-template-columns:330px minmax(0,1fr)}.brand-mark,.nav-item.active{background:var(--navy-primary);color:var(--yellow-soft)}.page-hero,.upload-hero,.soft-panel,.list-surface,.upload-section,.review-column,.metric-card,.today-flow-card,.reading-page,.editor-page,.sidebar{border:1px solid rgba(230,221,206,.86);border-radius:var(--radius-lg);background:#fffdf8e6;box-shadow:var(--shadow-soft)}.page-hero:after,.upload-hero:after{display:none}.upload-grid{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(680px,1.55fr);gap:28px;align-items:start}.upload-left{position:sticky;top:100px;align-self:start;max-height:calc(100vh - 116px);overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(39,58,89,.18) transparent}.upload-left,.upload-right{gap:18px}.learning-hero{min-height:140px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:24px 28px;background:linear-gradient(135deg,#fffdf8f5,#f7e7ad57),var(--bg-card)}.learning-hero h1{margin-bottom:8px;color:var(--navy-primary);font-size:clamp(30px,2.7vw,36px)}.learning-hero p{max-width:520px;color:var(--text-secondary);font-size:16px;line-height:1.6}.rainy-hero-art{position:relative;width:188px;height:104px;overflow:hidden;border-radius:28px;background:linear-gradient(90deg,rgba(39,58,89,.08) 0 2px,transparent 2px 26px),radial-gradient(ellipse at 34% 84%,rgba(75,159,211,.18),transparent 42px),#fffdf875}.dog-coat{position:absolute;left:58px;bottom:18px;width:74px;height:42px;border:3px solid var(--navy-primary);border-radius:44% 56% 48% 42%;background:var(--yellow-primary)}.dog-coat:before{content:"";position:absolute;right:-26px;top:-18px;width:30px;height:28px;border:3px solid var(--navy-primary);border-radius:58% 42% 48% 52%;background:#d7a377}.umbrella-mark{position:absolute;left:22px;top:22px;width:58px;height:30px;border:3px solid var(--blue-accent);border-bottom:0;border-radius:70px 70px 0 0;background:#4b9fd32e}.umbrella-mark:after{content:"";position:absolute;left:27px;top:26px;width:2px;height:34px;background:var(--blue-accent)}.ocr-connected-dot{position:absolute;right:12px;bottom:10px;width:13px;height:13px;border-radius:999px;background:var(--yellow-primary);box-shadow:0 0 0 6px #e8b52f29}.ocr-connected-dot.connected{background:var(--green-accent);box-shadow:0 0 0 6px #37965a24}.ocr-pill.connected{background:#37965a1f;color:var(--green-accent)}.ocr-pill.warning{background:#e8b52f2e;color:#9a6c12}.step-flow{display:flex;gap:0;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}.step-flow li{position:relative;flex:1 0 118px}.step-flow li:not(:last-child):after{content:"";position:absolute;top:18px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;background:var(--border-soft)}.step-flow button{min-height:44px;display:grid;justify-items:center;gap:6px;padding:0;background:transparent;color:var(--text-muted);box-shadow:none}.step-flow span{position:relative;z-index:1;width:36px;height:36px;border:2px solid var(--border-soft);background:var(--bg-soft);color:var(--text-muted)}.step-flow .done span{border-color:var(--green-accent);background:var(--green-accent);color:#fff}.step-flow .active span{border-color:var(--yellow-primary);background:var(--yellow-primary);color:var(--navy-primary)}.drop-zone{min-height:210px;border-color:#e8b52fa3;background:radial-gradient(ellipse at 16% 84%,rgba(75,159,211,.14),transparent 48px),linear-gradient(104deg,transparent 0 34px,rgba(32,37,31,.06) 35px 37px,transparent 38px 92px),#fffdf8}.drop-zone:before{content:"";width:78px;height:54px;margin-bottom:4px;border:3px solid var(--navy-primary);border-radius:46% 54% 44% 48%;background:var(--yellow-soft);box-shadow:45px -18px 0 -18px var(--green-accent)}.drop-zone svg{display:none}.form-section{gap:12px;padding-top:24px}.form-section h2{color:var(--navy-primary);font-size:19px}.form-columns.small{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.category-grid{grid-template-columns:30fr 35fr 35fr}input,select,textarea{min-height:46px;border-color:var(--border-soft);border-radius:var(--radius-sm);background:#fffefa;color:var(--text-main)}.analysis-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border-radius:999px;background:var(--bg-soft)}.analysis-tabs button.active{background:var(--navy-primary);color:#fff}.select-search{min-height:34px;margin-bottom:6px;font-size:13px}.form-action-bar{bottom:18px;margin-top:24px;border:1px solid rgba(230,221,206,.92);border-radius:22px;background:#fffdf8f0;box-shadow:0 -8px 30px #483e2c14}.primary-button,.form-save{background:var(--navy-primary);color:#fff}.upload-actions .primary-button,.dialog-actions .primary-button:first-child{background:var(--yellow-primary);color:var(--navy-primary)}.secondary-button,.text-button{color:var(--navy-primary)}@media(max-width:1180px)and (min-width:901px){.upload-grid{grid-template-columns:minmax(320px,42%) minmax(0,58%)}.upload-left{position:static;max-height:none;overflow:visible;padding-right:0}}@media(max-width:900px){.app-main,.app-main.with-sidebar{width:min(96vw,900px);display:block}.upload-grid{grid-template-columns:1fr}.upload-left{position:static;max-height:none;overflow:visible;padding-right:0}.learning-hero{grid-template-columns:minmax(0,1fr) auto}.rainy-hero-art{width:132px}}@media(max-width:760px){.app-main,.app-main.with-sidebar{width:min(100% - 24px,720px);padding-bottom:calc(102px + env(safe-area-inset-bottom))}.learning-hero{min-height:118px;grid-template-columns:1fr;padding:22px}.rainy-hero-art{display:none}.step-flow li{flex-basis:92px}.file-strip{grid-template-columns:52px 1fr}.form-columns.small,.category-grid,.option-grid,.analysis-tabs{grid-template-columns:1fr}.form-action-bar{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom))}}:root{--bg-main: #f6f0e4;--bg-card: #fffdf8;--bg-soft: #f0e6d5;--text-main: #22261f;--text-secondary: #70736c;--yellow-raincoat: #e6b733;--yellow-soft: #f7e8b1;--navy-raincoat: #293a57;--navy-soft: #e7ebf1;--umbrella-blue: #4c9fd2;--umbrella-green: #3c985d;--border-soft: #e5dac8;--shadow-soft: 0 12px 30px rgba(72, 61, 42, .08)}html,body,#root{min-height:100%;background:var(--bg-main)}body{color:var(--text-main);font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif}.app-shell{width:100%;min-height:100vh;background:url(/rain-lines.svg) 96% 18px / 180px auto repeat-y,radial-gradient(ellipse at 10% 14%,rgba(76,159,210,.06),transparent 260px),var(--bg-main)}.app-shell:before,.app-shell:after{display:none}.app-header,.app-main,.app-main.with-sidebar{width:min(96vw,1680px);max-width:1680px;margin-right:auto;margin-left:auto}.app-main,.app-main.with-sidebar{padding-bottom:96px}.upload-panel{display:block}.learning-hero{min-height:150px;display:grid;grid-template-columns:minmax(0,1fr) 320px auto;align-items:center;gap:22px;margin-bottom:20px;padding:24px 30px;border:1px solid rgba(229,218,200,.9);border-radius:28px;background:linear-gradient(120deg,#fffdf8fa,#f7e8b157),var(--bg-card);box-shadow:var(--shadow-soft)}.learning-hero h1{color:var(--navy-raincoat);font-size:clamp(30px,2.4vw,36px);letter-spacing:0}.learning-hero p{max-width:560px;color:var(--text-secondary);line-height:1.7}.rainy-hero-art{position:relative;display:block;width:320px;height:136px;overflow:hidden;border-radius:26px;background:url(/assets/dog-sit-CiK_uLtS.webp) center / contain no-repeat,url(/rain-lines.svg) center / cover no-repeat,#fffdf86b}.rainy-hero-art .dog-coat,.rainy-hero-art .umbrella-mark,.rainy-hero-art .ocr-connected-dot{display:none}.ocr-pill{min-height:38px;background:var(--navy-soft);color:var(--navy-raincoat)}.ocr-pill:before{content:"";width:26px;height:22px;margin-right:6px;border-radius:50% 46% 48% 44%;background:var(--navy-raincoat);box-shadow:9px -5px 0 -4px #d7a377}.ocr-pill.connected{background:#3c985d21;color:var(--umbrella-green)}.step-flow{display:flex;gap:0;overflow-x:auto;margin:0 0 22px;padding:6px 2px 12px;scrollbar-width:none}.step-flow li{position:relative;flex:1 0 108px}.step-flow li:not(:last-child):after{content:"";position:absolute;top:18px;left:calc(50% + 19px);width:calc(100% - 38px);height:2px;border-radius:999px;background:var(--border-soft);transform:translateY(3px) rotate(-1deg)}.step-flow button{min-height:44px;display:grid;justify-items:center;gap:6px;padding:0;background:transparent;color:var(--text-secondary);box-shadow:none}.step-flow span{position:relative;z-index:1;width:36px;height:36px;border:2px solid var(--border-soft);background:var(--bg-soft);color:var(--text-secondary)}.step-flow .done span{border-color:var(--umbrella-green);background:var(--umbrella-green);color:#fff}.step-flow .active span{border-color:var(--yellow-raincoat);background:var(--yellow-raincoat);color:var(--navy-raincoat)}.upload-top-grid{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(660px,1.35fr);gap:28px;align-items:start}.upload-media-panel{display:grid;gap:18px}.upload-form-host,.upload-entry-form{display:contents}.question-edit-panel{grid-column:2;display:grid;gap:18px}.full-width-section,.save-action-bar{grid-column:1 / -1}.upload-left{position:static;max-height:none;overflow:visible;padding-right:0}.upload-section,.question-confirm-card,.answer-section,.analysis-section,.classification-section{border:1px solid rgba(229,218,200,.9);border-radius:var(--radius-lg);background:#fffdf8f0;box-shadow:var(--shadow-soft)}.answer-section,.analysis-section,.classification-section{padding:24px}.drop-zone{min-height:236px;padding-top:126px;border-color:#e6b733b3;background:url(/assets/dog-sit-CiK_uLtS.webp) center 22px / 112px auto no-repeat,url(/puddle.svg) 18% 90% / 120px auto no-repeat,var(--bg-card)}.drop-zone:before,.drop-zone svg{display:none}.drop-zone strong{color:var(--navy-raincoat)}.primary-button,.form-save{background:var(--navy-raincoat);color:#fffdf8}.drop-zone .primary-button,.upload-actions .primary-button{background:var(--yellow-raincoat);color:var(--navy-raincoat)}.file-strip{min-height:72px;grid-template-columns:64px minmax(0,1fr) auto auto auto;background:var(--bg-card)}.file-strip img{width:56px;height:48px;object-fit:cover;border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.form-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-section h2{color:var(--navy-raincoat);font-size:19px}.question-edit-panel .form-columns.small{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-section .form-columns.small,.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stem-input{min-height:138px;max-height:180px}.form-section textarea:not(.stem-input){min-height:112px;max-height:140px}.analysis-tabs{max-width:620px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border-radius:999px;background:var(--bg-soft)}.analysis-tabs button{min-height:36px;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:800}.analysis-tabs button.active{background:var(--navy-raincoat);color:#fffdf8}.save-action-bar{position:sticky;bottom:18px;z-index:20;display:flex;justify-content:flex-start;gap:12px;margin-top:4px;padding:14px;border:1px solid rgba(229,218,200,.96);border-radius:22px;background:#fffdf8f5;box-shadow:0 -8px 28px #483d2a14}.success-dialog h2:before{content:"";display:block;width:118px;height:84px;margin:0 auto 10px;background:url(/assets/dog-happy-AF7J_m2U.webp) center / contain no-repeat,url(/puddle.svg) center bottom / 110px auto no-repeat}.empty-block:before{content:"";width:128px;height:90px;margin-bottom:12px;background:url(/assets/dog-lie-CJIhuZhe.webp) center / contain no-repeat}@media(max-width:1180px)and (min-width:901px){.upload-top-grid{grid-template-columns:minmax(320px,42%) minmax(0,58%)}}@media(max-width:900px){.app-main,.app-main.with-sidebar{width:min(96vw,900px);display:block}.upload-top-grid{grid-template-columns:1fr}.question-edit-panel,.full-width-section,.save-action-bar{grid-column:1}.learning-hero{grid-template-columns:minmax(0,1fr)}.rainy-hero-art{width:min(320px,100%)}}@media(max-width:760px){.app-main,.app-main.with-sidebar{width:min(100% - 24px,720px);padding-bottom:calc(108px + env(safe-area-inset-bottom))}.learning-hero{min-height:auto;padding:22px}.rainy-hero-art{display:block;width:190px;height:112px;background:url(/assets/dog-sit-CiK_uLtS.webp) center / contain no-repeat,url(/rain-lines.svg) center / cover no-repeat}.file-strip{grid-template-columns:52px 1fr}.question-edit-panel .form-columns.small,.answer-section .form-columns.small,.category-grid,.form-columns.small,.option-grid,.analysis-tabs{grid-template-columns:1fr}.save-action-bar{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));flex-wrap:wrap}}.drop-zone{padding-top:28px;background:url(/puddle.svg) 18% 90% / 120px auto no-repeat,var(--bg-card)}.success-dialog h2:before,.empty-block:before{display:none;content:none}.rainy-hero-art{display:none}.learning-hero .study-dog{max-width:142px}.drop-zone .study-dog{max-width:118px;margin-bottom:4px}.study-dog figcaption,.no-orphan{max-width:none;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.review-empty-state .study-dog figcaption,.empty-block .study-dog figcaption{max-width:18em}.rainy-hero-art{display:none!important}@media(max-width:420px){.study-dog figcaption,.no-orphan{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}}
