.source-grid button{text-align:left;border:0;background:none;color:inherit;font:inherit;cursor:pointer}.source-grid button:focus-visible{outline:2px solid var(--lime);outline-offset:-5px}.source-reference{display:inline-flex;align-items:center;gap:8px;padding:5px 0;background:none;border:0;border-bottom:1px solid #c2f97030;font:11px var(--font);cursor:pointer}.source-reference:hover{border-bottom-color:var(--lime);color:#e0ffba}.source-reference:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
#sourcePanel{position:fixed;inset:0 0 0 auto;margin:0;width:min(590px,94vw);height:100dvh;max-height:100dvh;max-width:100vw;border:1px solid #ffffff20;border-right:0;border-radius:22px 0 0 22px;padding:0;background:radial-gradient(ellipse at 90% 0,#23452c22,transparent 40%),#0d141bf7;box-shadow:-25px 0 100px #0008;overflow:hidden;overscroll-behavior:contain}#sourcePanel[open]{display:flex;flex-direction:column;animation:source-slide-in .28s cubic-bezier(.16,1,.3,1) both}#sourcePanel::backdrop{background:#03070b9e;backdrop-filter:blur(9px);animation:source-backdrop-in .25s ease}#sourcePanel.source-panel-exit{animation:source-slide-out .22s ease both}#sourcePanel.source-panel-exit::backdrop{animation:source-backdrop-out .22s ease both}.source-panel-head{flex:none;padding:0 28px;border-bottom:1px solid var(--line);background:#0d141bc9}.source-panel-head-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:78px}.source-panel-head-row .eyebrow{font-size:8px;letter-spacing:1.3px}.source-panel-head .close-button{width:40px;height:40px;border-radius:50%;flex:none}.source-panel-head .close-button:hover{background:#ffffff08;color:var(--ink)}.source-panel-head .close-button:focus-visible{outline:2px solid var(--lime)}.source-panel-nav{display:flex;gap:20px;overflow-x:auto;scrollbar-width:thin;scroll-padding:10px}.source-panel-nav button{background:none;border:0;border-bottom:2px solid transparent;color:#8fa7aa;white-space:nowrap;padding:9px 0 15px;font:11px var(--font);cursor:pointer}.source-panel-nav button[aria-selected=true]{color:var(--lime);border-bottom-color:var(--lime)}.source-panel-nav button:focus-visible{outline:1px solid var(--lime);outline-offset:-1px}.source-panel-body{flex:1;min-height:0;overflow-y:auto;padding:30px 28px 25px;scrollbar-width:thin;scrollbar-color:#3f5848 transparent;overscroll-behavior:contain}.source-panel-body:focus{outline:none}.source-panel-body:focus-visible{outline:1px solid #c2f97060;outline-offset:-3px}.source-panel-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid #c2f97035;background:linear-gradient(145deg,#c2f97010,#00c8a608);color:var(--lime);font-size:25px;margin-bottom:22px}.source-panel-entity{font-size:10px;color:#8da79a;line-height:1.7;margin:0 0 10px}.source-panel-intro h2{font:33px/1.22 var(--font);font-weight:400;letter-spacing:-1.2px;margin:0 0 27px}.source-explainer-section{display:flex;gap:17px;margin-bottom:22px}.source-section-number{flex:none;font:9px var(--font);color:#6c8c7a;padding-top:5px}.source-panel-body h3{font:16px/1.5 var(--font);font-weight:400;margin:0 0 8px}.source-explainer-section p,.source-energyos>p{font-size:12px;line-height:1.9;color:#96adb2;margin:0}.source-explainer-section ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px}.source-explainer-section li{font-size:11px;line-height:1.7;color:#b4c5bd;display:flex;gap:10px}.source-explainer-section li>span{color:var(--lime)}.source-energyos{margin:26px 0 22px;padding:22px;border:1px solid #c2f97028;border-radius:12px;background:linear-gradient(120deg,#c2f97007,#2e565409)}.source-energyos .eyebrow{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1px;margin-bottom:14px;color:#9eba92}.source-module-context{border-top:1px solid #c2f97020;margin-top:17px;padding-top:16px}.source-module-context small{font-size:8px;letter-spacing:1px;color:#90af88}.source-module-context p{font-size:11px;color:#a4b9ad;line-height:1.9;margin:7px 0 0}.source-attribution{padding:0 2px}.source-attribution>span{font-size:9px;color:#738f83;display:block;margin-bottom:7px}.source-attribution strong{font-size:10px;line-height:1.7;color:#a6b9ad;font-weight:400;display:block}.source-attribution p{font-size:9px;line-height:1.9;color:#758d8e;margin-top:10px}.source-panel-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}.source-panel-actions .button{font-size:11px;gap:15px}.source-back{background:none;border:0;font-size:10px;color:#8fa79d;padding:10px 0;cursor:pointer}.source-back:hover{color:var(--ink)}.source-back:focus-visible{outline:1px solid var(--lime);outline-offset:4px}.source-panel-hint{font-size:9px;color:#657f74;margin:20px 0 0}.source-swipe-zone{display:none}
@keyframes source-slide-in{from{opacity:.6;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes source-slide-out{to{opacity:0;transform:translateX(100%)}}@keyframes source-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes source-backdrop-out{to{opacity:0}}
@media(max-width:760px){#sourcePanel{inset:auto 0 0;margin:0;width:100%;height:min(91dvh,900px);max-height:91dvh;border-right:1px solid #ffffff20;border-bottom:0;border-radius:22px 22px 0 0;transform:translateY(var(--source-drag,0px))}#sourcePanel[open]{animation:source-sheet-in .28s cubic-bezier(.16,1,.3,1)}#sourcePanel.source-panel-exit{animation:source-sheet-out .22s ease both}.source-swipe-zone{display:flex;align-items:center;justify-content:center;height:25px;cursor:grab;touch-action:none;user-select:none}.source-swipe-handle{width:39px;height:4px;border-radius:9px;background:#708c7e80;pointer-events:none}.source-panel-head{padding:0 22px}.source-panel-head-row{min-height:45px}.source-panel-head-row .eyebrow{font-size:7px;letter-spacing:1px}.source-panel-nav{gap:19px}.source-panel-nav button{font-size:10px;padding-bottom:12px}.source-panel-body{padding:24px 22px calc(24px + env(safe-area-inset-bottom))}.source-panel-intro h2{font-size:29px}.source-panel-symbol{margin-bottom:18px}.source-explainer-section{gap:12px}.source-energyos{padding:18px}.source-panel-actions{align-items:stretch;flex-direction:column;gap:5px}.source-panel-actions .button{width:100%}.source-back{align-self:center}.source-panel-hint{display:none}@keyframes source-sheet-in{from{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes source-sheet-out{to{opacity:0;transform:translateY(100%)}}}
@media(prefers-reduced-motion:reduce){#sourcePanel[open],#sourcePanel::backdrop{animation:none!important}}
