.cart-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none}.cart-layer.is-open{pointer-events:auto}.cart-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#16131000;transition:background .2s ease}.cart-layer.is-open .cart-backdrop{background:#16131061}.cart-panel{position:absolute;top:0;right:0;display:flex;width:min(460px,100vw);height:100%;flex-direction:column;padding:26px;background:#fff;box-shadow:var(--shadow);transform:translate(105%);transition:transform .24s ease}.cart-layer.is-open .cart-panel{transform:translate(0)}.cart-top{display:flex;justify-content:space-between;gap:16px}.cart-top h2{margin:0 0 4px;font-size:2rem}.cart-top p{margin:0;color:var(--muted)}.icon-button{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text)}.cart-items{display:grid;gap:12px;margin:26px 0;overflow-y:auto}.cart-item{display:grid;grid-template-columns:76px 1fr 40px;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius)}.cart-item img{width:76px;height:76px;border-radius:6px;object-fit:cover}.cart-item h3{margin:0 0 6px;font-size:.97rem;line-height:1.25}.cart-item span{color:var(--muted);font-weight:700}.empty-cart{display:grid;min-height:170px;place-items:center;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);line-height:1.45;text-align:center}.checkout-form{display:grid;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.checkout-form label{color:var(--text);font-size:.9rem;font-weight:780}.checkout-form input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);outline:none}.checkout-form input:focus{border-color:var(--sage);box-shadow:0 0 0 4px #5c776424}.cart-total{display:flex;align-items:center;justify-content:space-between;margin:6px 0;font-size:1.08rem}.cart-total strong{font-size:1.38rem}.pay-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:9px;border:0;border-radius:var(--radius);background:var(--berry);color:#fff;font-weight:760}.pay-button:disabled{cursor:wait;opacity:.72}.clear-button{min-height:42px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font-weight:720}.form-error{margin:0;color:var(--berry-dark);font-size:.92rem}@media(max-width:680px){.cart-panel{width:100vw;padding:20px 16px}.cart-item{grid-template-columns:64px 1fr 40px}.cart-item img{width:64px;height:64px}}.site-footer{display:flex;width:100%;justify-content:space-between;gap:28px;margin:40px 0 0;padding:42px max(20px,calc((100vw - 1180px)/2)) 48px;border-top:1px solid var(--line);background:#f8f3ed}.site-footer h2{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.site-footer a{display:inline-flex;align-items:center;gap:8px;color:var(--sage-dark);font-weight:760;text-decoration:none}.site-footer nav{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:16px}.site-footer nav a{border:0;background:transparent;color:var(--muted);font-size:.91rem;font-weight:650}@media(max-width:680px){.site-footer{flex-direction:column;margin-top:12px;padding:34px 14px max(38px,calc(38px + env(safe-area-inset-bottom)))}.site-footer nav{justify-content:flex-start}}.site-header{position:fixed;inset:16px 50% auto auto;z-index:30;display:grid;width:min(1180px,calc(100vw - 32px));grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:12px 14px;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius);background:#ffffffd6;box-shadow:0 16px 40px #241f1a1f;transform:translate(50%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:1.02rem;font-weight:760;text-decoration:none}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--sage-dark);color:#fff;font-family:Georgia,serif;font-size:1.3rem;line-height:1}.main-nav{display:flex;justify-content:center;gap:6px}.main-nav a{display:inline-flex;min-height:38px;align-items:center;padding:0 13px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font-size:.91rem;font-weight:650;text-decoration:none}.main-nav a:hover,.main-nav a.active{background:#5c77641f;color:var(--sage-dark)}.header-actions{display:flex;align-items:center;gap:8px}.cart-button{position:relative;display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:9px;padding:0 13px;border:0;border-radius:var(--radius);background:var(--text);color:#fff;font-weight:760}.cart-button strong{display:grid;min-width:21px;height:21px;place-items:center;border-radius:999px;background:var(--berry);color:#fff;font-size:.74rem}.menu-button{display:none;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text)}@media(max-width:920px){.site-header{grid-template-columns:auto auto}.main-nav{position:absolute;top:calc(100% + 10px);right:0;left:0;display:none;flex-direction:column;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fffffff5;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav a{justify-content:flex-start;text-align:left}.header-actions{justify-content:flex-end}.menu-button{display:grid}}@media(max-width:680px){.site-header{top:10px;width:calc(100vw - 20px);gap:10px;padding:10px}.brand span:last-child{display:none}.cart-button{padding:0 11px}.cart-button span{display:none}}.lesson-card{display:flex;min-height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 44px #46302114}.lesson-card img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.lesson-open{display:block;width:100%;overflow:hidden;padding:0;border:0;background:transparent;text-align:left}.lesson-open img{transition:transform .22s ease}.lesson-open:hover img{transform:scale(1.025)}.lesson-body{display:flex;flex:1;flex-direction:column;padding:20px}.compact-card .lesson-body{min-height:156px}.lesson-title-button{display:block;padding:0;border:0;background:transparent;color:inherit;text-align:left;text-decoration:none}.lesson-card h3{margin:16px 0 10px;font-size:1.32rem;line-height:1.12;letter-spacing:0}.compact-card h3{margin-top:0;margin-bottom:22px}.lesson-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto}.lesson-footer strong{font-size:1.18rem}.add-button,.added-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:9px;padding:0 14px;border:0;border-radius:var(--radius);font-weight:760;white-space:nowrap}.add-button{background:var(--sage-dark);color:#fff}.added-button{background:#5c776421;color:var(--sage-dark)}@media(max-width:680px){.lesson-body{padding:18px}.compact-card .lesson-body{min-height:136px}.lesson-footer{flex-direction:column;align-items:stretch}.add-button,.added-button{width:100%}}.catalog-section{width:var(--content);margin:-18px auto 0;padding:84px 0 54px}.section-heading{display:grid;grid-template-columns:minmax(0,.7fr) minmax(260px,.48fr);gap:40px;align-items:end;margin-bottom:34px}.section-heading h2{margin:0;font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95;letter-spacing:0}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog-pagination{display:flex;justify-content:center;gap:8px;margin-top:34px}.pagination-arrow,.pagination-page{display:inline-grid;min-width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--sage-dark);font-weight:780}.pagination-page.is-active{border-color:var(--sage-dark);background:var(--sage-dark);color:#fff}.pagination-arrow:disabled{cursor:default;opacity:.42}@media(max-width:920px){.section-heading,.lesson-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:start}}@media(max-width:680px){.catalog-section{padding-top:62px}.section-heading,.lesson-grid{grid-template-columns:1fr}.section-heading{gap:16px}}.hero{position:relative;display:grid;min-height:82svh;align-items:end;overflow:hidden;padding:124px max(20px,calc((100vw - 1180px)/2)) 86px;background:linear-gradient(90deg,#191714d1,#241f1a75 52%,#241f1a0d),url(/images/basic-loops.jpg) center / cover;color:#fff}.hero:after{position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.98));content:"";pointer-events:none}.hero-content{position:relative;z-index:1;width:min(640px,100%)}.hero h1{margin:0 0 20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.2rem,13vw,8.8rem);font-weight:500;line-height:.86;letter-spacing:0}.hero p{width:min(560px,100%);margin:0;color:#ffffffe6;font-size:clamp(1.05rem,2.4vw,1.38rem);line-height:1.48}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px}.primary-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:9px;padding:0 22px;border:0;border-radius:var(--radius);background:#fff;color:var(--text);box-shadow:0 16px 30px #00000024;font-weight:760}.hero-facts{display:grid;width:min(650px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:46px 0 0}.hero-facts div{padding-top:14px;border-top:1px solid rgba(255,255,255,.35)}.hero-facts dt{margin-bottom:6px;color:#ffffffa3;font-size:.78rem;font-weight:800;text-transform:uppercase}.hero-facts dd{margin:0;color:#fff;font-size:.95rem;font-weight:720}.hero-corner{position:absolute;right:max(20px,calc((100vw - 1180px)/2));bottom:92px;z-index:1;display:grid;width:68px;height:68px;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff}@media(max-width:680px){.hero{min-height:86svh;padding-top:112px;padding-bottom:58px;background-position:56% center}.hero p{font-size:1.03rem}.hero-actions{width:min(360px,100%);flex-direction:column;align-items:stretch;margin-top:28px}.primary-button{justify-content:center}.hero-facts{grid-template-columns:1fr;gap:12px;margin-top:34px}.hero-facts div{padding-top:10px}.hero-corner{display:none}}.catalog-state{width:var(--content);margin:42px auto;padding:28px 0;color:var(--muted);font-size:1rem}.catalog-state.error{color:var(--berry-dark)}.legal-page{min-height:72svh;padding:136px 20px 40px}.legal-inner{width:min(840px,100%);margin:0 auto}.legal-inner h1{margin:0 0 36px;overflow-wrap:anywhere;font-size:clamp(2.4rem,7vw,4.8rem);line-height:.96;letter-spacing:0}.legal-inner section{padding:26px 0;border-top:1px solid var(--line)}.legal-inner h2{margin:0 0 10px;font-size:1.18rem}.legal-inner p{margin:0;color:var(--muted);font-size:1rem;line-height:1.68}@media(max-width:680px){.legal-page{padding:112px 14px 34px}.legal-inner h1{margin-bottom:28px;font-size:clamp(2rem,8.5vw,2.7rem);line-height:1.04}.legal-inner section{padding:22px 0}.legal-inner h2{font-size:1.08rem;line-height:1.24}.legal-inner p{font-size:.96rem;line-height:1.62}}.lesson-detail{margin-top:32px}.lesson-detail-main{display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,.75fr);align-items:center;gap:44px}.lesson-detail-main>img{width:100%;aspect-ratio:4 / 3;border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover}.lesson-detail-content h1{margin:0 0 22px;font-size:clamp(2.4rem,6vw,5.2rem);line-height:.96;letter-spacing:0}.lesson-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:30px}.lesson-detail-actions strong{font-size:1.55rem}.lesson-detail .add-button,.lesson-detail .added-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:9px;padding:0 14px;border:0;border-radius:var(--radius);font-weight:760;white-space:nowrap}.lesson-detail .add-button{background:var(--sage-dark);color:#fff}.lesson-detail .added-button{background:#5c776421;color:var(--sage-dark)}.lesson-description{width:min(880px,100%);margin-top:42px;padding-top:34px;border-top:1px solid var(--line)}.lesson-description h2{margin:0 0 14px;font-size:clamp(1.55rem,4vw,2.4rem);line-height:1.06;letter-spacing:0}.lesson-description p{margin:0;color:var(--muted);font-size:1.08rem;line-height:1.78;white-space:pre-line}@media(max-width:680px){.lesson-detail-main{grid-template-columns:1fr;gap:24px}.lesson-detail-actions{flex-direction:column;align-items:stretch}.lesson-detail .add-button,.lesson-detail .added-button{width:100%}}.lesson-detail-page{width:var(--content);min-height:72svh;margin:0 auto;padding:132px 0 56px}.back-button{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--sage-dark);font-weight:760;text-decoration:none}.detail-state{display:inline-flex;align-items:center;gap:10px;margin-top:34px;color:var(--muted);font-weight:700}.detail-state.error{color:var(--berry-dark)}@media(max-width:680px){.lesson-detail-page{padding-top:118px}}.app-shell{display:flex;min-height:100svh;flex-direction:column}.app-shell>main{flex:1 0 auto}.result-page{display:grid;min-height:100svh;place-items:center;padding:24px;background:linear-gradient(180deg,#ffffffdb,#fffaf4f5),url(/images/soft-scarf.jpg) center / cover}.result-box{width:min(520px,100%);padding:38px;border:1px solid rgba(255,255,255,.65);border-radius:var(--radius);background:#ffffffe6;box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.result-box>svg{color:var(--sage-dark)}.result-box h1{margin:18px 0 10px;font-size:clamp(2rem,8vw,3.5rem);line-height:.98;letter-spacing:0}.result-box p{margin:0 auto 20px;color:var(--muted);line-height:1.55}.result-home-link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:9px;margin:0 auto 12px;padding:0 18px;border-radius:var(--radius);background:var(--sage-dark);color:#fff;font-weight:760;text-decoration:none}.result-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0;padding:16px 0;border-block:1px solid var(--line)}.result-summary span{color:var(--muted);font-weight:700}.result-summary strong{font-size:1.25rem}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{color-scheme:light;--bg: #ffffff;--surface: #fffaf4;--surface-strong: #f5eee5;--text: #241f1a;--muted: #6c6259;--line: #e7ddd2;--sage: #5c7764;--sage-dark: #324d3c;--berry: #a5495c;--berry-dark: #7c3040;--gold: #d49a5b;--shadow: 0 18px 50px rgba(68, 44, 28, .14);--radius: 8px;--content: min(1180px, calc(100vw - 40px) );font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8f3ed;color:var(--text)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f8f3ed}body{margin:0;min-height:100svh;min-width:320px;background:radial-gradient(circle at 5% 0%,rgba(212,154,91,.12),transparent 32rem),linear-gradient(180deg,#fff,#fff 45%,#f8f3ed);background-color:#f8f3ed;background-repeat:no-repeat;color:var(--text);overflow-x:hidden}#root{min-height:100svh}button,input{font:inherit}button{cursor:pointer}a{color:inherit}@media(max-width:680px){:root{--content: min(100vw - 28px, 1180px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
