/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#20201e;--muted:#77736c;--paper:#f5f1e9;--surface:#fffdf8;--line:#ddd6ca;--orange:#e95d35;--navy:#263642;--green:#476c58}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);font-family:var(--font-geist),"PingFang SC","Microsoft YaHei",sans-serif;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{background:var(--paper);min-height:100vh}.sidebar{color:#f7f2e8;z-index:10;background:#252724;flex-direction:column;width:240px;padding:28px 20px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand,.mobile-brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:750;display:flex}.brand-mark{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-family:serif;display:grid}.sidebar nav{gap:6px;margin-top:42px;display:grid}.nav-item,.project-link{color:#aaa99f;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:11px 12px;display:flex}.nav-item span{font-size:20px}.nav-item.active{color:#fff;background:#363936}.side-projects{border-top:1px solid #40423f;margin-top:26px;padding-top:20px}.side-projects>p{color:#777b76;text-transform:uppercase;letter-spacing:.13em;margin:0 12px 10px;font-size:11px}.project-link{width:100%;font-size:13px}.project-link.active{color:#fff}.dot{background:#888;border-radius:50%;width:8px;height:8px}.dot.orange{background:var(--orange)}.dot.blue{background:#68a3bc}.dot.green{background:#75a685}.new-project-side{color:#d1cec5;background:0 0;border:1px dashed #575a55;border-radius:7px;margin-top:8px;padding:10px}.profile{border-top:1px solid #40423f;align-items:center;gap:10px;margin-top:auto;padding-top:18px;display:flex}.profile>span,.avatar{color:#3c3026;background:#e7c8a2;border:0;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:grid}.profile div{display:grid}.profile strong{font-size:13px}.profile small{color:#92948f;margin-top:2px;font-size:10px}main{margin-left:240px}.topbar{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f1e9e6;align-items:center;gap:14px;height:74px;padding:0 44px;display:flex;position:sticky;top:0}.mobile-brand,.mobile-library{display:none}.search{background:#ebe6dc;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;width:min(390px,45vw);height:40px;padding:0 13px;display:flex}.search:focus-within{border-color:#9c968d}.search input{background:0 0;border:0;outline:0;width:100%;font-size:13px}.new-project{background:var(--ink);color:#fff;border:0;border-radius:5px;margin-left:auto;padding:11px 16px;font-weight:650}.content{max-width:1240px;margin:0 auto;padding:48px 44px 72px}.welcome{justify-content:space-between;align-items:end;display:flex}.eyebrow{letter-spacing:.18em;color:var(--orange);text-transform:uppercase;margin:0 0 12px;font-size:10px;font-weight:800}.welcome h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Songti SC,serif;font-size:46px;line-height:1.12}.welcome h1 em{color:#767169;font-weight:400}.welcome>div>p:last-child{color:var(--muted);margin:16px 0 0;font-size:14px}.streak{text-align:center;border-left:1px solid var(--line);min-width:112px;padding:16px}.streak span,.streak small{color:var(--muted);font-size:11px;display:block}.streak strong{color:var(--orange);font-family:Georgia,serif;font-size:42px}.project-strip{border:1px solid var(--line);background:var(--surface);grid-template-columns:1.5fr 1fr auto;align-items:center;gap:30px;margin-top:42px;padding:18px 20px;display:grid}.project-strip>div:first-child{align-items:center;gap:14px;display:flex}.subject-icon{color:#fff;background:#283946;border-radius:50%;place-items:center;width:48px;height:48px;font-size:12px;font-weight:800;display:grid}.project-strip small,.project-strip strong,.project-strip p{display:block}.project-strip small{color:var(--muted);font-size:10px}.project-strip p{color:var(--muted);margin:4px 0 0;font-size:11px}.project-strip button{color:var(--muted);background:0 0;border:0;font-size:12px}.progress-wrap span{justify-content:space-between;font-size:11px;display:flex}.progress-wrap span strong{color:var(--orange)}.progress{background:#e9e3d9;height:5px;margin-top:8px}.progress i{background:var(--orange);width:28%;height:100%;display:block}.dashboard-grid{grid-template-columns:1.7fr .8fr;gap:18px;margin-top:18px;display:grid}.panel{background:var(--surface);border:1px solid var(--line)}.tasks-panel{padding:26px}.section-head{justify-content:space-between;align-items:end;display:flex}.section-head h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:24px}.section-head>span,.section-head>p{color:var(--muted);font-size:11px}.task-list{border-top:1px solid var(--line);margin-top:18px}.task{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:20px 28px 1fr auto;align-items:center;gap:12px;padding:17px 4px;display:grid}.task input{opacity:0;position:absolute}.task .check{color:#0000;border:1px solid #bfb8ad;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.task.done .check{background:var(--green);border-color:var(--green);color:#fff}.task>b{color:#aba59c;font-family:Georgia,serif;font-size:12px}.task>span:nth-of-type(2){gap:3px;display:grid}.task small{color:var(--muted);font-size:10px}.task>i{color:#aaa;font-style:normal}.task.done strong{color:#8c8881;text-decoration:line-through}.text-button{color:var(--orange);background:0 0;border:0;margin-top:18px;padding:0;font-size:11px}.focus-card{background:var(--navy);color:#fff;padding:28px}.focus-card h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:27px;line-height:1.15}.focus-card ol{margin:22px 0;padding:0;list-style:none}.focus-card li{border-top:1px solid #46545d;gap:12px;padding:13px 0;display:flex}.focus-card li>span{color:#f39a7d;font-family:Georgia,serif;font-size:12px}.focus-card li div{gap:4px;display:grid}.focus-card li strong{font-size:12px}.focus-card li small{color:#a9b2b6;font-size:10px}.focus-card button{color:#fff;background:0 0;border:1px solid #66737c;width:100%;padding:11px}.tools-section{margin-top:46px}.tool-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px;display:grid}.tool-grid button{border:1px solid var(--line);background:var(--surface);text-align:left;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:17px;display:grid}.tool-grid button>span{color:#774b37;background:#eee7dc;border-radius:50%;place-items:center;width:36px;height:36px;font-family:serif;display:grid}.tool-grid button div{gap:4px;display:grid}.tool-grid button small{color:var(--muted);font-size:10px}.tool-grid button i{color:#aaa;font-style:normal}.tool-grid button:hover,.tool-grid button.selected{border-color:var(--orange);transform:translateY(-1px)}.tool-action{background:#ede7dc;justify-content:space-between;align-items:center;margin-top:10px;padding:20px 22px;display:flex}.tool-action div{gap:4px;display:grid}.tool-action span{color:var(--muted);letter-spacing:.12em;font-size:9px}.tool-action p{color:var(--muted);margin:0;font-size:11px}.tool-action button,.create-submit{background:var(--orange);color:#fff;border:0;padding:11px 16px;font-weight:700}.modal-backdrop{z-index:50;background:#161715a6;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(540px,100%);padding:32px;position:relative;box-shadow:0 30px 80px #1118}.modal h2{margin:0;font-family:Georgia,Songti SC,serif;font-size:30px}.modal>p:nth-of-type(2){color:var(--muted);margin-bottom:22px;font-size:13px}.close{background:0 0;border:0;font-size:25px;position:absolute;top:14px;right:18px}.modal label{gap:7px;margin-top:14px;font-size:12px;font-weight:700;display:grid}.modal input,.modal select,.modal textarea{border:1px solid var(--line);background:#fff;border-radius:3px;outline:none;padding:11px}.modal textarea{resize:vertical;min-height:78px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.create-submit{width:100%;margin-top:20px}@media (width<=900px){.sidebar{display:none}main{margin-left:0}.topbar{padding:0 22px}.mobile-brand{display:flex}.search{display:none}.content{padding:32px 22px}.welcome h1{font-size:38px}.dashboard-grid{grid-template-columns:1fr}.tool-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.topbar{gap:8px;height:64px;padding:0 12px}.mobile-brand{font-size:12px}.mobile-brand .brand-mark{width:30px;height:30px}.mobile-library{color:var(--ink);background:0 0;border:0;place-items:center;gap:1px;padding:4px;font-size:16px;display:grid}.mobile-library span{font-size:8px}.new-project{padding:10px;font-size:0}.new-project:first-letter{font-size:17px}.content{padding:26px 16px 50px}.welcome{align-items:start}.welcome h1{font-size:31px}.welcome>div>p:last-child{line-height:1.6}.streak{display:none}.project-strip{grid-template-columns:1fr auto;margin-top:28px;padding:15px}.progress-wrap{grid-column:1/-1}.dashboard-grid{margin-top:12px}.tasks-panel,.focus-card{padding:20px}.task{grid-template-columns:20px 1fr auto}.task>b{display:none}.tool-grid{grid-template-columns:1fr}.tools-section{margin-top:36px}.section-head>p{display:none}.tool-action{align-items:flex-start;gap:14px}.tool-action p{display:none}.form-row{grid-template-columns:1fr}.modal{padding:26px 20px}}.project-actions{gap:6px;display:flex}.project-actions button:last-child{color:var(--orange);font-weight:700}.delete-project{color:#a43d28;background:0 0;border:1px solid #d7aaa0;width:100%;margin-top:10px;padding:10px}.reader-backdrop{z-index:60;background:#161715b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.reader{background:var(--surface);width:min(900px,100%);max-height:94vh;overflow:auto;box-shadow:0 30px 80px #1118}.reader-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:30px 34px 24px;display:flex}.reader-head h2{margin:0 0 8px;font-family:Georgia,Songti SC,serif;font-size:34px}.reader-head span{color:var(--muted);font-size:11px}.reader-head>button{background:0 0;border:0;align-self:start;font-size:26px}.reader-body{grid-template-columns:1.7fr .8fr;gap:28px;padding:30px 34px;display:grid}.lesson-copy>p{margin:0 0 16px;font-family:Georgia,Songti SC,serif;font-size:16px;line-height:1.9}.lesson-example{border-left:3px solid var(--orange);background:#efe9de;padding:20px}.lesson-example small,.lesson-points>small{letter-spacing:.12em;color:var(--orange);font-size:10px;font-weight:800}.lesson-example pre{white-space:pre-wrap;font-family:var(--font-geist),sans-serif;margin:10px 0;font-weight:700;line-height:1.7}.lesson-example p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.lesson-points{background:var(--navy);color:#fff;padding:22px}.lesson-points ol{margin:14px 0 0;padding:0;list-style:none}.lesson-points li{border-top:1px solid #46545d;gap:10px;padding:13px 0;font-size:12px;line-height:1.5;display:flex}.lesson-points li span{color:#f39a7d;font-family:Georgia,serif}.self-check{border-top:1px solid var(--line);grid-column:1/-1;padding-top:24px}.self-check h3{font-size:17px}.answer-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.answer-list label{border:1px solid var(--line);cursor:pointer;padding:12px;font-size:12px}.answer-list label.chosen{border-color:var(--orange);background:#fff3ed}.answer-list input{margin-right:8px}.self-check>button{background:var(--ink);color:#fff;border:0;margin-top:12px;padding:10px 18px}.self-check>button:disabled{opacity:.4;cursor:not-allowed}.answer-result{color:#9c3e29;background:#fff0eb;padding:12px;font-size:12px}.answer-result.correct{color:#315d3d;background:#e8f2ea}.reader>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:18px 34px;display:flex}.reader>footer span{color:var(--muted);font-size:11px}.reader>footer button{background:var(--orange);color:#fff;border:0;padding:11px 17px;font-weight:700}@media (width<=650px){.reader-backdrop{padding:0}.reader{width:100%;height:100%;max-height:100vh}.reader-head,.reader-body{padding:22px 18px}.reader-head h2{font-size:27px}.reader-body{grid-template-columns:1fr}.self-check{grid-column:1}.answer-list{grid-template-columns:1fr}.reader>footer{background:var(--surface);padding:16px 18px;position:sticky;bottom:0}}.library-shell{background:var(--paper);z-index:70;position:fixed;inset:0;overflow:auto}.library-top{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;min-height:108px;padding:24px 34px;display:flex}.library-top h2{margin:0 0 5px;font-family:Georgia,Songti SC,serif;font-size:30px}.library-top span{color:var(--muted);font-size:11px}.library-top>button{background:0 0;border:0;font-size:28px}.grade-tabs{border-bottom:1px solid var(--line);background:#eee8dd;gap:5px;padding:12px 24px;display:flex;overflow-x:auto}.grade-tabs button{white-space:nowrap;background:0 0;border:1px solid #0000;padding:9px 12px;font-size:12px}.grade-tabs button.active{background:var(--ink);color:#fff}.library-layout{grid-template-columns:210px 220px minmax(0,1fr);min-height:calc(100vh - 165px);display:grid}.book-nav,.chapter-nav{border-right:1px solid var(--line);background:var(--surface);padding:24px 14px}.book-nav>small,.chapter-nav>small{color:var(--muted);letter-spacing:.08em;margin:0 8px 16px;font-size:10px;display:block}.book-nav button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;margin-bottom:4px;padding:11px 9px;display:flex}.book-nav button>span{background:#e8e1d6;place-items:center;width:30px;height:30px;font-family:serif;display:grid}.book-nav button div{gap:3px;display:grid}.book-nav button small{color:var(--muted);font-size:8px}.book-nav button.active,.chapter-nav button.active{color:var(--orange);background:#ebe4d8}.chapter-nav{background:#f7f3eb}.chapter-nav button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;gap:9px;width:100%;padding:13px 8px;font-size:11px;display:flex}.chapter-nav button span{color:#aaa;font-family:Georgia,serif}.chapter-lesson{max-width:820px;padding:42px 48px 70px}.lesson-breadcrumb{color:var(--orange);letter-spacing:.08em;font-size:10px}.chapter-lesson>h1{margin:13px 0;font-family:Georgia,Songti SC,serif;font-size:40px}.lesson-lead{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:24px;font-size:14px;line-height:1.8}.chapter-lesson section{margin-top:30px}.chapter-lesson h3{margin:0 0 12px;font-size:18px}.chapter-lesson section>p{margin:0 0 13px;font-family:Georgia,Songti SC,serif;font-size:16px;line-height:2}.worked-example{border-left:3px solid var(--orange);background:#eee7dc;padding:24px}.worked-example small{color:var(--orange);letter-spacing:.12em;font-size:9px}.worked-example h3{margin-top:8px;font-size:15px;line-height:1.7}.worked-example li,.lesson-columns li{margin-bottom:7px;font-size:12px;line-height:1.7}.lesson-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.lesson-columns section{border:1px solid var(--line);margin-top:14px;padding:20px}.chapter-lesson>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-top:35px;padding-top:18px;display:flex}.chapter-lesson>footer span{color:var(--muted);font-size:10px}.chapter-lesson>footer button{background:var(--orange);color:#fff;border:0;padding:11px 16px}@media (width<=850px){.library-layout{grid-template-columns:150px 180px minmax(0,1fr)}.chapter-lesson{padding:30px 24px}.chapter-lesson>h1{font-size:32px}}@media (width<=620px){.library-top{padding:18px}.library-layout{display:block}.book-nav,.chapter-nav{border-right:0;border-bottom:1px solid var(--line);padding:10px;display:flex;overflow-x:auto}.book-nav>small,.chapter-nav>small{display:none}.book-nav button,.chapter-nav button{border-bottom:0;min-width:145px}.chapter-lesson{padding:25px 18px 60px}.chapter-lesson>h1{font-size:29px}.lesson-columns{grid-template-columns:1fr}.chapter-lesson>footer{align-items:flex-start}}.unit-group{margin:0 0 18px!important}.chapter-nav .unit-group>strong{color:#5f5a52;padding:0 8px 6px;font-size:10px;line-height:1.5;display:block}.chapter-nav .unit-group button{padding:9px 8px 9px 14px}.catalog-card{border:1px solid var(--line);background:var(--surface);justify-content:space-between;gap:20px;margin:20px 0 28px;padding:18px 20px;display:flex}.catalog-card>div:first-child{gap:5px;display:grid}.catalog-card small{color:var(--orange);letter-spacing:.1em;font-size:9px}.catalog-card strong{font-family:Georgia,Songti SC,serif;font-size:15px;line-height:1.5}.catalog-card span{color:var(--muted);font-size:10px}.source-links{align-content:center;gap:7px;min-width:145px;display:grid}.source-links a{color:var(--orange);font-size:10px;text-decoration:none}.textbook-citation{border-left:3px solid var(--green);background:#ece6da;margin:24px 0;padding:20px 22px}.textbook-citation small{color:var(--green);letter-spacing:.12em;font-size:9px}.textbook-citation p{margin:9px 0;font-family:Georgia,Songti SC,serif;font-size:20px}.textbook-citation cite{color:var(--muted);font-size:9px;font-style:normal}.book-nav,.chapter-nav{align-self:start;max-height:calc(100vh - 165px);position:sticky;top:165px;overflow-y:auto}@media (width<=620px){.book-nav,.chapter-nav{max-height:none;position:static}.unit-group{display:flex;margin:0!important}.chapter-nav .unit-group>strong{min-width:145px;padding:11px}.catalog-card{display:grid}.source-links{flex-wrap:wrap;display:flex}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.ocr-studio{color:#22211f;background:#f2efe7;min-height:100vh;margin:0}.ocr-topbar{background:#fbf9f4;border-bottom:1px solid #d8d2c6;justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,4vw);display:flex}.ocr-brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.ocr-brand span{color:#fff;background:#d95432;border-radius:50%;place-items:center;width:35px;height:35px;font-family:Songti SC,serif;display:grid}.ocr-brand strong{font-size:15px}.ocr-topbar p{color:#77736c;letter-spacing:.08em;font-size:11px}.ocr-workspace{grid-template-columns:minmax(0,1fr) 290px;gap:22px;width:min(1180px,100% - 40px);margin:0 auto;padding:64px 0 80px;display:grid}.ocr-intro{grid-column:1/-1;grid-template-columns:1.1fr .8fr;align-items:end;margin-bottom:24px;display:grid}.ocr-intro .eyebrow{grid-column:1/-1}.ocr-intro h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Songti SC,serif;font-size:52px;line-height:1.08}.ocr-intro h1 em{color:#77736c;font-weight:400}.ocr-intro>p:last-child{color:#6e6a64;max-width:440px;margin:0 0 6px;font-size:13px;line-height:1.8}.ocr-board{background:#fffdf8;border:1px solid #d8d2c6;min-height:440px;padding:22px}.ocr-dropzone{text-align:center;background:#f7f3eb;border:1px dashed #b9b1a4;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:28px;display:flex}.ocr-dropzone input{opacity:0;width:1px;height:1px;position:absolute}.ocr-upload-icon{color:#fff;background:#263642;border-radius:50%;place-items:center;width:46px;height:46px;font-size:25px;font-weight:300;display:grid}.ocr-dropzone h2{margin:17px 0 6px;font-family:Georgia,Songti SC,serif;font-size:22px}.ocr-dropzone p{color:#7b766e;margin:0 0 18px;font-size:11px}.ocr-dropzone button,.ocr-primary{color:#fff;background:#d95432;border:0;padding:11px 18px;font-weight:700}.ocr-file-list{margin-top:23px}.ocr-list-head{border-bottom:1px solid #ded8cd;justify-content:space-between;padding-bottom:10px;font-size:12px;display:flex}.ocr-list-head button,.ocr-file>button{color:#8a857d;background:0 0;border:0}.ocr-file{border-bottom:1px solid #e5dfd5;grid-template-columns:54px 1fr 30px;align-items:center;gap:13px;padding:12px 0;display:grid}.ocr-file img{object-fit:cover;background:#eee;width:54px;height:54px}.ocr-file>div{gap:5px;min-width:0;display:grid}.ocr-file strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ocr-file small{color:#77736c;font-size:10px}.ocr-file progress{accent-color:#d95432;width:100%;height:4px}.ocr-file>button{font-size:20px}.ocr-actions{color:#fff;background:#263642;align-self:start;padding:25px;position:sticky;top:94px}.ocr-actions label{color:#b7c0c4;letter-spacing:.08em;gap:8px;font-size:10px;display:grid}.ocr-actions input{color:#fff;background:#344650;border:1px solid #52616a;outline:none;width:100%;padding:11px}.ocr-actions input:focus{border-color:#f09a7e}.ocr-steps{align-items:flex-start;margin:27px 0 24px;display:flex}.ocr-steps span{color:#93a0a6;border:1px solid #65737b;border-radius:50%;place-items:center;gap:6px;width:42px;height:24px;font-family:Georgia,serif;font-size:10px;display:grid}.ocr-steps span.active{color:#fff;background:#d95432;border-color:#d95432}.ocr-steps b{font-family:var(--font-geist),sans-serif;white-space:nowrap;color:#aeb8bc;font-size:8px;font-weight:500}.ocr-steps i{background:#52616a;flex:1;height:1px;margin-top:12px}.ocr-primary{width:100%;min-height:44px}.ocr-primary:disabled{color:#98a3a8;cursor:not-allowed;background:#52616a}.ocr-privacy{color:#aeb8bc;border-top:1px solid #465861;margin:22px 0 0;padding-top:19px;font-size:9px;line-height:1.7}.ocr-privacy b{color:#eef2f2;margin-bottom:4px;font-size:10px;display:block}@media (width<=800px){.ocr-workspace{grid-template-columns:1fr;padding-top:38px}.ocr-intro{grid-template-columns:1fr;gap:18px}.ocr-intro h1{font-size:42px}.ocr-board{min-height:0}.ocr-actions{position:static}.ocr-topbar p{display:none}}@media (width<=480px){.ocr-workspace{width:calc(100% - 24px);padding:28px 0 50px}.ocr-intro h1{font-size:34px}.ocr-board{padding:12px}.ocr-dropzone{min-height:230px;padding:20px}.ocr-actions{padding:21px}}.practice-challenge{background:#f8faf7;border:1px solid #bfc9c1;margin-top:32px!important}.practice-head{background:var(--navy);color:#fff;justify-content:space-between;gap:22px;padding:24px 26px;display:flex}.practice-head small,.practice-ended small{letter-spacing:.16em;color:#f39a7d;font-size:9px;font-weight:800}.practice-head h3{margin:7px 0 8px;font-family:Georgia,Songti SC,serif;font-size:24px}.practice-head p{color:#c6d0d3;max-width:540px;margin:0;font-size:11px;line-height:1.7}.practice-score{border-left:1px solid #53616a;align-items:baseline;gap:5px;min-width:86px;padding-left:20px;display:flex}.practice-score strong{color:#f39a7d;font-family:Georgia,serif;font-size:34px}.practice-score span{color:#c6d0d3;font-size:10px}.practice-intro{padding:24px 26px}.practice-intro ol{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px;padding:0;list-style:none;display:grid}.practice-intro li{background:#fff;border:1px solid #d9ded8;align-items:center;gap:10px;padding:13px;display:flex}.practice-intro li>span{color:var(--orange);font-family:Georgia,serif;font-size:11px}.practice-intro li div{gap:3px;display:grid}.practice-intro li strong{font-size:12px}.practice-intro li small{color:var(--muted);font-size:9px}.practice-intro>button,.practice-complete button,.practice-ended>button{background:var(--orange);color:#fff;border:0;padding:11px 17px;font-weight:700}.practice-active{padding:25px 26px}.practice-progress{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:20px;display:grid}.practice-progress span{background:#dfe3de;height:4px}.practice-progress span.current{background:#e9a188}.practice-progress span.done{background:var(--green)}.question-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.question-meta span{letter-spacing:.12em;color:var(--orange);font-size:9px;font-weight:800}.question-meta small{color:var(--muted);font-size:10px}.practice-active>h4{margin:13px 0 18px;font-family:Georgia,Songti SC,serif;font-size:20px;line-height:1.55}.practice-options{border:0;gap:8px;margin:0;padding:0;display:grid}.practice-options legend{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.practice-options label{border:1px solid var(--line);cursor:pointer;background:#fff;grid-template-columns:25px 1fr;align-items:center;gap:9px;padding:13px 15px;display:grid}.practice-options label:hover{border-color:#9ba59d}.practice-options label.selected{border-color:var(--orange);background:#fff3ed}.practice-options input{opacity:0;position:absolute}.practice-options label>span{border:1px solid #c7cfc8;border-radius:50%;place-items:center;width:24px;height:24px;font-family:Georgia,serif;font-size:10px;display:grid}.practice-options label.selected>span{background:var(--orange);border-color:var(--orange);color:#fff}.practice-options strong{font-size:12px;line-height:1.6}.practice-feedback{color:#913922;border-left:3px solid var(--orange);background:#fff0eb;margin:14px 0 0;padding:12px 14px;font-size:11px;line-height:1.65}.practice-feedback.correct{color:#315d3d;border-color:var(--green);background:#e9f2eb}.practice-actions-row{justify-content:space-between;align-items:center;gap:20px;margin-top:16px;display:flex}.practice-actions-row>span{color:var(--muted);font-size:10px}.practice-actions-row button{background:var(--ink);color:#fff;white-space:nowrap;border:0;padding:10px 17px;font-weight:700}.practice-actions-row button:disabled{opacity:.35;cursor:not-allowed}.practice-complete{text-align:center;padding:34px 26px}.practice-complete>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:45px;height:45px;margin:0 auto 12px;font-size:22px;display:grid}.practice-complete small{color:var(--green);letter-spacing:.12em;font-size:9px;font-weight:800}.practice-complete h4{margin:8px 0;font-family:Georgia,Songti SC,serif;font-size:24px}.practice-complete p{color:var(--muted);margin:0 auto 18px;font-size:11px;line-height:1.7}.practice-ended{justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;display:flex}.practice-ended h3{margin:7px 0;font-family:Georgia,Songti SC,serif;font-size:22px}.practice-ended p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.practice-ended>button{white-space:nowrap}@media (width<=620px){.practice-head{align-items:flex-start;padding:20px}.practice-head h3{font-size:21px}.practice-score{min-width:65px;padding-left:12px}.practice-score strong{font-size:28px}.practice-score span{display:none}.practice-intro,.practice-active{padding:20px}.practice-intro ol{grid-template-columns:1fr}.practice-active>h4{font-size:18px}.practice-options label{padding:12px}.practice-actions-row{flex-direction:column;align-items:flex-start}.practice-actions-row button{width:100%;padding:12px}.practice-ended{flex-direction:column;align-items:flex-start}.practice-ended>button{width:100%}}html,body{overscroll-behavior-y:none;min-height:100%}.app-shell{min-height:100dvh}.install-app-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);align-items:center;gap:5px;min-height:40px;padding:8px 11px;font-size:12px;font-weight:700;display:flex}.install-help-backdrop{z-index:90;background:#161715b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.install-help{background:var(--surface);width:min(470px,100%);padding:30px;position:relative;box-shadow:0 30px 80px #1118}.install-help h2{margin:0 0 20px;font-family:Georgia,Songti SC,serif;font-size:28px}.install-help ol{gap:10px;padding:0;list-style:none;display:grid}.install-help li{border:1px solid var(--line);padding:14px;font-size:12px;line-height:1.7}.install-help li span{color:var(--orange);font-weight:800;display:block}.install-help>p:last-of-type{color:var(--muted);font-size:11px;line-height:1.6}.install-help .create-submit{margin-top:10px}@media (width<=620px){.library-shell{height:100dvh}.reader{height:100dvh;max-height:100dvh}.library-top>button,.close{min-width:44px;min-height:44px}.grade-tabs button,.book-nav button,.chapter-nav button{min-height:44px}.source-links a{align-items:center;min-height:40px;display:flex}.chapter-lesson>footer{flex-direction:column}.chapter-lesson>footer button{width:100%;min-height:44px}.practice-options label{min-height:52px}.install-help-backdrop{padding:0}.install-help{width:100%;padding:26px 20px calc(22px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;align-self:end}.install-help .create-submit{min-height:46px}}@media (width<=560px){.topbar{height:auto;min-height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.content{padding-bottom:calc(50px + env(safe-area-inset-bottom))}.install-app-button{place-items:center;gap:0;min-width:44px;min-height:44px;padding:6px;display:grid}.install-app-button span{font-size:8px}.mobile-library,.new-project,.avatar{min-width:44px;min-height:44px}.modal{max-height:100dvh;padding-bottom:calc(26px + env(safe-area-inset-bottom));overflow:auto}}@media (width<=350px){.mobile-brand{font-size:0}.mobile-brand .brand-mark{font-size:12px}.topbar{gap:5px}.install-app-button span{display:none}}.mobile-curriculum-controls{display:none}:is(body:has(.modal-backdrop),body:has(.reader-backdrop),body:has(.library-shell),body:has(.install-help-backdrop)){overflow:hidden}@media (width<=620px){.grade-tabs,.book-nav,.chapter-nav{display:none}.mobile-curriculum-controls{border-bottom:1px solid var(--line);background:#eee8dd;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;display:grid}.mobile-curriculum-controls label{gap:5px;display:grid}.mobile-curriculum-controls label>span{color:var(--muted);letter-spacing:.08em;font-size:9px;font-weight:800}.mobile-curriculum-controls select{border:1px solid var(--line);background:var(--surface);width:100%;height:44px;color:var(--ink);border-radius:0;padding:0 10px;font-size:16px}.mobile-chapter-select{grid-column:1/-1}.library-top{min-height:88px;padding-top:calc(14px + env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.library-top h2{font-size:24px}.library-top>div>span{display:none}.modal-backdrop,.reader-backdrop{align-items:start;overflow-y:auto}.practice-head{min-height:0}}@media (width<=380px){.mobile-brand{font-size:0}.mobile-brand .brand-mark{font-size:12px}.mobile-library span,.install-app-button span{display:none}.topbar{gap:5px}.practice-head{flex-direction:column}.practice-score{border-top:1px solid #53616a;border-left:0;width:100%;padding:10px 0 0}.practice-score span{display:inline}.welcome h1{font-size:28px}.project-strip{grid-template-columns:1fr}.project-actions{justify-content:space-between}.progress-wrap{grid-column:1}.project-strip>div:first-child,.project-strip>div:first-child>div{min-width:0}.project-strip strong,.project-strip p{overflow-wrap:anywhere}}@media (width<=650px){.reader-head{padding-top:calc(22px + env(safe-area-inset-top))}.reader-head>button{min-width:44px;min-height:44px}.reader>footer{padding-bottom:calc(16px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.reader>footer button{width:100%;min-height:44px}.project-actions button,.text-button{min-height:44px;padding-block:10px}.modal-backdrop{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.modal input,.modal select,.modal textarea{font-size:16px}}@media (width<=900px){.topbar>button{min-width:44px;min-height:44px}}.question-focus{color:var(--muted);background:#f0ece4;align-items:flex-start;gap:8px;margin:11px 0 0;padding:9px 11px;font-size:12px;line-height:1.6;display:flex}.question-focus strong{color:var(--ink);flex:none}.question-source{border-left:3px solid var(--orange);background:#fffaf3;margin:12px 0 0;padding:12px 14px}.question-source small{color:var(--orange);letter-spacing:.08em;font-size:9px;font-weight:800}.question-source p{color:var(--ink);margin:5px 0 0;font-size:12px;line-height:1.7}@media (width<=620px){.question-focus{flex-direction:column;gap:3px}}.ocr-source-buttons{gap:8px;display:flex}.ocr-source-buttons .ocr-camera-button{background:#263642;display:none}.ocr-mobile-copy{display:none}.ocr-file{grid-template-columns:54px minmax(0,1fr) auto}.ocr-file-actions{gap:2px!important;display:flex!important}.ocr-file-actions button{color:#77736c;background:0 0;border:0;width:32px;height:40px;font-size:17px}.ocr-file-actions button:disabled{opacity:.25}.ocr-mobile-action{display:none}@media (width<=480px){.ocr-studio{padding-bottom:76px}.ocr-topbar{height:58px;padding:0 16px}.ocr-workspace{padding-top:24px;padding-bottom:30px}.ocr-intro{margin-bottom:8px}.ocr-intro .eyebrow{margin-bottom:4px}.ocr-intro>p:last-child{font-size:12px}.ocr-desktop-copy{display:none}.ocr-mobile-copy{display:inline}.ocr-source-buttons{grid-template-columns:1fr 1fr;width:100%;display:grid}.ocr-source-buttons .ocr-camera-button{display:block}.ocr-source-buttons button{min-height:48px;padding:10px 8px}.ocr-file{grid-template-columns:48px minmax(0,1fr);gap:10px}.ocr-file img{width:48px;height:48px}.ocr-file-actions{border-top:1px solid #eee7dc;grid-column:1/-1;justify-content:flex-end;padding-top:4px}.ocr-file-actions button{width:44px;height:40px}.ocr-list-head strong{font-size:10px}.ocr-actions .ocr-primary{display:none}.ocr-mobile-action{z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffdf8;border-top:1px solid #d8d2c6;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -8px 30px #29251f12}.ocr-mobile-action span{color:#6e6a64;font-size:11px}.ocr-mobile-action button{color:#fff;background:#d95432;border:0;min-width:118px;min-height:46px;font-weight:750}.ocr-mobile-action button:disabled{color:#89837a;background:#d1cbc1}}.ocr-top-actions{align-items:center;gap:16px;display:flex}.ocr-top-actions p{margin:0}.ocr-install{color:#fff;background:#263642;border:1px solid #263642;min-height:40px;padding:8px 12px;font-weight:700}.ocr-error{color:#84351f;background:#fff0eb;border-left:3px solid #b7472c;margin:0 0 12px;padding:12px 14px;font-size:12px;line-height:1.6}.ocr-install-backdrop{z-index:80;background:#161715b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.ocr-install-backdrop section{background:#fffdf8;width:min(460px,100%);padding:28px;position:relative}.ocr-install-backdrop h2{margin:0 0 18px;font-family:Georgia,Songti SC,serif;font-size:27px}.ocr-install-backdrop ol{gap:8px;margin:0 0 20px;padding:0;list-style:none;display:grid}.ocr-install-backdrop li{border:1px solid #ddd6ca;gap:5px;padding:13px;display:grid}.ocr-install-backdrop li b{font-size:12px}.ocr-install-backdrop li span{color:#6e6a64;font-size:11px;line-height:1.6}.ocr-install-close{background:0 0;border:0;width:44px;height:44px;font-size:24px;position:absolute;top:8px;right:10px}.ocr-dropzone button,.ocr-primary,.ocr-mobile-action button{background:#b7472c}.ocr-list-head button{min-height:44px;padding:8px}.ocr-file-actions button{min-height:44px}@media (width<=800px){.ocr-source-buttons .ocr-camera-button{display:block}.ocr-top-actions>p{display:none}}@media (width<=480px){.ocr-topbar{height:auto;min-height:calc(58px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.ocr-install{min-height:44px;padding:8px 10px;font-size:11px}.ocr-actions input{min-height:44px;font-size:16px}.ocr-file-actions button{height:44px}.ocr-mobile-action button{background:#b7472c}.ocr-install-backdrop{align-items:end;padding:0}.ocr-install-backdrop section{padding:26px 20px calc(22px + env(safe-area-inset-bottom))}}
