/* Scoped styles: no Bootstrap or chart selectors are changed globally. */
#demo-guide-launcher{position:fixed;right:22px;bottom:78px;z-index:1065;border:0;border-radius:22px;background:#f3d567;color:#433710;padding:11px 17px;font-size:14px;box-shadow:0 3px 14px #6d5c2240;cursor:pointer}
#demo-guide-card{position:fixed;right:22px;top:135px;width:350px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;z-index:1060;background:#fffbea;color:#3f3925;border:1px solid #d4b84b;border-top:3px solid #d4b84b;border-radius:12px;box-shadow:0 8px 30px #6d5c2240;padding:18px;font:14px/1.65 Arial,"Microsoft YaHei",sans-serif;box-sizing:border-box;opacity:.96;transition:opacity .18s ease}
#demo-guide-card:hover,#demo-guide-card.demo-guide-dragging,#demo-guide-card.demo-guide-keyboard-focus{opacity:1}
#demo-guide-card[hidden]{display:none!important}
#demo-guide-card [hidden]{display:none!important}
#demo-guide-choices button{display:block;width:100%;text-align:left;padding:12px;margin:8px 0;border-color:#c4a12d}
#demo-guide-card #demo-guide-switch{font-size:12px;border:0;text-decoration:underline;color:#6b6139;background:transparent}
#demo-guide-card .demo-guide-header{display:flex;align-items:center;justify-content:space-between;color:#433710;background:#f3d567;margin:-18px -18px 12px;padding:10px 16px;cursor:grab;touch-action:none;user-select:none}
#demo-guide-card.demo-guide-dragging .demo-guide-header{cursor:grabbing}
#demo-guide-card .demo-guide-header:focus-visible{outline:3px solid #715d12;outline-offset:-3px}
#demo-guide-card h2{font-size:20px;line-height:1.4;margin:12px 0;color:#50471e;background:none;float:none}
#demo-guide-card p{margin:10px 0;white-space:pre-line}
#demo-guide-card button{font:inherit;cursor:pointer;border:1px solid #dfd3a4;border-radius:5px;padding:6px 10px;margin:3px 4px 3px 0;background:#fff;color:#66571b;height:auto;white-space:normal}
#demo-guide-card button:disabled{opacity:.5;cursor:default}
#demo-guide-card button[hidden]{display:none!important}
#demo-guide-card #demo-guide-next,#demo-guide-card #demo-guide-open-page{background:#f0ce53;border-color:#c4a12d;color:#433710}
#demo-guide-card #demo-guide-close{border:0;margin:0;padding:0;color:#433710;background:transparent}
#demo-guide-card #demo-guide-restart,#demo-guide-card #demo-guide-auto-position{font-size:12px;border:0;text-decoration:underline;color:#6b6139;background:transparent}
#demo-guide-card .demo-guide-controls{display:flex;flex-wrap:wrap;margin-top:14px;border-top:1px solid #e8dfbc;padding-top:10px}
#demo-guide-status{font-size:13px;color:#6b6139;padding:8px;background:#fff2c2;border-radius:5px}
#demo-guide-status[data-state=unavailable]{background:#fff3db;color:#7e5615}
#demo-guide-status[data-state=ready]{background:#e9f6ee;color:#276141}
#demo-guide-explanation:empty{display:none}
#demo-guide-explanation{border-left:3px solid #24a276;padding-left:10px}
.demo-guide-target{outline:3px solid #16a34a!important;outline-offset:3px;box-shadow:0 0 0 3px #fff}
/* Thin links stay legible; the separate pointer-transparent ring provides the temporary emphasis. */
.demo-guide-action-target{outline-width:2px!important;outline-offset:2px;box-shadow:0 0 0 2px #fff;animation:none}
/* EnergyBox's inline link has fragmented boxes; only its enclosing card paints the frame. */
.power_generation .block.demo-guide-target > a.demo-guide-action-target{outline-style:none!important;box-shadow:none}
.nav li:focus-within > .has-submenu.demo-guide-target + .submenu{display:block}
/* A separate ring follows the target without moving its content or intercepting clicks. */
#demo-guide-spotlight{position:fixed;box-sizing:border-box;z-index:1058;pointer-events:none;border:2px solid #16a34a;border-radius:6px;box-shadow:0 0 0 2px #fff,0 0 0 5px #16a34a66,0 0 0 100vmax #16132b38}
#demo-guide-spotlight[hidden]{display:none!important}
/* Three slower pulses draw attention, followed by a steady frame for the remaining focus time. */
#demo-guide-spotlight.demo-guide-spotlight-active{animation:demo-guide-locate-pulse .9s ease-out 3}
@keyframes demo-guide-locate-pulse{0%{box-shadow:0 0 0 2px #fff,0 0 0 5px #16a34a99,0 0 0 100vmax #16132b38}100%{box-shadow:0 0 0 2px #fff,0 0 0 15px #16a34a00,0 0 0 100vmax #16132b38}}
#demo-guide-card button:focus-visible,#demo-guide-launcher:focus-visible{outline:2px solid #715d12;outline-offset:2px}
@media(max-width:700px){#demo-guide-card{width:366px;padding:14px}#demo-guide-card .demo-guide-header{margin:-14px -14px 10px;padding:10px 12px}#demo-guide-launcher{bottom:18px;right:72px}#demo-guide-card h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){#demo-guide-card,.demo-guide-target,#demo-guide-spotlight.demo-guide-spotlight-active{scroll-behavior:auto;transition:none;animation:none}}

/* Only the scene chooser is modal. Step targets retain the host page's normal pointer behavior. */
#demo-guide-backdrop{position:fixed;inset:0;z-index:1070;background:#15172b99;backdrop-filter:blur(3px);cursor:default}
#demo-guide-backdrop[hidden]{display:none!important}
.demo-guide-choosing #demo-guide-launcher{visibility:hidden}
#demo-guide-card.demo-guide-chooser{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:1000px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);padding:30px;background:#fff;border:1px solid #e5e2ed;border-radius:22px;box-shadow:0 24px 90px #11132750;opacity:1;z-index:1072;overscroll-behavior:contain}
#demo-guide-card.demo-guide-chooser .demo-guide-header{background:transparent;margin:0 0 20px;padding:0;cursor:default;color:#726589;font-size:12px;letter-spacing:.02em}
#demo-guide-card.demo-guide-chooser #demo-guide-close{color:#615875;padding:6px 10px;border:1px solid #e6e1ec;border-radius:20px;letter-spacing:0}
#demo-guide-card.demo-guide-chooser h2{color:#272235;font-size:28px;margin:0 0 10px;line-height:1.3;text-align:center}
#demo-guide-card.demo-guide-chooser #demo-guide-body{color:#736b80;text-align:center;max-width:720px;margin:0 auto 26px;font-size:14px}
#demo-guide-card.demo-guide-chooser #demo-guide-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:8px 3px 10px}
#demo-guide-card #demo-guide-choices button{--scene-accent:#138765;--scene-tint:#effaf5;display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;min-width:0;margin:0;padding:20px 16px 24px;border:1px solid #e6e3ec;border-radius:18px;background:#fff;color:#342d43;text-align:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
#demo-guide-card #demo-guide-choices button[data-scenario=grid]{--scene-accent:#b66b0a;--scene-tint:#fff7e9}
#demo-guide-card #demo-guide-choices button[data-scenario=multiple]{--scene-accent:#7c3aed;--scene-tint:#f5f0ff}
#demo-guide-choices .demo-guide-choice-art{display:flex;align-items:center;justify-content:center;width:100%;max-width:220px;aspect-ratio:1;background:var(--scene-tint);border-radius:16px;overflow:hidden}
#demo-guide-choices img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
#demo-guide-choices .demo-guide-choice-title{display:block;font-size:18px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
#demo-guide-card #demo-guide-choices button:not(:disabled):hover,#demo-guide-card #demo-guide-choices button:focus-visible{transform:translateY(-6px);border-color:var(--scene-accent);box-shadow:0 12px 28px #2920441a;outline:2px solid var(--scene-accent);outline-offset:2px}
#demo-guide-choices button:not(:disabled):hover img{transform:scale(1.045)}
#demo-guide-card #demo-guide-choices button:disabled{cursor:not-allowed;opacity:.48}
@media(max-width:600px){#demo-guide-card.demo-guide-chooser{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:20px;border-radius:16px}#demo-guide-card.demo-guide-chooser h2{font-size:23px}#demo-guide-card.demo-guide-chooser #demo-guide-choices{grid-template-columns:1fr;gap:14px}#demo-guide-card #demo-guide-choices button{padding:14px;gap:10px}#demo-guide-choices .demo-guide-choice-art{max-width:140px}#demo-guide-choices .demo-guide-choice-title{font-size:17px}}
@media(prefers-reduced-motion:reduce){#demo-guide-card #demo-guide-choices button,#demo-guide-choices img{transition:none}#demo-guide-card #demo-guide-choices button:not(:disabled):hover,#demo-guide-card #demo-guide-choices button:focus-visible,#demo-guide-choices button:not(:disabled):hover img{transform:none}}
