:root{color:#18212f;background:#f6f2ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;max-width:100%;overflow-x:hidden}button,select,textarea{font:inherit}button,select{border:1px solid #c9c1b4;background:#fffdfa;color:#18212f;border-radius:8px}select{appearance:auto;min-width:0}button{min-height:40px;padding:0 14px;cursor:pointer}button:hover{border-color:#8f7d63}.app-shell{display:block;width:100%;max-width:100vw;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:340px;height:100vh;min-width:0;padding:22px;overflow:hidden;background:#16202d;color:#f7f4ee}.sidebar-content{height:100%;min-width:0;display:flex;flex-direction:column;gap:20px;overflow-y:auto;overscroll-behavior:contain;transition:opacity .16s ease,transform .16s ease}.sidebar-rail{display:none}.sidebar-toggle{position:absolute;top:16px;right:10px;z-index:5;width:28px;min-height:28px;padding:0;border-radius:999px;border-color:#344154;background:#fffdfa;color:#16202d;font-size:20px;line-height:1}.brand{display:flex;align-items:flex-start;gap:12px;min-width:0}.brand-mark{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:10px;background:#e6a23c;color:#16202d;font-weight:800}.brand h1{margin:0;font-size:23px;line-height:1.1}.brand p{margin:4px 0 0;color:#c9d3df;font-size:12px;line-height:1.35;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mode-tabs button{min-width:0;padding:0 8px;color:#f7f4ee;border-color:#344154;background:#202d3d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-tabs button.active{color:#16202d;background:#e6a23c;border-color:#e6a23c}.field{display:grid;gap:9px;color:#dce5ee;font-size:13px}.field select{width:100%;height:46px;padding:0 12px;border-color:#d8d0c4;box-shadow:0 1px #fff9 inset;font-size:14px}.topic-picker{min-width:0}.topic-picker h2{margin:0 0 9px;color:#dce5ee;font-size:13px;font-weight:650}.topic-list{display:grid;gap:6px;max-height:min(42vh,420px);overflow-y:auto;padding-right:4px}.topic-list button{justify-content:flex-start;width:100%;min-height:38px;padding:9px 10px;color:#dce5ee;border-color:#344154;background:#202d3d;line-height:1.25;text-align:left;overflow-wrap:anywhere}.topic-list button.active{color:#16202d;border-color:#e6a23c;background:#e6a23c}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto}.stats div{padding:12px;border:1px solid #344154;border-radius:8px;background:#202d3d}.stats strong,.stats span{display:block}.stats strong{font-size:22px}.stats span{color:#c9d3df;font-size:12px}.workspace{min-width:0;max-width:calc(100vw - 340px);margin-left:340px;padding:32px clamp(22px,5vw,72px);transition:margin-left .18s ease,max-width .18s ease}.page-header{max-width:920px;margin-bottom:26px}.page-header p{margin:0 0 8px;color:#6f5f4a;font-size:13px}.page-header h2{margin:0 0 12px;font-size:clamp(30px,4vw,48px);line-height:1.04}.page-header.compact h2{font-size:clamp(24px,3vw,38px)}.page-header span{color:#4e5968;line-height:1.6}.book-layout{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,920px);gap:clamp(24px,4vw,48px);align-items:start;min-width:0}.book-layout.single-section{grid-template-columns:minmax(0,920px)}.toc{position:sticky;top:24px;display:grid;gap:4px;padding:14px 0;border-top:1px solid #d8d0c4;border-bottom:1px solid #d8d0c4}.toc button{display:block;width:100%;height:auto;min-height:0;padding:3px 0;border:0;border-radius:0;background:transparent;color:#4e5968;text-decoration:none;font-size:14px;line-height:1.35;text-align:left}.toc button:hover,.toc button.active{color:#a15f13}.markdown-body{max-width:860px;min-width:0;overflow-wrap:anywhere}.markdown-body section{padding-bottom:18px;border-bottom:1px solid #e5ded3}.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:28px 0 12px}.markdown-body p,.markdown-body li,.flashcard p,.flashcard li{color:#2d3643;line-height:1.7}.markdown-body ul,.markdown-body ol,.flashcard ul,.flashcard ol{padding-left:1.35em}.markdown-body hr,.flashcard hr{height:1px;margin:28px 0;border:0;background:#e5ded3}.table-scroll{max-width:100%;margin:18px 0 24px;overflow-x:auto;border:1px solid #d8d0c4;border-radius:8px;background:#fffdfa;box-shadow:0 12px 32px #16202d0f}.markdown-body table,.flashcard table{width:100%;min-width:620px;border-collapse:collapse;color:#2d3643;font-size:15px;line-height:1.45}.markdown-body th,.markdown-body td,.flashcard th,.flashcard td{padding:12px 14px;border-bottom:1px solid #e8e0d4;vertical-align:top}.markdown-body th,.flashcard th{background:#f6e7cd;color:#18212f;font-weight:750;white-space:nowrap}.markdown-body tr:nth-child(2n) td,.flashcard tr:nth-child(2n) td{background:#fbf7ef}.markdown-body tr:last-child td,.flashcard tr:last-child td{border-bottom:0}.markdown-body blockquote,.flashcard blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid #e6a23c;background:#fffaf2;color:#2d3643}.markdown-body pre,.flashcard pre{max-width:100%;overflow-x:auto;padding:14px;border-radius:8px;background:#16202d;color:#f7f4ee;white-space:pre}.markdown-body code,.flashcard code{padding:2px 5px;border-radius:5px;background:#e9e1d4}.markdown-body pre code,.flashcard pre code{display:block;min-width:max-content;padding:0;border-radius:0;background:transparent;color:inherit;font-size:14px;line-height:1.6}.code-lang{display:block;margin-bottom:8px;color:#aeb9c6;font-size:12px}.task-item{display:flex;align-items:baseline;gap:9px;list-style:none}.task-item input{flex:0 0 auto}.wiki-link{display:inline;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#a15f13;font-weight:650;text-align:left;cursor:pointer;text-decoration:none}.wiki-link:hover{color:#7d4308;text-decoration:underline}.review-view{max-width:1180px;min-width:0}.review-dashboard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.review-dashboard div{padding:14px;border:1px solid #d8d0c4;border-radius:8px;background:#fffdfa}.review-dashboard strong,.review-dashboard span{display:block}.review-dashboard strong{font-size:24px}.review-dashboard span{color:#6f5f4a;font-size:12px}.progress-panel{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:18px;margin-bottom:18px;padding:16px;border:1px solid #d8d0c4;border-radius:8px;background:#fffdfa}.progress-summary{display:grid;align-content:center;gap:10px}.progress-summary strong,.progress-summary span{display:block}.progress-summary strong{font-size:32px;line-height:1}.progress-summary span{color:#6f5f4a;font-size:13px}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#eee5d8}.progress-track span{display:block;height:100%;border-radius:inherit;background:#e6a23c}.progress-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;align-content:start;max-height:170px;overflow-y:auto}.progress-sections div{display:flex;gap:10px;justify-content:space-between;min-width:0;padding-bottom:7px;border-bottom:1px solid #eee5d8}.progress-sections span{min-width:0;overflow:hidden;color:#4e5968;text-overflow:ellipsis;white-space:nowrap}.progress-sections strong{flex:0 0 auto;color:#18212f}.study-layout{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:18px;align-items:start;min-width:0}.card-browser{position:sticky;top:24px;display:grid;gap:8px;max-height:calc(100vh - 48px);overflow-y:auto}.card-browser button{display:grid;gap:5px;height:auto;min-height:58px;padding:10px 12px;text-align:left;background:#fffdfa}.card-browser button.active{border-color:#e6a23c;box-shadow:0 0 0 2px #e6a23c2e}.card-browser span,.card-browser small{min-width:0;overflow:hidden;text-overflow:ellipsis}.card-browser small{color:#6f5f4a;white-space:nowrap}.flashcard{min-height:360px;min-width:0;padding:clamp(20px,4vw,36px);border:1px solid #d8d0c4;border-radius:8px;background:#fffdfa;box-shadow:0 18px 50px #16202d14}.flashcard h3{margin:0 0 22px;font-size:clamp(24px,4vw,38px);line-height:1.12}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.card-meta span{padding:5px 8px;border-radius:999px;background:#edf1f5;color:#4e5968;font-size:12px}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tag-row span{padding:5px 8px;border-radius:999px;background:#edf1f5;color:#4e5968;font-size:12px}.reveal-button{width:100%;min-height:220px;color:#16202d;background:#f6e7cd;border-style:dashed;font-size:20px;font-weight:700}.grade-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px}.grade-row button:nth-child(1){background:#ffe7e1}.grade-row button:nth-child(2){background:#fff1d2}.grade-row button:nth-child(3){background:#e5f4e8}.grade-row button:nth-child(4){background:#dff2fb}.grade-row button{display:grid;place-items:center;height:auto;min-height:58px}.grade-row span{color:#4e5968;font-size:12px}.grade-hint{margin-top:24px;color:#6f5f4a;font-size:13px}.empty-state,.loading-screen,.error-screen{min-height:100vh;display:grid;place-content:center;text-align:center}.empty-state{min-height:520px}.loading-screen{gap:16px;background:#16202d;color:#f7f4ee}.error-screen{gap:12px;padding:24px;background:#f6f2ea}.error-screen h1,.error-screen p{max-width:560px;margin:0}.sidebar-collapsed .sidebar{width:72px;padding:14px 10px}.sidebar-collapsed .workspace{max-width:calc(100vw - 72px);margin-left:72px}.sidebar-collapsed .sidebar-content{opacity:0;pointer-events:none;transform:translate(-18px)}.sidebar-collapsed .sidebar-rail{position:absolute;inset:14px 10px;display:flex;flex-direction:column;align-items:center;gap:18px}.sidebar-collapsed .sidebar-rail .brand-mark{width:44px;height:44px}.sidebar-rail nav{display:grid;gap:8px}.sidebar-rail button{width:44px;min-height:40px;padding:0;color:#f7f4ee;border-color:#344154;background:#202d3d;font-weight:700}.sidebar-rail button.active{color:#16202d;border-color:#e6a23c;background:#e6a23c}@media(max-width:920px){.app-shell{overflow-x:hidden}.sidebar-collapsed .sidebar,.sidebar{position:static;inset:auto;width:100%;max-width:100%;height:auto;min-height:auto;padding:18px;overflow:hidden}.sidebar-collapsed .sidebar-toggle,.sidebar-toggle,.sidebar-collapsed .sidebar-rail,.sidebar-rail{display:none!important}.sidebar-collapsed .sidebar-content{opacity:1;pointer-events:auto;transform:none}.sidebar-content{width:100%;max-width:100%;overflow-y:visible}.sidebar-collapsed .workspace,.workspace{max-width:100%;margin-left:0}.brand,.mode-tabs,.topic-picker,.topic-list,.stats{width:100%;max-width:100%}.book-layout,.study-layout,.progress-panel{grid-template-columns:1fr}.toc,.card-browser{position:static;max-height:none}.topic-list{max-height:260px}}@media(max-width:560px){.sidebar-collapsed .sidebar,.sidebar{padding:18px 14px}.brand{align-items:center}.brand h1{font-size:20px}.workspace{padding:20px 14px}.page-header h2{font-size:30px}.page-header.compact h2{font-size:26px}.grade-row,.stats,.review-dashboard,.progress-sections,.mode-tabs{grid-template-columns:1fr 1fr}.brand p{max-width:min(210px,calc(100vw - 104px))}.topic-list button,.mode-tabs button{overflow-wrap:anywhere;white-space:normal}.toc button,.markdown-body p,.markdown-body li,.flashcard p,.flashcard li{font-size:16px}.flashcard{padding:18px 14px}}
