.student-offer-dialog,.student-offer-dialog *{box-sizing:border-box}
.student-offer-dialog{scrollbar-color:#645870 #17141e;scrollbar-width:thin}
body.student-offer-open{overflow:hidden}
dialog.student-offer-dialog{position:fixed;inset:0;margin:auto;width:min(1080px,calc(100vw - 40px));max-width:1080px;max-height:calc(100dvh - 40px);padding:34px;border:1px solid #ead59d4d;border-radius:28px;background:radial-gradient(ellipse at 50% 0,#40314666,transparent 62%),#17141e;color:#f7f3ec;overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 100px #0009;font-family:inherit;animation:student-offer-in .48s cubic-bezier(.22,1,.36,1) both}
.student-offer-dialog::backdrop{background:#06050bcc;backdrop-filter:blur(8px);animation:student-backdrop-in .35s ease both}
.student-offer-dialog.is-closing{animation:student-offer-out .22s ease both}.student-offer-dialog.is-closing::backdrop{animation:student-backdrop-out .22s ease both}
.student-offer-dialog .student-offer-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #fff2;border-radius:50%;color:#ead8ad;background:#ffffff08;font:28px/1 inherit;cursor:pointer;transition:background .25s,transform .25s}
.student-offer-dialog .student-offer-heading{position:static;background:none;backdrop-filter:none;border:0;text-align:center;padding:4px 26px 25px;color:inherit;z-index:auto}
.student-offer-eyebrow{margin:0 0 10px;font-size:11px;letter-spacing:2px;color:#ddbf83}
.student-offer-heading h2{margin:0 0 12px;font-size:clamp(25px,3vw,36px);line-height:1.35;letter-spacing:-.03em;color:#fff9eb}
.student-offer-dialog .student-offer-copy{margin:0;color:#bdb5c5;font-size:14px;line-height:1.8}
.student-offer-countdown-wrap{width:min(420px,100%);margin:17px auto 0}
.student-offer-countdown-label{margin:0 0 8px;color:#ebcd8b;font-size:12px;font-weight:600;letter-spacing:.2em}
.student-offer-countdown{display:flex;justify-content:center;align-items:baseline;gap:12px;white-space:nowrap}
.student-offer-countdown-unit{display:inline-flex;align-items:baseline;gap:5px;min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.student-offer-countdown-unit strong{font-size:44px;font-weight:600;line-height:1.1;letter-spacing:-.025em;color:#fff6dc;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';text-shadow:0 0 4px #fff2c99c,0 0 14px #eec97b80,0 0 30px #ecc4714d,0 0 48px #e9b85126}
.student-offer-countdown-unit span{font-size:12px;color:#ebd6a6;text-shadow:0 0 10px #eec97b59}
.student-offer-dialog .student-offer-deadline{margin:9px 0 0;font-size:12px;line-height:1.6;color:#b7acbb}
.student-offer-launcher{font-variant-numeric:tabular-nums}
@media(max-width:650px){.student-offer-dialog .student-offer-copy{font-size:13px}.student-offer-countdown-wrap{margin-top:15px}.student-offer-countdown{gap:9px}.student-offer-countdown-unit{gap:3px}.student-offer-countdown-unit strong{font-size:32px}.student-offer-countdown-unit span{font-size:11px}.student-offer-dialog .student-offer-deadline{font-size:11px}}
@media(max-width:360px){.student-offer-countdown-unit strong{font-size:27px}.student-offer-countdown{gap:5px}}
.student-offer-heading>p:last-child{margin:0;color:#bdb5c5;font-size:14px;line-height:1.8}
.student-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.student-offer-card{min-width:0;border:1px solid #ffffff17;border-radius:19px;overflow:hidden;background:#201b26;animation:student-card-in .55s cubic-bezier(.22,1,.36,1) both;transition:transform .3s,border-color .3s,box-shadow .3s}
.student-offer-card:nth-child(2){animation-delay:.07s}.student-offer-card:nth-child(3){animation-delay:.14s}
.student-offer-art{position:relative;height:146px;overflow:hidden}.student-offer-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.student-offer-saving{position:absolute;bottom:12px;left:14px;border:1px solid #ead59d44;background:#17141edb;border-radius:30px;padding:3px 10px;color:#efd9a4;font-size:12px;backdrop-filter:blur(10px)}
.student-offer-body{padding:19px 20px 20px}.student-offer-duration{color:#b9a681;font-size:11px;letter-spacing:1px;margin:0 0 7px}.student-offer-body h3{font-size:19px;line-height:1.5;margin:0 0 8px;letter-spacing:0}.student-offer-tagline{color:#b7afbe;font-size:13px;line-height:1.7;margin:0;min-height:44px}
.student-offer-price{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid #ffffff12;padding-top:14px;margin-top:12px;gap:3px}.student-offer-price del,.student-price-original{color:#9f96a9;font-size:12px;display:block;font-weight:400}.student-offer-price>span{font-size:11px;color:#d6bd8c}.student-offer-price strong{font-size:31px;font-weight:600;line-height:1.4;letter-spacing:-.04em;color:#f0dba5}
.student-offer-buy{display:block;width:100%;border:1px solid #f2dcaa;border-radius:30px;padding:11px 8px;margin-top:17px;background:linear-gradient(110deg,#e5c98e,#f1dfb3);color:#211b12;font:inherit;font-size:13px;cursor:pointer;transition:transform .25s,box-shadow .25s}
.student-offer-buy:disabled{opacity:.55;cursor:default}
.student-offer-dialog .student-offer-footer{background:none;border:0;display:flex;flex-direction:column;align-items:center;padding:22px 0 0;text-align:center;font-size:12px;color:#a79ead}.student-offer-footer p{margin:0;line-height:1.8}.student-offer-later{border:0;background:transparent;color:#e0cba0;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:5px;padding:12px;cursor:pointer}
.student-offer-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px;padding:20px 24px;border:1px solid #ddbf833b;border-radius:18px;background:linear-gradient(120deg,#ddbf8312,#9473a514);animation:student-card-in .55s cubic-bezier(.22,1,.36,1) both}.student-offer-banner[hidden]{display:none}.student-offer-banner strong{display:block;color:#efdaad;font-size:16px}.student-offer-banner span{display:block;color:#afa6b8;font-size:13px;margin-top:4px}
.student-offer-outline{flex-shrink:0;border:1px solid #ddbf8370;border-radius:30px;background:transparent;color:#efdaad;padding:10px 18px;font:inherit;font-size:13px;cursor:pointer;transition:background .25s,transform .25s}
.student-offer-dialog :focus-visible,.student-offer-banner :focus-visible{outline:2px solid #f1dbac;outline-offset:4px}.student-offer-heading h2:focus{outline:none}
.student-price-current{font-size:inherit;color:#efd9a4}.course-bottom .price .student-price-original{margin-bottom:6px}.course-bottom .price small{margin-bottom:3px}
@media(min-width:651px) and (max-height:800px){dialog.student-offer-dialog{padding:23px}.student-offer-dialog .student-offer-heading{padding:0 26px 16px}.student-offer-heading h2{font-size:30px;margin-bottom:8px}.student-offer-art{height:120px}.student-offer-tagline{min-height:22px}.student-offer-dialog .student-offer-footer{padding-top:14px}.student-offer-dialog .student-offer-later{min-height:0;line-height:1.5;padding:8px 12px;margin:0}.student-offer-footer p{line-height:1.7}}
@media(hover:hover){.student-offer-card:hover{transform:translateY(-4px);border-color:#ddbf8355;box-shadow:0 14px 30px #0003}.student-offer-card:hover img{transform:scale(1.035)}.student-offer-buy:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 22px #e5c98e27}.student-offer-outline:hover,.student-offer-close:hover{background:#ddbf8318}}
@media(max-width:650px){dialog.student-offer-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:48px 17px 18px;border-radius:22px}.student-offer-dialog .student-offer-heading{padding:0 0 22px}.student-offer-heading h2{font-size:25px}.student-offer-heading>p:last-child{font-size:13px}.student-offer-grid{grid-template-columns:1fr;gap:16px}.student-offer-art{height:155px}.student-offer-body{padding:18px}.student-offer-tagline{min-height:0}.student-offer-price{margin-top:14px}.student-offer-banner{flex-direction:column;align-items:flex-start;gap:14px;padding:18px}.student-offer-outline{width:100%}}
@keyframes student-offer-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}@keyframes student-offer-out{to{opacity:0;transform:translateY(10px) scale(.985)}}@keyframes student-card-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes student-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes student-backdrop-out{to{opacity:0}}
@media(prefers-reduced-motion:reduce){.student-offer-dialog,.student-offer-dialog::backdrop,.student-offer-dialog *,.student-offer-banner,.student-offer-banner *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.student-offer-launcher{position:fixed;left:20px;bottom:24px;z-index:18;max-width:calc(100vw - 40px);padding:12px 20px;border:1px solid #edcf8c;border-radius:999px;background:linear-gradient(120deg,#f6dfa7,#d5b56f);color:#2b2115;font-family:inherit;font-weight:600;font-size:14px;line-height:1.5;box-shadow:0 6px 25px #0006;cursor:pointer;transition:transform .2s,box-shadow .2s;animation:offer-launcher-in .35s ease-out}.student-offer-launcher[hidden]{display:none}.student-offer-launcher:hover{transform:translateY(-2px);box-shadow:0 8px 30px #c49a4433}.student-offer-launcher:focus-visible{outline:3px solid white;outline-offset:4px}body:has(dialog[open]) .student-offer-launcher{visibility:hidden}@keyframes offer-launcher-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:700px){.student-offer-launcher{left:14px;bottom:calc(94px + env(safe-area-inset-bottom));font-size:12px;padding:10px 14px;max-width:calc(100vw - 108px)}body.teacher-help-expanded .student-offer-launcher{visibility:hidden}}@media(prefers-reduced-motion:reduce){.student-offer-launcher{animation:none;transition:none}}

/* Gold fireworks use the owner's captured fireworks-js settings. */
.student-offer-dialog[open]:not(.is-closing){animation:student-offer-in .48s cubic-bezier(.22,1,.36,1) both,student-unlock-glow 3.2s ease-out both}
.student-offer-dialog .student-offer-heading,.student-offer-dialog .student-offer-footer{position:relative;isolation:isolate}
.student-offer-dialog .student-offer-grid{position:relative;z-index:1}
.student-offer-dialog .student-offer-close{z-index:3}
.student-offer-celebration{position:absolute;inset:-22px -14px -8px;z-index:-1;pointer-events:none;user-select:none;overflow:hidden;border-radius:20px;opacity:.8;transition:opacity 1s ease-out;mask-image:linear-gradient(90deg,#000,#0009 32%,#0006 50%,#0009 68%,#000)}
.student-offer-celebration canvas{display:block;width:100%;height:100%;pointer-events:none}
.student-offer-celebration.is-fading{opacity:0}
.student-offer-footer .student-offer-celebration{inset:auto -20px -18px;height:220px;mask-image:linear-gradient(90deg,#000,#000a 22%,#0004 50%,#000a 78%,#000)}
.student-offer-dialog[open] .student-offer-heading h2{animation:student-title-glow 2.7s ease-out both}
@keyframes student-unlock-glow{0%{border-color:#ead59d4d;box-shadow:0 30px 100px #0009}25%{border-color:#ffe2a6cc;box-shadow:0 0 30px #f0be5c44,0 0 85px #ca8c2526,inset 0 0 22px #ecc77510,0 30px 100px #0009}100%{border-color:#ead59d4d;box-shadow:0 30px 100px #0009}}
@keyframes student-title-glow{0%,100%{text-shadow:none}28%{text-shadow:0 0 18px #eec97b99,0 0 42px #ecc47144}}
@media(max-width:650px){.student-offer-celebration{inset:-26px -10px -6px;opacity:.66}.student-offer-footer .student-offer-celebration{inset:auto -5px -14px;height:190px}}
@media(prefers-reduced-motion:reduce){.student-offer-dialog[open]:not(.is-closing){animation:none!important}.student-offer-celebration{display:none!important}.student-offer-dialog[open] .student-offer-heading h2{animation:none!important;text-shadow:none}}
