@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&display=swap";:root{color-scheme:light;--ink: #17221e;--muted: #65716b;--paper: #fffef9;--canvas: #e9eee7;--line: #d6ddd4;--green: #17765c;--green-dark: #0c4e3c;--coral: #e7694e;--shadow: 0 22px 60px rgba(24, 53, 42, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:var(--canvas);font-family:Manrope,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(231,105,78,.42);outline-offset:3px}.app{min-height:100vh;background:radial-gradient(circle at 8% 0,rgba(231,105,78,.14),transparent 27rem),radial-gradient(circle at 96% 12%,rgba(23,118,92,.14),transparent 28rem),var(--canvas)}.topbar{width:min(1240px,calc(100% - 48px));height:88px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.wordmark{border:0;background:none;padding:0;color:var(--ink);font-family:DM Mono,monospace;font-size:.92rem;font-weight:500;letter-spacing:.09em}.wordmark span{color:var(--coral)}.account-menu{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.78rem}.eyebrow{margin:0;color:var(--green);font-family:DM Mono,monospace;font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.primary-button,.secondary-button,.text-button,.back-button{border-radius:999px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.primary-button:hover,.secondary-button:hover,.text-button:hover,.back-button:hover{transform:translateY(-1px)}.primary-button{border:1px solid var(--green);padding:12px 18px;color:#fff;background:var(--green);font-weight:700}.secondary-button{border:1px solid var(--line);padding:12px 18px;color:var(--ink);background:#f5f7f2;font-weight:700}.text-button{border:0;padding:7px 0;color:var(--green-dark);background:transparent;font-weight:700;text-align:left}.text-button.active{color:var(--coral)}.back-button{border:0;padding:0;color:var(--green-dark);background:transparent;font-weight:700}.library-page,.topics-page,.reader-page,.mock-page{width:min(1160px,calc(100% - 48px));margin:0 auto}.library-page{padding:72px 0 100px}.library-page h1{max-width:760px;margin:14px 0 18px;font-size:clamp(2.7rem,7vw,6.8rem);letter-spacing:-.075em;line-height:.93}.library-lead{max-width:590px;margin:0 0 42px;color:var(--muted);font-size:1.08rem;line-height:1.75}.chapter-card{width:min(880px,100%);display:grid;grid-template-columns:72px minmax(0,1fr) auto 34px;align-items:center;gap:22px;padding:28px;border:1px solid #bdcfc6;border-radius:26px;background:linear-gradient(125deg,#f8fbf7,#e2efe9);color:var(--ink);text-align:left;box-shadow:var(--shadow)}.chapter-card:hover{border-color:var(--green);transform:translateY(-2px)}.chapter-index,.chapter-arrow{color:var(--coral);font-family:DM Mono,monospace;font-size:1.15rem}.chapter-card-copy{display:grid;gap:8px}.chapter-card-copy strong{font-family:"Source Serif 4",serif;font-size:2.1rem}.chapter-card-copy small{max-width:540px;color:var(--muted);font-size:.94rem;line-height:1.55}.chapter-count{color:var(--green-dark);font-family:DM Mono,monospace;font-size:.76rem;white-space:nowrap}.quiet-progress{margin-top:24px;color:var(--muted);font-size:.86rem}.topics-page{padding:46px 0 84px}.page-heading{max-width:770px;margin-bottom:48px}.page-heading .eyebrow{margin-top:26px}.page-heading h1{margin:10px 0;font-family:"Source Serif 4",serif;font-size:clamp(3rem,6vw,5.3rem);letter-spacing:-.055em;line-height:.96}.page-heading p:last-child{max-width:660px;margin:0;color:var(--muted);line-height:1.7}.topic-groups{display:grid;gap:54px}.topic-group{border-top:1px solid var(--line);padding-top:18px}.group-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}.group-heading span{color:var(--coral);font-family:DM Mono,monospace;font-size:.78rem}.group-heading h2{margin:0;font-size:1.08rem}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.topic-card{min-height:194px;display:flex;flex-direction:column;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fffffaad;color:var(--ink);text-align:left}.topic-card:hover{border-color:var(--green);background:var(--paper);box-shadow:0 12px 28px #18352a14}.topic-card strong{font-family:"Source Serif 4",serif;font-size:1.32rem;line-height:1.1}.topic-card p{flex:1;margin:12px 0;color:var(--muted);font-size:.85rem;line-height:1.55}.topic-card small{color:var(--muted);font-family:DM Mono,monospace;font-size:.67rem}.topic-card span{margin-top:12px;color:var(--green);font-size:.8rem;font-weight:800}.reader-page,.mock-page{width:min(930px,calc(100% - 48px));padding:20px 0 72px}.reader-top{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-family:DM Mono,monospace;font-size:.72rem}.lecture-paper,.mock-card{margin-top:16px;padding:clamp(26px,6vw,76px);border:1px solid #d9dfd6;background:var(--paper);box-shadow:var(--shadow)}.lecture-paper h1,.mock-card h1{max-width:760px;margin:12px 0 16px;font-family:"Source Serif 4",serif;font-size:clamp(2.6rem,6vw,4.8rem);letter-spacing:-.055em;line-height:.98}.lecture-summary{max-width:690px;margin:0 0 48px;color:var(--muted);font-size:1.08rem;line-height:1.76}.lecture-sections{display:grid;gap:40px}.lecture-section{display:grid;grid-template-columns:45px minmax(0,1fr);gap:20px}.lecture-section>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--green-dark);background:#e5f0e9;font-family:DM Mono,monospace;font-size:.7rem}.lecture-section h2{margin:2px 0 14px;font-family:"Source Serif 4",serif;font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.03em;line-height:1.08}.lecture-section p,.lecture-section li{font-family:"Source Serif 4",serif;font-size:1.13rem;line-height:1.82}.lecture-section p{margin:0 0 14px}.lecture-section ul{margin:18px 0 0;padding:16px 20px 16px 38px;border-left:3px solid var(--coral);background:#fff5ef}.lecture-section li{margin-bottom:7px}.knowledge-check{margin-top:56px;padding:28px;border-radius:18px;color:#fff;background:linear-gradient(130deg,var(--green-dark),var(--green))}.knowledge-check .eyebrow{color:#a6e1c8}.knowledge-check h2{margin:10px 0;font-family:"Source Serif 4",serif;font-size:2rem}.knowledge-check p:not(.eyebrow){max-width:580px;margin:0 0 20px;color:#e1f0e9;line-height:1.65}.knowledge-check .primary-button{color:var(--green-dark);background:#fffef9}.lecture-footer{display:flex;justify-content:space-between;gap:18px;margin-top:42px;padding-top:22px;border-top:1px solid var(--line)}.mock-card{max-width:790px;margin-inline:auto}.mock-question{max-width:690px;margin:0 0 28px;font-family:"Source Serif 4",serif;font-size:clamp(1.25rem,2.8vw,1.65rem);line-height:1.55}.answer-guide{margin:20px 0 28px;padding:18px 20px;border:1px solid #f0c1b4;border-radius:14px;background:#fff4ef}.answer-guide strong{font-size:.86rem}.answer-guide ul{margin:10px 0 0;padding-left:20px;color:var(--muted);font-size:.9rem;line-height:1.55}.answer-label{display:grid;gap:9px;margin:22px 0 16px;font-weight:800;font-size:.86rem}.answer-label textarea{width:100%;min-height:180px;padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fcfdf9;line-height:1.6;resize:vertical}.answer-label textarea+*{margin-top:12px}.mock-actions{display:flex;flex-wrap:wrap;gap:10px}.inline-message{padding:12px 14px;border-radius:10px;color:var(--green-dark);background:#e5f0e9;font-size:.86rem;line-height:1.5}.review-card{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#f6f8f4}.review-card>div:first-child{display:flex;align-items:center;gap:12px}.score{display:inline-grid;place-items:center;min-width:68px;padding:6px 10px;border-radius:999px;color:#fff;background:var(--green);font-family:DM Mono,monospace;font-size:.75rem}.review-card p{color:var(--muted);font-size:.9rem;line-height:1.6}.review-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;font-size:.84rem}.review-columns ul{margin:8px 0 0;padding-left:18px;color:var(--muted);line-height:1.5}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 0 0,rgba(231,105,78,.17),transparent 28rem),var(--canvas)}.auth-page>h1{margin:8px 0;font-family:"Source Serif 4",serif}.auth-card{width:min(950px,100%);display:grid;grid-template-columns:1.25fr .75fr;gap:48px;padding:clamp(28px,6vw,70px);border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.auth-card h1{margin:12px 0;font-family:"Source Serif 4",serif;font-size:clamp(2.8rem,5vw,4.8rem);line-height:.98;letter-spacing:-.06em}.auth-card>div>p:last-child{max-width:480px;color:var(--muted);line-height:1.75}.auth-form{display:grid;gap:12px;align-content:center}.auth-form label{display:grid;gap:7px;font-size:.83rem;font-weight:800}.auth-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fcfdf9}.auth-switch{display:flex;gap:18px;margin-bottom:8px}.form-message{margin:2px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45}@media (max-width: 760px){.topbar,.library-page,.topics-page,.reader-page,.mock-page{width:min(100% - 28px,1160px)}.topbar{height:70px}.account-menu span{display:none}.library-page{padding-top:48px}.chapter-card{grid-template-columns:36px 1fr 20px;gap:13px;padding:20px}.chapter-count{display:none}.chapter-card-copy strong{font-size:1.65rem}.topic-grid{grid-template-columns:1fr}.topic-card{min-height:156px}.page-heading{margin-bottom:34px}.lecture-paper,.mock-card{margin-top:6px;padding:27px 20px}.lecture-section{grid-template-columns:30px minmax(0,1fr);gap:10px}.lecture-section>span{width:26px;height:26px;font-size:.6rem}.lecture-section p,.lecture-section li{font-size:1.04rem;line-height:1.72}.lecture-section ul{padding:13px 14px 13px 28px}.knowledge-check{margin-top:42px;padding:22px}.lecture-footer{font-size:.82rem}.review-columns,.auth-card{grid-template-columns:1fr}.auth-card{gap:28px;padding:32px 24px}}
