/* Scoped DOM-only panel styling. The canvas, textures and existing controls are untouched. */
#solarLearning { --sl-ready: 1; font-size: 14px; line-height: 1.55; }
#solarLearning[hidden] { display: none !important; }
#panel { width: min(338px, 84vw); padding: 0; top: var(--sl-panel-top, 90px); max-height: var(--sl-panel-cap, calc(100vh - 160px)); display: flex; flex-direction: column; overflow: hidden; z-index: 8; visibility: hidden; }
#panel.show { visibility: visible; }
#panel .solar-panel-head { flex: 0 0 auto; position: relative; padding: 13px 16px 10px; border-bottom: 1px solid rgba(120,160,220,.16); }
#panel h2 { margin: 0; padding-right: 86px; font-size: 19px; line-height: 1.4; touch-action: none; }
#panel .en { margin: 3px 0 0; }
#panel .solar-panel-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 12px 14px 14px; overscroll-behavior: contain; touch-action: pan-y; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #516488 rgba(10,14,25,.35); }
#panel .solar-panel-body::-webkit-scrollbar { width: 6px; }
#panel .solar-panel-body::-webkit-scrollbar-thumb { background: #516488; border-radius: 4px; }
#panel .close, #panel .fold { position: absolute; top: 9px; right: 8px; width: 38px; height: 38px; padding: 0; display: flex; justify-content: center; align-items: center; font-size: 21px; line-height: 1; color: #dce6ff; background: rgba(90,130,210,.12); border: 1px solid rgba(120,160,220,.25); border-radius: 9px; }
#panel .fold { right: 50px; font-size: 17px; }
#panel .close:hover, #panel .fold:hover { background: rgba(120,160,220,.3); }
#panel.collapsed { padding: 0; }
#panel.collapsed .solar-panel-body { display: none; }
#panel.collapsed .solar-panel-head { border-bottom: 0; min-height: 57px; }
#panel.has-learning .solar-panel-body > .facts, #panel.has-learning .solar-panel-body > #pDesc { display: none; }
#panel.has-learning .solar-panel-body { padding-top: 10px; }
#solarLearning .sl-teaser { font-size: 13px; line-height: 1.6; color: #c8d5e8; margin: 0 2px 9px; }
#solarLearning h3 { font-size: 13px; line-height: 1.5; font-weight: 600; color: #c9dcff; margin: 0 0 6px; }
#solarLearning .sl-experience { background: linear-gradient(130deg, rgba(53,86,142,.28), rgba(18,29,53,.2)); border: 1px solid rgba(139,176,231,.24); border-radius: 11px; padding: 10px 12px; margin-bottom: 10px; }
#solarLearning .sl-kicker { font-size: 12px; font-weight: 500; letter-spacing: .03em; color: #b1c9ed; }
#solarLearning .sl-label { color: #d3dded; font-size: 12px; }
#solarLearning .sl-weight { font-size: 28px; font-weight: 650; line-height: 1.35; letter-spacing: -.025em; color: #f1f6ff; font-variant-numeric: tabular-nums; margin: 2px 0 7px; }
#solarLearning .sl-weight span { font-size: 13px; font-weight: 500; letter-spacing: 0; }
#solarLearning .sl-fact-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; padding: 8px 0; border-bottom: 1px solid rgba(139,176,231,.13); }
#solarLearning .sl-fact-row:last-child { border-bottom: none; }
#solarLearning dt { color: #b5c4dc; font-size: 12px; align-self: center; overflow-wrap: anywhere; }
#solarLearning dd { text-align: right; color: #e6eeff; font-size: 13px; line-height: 1.5; font-weight: 550; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#solarLearning .sl-quick .sl-fact-row { padding: 4px 0; }
#solarLearning .sl-quick { margin-bottom: 5px; }
#solarLearning .sl-note, #solarLearning .sl-basis-short { font-size: 12px; line-height: 1.55; color: #b9c7df; margin: 5px 0 0; }
#solarLearning .sl-basis-short { color: #aebed7; }
#solarLearning .sl-surface-note { font-size: 12px; line-height: 1.55; color: #dccdaa; border-top: 1px solid rgba(201,173,106,.23); padding-top: 6px; margin-top: 6px; }
#solarLearning .sl-disclosure { margin-top: 8px; background: rgba(90,130,210,.06); border: 1px solid rgba(120,160,220,.3); border-radius: 9px; }
#solarLearning summary { list-style: none; cursor: pointer; min-height: 44px; display: flex; gap: 8px; justify-content: space-between; align-items: center; padding: 10px 12px; font-size: 14px; font-weight: 550; color: #dce9ff; }
#solarLearning summary::-webkit-details-marker { display: none; }
#solarLearning summary::after { content: '＋'; color: #a7c6ff; flex: 0 0 auto; font-weight: 400; }
#solarLearning details[open] > summary::after { content: '−'; }
#solarLearning summary:hover { background: rgba(120,160,220,.12); border-radius: 8px; }
#solarLearning summary:focus-visible, #solarLearning a:focus-visible, #panel button:focus-visible { outline: 2px solid #adceff; outline-offset: 2px; }
#solarLearning details[open] > summary { border-bottom: 1px solid rgba(120,160,220,.18); }
#solarLearning .sl-disclosure-content { padding: 0 11px 12px; }
#solarLearning .sl-compare-table { border-collapse: collapse; width: 100%; table-layout: fixed; margin: 7px 0; font-size: 12px; }
#solarLearning .sl-compare-table th, #solarLearning .sl-compare-table td { padding: 9px 3px; border-bottom: 1px solid rgba(139,176,231,.15); vertical-align: middle; overflow-wrap: anywhere; }
#solarLearning .sl-compare-table thead th { font-size: 12px; color: #a7c6ff; font-weight: 600; }
#solarLearning .sl-compare-table th:first-child { width: 38%; text-align: left; color: #bdcce3; font-weight: 500; }
#solarLearning .sl-compare-table td { text-align: center; font-variant-numeric: tabular-nums; color: #e6eeff; }
#solarLearning .sl-compare-table td:nth-child(2) { color: #c6ddff; background: rgba(84,124,193,.09); }
#solarLearning .sl-environment, #solarLearning .sl-basis, #solarLearning .sl-sources { margin-top: 13px; padding-top: 10px; border-top: 1px solid rgba(139,176,231,.17); }
#solarLearning .sl-temp { color: #dce9ff; font-size: 13px; line-height: 1.6; }
#solarLearning .sl-source { color: #a9cdff; font-size: 12px; text-underline-offset: 3px; overflow-wrap: anywhere; display: inline-block; padding: 5px 0; }
#solarLearning .sl-sources .sl-source { display: block; }
#solarLearning .sl-model-note { font-size: 11px; line-height: 1.55; color: #aebed6; margin-top: 10px; }
#solarLearning .sl-earth-note { font-size: 12px; line-height: 1.55; color: #b9c7df; margin: 10px 2px; }
#solarLearning .sl-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@media (max-width: 640px) and (orientation: portrait) {
  #panel { top: auto; bottom: 62px; left: 8px; right: 8px; width: auto; max-height: min(46vh, 390px, var(--sl-panel-cap, 46vh)); transform: translateY(16px); }
  #panel.show { transform: translateY(0); }
  #panel .solar-panel-head { padding: 10px 14px 8px; }
  #panel h2 { cursor: default; }
  #panel .solar-panel-body { padding: 10px 12px 12px; }
  #solarLearning .sl-weight { font-size: 26px; }
  #panel.has-learning .solar-panel-body { padding-top: 8px; }
  #solarLearning .sl-experience { padding: 8px 11px; margin-bottom: 8px; }
  #solarLearning .sl-experience h3 { margin-bottom: 4px; }
  #solarLearning .sl-weight { margin-bottom: 5px; }
  #solarLearning .sl-quick .sl-fact-row { padding: 3px 0; }
  #solarLearning .sl-quick { margin-bottom: 4px; }
  #solarLearning .sl-experience .sl-note { margin-top: 4px; }
  #solarLearning .sl-surface-note { padding-top: 4px; margin-top: 4px; }
}
@media (max-width: 340px) and (max-height: 620px) {
  #ui p.sub { display: none; }
  #ui .row { margin-top: 6px; }
  #credit { margin-top: 6px; }
  #panel { max-height: min(35vh, 200px, var(--sl-panel-cap, 35vh)); }
}
@media (max-height: 500px) and (orientation: landscape) {
  #panel { top: auto; bottom: 62px; left: auto; right: 8px; width: min(318px, 40vw); max-height: var(--sl-panel-cap, 70vh); }
  #panel h2 { cursor: default; font-size: 17px; }
  #panel .solar-panel-head { padding: 8px 12px 6px; }
  #panel .solar-panel-body { padding: 7px 10px 9px; }
  #solarLearning .sl-teaser { font-size: 11.5px; line-height: 1.45; margin-bottom: 6px; }
  #solarLearning .sl-experience { padding: 7px 9px; margin-bottom: 6px; }
  #solarLearning .sl-weight { font-size: 22px; margin-bottom: 3px; }
  #solarLearning .sl-quick .sl-fact-row { padding: 2px 0; }
  #solarLearning .sl-note, #solarLearning .sl-surface-note, #solarLearning .sl-earth-note { font-size: 11px; line-height: 1.4; }
  #solarLearning .sl-disclosure { margin-top: 5px; }
  #solarLearning summary { min-height: 36px; padding: 7px 10px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  #panel { transition: none; }
}
