/* An illustrated research reading room. All interactions keep a plain HTML route. */
body.studio.hl-season{background-color:#151e29;background-image:radial-gradient(#b4c0a521 1px,transparent 1px);background-size:26px 26px}
body.studio.hl-season .hl-entrance{display:block;position:relative;width:100%;max-width:none;margin:24px 0;padding:clamp(20px,4vw,42px);border:4px solid #090e17;background:#233336;color:#f4e7c9;box-shadow:8px 8px 0 #090e17;box-sizing:border-box}
body.studio.hl-season .hl-topline{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}
body.studio.hl-season .hl-kicker{margin:0;color:#c7ddab;font:800 12px/1.6 Consolas,monospace;letter-spacing:.09em}
body.studio.hl-season .hl-open-sign{display:inline-block;transform:rotate(2deg);padding:7px 12px;background:#e5bd7d;color:#101d25;border:2px solid #090e17;font:850 12px/1.4 monospace}
body.studio.hl-season .hl-entrance h1{max-width:22ch;margin:22px 0 18px;color:#f4e7c9;font:800 clamp(38px,5.7vw,76px)/1.03 Georgia,serif;letter-spacing:-.04em;text-align:left;text-transform:none;text-shadow:none;-webkit-text-stroke:0}
body.studio.hl-season .hl-entrance .hl-lead{max-width:68ch;margin:0 0 28px;color:#e3e4d2;font:19px/1.75 'Segoe UI',Arial,sans-serif;text-align:left}
body.studio.hl-season .hl-scene{position:relative;background:#161e2b;border:3px solid #090e17;margin:0 -10px;overflow:hidden}
body.studio.hl-season .hl-scene>img{display:block;width:100%;max-width:none;height:auto;margin:0;transform:translateY(var(--hl-lift,0px));transition:transform .3s ease}
body.studio.hl-season .hl-map-doors{position:absolute;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;left:4%;right:4%;bottom:5%;padding:0;margin:0;border:0;text-align:left;max-width:none}
body.studio.hl-season .hl-map-doors>a{position:relative;display:block;min-width:0;padding:14px 16px 14px 44px;background:#e8ddbf;color:#15252c;border:3px solid #090e17;text-decoration:none;box-shadow:4px 4px 0 #090e17;transition:transform .15s ease}
body.studio.hl-season .hl-map-doors>a:nth-child(2){background:#c5d3b0}
body.studio.hl-season .hl-map-doors>a:nth-child(3){background:#d4b9c5}
body.studio.hl-season .hl-map-doors>a>span{position:absolute;left:12px;top:15px;color:#33464a;font:800 12px/1.4 monospace}
body.studio.hl-season .hl-map-doors strong{display:block;color:#15252c;font:850 clamp(15px,1.6vw,21px)/1.3 'Segoe UI',Arial,sans-serif}
body.studio.hl-season .hl-map-doors small{display:block;margin-top:5px;color:#33464a;font:14px/1.5 'Segoe UI',Arial,sans-serif}
body.studio.hl-season .hl-map-doors>a:hover{transform:translateY(-5px)}
body.studio.hl-season .hl-familiar{display:flex;align-items:center;gap:18px;margin-top:22px;padding:16px 18px;border:1px solid #778a80;background:#172a30;text-align:left}
body.studio.hl-season .hl-familiar p{max-width:75ch;margin:0;color:#ede6d0;font:16px/1.65 'Segoe UI',Arial,sans-serif}
body.studio.hl-season .hl-familiar button{flex-shrink:0;padding:10px 12px;background:#e5bd7d;color:#15252c;border:2px solid #090e17;font:800 14px/1.4 'Segoe UI',Arial,sans-serif;cursor:pointer}
body.studio.hl-season .hl-familiar button span{display:inline-block;margin-right:6px;animation:hl-book-float 4s ease-in-out infinite}
@keyframes hl-book-float{50%{transform:translateY(-3px) rotate(12deg)}}
body.studio.hl-season .hl-route-picker{margin:32px 0;padding:clamp(20px,4vw,36px);border:4px solid #090e17;background:#263c3c;color:#f4e7c9}
body.studio.hl-season .hl-picker-heading{display:flex;justify-content:space-between;gap:24px;align-items:start}
body.studio.hl-season .hl-route-picker h2{margin:12px 0 22px;max-width:34ch;color:#f4e7c9;font:750 clamp(26px,3.2vw,38px)/1.2 Georgia,serif}
body.studio.hl-season [data-hl-calm]{flex-shrink:0;padding:10px 14px;min-height:44px;border:2px solid #8a9c8e;background:#172a30;color:#eee7cf;font-weight:750;cursor:pointer}
body.studio.hl-season .hl-route-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 22px}
body.studio.hl-season .hl-route-buttons button{min-height:48px;padding:12px 18px;border:3px solid #090e17;background:#e7dfc8;color:#15252c;font:800 17px/1.4 'Segoe UI',Arial,sans-serif;cursor:pointer}
body.studio.hl-season .hl-route-buttons button[aria-pressed=true]{background:#b8d6a0;box-shadow:inset 0 -4px 0 #76936b}
body.studio.hl-season .hl-plan{margin:16px 0;padding:clamp(22px,4vw,32px);border:3px solid #090e17;border-left:9px solid #d3ad70;background:#f0ebda;color:#15252c;text-align:left}
body.studio.hl-season .hl-plan-icon{color:#3b5555;font:800 12px/1.5 monospace;letter-spacing:.07em}
body.studio.hl-season .hl-plan h3{margin:12px 0 16px;color:#15252c;font:850 clamp(25px,3vw,34px)/1.2 'Segoe UI',Arial,sans-serif}
body.studio.hl-season .hl-plan :is(p,li){max-width:75ch;color:#233b40;font:18px/1.75 'Segoe UI',Arial,sans-serif}
body.studio.hl-season .hl-plan ol{padding-left:24px;margin:18px 0 24px}
body.studio.hl-season .hl-plan li{margin-bottom:8px}
body.studio.hl-season a.hl-launch{display:inline-block;padding:14px 18px;border:3px solid #090e17;background:#d9b477;color:#15252c;text-decoration:none;font:850 17px/1.5 'Segoe UI',Arial,sans-serif;box-shadow:4px 4px 0 #090e17}
body.studio.hl-season .hl-small-link{display:block;width:fit-content;margin-top:22px;color:#4d3560;font-weight:750}
body.studio.hl-season .hl-route-status{margin:20px 0 0;color:#e5e8d5;font:15px/1.65 'Segoe UI',Arial,sans-serif}
body.studio.hl-season .hl-archive{padding:0;margin:30px 0;border:2px solid #718379;background:#1e2a31;color:#e7e3d1}
body.studio.hl-season .hl-archive>summary{padding:20px;color:#e4c68d;font:750 17px/1.5 'Segoe UI',Arial,sans-serif;cursor:pointer}
body.studio.hl-season .hl-archive .start-lab{margin:0;box-shadow:none;border:0}
body.studio.hl-season .hl-archive .sl-copy h2{font:800 38px/1.1 Georgia,serif;color:#f0e4c8}
body.studio.hl-season .hl-archive .fq-road{margin:24px;border-width:2px}
body.studio.hl-season .hl-archive .lab-legends-ticker{margin:24px}
body.studio.hl-season .hl-library-return{margin:20px 0 0;font-size:16px;text-align:left}
body.studio.hl-season .hl-library-return a{color:#f0cc88;font-weight:750}
body.studio.hl-season .hl-final-invitation{margin-top:28px;padding:22px 24px;border:2px solid #090e17;border-left:8px solid #b991a4;background:#e7ddcb;color:#15252c}
body.studio.hl-season .hl-final-invitation :is(h4,p){color:#15252c}
body.studio.hl-season .hl-final-invitation h4{font:850 25px/1.3 'Segoe UI',Arial,sans-serif;margin:12px 0}
body.studio.hl-season .hl-final-invitation .hl-kicker{color:#465c50}
body.studio.hl-season .hl-final-invitation a{color:#49335b;font-weight:800}
body.studio.hl-season .studio-header nav .hl-final-tab{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:7px 12px;border:2px solid #090e17;border-top:5px solid #d0af7a;background:#dfd2b5;color:#15252c;font-weight:800}
body.studio.hl-season .hl-new{padding:3px 5px;background:#273b3a;color:#f4e7c9;font:800 10px/1.2 monospace;letter-spacing:.03em}
body.studio.hl-season :is(.hl-entrance,.hl-route-picker,.hl-archive) a:focus-visible,body.studio.hl-season :is(.hl-entrance,.hl-route-picker) button:focus-visible{outline:3px solid #d09eb8;outline-offset:5px}
body.studio.hl-season [hidden]{display:none!important}
.hl-quiet .hl-familiar button span{animation:none!important}
.hl-quiet .hl-scene>img{transform:none!important;transition:none!important}
.hl-quiet :is(.hl-map-doors>a,.lq-tile,.lq-tick,.lq-body,.lq-scan,.lq-spin,.lq-sun,.lq-lamp,.lq-book,.lq-dot){animation:none!important;transition:none!important;transform:none!important}
@media(max-width:900px){body.studio.hl-season .hl-map-doors{gap:10px;left:2%;right:2%;bottom:3%}body.studio.hl-season .hl-map-doors>a{padding:12px}body.studio.hl-season .hl-map-doors>a>span{position:static;display:block;margin-bottom:5px}body.studio.hl-season .hl-map-doors small{display:none}body.studio.hl-season .hl-familiar{align-items:start;flex-direction:column;gap:12px}}
@media(max-width:560px){body.studio.hl-season .hl-entrance{padding:20px 14px;box-shadow:4px 4px 0 #090e17}body.studio.hl-season .hl-scene{margin:0}body.studio.hl-season .hl-map-doors{position:static;grid-template-columns:1fr;gap:10px;padding:12px;background:#172a30}body.studio.hl-season .hl-map-doors>a{padding:12px 14px}body.studio.hl-season .hl-map-doors>a>span{display:none}body.studio.hl-season .hl-map-doors small{display:block}body.studio.hl-season .hl-picker-heading{display:block}body.studio.hl-season [data-hl-calm]{margin-bottom:18px}body.studio.hl-season .hl-route-buttons{display:grid;grid-template-columns:1fr;width:100%}body.studio.hl-season .hl-entrance h1{font-size:38px}body.studio.hl-season .hl-archive .fq-road{margin:10px}}
@media(prefers-reduced-motion:reduce){body.studio.hl-season .hl-familiar button span{animation:none}body.studio.hl-season .hl-scene>img,body.studio.hl-season .hl-map-doors>a{transform:none;transition:none}}
@media print{body.studio.hl-season .hl-scene,body.studio.hl-season .hl-familiar,body.studio.hl-season [data-hl-calm]{display:none}body.studio.hl-season .hl-entrance,body.studio.hl-season .hl-route-picker,body.studio.hl-season .hl-plan{background:white;color:#111;border:1px solid #444;box-shadow:none}body.studio.hl-season .hl-plan[hidden]{display:block!important}}
/* The animated cartoon laboratory lives inside the drawing, around the reading controls. */
body.studio.hl-season .hl-entrance{background:#30263f;border-top:7px solid #bde74c;overflow:hidden;padding-top:40px}
body.studio.hl-season .hl-entrance h1{max-width:24ch;color:#c9ef52;font-family:Impact,'Arial Black','Segoe UI',sans-serif;font-weight:900;font-size:clamp(42px,6.3vw,84px);line-height:1.02;letter-spacing:.015em;text-transform:uppercase;-webkit-text-stroke:1px #090e17;text-shadow:3px 4px 0 #090e17}
body.studio.hl-season .hl-scene>svg.hh-drawing{display:block;width:100%;height:auto;aspect-ratio:1200/620;background:#161e2b;overflow:hidden}
.hh-slime{position:absolute;top:0;left:0;right:0;height:7px;background:#bde74c;pointer-events:none}
.hh-slime i{position:absolute;top:0;left:8%;height:22px;width:17px;border:2px solid #090e17;border-top:0;border-radius:0 0 10px 10px;background:#bde74c;transform-origin:top;animation:hh-drip 7s ease-in-out infinite}
.hh-slime i:nth-child(2){left:19%;height:13px;animation-delay:-2s}.hh-slime i:nth-child(3){left:37%;height:28px;animation-delay:-5s}.hh-slime i:nth-child(4){left:58%;height:16px;animation-delay:-1s}.hh-slime i:nth-child(5){left:71%;height:24px;animation-delay:-3s}.hh-slime i:nth-child(6){left:86%;height:12px;animation-delay:-6s}.hh-slime i:nth-child(7){left:96%;height:22px;animation-delay:-4s}
.hh-drawing .hh-gear{transform-origin:0 0;animation:hh-turn 14s linear infinite}
.hh-drawing .hh-reverse{animation-direction:reverse;animation-duration:11s}
.hh-drawing .hh-ghost{animation:hh-hover 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.hh-drawing .hh-eyes{transform:translate(var(--hh-look-x,0px),var(--hh-look-y,0px));transition:transform .18s ease-out}
.hh-drawing .hh-book{transform-box:fill-box;transform-origin:center;animation:hh-book 6s ease-in-out infinite}
.hh-drawing .hh-bat{transform-box:fill-box;transform-origin:center;animation:hh-bat 8s ease-in-out infinite}
.hh-drawing .hh-bat-two{animation-duration:11s;animation-delay:-4s}
.hh-drawing .hh-spider{transform-box:fill-box;transform-origin:top center;animation:hh-sway 9s ease-in-out infinite}
.hh-drawing .hh-code{animation:hh-code 5s ease-in-out infinite}
.hh-drawing .hh-led{animation:hh-lamp 4s ease-in-out infinite}
.hh-awake .hh-drawing .hh-gear{animation-duration:2.5s}
.hh-awake .hh-drawing .hh-code{animation-duration:1.8s}
.hh-awake .hh-drawing .hh-led{fill:#f3cd66}
[data-hh-room=browse] .hh-drawing .hh-book{animation-duration:3.5s}
body.studio.hl-season .hh-machine-controls{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
body.studio.hl-season .hh-machine-controls [data-hh-wake]{background:#c9ef52}
body.studio.hl-season [data-hh-wake][aria-pressed=true]{background:#f1c75a}
@keyframes hh-turn{to{transform:rotate(360deg)}}
@keyframes hh-hover{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@keyframes hh-book{0%,100%{transform:translate(0,0) rotate(-5deg)}50%{transform:translate(5px,-14px) rotate(7deg)}}
@keyframes hh-bat{0%,100%{transform:translate(-8px,3px) rotate(-5deg)}50%{transform:translate(18px,-8px) rotate(7deg)}}
@keyframes hh-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
@keyframes hh-code{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes hh-lamp{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes hh-drip{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.15)}}
.hl-quiet .hh-drawing *,.hl-quiet .hh-slime i{animation:none!important;transition:none!important}
.hl-quiet .hh-drawing .hh-eyes{transform:none!important}
@media(prefers-reduced-motion:reduce){.hh-drawing *,.hh-slime i{animation:none!important;transition:none!important}.hh-drawing .hh-eyes{transform:none!important}}
@media(max-width:560px){body.studio.hl-season .hl-entrance h1{font-size:43px}.hh-machine-controls{width:100%}body.studio.hl-season .hh-machine-controls button{flex:1 1 140px}}
/* The course map is home. The seasonal room lives inside the dated fifth lab. */
body.studio.hl-season .hl-main-map{margin:24px 0 36px;padding:0;border:0;background:none;scroll-margin-top:18px}
body.studio.hl-season .hl-main-map .start-lab{padding:26px 0 34px}
body.studio.hl-season .hl-map-more{margin-top:26px;border:2px solid #718379;background:#1e2a31}
body.studio.hl-season .hl-map-more>summary{padding:18px 22px;color:#e4c68d;font:750 16px/1.5 'Segoe UI',Arial,sans-serif;cursor:pointer}
body.studio.hl-season .lv-halloween{--c:#f4af5d}
body.studio.hl-season .lv-halloween .lv-date{display:flex;align-items:center;gap:6px}
body.studio.hl-season .hl-date-logo{display:inline-block;flex-shrink:0;vertical-align:middle;width:26px;height:26px}
body.studio.hl-season .hl-map-theme{font:700 12px/1.4 'Segoe UI',Arial,sans-serif;color:#f4d39c}
body.studio.hl-season .lv-halloween .lv-orb{border-color:#452b21}
body.studio.hl-season .hl-topline .hl-kicker{display:flex;align-items:center;gap:10px}
body.studio.hl-season a.hl-start-session{display:inline-block;max-width:100%;margin:0 0 24px;padding:13px 18px;background:#c9e693;color:#16272e;border:3px solid #090e17;text-decoration:none;font:850 17px/1.5 'Segoe UI',Arial,sans-serif}
body.studio.hl-season a.hl-start-session:hover{background:#e0efb6}
body.studio.hl-season .hl-scene-controls{margin-top:18px;border-top:1px solid #758176;background:none}
body.studio.hl-season .hl-scene-controls>summary{padding:14px 0;color:#ead1a0;font:750 15px/1.5 'Segoe UI',Arial,sans-serif;cursor:pointer}
body.studio.hl-season .hl-scene-controls .hl-familiar{margin-top:0}
body.studio.hl-season .hl-friday-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px 26px}
body.studio.hl-season .hl-friday-hero .hl-topline{grid-column:1/-1}
body.studio.hl-season .hl-friday-hero .hl-entrance-copy{align-self:center}
body.studio.hl-season .hl-friday-hero h2{margin:14px 0 20px;max-width:16ch;font:900 clamp(32px,4.1vw,52px)/1.08 Impact,'Arial Black','Segoe UI',sans-serif;letter-spacing:.015em;text-transform:uppercase;color:#c9ef52;text-shadow:2px 3px 0 #090e17}
body.studio.hl-season .hl-friday-hero .hl-lead{font-size:18px;margin-bottom:20px}
body.studio.hl-season .hl-friday-hero .hl-scene{margin:0;align-self:center}
body.studio.hl-season .hl-friday-hero .hl-scene-controls{grid-column:1/-1}
body.studio.hl-season .hl-library-hero .hl-entrance-copy{max-width:84ch}
body.studio.hl-season .hl-picker-heading>div>p:not(.hl-kicker){max-width:70ch;color:#e4e9da;font-size:18px;line-height:1.7}
@media(max-width:800px){body.studio.hl-season .hl-friday-hero{grid-template-columns:1fr}body.studio.hl-season .hl-friday-hero h2{max-width:24ch}body.studio.hl-season .hl-friday-hero .hl-scene{grid-column:1}}
@media print{body.studio.hl-season .hl-scene-controls{display:none}}
/* Keep the reusable lab room readable on narrow screens. */
body.studio.hl-season :is(.ff-social-heading,.ff-snacks,.hl-entrance-copy){min-width:0;overflow-wrap:anywhere}
body.studio.hl-season .ff-social-heading h2{overflow-wrap:anywhere}
body.studio.hl-season #lab-5 code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
