.platform-main{padding-top:7rem;padding-bottom:5rem;min-height:100vh}.platform-main>h1{font-family:Georgia,'Noto Serif SC',serif;color:#173f32;font-size:clamp(2.2rem,4vw,4rem);margin:.4rem 0}.platform-lead{font-size:1.08rem;color:#50645a;max-width:48rem;margin-bottom:2rem}.platform-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin:1.1rem 0}.platform-actions>input,.platform-actions>select{border:1px solid #c9d4c8;border-radius:12px;background:#fffdf8;padding:.85rem;font:inherit;min-width:13rem}.platform-main .button,.modal .button{cursor:pointer}.library-card,.category-panel,.vocab-row{border:1px solid #dbe5d7;background:#fffdf8;border-radius:18px;padding:1.2rem;box-shadow:0 6px 20px #1d42300a}.library-card{min-width:0}.library-card.archived{opacity:.65}.library-title{display:flex;justify-content:space-between;gap:.5rem}.library-card h3{font-size:1.25rem;color:#194536;margin:.7rem 0}.library-card p{color:#61726a}.library-controls{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}.library-controls button,.doc-list button,.vocab-row button,.track-card button,.reader-aside button{cursor:pointer;background:#eef5eb;color:#194536;border:1px solid #cbdcc9;border-radius:10px;padding:.45rem .65rem;font:inherit}.library-expanded{border-top:1px solid #dbe5d7;padding-top:1rem}.library-import{display:flex;gap:.6rem}.doc-list>div{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.45rem 0}.doc-list small{color:#64756b}.empty{border:1px dashed #a6c4ad;border-radius:18px;padding:2rem;color:#62776a}.platform-main .track-card{display:block;text-decoration:none;cursor:pointer}.platform-main .track-card h3{color:#194536}.category-panel{margin-top:2rem}.category-panel h2{color:#194536}.vocab-row{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr) auto auto auto;align-items:center;gap:.6rem;margin:.5rem 0}.vocab-row small{grid-column:1/-1;color:#536d5c}.reader-tools{position:sticky;top:5.5rem;z-index:2;background:#f5f4ea;border:1px solid #dce4d5;border-radius:12px;padding:.7rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.reader-tools input[type=search]{padding:.6rem;border:1px solid #cbdcc9;border-radius:9px}.reader-tools label{display:flex;align-items:center;gap:.3rem;font-size:.8rem}.reader-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(13rem,1fr);gap:1.2rem;margin-top:1.3rem}.reader-article,.reader-aside{background:#fffdf8;border:1px solid #dbe5d7;border-radius:17px;padding:1.7rem}.reader-article{font-size:19px;line-height:1.9;min-height:60vh}.reader-article h2{font-size:1.6em;color:#183f31}.reader-paragraph{scroll-margin-top:10rem;margin:1.5rem 0}.reader-paragraph time,.reader-paragraph small{display:inline-block;margin-right:.7rem;color:#4c765c;font-size:.76em}.reader-paragraph.search-hit{background:#e8f4dd}.reader-aside{position:sticky;top:10rem;align-self:start;max-height:75vh;overflow:auto}.reader-aside h3{color:#1b4834}.annotation-item{display:block;width:100%;text-align:left;margin:.4rem 0}.annotation-item small{display:block}.paragraph-nav{display:flex;flex-wrap:wrap;gap:.25rem}.ann-yellow{background:#fff2a8}.ann-green{background:#bfe8c3}.ann-pink{background:#ffd0dd}.selection-menu{position:fixed;z-index:25;background:#173f32;border-radius:10px;padding:.4rem;display:flex;gap:.2rem;box-shadow:0 12px 28px #14302050}.selection-menu[hidden]{display:none}.selection-menu button{background:none;color:white;border:0;border-radius:6px;padding:.45rem;cursor:pointer}.selection-menu button:hover{background:#386b50}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center}.modal-shade{position:absolute;inset:0;background:#1027199c}.modal-card{position:relative;background:#fffdf8;border-radius:18px;padding:1.6rem;width:min(90vw,620px);max-height:85vh;overflow:auto;box-shadow:0 24px 70px #10271970}.modal-card h2{color:#173f32}.modal-x{position:absolute;right:1rem;top:1rem;border:0;background:none;font-size:1.7rem;cursor:pointer}.modal-card form{display:grid;gap:.7rem}.modal-card form>label{display:grid;gap:.25rem;color:#345342}.modal-card input:not([type=checkbox]),.modal-card textarea,.modal-card select,.practice-card textarea{width:100%;box-sizing:border-box;border:1px solid #becdbd;border-radius:9px;padding:.75rem;font:inherit;background:#fff}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.check-row{display:flex;align-items:center;gap:.4rem}.quote{padding:.8rem;border-left:4px solid #7ea385;background:#f0f6ec}.toast{position:fixed;right:1rem;bottom:1rem;z-index:200;background:#173f32;color:white;border-radius:10px;padding:.8rem 1.2rem;box-shadow:0 9px 25px #173f3266}.toast.error{background:#8e3a3a}.toast.gone{display:none}.platform-main .expression-card{text-align:left;border:1px solid #dbe5d7;cursor:pointer}.platform-main .expression-card:hover{border-color:#7ea385}.platform-main .practice-card{margin-top:1.5rem}.platform-main .rating button{cursor:pointer}
@media(max-width:800px){.reader-layout{grid-template-columns:1fr}.reader-aside{position:static;max-height:none}.reader-tools{top:4rem}.vocab-row{grid-template-columns:1fr 1fr}.vocab-row small{grid-column:1/-1}.choice-grid{grid-template-columns:1fr}.platform-main{padding-top:6rem}}
.expression-toolbar{align-items:stretch}.expression-toolbar select{border:1px solid #c9d4c8;border-radius:12px;background:#fffdf8;padding:.85rem;font:inherit;min-width:10rem}.expression-search-wrap{position:relative;flex:1 1 17rem;max-width:25rem}.expression-search-wrap>input{width:100%;height:100%;min-height:3.3rem;border:1px solid #c9d4c8;border-radius:12px;background:#fffdf8;padding:.85rem;font:inherit}.expression-search-history{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:30;background:#fffdf8;border:1px solid #c9d4c8;border-radius:12px;box-shadow:0 14px 30px #173f3226;max-height:20rem;overflow:auto;padding:.6rem}.expression-search-history[hidden]{display:none}.expression-search-history strong{display:block;padding:.35rem .5rem;color:#365b42}.expression-search-history button{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;padding:.55rem .6rem;border:0;border-radius:7px;background:transparent;color:#173f32;text-align:left;font:inherit;cursor:pointer}.expression-search-history button:hover,.expression-search-history button:focus-visible{background:#e8f3e8}.expression-search-history small{color:#67806b;white-space:nowrap}.expression-search-history p{margin:.5rem;color:#62736c}.platform-main .expression-card small{display:block;margin-top:.45rem}.platform-main .expression-card .pill+.pill{margin-left:.3rem;background:#e3efd9}@media(max-width:620px){.expression-search-wrap{max-width:none;flex-basis:100%}.expression-toolbar select{flex:1 1 10rem}}
.outline-nav{display:block;margin:.5rem 0 1.5rem}.outline-nav button{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;margin:.25rem 0;background:transparent;border:0;padding:.35rem .5rem}.outline-nav button:hover{background:#e8f1e4}.outline-group{margin:.4rem 0}.outline-group summary{cursor:pointer;color:#194536;font-weight:700}.outline-group summary button{display:inline;width:calc(100% - 1.5rem);font-weight:inherit}.outline-group .outline-group,.outline-group .outline-item{margin-left:1rem}.outline-item.depth-3,.outline-item.depth-4{padding-left:1.5rem}.reader-heading{font-weight:700;color:#194536}.reader-heading.level-1{font-size:1.22em;margin-top:2.2rem}.reader-heading.level-2{font-size:1.1em;margin-top:1.8rem}.outline-edit-row{display:flex;gap:.4rem;align-items:center;margin:.45rem 0}.outline-edit-row input{flex:1;min-width:0}.outline-edit-row select{max-width:6rem}.ai-settings-link{background:transparent;border:1px solid #a8bead;border-radius:8px;color:inherit;cursor:pointer;padding:.35rem .6rem;font:inherit}
.course-selection-action{position:fixed;z-index:120;border:1px solid #285d43;border-radius:8px;background:#1c4936;color:#fff;padding:.55rem .8rem;box-shadow:0 8px 25px #17342e40;font:600 13px Arial,sans-serif;cursor:pointer}.course-selection-action:hover{background:#296449}.course-selection-action[hidden]{display:none!important}
.upgrade-compose{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(20rem,1.2fr);gap:2rem;background:#fffdf8;border:1px solid #dbe5d7;border-radius:18px;padding:1.5rem}.upgrade-compose form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.upgrade-compose label{display:grid;gap:.25rem;color:#345342;font-weight:700}.upgrade-compose textarea,.upgrade-compose select{width:100%;min-height:4.5rem;border:1px solid #becdbd;border-radius:9px;padding:.75rem;font:inherit;background:#fff}.upgrade-compose select{min-height:3rem}.upgrade-compose label:nth-of-type(1),.upgrade-compose label:nth-of-type(2),.upgrade-compose label:nth-of-type(3),.upgrade-compose label:nth-of-type(6),.upgrade-compose label:nth-of-type(7),.upgrade-compose label:nth-of-type(8),.upgrade-compose label:nth-of-type(9),.upgrade-compose .platform-actions,.upgrade-compose #upgradeStatus{grid-column:1/-1}.upgrade-list{display:grid;gap:1rem}.upgrade-card{background:#fffdf8;border:1px solid #dbe5d7;border-radius:16px;padding:1.25rem}.upgrade-card-head{display:flex;gap:.5rem}.upgrade-intent{color:#5f7568}.upgrade-compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.upgrade-compare>div{padding:1rem;border-radius:10px;background:#f0f5ed}.upgrade-compare small{color:#61766a}.upgrade-card blockquote,.source-evidence blockquote{white-space:pre-wrap;border-left:3px solid #7ca582;background:#f1f6ee;padding:.75rem 1rem}.source-evidence{margin:.75rem 0;padding:1rem;border:1px solid #dbe5d7;border-radius:10px}.source-evidence.verified{border-color:#5c9c6b;background:#f1f8ef}.source-evidence.partial{border-color:#d0a45d;background:#fff9e9}.source-evidence.unverified{border-color:#c7c7c0}.upgrade-card button,.source-evidence button{cursor:pointer;border:1px solid #cbdcc9;background:#eef5eb;color:#194536;border-radius:8px;padding:.5rem .7rem}@media(max-width:800px){.upgrade-compose,.upgrade-compare{grid-template-columns:1fr}.upgrade-compose form{grid-template-columns:1fr}.upgrade-compose label,.upgrade-compose .platform-actions,.upgrade-compose #upgradeStatus{grid-column:1}}
