@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Marck+Script&display=swap');
:root{--midnight:#08192d;--deep:#132947;--gold:#eed39b;--goldBright:#ffebbb;--cream:#ffefd2;--red:#98202a;--line:#bf9352;--brown:#4c2d24;--soft:#ecdfc9;--glow:rgba(255,212,117,.55)}*{box-sizing:border-box}html{background:var(--midnight)}body{min-width:320px;min-height:100vh;margin:0;color:var(--cream);font-family:'DM Sans',system-ui,-apple-system,sans-serif;background:radial-gradient(ellipse at 50% -20%,#47617a 0,#142c49 33%,#081729 68%,#061224 100%);overflow-x:hidden}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.48;cursor:default}.hidden{display:none!important}.scene-snow{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 10% 18%,#fff7df 0 1px,transparent 2px),radial-gradient(circle at 80% 12%,#ffebb8 0 1px,transparent 2px),radial-gradient(circle at 39% 39%,#fff6de 0 1px,transparent 2px),radial-gradient(circle at 72% 73%,#fff 0 1px,transparent 2px);background-size:178px 181px,277px 233px,211px 293px,142px 173px;opacity:.45}.aurora{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 58% 0%,rgba(255,208,125,.1),transparent 44%)}.page-wrap{position:relative;z-index:1;min-height:100dvh;max-width:680px;margin:auto;display:flex;flex-direction:column;padding:0 15px}.header{display:flex;align-items:center;justify-content:space-between;padding:17px 3px 8px}.brand{font-weight:700;letter-spacing:.02em;font-size:14px;color:#efddbd}.brand-mark{font-size:23px;color:#ffdd91;padding-right:5px;text-shadow:0 0 15px var(--glow)}.help-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,230,170,.44);background:linear-gradient(145deg,#294265,#132b49);color:#ffe4ae;font-size:19px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}main{flex:1}.footer{padding:23px 0 21px;text-align:center;color:rgba(235,208,161,.65);font-size:11px}.footer span{padding:0 5px}.landing{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:calc(100dvh - 139px);padding:0 0 18px}.landing-image-frame{width:min(100%,490px);position:relative;border-radius:26px;overflow:hidden;box-shadow:0 18px 40px #0208138a,0 0 0 1px #e2b46b3b}.landing-image-frame img{width:100%;display:block}.image-shimmer{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 79% 20%,#fff5a71e,transparent 35%)}.landing-bottom{width:min(100%,440px);padding:11px 6px 0;text-align:center}.landing-tag,.overline,.modal-overline{color:#efd29a;letter-spacing:.12em;font-size:10px;font-weight:800}.landing-note{color:#ded1b5;font-size:12px}.gold-action{position:relative;isolation:isolate;width:100%;min-height:58px;border:1px solid #fff0b7;box-shadow:0 5px 0 #66222a,0 13px 25px #0005,inset 0 2px 0 #fff6d065;border-radius:18px;color:#fff9ea;background:linear-gradient(180deg,#cb4950,#a92430 46%,#8c1e29);font-size:16px;letter-spacing:.01em;font-weight:800;text-shadow:0 1px 2px #450812}.gold-action:active{transform:translateY(2px);box-shadow:0 3px 0 #66222a,0 5px 17px #0005}.gold-action span{font-size:19px;color:#ffdf83;padding:0 6px}.heading{text-align:center;padding-top:9px}.heading h1{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;font-size:clamp(31px,7.2vw,42px);letter-spacing:.02em;text-shadow:0 2px 16px #ffba6461;margin:8px 0 2px;color:#fff2cc}.heading>p{color:#cbbfa9;font-size:12px;margin:6px 0 0}.radio-scene{height:250px;max-width:440px;margin:10px auto 0;position:relative;display:flex;align-items:center;justify-content:center;border-radius:28px;background:radial-gradient(ellipse at center,rgba(255,224,165,.12),rgba(13,31,58,.35) 55%,transparent 72%)}.radio-aura{position:absolute;width:280px;height:220px;border-radius:50%;background:radial-gradient(ellipse,#dfad4430,transparent 74%);filter:blur(12px);transform:translateY(18px);transition:opacity .2s}.radio-device{position:relative;z-index:1;height:220px;width:auto;max-width:58%;object-fit:contain;filter:drop-shadow(0 18px 22px #0008);border-radius:13px;transform:translateY(8px)}.radio-scene.speaking .radio-device{animation:radioBreathe .8s ease-in-out infinite alternate}.radio-scene.speaking .radio-aura{background:radial-gradient(ellipse,#ffe39685,transparent 74%);animation:glowPulse .85s ease-in-out infinite alternate}.radio-flash{position:absolute;width:135px;height:125px;left:50%;top:36%;transform:translateX(-50%);z-index:2;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#fff3b016,transparent 70%);opacity:0}.speaking .radio-flash{opacity:1;animation:glowPulse .65s ease-in-out infinite alternate}.radio-led{position:absolute;z-index:4;width:12px;height:12px;border-radius:50%;background:#ffcf62;left:calc(50% - 47px);bottom:59px;box-shadow:0 0 16px 8px #ffdc8955;opacity:.2}.speaking .radio-led{opacity:1;animation:ledPulse .5s ease infinite alternate}.wave-bars{position:absolute;z-index:3;right:calc(50% - 157px);top:95px;display:flex;align-items:center;gap:3px;height:43px;opacity:.2}.wave-bars i{width:3px;height:13px;background:#ffe5a9;border-radius:4px;box-shadow:0 0 7px #ffd280}.wave-bars i:nth-child(even){height:28px}.wave-bars i:nth-child(3){height:39px}.speaking .wave-bars{opacity:1}.speaking .wave-bars i{animation:wave .55s ease-in-out infinite alternate}.speaking .wave-bars i:nth-child(2){animation-delay:.17s}.speaking .wave-bars i:nth-child(3){animation-delay:.31s}.speaking .wave-bars i:nth-child(4){animation-delay:.1s}.speaking .wave-bars i:nth-child(5){animation-delay:.23s}.radio-status{position:absolute;z-index:5;bottom:8px;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid #f1d29844;background:#0e223ce8;border-radius:99px;padding:8px 16px;font-size:11px;color:#e9d9ba;box-shadow:0 4px 18px #0005}.live-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#b2bdac}.speaking .live-dot{background:#ffdc86;box-shadow:0 0 10px #ffcd80;animation:ledPulse .65s infinite alternate}.orbit-star{position:absolute;color:#ffe0a0;text-shadow:0 0 19px #ffc95d;animation:float 6s ease-in-out infinite}.orb1{font-size:30px;left:13%;top:33%}.orb2{font-size:23px;right:12%;top:26%;animation-delay:-2s}.orb3{font-size:16px;right:20%;bottom:29%;animation-delay:-3.4s}@keyframes wave{to{transform:scaleY(.35)}}@keyframes float{50%{transform:translateY(-10px);opacity:.5}}@keyframes glowPulse{to{filter:brightness(1.6);opacity:.5;transform:scale(1.035)}}@keyframes ledPulse{to{opacity:.3}}@keyframes radioBreathe{to{filter:drop-shadow(0 13px 16px #0007) brightness(1.1)}}
.console{position:relative;margin:7px auto 0;max-width:600px;width:100%;padding:22px 20px 20px;overflow:hidden;border-radius:24px;border:1px solid #ffdfa06b;background:linear-gradient(140deg,#2a4260 0%,#182e4b 24%,#0d203b 92%);box-shadow:0 17px 44px #0006,inset 0 1px 0 #f7deab24}.console:before{content:'';pointer-events:none;position:absolute;inset:5px;border:1px solid #f5e0b41b;border-radius:20px}.console:after{content:'';position:absolute;pointer-events:none;height:110px;width:100%;left:0;top:0;background:linear-gradient(180deg,#e3c4900b,transparent)}.console-head{display:flex;align-items:center;justify-content:center;gap:10px;font-family:'DM Sans',system-ui,sans-serif;font-size:20px;font-weight:800;color:#ffedc6;text-align:center;letter-spacing:.01em}.seal{color:#e7b862;font-size:20px}.console-intro{text-align:center;font-size:13px;color:#d0d4d6;line-height:1.55;max-width:460px;margin:10px auto 15px}.activity-area{min-height:195px;border-radius:18px;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% 20%,#314966,#12253f 82%);border:1px solid #e7c99340;box-shadow:inset 0 0 30px #040b1c73,inset 0 1px 3px #ffffff22}.activity-inner{min-height:195px;padding:19px 14px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;position:relative}.activity-inner:before{content:'✦';position:absolute;right:14px;top:9px;color:#f7df9b88;font-size:12px}.activity-inner:after{content:'✧';position:absolute;left:13px;bottom:8px;color:#f7df9b55;font-size:16px}.activity-label{font-size:11px;letter-spacing:.1em;color:#f0dcb5;font-weight:800;text-transform:uppercase;text-align:center}.activity-tip{font-size:11px;color:#e2d3b6;text-align:center;min-height:16px}.activity-is-waiting{opacity:.66;pointer-events:none}.magic-item{display:flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;border:0;outline-offset:5px;transition:transform .22s,filter .22s;position:relative;user-select:none;-webkit-user-select:none;touch-action:none}.magic-item:active{transform:scale(.96)}.magic-item svg{overflow:visible;filter:drop-shadow(0 6px 9px #02091d7a)}.magic-item.lit{filter:drop-shadow(0 0 16px #ffd97c)}.glimmer{animation:glimmer 2.8s infinite alternate}@keyframes glimmer{50%{filter:drop-shadow(0 0 15px #ffdf8a)}}.magic-row{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.magic-row .magic-item{width:87px;height:94px}.magic-row .magic-item svg{width:100%;height:100%}.big-magic{width:124px;height:124px}.big-magic svg{width:100%;height:100%}.interactive-progress{width:190px;height:7px;background:#09172a;border-radius:99px;border:1px solid #eccc7e55;overflow:hidden}.interactive-progress .fill{height:100%;width:0;background:linear-gradient(90deg,#b77b37,#fff4be);border-radius:99px;transition:width .05s}.star-piece{animation:float 2.5s ease-in-out infinite alternate}.star-piece:nth-child(2){animation-delay:-.8s}.star-piece:nth-child(3){animation-delay:-1.4s}.star-piece.collected{animation:collect .45s forwards}@keyframes collect{to{transform:scale(.1) translateY(-130px);opacity:0}}.big-bell{transform-origin:50% 20%}.big-bell.ringing{animation:ring .32s ease-in-out}@keyframes ring{0%,100%{transform:rotate(0)}25%{transform:rotate(9deg)}75%{transform:rotate(-9deg)}}.lantern-lamp{width:110px;height:144px}.lantern-lamp.on{filter:drop-shadow(0 0 22px #f7d47e)}.snowball-roll{width:130px;height:130px;transition:transform .5s}.snowball-roll.rolled{transform:translateX(25px) rotate(70deg);opacity:0}.snowman-reveal{position:absolute;display:none;width:128px;height:155px;animation:snowPop .75s both}.snowman-reveal.revealed{display:block}@keyframes snowPop{from{opacity:0;transform:scale(.5) translateY(35px)}to{opacity:1;transform:scale(1) translateY(0)}}.snowflake-piece{width:115px;height:115px;transition:transform .36s;filter:drop-shadow(0 4px 14px #8bdafa88)}.gift-box{width:134px;height:128px}.gift-box.opened{animation:boxOpen .85s both}@keyframes boxOpen{50%{transform:translateY(-10px)}100%{transform:translateY(0);filter:drop-shadow(0 0 25px #eeb86a)}}.ribbon-choice{min-width:122px;min-height:110px;padding:10px 5px;border:1px solid #c6a46c81;border-radius:15px;background:linear-gradient(#284463,#182e4b);box-shadow:inset 0 1px 3px #fff2;display:flex;flex-direction:column;align-items:center;gap:3px;color:#faedd3;font-size:12px;font-weight:700}.ribbon-choice svg{height:70px;width:85px}.ribbon-choice.chosen{border:2px solid #ffdb89;box-shadow:0 0 17px #d5a85b66}.dial-plate{width:125px;height:125px;border-radius:50%;background:repeating-conic-gradient(from -2deg,#ffdc9e 0deg 2deg,transparent 2deg 30deg),radial-gradient(circle,#314e69 0 59%,#c58e4d 60% 62%,#624635 65% 71%,#c39d63 73%);border:1px solid #e8c48a;box-shadow:inset 0 3px 13px #020d20,0 7px 14px #0008;display:flex;align-items:center;justify-content:center}.dial-knob{width:77px;height:77px;border-radius:50%;background:repeating-conic-gradient(#bf9a5a 0 8deg,#6b4a33 8deg 16deg);border:5px solid #d7b57a;box-shadow:inset 0 0 8px #0007,0 1px 10px #0006;transition:transform .16s;position:relative}.dial-knob:after{content:'';position:absolute;width:5px;height:24px;background:#fff2b3;top:8px;left:calc(50% - 2.5px);border-radius:9px;box-shadow:0 0 8px #ffeaa1}.dial-input{width:min(100%,270px);accent-color:#e2ae61;cursor:pointer}.wiring-board{position:relative;width:min(100%,320px);height:136px;margin:2px auto}.wiring-board svg{position:absolute;inset:0;width:100%;height:100%}.wiring-star{position:absolute;border:0;background:#1b3555;border-radius:50%;width:43px;height:43px;color:#eed08d;font-size:27px;border:1px solid #d7af6e99;box-shadow:0 0 10px #ffc96638}.wiring-star.done{background:#89652a;color:#fff2bc;box-shadow:0 0 15px #ffdc85}.wiring-star:disabled{opacity:.52}.wiring-star:nth-of-type(1){left:4%;top:65%}.wiring-star:nth-of-type(2){left:29%;top:10%}.wiring-star:nth-of-type(3){left:55%;top:62%}.wiring-star:nth-of-type(4){right:3%;top:8%}.small-lights{display:flex;gap:15px}.light-bulb{height:72px;width:65px;border:1px solid #9d7a504f;border-radius:14px;background:#152d4a;color:#c6ad78;font-size:39px}.light-bulb.on{color:#ffe393;text-shadow:0 0 19px #ffe386;box-shadow:inset 0 0 23px #d6a34336}.finish-note{color:#ffdb8c;font-family:'Marck Script',cursive;font-size:23px;text-align:center;margin:14px 0 2px}.console-actions{display:flex;flex-direction:column;gap:11px;margin-top:18px}.console-actions .gold-action{min-height:51px}.secondary-action{width:100%;min-height:45px;background:#213c59;color:#f6e5c3;border:1px solid #ceaa7088;border-radius:13px;font-weight:700}.map-preview{text-align:center;padding:14px}.map-comet{font-size:66px;color:#ffe7a1;text-shadow:0 0 22px #ffdd65;animation:float 2s infinite ease-in-out}.map-preview .gold-action{margin-top:10px}.days-overview{max-width:600px;margin:18px auto 0}.days-toggle{display:block;width:100%;border:1px solid #e2c18f43;background:#132944b5;border-radius:13px;color:#e6d6b8;padding:14px 17px;text-align:left;font-weight:600;font-size:12px}.days-toggle span{float:right}.day-list,.test-days{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;padding:11px 0}.day-chip{border:1px solid #d6b98955;background:#182e4b;color:#f4e2c1;border-radius:9px;min-height:42px;font-weight:800;font-size:12px}.day-chip.active{border-color:#ffe6af;background:#98502e;box-shadow:0 0 14px #eec17e4d}.day-chip.locked{opacity:.32}.test-controls{margin:22px auto 0;max-width:600px;padding:13px;border:1px dashed #f3bc67a8;border-radius:13px;background:#281f1d8c}.test-title{color:#ffdf9d;font-size:10px;letter-spacing:.1em;font-weight:800}.test-days{padding-bottom:0}.modal{border:0;border-radius:24px;background:linear-gradient(150deg,#253d58,#0b2036 86%);color:var(--cream);width:min(calc(100% - 28px),420px);max-height:90dvh;overflow-y:auto;padding:0;box-shadow:0 20px 70px #000b,inset 0 0 0 1px #edce9e91}.modal::backdrop{background:#03101ec7;backdrop-filter:blur(7px)}.modal-inner{padding:26px 22px 25px;position:relative;text-align:center}.modal-crest{font-size:32px;color:#f5d591;margin:1px 0 9px}.modal h2{font-family:'Marck Script',cursive;font-weight:400;color:#fff1cc;font-size:37px;line-height:1.08;margin:6px 0 10px}.modal-copy{color:#e0d4c1;font-size:13px;line-height:1.5}.count-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.count-card{padding:13px 8px 17px;display:flex;flex-direction:column;align-items:center;gap:9px;background:#162f4a;border:1px solid #ead0996a;border-radius:17px;box-shadow:inset 0 1px 0 #fff2}.kid-icon{font-size:45px}.count-card strong{font-size:14px}.stepper{display:flex;align-items:center;gap:12px}.stepper button{width:38px;height:38px;border-radius:50%;border:1px solid #ffe1a2;background:linear-gradient(#c78840,#7b4a31);color:#fff4d8;font-size:24px}.stepper span{min-width:17px;font-size:22px;font-weight:800}.small-copy{font-size:11px;line-height:1.5;color:#c4b6a3;margin:10px 0 19px}.close-help{position:absolute;top:14px;right:17px;width:32px;height:32px;border-radius:50%;background:#2f4153;border:1px solid #ead09477;color:#fff;font-size:24px}.platforms{display:flex;background:#0d213b;border:1px solid #cda97369;border-radius:13px;padding:4px;gap:5px;margin:22px 0}.platforms button{flex:1;border:0;border-radius:9px;background:transparent;color:#e7d5b0;padding:11px;font-weight:700}.platforms button.active{background:#9c602e;color:white}.help-instructions{text-align:left}.help-instructions p{font-size:12px;line-height:1.65;color:#eee4d2}.help-instructions b{display:inline-flex;justify-content:center;align-items:center;margin-right:7px;width:24px;height:24px;border:1px solid #e9c184;border-radius:50%;color:#e9cb92}.modal .secondary-action{margin-top:10px}@media(min-width:650px){.radio-scene{height:320px}.radio-device{height:290px}.console{padding:26px 29px}.landing-image-frame{width:470px}}@media(max-width:390px){.page-wrap{padding:0 11px}.heading h1{font-size:35px}.radio-scene{height:257px}.radio-device{height:234px}.radio-led{bottom:55px}.console{padding:18px 13px}.radio-status{bottom:3px}.console-head{font-size:22px}.modal-inner{padding:22px 16px}}@media(prefers-reduced-motion:reduce){.orbit-star,.speaking .radio-device,.speaking .radio-aura,.speaking .radio-flash,.wave-bars i,.glimmer,.map-comet{animation:none!important}}

/* Only private test markup contains these controls. */
.test-kids{border:1px solid #e6be8750;padding:13px 10px 10px;border-radius:12px;margin:12px 0 6px;background:linear-gradient(135deg,#1e3751e6,#112944ec)}
.test-kids-label{font-size:10px;color:#e9cf9e;letter-spacing:.09em;display:flex;justify-content:space-between;align-items:center;gap:9px}.test-kids-label strong{font-size:14px;color:#fff1ce;letter-spacing:normal;text-align:right}
.test-kids-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.test-kids-presets button,.test-kids-actions button{min-height:42px;cursor:pointer;color:#ffeed1;border:1px solid #d9b58075;border-radius:11px;background:#243e58;font-weight:700;font-size:12px}
.test-kids-presets button.chosen{background:linear-gradient(140deg,#a96f39,#704a30);border-color:#ffdc98;box-shadow:inset 0 1px 0 #fff4,0 0 13px #e4af6855}
.test-kids-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.test-kids-actions button{background:#4a342c}.test-hint{font-size:10px;line-height:1.5;color:#c3b7a7;margin:11px 3px 0}
@media(max-width:360px){.test-kids-actions{grid-template-columns:1fr}}

body,.app-screen,.console,.activity-area,.magic-item{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.waiting-card{min-height:195px;display:flex;align-items:center;justify-content:center;padding:18px}.waiting-card-inner{width:100%;max-width:340px;margin:auto;text-align:center;padding:24px 18px;border-radius:18px;border:1px solid rgba(244,217,162,.2);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(9,24,44,.24))}.waiting-card-icon{font-size:34px;color:#ffe3a1;text-shadow:0 0 18px rgba(255,214,121,.45);margin-bottom:10px}.waiting-card-title{font-weight:800;font-size:16px;color:#fff0ca;margin-bottom:8px}.waiting-card-copy{font-size:13px;line-height:1.55;color:#ddd2bb}.waiting-card-soft{margin-top:10px;font-size:11px;color:#bfae90}.radio-scene::before{content:'';position:absolute;inset:18px 32px 22px;border-radius:26px;border:1px solid rgba(245,221,169,.12);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(8,21,38,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)} .heading .overline{font-size:11px} .heading>p{font-size:13px} .console-intro{font-size:14px}.gold-action{font-size:17px}.days-toggle{font-size:13px} @media(max-width:390px){.radio-scene{height:230px}.radio-device{height:198px;max-width:60%}}

/* 2026-11 design refresh — a full illustrated Christmas scene; no cropped floating radio */
body{background:radial-gradient(ellipse at 48% -5%,#263d55 0,#0b192d 54%,#081323 100%)}
.page-wrap{max-width:740px;padding:0 13px}
.app-screen{padding-top:8px}
.scenic-radio{position:relative;display:block;width:min(100%,620px);height:auto;aspect-ratio:1086/476;margin:0 auto;max-width:none;overflow:visible;border:0;background:none;border-radius:20px}
.scenic-radio::before{display:none}
.scenic-art{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:22px 22px 10px 10px;filter:drop-shadow(0 12px 21px rgba(0,0,0,.43))}
.scenic-voice-light{position:absolute;left:23%;top:53%;width:17%;aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:.22;background:radial-gradient(circle,rgba(255,243,190,.72),rgba(249,197,72,.12) 50%,transparent 75%);mix-blend-mode:screen}
.scenic-radio.speaking .scenic-voice-light{animation:scenicPulse .72s ease-in-out infinite alternate}
@keyframes scenicPulse{to{transform:scale(1.4);opacity:.92}}
.scenic-radio .wave-bars{right:27%;top:54%;transform:translateY(-50%);opacity:.65;z-index:5;filter:drop-shadow(0 0 6px #fbd389)}
.scenic-radio.speaking .wave-bars{opacity:1}
.scenic-radio .radio-status{bottom:4px;left:50%;font-size:11px;color:#fff0d3;background:linear-gradient(100deg,#17243bfa,#1d304df5);border:1px solid #e3bb76;box-shadow:0 3px 13px #0007;padding:8px 15px}
.console{position:relative;z-index:2;margin:9px auto 0;width:100%;max-width:620px;border-radius:23px;padding:19px 20px 22px;color:#3c2a25;background:linear-gradient(142deg,#fff4dc 0%,#f7e4c1 55%,#ebc994 100%);border:2px solid #d7ad70;box-shadow:0 20px 46px #01081280,inset 0 2px #fffae9;overflow:hidden}
.console::before{inset:6px;content:'';display:block;position:absolute;border-radius:16px;border:1px solid rgba(160,96,41,.26);pointer-events:none}
.console::after{background:linear-gradient(180deg,rgba(255,255,255,.28),transparent);height:60px;pointer-events:none}
.console .heading{text-align:center;padding:0}
.console .heading p{font-size:12px;color:#9a602e;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin:0 0 7px}
.console-head{font-size:clamp(21px,5vw,27px);font-weight:800;line-height:1.25;letter-spacing:0;color:#78292a;gap:10px}
.console-head .seal{color:#bd8d44;font-size:17px}
.console-intro{color:#65453d;font-size:13px;margin:0 auto;line-height:1.5}
.console-intro:empty{display:none}
.activity-area{margin-top:14px;color:#f9e8c4;background:radial-gradient(circle at 50% 17%,#395572,#12253d 90%);border:1px solid #b9854d;box-shadow:inset 0 0 24px #01071580,0 5px 13px #623c2526}
.console-actions{margin-top:17px;position:relative;z-index:4}
.gold-action{background:linear-gradient(180deg,#d84d4b,#a82530 60%,#891e2a);color:#fff4df;border:2px solid #eac88a;box-shadow:0 4px 0 #71372b,0 10px 16px #30221e40,inset 0 2px 0 #fff2ca50;border-radius:16px}
.secondary-action{color:#603327;background:#f8e4c2;border-color:#b88b57}
.finish-note{color:#8f3d28;font-family:Georgia,serif;font-weight:700;font-size:17px}
.days-overview{max-width:620px}
.days-toggle{background:linear-gradient(120deg,#293d57,#132945);border:1px solid #e6bc7c77;color:#ffe9bc}
.test-controls{max-width:620px}
@media(max-width:390px){.scenic-radio{height:auto;aspect-ratio:1086/476}.scenic-radio .radio-status{font-size:10px}.console{padding:16px 15px 20px}}

/* One identical front-end in November and December. The radio itself is the control. */
.scenic-radio{cursor:pointer}
.scenic-radio .radio-tap{position:absolute;z-index:8;inset:0;display:block;width:100%;height:100%;opacity:0;border:0;border-radius:18px;background:transparent;cursor:pointer;touch-action:manipulation}
.scenic-radio .radio-tap:focus-visible{opacity:1;outline:3px solid #ffe4a3;outline-offset:3px;background:rgba(255,221,142,.08)}
.scenic-radio .radio-tap:active{background:rgba(255,221,142,.045);opacity:1}
.change-audience{width:100%;background:transparent;border:1px solid rgba(238,201,141,.5);border-radius:10px;color:#f4d8a6;min-height:42px;font-size:12px;margin:0 0 12px}
.console .heading p{letter-spacing:.07em}


/* centered radio redesign */
.centered-radio{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,620px);height:300px;margin:4px auto 2px;overflow:visible;border:0;background:none;border-radius:24px;cursor:pointer}
.centered-radio::before{display:none}
.radio-backdrop{position:absolute;inset:8px 18px 24px;border-radius:28px;background:radial-gradient(circle at 50% 42%,rgba(255,224,165,.18),rgba(17,39,66,.32) 36%,rgba(7,20,37,.03) 68%), url('assets/scena-spojeni.webp') center/cover no-repeat;filter:saturate(.8) blur(1px);opacity:.38;box-shadow:inset 0 0 0 1px rgba(244,220,178,.14)}
.centered-radio .radio-aura{width:300px;height:220px;transform:translateY(16px);background:radial-gradient(ellipse,rgba(255,214,125,.33),transparent 72%)}
.centered-device{position:relative;z-index:3;height:245px;max-width:none;transform:translateY(4px);filter:drop-shadow(0 18px 24px rgba(0,0,0,.48))}
.centered-radio .wave-bars{right:auto;left:50%;transform:translate(104px,-50%);top:46%;opacity:.68;z-index:4;filter:drop-shadow(0 0 8px #fbd389)}
.centered-radio .radio-status{bottom:10px;left:50%;transform:translateX(-50%);font-size:12px;color:#fff0d3;background:linear-gradient(100deg,#17243bfa,#1d304df5);border:1px solid #e3bb76;box-shadow:0 3px 13px #0007;padding:10px 16px;z-index:5}
.centered-radio .radio-tap{position:absolute;z-index:8;inset:0;display:block;width:100%;height:100%;opacity:0;border:0;border-radius:18px;background:transparent;cursor:pointer;touch-action:manipulation}
.centered-radio .radio-tap:focus-visible{opacity:1;outline:3px solid #ffe4a3;outline-offset:3px;background:rgba(255,221,142,.08)}
.centered-radio .radio-tap:active{background:rgba(255,221,142,.045);opacity:1}
.centered-radio.speaking .centered-device{animation:radioTalk 1.05s ease-in-out infinite alternate}
.centered-radio.speaking .radio-aura{animation:glowPulse .8s ease-in-out infinite alternate;background:radial-gradient(ellipse,rgba(255,228,150,.65),transparent 72%)}
.centered-radio.speaking .radio-flash{opacity:1;animation:flashTalk .7s ease-in-out infinite alternate}
.centered-radio.speaking .wave-bars{opacity:1}
.centered-radio.speaking .wave-bars i{animation:waveTalk .48s ease-in-out infinite alternate}
.centered-radio.speaking .wave-bars i:nth-child(2){animation-delay:.09s}.centered-radio.speaking .wave-bars i:nth-child(3){animation-delay:.18s}.centered-radio.speaking .wave-bars i:nth-child(4){animation-delay:.28s}.centered-radio.speaking .wave-bars i:nth-child(5){animation-delay:.12s}
@keyframes radioTalk{0%{transform:translateY(4px) rotate(-1.2deg) scale(1)}100%{transform:translateY(0) rotate(1.2deg) scale(1.02)}}
@keyframes flashTalk{0%{opacity:.2;transform:translateX(-50%) scale(.92)}100%{opacity:.9;transform:translateX(-50%) scale(1.08)}}
@keyframes waveTalk{0%{transform:scaleY(.25)}100%{transform:scaleY(1.1)}}
@media(max-width:390px){.centered-radio{height:268px}.centered-device{height:218px}.centered-radio .wave-bars{transform:translate(92px,-50%)}.centered-radio .radio-status{font-size:11px;padding:8px 14px}}

/* fix full radio placement + remove stray artifacts */
.centered-radio{height:320px;margin:8px auto 4px} 
.centered-radio .radio-backdrop{inset:14px 22px 30px;opacity:.28;filter:saturate(.78) blur(1px)}
.centered-radio .centered-device{height:262px;transform:translateY(-10px)}
.centered-radio .radio-status{bottom:18px}
.centered-radio .wave-bars{left:50%;transform:translate(112px,-50%);top:46%}
.centered-radio .radio-flash{left:50%;top:44%;transform:translateX(-50%);width:150px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,244,189,.45) 0%,rgba(255,236,171,.18) 30%,rgba(255,226,130,0) 72%);opacity:0}
.centered-radio:not(.speaking) .radio-flash{display:none}
@media(max-width:390px){.centered-radio{height:286px}.centered-radio .centered-device{height:232px;transform:translateY(-6px)}.centered-radio .wave-bars{transform:translate(98px,-50%)}.centered-radio .radio-status{bottom:14px}}

/* Jedna celá vysílačka od antény po spodní hranu, bez zdvojeného pozadí. */
.centered-radio{height:380px;margin:4px auto 0;overflow:visible;border:0;border-radius:0;background:transparent}
.centered-radio .radio-backdrop{inset:13px 14px 45px;border-radius:33px;filter:none;opacity:1;box-shadow:none;background:radial-gradient(ellipse at 50% 52%,rgba(250,213,143,.17) 0,rgba(26,57,93,.16) 39%,rgba(6,20,38,0) 73%)}
.centered-radio .radio-aura{height:284px;width:260px;transform:translateY(-4px);opacity:.58}
.centered-radio .centered-device{height:288px;width:auto;max-width:80%;position:relative;z-index:3;top:-22px;transform:none;object-fit:contain;filter:drop-shadow(0 19px 20px rgba(0,0,0,.58))}
.centered-radio .radio-status{bottom:8px;z-index:6;min-width:190px;text-align:center}
.centered-radio .wave-bars{left:50%;top:46%;transform:translate(127px,-50%);z-index:5;opacity:.12}
.centered-radio .radio-flash{z-index:4;left:50%;top:42%;width:165px;height:155px;border-radius:50%;background:radial-gradient(circle,rgba(255,238,155,.28),rgba(255,225,140,0) 75%);opacity:0}
.centered-radio .radio-tap{z-index:9}
.centered-radio.speaking .centered-device{animation:wholeRadioTalk .77s ease-in-out infinite alternate}
.centered-radio.speaking .radio-flash{animation:radioHalation .63s ease-in-out infinite alternate}
@keyframes wholeRadioTalk{from{transform:translateY(0) rotate(-.65deg);filter:drop-shadow(0 16px 17px #0009) brightness(1)}to{transform:translateY(-2px) rotate(.65deg);filter:drop-shadow(0 18px 20px #0008) brightness(1.07)}}
@keyframes radioHalation{from{opacity:.15;transform:translateX(-50%) scale(.96)}to{opacity:.88;transform:translateX(-50%) scale(1.08)}}
@media(max-width:500px){.centered-radio{height:348px}.centered-radio .centered-device{height:266px;top:-20px}.centered-radio .radio-status{bottom:4px}.centered-radio .wave-bars{transform:translate(112px,-50%)}}
@media(max-width:365px){.centered-radio{height:328px}.centered-radio .centered-device{height:250px;top:-20px}.centered-radio .wave-bars{transform:translate(100px,-50%)}}

/* Handcrafted, jewel-like holiday objects and buttons (v14) */
.star-altar{position:relative;display:flex;align-items:center;justify-content:center;width:193px;height:167px;margin:0 auto;isolation:isolate}
.star-altar::before{content:'';position:absolute;width:171px;height:151px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,228,151,.19) 0%,rgba(233,173,89,.08) 45%,transparent 70%);filter:blur(4px);z-index:-1}
.altar-ring{position:absolute;width:148px;height:148px;border-radius:50%;border:1px solid rgba(250,219,163,.35);box-shadow:0 0 0 7px rgba(222,180,97,.035),inset 0 0 18px rgba(255,233,167,.09);background:radial-gradient(circle,rgba(255,219,123,.11) 0%,transparent 58%);transform:rotate(-15deg)}
.altar-ring::before,.altar-ring::after{content:'✧';position:absolute;color:#ffe9ae;font:23px Georgia,serif;text-shadow:0 0 11px #ffe2a1}
.altar-ring::before{left:-13px;top:24px}.altar-ring::after{right:-14px;bottom:31px}
.star-jewel{width:157px;height:157px;min-width:157px;border:0;background:transparent;padding:0;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35)) drop-shadow(0 0 10px rgba(255,209,126,.12));transition:filter .22s,transform .22s;z-index:2}
.star-jewel svg{width:100%;height:100%;overflow:visible;filter:none}
.star-jewel:active{transform:scale(.97)}
.star-jewel.charging{filter:drop-shadow(0 4px 12px rgba(0,0,0,.25)) drop-shadow(0 0 18px #ffdf8c)}
.star-jewel.charging svg{animation:jewelCharge 1.1s ease-in-out infinite alternate}
.star-jewel.charged{filter:drop-shadow(0 0 19px #ffe5a8) drop-shadow(0 0 32px rgba(255,225,144,.55))}
.star-jewel .star-heart{transition:opacity .3s}
.star-jewel.charging .star-heart{opacity:1}
@keyframes jewelCharge{0%{filter:brightness(1)}100%{filter:brightness(1.45)}}
.star-progress{height:11px;width:min(83%,220px);background:linear-gradient(180deg,#0c2135,#1a3452);border:1px solid rgba(249,207,139,.65);box-shadow:inset 0 1px 5px rgba(0,0,0,.6),0 0 10px rgba(255,215,139,.08);margin-top:-2px}
.star-progress .fill{background:linear-gradient(90deg,#d08d3a,#ffce70 48%,#fff5d4 84%);box-shadow:0 0 13px rgba(255,230,158,.66)}
.activity-inner:has(.star-altar){gap:7px}
.activity-inner:has(.star-altar) .activity-label{font-size:11px;color:#ffe6ab;letter-spacing:.07em}
.activity-inner:has(.star-altar) .activity-tip{line-height:1.5;max-width:260px;font-size:12px}
.magic-item:focus-visible,.ribbon-choice:focus-visible,.light-bulb:focus-visible,.wiring-star:focus-visible{outline:3px solid #ffe8ab;outline-offset:5px}
.magic-item:not(.star-jewel){border-radius:17px;transition:filter .25s,transform .25s;filter:drop-shadow(0 7px 10px rgba(0,0,0,.25))}
.magic-item:not(.star-jewel):active{filter:drop-shadow(0 0 12px rgba(255,222,145,.45));transform:scale(.94)}
.jewel-small{filter:drop-shadow(0 0 12px rgba(246,201,99,.25))}
.magic-row .jewel-small{width:100px;height:106px;max-width:28vw;}
.ribbon-choice{border:2px solid #ddaf71;border-radius:17px;background:linear-gradient(155deg,#4e6480 0%,#203c5b 38%,#11223c 100%);box-shadow:inset 0 1px 0 #fff2,0 7px 20px #0004,0 0 0 3px #f0cb8240;transition:transform .2s,box-shadow .2s}
.ribbon-choice:active{transform:translateY(2px) scale(.98)}
.ribbon-choice.chosen{background:radial-gradient(circle at 50% 30%,#806139,#20354a 85%);border-color:#ffe6a5;box-shadow:0 0 22px rgba(255,224,141,.55),inset 0 0 12px rgba(255,220,156,.28)}
.wiring-star{background:radial-gradient(circle at 40% 30%,#57708d,#15273f 77%);border:2px solid #edcb85;color:#ffeabb;box-shadow:0 3px 12px #0006,inset 0 1px 1px #fffa,0 0 8px #ffca6a3d}
.wiring-star.done{background:radial-gradient(circle,#fff0b0,#ce903c 80%);border-color:#ffeebf;color:#a26321;box-shadow:0 0 18px rgba(255,230,142,.74)}
.light-bulb{border:2px solid rgba(250,213,138,.64);background:linear-gradient(160deg,#374f6b,#122b47);border-radius:50% 50% 19% 19%;box-shadow:inset 0 1px 0 #fff4,0 6px 14px #0005}
.light-bulb.on{background:radial-gradient(circle,#aa7843,#172b43);border-color:#ffe5ab;color:#fff8d2;text-shadow:0 0 15px #fff4b9;box-shadow:0 0 20px rgba(255,226,141,.5),inset 0 0 20px rgba(255,234,165,.25)}
.gold-action{background:linear-gradient(180deg,#d65f53 0%,#b52e38 45%,#811e30 100%);border:2px solid #f8d9a0;border-radius:19px;box-shadow:0 4px 0 #653527,0 10px 23px #0005,inset 0 2px 0 #fff2bd7a,0 -3px 5px #4b001522;transition:filter .15s,transform .15s}
.gold-action:active{filter:brightness(1.08);transform:translateY(2px)}
.secondary-action{background:linear-gradient(180deg,#fff1d6,#eac795);border:1px solid #b38648;border-radius:15px;color:#713d33;box-shadow:0 3px 8px #58381735,inset 0 1px 0 #fff9e8;font-weight:750}
@media(max-width:370px){.star-altar{width:175px;height:156px}.star-jewel{width:145px;height:145px;min-width:145px}.altar-ring{height:137px;width:137px}.magic-row .jewel-small{width:88px;height:96px}}
@media(prefers-reduced-motion:reduce){.star-jewel.charging svg{animation:none}}
