:root{--ink:#1e3028;--muted:#728078;--green:#365c48;--lime:#d4e58d;--paper:#f4f5ee;--line:#dfe5da;--orange:#d97043}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans SC',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #dce3d9;background:#f8f9f4}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:italic 25px 'DM Serif Display',serif}.brand-mark span{color:var(--lime)}.brand-name{font-weight:700;font-size:17px;letter-spacing:-.05em}.brand-name small{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:.18em;margin-top:2px}.top-note{font-size:12px;color:#718078}.status-dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:#9fbd70;margin-right:8px}.mobile-menu,.close-menu{display:none}.intro{max-width:1440px;margin:auto;padding:66px 6% 76px;display:flex;align-items:end;justify-content:space-between;gap:50px}.eyebrow,.section-index,.sidebar-kicker,.reader-label{font-size:10px;font-weight:700;letter-spacing:.15em;color:#75867b}.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow-line{height:1px;width:34px;background:#a8b8a7}.intro h1{font:normal clamp(55px,6.5vw,96px)/.95 'DM Serif Display',Georgia,serif;letter-spacing:-.045em;margin:25px 0 22px}.intro h1 em{font-weight:400;color:#66835e}.intro-left>p{margin:0;color:#74847a;font-size:15px;letter-spacing:.06em}.intro-right{width:300px;padding:0 0 5px}.intro-symbol{font-size:40px;color:#dc8159;line-height:1}.intro-right p{font-size:14px;line-height:1.9;color:#6a7b70;margin:17px 0 22px}.start-link{font-size:12px;font-weight:700;color:var(--ink);text-decoration:none;padding-bottom:8px;border-bottom:1px solid var(--ink);display:inline-flex;gap:48px}.workspace{background:#e9eee5;padding:64px 6% 88px}.workspace-head{max-width:1360px;margin:0 auto 30px;display:flex;align-items:end;justify-content:space-between}.workspace-head h2{font-size:27px;margin:10px 0 0;letter-spacing:-.04em}.workspace-head h2 span{font:italic 23px 'DM Serif Display',serif;color:#8aa18b;margin-left:8px}.workspace-hint{font-size:12px;color:#7d8d80}.layout{max-width:1360px;margin:auto;display:grid;grid-template-columns:290px minmax(0,1fr);min-height:700px;box-shadow:0 15px 60px #405a4810}.sidebar{background:#f9faf6;border:1px solid #dde5da;border-right:0;display:flex;flex-direction:column;min-width:0}.sidebar-top{padding:27px 24px 18px;display:flex;justify-content:space-between}.sidebar-top h3{margin:9px 0 0;font-size:17px}.sidebar-top h3 span{font-size:11px;color:#98a79b;margin-left:6px}.search{margin:0 20px 22px;border:1px solid #dce4d9;background:#fff;border-radius:6px;display:flex;align-items:center;padding:0 10px;gap:8px;height:40px;color:#829388}.search>span{font-size:22px;line-height:1}.search input{width:100%;min-width:0;border:0;outline:0;font-size:11px;color:var(--ink);background:transparent}.search input::placeholder{color:#a2ada3}.search kbd{font-size:10px;color:#a0ada3;border:1px solid #e0e6df;padding:2px 5px;border-radius:3px}.list-label{padding:0 24px 12px;display:flex;justify-content:space-between;border-bottom:1px solid #e6ebe4;font-size:10px;font-weight:700;color:#99a69b;letter-spacing:.08em}.page-list{height:620px;overflow:auto;padding:7px 9px}.page-item{border:0;text-align:left;width:100%;background:transparent;border-radius:5px;padding:12px 12px;display:flex;align-items:center;gap:12px;color:#6c7d70;transition:background .18s,color .18s}.page-item:hover{background:#edf2e9}.page-item.active{background:#dfead9;color:#244a36}.page-item .num{font:italic 15px 'DM Serif Display',serif;color:#97a99a;flex:none}.page-item.active .num{color:#577f5e}.page-item .name{font-size:12px;font-weight:600;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-item .arrow{margin-left:auto;font-size:15px;opacity:0}.page-item.active .arrow{opacity:1}.empty{font-size:12px;color:#91a093;padding:18px 14px;line-height:1.8}.sidebar-foot{margin-top:auto;border-top:1px solid #e7ece4;padding:19px 24px;font-size:11px;color:#96a598}.sidebar-foot span{font-size:17px;margin-right:6px}.reader{background:#fff;border:1px solid #dde5da;min-width:0;display:flex;flex-direction:column}.reader-toolbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:18px 30px;border-bottom:1px solid #edf1eb;gap:15px}.reader-title{min-width:0}.reader-title strong{display:block;font-size:14px;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-actions{display:flex;align-items:center;gap:8px;flex:none;color:#8b9b8d;font-size:11px}.toolbar-actions button{width:29px;height:29px;border:1px solid #e3ebe1;background:#fff;color:#526b58;border-radius:4px;font-size:17px}.toolbar-actions button:hover{background:#edf4eb}.reading-instruction{display:flex;align-items:center;gap:9px;background:#f2f7e9;color:#607e57;margin:22px auto 0;width:min(84%,700px);padding:11px 15px;font-size:11px;border-radius:4px}.instruction-icon{font-size:15px;color:#91b35d}.instruction-right{margin-left:auto;font-size:9px;letter-spacing:.1em;color:#a2b399}.page-scroll{overflow:auto;flex:1;padding:24px 24px 32px;background:#fff}.page-frame{position:relative;width:min(100%,700px);margin:auto;background:white;box-shadow:0 2px 20px #192f2014;line-height:0}.page-frame img{display:block;width:100%;height:auto}.word-layer{position:absolute;inset:0}.word{position:absolute;border:0;padding:0;background:transparent;border-radius:2px;color:transparent}.word:hover,.word:focus-visible{background:#c7df72aa;outline:1px solid #6f9b55}.reader-bottom{border-top:1px solid #edf1eb;display:flex;align-items:center;justify-content:space-between;padding:20px 30px}.page-control{border:0;background:transparent;color:#627769;font-size:12px;font-weight:600}.page-control span{font-size:17px;margin:0 7px}.page-control:disabled{opacity:.35;cursor:not-allowed}.page-indicator{font-size:11px;color:#a3afa4;letter-spacing:.1em}.page-indicator strong{color:#345641}.page-indicator span{padding:0 6px}footer{display:flex;align-items:center;gap:22px;padding:60px 6%;max-width:1440px;margin:auto;color:#789080}footer .small{width:34px;height:34px;font-size:21px}footer p{font:normal 19px/1.2 'DM Serif Display',serif;color:#5d7863;margin:0}footer p em{font-weight:400}footer>span:last-child{margin-left:auto;font-size:9px;letter-spacing:.14em}.shade{display:none;position:fixed;inset:0;background:#15271c72;z-index:10}.shade.show{display:block}.dictionary{position:fixed;z-index:11;right:24px;bottom:24px;width:min(380px,calc(100% - 48px));background:#fbfcf7;padding:25px 27px;box-shadow:0 18px 70px #0a1f1460;border-radius:8px;animation:slide .2s ease-out}.dictionary[hidden]{display:none}@keyframes slide{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.dict-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.14em;color:#8a9e8c;font-weight:700}.dict-top button{border:0;background:none;font-size:26px;line-height:1;color:#6d8171}.dict-word{display:flex;align-items:center;gap:15px;border-bottom:1px solid #e6ede2;padding:15px 0}.dict-word h2{font:normal 35px 'DM Serif Display',serif;margin:0;overflow-wrap:anywhere}.dict-word button{border:0;border-radius:50%;background:#e9f2dc;color:#55774b;width:36px;height:36px}.dict-content{font-size:14px;line-height:1.7;min-height:65px;color:#526a58;padding:16px 0}.dict-content strong{font-size:18px;color:#294e38}.dict-content p{margin:3px 0}.dict-content .meaning{font-size:12px;color:#829086}.dictionary>a{font-size:11px;color:#52755a;text-decoration:none;border-bottom:1px solid #a7bca2;padding-bottom:4px}.dict-foot{display:flex;justify-content:space-between;border-top:1px solid #e6ede2;margin-top:25px;padding-top:15px;font-size:9px;color:#a1b0a1;letter-spacing:.1em}.dict-foot span{color:#d47b53;font-size:16px}.mobile-menu{border:0;background:none;color:#395c45}.close-menu{border:0;background:none;font-size:24px;color:#68816c}@media(max-width:800px){.topbar{height:65px;padding:0 20px}.top-note{display:none}.mobile-menu{display:block;font-size:16px}.mobile-menu span{font-size:12px;margin-left:4px}.intro{padding:47px 22px 50px;display:block}.intro h1{font-size:58px;margin:22px 0 18px}.intro-left>p{font-size:13px}.intro-right{width:auto;margin-top:35px;display:flex;align-items:center;gap:16px}.intro-symbol{font-size:32px}.intro-right p{font-size:12px;margin:0;line-height:1.7}.start-link{margin-left:auto;white-space:nowrap;gap:14px}.workspace{padding:42px 15px 55px}.workspace-head{padding:0 5px}.workspace-head h2{font-size:23px}.workspace-hint{display:none}.layout{display:block}.sidebar{display:none;position:fixed;z-index:20;top:0;bottom:0;left:0;width:min(320px,88vw);box-shadow:10px 0 60px #10281933}.sidebar.open{display:flex}.close-menu{display:block}.page-list{height:auto;flex:1}.reader-toolbar{padding:16px;min-height:70px}.reader-title strong{font-size:12px}.reading-instruction{width:calc(100% - 30px);margin-top:15px}.instruction-right{display:none}.page-scroll{padding:16px 15px 24px}.page-frame{width:100%;min-width:0}.reader-bottom{padding:16px}.page-control{font-size:11px}.page-control span{margin:0 3px}footer{padding:45px 22px}footer>span:last-child{display:none}.dictionary{bottom:0;right:0;width:100%;border-radius:12px 12px 0 0}.intro h1{letter-spacing:-.04em}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Topic reader and recall cards */
.topic-segment{margin-bottom:20px}.segment-label{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:0 2px;color:#98a99a;font-size:10px;letter-spacing:.08em}.segment-label:after{content:"";height:1px;background:#e9eee7;flex:1}.segment-crop{position:relative;overflow:hidden;width:100%;background:#fff;line-height:0}.segment-crop img{position:absolute;left:0;width:100%;height:auto;max-width:none;display:block}.segment-crop .word-layer{inset:auto;left:0;width:100%;position:absolute}.page-frame{box-shadow:none;background:transparent}.memory{width:min(100%,700px);margin:36px auto 4px;border-top:1px solid #dce6d9;padding:30px 0 10px}.memory-heading{display:flex;justify-content:space-between;align-items:end;gap:15px}.memory-heading .mini{font-size:10px;letter-spacing:.14em;color:#91a38f;font-weight:700}.memory-heading h3{margin:8px 0 0;font-size:21px}.memory-heading h3 em{font:italic 20px 'DM Serif Display',serif;color:#91a38f;margin-left:7px}.memory-heading p{font-size:11px;color:#8a9b8b;margin:0;line-height:1.6}.memory-intro{font-size:12px;color:#7b8d7c;line-height:1.7;margin:14px 0 18px}.recall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.recall-card{min-height:94px;border:1px solid #e0e9da;border-radius:5px;background:#f6f9f1;color:#2c4c35;text-align:left;padding:15px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:background .2s,border-color .2s}.recall-card:hover{background:#edf5e6;border-color:#bfd1b8}.recall-term{font-size:13px;font-weight:700;line-height:1.5}.recall-answer{font-size:11px;line-height:1.5;color:#8ca08a}.recall-card.revealed{background:#e4efdd;border-color:#bcd3b6}.recall-card.revealed .recall-answer{color:#355d40}.memory-empty{font-size:12px;color:#829387;line-height:1.8}.memory-note{font-size:10px;color:#a2afa1;margin-top:15px}.reader-bottom{gap:10px}@media(max-width:800px){.memory{margin-top:25px;padding-top:24px}.memory-heading{display:block}.memory-heading p{margin-top:8px}.recall-grid{grid-template-columns:1fr 1fr}.recall-card{min-height:98px;padding:12px}.recall-term{font-size:12px}.segment-label{font-size:9px}}
.logic-recall{margin:0 0 18px;background:#f0f5ea;border-left:3px solid #9ebc87;padding:14px 16px;border-radius:0 4px 4px 0}.logic-recall summary{cursor:pointer;font-size:12px;font-weight:700;color:#557451;line-height:1.5}.logic-line{padding:13px 0 0;font-size:12px;color:#617765;line-height:1.8}.logic-line strong{display:inline-block;color:#3d6848}.logic-line p{margin:4px 0 0;white-space:pre-line}
