@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--rose:#dc4989;--rose-deep:#a82d65;--pink:#ffe5f0;--petal:#fff7fb;--ink:#51354a;--muted:#846c7a;--line:#f4dce6;--card:#fff;--shadow:0 12px 42px rgba(143,57,105,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fff7fb 0%,#fffdfd 46%,#fff7fb 100%);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a,button,input,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #bc5ad8;outline-offset:3px}[hidden]{display:none!important}
.petals{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;color:#f8c9dc;font-size:36px}.petals span{position:absolute;opacity:.4}.petals span:nth-child(1){top:15%;left:3%}.petals span:nth-child(2){top:72%;right:2%}.petals span:nth-child(3){top:42%;right:4%}.petals span:nth-child(4){bottom:5%;left:7%}
.topbar{height:82px;max-width:1300px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-icon{height:44px;width:44px;display:grid;place-items:center;background:#ffe0ec;border-radius:17px;font-size:25px;transform:rotate(-7deg);box-shadow:0 6px 18px #ef92b82c}.brand b{display:block;color:var(--rose-deep);font-family:'Playfair Display',Georgia,serif;font-size:27px;line-height:1}.brand small{display:block;letter-spacing:.1em;text-transform:uppercase;font-size:9px;color:#a36f87;font-weight:800;margin-top:5px}.top-actions{display:flex;align-items:center;gap:25px}.edition{font-size:11px;letter-spacing:.16em;color:#ab718e;font-weight:800}.portal-link{padding:12px 20px;border:1.5px solid #f1bad1;border-radius:999px;background:white;color:#aa3970;font-weight:800;transition:.2s}.portal-link:hover,.outline-btn:hover{background:#fff0f6;transform:translateY(-1px)}
main{max-width:1220px;margin:0 auto;padding:5px 24px 40px}.hero{background:linear-gradient(125deg,#fce0ec 0%,#ffe7f1 60%,#fff3e6 100%);border:1px solid #f9cdda;min-height:382px;display:grid;grid-template-columns:1.35fr 1fr;border-radius:36px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:before{content:'';position:absolute;width:500px;height:500px;background:radial-gradient(circle,#fff9fc99 0%,transparent 68%);right:-30px;top:-140px}.hero-copy{padding:57px 0 48px 65px;position:relative;z-index:1}.eyebrow,.section-kicker,.strip-kicker{font-size:11px;font-weight:800;letter-spacing:.2em;color:#b65b86}.hero h1{font:700 clamp(35px,4.15vw,57px)/1.14 'Playfair Display',Georgia,serif;color:#7c315c;letter-spacing:-.045em;margin:17px 0}.hero h1 em{color:#cf5f90;font-weight:600}.hero h1 span{font-size:.6em}.hero p{max-width:500px;color:#855875;font-size:15px;margin:0 0 25px}.hero-badges{display:flex;flex-wrap:wrap;gap:9px}.hero-badges span{font-size:11px;font-weight:800;color:#945672;padding:8px 12px;border:1px solid #f3bdd4;border-radius:999px;background:#fff8fcaa}.hero-art{position:relative;min-height:325px}.sunflower{position:absolute;right:19%;top:22%;font-size:126px;filter:drop-shadow(0 22px 12px #eaaac94d);transform:rotate(-17deg)}.heart{position:absolute;filter:drop-shadow(0 9px 10px #edb1cd80)}.heart-a{top:13%;left:12%;font-size:48px}.heart-b{top:8%;right:12%;font-size:46px}.heart-c{bottom:18%;right:10%;font-size:70px;transform:rotate(12deg)}.art-card{position:absolute;bottom:30px;left:16%;padding:18px 26px;background:#fff8fbe8;box-shadow:0 12px 35px #d883ad40;border:1px solid white;border-radius:18px;transform:rotate(-8deg);text-align:center}.art-card span{display:block;color:#b57694;font-size:11px;letter-spacing:.11em;font-weight:800}.art-card strong{display:block;color:#b44078;font:italic 700 26px 'Playfair Display',Georgia,serif}
.summary-strip{margin:22px 0 52px;background:white;border:1px solid #f4dfeb;padding:20px 29px;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 5px 23px #d79fb21c}.summary-strip strong{display:block;font-size:16px;margin-top:5px;color:#8b4369}.strip-right{min-width:190px;text-align:right}.strip-right span{display:block;font-size:12px;font-weight:800;color:#b5668c;margin-bottom:8px}.track{height:9px;border-radius:90px;background:#f9e4ec;overflow:hidden}.track>div{background:linear-gradient(90deg,#e782ad,#d3478a);height:100%;width:0;transition:width .4s}
.content-section{padding:0 7px}.section-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:0 0 24px}.section-title h2{font:700 33px 'Playfair Display',Georgia,serif;color:#763654;margin:9px 0 0}.section-title p{color:#957d8a;margin:0;font-size:13px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.course-card{border:1px solid #efdce5;box-shadow:0 7px 30px #b8849c14;background:white;text-align:left;border-radius:25px;padding:28px 30px;min-height:232px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:flex-start;gap:13px}.course-card:focus-visible,.course-card:hover{transform:translateY(-4px);box-shadow:0 16px 44px #b8849c30}.course-card:after{position:absolute;content:'♡';font:normal 150px Georgia,serif;color:#ffd9e9;top:-49px;right:-12px;opacity:.55;transform:rotate(-12deg);pointer-events:none}.course-card.rose{background:linear-gradient(130deg,#fff,#fff1f7)}.course-card.coral{background:linear-gradient(130deg,#fff,#fff2ef)}.course-card.lilac{background:linear-gradient(130deg,#fff,#f7f1ff)}.course-card.peach{background:linear-gradient(130deg,#fff,#fff6e9)}.course-icon{width:48px;height:48px;border-radius:15px;background:#fce2ee;display:grid;place-items:center;font-size:25px}.course-card.coral .course-icon{background:#ffe4da}.course-card.lilac .course-icon{background:#ede1ff}.course-card.peach .course-icon{background:#ffedcf}.course-card h3{font-size:20px;line-height:1.2;color:#693b53;margin:0;max-width:340px}.course-card p{font-size:13px;color:var(--muted);margin:-5px 0 0}.course-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:auto}.course-meta{font-size:12px;font-weight:800;color:#b65f88}.course-arrow{height:37px;width:37px;background:#d45c93;color:white;border-radius:50%;display:grid;place-items:center;font-size:20px}.soft-tip{display:flex;gap:18px;margin:38px 0 0;padding:20px 27px;border:1px dashed #efb6ce;border-radius:22px;background:#fff0f6;color:#915977}.soft-tip>span{font-size:28px}.soft-tip strong{color:#98436d}.soft-tip p{margin:4px 0 0;font-size:13px;line-height:1.5}
.back-button{background:none;border:0;color:#ae5380;font-weight:800;margin:4px 0 19px;padding:10px 0}.course-heading{border-radius:27px;padding:27px 32px;background:linear-gradient(110deg,#ffe1ef,#fff4fa);border:1px solid #f4d2e3;display:flex;align-items:center;gap:21px}.course-heading-icon{height:65px;width:65px;border-radius:21px;display:grid;place-items:center;background:#fff9fc;font-size:34px;flex-shrink:0}.course-heading h2{font:700 clamp(24px,3vw,37px) 'Playfair Display',Georgia,serif;color:#87345f;margin:6px 0 4px}.course-heading p{font-size:13px;color:#8e6980;margin:0}.tabs{display:flex;gap:12px;border-bottom:1px solid #f0d7e4;margin:23px 0 26px;overflow:auto;scrollbar-width:none}.tab{border:0;border-bottom:3px solid transparent;background:none;color:#967a88;font-weight:800;padding:13px 17px;white-space:nowrap}.tab.active{color:#b53f78;border-bottom-color:#da6096}.tab span{font-size:11px;font-weight:800;background:#fbe4ed;padding:2px 7px;border-radius:15px}.list-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 19px}.list-heading h3{font:700 24px 'Playfair Display',Georgia,serif;color:#7b3c5c;margin:0}.list-heading p{font-size:12px;color:#956e87}.search-label{background:white;border:1px solid #f1d5e3;padding:8px 15px;border-radius:50px;display:flex;align-items:center;gap:8px}.search-label>span{font-size:24px;color:#be6390}.search-label input{border:0;background:none;outline:none;width:215px;font-size:12px;color:var(--ink)}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.lesson-card{display:flex;gap:16px;align-items:flex-start;border:1px solid #f1dfec;background:#fff;border-radius:21px;padding:15px;box-shadow:0 6px 24px #ac708414}.lesson-art{position:relative;width:134px;aspect-ratio:16/10;flex-shrink:0;border-radius:13px;overflow:hidden;background:#fadce9;display:grid;place-items:center}.lesson-art img{width:100%;height:100%;object-fit:cover}.play-chip{position:absolute;inset:auto auto 7px 7px;border-radius:50%;height:31px;width:31px;display:grid;place-items:center;background:#e45494;color:white;border:2px solid white;font-size:12px}.lesson-copy{min-width:0;flex:1}.lesson-copy small{font-weight:800;font-size:10px;letter-spacing:.08em;color:#c46d96}.lesson-copy h4{font-size:15px;line-height:1.35;margin:5px 0 8px;color:#703d59}.lesson-copy p{font-size:12px;line-height:1.5;color:#927687;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.lesson-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.watch-btn{border:none;color:white;background:#cc568c;border-radius:100px;padding:8px 16px;font-size:11px;font-weight:800;white-space:nowrap}.watch-btn:hover,.primary-btn:hover,.complete-btn:hover{background:#ac396f}.watched{font-size:11px;color:#618c66;font-weight:800}.empty-results{background:#fff;border:1px dashed #e2acc8;border-radius:20px;padding:30px;text-align:center;color:#a56786;grid-column:1/-1}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.resource-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #f0dee9;border-radius:17px;padding:14px 17px;min-width:0}.resource-icon{width:41px;height:43px;display:grid;place-items:center;background:#fff0f7;border-radius:12px;flex-shrink:0;font-size:21px}.resource-copy{flex:1;min-width:0}.resource-copy strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-copy small{font-size:10px;color:#a48294}.resource-buttons{display:flex;gap:5px;align-items:center}.mini-button{border:1px solid #f4bbd3;border-radius:100px;background:#fff7fb;color:#ad4880;font-weight:800;font-size:10px;padding:8px 11px;white-space:nowrap}.mini-button:hover{background:#ffe5f1}.note-area{max-width:800px;margin:auto;padding:34px;background:#fff;border:1px solid var(--line);border-radius:23px;text-align:center;box-shadow:var(--shadow)}.note-area h3{font:700 29px 'Playfair Display',Georgia,serif;margin:5px 0}.note-flower{font-size:42px}.note-area p{color:#8d7081;font-size:13px}.note-area textarea,.video-notes textarea{width:100%;border:1px solid #ecd0dd;border-radius:17px;background:#fffafd;padding:18px;color:#70485f;resize:vertical;outline-color:#dc86b2}.note-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;color:#b67b99;font-size:11px}.outline-btn{border:1px solid #eab3cc;border-radius:100px;padding:10px 16px;background:white;color:#ad4f7f;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;transition:.2s}.primary-btn{border:0;border-radius:100px;padding:11px 17px;background:#c84e85;color:white;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;cursor:pointer}.footer{max-width:1220px;margin:10px auto 30px;padding:30px 24px 0;border-top:1px solid #f2e0e8;display:flex;justify-content:space-between;gap:10px;color:#b58c9f;font-size:11px}
.overlay{position:fixed;inset:0;background:rgba(58,22,43,.58);z-index:100;padding:22px;display:flex;align-items:flex-start;justify-content:center;overflow:auto;backdrop-filter:blur(8px)}.dialog{width:min(95vw,940px);max-height:calc(100dvh - 44px);overflow:auto;background:#fff9fc;border-radius:24px;box-shadow:0 25px 80px #36102975}.dialog-top{position:sticky;top:0;z-index:3;background:#ffedf5;color:#a14475;padding:10px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f1cddf;font-size:13px;font-weight:800}.close-btn{background:white;border:1px solid #f1c8dc;border-radius:50%;width:34px;height:34px;color:#af5984;font-size:16px}.player-shell{width:min(100%,102vh);margin:0 auto;aspect-ratio:16/9;background:#2a1b29}.player-shell iframe{display:block;width:100%;height:100%;border:0}.video-body{padding:21px 27px 30px}.video-title-row{display:flex;gap:18px;align-items:center;justify-content:space-between}.video-title-row h2{font:700 clamp(20px,2.8vw,29px) 'Playfair Display',Georgia,serif;color:#763c5d;margin:7px 0}.complete-btn{background:#c85890;border:none;border-radius:100px;padding:12px 16px;color:white;font-size:12px;font-weight:800;white-space:nowrap}.complete-btn.done{background:#5b9874}.readable-summary{border:1px solid #edcddd;background:#fff0f6;border-radius:16px;padding:18px 20px;margin:16px 0}.readable-summary strong{color:#a53b75;font-size:13px}.readable-summary p{font-size:14px;margin:7px 0 0;line-height:1.7;color:#634154}.video-notes label{display:block;font-size:13px;font-weight:800;color:#945474;margin-bottom:8px}.video-notes textarea{padding:12px}.video-notes small{display:block;font-size:10px;color:#b7849e}.text-link{display:inline-block;color:#bd5388;font-weight:800;margin-top:17px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.pdf-dialog{width:min(95vw,1040px)}.pdf-body{padding:23px 28px 36px}.pdf-body h2{font:700 27px 'Playfair Display',Georgia,serif;color:#7c3b5c;margin:0 0 6px}.pdf-body>p{font-size:12px;color:#957a88}.pdf-empty{margin:24px auto;max-width:610px;padding:38px 24px;text-align:center;background:white;border:2px dashed #edc4d7;border-radius:20px}.pdf-empty .big-icon{font-size:60px}.pdf-empty h3{font:700 23px 'Playfair Display',Georgia,serif;color:#974e79;margin:15px 0 8px}.pdf-empty p{font-size:13px;color:#927083}.pdf-actions{display:flex;gap:11px;flex-wrap:wrap;justify-content:center;margin-top:23px}.reader-toolbar{position:sticky;top:52px;z-index:2;background:#fff8fc;display:flex;gap:15px;align-items:center;justify-content:center;padding:12px 0;flex-wrap:wrap;border-bottom:1px solid #f1d8e5}.reader-toolbar span{font-size:12px;font-weight:800;color:#a04c7b}.change-pdf{font-size:11px;color:#ba7295;text-decoration:underline;cursor:pointer}.canvas-holder{overflow:auto;text-align:center;background:#eadfe6;padding:16px;border-radius:12px;margin-top:15px}.canvas-holder canvas{display:inline-block;background:white;max-width:100%;box-shadow:0 4px 20px #683a5538}.pdf-error{color:#aa3b53!important;font-size:12px!important}.toast{position:fixed;z-index:150;bottom:25px;left:50%;transform:translateX(-50%);padding:11px 19px;border-radius:999px;background:#a73674;color:white;box-shadow:0 12px 32px #62384d38;font-size:13px;font-weight:800;text-align:center}
@media(max-width:940px){.hero-copy{padding-left:40px}.hero{grid-template-columns:1.3fr .7fr}.hero-art .sunflower{font-size:93px;right:12%}.art-card{left:0}.lesson-card{flex-wrap:wrap}.lesson-art{width:100%;aspect-ratio:16/8}.lesson-copy h4{font-size:14px}.edition{display:none}}
@media(max-width:650px){.topbar{height:73px;padding:0 17px}.top-actions{gap:6px}.portal-link{font-size:11px;padding:9px 11px}.brand b{font-size:23px}.brand small{font-size:8px}.brand-icon{height:39px;width:39px;font-size:22px}main{padding:0 13px 30px}.hero{grid-template-columns:1fr;border-radius:24px;min-height:390px}.hero-copy{padding:35px 26px 130px}.hero h1{font-size:39px;margin:14px 0}.hero p{font-size:13px}.hero-badges{gap:6px}.hero-badges span{font-size:9px;padding:7px 8px}.hero-art{position:absolute;right:0;bottom:0;left:0;min-height:0;height:146px;pointer-events:none}.hero-art .sunflower{font-size:66px;top:3px;right:9%}.hero-art .heart-a{top:10px;left:10%;font-size:29px}.hero-art .heart-b{top:15px;right:28%;font-size:26px}.hero-art .heart-c{bottom:15px;right:2%;font-size:30px}.art-card{left:22%;bottom:12px;padding:8px 17px}.art-card strong{font-size:20px}.summary-strip{padding:16px;align-items:start;gap:10px;margin:14px 0 33px}.summary-strip strong{font-size:12px}.strip-kicker{font-size:9px}.strip-right{min-width:110px}.strip-right span{font-size:10px}.section-title{align-items:start}.section-title h2{font-size:28px}.section-title p{display:none}.course-grid{grid-template-columns:1fr;gap:13px}.course-card{min-height:184px;padding:21px}.course-card h3{font-size:19px}.soft-tip{padding:14px}.footer{display:block;text-align:center;padding:24px}.footer span{display:block;margin:5px}.content-section{padding:0}.course-heading{padding:20px;gap:13px}.course-heading-icon{width:49px;height:49px;font-size:25px}.course-heading h2{font-size:23px}.course-heading p{font-size:11px}.tabs{gap:4px}.tab{font-size:11px;padding:12px 10px}.list-heading{align-items:stretch;flex-direction:column}.list-heading h3{font-size:22px}.search-label{width:100%}.search-label input{width:100%}.lesson-grid,.resource-grid{grid-template-columns:1fr}.lesson-card{flex-wrap:nowrap}.lesson-art{width:112px;aspect-ratio:4/5}.lesson-copy p{-webkit-line-clamp:2}.resource-card{padding:11px;gap:8px}.resource-buttons{flex-direction:column}.resource-icon{width:34px}.mini-button{font-size:9px;padding:7px 9px}.overlay{padding:5px}.dialog{width:100%;max-height:calc(100dvh - 10px);border-radius:18px}.video-body{padding:16px}.video-title-row{display:block}.complete-btn{margin-top:10px}.readable-summary{padding:13px}.pdf-body{padding:14px}.pdf-empty{padding:20px 12px}.pdf-actions{gap:7px}.reader-toolbar{gap:6px}.reader-toolbar .outline-btn{font-size:10px;padding:8px}.note-area{padding:20px}.note-footer{display:block}.note-footer button{margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
