.solar-lab{--solar-teal:#246d73;--solar-gold:#e9ad3d;margin-top:17px;padding:clamp(18px,3vw,31px);overflow:hidden;border:1px solid #bfd1ce;border-radius:19px;background:linear-gradient(145deg,#fffdf7,#eaf5f2);box-shadow:0 12px 28px rgba(38,74,69,.12)}.solar-lab-intro h3{margin:5px 0 8px;font:700 clamp(24px,3vw,32px)/1.15 'Fraunces',serif}.solar-lab-intro>p:not(.eyebrow){max-width:880px;color:#526862;line-height:1.6}.solar-vocab{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.solar-vocab span{display:flex;flex:1 1 190px;flex-direction:column;padding:11px 13px;border:1px solid #c7d9d5;border-radius:11px;background:#fff;color:#60736d;font-size:12px}.solar-vocab b{margin-bottom:3px;color:var(--solar-teal);font-size:14px}.surface-picker,.cooling-condition,.radiant-source-picker,.solar-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.surface-picker button,.cooling-condition button,.radiant-source-picker button,.solar-actions button,.primary-solar-action{padding:10px 14px;border:1px solid #b8c9c5;border-radius:10px;background:#fff;color:#315d56;font-weight:800;cursor:pointer;box-shadow:0 4px 9px rgba(38,74,69,.08)}.surface-picker button[aria-pressed=true],.cooling-condition button[aria-pressed=true],.radiant-source-picker button[aria-pressed=true],.solar-actions button:first-child,.primary-solar-action{border-color:var(--solar-teal);background:var(--solar-teal);color:#fff}.solar-slider{display:flex;justify-content:space-between;flex-wrap:wrap;padding:13px 15px;border-radius:12px;background:#fff;font-weight:800}.solar-slider input{flex:1 0 100%;width:100%;margin-top:10px;accent-color:var(--solar-teal)}.warming-scene{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:12px}.sample-station{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:180px;padding:18px;border-radius:15px;background:linear-gradient(#bde4ef 0 58%,#d5c393 58%);overflow:hidden}.sample-station.in-shade{background:linear-gradient(#b9cdd0 0 58%,#b7b096 58%)}.weather-symbol{position:absolute;right:18px;top:12px;color:#f4bf3e;font-size:48px;text-shadow:0 0 18px #fff49a}.shade-canopy{position:absolute;left:0;right:0;top:0;height:55%;background:linear-gradient(145deg,#315e56,#1f403d);clip-path:polygon(0 0,100% 0,82% 34%,18% 34%)}.sample-tile{grid-row:1/4;align-self:end;width:125px;height:55px;border:4px solid rgba(51,58,51,.35);border-radius:50%;background:#4f5551;box-shadow:inset 0 -9px rgba(0,0,0,.16),0 8px 10px rgba(0,0,0,.17)}.sample-tile.sand{background:#d9ba75}.sample-tile.grass{background:repeating-linear-gradient(80deg,#62974c 0 7px,#77ad58 7px 13px)}.sample-station>b,.sample-station>output{position:relative;z-index:2;justify-self:end}.sample-station>output{padding:6px 8px;border-radius:7px;background:#fff;font:800 15px monospace}.mini-thermometer{position:relative;justify-self:end;width:90px;height:9px;border:2px solid #68807b;border-radius:99px;background:#edf5f3;overflow:hidden}.mini-thermometer i{display:block;width:0;height:100%;background:linear-gradient(90deg,#e8a143,#df6049);transition:width .8s}.solar-result{padding:14px 16px;border-left:5px solid var(--solar-gold);border-radius:8px;background:#fff;color:#526862;line-height:1.5}.solar-result strong{color:var(--solar-teal)}.warming-scene.running .weather-symbol{animation:sun-pulse .65s ease infinite alternate}.warming-scene.running .sample-tile{animation:sample-warm .8s ease infinite alternate}@keyframes sun-pulse{to{transform:scale(1.13);text-shadow:0 0 28px #ffea76}}@keyframes sample-warm{to{filter:brightness(1.12)}}
.cooling-scene{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:16px;min-height:220px;margin-top:12px;padding:18px;border-radius:15px;background:linear-gradient(#b9d9df 0 64%,#b9ae91 64%);transition:background .35s}.cooling-scene.night{background:linear-gradient(#173c4c 0 64%,#655f59 64%)}.cooling-sky{position:relative;display:grid;place-items:center;min-height:150px;font-size:70px}.blocked-rays{position:absolute;inset:16%;border:4px dashed #edbb46;border-radius:50%;opacity:.65}.cooling-scene.cooling .blocked-rays{animation:ray-fade 1s forwards}.warm-stone{display:flex;flex-direction:column;align-items:center;align-self:end}.warm-stone>span{color:#7c6955;font-size:90px;line-height:.65;text-shadow:0 -5px 14px rgba(238,100,45,.55)}.warm-stone small{margin-top:10px;font-weight:800}.cooling-gauge{padding:16px;border-radius:12px;background:#fff}.cooling-gauge strong{display:block;margin:6px 0;color:#d65c40;font:800 22px monospace}.cooling-meter{height:14px;overflow:hidden;border-radius:99px;background:#dfe9e6}.cooling-meter i{display:block;width:78%;height:100%;background:linear-gradient(90deg,#4298aa,#f0bb45,#dd604a);transition:width 1s}.primary-solar-action{margin:12px 0 0}.cooling-scene.cooling .warm-stone>span{animation:stone-cool 1s forwards}@keyframes ray-fade{to{opacity:.12;transform:scale(.7)}}@keyframes stone-cool{to{text-shadow:0 -3px 5px rgba(85,131,144,.25)}}
.source-compare-scene{position:relative;display:grid;grid-template-columns:130px 1fr 110px;align-items:center;gap:0;height:190px;margin-top:12px;padding:15px;border-radius:15px;background:linear-gradient(#173e48,#245e65);overflow:hidden}.chosen-source{position:relative;z-index:2;text-align:center;font-size:76px;filter:drop-shadow(0 0 15px #ffe48a)}.radiant-beam{position:relative;height:100px}.radiant-beam i{position:absolute;left:0;right:0;top:50%;height:4px;background:#ffe486;box-shadow:0 0 12px #ffe486;transform-origin:left}.radiant-beam i:first-child{transform:rotate(-8deg)}.radiant-beam i:nth-child(2){transform:rotate(0)}.radiant-beam i:nth-child(3){transform:rotate(8deg)}.energy-sensor{position:relative;z-index:2;display:grid;place-items:center;height:130px;border:5px solid #9eb4b3;border-radius:8px;background:#eef6f2;color:#2c5f5b;font-weight:900}.energy-sensor i{width:42px;height:42px;border-radius:50%;background:#dce7e3;box-shadow:inset 0 0 0 7px #fff;transition:background .5s,box-shadow .5s}.source-compare-scene.measured .energy-sensor i{background:#f4bd52;box-shadow:0 0 20px #ffdc72,inset 0 0 0 7px #fff}.source-readings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.source-readings>div{padding:14px;border-radius:12px;background:#fff}.source-readings span{display:block;color:#60736d;font-size:12px;font-weight:800}.source-readings strong{display:block;margin:5px 0;color:var(--solar-teal);font:800 19px monospace}.source-readings i{display:block;height:10px;overflow:hidden;border-radius:99px;background:#e2ebe8}.source-readings b{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4a9daf,#f0bd4d);transition:width .8s}.source-readings>div:nth-child(2) b{background:linear-gradient(90deg,#e4ad45,#dd6049)}
@media(max-width:700px){.warming-scene,.cooling-scene,.source-readings{grid-template-columns:1fr}.source-compare-scene{grid-template-columns:80px 1fr 72px;height:155px}.chosen-source{font-size:52px}.energy-sensor{height:100px}.sample-tile{width:95px}.cooling-sky{min-height:100px}.warm-stone{align-self:center}.solar-lab{padding:16px}}@media(prefers-reduced-motion:reduce){.warming-scene.running .weather-symbol,.warming-scene.running .sample-tile{animation:none}.mini-thermometer i,.cooling-meter i,.source-readings b{transition:none}}
