:root{color:#1d211b;font-synthesis:none;--serif:"Iowan Old Style",Baskerville,Georgia,serif;--ink:#1d211b;--muted:#72766d;--paper:#fbfaf5;--green:#24533b;--line:#dcd9ce;background:#f1efe7;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -10%,#dbe3d4 0,#0000 30rem),#f1efe7;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px}main{width:min(760px,100%);min-height:100vh;margin:auto;padding:20px 20px 118px}.app-header{justify-content:space-between;align-items:center;margin-bottom:52px;display:flex}.brand{font:600 24px var(--serif);letter-spacing:-.04em;cursor:pointer;background:0 0;border:0;padding:0}.brand span{color:var(--green);font-style:italic}.icon-button,.close{border:1px solid var(--line);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.icon-button:hover{background:#fff}.overline{color:var(--green);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:600}.edition-intro{justify-content:space-between;align-items:end;gap:24px;display:flex}.edition-intro h1,.page-heading h1,.finish h1{font:600 clamp(3.5rem,13vw,6.4rem)/.84 var(--serif);letter-spacing:-.065em;margin:8px 0 16px}.edition-intro p{color:var(--muted);margin:0}.edition-count{border:1px solid var(--line);text-align:center;background:#ffffff60;border-radius:50%;flex:none;place-content:center;width:74px;height:74px;display:grid}.edition-count b{font:600 1.5rem var(--serif)}.edition-count span{color:var(--muted);font-size:.67rem}.progress{background:#d9d6cb;border-radius:3px;height:3px;margin:28px 0 34px;overflow:hidden}.progress i,.course-progress i{background:var(--green);height:100%;transition:width .35s;display:block}.feed{gap:18px;display:grid}.card{--delay:0s;background:var(--paper);border:1px solid var(--line);animation:.45s both rise;animation-delay:var(--delay);border-radius:24px;padding:24px;overflow:hidden;box-shadow:0 18px 50px #403b2810}.card.acted{opacity:.62}.meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.category{font-weight:600}.category.learn{color:#7b4e20}.category.read{color:#28527a}.category.create{color:#6c3e72}.category.entertain{color:#2b6849}.card h2,.course h2{font:600 clamp(1.8rem,6vw,2.5rem)/1.02 var(--serif);letter-spacing:-.035em;margin:20px 0 10px}.summary{color:#5e6259;margin:0 0 14px;line-height:1.55}.media{object-fit:contain;background:#11140f;width:calc(100% + 48px);max-height:650px;margin:20px -24px 0;display:block}.open,.start{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#f3f1e9;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;width:100%;margin-top:20px;padding:14px 17px;font-weight:600;text-decoration:none;display:flex}.open:hover,.start:hover{background:#eeece3;border-color:#a9ad9f}.actions{border-top:1px solid #e4e1d7;grid-template-columns:1.35fr 1fr 1fr;gap:8px;margin-top:24px;padding-top:18px;display:grid}.actions button,.compact-form button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;min-height:44px;font-size:.86rem}.actions .primary,.compact-form .primary{background:var(--green);border-color:var(--green);color:#fff}.status{color:var(--green);margin-top:18px;font-size:.8rem;font-weight:600}.lesson{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.objective,.activity,.recap{color:#344435;background:#e8ede3;border-radius:16px;padding:18px;line-height:1.5}.objective b,.recap b{text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px;font-size:.7rem;display:block}.prose{font-family:var(--serif);font-size:1.18rem;line-height:1.55}.lesson details{border-bottom:1px solid var(--line);padding:14px 2px}.lesson summary{cursor:pointer;font-weight:600}.activity{color:#55412d;background:#efe5d8;margin:18px 0}.activity span{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:600}.quiz{margin-top:24px}.quiz h3{font:600 1.45rem var(--serif)}.quiz fieldset{border:0;border-top:1px solid var(--line);gap:8px;margin:0;padding:16px 0;display:grid}.quiz legend{margin-bottom:10px;font-weight:600}.quiz button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:11px 13px}.quiz button.correct{background:#e3f0e7;border-color:#3b805b}.quiz button.wrong{background:#f3e2df;border-color:#aa5e54}.quiz small{color:var(--muted);line-height:1.45}.recap ul{margin-bottom:0;padding-left:18px}.feed-end{color:#888b82;text-transform:uppercase;letter-spacing:.13em;align-items:center;gap:14px;margin:40px 0 10px;font-size:.65rem;display:flex}.feed-end i{background:var(--line);flex:1;height:1px}.finish,.empty{text-align:center;place-content:center;justify-items:center;min-height:60vh;display:grid}.finish-mark{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:72px;height:72px;margin-bottom:25px;font-size:2rem;display:grid}.finish span{color:var(--green);text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}.finish h1{max-width:600px;margin:14px 0 20px}.finish p,.empty p{max-width:440px;color:var(--muted);line-height:1.55}.finish-line{background:var(--green);width:90px;height:1px;margin-top:25px}.empty>span{font:3rem var(--serif);color:var(--green)}.empty h2{font:600 2rem var(--serif);margin:15px 0 0}.page-heading{margin-bottom:36px}.page-heading h1{margin-top:10px}.course-grid{gap:18px;display:grid}.course{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:25px}.course-level{color:var(--green);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.course p{color:var(--muted);line-height:1.5}.course-progress{background:#dfddd4;border-radius:3px;height:5px;margin-top:22px;overflow:hidden}.course-stats{color:var(--muted);justify-content:space-between;margin-top:9px;font-size:.75rem;display:flex}.course-stats b{color:var(--ink)}.course-done{color:var(--green);margin-top:18px;font-weight:600}.library .card{padding-bottom:22px}.books-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.book-import{background:var(--green);color:#fff;cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:0 17px;font-size:.82rem;font-weight:600;display:inline-flex}.book-import input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.book-import.disabled{opacity:.55;cursor:wait}.book-import.large{z-index:2;margin-top:-70px;padding:0 28px;position:relative}.book-empty{justify-items:center;display:grid}.book-empty .empty{min-height:48vh}.book-grid{gap:18px;display:grid}.book{background:var(--paper);border:1px solid var(--line);border-radius:24px;grid-template-columns:84px 1fr;gap:22px;padding:22px;display:grid;box-shadow:0 18px 50px #403b2810}.book-spine{color:#dcebdd;min-height:156px;font:italic 2.3rem var(--serif);background:linear-gradient(135deg,#2e5f45,#173725);border-radius:8px 14px 14px 8px;place-items:center;display:grid;box-shadow:inset 5px 0 #ffffff18,8px 10px 20px #17372525}.book-info{min-width:0}.book-info h2{font:600 clamp(1.55rem,5vw,2.25rem)/1.03 var(--serif);letter-spacing:-.035em;margin:8px 0 4px}.book-info>p{color:var(--muted);margin:0;font-size:.86rem}.book-info .course-progress{margin-top:18px}.reader{max-width:680px;margin:auto}.reader-back{color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:600}.reader-head{border-bottom:1px solid var(--line);padding:45px 0 24px}.reader-head h1{font:600 clamp(2.8rem,10vw,5rem)/.95 var(--serif);letter-spacing:-.055em;margin:10px 0 30px}.reader-head .course-progress{margin:0}.book-prose{font:1.25rem/1.75 var(--serif);max-width:640px;padding:28px 0 36px}.book-prose p{white-space:pre-line;margin:0 0 1.3em}.reader-actions{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f6eff0;border:1px solid #ffffff90;border-radius:18px;grid-template-columns:auto 1fr auto;gap:8px;padding:9px;display:grid;position:sticky;bottom:94px;box-shadow:0 16px 45px #1c281b25}.reader-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;min-height:44px;padding:0 13px;font-size:.78rem}.reader-actions button:disabled{opacity:.35;cursor:not-allowed}.reader-actions .primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.bottom-nav{z-index:20;bottom:max(14px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1e251ff0;border:1px solid #ffffff80;border-radius:22px;grid-template-columns:repeat(4,1fr);width:min(500px,100% - 28px);height:72px;padding:7px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #17201840}.bottom-nav button{color:#9da49a;cursor:pointer;background:0 0;border:0;border-radius:16px;place-content:center;justify-items:center;gap:3px;font-size:.62rem;display:grid}.bottom-nav button.active{color:var(--green);background:#f8f6ef}.bottom-nav svg{width:20px;height:20px}.modal{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#161b16a0;border:0;position:absolute;inset:0}.modal aside{background:#f6f4ed;width:min(520px,100%);height:100%;padding:26px;animation:.25s ease-out slide;position:relative;overflow:auto;box-shadow:-20px 0 80px #1118}.sheet-head{justify-content:space-between;align-items:start;margin-bottom:34px;display:flex}.sheet-head h2{font:600 2.2rem var(--serif);margin:5px 0}.close{font-size:1.8rem}.settings-section{border-top:1px solid var(--line);padding:25px 0}.settings-section h3{font:600 1.5rem var(--serif);margin:0 0 6px}.settings-section>p{color:var(--muted);font-size:.88rem;line-height:1.45}.chips{gap:7px;margin:18px 0;display:grid}.chip{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:10px 12px;display:grid}.chip small{color:var(--muted);text-transform:uppercase;font-size:.62rem}.chip button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.2rem}.dot{background:#777;border-radius:50%;width:8px;height:8px}.dot.instagram{background:#a94976}.dot.youtube{background:#c64339}.dot.rss{background:#d48033}.dot.topic{background:var(--green)}.compact-form{gap:12px;margin-top:20px;display:grid}.compact-form .row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.compact-form label{color:#53574f;gap:5px;font-size:.76rem;font-weight:600;display:grid}.compact-form input,.compact-form select,.compact-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:11px}.compact-form textarea{resize:vertical;min-height:90px}.compact-form button{margin-top:4px}.toast{z-index:80;color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#1e251f;border-radius:999px;max-width:calc(100% - 30px);padding:12px 19px;font-size:.82rem;animation:.25s both toast;position:fixed;top:20px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 35px #1115}.skeleton{gap:18px;display:grid}.skeleton i{background:linear-gradient(100deg,#e6e3da 30%,#f4f2eb 50%,#e6e3da 70%) 0 0/200% 100%;border-radius:24px;height:210px;animation:1.2s infinite shimmer;display:block}.book-prose{padding-bottom:120px}.course-facts{flex-wrap:wrap;gap:8px;margin:18px 0 0;display:flex}.course-facts span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:.7rem}.course-quick{color:var(--green);cursor:pointer;background:0 0;border:0;margin:12px auto 0;font-size:.76rem;font-weight:600;display:block}.course-plan{max-width:720px;margin:auto}.plan-hero{padding:44px 0 35px}.plan-hero h1{font:600 clamp(3rem,10vw,5.4rem)/.9 var(--serif);letter-spacing:-.06em;margin:10px 0 22px}.plan-hero>p{max-width:620px;color:var(--muted);font:1.12rem/1.55 var(--serif)}.plan-numbers{grid-template-columns:repeat(4,1fr);gap:10px;margin:30px 0;display:grid}.plan-numbers div{border:1px solid var(--line);background:#ffffff60;border-radius:16px;gap:3px;padding:15px;display:grid}.plan-numbers b{font:600 1.7rem var(--serif)}.plan-numbers span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.plan-start{margin-top:24px}.pedagogy{background:var(--line);border:1px solid var(--line);border-radius:22px;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:28px;display:grid;overflow:hidden}.pedagogy>div{background:var(--paper);padding:22px}.pedagogy p,.pedagogy ul{color:#565b52;margin:10px 0 0;line-height:1.55}.pedagogy ul{padding-left:18px}.unit-list{gap:12px;display:grid}.unit{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden}.unit>summary{cursor:pointer;grid-template-columns:1fr auto;align-items:start;gap:18px;padding:22px;list-style:none;display:grid}.unit>summary::-webkit-details-marker{display:none}.unit>summary span{color:var(--green);text-transform:uppercase;letter-spacing:.1em;font-size:.67rem}.unit>summary h2{font:600 1.75rem/1.05 var(--serif);margin:7px 0}.unit>summary p{color:var(--muted);margin:0;line-height:1.45}.unit>summary>b{border:1px solid var(--line);color:var(--green);border-radius:999px;padding:7px 10px;font-size:.7rem}.unit-body{border-top:1px solid var(--line);padding:0 22px 22px}.outcomes{background:#e8ede3;border-radius:14px;margin:20px 0;padding:16px}.outcomes>span,.checkpoint>span{color:var(--green);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600}.outcomes ul{color:#4d564d;margin:9px 0 0;padding-left:18px;line-height:1.5}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li{border-bottom:1px solid #e7e4da;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:12px 2px;display:grid}.lesson-list li>span{width:26px;height:26px;color:var(--muted);background:#efede5;border-radius:50%;place-items:center;font-size:.7rem;display:grid}.lesson-list li.done>span{background:var(--green);color:#fff}.lesson-list li div{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.lesson-list li b{font-size:.84rem}.lesson-list li small{color:var(--muted);white-space:nowrap}.checkpoint{border:1px dashed #b8b7aa;border-radius:14px;margin-top:18px;padding:16px}.checkpoint p{color:#4f554d;margin:7px 0 0;line-height:1.5}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes slide{0%{opacity:.5;transform:translate(30px)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-10px)}}@keyframes shimmer{to{background-position:-200% 0}}@media (width<=560px){main{padding:18px 15px 110px}.app-header{margin-bottom:38px}.edition-intro h1,.page-heading h1{font-size:4rem}.edition-count{width:64px;height:64px}.card{border-radius:20px;padding:20px}.media{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}.actions{grid-template-columns:1fr 1fr}.actions .primary{grid-column:1/-1}.modal aside{padding:21px}.compact-form .row{grid-template-columns:1fr}.book{grid-template-columns:58px 1fr;gap:15px;padding:17px}.book-spine{min-height:135px}.books-heading{align-items:center}.books-heading .page-heading{margin-bottom:28px}.book-import{padding:0 14px}.book-prose{font-size:1.16rem;line-height:1.68}.reader-actions{grid-template-columns:1fr 1fr;bottom:92px}.reader-actions .primary{grid-area:1/1/auto/-1}.bottom-nav span{font-size:.58rem}.plan-numbers{grid-template-columns:1fr 1fr}.pedagogy{grid-template-columns:1fr}.unit>summary{padding:18px}.unit-body{padding:0 18px 18px}.lesson-list li div{gap:3px;display:grid}.plan-hero h1{font-size:3.5rem}}@media (width>=780px){.course-grid{grid-template-columns:1fr 1fr}.course:first-child:nth-last-child(odd){grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
