@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#102b3b;--ice:#eef8f8;--yellow:#ffd259;--teal:#147f83;--muted:#5c737f}*{box-sizing:border-box}body{margin:0;background:#f6f8f6;color:var(--navy);font-family:'DM Sans',Arial,sans-serif}header{max-width:1200px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{color:var(--navy);font-weight:800;text-decoration:none;letter-spacing:1px;font-size:14px}.brand-icon{display:inline-grid;place-items:center;background:var(--yellow);width:34px;height:34px;border-radius:50%;margin-right:10px}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;border:0;border-radius:12px;padding:13px 20px;font-weight:700;background:var(--yellow);color:var(--navy)}button:hover:not(:disabled){filter:brightness(.96);transform:translateY(-1px)}button:disabled{cursor:not-allowed;background:#dde5e7;color:#687e89}button:focus-visible,a:focus-visible{outline:3px solid #ca611e;outline-offset:4px}header button{background:transparent;border:1px solid #cbd8dc;font-size:12px}main{max-width:1136px;padding:12px 24px 40px;margin:auto}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--teal);text-transform:uppercase}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;line-height:1.04}h1{font-size:clamp(40px,6vw,66px);margin:12px 0 16px;letter-spacing:-1px}h2{font-size:34px;margin:10px 0}h3{font-size:27px;margin:10px 0 14px}p{line-height:1.6}.intro{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:15px 0 26px}.intro p{max-width:550px;color:var(--muted);margin:0}.progressbox{min-width:205px;background:white;border:1px solid #dce6e7;border-radius:16px;padding:18px}.progressbox b{display:block;font-size:14px}.meter{height:7px;background:#e4ecee;border-radius:10px;margin:12px 0 8px;overflow:hidden}.meter span{display:block;height:100%;background:var(--teal)}small{color:var(--muted)}.rink{position:relative;overflow:hidden;background:repeating-linear-gradient(115deg,#f1fbfb 0,#f1fbfb 30px,#edf7f7 31px,#edf7f7 32px);border:9px solid white;outline:1px solid #cfdddf;border-radius:120px;padding:65px 60px;box-shadow:0 20px 40px #153b4c0c}.rink-lines{position:absolute;inset:0;pointer-events:none}.centerline{position:absolute;left:50%;top:0;bottom:0;border-left:3px dashed #e48382;opacity:.7}.blue{position:absolute;top:0;bottom:0;width:4px;background:#9cbdd6;opacity:.5}.blue.one{left:28%}.blue.two{right:28%}.circle{position:absolute;width:170px;height:170px;border:2px solid #dca3a4;border-radius:50%;top:calc(50% - 85px);left:calc(50% - 85px)}.stations{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative}.station{text-align:left;min-height:166px;padding:19px;background:#fff;border:1px solid #d6e4e4;border-radius:18px;box-shadow:0 6px 0 #d1e1e3;position:relative}.station.available{background:var(--navy);color:white;border-color:var(--navy);box-shadow:0 6px 0 #0b1e29}.station.available small{color:#adc8cd}.station .number{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8f2f3;font-size:14px}.station.available .number{background:var(--yellow);color:var(--navy)}.station strong{font-family:'Barlow Condensed',Arial,sans-serif;font-size:27px;display:block;margin:14px 0 10px}.station small{display:block;font-size:11px}.station .arrow{position:absolute;right:18px;top:23px;font-size:20px}.hint{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px;margin:23px 8px}.back{display:inline-block;color:var(--teal);text-decoration:none;font-weight:700;font-size:13px;margin:10px 0 22px}.hero{background:var(--navy);color:white;border-radius:24px;padding:30px 36px;position:relative}.hero p{color:#c5d9de;max-width:650px}.hero .eyebrow{color:var(--yellow)}.tag{display:inline-block;background:#e9f3f3;color:var(--teal);border-radius:30px;padding:7px 12px;font-size:11px;font-weight:800}.missions{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.mission{background:white;border:1px solid #d8e4e5;border-radius:20px;padding:24px;text-align:left}.mission p{font-size:13px;color:var(--muted);min-height:60px}.mission button{width:100%}.mission-num{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:800;font-size:46px;color:#a6c8cb}.note{background:#edf3f2;border-radius:15px;padding:18px 22px;font-size:13px;color:var(--muted)}.card-layout{display:grid;grid-template-columns:1fr 290px;gap:24px;margin:25px 0}.panel{background:white;border:1px solid #dbe5e6;border-radius:20px;padding:25px}.step{border-bottom:1px solid #e7eeee;padding:0 0 22px;margin-bottom:22px}.step:last-child{border:0;margin-bottom:0}.step h3{font-size:25px}.step-label{font-size:11px;letter-spacing:1.5px;font-weight:800;color:var(--teal)}.video{display:flex;gap:15px;align-items:center;text-decoration:none;color:var(--navy);background:#eff6f6;border-radius:13px;padding:16px;margin:12px 0}.play{display:grid;place-items:center;border-radius:50%;width:40px;height:40px;background:var(--navy);color:var(--yellow);flex-shrink:0}.video small{display:block;margin-top:5px}.pending{font-size:12px;color:var(--muted);border:1px dashed #ccdada;padding:12px;border-radius:10px;margin:10px 0}li{line-height:1.65;margin-bottom:10px}.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px;line-height:1.5}.check input{width:20px;height:20px;accent-color:var(--teal);flex-shrink:0}.secondary{background:white;border:1px solid #ccdadd}.side-title{font-size:12px;font-weight:800;letter-spacing:1px}.posture-art{width:100%;height:160px}.full{width:100%}.badge{font-size:60px;text-align:center}.badge-label{text-align:center;font-weight:800}footer{max-width:1136px;margin:auto;padding:12px 24px 30px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:20px}dialog{border:0;border-radius:22px;max-width:510px;width:calc(100% - 32px);padding:30px;color:var(--navy);box-shadow:0 15px 100px #0004}dialog::backdrop{background:#102b3baa}.danger{background:#f8e4dd;margin:15px 0}.empty{margin:25px 0}.success{background:#d8eeea;color:#155b52;padding:15px;border-radius:12px;margin:20px 0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-top:30px}@media(max-width:760px){header{padding:18px}.brand{font-size:11px}.intro{display:block}.progressbox{margin-top:20px;max-width:350px}.rink{padding:35px 20px;border-radius:55px}.stations{grid-template-columns:repeat(2,1fr);gap:16px}.station{min-height:155px;padding:15px}.station strong{font-size:23px}.station .arrow{right:14px}.missions,.card-layout{grid-template-columns:1fr}.mission p{min-height:0}.hero{padding:25px}.hint,footer{flex-direction:column}.card-layout aside{order:-1}.posture-art{height:100px}.intro h1{font-size:46px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Give the program name a stronger identity in the header. */
header{padding-top:26px;padding-bottom:26px;border-bottom:1px solid #dce6e7;margin-bottom:8px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand-icon{width:48px;height:48px;flex-shrink:0;margin-right:0;font-size:26px;box-shadow:0 3px 0 #e7b739}
.brand-title{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:32px;font-weight:800;line-height:1.05;letter-spacing:.7px;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:4px;text-underline-offset:7px}
header #parent{flex-shrink:0}
@media(max-width:760px){header{padding:20px 18px;gap:12px}.brand{gap:10px}.brand-title{font-size:25px;max-width:220px;line-height:1.12;text-underline-offset:5px;text-decoration-thickness:3px}.brand-icon{width:40px;height:40px;font-size:23px}header #parent{font-size:11px;padding:10px 12px}}
@media(max-width:420px){.brand-title{font-size:23px;max-width:140px}.brand-icon{width:36px;height:36px}header #parent{max-width:98px}}

.skater-panel{display:grid;grid-template-columns:250px 1fr;align-items:center;gap:32px;margin:0 0 32px;background:white;border:1px solid #d9e6e7;border-radius:24px;padding:20px 32px 25px;overflow:hidden}.avatar-stage{text-align:center;position:relative}.hockey-avatar{display:block;width:100%;max-height:275px;margin:auto}.avatar-label{font-size:10px;font-weight:800;letter-spacing:2px;background:var(--navy);color:white;border-radius:20px;padding:7px 13px;display:inline-block}.skater-info h2{font-size:35px;margin:10px 0 12px}.skater-info p{font-size:13px;color:var(--muted);max-width:590px}.ability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:19px 0}.ability{background:#edf6f6;border-radius:12px;padding:14px}.ability>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:700}.ability b{font-family:'Barlow Condensed',Arial,sans-serif;font-size:27px}.ability b small{font:800 9px 'DM Sans',Arial,sans-serif}.ability-meter{height:6px;border-radius:10px;background:#d3e4e5;margin-top:10px;overflow:hidden}.ability-meter span{display:block;background:var(--teal);height:100%;border-radius:10px;transition:width .3s}.earn-rule{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:10px;color:var(--muted)}.earn-rule b{color:var(--navy);display:block;margin-top:4px}.reward-chip{display:inline-block;border-radius:8px;background:#fff0c4;color:#614b11;font-size:10px;font-weight:800;padding:6px 8px}.check{flex-wrap:wrap}.check .reward-chip{margin-left:30px}.program-outline{border-top:1px solid #d9e6e7;margin-top:24px;padding-top:20px}.program-outline h3{font-size:29px}.outline-station{border:1px solid #dce6e7;border-radius:12px;margin:12px 0;overflow:hidden}.outline-station summary{cursor:pointer;min-height:48px;padding:16px;font-weight:800;font-size:14px;background:#edf6f6}.outline-station[open]{padding-bottom:12px}.outline-station h4{margin:20px 18px 8px;font-size:13px}.outline-station p{padding:0 18px;font-size:12px}.outline-station ul,.outline-station ol{margin:8px 18px;padding-left:22px;font-size:12px}.outline-station a{color:var(--teal)}dialog{max-height:85dvh;overflow-y:auto}.outline-question{font-style:italic;color:var(--muted)}
.skater-body{transform-origin:150px 215px;animation:skater-breathe 9.7s ease-in-out infinite}.skater-head{transform-origin:149px 101px;animation:skater-look 14.3s ease-in-out infinite}.skater-arm-left{transform-origin:119px 120px;animation:skater-left-arm 11.9s ease-in-out infinite}.skater-arm-right{transform-origin:171px 121px;animation:skater-right-arm 17.1s ease-in-out infinite}.skater-leg-left{transform-origin:129px 195px;animation:skater-leg 13.7s ease-in-out infinite}.skater-leg-right{transform-origin:170px 196px;animation:skater-leg-right 19.3s ease-in-out infinite}@keyframes skater-breathe{0%,100%{transform:translateY(0)}35%{transform:translateY(-2px)}70%{transform:translateY(1px)}}@keyframes skater-look{0%,20%,50%,100%{transform:rotate(0)}27%,36%{transform:rotate(-5deg)}68%,78%{transform:rotate(4deg)}}@keyframes skater-left-arm{0%,30%,70%,100%{transform:rotate(0)}42%,52%{transform:rotate(4deg)}}@keyframes skater-right-arm{0%,50%,100%{transform:rotate(0)}60%,75%{transform:rotate(-3deg)}}@keyframes skater-leg{0%,40%,80%,100%{transform:rotate(0)}52%,62%{transform:rotate(-2deg)}}@keyframes skater-leg-right{0%,25%,60%,100%{transform:rotate(0)}38%,45%{transform:rotate(2deg)}}
@media(max-width:760px){.skater-panel{grid-template-columns:1fr;gap:18px;padding:20px;margin-bottom:25px}.hockey-avatar{height:215px}.skater-info h2{font-size:30px}.ability{padding:10px}.ability>div:first-child{font-size:11px}.ability b{font-size:24px}.earn-rule{font-size:10px}}@media(prefers-reduced-motion:reduce){.hockey-avatar g{animation:none!important}.ability-meter span{transition:none}}

.ability-grid{grid-template-columns:repeat(4,1fr)}.gear-unlock{font-weight:700;color:var(--teal)!important;margin-bottom:0}.gear-preview{border:1px solid #dce6e7;border-radius:12px;margin-top:20px;padding:16px}.gear-preview summary{cursor:pointer;font-size:14px;font-weight:800}.gear-preview p{font-size:12px}.gear-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gear-gallery figure{margin:0;padding:12px;background:#edf6f6;border-radius:12px;text-align:center}.gear-gallery .hockey-avatar{height:155px}.gear-gallery .hockey-avatar g{animation:none}.gear-gallery figcaption b{font-size:12px;display:block}.gear-gallery figcaption small{display:block;font-size:10px;margin-top:5px}.success a{color:#155b52;font-weight:800;display:block;margin-top:8px}@media(max-width:760px){.ability-grid{grid-template-columns:repeat(2,1fr)}}

.mission-envelopes{gap:20px;margin-top:28px}.envelope-mission{min-width:0}.envelope-heading{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:800;letter-spacing:1px;margin:0 8px 15px;color:var(--teal)}.sealed .envelope-heading{color:#7b8e98}.envelope-button{display:block;width:100%;padding:0;background:transparent!important;text-align:center;border-radius:16px;position:relative}.envelope-button:hover:not(:disabled){filter:none;transform:none}.envelope-scene{display:block;height:230px;position:relative;perspective:900px;margin:0 7px}.envelope-back{position:absolute;inset:35px 0 0;background:#0b2634;border-radius:14px;box-shadow:0 9px 0 #d4e3e5,0 18px 22px #153b4c0d}.mission-slip{position:absolute;top:47px;left:8%;width:84%;height:165px;display:flex;flex-direction:column;align-items:center;padding:14px 15px;background:#fffdf4;border-radius:10px;box-shadow:0 2px 7px #0002;transition:transform .45s .27s ease;z-index:1}.slip-stamp{font-size:7px;letter-spacing:1.3px;font-weight:800;color:#7b8e98}.mission-slip strong{font-family:'Barlow Condensed',Arial,sans-serif;font-size:24px;line-height:1.05;color:var(--navy);margin:13px 0}.slip-lines{width:55%;height:14px;border-top:2px solid #e1e8e7;border-bottom:2px solid #e1e8e7}.envelope-pocket{position:absolute;inset:35px 0 0;background:linear-gradient(28deg,#193e51 0%,#244b5e 48%,#30596a 50%,#1b3e50 100%);clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);border-radius:0 0 14px 14px;z-index:3}.envelope-flap{position:absolute;left:0;right:0;top:35px;height:117px;background:#366375;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;transition:transform .35s ease,z-index 0s .17s;z-index:4;backface-visibility:visible}.envelope-seal{position:absolute;left:calc(50% - 24px);top:130px;width:48px;height:48px;display:grid;place-items:center;background:var(--yellow);color:var(--navy);border:4px double #b98c2e;border-radius:50%;font-size:24px;z-index:5;box-shadow:0 3px 7px #0002;transition:opacity .15s,transform .2s}.envelope-caption{display:block;margin-top:24px;min-height:82px;padding:0 6px}.envelope-caption strong{display:block;font-family:'Barlow Condensed',Arial,sans-serif;font-size:26px;line-height:1.1;color:var(--navy)}.envelope-caption>span{display:block;color:var(--teal);font-size:11px;margin-top:10px}.sealed .envelope-back{background:#bdcbd1}.sealed .envelope-pocket{background:linear-gradient(28deg,#c5d2d7,#dde5e8)}.sealed .envelope-flap{background:#afc1c9}.sealed .envelope-seal{background:#ecf0f1;border-color:#97abb5;color:#677f8b}.sealed .envelope-caption strong,.sealed .envelope-caption>span{color:#7b8e98}.sealed .mission-slip strong{font-size:60px}.checked-envelope .envelope-seal{background:#a4d8c8;border-color:#448b78}.envelope-button:hover:not(:disabled) .envelope-seal{transform:scale(1.08)}.envelope-button.is-opening .envelope-seal{opacity:0;transform:scale(.8)}.envelope-button.is-opening .envelope-flap{transform:rotateX(180deg);z-index:0}.envelope-button.is-opening .mission-slip{transform:translateY(-73px);z-index:2}.envelope-button.is-opening{pointer-events:none}.locked-mission{text-align:center;padding:45px 25px}.mystery-mark{font-size:70px;font-weight:800;color:var(--teal)}@media(max-width:760px){.mission-envelopes{grid-template-columns:1fr;max-width:380px;margin-left:auto;margin-right:auto;gap:30px}.section-head{gap:15px;align-items:start}.section-head small{max-width:110px;line-height:1.5}.envelope-scene{height:225px}.envelope-caption{min-height:65px}}@media(prefers-reduced-motion:reduce){.envelope-flap,.mission-slip,.envelope-seal{transition:none}.envelope-button:hover:not(:disabled) .envelope-seal{transform:none}}

.reward-celebration{position:fixed;right:24px;bottom:24px;z-index:20;width:min(430px,calc(100% - 32px));background:var(--navy);color:white;border:2px solid var(--yellow);border-radius:20px;padding:23px;box-shadow:0 12px 45px #102b3b45;display:flex;align-items:start;gap:15px;animation:reward-pop .35s ease-out;overflow:hidden}.reward-celebration[hidden]{display:none}.reward-medallion{flex-shrink:0;display:grid;place-items:center;width:43px;height:43px;background:var(--yellow);color:var(--navy);font-size:26px;border-radius:50%;box-shadow:0 0 0 5px #ffd25922}.reward-copy{position:relative;z-index:1}.reward-copy>strong{font-family:'Barlow Condensed',Arial,sans-serif;font-size:27px;line-height:1.1}.earned-points{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.earned-points span{padding:7px 10px;border-radius:8px;background:#ffd259;color:var(--navy);font-size:12px;font-weight:800;animation:point-pop .4s ease-out both}.earned-points span:nth-child(2){animation-delay:.08s}.earned-points span:nth-child(3){animation-delay:.16s}.earned-points span:nth-child(4){animation-delay:.24s}.reward-copy small{display:block;color:#bbd6da;font-size:11px;line-height:1.5}.reward-copy a{display:inline-block;margin-top:12px;color:var(--yellow);font-size:12px;font-weight:800;text-decoration:none}.reward-burst{position:absolute;inset:0;pointer-events:none}.reward-burst i{position:absolute;left:50%;top:50%;color:var(--yellow);font-style:normal;opacity:0;animation:star-burst 1s ease-out both;--dx:120px;--dy:-80px}.reward-burst i:nth-child(2){--dx:-150px;--dy:-75px;animation-delay:.1s}.reward-burst i:nth-child(3){--dx:110px;--dy:80px;animation-delay:.2s}.reward-burst i:nth-child(4){--dx:-160px;--dy:80px;animation-delay:.05s}.reward-burst i:nth-child(5){--dx:170px;--dy:-20px;animation-delay:.15s}@keyframes reward-pop{from{opacity:0;transform:translateY(15px) scale(.96)}to{opacity:1;transform:none}}@keyframes point-pop{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes star-burst{0%{opacity:0;transform:translate(0,0) scale(.3)}25%{opacity:.8}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(90deg) scale(1.3)}}@media(max-width:760px){.reward-celebration{right:16px;bottom:16px;padding:18px;gap:12px}.reward-copy>strong{font-size:25px}}@media(prefers-reduced-motion:reduce){.reward-celebration,.earned-points span,.reward-burst i{animation:none}.reward-burst{display:none}}

.confetti-layer{position:fixed;inset:0;z-index:21;overflow:hidden;pointer-events:none}.confetti-layer[hidden]{display:none}.confetti-piece{position:absolute;display:block;width:var(--size);height:calc(var(--size)*.55);background:var(--color);border-radius:1px;opacity:0;animation:confetti-explosion var(--duration) cubic-bezier(.15,.55,.5,1) forwards;will-change:transform,opacity}.confetti-star{height:var(--size);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 95%,50% 73%,21% 95%,32% 57%,2% 35%,39% 35%)}@keyframes confetti-explosion{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.2)}8%{opacity:1}30%{opacity:1;transform:translate(calc(var(--dx)*.6),var(--blast-y)) rotate(calc(var(--spin)*.35)) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--fall-y)) rotate(var(--spin)) scale(.8)}}
.reward-celebration.is-major{left:50%;right:auto;top:30%;bottom:auto;width:min(540px,calc(100% - 32px));transform:translateX(-50%);border:3px solid var(--yellow);padding:32px;box-shadow:0 0 0 8px #ffd25918,0 0 65px #ffd25940,0 22px 65px #102b3b66;animation:major-reward-pop .6s cubic-bezier(.2,1.4,.5,1)}.is-major .reward-medallion{width:66px;height:66px;font-size:40px;box-shadow:0 0 0 8px #ffd25922;animation:medallion-pop .6s .12s both}.is-major .reward-copy>strong{font-size:39px;color:var(--yellow)}.is-major .earned-points span{font-size:14px;padding:9px 12px}.is-major .reward-copy small{font-size:13px}.is-station{background:linear-gradient(135deg,#102b3b,#214f61)}.is-station .reward-medallion{background:#ffda66}.is-station .reward-copy>strong{font-size:42px}@keyframes major-reward-pop{0%{opacity:0;transform:translateX(-50%) scale(.4)}65%{opacity:1;transform:translateX(-50%) scale(1.06)}100%{opacity:1;transform:translateX(-50%) scale(1)}}@keyframes medallion-pop{0%{transform:rotate(-25deg) scale(.4)}70%{transform:rotate(10deg) scale(1.15)}100%{transform:none}}@media(max-width:760px){.reward-celebration.is-major{top:27%;padding:24px 20px;gap:14px}.is-major .reward-copy>strong,.is-station .reward-copy>strong{font-size:32px}.is-major .reward-medallion{width:48px;height:48px;font-size:30px}.is-major .earned-points span{font-size:12px;padding:8px 10px}}@media(prefers-reduced-motion:reduce){.confetti-layer{display:none!important}.reward-celebration.is-major,.is-major .reward-medallion{animation:none}}

.power-explosion{position:fixed;left:50%;top:40%;width:min(1100px,150vw);aspect-ratio:1;transform:translate(-50%,-50%);z-index:19;pointer-events:none}.power-explosion[hidden]{display:none}.power-aura{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,#ffeacb88 0,#ffad3655 25%,#f65c2525 45%,transparent 68%);animation:power-aura 2s ease-out both}.fire-burst{position:absolute;inset:0;width:100%;height:100%;animation:fire-explosion 1.8s cubic-bezier(.12,.7,.4,1) both;filter:drop-shadow(0 0 20px #ff9b22)}.power-core{position:absolute;inset:32%;border-radius:50%;background:radial-gradient(circle,#fff9d8 0,#ffe077aa 35%,#ff881155 60%,transparent 72%);animation:power-core 1.3s ease-out both}.power-shockwave{position:absolute;inset:25%;border:8px solid #ffd35f;border-radius:50%;box-shadow:0 0 30px #ffb627,inset 0 0 20px #ffecb0;animation:power-wave 1.4s ease-out both}.second-wave{animation-delay:.16s;border-color:#ff953c;border-width:4px}.station-power .fire-burst{animation-duration:2.2s}.station-power{width:min(1300px,175vw)}@keyframes fire-explosion{0%{opacity:0;transform:scale(.1) rotate(-12deg)}15%{opacity:.95}60%{opacity:.55}100%{opacity:0;transform:scale(1.35) rotate(9deg)}}@keyframes power-wave{0%{opacity:0;transform:scale(.15)}12%{opacity:.9}100%{opacity:0;transform:scale(3.2)}}@keyframes power-core{0%{opacity:0;transform:scale(.15)}20%{opacity:.8}100%{opacity:0;transform:scale(1.9)}}@keyframes power-aura{0%{opacity:0;transform:scale(.2)}20%{opacity:.8}100%{opacity:0;transform:scale(1.3)}}@media(prefers-reduced-motion:reduce){.power-explosion{display:none!important}}

#avatar-figure{position:relative;z-index:1}#avatar-upgrade-effect{position:absolute;inset:0;pointer-events:none;z-index:3}.avatar-reveal-message{display:block;margin-top:9px;font-size:12px;font-weight:800;line-height:1.4;color:var(--teal);min-height:17px}.avatar-power-halo{position:absolute;inset:-15%;border-radius:50%;background:radial-gradient(circle,#fff8caaa 0,#ffbf4b88 30%,#ff671f33 50%,transparent 70%);animation:avatar-halo 2.2s ease-out both}.avatar-power-flame{position:absolute;inset:-4%;background:radial-gradient(circle,#fffad7 0,#ffe36b 28%,#ff9c28aa 52%,#ed562833 65%,transparent 75%);clip-path:polygon(50% 0,57% 18%,70% 6%,72% 26%,92% 18%,83% 38%,100% 50%,83% 58%,92% 83%,72% 74%,70% 94%,57% 82%,50% 100%,43% 82%,30% 94%,28% 74%,8% 83%,17% 58%,0 50%,17% 38%,8% 18%,28% 26%,30% 6%,43% 18%);animation:avatar-fire-reveal 1.7s ease-out both}.avatar-power-wave{position:absolute;inset:25%;border-radius:50%;border:5px solid #ffd259;box-shadow:0 0 16px #ff902c;animation:avatar-upgrade-wave 1.7s ease-out both}.avatar-power-wave.second{animation-delay:.2s;border-color:#ff9130}.avatar-power-sparks{position:absolute;inset:15%;font-size:35px;color:#ffe06c;letter-spacing:14px;line-height:2;text-shadow:0 0 12px #ff8d22;animation:avatar-sparks 2s ease-out both}.is-transforming .avatar-label{box-shadow:0 0 20px #ffce55}.is-transforming #avatar-figure{animation:avatar-gear-reveal 2.2s ease-out both}@keyframes avatar-halo{0%{opacity:0;transform:scale(.4)}20%{opacity:1}100%{opacity:0;transform:scale(1.35)}}@keyframes avatar-fire-reveal{0%{opacity:0;transform:scale(.05) rotate(-20deg)}35%{opacity:1;transform:scale(1) rotate(0)}65%{opacity:.45}100%{opacity:0;transform:scale(1.45) rotate(12deg)}}@keyframes avatar-upgrade-wave{0%{opacity:0;transform:scale(.1)}15%{opacity:1}100%{opacity:0;transform:scale(3.2)}}@keyframes avatar-sparks{0%{opacity:0;transform:scale(.3)}30%{opacity:1}100%{opacity:0;transform:scale(1.8) rotate(15deg)}}@keyframes avatar-gear-reveal{0%,32%{filter:none}40%{filter:brightness(1.6) drop-shadow(0 0 15px #ffcf57)}100%{filter:none}}@media(prefers-reduced-motion:reduce){#avatar-upgrade-effect{display:none}.is-transforming #avatar-figure{animation:none}}

.upgrade-callout{display:flex;align-items:flex-start;gap:13px;background:#fff2c5;border:1px solid #f0d57f;border-left:5px solid var(--yellow);border-radius:14px;padding:17px 18px;margin:16px 0 20px}.upgrade-callout-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--yellow);font-size:22px}.upgrade-callout strong{font-family:'Barlow Condensed',Arial,sans-serif;font-size:26px;line-height:1.1;color:var(--navy)}.skater-info .upgrade-callout p{font-size:13px;line-height:1.6;color:#465866;margin:8px 0 0}.upgrade-callout b{color:var(--navy)}@media(max-width:760px){.upgrade-callout{padding:15px 13px;gap:10px}.upgrade-callout strong{font-size:24px}}

/* Hockey Store */
.store-nav{margin-left:auto;color:#102b3b;font-weight:800;text-decoration:none;padding:12px}.store-cta{display:inline-block;background:#102b3b;color:#fff;padding:14px 22px;border-radius:14px;text-decoration:none;font-weight:800;margin:12px 0}.equipped-summary{font-size:12px!important}.store-hero{display:flex;align-items:center;justify-content:space-between;background:#102b3b;color:#fff;border-radius:24px;padding:32px;margin-bottom:24px;overflow:hidden}.store-hero h1{color:#ffd259}.store-hero p{color:#d8edf2}.shopkeeper{width:180px;flex-shrink:0}.shopkeeper-talk{position:relative;max-width:550px;background:#163a4b;color:#fff;border:2px solid #c7e1e9;border-radius:20px;padding:20px 24px;font-weight:700;font-size:18px;line-height:1.6;box-shadow:0 8px 20px #071c2b33}.store-layout{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:start}.store-locker{background:#fff;border:2px solid #cfe2e7;border-radius:20px;padding:20px;position:sticky;top:12px}.store-locker h2{margin-top:0}.store-locker svg{width:100%}.store-locker p{font-size:13px}.store-locker small{display:block;font-size:11px;line-height:1.5}.store-tabs,.brand-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.store-tabs button[aria-pressed=true],.brand-tabs button[aria-pressed=true]{background:#ffd259;color:#102b3b;box-shadow:0 0 0 2px #102b3b}.store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gear-card{background:#fff;border:2px solid #d4e3e8;border-radius:18px;padding:15px;display:flex;flex-direction:column;min-width:0}.gear-card.equipped{border-color:#147f83;box-shadow:0 0 0 2px #147f8325}.gear-card.locked{background:#eaf0f3}.gear-card-top{display:flex;justify-content:space-between;gap:4px;font-size:10px;color:#476374}.gear-card-top b{white-space:nowrap}.gear-card svg{width:100%;height:auto;filter:drop-shadow(0 6px 4px #102b3b16)}.gear-card.locked svg{opacity:.72}.gear-card h3{font-size:16px;margin:8px 0}.gear-attributes,.unlock-rule,.store-caption{font-size:11px;line-height:1.5}.gear-card button{margin-top:auto;font-size:12px;padding:11px 8px}.gear-reward{display:grid;grid-template-columns:100px 1fr;gap:6px;align-items:center;background:#fff2;border-radius:12px;padding:6px;margin-top:8px}.gear-reward svg{width:100px;grid-row:span 2}.gear-reward b{font-size:12px}.gear-reward a{font-size:13px}.reward-celebration{max-height:90vh;overflow:auto}.reward-celebration .gear-reward a{display:block}.store-locker .hockey-avatar{max-height:245px}
@media(max-width:1000px){.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-layout{grid-template-columns:190px 1fr}}@media(max-width:650px){.store-layout{grid-template-columns:1fr}.store-locker{position:static;display:grid;grid-template-columns:130px 1fr;gap:8px}.store-locker svg{grid-row:span 3}.store-locker h2{grid-column:1/-1}.store-locker small{grid-column:1/-1}.store-hero{padding:20px}.shopkeeper{width:100px}.store-hero h1{font-size:34px}.store-grid{gap:8px}.gear-card{padding:10px}.store-nav{font-size:12px;padding:6px}header{flex-wrap:wrap;gap:8px}}

.avatar-view-hint{display:block;font-size:10px;color:#147f83;font-weight:800;margin:0 0 12px}#avatar-figure{cursor:grab;border-radius:20px}#avatar-figure:focus-visible{outline:3px solid #147f83;outline-offset:4px}.avatar-viewer{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:radial-gradient(ellipse at 50% 40%,#2a566f,#081b2c 80%);color:white;overflow:hidden}.avatar-viewer::backdrop{background:#081b2c}.avatar-viewer[open]{display:flex;flex-direction:column}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 26px;gap:12px}.viewer-toolbar h2{color:#fff;margin:4px 0;font-size:28px}.viewer-toolbar .eyebrow{color:#ffd259}.viewer-toolbar button{flex-shrink:0}#avatar-canvas{display:block;width:100%;flex:1;min-height:0;touch-action:none;cursor:grab;outline-offset:-4px}#avatar-canvas:active{cursor:grabbing}.viewer-bottom{text-align:center;padding:12px 16px 20px;background:#07192788}.viewer-bottom p{font-size:13px;margin:4px 0 8px;color:#d0e9ee}.viewer-bottom small{display:block;color:#a0bdcb;margin-top:10px;font-size:11px}.viewer-bottom button{padding:8px 16px}@media(max-width:650px){.viewer-toolbar{padding:12px}.viewer-toolbar h2{font-size:22px}.viewer-toolbar button{padding:10px}.viewer-bottom{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}

.ability-breakdown{display:block;font-size:10px;color:#476374;margin-top:6px;line-height:1.5}

.locker-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px;margin:12px 0}.locker-stats span{padding:7px;background:#edf6f6;border-radius:8px}.locker-stats b{float:right}@media(max-width:650px){.locker-stats{grid-column:1/-1}}

.video + .video { margin-top: 12px; }
.station-outline { margin-top: 18px; }
.station-outline h4 { margin-top: 24px; }
.station-outline li { overflow-wrap: anywhere; }

/* HockeyVerse visual layer — training and reward rules live elsewhere. */
body{background:linear-gradient(135deg,#f1f6f8,#e5edf3 65%,#edf5f7);background-attachment:fixed}
.brand-title{text-decoration:none;font-size:30px;letter-spacing:1px}.brand-title small{display:block;font:600 9px Arial,sans-serif;letter-spacing:1.5px;margin-top:6px;text-transform:uppercase}.verse-intro{text-align:center;max-width:810px;margin:35px auto 30px}.verse-intro h1{font-size:clamp(38px,5.7vw,70px);margin:14px 0 20px}.verse-intro h1 span{color:#176b85}.verse-intro h2{font-size:20px;margin:0;color:#31526a}.verse-intro p{max-width:660px;margin:10px auto;color:#526b7d;font-size:15px}.verse-intro .verse-tagline{font-weight:800;font-size:21px;color:#17394f}.world-panel{overflow:hidden;background:#102c43;border:1px solid #9db5c9;border-radius:26px;box-shadow:0 24px 55px #173c5929;margin-bottom:38px}.world-caption{display:flex;justify-content:space-between;gap:10px;padding:18px 25px;color:#d4e9f5;font-size:10px;letter-spacing:2px}.world-caption span:last-child{color:#89b1c9}.hockey-world{display:block;width:100%;height:auto}.world-building{transition:filter .2s;cursor:pointer}.world-building:hover{filter:brightness(1.13)}.hockey-world a:focus-visible{outline:none}.hockey-world a:focus-visible .building-sign rect{stroke:#fff;stroke-width:6}.world-navigation{display:flex;justify-content:center;gap:14px;padding:20px 20px 8px}.world-navigation a{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#ffd66b;color:#183344;text-decoration:none;padding:15px 20px;border-radius:10px;font-size:14px;font-weight:800;min-height:48px}.world-navigation a+ a{background:#ddecf5}.construction-note{text-align:center;color:#dceaf2;font-size:12px;margin:12px 20px 22px;line-height:1.9}.construction-note small{color:#96b5ca;font-size:11px}.skater-panel{background:radial-gradient(ellipse at 12% 50%,#d4e7f3,transparent 45%),linear-gradient(145deg,#fff,#eaf3f6);border-color:#b9d1df;box-shadow:0 12px 35px #24475b0d}.avatar-stage{background:radial-gradient(ellipse at center,#e4f6ff 0,transparent 70%)}.hockey-avatar{max-height:315px}.store-hero{background:radial-gradient(ellipse at 80% 30%,#476a77,transparent 50%),repeating-linear-gradient(0deg,transparent 0,transparent 47px,#ffffff04 48px),linear-gradient(130deg,#172f43,#284b5c);border:1px solid #638395;box-shadow:0 18px 35px #193a5426}.shopkeeper{width:200px;align-self:end;filter:drop-shadow(8px 10px 7px #091b3580)}.gear-card{background:linear-gradient(#fff,#eef4f8);box-shadow:0 8px 15px #193d5410}.gear-card svg{background:radial-gradient(ellipse at 50% 75%,#d7e6ee,transparent 68%);border-bottom:4px solid #b3c4d0;border-radius:0 0 7px 7px}.gear-card.locked{background:linear-gradient(#e9f0f4,#dce6ed)}.gear-card.locked svg{opacity:.85}.store-locker{background:linear-gradient(130deg,#edf5fa,#fff);border-color:#b2cbdc}.store-locker h2{color:#244d63}
@media(max-width:650px){.verse-intro{margin-top:24px}.verse-intro h1{font-size:39px}.verse-intro p{font-size:14px}.verse-intro .verse-tagline{font-size:18px}.world-panel{border-radius:16px}.world-caption{font-size:8px;letter-spacing:1px;padding:14px}.world-navigation{gap:8px;padding:14px 10px 4px}.world-navigation a{gap:10px;font-size:11px;padding:12px;flex:1}.construction-note{font-size:10px}.shopkeeper{width:130px}.brand-title{font-size:25px;max-width:none}.brand-title small{font-size:7px;letter-spacing:.8px}.hockey-avatar{height:270px}.world-caption span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.world-building{transition:none}}

.avatar-options{display:flex;gap:8px;margin:10px 0 16px}.avatar-options button{padding:9px 19px;border:1px solid #abc4d4;background:#fff;min-height:44px}.avatar-options button[aria-pressed=true]{background:#173e54;color:white;border-color:#173e54}.future-abilities{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 18px}.future-abilities>div{border:1px dashed #b9cbd7;border-radius:10px;padding:10px;background:#ffffff70}.future-abilities span{font-size:11px;font-weight:700}.future-abilities b{float:right;color:#6c8393}.future-abilities small{display:block;font-size:9px;margin-top:5px;line-height:1.4}.skater-arm-left,.skater-arm-right{animation:none}.hockey-avatar .skater-body{animation:skater-breathe 9.7s ease-in-out infinite}.open-sign{filter:drop-shadow(0 0 3px #65ff9b)}
@media(max-width:650px){.future-abilities{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.hockey-avatar .skater-body{animation:none}}

.new-skills-notice{color:#b3262e;font-size:13px;font-weight:800;margin:16px 0 8px;text-transform:uppercase;letter-spacing:.6px}.verse-intro .power-up-phrase{display:inline-block;color:#123f57;background:#ffe397;padding:3px 10px;border-radius:7px;box-shadow:0 3px 0 #d8ae47;font-weight:800}.shopkeeper-portrait{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;object-position:bottom}.shopkeeper{width:245px;flex-shrink:0}.yeti-wave{transform-origin:-13px -9px;animation:yeti-wave 18s ease-in-out infinite}@keyframes yeti-wave{0%,72%,100%{transform:rotate(0deg)}76%,84%{transform:rotate(20deg)}80%,88%{transform:rotate(-14deg)}92%{transform:rotate(0deg)}}@media(prefers-reduced-motion:reduce){.yeti-wave{animation:none}}@media(max-width:650px){.shopkeeper{width:135px}.shopkeeper-portrait{max-height:210px}}

/* High-contrast dialogue, with a tail pointing toward the shopkeeper. */
.store-hero{gap:32px}.store-hero>div:first-child{min-width:0;flex:1}.shopkeeper-talk::after{content:"";position:absolute;right:-12px;top:55%;width:20px;height:20px;background:#163a4b;border-top:2px solid #c7e1e9;border-right:2px solid #c7e1e9;transform:rotate(45deg)}.shopkeeper-speaker{display:block;color:#ffdc80;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;margin-bottom:7px}
@media(max-width:650px){.store-hero{gap:20px}.shopkeeper-talk{font-size:16px;padding:16px 18px}}
@media(max-width:480px){.store-hero{flex-direction:column;align-items:stretch;gap:20px}.shopkeeper{align-self:flex-end}.shopkeeper-talk::after{top:auto;bottom:-12px;right:48px;transform:rotate(135deg)}}

/* Long approved video/drill labels wrap inside existing phone and tablet layouts. */
.card-layout>*,.video>span:last-child{min-width:0}.video,.station-outline a,.step li a{overflow-wrap:anywhere}.step li a{display:inline-block;min-height:44px;padding:8px 4px}.check{flex-wrap:wrap}.check input{margin-top:2px}

/* Foundations goal is read before Watch and remains first in the mobile flow. */
.mission-statement{background:#fff;border:3px solid #d8a932;border-radius:20px;margin:20px 0 24px;padding:22px 26px;box-shadow:0 8px 24px #102b3b14}
.mission-statement h2{font-size:clamp(30px,4vw,38px);margin:0 0 14px;font-weight:800;color:#102b3b}
.mission-statement-content{display:grid;grid-template-columns:140px minmax(0,1fr);gap:22px;align-items:center}
.mission-statement .posture-art{width:100%;height:auto;margin:0}
.mission-statement p{font-size:18px;line-height:1.65;margin:0 0 12px;color:#102b3b}
@media(max-width:600px){.mission-statement{padding:18px}.mission-statement-content{grid-template-columns:1fr;gap:10px}.mission-statement .posture-art{width:100px;justify-self:start}.mission-statement p{font-size:17px;line-height:1.6}}
