@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
:root{--bg:#f6f1e8;--ink:#322c36;--muted:#817784;--accent:#855178;--line:#ddd4d6;--paper:#fffcf7;--soft:#eee2ed;--font:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd90b3;outline-offset:3px}.hidden{display:none!important}a{color:var(--accent)}header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:27px 6%;border-bottom:1px solid var(--line)}.brand{font-family:'Fraunces',Georgia,serif;font-size:27px;text-decoration:none;color:var(--ink)}.brand span{color:var(--accent);margin-right:8px}nav{display:flex;gap:28px}nav button{border:0;background:none;color:var(--muted);font-size:12px;padding:10px 0}nav .active{color:var(--accent);border-bottom:2px solid var(--accent)}main{max-width:1240px;margin:auto;padding:0 40px}.intro{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:50px;margin:50px 0 38px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--accent);font-weight:600}h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:400}h1{font-size:54px;letter-spacing:-2px;line-height:1.14;margin:17px 0 23px}p{line-height:1.8;color:var(--muted)}.intro p{font-size:14px}.intro-art svg{width:100%;max-height:300px}.primary,.small-primary{border:0;background:var(--accent);color:#fff;border-radius:7px;padding:15px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:12px;font-weight:600}.primary:hover,.small-primary:hover{background:#6b3e60}.small-primary{padding:11px 17px;font-size:11px}.secondary{border:1px solid #cdbbca;background:transparent;border-radius:6px;padding:11px 16px;font-size:11px}.secondary:hover{background:var(--soft)}.text-btn,.back{background:none;border:0;padding:10px;color:var(--accent);font-size:11px}.back{padding-left:0;margin:25px 0}.daily{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#e8dce5;border:1px solid #d9c5d4;border-radius:10px;padding:26px 30px}.daily h2{font-size:26px;margin:12px 0 8px}.daily p{font-size:12px;margin:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:45px 0 25px}.section-head h2{font-size:27px;margin:12px 0}.filters,.tabs{display:flex;gap:8px}.filters button,.tabs button{padding:9px 15px;border:1px solid var(--line);background:transparent;border-radius:30px;font-size:11px}.filters .active,.tabs .active{background:var(--ink);color:#fff;border-color:var(--ink)}.deck-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.deck{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);text-align:left;padding:0;transition:transform .15s}.deck:hover{transform:translateY(-3px);border-color:#b78cac}.deck-art{height:165px;overflow:hidden}.deck-art svg{width:100%;height:100%}.deck-body{padding:21px}.deck-body h3{font-size:24px;margin:13px 0 12px;letter-spacing:-.5px}.deck-body p{font-size:11px;margin:0}.deck-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:18px;font-size:9px;color:var(--muted)}footer{max-width:1160px;margin:50px auto 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:25px 0;color:var(--muted);font-size:9px;letter-spacing:1px}.page{min-height:65vh}.page-title{margin:42px 0 30px}.page-title h1{font-size:44px}.paper{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:28px;margin:20px 0}.paper h2{font-size:24px;margin:0 0 20px}.paper summary{cursor:pointer;font-weight:600}.paper p{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:flex;flex-direction:column;gap:10px;font-size:12px;margin-bottom:20px}input:not([type=checkbox]),select,textarea{width:100%;padding:12px;background:#faf6f0;border:1px solid #d8cfd5;border-radius:6px;color:var(--ink)}textarea{resize:vertical;line-height:1.65}.check{flex-direction:row;align-items:center}.check input,input[type=range]{accent-color:var(--accent)}.note,small{font-size:11px;line-height:1.7;color:var(--muted)}.backup-actions{display:flex;align-items:center;gap:20px;margin-top:22px}.upload{border:1px dashed #cbb5c6;border-radius:5px;padding:10px 13px;cursor:pointer;color:var(--accent);font-size:10px;margin:0;display:inline-block}.upload input{display:none}.story-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;margin:12px 0 40px}.story-visual{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#eee4e2;position:relative;aspect-ratio:4/3}.story-visual svg,.story-visual img{width:100%;height:100%;object-fit:cover}.story-layout h1{font-size:39px;margin-top:15px}.story-tools{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.story-text{font-size:15px;line-height:1.95;white-space:pre-line;min-height:160px}.word-list{margin-top:28px;border-top:1px solid var(--line)}.word-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:13px 0}.word-row b{font-size:13px;font-weight:500}.word-row small{display:block;margin-top:5px}.word-row button{background:var(--soft);border:0;border-radius:50%;width:32px;height:32px;color:var(--accent)}.story-slide{position:absolute;inset:auto 14px 14px;background:#fffcf7eb;padding:20px;border-radius:7px;text-align:center;animation:arrive .4s}.story-slide strong{font-family:'Fraunces',Georgia,serif;font-size:32px;display:block}.story-slide span{display:block;font-size:12px;color:var(--muted);margin-top:6px}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:23px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.stat strong{font-family:'Fraunces',Georgia,serif;font-size:35px;display:block;margin:14px 0}.stat span{color:var(--muted);font-size:10px}.week-chart{display:flex;align-items:end;justify-content:space-around;gap:20px;height:170px}.week-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:9px;font-size:10px;color:var(--muted)}.week-col i{display:block;width:min(55px,70%);min-height:3px;background:#b885a9;border-radius:5px 5px 0 0}.progress-row{display:grid;grid-template-columns:1fr 2fr auto;gap:20px;align-items:center;padding:15px 0;border-top:1px solid var(--line);font-size:12px}.progress-row progress{width:100%;accent-color:var(--accent)}.modal{position:fixed;inset:0;background:#f6f1e8f5;z-index:100;overflow:auto}.review-shell{max-width:860px;margin:35px auto;padding:0 30px}.review-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.review-progress{height:3px;background:#dfd0da;margin:20px 0 30px}.review-progress i{height:100%;display:block;background:var(--accent);transition:width .2s}.review-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;text-align:center;padding:40px}.card-label{display:block;font-size:12px;color:var(--muted);margin:30px 0 15px}.review-card h1{font-size:49px;margin:15px 0 35px;overflow-wrap:anywhere}.review-card h2{font-size:34px;margin:0 0 20px}.audio-btn{background:#ebdfe8;border:0;border-radius:30px;padding:11px 17px;color:var(--accent);font-size:11px}.review-card .primary{margin:15px auto}.anchor{background:#f4eee4;padding:15px;border-radius:7px;color:#88734f;font-size:12px;margin:20px 0}.grades{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px}.grades button{padding:15px 8px;border:1px solid var(--line);background:#faf6f0;border-radius:6px}.grades b{display:block;font-size:12px}.grades small{display:block;margin-top:7px;font-size:9px}.grades button[data-grade=again]{background:#f7e3dd}.grades button[data-grade=good]{background:#e4edde}.grades button[data-grade=easy]{background:#e3e8f2}.audio-tools{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:15px}#audio-message{text-align:center}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#322c36;color:white;padding:12px 22px;border-radius:8px;font-size:12px;z-index:200;display:none;max-width:90vw;text-align:center}@media(max-width:900px){header{padding:20px 25px;gap:15px}nav{gap:12px}main{padding:0 25px}.intro{gap:20px}h1{font-size:43px}.deck-grid{grid-template-columns:repeat(2,1fr)}.story-layout{gap:25px}.story-layout h1{font-size:32px}footer{margin:35px 25px 0}.section-head h2{font-size:23px}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){header{flex-wrap:wrap}.brand{font-size:24px}nav{order:3;width:100%;justify-content:space-between}.intro{grid-template-columns:1fr;margin-top:30px}.intro-art{display:none}h1{font-size:40px}.intro p br{display:none}.daily,.section-head{align-items:start;flex-direction:column}.daily{padding:22px}.deck-grid{grid-template-columns:1fr}.form-grid,.story-layout{grid-template-columns:1fr}.story-visual{max-height:300px}.review-card{padding:30px 16px}.review-shell{padding:0 12px;margin-top:15px}.review-card h1{font-size:35px}.grades{gap:5px}.grades button{padding:12px 5px}.audio-tools{flex-wrap:wrap}footer span:last-child{display:none}.progress-row{grid-template-columns:1fr auto}.progress-row progress{grid-column:1 / -1;grid-row:2}.backup-actions{flex-direction:column;align-items:start}.section-head{margin-top:30px}.stat{padding:17px}.paper{padding:20px}}
