._placeholder_1bv6g_1{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(to bottom right,#dcebfe,#b4d4fd)}._placeholderIcon_1bv6g_14{width:3rem;height:3rem;color:#5c8bf0}._image_1bv6g_20{width:100%;height:100%;object-fit:contain}._cover_1bv6g_26{object-fit:cover;object-position:center;transition:transform .3s}._card_1ctyz_1{display:flex;flex-direction:column;overflow:hidden;height:100%;width:100%;border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--background);text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s;padding:0}._card_1ctyz_1:hover{border-color:#2463eb4d;box-shadow:var(--shadow-lg)}._coverWrap_1ctyz_21{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;background:var(--muted);display:flex;align-items:center;justify-content:center}._card_1ctyz_1:hover ._coverWrap_1ctyz_21 img{transform:scale(1.05)}._coverWrap_1ctyz_21 img{transition:transform .3s}._body_1ctyz_40{display:flex;flex:1;flex-direction:column;justify-content:center;padding:1rem}._title_1ctyz_48{margin:0;font-size:.875rem;font-weight:600;line-height:1.375;color:var(--foreground);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}._card_1ctyz_1:hover ._title_1ctyz_48{color:var(--primary)}._description_1ctyz_65{margin:.25rem 0 0;font-size:.875rem;font-weight:400;color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}._listCard_1ctyz_76{flex-direction:row;align-items:stretch}._listCover_1ctyz_82{width:5rem;flex-shrink:0;aspect-ratio:3 / 4}._listBody_1ctyz_89{justify-content:center}._viewer_cer33_1{display:flex;width:100%;height:100vh;min-height:520px;flex-direction:column;overflow:hidden;color:#f7f8fc;background:#101625}._header_cer33_12{display:flex;min-height:62px;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(255,255,255,.1);padding:0 1rem;background:#151d2e}._title_cer33_24,._actions_cer33_25,._actions_cer33_25 a,._actions_cer33_25 button{display:flex;align-items:center}._title_cer33_24{min-width:0;overflow:hidden;margin:0;color:#f5f7fc;font-size:.88rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}._actions_cer33_25{gap:.5rem}._actions_cer33_25 a,._actions_cer33_25 button{min-height:38px;justify-content:center;gap:.45rem;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:0 .7rem;color:#e9ecf5;background:#ffffff0f;font-family:inherit;font-size:.78rem;font-weight:700;text-decoration:none;cursor:pointer}._actions_cer33_25 a:hover,._actions_cer33_25 button:hover{border-color:#ffffff47;color:#fff;background:#ffffff1f}._frameWrap_cer33_71{position:relative;min-height:0;flex:1;background:#090d17}._frame_cer33_71{display:block;width:100%;height:100%;border:0;background:#fff}._frameLoading_cer33_86,._state_cer33_87{display:flex;align-items:center;justify-content:center;flex-direction:column}._frameLoading_cer33_86{position:absolute;inset:0;z-index:1;color:#dce2ef;background:#101625}._frameLoading_cer33_86 p{margin-top:.85rem;color:#aeb8ca;font-size:.86rem}._state_cer33_87{min-height:100vh;padding:2rem;text-align:center;background:#f4f6fa}._state_cer33_87 h1{margin:0;color:#202a3e}._state_cer33_87>p{max-width:480px;color:#69758a;line-height:1.6}._notFound_cer33_126{background:radial-gradient(circle at 50% 38%,rgba(67,87,230,.11),transparent 22rem),#f4f6fa}._errorCode_cer33_132{margin:0 0 .35rem!important;color:#4357e6!important;font-size:clamp(4.5rem,12vw,8rem);font-weight:850;letter-spacing:-.08em;line-height:.9!important}._secondaryButton_cer33_141{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid #d6dce8;border-radius:11px;padding:.65rem .9rem;color:#354058;background:#fff;font-size:.84rem;font-weight:700;text-decoration:none}._spinner_cer33_156{width:34px;height:34px;border:3px solid rgba(74,91,215,.2);border-top-color:#4a5bd7;border-radius:50%;animation:_spin_cer33_156 .7s linear infinite}@keyframes _spin_cer33_156{to{transform:rotate(360deg)}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/geist-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/geist-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Geist,Arial,sans-serif;color:#211936;background:#fbf9ff;font-synthesis:none;text-rendering:optimizeLegibility;--purple: #39206c;--purple-2: #5b36a3;--purple-dark: #2d175b;--ink: #211936;--muted: #6f687c;--lav: #f6f2ff;--lav-strong: #ede5ff;--cream: #fff9ef;--mint: #76e4c1;--mint-soft: #e9faf4;--coral: #ff806f;--coral-soft: #fff0ec;--yellow-soft: #fff7d9;--blue-soft: #eaf5ff;--line: #e8e1f1;--white: #fff;--shadow-soft: 0 15px 40px rgba(57, 32, 108, .07);--shadow-card: 0 20px 45px rgba(49, 30, 73, .1);--shadow-strong: 0 28px 65px rgba(57, 32, 108, .16)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}html{background:#fbf9ff}body{min-height:100vh;background:linear-gradient(180deg,#fff 0,#fbf9ff)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-weight:780;letter-spacing:-.035em}::selection{color:#fff;background:var(--purple-2)}.brand{display:inline-flex;align-items:center;line-height:0}.brand-logo{display:block;width:205px;height:auto;object-fit:contain}.brand-compact .brand-logo{width:168px}.brand-link{display:inline-flex;flex:0 0 auto;text-decoration:none}.eyebrow{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-bottom:.7rem;border-radius:999px;padding:.48rem .7rem;color:var(--purple-2);background:#f1eaff;font-size:.66rem;font-weight:800;letter-spacing:.12em;line-height:1}.primary-button,.secondary-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:.6rem;border-radius:13px;padding:0 1.25rem;font-weight:750;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.primary-button{width:100%;border:1px solid var(--purple);color:#fff;background:var(--purple);box-shadow:0 8px 22px #39206c29}.primary-button:hover:not(:disabled){transform:translateY(-2px);background:var(--purple-dark);box-shadow:0 12px 26px #39206c38}.primary-button:disabled{cursor:not-allowed;opacity:.48}.secondary-button{border:1px solid var(--purple);color:var(--purple);background:#fff}.secondary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--lav);box-shadow:0 8px 20px #39206c14}.secondary-button.full{width:100%}.text-button,.back-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;color:var(--purple);background:transparent;font-weight:720;cursor:pointer}.text-button:hover,.back-button:hover{color:var(--purple-2)}.back-button{width:max-content;margin-bottom:.3rem;padding:0;color:var(--muted);font-size:.84rem}.icon-button{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:11px;color:var(--purple);background:#fff;cursor:pointer;transition:.2s ease}.icon-button:hover{border-color:#cfc0e8;background:var(--lav)}button:focus-visible,a:focus-visible{outline:3px solid var(--purple-2);outline-offset:3px}.alert{border-radius:12px;padding:.85rem 1rem;font-size:.83rem;line-height:1.45}.error-alert{border:1px solid #ffd0c9;color:#9d4034;background:var(--coral-soft)}.inline-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.inline-alert button{display:flex;flex:0 0 auto;align-items:center;gap:.35rem;border:0;color:inherit;background:transparent;font-weight:750;cursor:pointer}.spinner{display:inline-block;width:22px;height:22px;border:3px solid rgba(57,32,108,.14);border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite}.spinner.large{width:42px;height:42px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{display:grid;min-height:100vh;grid-template-columns:minmax(390px,.92fr) minmax(480px,1.08fr);background:#fff}.auth-art{position:relative;min-height:100vh;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#39206c,#51318c 58%,#6b43b0)}.auth-art:before{position:absolute;z-index:-1;top:-18%;right:-18%;width:72%;aspect-ratio:1;border-radius:50%;background:#ffffff14;content:""}.auth-art:after{position:absolute;z-index:-1;right:12%;bottom:9%;color:#76e4c138;content:"✦";font-size:clamp(7rem,15vw,13rem);transform:rotate(12deg)}.sun{position:absolute;top:12%;right:14%;width:112px;height:112px;border:22px solid rgba(118,228,193,.18);border-radius:50%;background:var(--mint);box-shadow:0 0 0 1px #ffffff1f}.hill{position:absolute;z-index:-1;border-radius:50%;opacity:.98}.hill-one{bottom:-25%;left:-25%;width:110%;height:58%;background:#2d175b;transform:rotate(8deg)}.hill-two{right:-35%;bottom:-31%;width:110%;height:63%;background:#ff806fd1;transform:rotate(-9deg)}.floating-card{position:absolute;display:flex;width:102px;height:110px;align-items:center;justify-content:center;border:7px solid rgba(255,255,255,.84);border-radius:24px;color:var(--purple);background:#fff;font-size:2rem;font-weight:850;box-shadow:0 20px 45px #170b2947}.card-a{top:29%;left:19%;color:#fff;background:var(--coral);transform:rotate(-9deg)}.card-b{top:47%;right:17%;background:#ffd66d;transform:rotate(8deg)}.card-c{bottom:12%;left:28%;background:var(--mint);transform:rotate(4deg)}.auth-card{width:calc(100% - 3rem);max-width:470px;min-width:0;margin:auto;padding:4rem 0}.auth-card>.brand{margin-left:-2px}.form-heading{margin:3.5rem 0 2rem}.form-heading h1,.checkout-title h1{margin-bottom:.7rem;font-size:clamp(2rem,5vw,3rem);line-height:1.04;letter-spacing:-.052em}.form-heading p,.checkout-title p{margin-bottom:0;color:var(--muted);line-height:1.65}.complete-profile-card{max-width:520px}.complete-profile-card .form-heading{margin-bottom:1.6rem}.completion-badge{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;margin:0 0 .9rem .55rem;border-radius:13px;color:#216b56;background:var(--mint-soft);vertical-align:middle}.completion-email{display:flex;align-items:center;gap:.75rem;border:1px solid #d8ccec;border-radius:13px;padding:.8rem .9rem;color:var(--purple);background:var(--lav)}.completion-email>svg{flex:0 0 auto}.completion-email>span{display:flex;min-width:0;flex-direction:column;gap:.15rem}.completion-email small{color:var(--muted);font-size:.66rem}.completion-email strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.account-page{display:grid;min-height:100dvh;align-items:center;padding:clamp(1.25rem,4vw,3rem);background:radial-gradient(ellipse at 5% 5%,var(--lav-strong),transparent 45%),var(--lav)}.account-layout{display:grid;width:min(100%,1120px);margin:auto;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--white);box-shadow:var(--shadow-soft)}.account-page-register .account-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"support form"}.account-form-panel{grid-area:form;min-width:0;padding:clamp(2rem,3.5vw,3.25rem)}.account-heading{margin:2rem 0 1.65rem}.account-heading h1{margin-bottom:.85rem;color:var(--purple);font-size:clamp(1.85rem,2.7vw,2.45rem);line-height:1.12;text-wrap:balance}.account-heading p{margin-bottom:0;color:var(--muted);font-size:.94rem;line-height:1.65}.account-page .form-stack input{font-size:1rem}.account-switch{margin:1.5rem 0 0;border-top:1px solid var(--line);padding-top:1.1rem;color:var(--muted);text-align:center;font-size:.84rem;line-height:1.7}.account-switch a{display:inline-block;padding:.25rem .15rem;color:var(--purple-2);font-weight:750;text-decoration:underline;text-underline-offset:3px}.account-switch a:hover{color:var(--purple-dark)}.account-page-login .account-layout{max-width:490px;grid-template-areas:"form"}.account-page-login .account-form-panel{padding:2.5rem}.account-page-login .account-heading h1{font-size:2rem}.registration-benefits{grid-area:support;position:relative;display:flex;min-width:0;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(2rem,4vw,3.5rem);color:var(--white);background:linear-gradient(145deg,var(--purple) 0%,#51318c 100%)}.registration-benefits:before{position:absolute;top:-180px;right:-150px;width:360px;height:360px;border:50px solid rgba(255,255,255,.05);border-radius:50%;pointer-events:none;content:""}.registration-benefits-eyebrow{margin-bottom:1.1rem;color:var(--mint);font-size:.7rem;font-weight:750;letter-spacing:.15em}.registration-benefits h2{max-width:340px;margin-bottom:2.5rem;color:var(--white);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.18;text-wrap:balance}.registration-benefits ul{display:grid;gap:1.25rem;margin:0;padding:0;list-style:none}.registration-benefits-link{margin-top:2rem}.registration-benefits li{display:flex;align-items:center;gap:1rem;border-top:1px solid rgba(255,255,255,.18);padding-top:1.25rem;font-size:1rem;font-weight:650;line-height:1.5}.registration-benefit-icon{display:inline-flex;width:52px;height:52px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:15px;color:var(--purple)}.benefit-mint{background:var(--mint)}.benefit-cream{background:var(--cream)}.benefit-coral{background:var(--coral-soft)}.register-submit{margin-top:.15rem}.registration-access-note{margin:0;color:var(--muted);font-size:.78rem;line-height:1.6;text-align:center;overflow-wrap:anywhere}.register-privacy-note{display:flex;align-items:flex-start;justify-content:center;gap:.45rem;color:var(--muted);font-size:.68rem;line-height:1.45}.register-privacy-note svg{flex:0 0 auto;color:#238167}@media(max-width:900px){.account-page-register .account-layout{max-width:560px;grid-template-columns:minmax(0,1fr);grid-template-areas:"form" "support"}.registration-benefits{padding:2rem}.registration-benefits h2{max-width:none;margin-bottom:1.5rem;font-size:1.8rem}.registration-benefits ul{gap:.85rem}.registration-benefits li{padding-top:.85rem;font-size:.94rem}.registration-benefit-icon{width:44px;height:44px;border-radius:12px}}@media(max-width:620px){.account-page{align-items:start;padding:0;background:var(--white)}.account-layout{margin:0 auto;border:0;border-radius:0;box-shadow:none}.account-form-panel,.account-page-login .account-form-panel{padding:1.5rem}.account-heading{margin:1.5rem 0}.account-heading h1,.account-page-login .account-heading h1{font-size:1.9rem}.account-heading p{font-size:.88rem}.registration-benefits{margin:0 1rem 1rem;border-radius:20px;padding:1.5rem}.account-page .field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}.account-page .field-row input{min-width:0}}.payment-success-page{min-height:100dvh;overflow:hidden;padding-bottom:4rem;background:radial-gradient(circle at 10% 15%,#e9faf4 0,transparent 25rem),radial-gradient(circle at 90% 5%,#ede5ff 0,transparent 30rem),linear-gradient(180deg,#fff,var(--cream))}.payment-success-header{display:flex;width:min(100% - 3rem,1120px);height:86px;align-items:center;margin:0 auto}.payment-success-card{position:relative;isolation:isolate;overflow:hidden;width:min(100% - 3rem,760px);margin:2.5rem auto 0;border:1px solid rgba(57,32,108,.1);border-radius:30px;padding:clamp(2rem,6vw,4.25rem);text-align:center;background:#fffffff5;box-shadow:var(--shadow-strong)}.payment-success-card:before{position:absolute;z-index:-1;top:-150px;left:50%;width:430px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(118,228,193,.34),rgba(237,229,255,.16) 55%,transparent 72%);content:"";transform:translate(-50%)}.payment-success-decoration span{position:absolute;z-index:-1;border-radius:50%}.payment-success-decoration span:nth-child(1){top:12%;left:7%;width:17px;height:17px;background:var(--coral)}.payment-success-decoration span:nth-child(2){top:8%;right:9%;width:12px;height:12px;background:#ffd66d}.payment-success-decoration span:nth-child(3){right:6%;bottom:23%;width:20px;height:20px;border:5px solid var(--mint);background:transparent}.payment-success-icon{display:inline-flex;width:78px;height:78px;align-items:center;justify-content:center;margin-bottom:1.3rem;border-radius:24px;color:#216b56;background:var(--mint);box-shadow:0 16px 35px #23816733}.payment-success-card h1{margin:.35rem 0 .8rem;font-size:clamp(2.25rem,6vw,3.5rem);line-height:1.02;letter-spacing:-.055em}.payment-success-lead{max-width:600px;margin:0 auto 1.8rem;color:var(--muted);font-size:1rem;line-height:1.7}.payment-success-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 1.8rem;text-align:left}.payment-success-highlights>div{display:flex;min-width:0;align-items:flex-start;gap:.6rem;border:1px solid var(--line);border-radius:15px;padding:.85rem;background:#fdfcff}.payment-success-highlights>div>svg{flex:0 0 auto;color:var(--purple-2)}.payment-success-highlights span{display:flex;min-width:0;flex-direction:column;gap:.2rem}.payment-success-highlights strong{color:var(--ink);font-size:.72rem;line-height:1.3}.payment-success-highlights small{color:var(--muted);font-size:.64rem;line-height:1.4}.payment-success-next{max-width:590px;margin:0 auto 1.35rem;color:#4f485b;font-size:.85rem;line-height:1.65}.payment-success-card>.primary-button{max-width:330px;margin:0 auto .85rem}.payment-success-card>small{display:block;color:var(--muted);font-size:.68rem}.payment-success-loading{display:flex;min-height:100dvh;align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:var(--muted);background:#fbf9ff}.payment-return-page{min-height:100dvh;background:radial-gradient(circle at 50% 12%,#ede5ff 0,transparent 28rem),linear-gradient(180deg,#fff,var(--cream))}.payment-return-card{display:flex;width:min(100% - 3rem,560px);min-height:330px;align-items:center;justify-content:center;flex-direction:column;gap:1rem;margin:4rem auto 0;border:1px solid var(--line);border-radius:26px;padding:2.5rem;text-align:center;background:#fffffff7;box-shadow:var(--shadow-strong)}.payment-return-card h1{margin:.45rem 0 0;font-size:clamp(1.7rem,5vw,2.35rem)}.payment-return-card p{max-width:430px;margin:0 0 .5rem;color:var(--muted);line-height:1.65}.payment-return-card .primary-button{max-width:280px}.payment-return-warning{display:inline-flex;width:62px;height:62px;align-items:center;justify-content:center;border-radius:19px;color:#9a4d20;background:#fff1df}.payment-return-actions,.checkout-recovery-actions{display:flex;width:min(100%,360px);align-items:stretch;flex-direction:column;gap:.7rem}.payment-return-actions .primary-button,.payment-return-actions .secondary-button,.checkout-recovery-actions .primary-button,.checkout-recovery-actions .secondary-button{width:100%;max-width:none}.payment-return-actions a,.checkout-recovery-actions a{text-decoration:none}.form-stack{display:flex;flex-direction:column;gap:1rem}.form-stack>label,.form-stack>.password-field{display:flex;flex-direction:column;gap:.45rem;color:#4f485b;font-size:.79rem;font-weight:740}.form-stack label>span{color:var(--muted);font-weight:500}.form-stack input{width:100%;min-height:50px;border:1px solid #ded6e8;border-radius:12px;outline:0;padding:0 .95rem;color:var(--ink);background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.form-stack input::placeholder{color:#7b7284}.form-stack input:focus{border-color:var(--purple-2);box-shadow:0 0 0 4px #5b36a31a}.form-stack input:focus-visible{outline:2px solid var(--purple-2);outline-offset:2px}.form-stack input[aria-invalid=true]{border-color:#c85a4c;background:snow}.form-stack input[aria-invalid=true]:focus{border-color:#b64b3d;box-shadow:0 0 0 4px #b64b3d1a}.field-with-icon{position:relative}.field-with-icon>svg{position:absolute;top:50%;left:.95rem;z-index:1;color:#958b9f;transform:translateY(-50%)}.field-with-icon input{padding-left:2.75rem}.password-input input{padding-right:3.25rem}.password-toggle{position:absolute;top:50%;right:.3rem;display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;transform:translateY(-50%);border:0;border-radius:8px;padding:0;color:var(--muted);background:transparent;cursor:pointer}.password-toggle:hover:not(:disabled){color:var(--purple);background:var(--lav)}.password-toggle:disabled{opacity:.5;cursor:not-allowed}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field-row label{display:flex;flex-direction:column;gap:.45rem;color:#4f485b;font-size:.79rem;font-weight:740}.input-hint{margin-top:-.1rem;color:var(--muted)!important;font-size:.69rem}.input-hint.invalid{color:#b64b3d!important}.field-error{margin-top:-.1rem;color:#b64b3d;font-size:.69rem;font-weight:650}.form-section-heading{margin:.65rem 0 -.15rem}.form-section-heading h2{margin-bottom:.25rem;font-size:1rem}.form-section-heading p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45}.checkout-page{min-height:100vh;background:radial-gradient(circle at 90% 8%,#ede5ff 0,transparent 32rem),linear-gradient(135deg,#fff 0,#fbf9ff 58%,var(--cream) 100%)}.checkout-header{display:flex;width:min(100% - 3rem,1140px);height:86px;align-items:center;justify-content:space-between;margin:0 auto}.secure-note{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.76rem;font-weight:720}.secure-note svg{color:var(--purple)}.checkout-main{display:grid;width:min(100% - 3rem,1050px);grid-template-columns:minmax(0,1fr) 318px;gap:1.5rem;align-items:start;margin:2rem auto 5rem}.checkout-panel,.order-card{border:1px solid var(--line);box-shadow:var(--shadow-card)}.checkout-panel{min-height:620px;border-radius:24px;padding:clamp(1.5rem,4vw,3.4rem);background:#fffffff5}.checkout-title{margin-bottom:1.6rem}.form-stack>.mobile-price-picker{display:none}.mobile-price-picker select{min-height:50px;border:1px solid #ded6e8;border-radius:12px;outline:0;padding:0 .8rem;color:var(--ink);background:#fff}.mobile-price-picker select:focus-visible{border-color:var(--purple-2);outline:2px solid var(--purple-2);outline-offset:2px}.order-card{position:sticky;top:1.5rem;overflow:hidden;border-color:#ffffff1a;border-radius:22px;padding:1.65rem;color:#fff;background:linear-gradient(145deg,#39206c,#6844a7);box-shadow:var(--shadow-strong)}.order-card:after{position:absolute;top:-82px;right:-76px;width:190px;height:190px;border-radius:50%;background:#ffffff12;content:"";pointer-events:none}.order-card>*{position:relative;z-index:1}.order-icon{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;margin-bottom:1.5rem;border-radius:16px;color:#174c3e;background:var(--mint)}.order-card .eyebrow{color:#ded3ed;background:#ffffff1a}.order-card h2{margin:.7rem 0 .5rem;color:#fff;font-size:1.25rem}.order-description{margin:0 0 1rem;color:#ded3ed;font-size:.73rem;line-height:1.55}.order-benefits{display:grid;gap:.55rem;margin:0 0 1.2rem;padding:0;list-style:none}.order-benefits li{display:flex;align-items:flex-start;gap:.45rem;color:#f4effb;font-size:.72rem;line-height:1.4}.order-benefits svg{flex:0 0 auto;margin-top:.08rem;color:var(--mint)}.order-price-options{display:grid;gap:.5rem;margin-bottom:1rem}.order-price-options button{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border:1px solid rgba(255,255,255,.18);border-radius:11px;padding:.65rem .7rem;color:#ded3ed;text-align:left;background:#ffffff12;cursor:pointer}.order-price-options button:hover{border-color:#fff6;background:#ffffff1f}.order-price-options button.selected{border-color:var(--mint);color:#fff;background:#cff4e621}.order-price-options button span{font-size:.68rem}.order-price-options button strong{color:inherit;font-size:.72rem;text-align:right}.order-line,.order-total{display:flex;justify-content:space-between;gap:1rem}.order-line{border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:1rem 0;color:#ded3ed;font-size:.78rem}.order-line strong{color:#fff;text-align:right}.order-total{align-items:end;padding:1.2rem 0}.order-total strong{color:#fff;font-size:1.45rem}.order-note{display:flex;align-items:center;gap:.45rem;margin:0;color:#ded3ed;font-size:.7rem}.order-note svg{flex:0 0 auto;color:var(--mint)}.card-number-input{font-variant-numeric:tabular-nums;letter-spacing:.08em}.payment-trust-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--line);margin:-.35rem 0 .25rem;padding-bottom:.85rem}.payment-card-brands{display:inline-flex;align-items:center;gap:.5rem}.payment-card-brands img{display:block;width:auto;height:27px;border:1px solid #e4ddea;border-radius:6px;background:#fff}.secure-payment-badge{display:inline-flex;align-items:center;gap:.4rem;color:#285d4e;font-size:.7rem;font-weight:750;white-space:nowrap}.secure-payment-badge svg{color:#238167}.form-stack>label.three-d-secure-option{display:flex;align-items:flex-start;flex-direction:row;gap:.75rem;border:1px solid #d8ccec;border-radius:13px;padding:.9rem;color:var(--purple);background:var(--lav);cursor:pointer}.form-stack .three-d-secure-option input{width:18px;min-height:18px;flex:0 0 auto;margin:.1rem 0 0;accent-color:var(--purple);cursor:pointer}.three-d-secure-option>span{display:flex;flex-direction:column;gap:.2rem}.three-d-secure-option strong{font-size:.78rem}.three-d-secure-option small{color:var(--muted);font-size:.7rem;font-weight:500;line-height:1.4}.payment-security-note{display:flex;gap:.7rem;border:1px solid #cce8de;border-radius:13px;padding:.85rem;color:#285d4e;background:#f1fbf7;font-size:.73rem;line-height:1.45}.payment-security-note svg{flex:0 0 auto;color:#238167}.payment-security-note strong{display:block}.panel-loading,.processing,.empty-panel{display:flex;min-height:360px;align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:var(--muted);text-align:center}.processing h1{margin:.6rem 0 -.6rem;font-size:2rem}.processing p{max-width:390px;line-height:1.55}.checkout-recovery{display:flex;min-height:460px;align-items:center;justify-content:center;flex-direction:column;gap:1rem;padding:2rem;text-align:center}.checkout-recovery h1{margin:.35rem 0 0;font-size:clamp(1.7rem,5vw,2.25rem)}.checkout-recovery p{max-width:460px;margin:0 0 .5rem;color:var(--muted);line-height:1.65}.launch-screen{display:flex;min-height:100vh;align-items:center;justify-content:center;flex-direction:column;padding:2rem;text-align:center;background:radial-gradient(circle at 50% 22%,#ede5ff 0,transparent 25rem),linear-gradient(180deg,#fff,var(--cream))}.launch-screen .brand{margin-bottom:3rem}.launch-screen h1{margin:1.2rem 0 .5rem;font-size:clamp(1.8rem,5vw,2.5rem)}.launch-screen p{max-width:470px;color:var(--muted);line-height:1.65}.launch-screen .secondary-button{margin-top:.45rem}.launch-icon{display:inline-flex;width:66px;height:66px;align-items:center;justify-content:center;border-radius:20px;color:var(--purple);background:var(--mint);box-shadow:0 12px 28px #39206c1a}.membership-page,.join-page{min-height:100vh;padding:1.5rem;background:radial-gradient(circle at 12% 2%,#ede5ff 0,transparent 31rem),radial-gradient(circle at 88% 100%,#fff0ec 0,transparent 27rem),var(--cream)}.join-page{background:radial-gradient(circle at 86% 4%,#ede5ff 0,transparent 31rem),radial-gradient(circle at 8% 100%,#e9faf4 0,transparent 27rem),var(--cream)}.join-page>header,.membership-page>header{display:flex;width:min(100%,1040px);min-height:58px;align-items:center;margin:0 auto 2rem}.join-card,.membership-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--line);text-align:center;background:#fffffff7;box-shadow:var(--shadow-card)}.join-card:before,.membership-card:before{position:absolute;z-index:-1;top:-110px;right:-90px;width:230px;height:230px;border-radius:50%;background:var(--lav);content:""}.join-card{width:min(100%,500px);margin:3.5rem auto;border-radius:24px;padding:clamp(1.6rem,5vw,3rem)}.join-card h1{margin-bottom:.55rem;font-size:clamp(2rem,6vw,2.6rem)}.join-card>p{margin-bottom:1.5rem;color:var(--muted);line-height:1.55}.join-card .form-stack{margin-top:1.3rem;text-align:left}.membership-card{width:min(100%,650px);margin:2rem auto;border-radius:26px;padding:clamp(1.6rem,5vw,3.4rem)}.membership-hero-icon{display:inline-flex;width:70px;height:70px;align-items:center;justify-content:center;margin-bottom:1.5rem;border-radius:21px;color:var(--purple);background:var(--mint);box-shadow:0 12px 28px #39206c17}.membership-card h1{margin-bottom:.6rem;font-size:clamp(2rem,6vw,2.7rem)}.membership-card>p{max-width:490px;margin:0 auto 2rem;color:var(--muted);line-height:1.6}.membership-options{display:grid;gap:.75rem;margin:1.2rem 0 1.6rem;text-align:left}.membership-option{display:flex;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:15px;padding:1rem;background:#fff;cursor:pointer;transition:.18s ease;text-align:left}.membership-option:hover{border-color:#cfc0e8;background:#fdfcff}.membership-option.selected{border-color:var(--purple);background:var(--lav);box-shadow:0 0 0 3px #39206c0f}.membership-check{display:inline-flex;width:23px;height:23px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid #c7bcd3;border-radius:50%}.membership-option.selected .membership-check{border-color:var(--purple);color:#fff;background:var(--purple)}.membership-option>span:last-child{display:flex;flex-direction:column;gap:.25rem}.membership-option small{color:var(--muted)}.app-shell{min-height:100vh;background:linear-gradient(180deg,#fff 0,#fbf9ff 48%,#fff)}.app-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(57,32,108,.08);background:#ffffffe6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-header-inner{display:flex;width:min(100% - 2.5rem,1180px);min-height:76px;align-items:center;gap:2.2rem;margin:0 auto}.app-header .brand-logo{width:150px}.app-nav{display:flex;flex:1;min-width:0;align-self:stretch;gap:.25rem;overflow-x:auto}.app-nav a{flex-shrink:0;position:relative;display:inline-flex;align-items:center;gap:.45rem;padding:0 .8rem;color:#5f5868;font-size:.79rem;font-weight:680;text-decoration:none;transition:.18s ease}.app-nav a:after{position:absolute;right:.8rem;bottom:0;left:.8rem;height:2px;border-radius:2px 2px 0 0;background:transparent;content:""}.app-nav a:hover,.app-nav a.active{color:var(--purple)}.app-nav a.active:after{background:var(--purple)}.mobile-menu-toggle,.mobile-logout,.menu-onboarding{display:none}.account-area{display:flex;align-items:center;gap:.65rem}.header-login-link{display:inline-flex;min-height:40px;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:11px;padding:0 .85rem;color:var(--purple);background:#fff;font-size:.76rem;font-weight:740;text-decoration:none}.header-login-link:hover{border-color:#cfc0e8;color:var(--purple-2);background:var(--lav)}.avatar{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid #c9eee2;border-radius:11px;color:#174c3e;background:var(--mint);font-size:.7rem;font-weight:820}.account-name{max-width:140px;overflow:hidden;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.app-main{min-height:calc(100vh - 77px)}.public-contents-page{display:flex;width:min(100% - 2.5rem,1180px);min-height:calc(100dvh - 77px);flex-direction:column;margin:0 auto;padding:2.5rem 0 5rem;--background: #fff;--foreground: var(--ink);--primary: var(--purple-2);--muted: var(--lav);--muted-foreground: #6f687c;--border: var(--line);--radius: .65rem;--container-max: 1180px;--shadow-sm: 0 1px 2px rgba(57, 32, 108, .06);--shadow-lg: 0 14px 32px rgba(57, 32, 108, .12)}.public-contents-heading{flex:0 0 auto;margin-bottom:1.5rem}.public-contents-heading h1{margin-bottom:.45rem;font-size:clamp(2.35rem,5vw,3.6rem);line-height:1;letter-spacing:-.058em}.public-contents-heading p{margin-bottom:0;color:var(--muted-foreground);line-height:1.55}.public-contents-notice{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1.5rem;border:1px solid var(--line);border-radius:16px;padding:clamp(1rem,3vw,1.5rem);background:var(--lav)}.public-contents-notice>svg{flex-shrink:0;margin-top:.1rem;color:var(--purple-2)}.public-contents-notice h2{margin-bottom:.5rem;color:var(--purple);font-size:1rem;letter-spacing:-.02em}.public-contents-notice p{margin-bottom:.5rem;color:var(--muted-foreground);font-size:.9rem;line-height:1.7}.public-contents-notice p:last-child{margin-bottom:0}.public-contents-library{overflow:visible;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}.public-contents-group{padding:1.5rem}.public-contents-group+.public-contents-group{border-top:1px solid var(--line)}.public-contents-group h2{margin:0 0 1rem;color:var(--purple);font-size:1.2rem;letter-spacing:-.02em}.public-contents-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.public-content-card>div:first-child{aspect-ratio:16 / 9}.public-contents-state{display:flex;min-height:320px;align-items:center;justify-content:center;flex-direction:column;gap:.8rem;padding:2rem;color:var(--muted-foreground);text-align:center}.public-contents-state>span:not(.spinner){display:inline-flex;width:62px;height:62px;align-items:center;justify-content:center;border-radius:18px;color:var(--purple);background:var(--mint)}.public-contents-state h2,.public-contents-state p{margin:0}.public-contents-state p{max-width:460px;line-height:1.55}.public-contents-error>span:not(.spinner){color:#9d4034;background:var(--coral-soft)}.public-contents-cta{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);align-items:center;gap:2rem;overflow:hidden;margin-top:2.5rem;border:1px solid rgba(255,255,255,.1);border-radius:30px;padding:clamp(2rem,4.5vw,3.5rem);color:#fff;background:radial-gradient(ellipse at 100% 10%,rgba(118,228,193,.12),transparent 55%),#35205f;box-shadow:0 20px 45px #35205f29}.public-contents-cta:after{position:absolute;z-index:-1;right:-160px;bottom:-250px;width:580px;height:580px;border:1px solid rgba(255,255,255,.08);border-radius:50%;content:"";pointer-events:none}.public-contents-cta-copy{position:relative;z-index:1}.public-contents-cta-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.25rem;color:var(--mint);font-size:.65rem;font-weight:780;letter-spacing:.14em}.public-contents-cta h2{margin-bottom:1.1rem;color:#fff;font-size:clamp(2rem,3.8vw,3rem);line-height:1.13;letter-spacing:-.045em;text-wrap:balance}.public-contents-cta h2>span{display:block;color:var(--mint)}.public-contents-cta-copy>p{max-width:460px;margin-bottom:0;color:#ded4ed;font-size:.92rem;line-height:1.75}.public-contents-cta-features{display:flex;flex-wrap:wrap;gap:.65rem 1.35rem;margin:1.3rem 0 1.8rem;padding:0;list-style:none}.public-contents-cta-features li{display:inline-flex;align-items:center;gap:.45rem;color:#f4eefc;font-size:.76rem;font-weight:600}.public-contents-cta-features svg{color:var(--mint)}.public-contents-cta .public-contents-cta-button{width:auto;min-height:56px;gap:1.4rem;border-color:var(--mint);border-radius:15px;padding:.55rem .65rem .55rem 1.25rem;color:var(--purple-dark);background:var(--mint);box-shadow:0 7px 22px #0000001f;font-size:.88rem;text-decoration:none}.public-contents-cta-button>span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:#ffffff73}.public-contents-cta .public-contents-cta-button:hover{background:#a6f1da;border-color:#a6f1da;box-shadow:0 12px 28px #0000002e}.public-contents-cta-button:focus-visible{outline-color:#fff}.public-contents-cta-note{display:block;margin-top:.7rem;color:#cbbce0;font-size:.7rem}.public-contents-cta-visual{position:relative;display:grid;height:365px;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;pointer-events:none}.public-contents-cta-orbit{position:absolute;width:340px;height:340px;border:1px dashed rgba(209,191,238,.3);border-radius:50%;background:radial-gradient(circle,rgba(177,143,226,.18),transparent 70%)}.public-contents-cta-stack{position:relative;width:248px;height:302px;transform:rotate(-5deg)}.public-contents-cta-sheet{position:absolute;inset:0;border-radius:22px}.public-contents-cta-sheet.sheet-coral{background:var(--coral);transform:rotate(17deg) translate(12px,1px)}.public-contents-cta-sheet.sheet-mint{background:var(--mint);transform:rotate(8deg) translate(7px,3px)}.public-contents-cta-workbook{position:relative;display:flex;height:100%;flex-direction:column;border:1px solid rgba(255,255,255,.6);border-radius:22px;padding:1.25rem;color:var(--purple);background:var(--cream);box-shadow:0 18px 35px #10082240}.public-contents-cta-workbook-label{display:flex;align-items:center;justify-content:space-between;color:#786393;font-size:.56rem;font-weight:820;letter-spacing:.12em}.public-contents-cta-workbook>strong{margin:.85rem 0 1rem;font-size:1.4rem;line-height:1.2;letter-spacing:-.04em}.public-contents-cta-tiles{display:grid;flex:1;grid-template-columns:repeat(2,1fr);gap:.55rem}.public-contents-cta-tiles>span{display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:1.9rem;font-weight:780;letter-spacing:-.05em}.public-contents-cta-tiles>span:nth-child(1){color:#275b4b;background:#c2f2df}.public-contents-cta-tiles>span:nth-child(2){color:#6a4b9a;background:#e9ddf8}.public-contents-cta-tiles>span:nth-child(3){color:#a0533c;background:#ffdfcc}.public-contents-cta-tiles>span:nth-child(4){color:#896321;background:#ffedb2}.public-contents-cta-workbook-footer{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.8rem;color:#786393;font-size:.56rem;font-weight:650}.public-contents-cta-star{position:absolute;top:7px;right:3px;color:#ffdf87;transform:rotate(12deg)}.public-contents-cta-sparkle{position:absolute;bottom:6px;left:1px;color:var(--mint)}.registration-bar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--white)}.registration-bar-copy{display:flex;min-width:0;flex-direction:column;gap:.15rem;line-height:1.4}.registration-bar-copy strong{color:var(--purple);font-size:.8rem;font-weight:650}.registration-bar-copy span{color:#6f687c;font-size:.68rem}.registration-bar-link{display:inline-flex;flex:0 0 auto;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;padding:.4rem .75rem;color:var(--purple);background:var(--lav);font-size:.76rem;font-weight:650;text-decoration:none}.registration-bar-link:hover{border-color:var(--purple-2)}.registration-bar-link:focus-visible{outline:3px solid var(--purple-2);outline-offset:2px}.public-registration-sticky{position:fixed;z-index:25;right:0;bottom:0;left:0}.public-registration-sticky>.registration-bar{border-width:1px 0 0;border-radius:0;padding-right:max(.75rem,calc((100vw - 1180px)/2));padding-left:max(.75rem,calc((100vw - 1180px)/2));padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.app-main:has(.public-registration-sticky>.registration-bar){padding-bottom:calc(62px + env(safe-area-inset-bottom))}.public-content-view-layout{display:flex;height:100vh;height:100dvh;min-height:0;flex-direction:column;overflow:hidden}.public-content-view-layout>main{flex:1 1 0;height:auto;min-height:0;overflow:auto}.public-content-view-layout>.registration-bar{border-width:1px 0 0;border-radius:0;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}@media(max-width:620px){.public-content-view-layout>main>header{height:50px;min-height:50px}.registration-bar{gap:.5rem;padding-right:.5rem;padding-left:.5rem}.public-registration-sticky>.registration-bar,.public-content-view-layout>.registration-bar{padding-top:2px;padding-bottom:max(2px,env(safe-area-inset-bottom))}.app-main:has(.public-registration-sticky>.registration-bar){padding-bottom:calc(50px + env(safe-area-inset-bottom))}.registration-bar-copy strong{font-size:.74rem}.registration-bar-copy span{font-size:.64rem}.registration-bar-link{padding-right:.6rem;padding-left:.6rem}}.page-container{width:min(100% - 2.5rem,1180px);margin:0 auto;padding:3.8rem 0 5rem}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.page-heading h1{margin-bottom:.45rem;font-size:clamp(2.35rem,5vw,3.6rem);line-height:1;letter-spacing:-.058em}.page-heading p{margin-bottom:0;color:var(--muted);line-height:1.55}.search-box{display:flex;width:min(100%,330px);min-height:48px;align-items:center;gap:.65rem;border:1px solid var(--line);border-radius:13px;padding:0 .9rem;color:#918799;background:#fff;box-shadow:0 6px 20px #39206c0a}.search-box:focus-within{border-color:var(--purple-2);outline:2px solid var(--purple-2);outline-offset:2px;box-shadow:0 0 0 4px #5b36a317}.search-box input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.assignment-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;color:inherit;background:#fff;box-shadow:0 8px 28px #39206c0e;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.assignment-card:not(.skeleton-card):hover{transform:translateY(-5px);box-shadow:0 18px 35px #45227d1a}.assignment-card:focus-visible{outline:3px solid var(--purple-2);outline-offset:3px}.assignment-cover{position:relative;display:flex;height:180px;align-items:center;justify-content:center;overflow:hidden}.assignment-cover:before,.assignment-cover:after{position:absolute;width:132px;height:132px;border:16px solid rgba(255,255,255,.32);border-radius:50%;content:""}.assignment-cover:before{top:-52px;left:-35px}.assignment-cover:after{right:-55px;bottom:-72px}.cover-0{background:linear-gradient(145deg,#ff9b8e,var(--coral))}.cover-1{background:linear-gradient(145deg,#aaf0db,var(--mint))}.cover-2{background:linear-gradient(145deg,#ffe9a3,#ffd36b)}.cover-3{background:linear-gradient(145deg,#d9caff,#a992df)}.cover-symbol{z-index:1;color:var(--purple);font-size:2.65rem;font-weight:850;letter-spacing:-.05em;text-shadow:0 4px 12px rgba(255,255,255,.22)}.status-pill{position:absolute;top:.8rem;right:.8rem;z-index:2;border:1px solid rgba(57,32,108,.06);border-radius:999px;padding:.38rem .62rem;color:var(--purple);background:#ffffffe6;font-size:.63rem;font-weight:780;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.assignment-body{padding:1.25rem}.assignment-category{color:var(--purple-2);font-size:.62rem;font-weight:820;letter-spacing:.12em}.assignment-body h2{display:-webkit-box;overflow:hidden;margin:.5rem 0;font-size:1.1rem;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-body>p{display:-webkit-box;overflow:hidden;margin-bottom:1rem;color:var(--muted);font-size:.78rem;line-height:1.58;-webkit-box-orient:vertical;-webkit-line-clamp:2}.assignment-meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--muted);font-size:.67rem}.assignment-meta span{display:flex;align-items:center;gap:.3rem}.progress-line{display:flex;align-items:center;gap:.65rem;margin-top:.9rem}.progress-line>span{height:6px;flex:1;overflow:hidden;border-radius:999px;background:#eee9f4}.progress-line i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--purple-2))}.completed-note{display:flex;align-items:center;gap:.35rem;margin-top:.8rem;color:#27755e;font-size:.7rem;font-weight:750}.skeleton-card{min-height:400px;border:0;background:linear-gradient(90deg,#eee9f4 25%,#fbf9ff,#eee9f4 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{to{background-position:-200% 0}}.empty-state{display:flex;min-height:370px;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #cfc3dd;border-radius:22px;text-align:center;background:#ffffffa6}.empty-state>span{display:inline-flex;width:65px;height:65px;align-items:center;justify-content:center;border-radius:19px;color:var(--purple);background:var(--mint)}.empty-state h2{margin:1.1rem 0 .35rem}.empty-state p{color:var(--muted)}.assignment-info{position:relative;display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;border:1px solid #d9eee7;border-radius:18px;padding:1.15rem 4.25rem 1.15rem 1.25rem;background:linear-gradient(110deg,#e9faf4eb,#ffffffeb);box-shadow:0 8px 24px #39206c0a}.assignment-info-close{position:absolute;top:.75rem;right:.75rem}.assignment-info-icon{display:inline-flex;width:46px;height:46px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:14px;color:#216b56;background:var(--mint)}.assignment-info-label{display:block;margin-bottom:.35rem;color:#216b56;font-size:.64rem;font-weight:820;letter-spacing:.12em}.assignment-info p{max-width:960px;margin:0;color:#547168;font-size:.82rem;line-height:1.65}.assignment-info strong{color:#265d4e}.assignment-awaiting-state{position:relative;isolation:isolate;display:grid;min-height:430px;overflow:hidden;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(2rem,6vw,5rem);border:1px solid #dfd4ef;border-radius:26px;padding:clamp(2rem,5vw,4rem);background:radial-gradient(circle at 8% 12%,rgba(118,228,193,.28),transparent 18rem),radial-gradient(circle at 96% 100%,rgba(237,229,255,.8),transparent 22rem),#fff;box-shadow:var(--shadow-soft)}.assignment-awaiting-state:before,.assignment-awaiting-state:after{position:absolute;z-index:-1;border-radius:50%;content:""}.assignment-awaiting-state:before{top:-68px;left:-54px;width:180px;height:180px;border:26px solid rgba(255,255,255,.54)}.assignment-awaiting-state:after{right:5%;bottom:-64px;width:145px;height:145px;border:22px solid rgba(255,255,255,.54)}.assignment-awaiting-visual{position:relative;display:flex;width:min(100%,245px);aspect-ratio:1;align-items:center;justify-content:center;justify-self:center;border:1px solid rgba(57,32,108,.08);border-radius:34% 46% 35% 42%;color:var(--purple);background:linear-gradient(145deg,#aaf0db,var(--mint));box-shadow:0 24px 50px #39206c21;transform:rotate(-3deg)}.assignment-awaiting-visual:before{position:absolute;inset:17%;border:2px dashed rgba(57,32,108,.18);border-radius:50%;content:""}.assignment-awaiting-visual>svg{position:relative;z-index:1;transform:rotate(3deg)}.assignment-awaiting-visual>span{position:absolute;top:9%;right:9%;display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border:5px solid #fff;border-radius:15px;color:var(--purple);background:#ffd66d;box-shadow:0 9px 22px #39206c21;transform:rotate(8deg)}.assignment-awaiting-copy{max-width:650px}.assignment-awaiting-label{display:block;margin-bottom:.7rem;color:var(--purple-2);font-size:.66rem;font-weight:820;letter-spacing:.13em}.assignment-awaiting-copy>h2{max-width:580px;margin-bottom:.8rem;font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.08;letter-spacing:-.045em}.assignment-awaiting-copy>p{max-width:620px;margin-bottom:1.35rem;color:var(--muted);font-size:.93rem;line-height:1.7}.assignment-awaiting-note{display:flex;align-items:flex-start;gap:.8rem;border:1px solid #d9eee7;border-radius:16px;padding:1rem;background:#f1fbf7d1}.assignment-awaiting-note>span{display:inline-flex;width:42px;height:42px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:13px;color:#216b56;background:var(--mint)}.assignment-awaiting-note strong{display:block;margin-bottom:.25rem;color:#265d4e;font-size:.8rem}.assignment-awaiting-note p{margin:0;color:#547168;font-size:.75rem;line-height:1.55}.assignment-awaiting-actions{display:flex;align-items:center;gap:1rem;margin-top:1.35rem}.assignment-awaiting-actions .primary-button{width:auto;min-height:48px;flex:0 0 auto;text-decoration:none}.assignment-awaiting-actions small{max-width:240px;color:var(--muted);font-size:.7rem;line-height:1.45}.assignment-detail-page{padding-top:2.5rem}.detail-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1.3rem;color:var(--purple);font-size:.76rem;font-weight:760;text-decoration:none}.detail-back:hover{color:var(--purple-2)}.detail-loading{display:flex;min-height:65vh;align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:var(--muted)}.detail-hero{display:flex;justify-content:space-between;gap:2rem;align-items:center;overflow:hidden;border:1px solid #dfd4ef;border-radius:25px;padding:2.3rem;background:radial-gradient(circle at 88% 15%,rgba(255,211,107,.7),transparent 13rem),linear-gradient(135deg,#f1ebff,#fff 64%);box-shadow:var(--shadow-soft)}.detail-hero-copy h1{max-width:760px;margin:.55rem 0 .8rem;font-size:clamp(2rem,5vw,3.4rem);line-height:1.02;letter-spacing:-.05em}.detail-hero-copy>p{max-width:720px;margin-bottom:1.35rem;color:var(--muted);line-height:1.65}.detail-meta{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;color:#655c6d;font-size:.72rem}.detail-meta span{display:inline-flex;align-items:center;gap:.38rem}.detail-progress-card{display:flex;aspect-ratio:1;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(80,42,149,.12);border-radius:50%;padding:1.4rem;text-align:center;color:var(--purple);background:#ffffffc7;box-shadow:0 14px 36px #4a28801a}.detail-progress-card strong{font-size:2.15rem;line-height:1}.detail-progress-card>span{margin-top:.35rem;color:var(--muted);font-size:.68rem;font-weight:700}.detail-progress-track{width:75%;height:6px;overflow:hidden;border-radius:999px;margin-top:.8rem;background:#e8e0f2}.detail-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--purple-2))}.detail-section-heading{display:flex;align-items:end;justify-content:space-between;margin:2.6rem 0 1.2rem}.detail-section-heading h2{margin:.3rem 0 0;font-size:1.65rem}.detail-section-heading>span{color:var(--muted);font-size:.75rem}.detail-sections{display:grid;gap:1rem}.detail-section-card{border:1px solid var(--line);border-radius:20px;padding:1.25rem;background:#fff;box-shadow:0 7px 25px #39206c0b}.detail-section-card.locked{background:#faf8fc}.detail-section-content{min-width:0}.detail-section-title{display:flex;align-items:start;justify-content:space-between;gap:1rem}.detail-section-title h3{margin:0;font-size:1.08rem}.detail-section-title>strong{border-radius:999px;padding:.35rem .65rem;color:var(--purple);background:var(--lav);font-size:.65rem;white-space:nowrap}.detail-section-content>p{margin:.55rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.55}.detail-activities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-top:1rem}.detail-activity-card{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:15px;padding:0;color:inherit;text-align:left;background:#fff;box-shadow:0 6px 18px #39206c0d;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.detail-activity-card:hover:not(:disabled){border-color:#cfc0e8;box-shadow:0 14px 27px #45227d1a}.detail-activity-card:focus-visible{outline:3px solid var(--purple-2);outline-offset:3px}.detail-activity-card.locked{cursor:not-allowed;opacity:.68}.detail-activity-cover{position:relative;display:flex;width:100%;aspect-ratio:16 / 9;align-items:center;justify-content:center;overflow:hidden;background:var(--lav)}.detail-activity-cover>img{transition:transform .3s ease}.detail-activity-card:hover:not(:disabled) .detail-activity-cover>img{transform:scale(1.04)}.detail-activity-card.locked .detail-activity-cover>img{filter:grayscale(.3)}.detail-activity-body{display:flex;min-width:0;flex:1;flex-direction:column;padding:.85rem}.detail-activity-body>h2{display:-webkit-box;overflow:hidden;font-size:1rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.detail-activity-body>small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.66rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.detail-activity-action{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid #eee9f4;margin-top:.75rem;padding-top:.65rem;color:var(--purple);font-size:.67rem;font-weight:780}.detail-activity-action>span{font-size:.9rem;transition:transform .18s ease}.detail-activity-card:hover:not(:disabled) .detail-activity-action>span{transform:translate(3px)}.detail-activity-card.locked .detail-activity-action>span{display:none}.detail-empty-activities{grid-column:1 / -1;margin:.25rem 0;color:var(--muted);font-size:.72rem}.content-detail-screen{position:fixed;inset:0;z-index:100;display:flex;min-width:320px;background:#fff}.content-frame-wrap{position:relative;width:100%;height:100%;overflow:hidden}.content-frame{display:block;width:100%;height:100%;border:0;background:#fff}.content-close{position:fixed;top:12px;right:12px;z-index:120;display:inline-flex;width:43px;height:43px;align-items:center;justify-content:center;border:1px solid rgba(57,32,108,.15);border-radius:50%;color:var(--purple);background:#fffffff0;box-shadow:0 7px 24px #21193626;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.content-close:hover:not(:disabled){color:#fff;background:var(--purple)}.content-close:disabled{cursor:wait;opacity:.65}.content-closing-overlay{position:absolute;inset:0;z-index:3;background:#ffffff40}.content-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:var(--muted);background:#fbf9ff}.content-overlay>p{margin:0}.content-error{padding:1.5rem;text-align:center}.content-error>span{display:inline-flex;width:60px;height:60px;align-items:center;justify-content:center;border-radius:18px;color:#9d4034;background:var(--coral-soft);font-size:1.5rem;font-weight:850}.content-error h1{margin:.4rem 0 -.4rem;font-size:1.8rem}.content-error>p{max-width:480px;line-height:1.55}.content-error>div{display:flex;align-items:center;gap:.7rem}.content-save-error{position:fixed;z-index:121;top:17px;left:17px;border-radius:999px;padding:.6rem .85rem;font-size:.7rem;font-weight:750;box-shadow:0 7px 24px #2119361f}.content-save-error{top:70px;max-width:min(480px,calc(100% - 34px));border:1px solid #ffd0c9;border-radius:12px;color:#9d4034;background:var(--coral-soft)}.content-save-error-actions{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.6rem}.content-save-error-actions button{padding:.2rem 0;font-size:inherit}.content-complete-backdrop{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#21193694;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.content-complete-card{width:min(100%,420px);border-radius:25px;padding:2rem;text-align:center;background:#fff;box-shadow:0 28px 75px #190d304d}.content-complete-card>span{display:inline-flex;width:65px;height:65px;align-items:center;justify-content:center;border-radius:19px;color:#174c3e;background:var(--mint)}.content-complete-card h2{margin:1rem 0 .45rem;font-size:1.55rem}.content-complete-card p{margin-bottom:1.5rem;color:var(--muted);line-height:1.55}.seat-balance{display:flex;min-width:190px;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:16px;padding:.8rem 1rem;background:#fff;box-shadow:var(--shadow-soft)}.seat-balance>span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;color:var(--purple);background:var(--mint)}.seat-balance>div{display:flex;flex-direction:column}.seat-balance strong{font-size:1.2rem;line-height:1}.seat-balance small{margin-top:.25rem;color:var(--muted);font-size:.68rem}.seat-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.3rem;align-items:start}.seat-list-card,.reserve-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}.seat-list-card{min-height:390px;padding:1.4rem}.section-title{display:flex;justify-content:space-between;margin-bottom:1rem}.section-title h2,.reserve-card h2{margin-bottom:.25rem;font-size:1.15rem}.section-title p,.reserve-card>p{margin-bottom:0;color:var(--muted);font-size:.76rem;line-height:1.5}.seat-rows{display:grid}.seat-row{display:grid;grid-template-columns:39px minmax(0,1fr) auto auto auto;gap:.75rem;align-items:center;border-top:1px solid #f0ebf5;padding:.9rem 0}.seat-avatar{display:inline-flex;width:39px;height:39px;align-items:center;justify-content:center;border-radius:11px;color:var(--purple);background:var(--lav)}.seat-row>div{display:flex;min-width:0;flex-direction:column;gap:.18rem}.seat-row>div strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis}.seat-row>div small{color:var(--muted);font-size:.66rem}.seat-state{border-radius:999px;padding:.3rem .55rem;font-size:.63rem;font-weight:750}.state-2{color:#256a54;background:#dff7ef}.state-1,.state-4{color:#8a621c;background:var(--yellow-soft)}.table-button,.danger-icon{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:.18s ease}.table-button{gap:.35rem;padding:0 .65rem;color:var(--purple);font-size:.68rem;font-weight:700}.table-button:hover{border-color:#cfc0e8;background:var(--lav)}.danger-icon{width:34px;color:#a84d40}.danger-icon:hover{border-color:#ffd0c9;background:var(--coral-soft)}.seat-empty{display:flex;min-height:275px;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);text-align:center}.seat-empty>svg{color:var(--purple-2)}.seat-empty h3{margin:.8rem 0 .25rem;font-size:1rem}.seat-empty p{font-size:.75rem}.reserve-card{padding:1.4rem}.reserve-icon{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:14px;color:var(--purple);background:var(--mint)}.reserve-card>p{margin-bottom:1.2rem}.capacity-note{display:block;margin-top:.7rem;color:#a84d40;text-align:center}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#21193685;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.invite-modal{width:min(100%,430px);border:1px solid var(--line);border-radius:24px;padding:2rem;text-align:center;background:#fff;box-shadow:0 25px 80px #170b294d}.invite-icon{display:inline-flex;width:58px;height:58px;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:18px;color:var(--purple);background:var(--mint)}.invite-modal h2{margin-bottom:.4rem}.invite-modal>p{color:var(--muted);font-size:.78rem;line-height:1.5}.invite-code{display:flex;width:100%;align-items:center;justify-content:space-between;border:1px dashed #9e89c2;border-radius:14px;margin:1.3rem 0 1rem;padding:1rem;color:var(--purple);background:var(--lav);cursor:pointer}.invite-code strong{font-family:ui-monospace,monospace;font-size:1.1rem;letter-spacing:.08em}.invite-code span{display:flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:700}@media(max-width:900px){.auth-page{grid-template-columns:minmax(0,1fr);background:radial-gradient(circle at 85% 10%,var(--lav-strong),transparent 24rem),#fff}.auth-art{display:none}.checkout-main{grid-template-columns:1fr}.order-card{position:static;grid-row:1}.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-awaiting-state{grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);gap:2.5rem}.public-contents-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-contents-cta{grid-template-columns:minmax(0,1.2fr) minmax(230px,1fr);gap:1rem;padding:2rem}.public-contents-cta-stack{transform:rotate(-5deg) scale(.85)}.public-contents-cta-orbit{width:280px;height:280px}.detail-activities{grid-template-columns:repeat(3,minmax(0,1fr))}.seat-layout{grid-template-columns:1fr}.reserve-card{grid-row:1}.account-name{display:none}}@media(max-width:620px){.brand-logo{width:176px}.brand-compact .brand-logo{width:135px}.payment-success-page{padding-bottom:1rem}.payment-success-header{width:min(100% - 1.5rem,1120px);height:72px}.payment-success-card{width:min(100% - 1.5rem,760px);margin-top:.75rem;border-radius:22px;padding:1.75rem 1.15rem}.payment-success-icon{width:66px;height:66px;border-radius:20px}.payment-success-highlights{grid-template-columns:1fr}.payment-success-highlights>div{padding:.75rem}.payment-return-card{width:min(100% - 1.5rem,560px);min-height:300px;margin-top:1.5rem;border-radius:20px;padding:1.5rem}.checkout-header,.checkout-main{width:min(100% - 1.5rem,1050px)}.checkout-header{height:72px}.secure-note{font-size:.68rem}.checkout-main{margin-top:.6rem}.checkout-panel{min-height:560px;border-radius:19px;padding:1.25rem}.order-card{display:none}.form-stack>.mobile-price-picker{display:flex}.field-row{grid-template-columns:1fr}.membership-page,.join-page{padding:.9rem}.join-card{margin-top:1.5rem}.app-header-inner,.page-container{width:min(100% - 1.25rem,1180px)}.app-header-inner{min-height:70px;gap:.6rem}.app-header .brand-logo{width:108px}.app-nav{justify-content:center;gap:0}.app-nav a{padding:0 .45rem;font-size:.69rem}.app-nav a:after{right:.45rem;left:.45rem}.account-area{gap:.35rem}.avatar,.icon-button{width:34px;height:34px}.page-container{padding-top:2.5rem}.page-heading{align-items:stretch;flex-direction:column;gap:1rem;margin-bottom:1rem}.page-heading h1{font-size:2.45rem}.search-box{width:100%}.assignment-grid{grid-template-columns:1fr}.assignment-info{padding:1rem 3.75rem 1rem 1rem}.assignment-info-icon{width:42px;height:42px}.assignment-awaiting-state{grid-template-columns:1fr;gap:1.8rem;border-radius:21px;padding:1.5rem;text-align:center}.assignment-awaiting-visual{width:155px}.assignment-awaiting-copy{margin:0 auto}.assignment-awaiting-copy>h2,.assignment-awaiting-copy>p{margin-right:auto;margin-left:auto}.assignment-awaiting-note{text-align:left}.assignment-awaiting-actions{align-items:stretch;flex-direction:column}.assignment-awaiting-actions .primary-button{width:100%}.assignment-awaiting-actions small{max-width:none}.public-contents-group{padding:.85rem}.public-contents-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-contents-cta{grid-template-columns:minmax(0,1fr);gap:1rem;border-radius:24px;padding:1.5rem}.public-contents-cta-visual{height:210px;grid-row:1}.public-contents-cta-stack{transform:rotate(-5deg) scale(.64)}.public-contents-cta-orbit{width:210px;height:210px}.public-contents-cta-star{top:8px;right:8%}.public-contents-cta-sparkle{bottom:0;left:8%}.public-contents-cta-eyebrow{margin-bottom:1rem;font-size:.6rem}.public-contents-cta h2{font-size:clamp(1.8rem,7.5vw,2.65rem)}.public-contents-cta .public-contents-cta-button{width:100%;justify-content:space-between}.detail-hero{padding:1rem}.detail-progress-card{justify-self:center;padding:1rem}.detail-section-card{padding:1rem}.detail-activities{grid-template-columns:repeat(2,minmax(0,1fr))}.seat-row{grid-template-columns:39px minmax(0,1fr) auto}.seat-state{display:none}.table-button{grid-column:2;justify-self:start}.danger-icon{grid-column:3;grid-row:1 / span 2}.inline-alert{align-items:flex-start;flex-direction:column}}@media(max-width:420px){.app-header .brand-logo{width:86px}.app-nav a svg{width:19px;height:19px}.avatar{display:none}.assignment-meta{align-items:flex-start;flex-direction:column}.detail-section-card{grid-template-columns:1fr}.detail-section-title{flex-direction:column}.detail-activities{grid-template-columns:1fr}.invite-code{align-items:flex-start;flex-direction:column;gap:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.account-summary{display:flex;flex-direction:column;gap:.2rem;max-width:190px}.account-access{color:var(--purple);font-size:.7rem;line-height:1.35}.account-access small{display:block;color:var(--muted);font-size:inherit}.access-offer{margin:0 0 1.5rem;padding:1.2rem 1.4rem;border:1px solid var(--line);border-radius:18px;background:var(--white)}.access-offer-details{display:flex;align-items:center;gap:1.5rem}.access-offer-copy{flex:1;min-width:0}.access-offer h2{margin:0 0 .5rem;color:var(--purple);font-size:1.1rem;line-height:1.4}.access-offer p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.6}.access-offer .access-offer-term{margin-top:.55rem;color:var(--ink);font-size:.77rem}.access-offer-purchase{display:flex;flex:0 0 auto;flex-direction:column;gap:.55rem}.access-offer-prices{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.access-offer-prices del{color:var(--muted);font-size:.82rem}.access-offer-prices strong{color:var(--purple);font-size:1.4rem}.access-offer-discount{padding:.2rem .45rem;border-radius:6px;color:#216b56;background:var(--mint-soft);font-size:.73rem;font-weight:700}.access-offer-purchase .primary-button{min-height:44px;padding:.75rem 1rem;font-size:.8rem}.access-offer-purchase small{color:var(--muted);font-size:.72rem}@media(max-width:1000px){.app-header-inner{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) 44px;gap:0 .75rem;min-height:72px;padding:.5rem 0}.app-header .brand-logo{width:120px}.account-area{grid-column:2;grid-row:1;min-width:0;justify-content:flex-end}.account-area .avatar,.account-area .account-name,.account-area>.icon-button{display:none}.account-summary{min-width:0;text-align:right}.mobile-menu-toggle{display:inline-flex;grid-column:3;grid-row:1;width:44px;height:44px}.menu-onboarding{position:absolute;top:calc(100% + .5rem);right:0;z-index:1;display:block;width:min(290px,100%);padding:1rem;border:1px solid #d8c8ee;border-radius:16px;color:var(--purple);background:var(--lav);box-shadow:0 8px 28px #39206c29}.menu-onboarding:before{position:absolute;top:-7px;right:15px;width:12px;height:12px;border-top:1px solid #d8c8ee;border-left:1px solid #d8c8ee;background:var(--lav);transform:rotate(45deg);content:""}.menu-onboarding strong{display:block;padding-right:1.75rem;font-size:.9rem;line-height:1.4}.menu-onboarding p{margin:.45rem 0 0;color:var(--ink);font-size:.82rem;line-height:1.6}.menu-onboarding-close{position:absolute;top:.25rem;right:.25rem;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:10px;color:var(--purple);background:transparent;cursor:pointer}.menu-onboarding-close:hover{background:var(--lav-strong)}.menu-onboarding-close:focus-visible{outline:3px solid var(--purple-2);outline-offset:2px}.app-nav{position:absolute;top:100%;right:0;left:0;display:none;gap:.25rem;max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;padding:.5rem;border:1px solid var(--line);border-radius:0 0 14px 14px;background:var(--white);box-shadow:var(--shadow-soft)}.app-nav[data-open=true]{display:flex;flex-direction:column}.app-nav a,.app-nav .mobile-logout{display:flex;align-items:center;justify-content:flex-start;gap:.6rem;width:100%;min-height:44px;padding:.7rem .85rem;border-radius:10px;font-size:.85rem;text-align:left}.app-nav a.active{background:var(--lav)}.app-nav a:after{display:none}.app-nav .mobile-logout{border:0;color:var(--muted);background:transparent;font:inherit;font-size:.85rem;cursor:pointer}.app-nav a:focus-visible,.mobile-menu-toggle:focus-visible,.mobile-logout:focus-visible{outline:3px solid var(--purple-2);outline-offset:2px}}@media(max-width:700px){.access-offer{margin-bottom:1rem;padding:.5rem .75rem;border-radius:12px}.account-summary{max-width:170px}.app-header .brand-logo{width:108px}.app-header-inner{column-gap:.5rem}}.assignment-today{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;color:inherit;text-decoration:none;gap:2rem;padding:clamp(1.25rem,3vw,2rem);margin-bottom:1.5rem;border:2px solid #cbb5eb;border-radius:24px;background:linear-gradient(120deg,#f1ebff,#fff 75%)}.assignment-today h2{margin:.6rem 0;font-size:clamp(1.5rem,3vw,2.2rem);overflow-wrap:anywhere}.assignment-today p{color:var(--muted);line-height:1.6}.assignment-today-period{display:flex;gap:.5rem;align-items:center;color:var(--purple);font-size:.8rem}.assignment-library,.detail-section-card{scroll-margin-top:110px}.assignment-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem}.assignment-filters button{display:inline-flex;gap:.5rem;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.65rem 1rem;background:#fff;color:var(--purple);cursor:pointer;font:inherit;font-size:.8rem}.assignment-filters button[aria-pressed=true]{border-color:var(--purple);background:var(--purple);color:#fff}.assignment-filters button span{opacity:.75}.assignment-filters button:focus-visible,.assignment-today a:focus-visible{outline:3px solid var(--purple-2);outline-offset:3px}.assignment-filter-empty{padding:2rem;color:var(--muted);text-align:center}.assignment-card.is-current{border:2px solid #a781d3}.detail-section-card.is-today{border:2px solid #a781d3;background:#faf7ff;box-shadow:0 8px 28px #502a951a}.today-badge{display:inline-block;margin-left:.65rem;padding:.3rem .6rem;border-radius:999px;color:#fff;background:var(--purple);font-size:.7rem;vertical-align:middle}@media(max-width:680px){.assignment-today{grid-template-columns:minmax(0,1fr);gap:1.25rem}}.assignment-detail-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.3rem}.assignment-detail-nav .detail-back{margin:0}.current-plan-link{border:1px solid #cbb5eb;border-radius:999px;padding:.65rem 1rem;background:var(--lav)}.assignment-cover-image{width:100%;height:100%;object-fit:cover}.assignment-cover.has-image:before,.assignment-cover.has-image:after{display:none}.assignment-detail-cover{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:20px;margin-bottom:1rem}.assignment-today.has-cover{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);align-items:center}.assignment-today-cover{width:100%;max-height:220px;object-fit:cover;border-radius:16px}.assignment-today:focus-visible{outline:3px solid var(--purple-2);outline-offset:3px}@media(max-width:680px){.assignment-today.has-cover{grid-template-columns:minmax(0,1fr)}}.assignment-today-side{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.assignment-today-cta{display:inline-flex;width:auto;white-space:nowrap}summary.detail-section-title{cursor:pointer;list-style:none;align-items:center}summary.detail-section-title::-webkit-details-marker{display:none}summary.detail-section-title h3{flex:1}.section-chevron{flex-shrink:0;transition:transform .2s}.detail-section-card[open]>summary .section-chevron{transform:rotate(180deg)}summary.detail-section-title:focus-visible{outline:2px solid var(--purple);outline-offset:6px;border-radius:4px}summary.detail-section-title{flex-direction:row}.access-offer-dock{position:sticky;bottom:0;z-index:21;margin:0;padding:.85rem max(1.25rem,calc((100vw - 1180px)/2)) calc(.85rem + env(safe-area-inset-bottom));border-radius:0;border-width:1px 0 0;box-shadow:0 -5px 24px #39206c14}.access-offer-mobile-summary,.access-offer-mobile-button-label{display:none}.access-offer a:focus-visible{outline:3px solid var(--purple-2);outline-offset:4px}@media(max-width:760px){.access-offer-dock{padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom))}.access-offer-dock .access-offer-details{flex-direction:column;align-items:stretch;gap:.25rem}.access-offer-dock .access-offer-copy,.access-offer-dock .access-offer-discount,.access-offer-dock .access-offer-purchase small,.access-offer-dock .access-offer-button-label{display:none}.access-offer-dock .access-offer-mobile-summary{display:block;font-size:.7rem;line-height:1.4}.access-offer-dock .access-offer-mobile-button-label{display:inline}.access-offer-dock .access-offer-purchase{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.access-offer-dock .access-offer-prices{align-items:baseline;gap:.2rem .5rem}.access-offer-dock .access-offer-prices strong{order:-1;font-size:1.2rem;white-space:nowrap}.access-offer-dock .access-offer-prices del{font-size:.7rem;white-space:nowrap}.access-offer-dock .access-offer-purchase .primary-button{min-height:44px;padding:.6rem 1.25rem;border-radius:12px;font-size:.85rem;text-decoration:none}}.access-ended-page{padding-top:clamp(2rem,6vw,5rem);padding-bottom:3rem}.access-ended-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.access-ended-icon{display:inline-flex;padding:1rem;border-radius:20px;background:var(--lav);color:var(--purple)}.access-ended-intro h1{margin:1.25rem 0 1rem;font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;letter-spacing:-.04em}.access-ended-intro>p{color:var(--muted);line-height:1.7}.access-ended-features{display:grid;gap:1.25rem;padding:0;margin:2rem 0 0;list-style:none}.access-ended-features li{display:flex;align-items:center;gap:1rem}.access-ended-features svg{flex-shrink:0;color:var(--purple)}.access-ended-features div{display:grid;gap:.25rem}.access-ended-features strong{font-size:.95rem}.access-ended-features span{font-size:.85rem;color:var(--muted)}.access-offer-inline,.access-ended-unavailable{margin:0;padding:2rem;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 48px #39206c14}.access-offer-inline .access-offer-details{flex-direction:column;align-items:stretch;gap:1.75rem}.access-offer-inline h2{font-size:1.5rem}.access-offer-inline .access-offer-purchase{gap:1rem}.access-offer-inline .access-offer-prices strong{font-size:2.25rem}.access-offer-inline .primary-button{width:100%;text-align:center}.access-ended-refresh{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-top:1.25rem;font-size:.8rem;color:var(--muted)}.access-ended-refresh button{display:inline-flex;align-items:center;gap:.4rem}@media(max-width:760px){.access-ended-layout{grid-template-columns:1fr;gap:2rem}.access-ended-page{padding-top:1.5rem}.access-ended-intro h1{font-size:2rem}.access-ended-features{gap:1rem;margin-top:1.25rem}.access-offer-inline,.access-ended-unavailable{padding:1.5rem}}.access-offer-campaign{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem;color:var(--purple)}.access-offer-campaign>strong{display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:96px;flex-shrink:0;border-radius:24px;background:var(--purple);color:#fff;transform:rotate(-5deg);box-shadow:5px 7px #e4d5e9}.access-offer-campaign strong>span{font-size:2.65rem;font-weight:850;line-height:1.05;letter-spacing:-.06em}.access-offer-campaign strong>small{margin-top:.3rem;font-size:.7rem;letter-spacing:.14em}.access-offer-campaign>div{display:grid;gap:.5rem}.access-offer-campaign b{font-size:1rem}.access-offer-campaign div>span{width:fit-content;padding:.3rem .65rem;border:1px solid #edc9bc;border-radius:8px;background:#fff9f1;color:#854632;font-size:.78rem;font-weight:650}.access-ended-layout{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.access-ended-intro h1{margin-top:0;max-width:560px;font-size:clamp(2.2rem,3.6vw,3.3rem);text-wrap:balance}.access-ended-intro h1>span{color:var(--purple)}.access-ended-intro>p{max-width:470px}.access-ended-features{gap:.8rem}.access-ended-features li{gap:.9rem;padding:.65rem 0}.access-ended-features svg{box-sizing:content-box;padding:.8rem;border-radius:16px;background:var(--lav)}.access-ended-features li:nth-child(2) svg{background:#e6f8f1;color:#247962}.access-ended-features li:nth-child(3) svg{background:#fff1df;color:#986221}.access-offer-inline{position:relative;padding:2.25rem;border-color:#e6d9ed;border-top:4px solid #ff8e7f;border-radius:28px;background:linear-gradient(150deg,#fff3e4,#fff7f5 30%,#fff 65%);box-shadow:0 18px 55px -15px #39206c33}.access-offer-inline h2{font-size:1.55rem;line-height:1.3;max-width:350px;letter-spacing:-.025em}.access-offer-inline .access-offer-prices{flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;gap:.9rem}.access-offer-inline .access-offer-prices strong{font-size:2.75rem;letter-spacing:-.045em}.access-offer-inline .access-offer-prices del{font-size:1rem}.access-offer-inline .primary-button{min-height:54px;border-radius:14px;text-decoration:none;font-size:.95rem;box-shadow:0 5px #251342}.access-ended-refresh{gap:.15rem;font-size:.75rem}@media(max-width:760px){.access-ended-layout{grid-template-columns:1fr}.access-ended-intro h1{font-size:2.2rem}.access-offer-inline{padding:1.5rem}.access-offer-campaign{margin-bottom:1.5rem;gap:1rem}.access-offer-campaign>strong{width:82px;height:82px;border-radius:20px}.access-offer-campaign strong>span{font-size:2.25rem}}
