@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{color:#21353a;font-synthesis:none;background:#f8f5ed;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(circle at 87% 8%,#fff1bd 0,#0000 22rem),#f8f5ed;min-height:100vh}.topbar{background:#ffffffa6;border-bottom:1px solid #e7e1d3;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50vw - 560px);display:flex}.brand{color:#263b3e;background:0 0;border:0;font-family:Fraunces,serif;font-size:21px;font-weight:700}.brand span{margin-right:8px}.profile{align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.avatar{color:#1e555a;background:#badde0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.text-button{color:#617477;background:0 0;border:0;border-left:1px solid #ddd7cb;margin-left:4px;padding-left:13px;font-size:13px}.content,.reading-wrap,.quiz-wrap,.result-wrap{width:min(1120px,100% - 48px);margin:0 auto}.content{padding:74px 0}.welcome{justify-content:space-between;align-items:end;margin-bottom:62px;display:flex}.eyebrow{letter-spacing:.12em;color:#d16b46;margin:0 0 10px;font-size:11px;font-weight:700}.welcome h1,.reading-card h1,.question-card h1,.result-wrap h1,.login-card h1{color:#20383b;font-family:Fraunces,serif;line-height:1.05}.welcome h1{margin:0 0 12px;font-size:clamp(35px,4vw,52px)}.welcome p:not(.eyebrow){color:#64787b;margin:0}.progress-card{background:#fffdf7;border:1px solid #ded8ca;border-radius:12px;width:210px;padding:18px}.progress-card span{font-weight:700}.progress-card small{color:#718084;margin-left:5px}.progress-track,.quiz-progress div{background:#e8e4d8;border-radius:9px;height:7px;margin-top:12px;overflow:hidden}.progress-track i,.quiz-progress i{border-radius:inherit;background:#e5a548;height:100%;display:block}.section-title{border-bottom:1px solid #dcd7ca;justify-content:space-between;align-items:center;margin-bottom:23px;padding-bottom:15px;display:flex}.section-title h2{margin:0;font-family:Fraunces,serif}.section-title span{color:#7a898b;font-size:14px}.story-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.story-card{background:#fffdf9;border:1px solid #e2ddcf;border-radius:15px;overflow:hidden;box-shadow:0 4px 12px #2a362e0a}.story-art{background:#d8edf0;place-items:center;height:150px;display:grid;position:relative}.story-card:nth-child(2) .story-art{background:#ffe8a8}.story-card:nth-child(3) .story-art{background:#e8dfbb}.story-art>span{font-size:68px}.story-art b{color:#fff;background:#29776e;border-radius:20px;padding:5px 9px;font-size:11px;position:absolute;top:12px;right:12px}.story-info{padding:21px}.tags{gap:7px;display:flex}.tags span{color:#487067;background:#edf3ef;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:700}.tags span+span{color:#897047;background:#f4f0e5}.story-info h3{margin:14px 0 8px;font-family:Fraunces,serif;font-size:23px}.story-info p{color:#687a7d;min-height:59px;margin:0;font-size:14px;line-height:1.45}.story-info button{color:#c85e3e;background:0 0;border:0;padding:18px 0 0;font-weight:700}.story-info button span,.primary-button span{margin-left:8px}.login-page{background:radial-gradient(circle at 14% 15%,#cdebed 0,#0000 19rem),radial-gradient(circle at 88% 85%,#ffedae 0,#0000 20rem),#f8f5ed;place-items:center;min-height:100vh;padding:30px 20px;display:grid}.login-card{text-align:center;background:#fffdf8f0;border:1px solid #e0dacb;border-radius:20px;width:min(460px,100%);padding:43px;box-shadow:0 18px 55px #3d412c1a}.book-mark{font-size:42px}.login-card h1{margin:10px 0;font-size:42px}.lead{color:#64777a;line-height:1.55}.login-card label{text-align:left;color:#40575a;margin:16px 0;font-size:13px;font-weight:700;display:block}.login-card input{background:#fff;border:1px solid #d7d4ca;border-radius:8px;width:100%;margin-top:7px;padding:13px;display:block}.primary-button{color:#fff;background:#d26645;border:0;border-radius:8px;padding:14px 19px;font-weight:700;box-shadow:0 3px #a7472c}.primary-button:disabled{opacity:.45;cursor:not-allowed}.login-card .primary-button{width:100%;margin-top:8px}.tiny{color:#879392;margin:20px 0 0;font-size:11px}.demo-note{color:#617375;text-align:left;background:#f2eee2;border-radius:8px;gap:4px;margin:22px 0;padding:12px;font-size:12px;display:grid}.demo-note b{color:#405b5d}.secondary-button{color:#b65337;background:0 0;border:0;width:100%;margin-top:15px;font-size:13px;font-weight:700;display:block}.form-error{color:#b24b38;text-align:left;margin:-5px 0 12px;font-size:12px;font-weight:600}.reading-wrap,.quiz-wrap{padding:35px 0 70px}.back{color:#63797a;background:0 0;border:0;padding:0;font-size:14px;font-weight:700}.reading-card{background:#fffdf9;border:1px solid #e1dbcd;border-radius:16px;max-width:760px;margin:28px auto 0;overflow:hidden}.reading-hero{background:#dceff0;align-items:center;gap:24px;padding:35px 45px;display:flex}.reading-hero>span{font-size:60px}.reading-card h1{margin:0;font-size:38px}.story-text{color:#33484a;max-width:625px;margin:auto;padding:40px 45px 10px;font-family:Georgia,serif;font-size:19px;line-height:1.8}.story-text p{margin:0 0 28px}.reading-footer{border-top:1px solid #e7e0d2;justify-content:space-between;align-items:center;margin:16px 45px 40px;padding:22px 0 0;display:flex}.reading-footer p{color:#718083;font-size:14px}.quiz-wrap{max-width:760px}.quiz-progress{color:#61797a;margin:38px 0 18px;font-size:13px;font-weight:700}.quiz-progress div{margin-top:9px}.question-card{background:#fffdf9;border:1px solid #e0dacd;border-radius:16px;padding:42px}.question-number{color:#99631a;background:#f8e1b0;border-radius:50%;place-items:center;width:37px;height:37px;font-weight:700;display:grid}.question-card h1{margin:22px 0 31px;font-size:31px}.answers{gap:11px;display:grid}.answers button{color:#35494b;text-align:left;background:#fff;border:1px solid #ddd8cc;border-radius:9px;align-items:center;gap:14px;padding:15px;display:flex}.answers button:hover{background:#f1faf7;border-color:#5e9e97}.answers b{color:#657777;background:#f1eee5;border-radius:50%;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.complete-quiz{text-align:center}.complete-quiz .question-number{color:#217160;background:#cfeae2;margin:0 auto}.complete-quiz p{color:#687b7b;margin:-14px 0 25px}.result-wrap{text-align:center;max-width:700px;padding:60px 0}.celebration{font-size:66px}.result-wrap h1{margin:8px 0 13px;font-size:43px}.review{text-align:left;margin:35px 0}.review>div{border-bottom:1px solid #e1dcd0;gap:13px;padding:15px;display:flex}.review>div>span{border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-weight:700;display:grid}.review .correct>span{color:#217160;background:#cfeae2}.review .incorrect>span{color:#b64e37;background:#ffe0d4}.review b{font-size:14px}.review p{color:#687b7b;margin:4px 0 0;font-size:13px;line-height:1.5}@media (width<=700px){.topbar{height:64px;padding:0 18px}.brand{font-size:18px}.profile{font-size:12px}.text-button{display:none}.content{padding:42px 0}.welcome{margin-bottom:38px;display:block}.progress-card{width:100%;margin-top:26px}.story-grid{grid-template-columns:1fr}.story-art{height:130px}.login-card{padding:33px 24px}.reading-wrap,.quiz-wrap,.result-wrap{width:min(100% - 32px,760px)}.reading-card{margin-top:21px}.reading-hero{gap:15px;padding:28px 24px}.reading-hero>span{font-size:45px}.reading-card h1{font-size:30px}.story-text{padding:28px 24px 3px;font-size:18px}.reading-footer{margin:15px 24px 28px;display:block}.reading-footer .primary-button{width:100%;margin-top:14px}.question-card{padding:28px 21px}.question-card h1{font-size:27px}.result-wrap{padding:45px 0}.result-wrap h1{font-size:37px}}.admin-link{color:#78898a;background:0 0;border:0;margin-top:27px;font-size:12px;text-decoration:underline}.admin-page{background:#f8f5ed;min-height:100vh;padding:48px max(24px,50vw - 520px)}.admin-header{justify-content:space-between;align-items:end;margin-bottom:34px;display:flex}.admin-header h1,.admin-card h2{color:#20383b;margin:0;font-family:Fraunces,serif}.admin-header .secondary-button{width:auto;margin:0}.admin-grid{grid-template-columns:1fr 1.3fr;gap:20px;display:grid}.admin-card{background:#fffdf9;border:1px solid #e0dacd;border-radius:14px;padding:26px}.admin-card p{color:#687b7b;font-size:14px;line-height:1.5}.admin-card label{color:#40575a;margin:16px 0;font-size:13px;font-weight:700;display:block}.admin-card input{background:#fff;border:1px solid #d7d4ca;border-radius:8px;width:100%;margin-top:6px;padding:12px;display:block}.admin-card .primary-button{width:100%}.admin-card-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.admin-card-title span{color:#718184;font-size:12px}.student-row{border-top:1px solid #ebe5d8;align-items:center;gap:10px;padding:13px 0;display:flex}.student-row div{flex:1;gap:3px;display:grid}.student-row b{font-size:14px}.student-row small{color:#758586;font-size:12px}.student-row button{color:#b65337;background:0 0;border:0;font-size:12px;font-weight:700}.admin-stories{grid-column:1/-1}.admin-story-list{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.admin-story-list div{background:#f3f4ec;border-radius:9px;gap:4px;padding:14px;display:grid}.admin-story-list span{font-size:25px}.admin-story-list b{font-size:14px}.admin-story-list small{color:#718184;font-size:12px}.import-card{grid-column:1/-1}.download-link{color:#b65337;margin:5px 0 16px;font-size:13px;font-weight:700;display:inline-block}.import-card details{margin:13px 0}.import-card summary{color:#405b5d;cursor:pointer;font-size:13px;font-weight:700}.import-card pre{color:#edf4ef;text-align:left;white-space:pre-wrap;background:#263b3e;border-radius:8px;max-height:290px;margin:12px 0;padding:14px;font-size:12px;line-height:1.45;overflow:auto}.import-card label{color:#40575a;margin-top:16px;font-size:13px;font-weight:700;display:block}.import-card select{background:#fff;border:1px solid #d7d4ca;border-radius:6px;margin-left:8px;padding:7px}.file-input input{margin-top:8px;display:block}.import-result{color:#315f59;background:#edf4ef;border-radius:8px;margin-top:18px;padding:13px;font-size:13px}.import-result p{color:#a54532;margin:7px 0 0}.admin-story-list button{color:#b65337;background:0 0;border:0;width:fit-content;margin-top:6px;font-size:12px;font-weight:700}.editor-card{background:#fffdf9;border:1px solid #e0dacd;border-radius:14px;max-width:900px;margin:0 auto;padding:30px}.editor-card label{color:#40575a;margin:19px 0;font-size:13px;font-weight:700;display:block}.editor-card input,.editor-card textarea,.editor-card select{color:#263b3e;background:#fff;border:1px solid #d7d4ca;border-radius:8px;width:100%;margin-top:6px;padding:11px;display:block}.editor-card textarea{resize:vertical;min-height:76px}.editor-card .story-editor-text{min-height:330px;font-family:Georgia,serif;line-height:1.55}.editor-grid{grid-template-columns:2fr .6fr 1fr .6fr 1fr;gap:12px;display:grid}.editor-grid label{margin:0}.field-help{color:#768585;margin:5px 0 -1px;font-size:12px;font-weight:400}.editor-heading{border-top:1px solid #e5dfd3;justify-content:space-between;align-items:end;gap:20px;margin-top:32px;padding-top:25px;display:flex}.editor-heading h2{margin:0;font-family:Fraunces,serif}.editor-heading p{color:#718184;margin:5px 0 0;font-size:13px}.editor-heading .secondary-button{width:auto;margin:0}.question-editor{background:#faf8f2;border:1px solid #e2ddcf;border-radius:10px;margin-top:19px;padding:21px}.question-editor-title{justify-content:space-between;display:flex}.question-editor-title button,.delete-story{color:#b65337;background:0 0;border:0;font-size:12px;font-weight:700}.editor-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.editor-actions .secondary-button{width:auto;margin:0}.editor-actions .delete-story{margin-left:auto}@media (width<=700px){.admin-page{padding:32px 16px}.admin-grid,.admin-story-list,.editor-grid{grid-template-columns:1fr}.admin-stories{grid-column:auto}.editor-card{padding:20px}.editor-heading{display:block}.editor-heading .secondary-button{margin-top:13px}.editor-actions .delete-story{text-align:left;width:100%;margin-left:0}}
