@openephemeris/mcp-server 3.22.0 → 3.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/LICENSE +21 -21
- package/README.md +2 -2
- package/dist/index.js +45 -0
- package/dist/server-sse.js +52 -3
- package/dist/tools/apps/bazi-app.d.ts +24 -0
- package/dist/tools/apps/bazi-app.js +231 -0
- package/dist/tools/apps/bi-wheel-app.js +3 -1
- package/dist/tools/apps/bodygraph-app.js +16 -6
- package/dist/tools/apps/moon-phase-app.js +141 -93
- package/dist/tools/apps/transit-timeline-app.d.ts +20 -0
- package/dist/tools/apps/transit-timeline-app.js +302 -0
- package/dist/tools/apps/vedic-chart-app.d.ts +25 -0
- package/dist/tools/apps/vedic-chart-app.js +297 -0
- package/dist/tools/index.js +3 -0
- package/dist/tools/specialized/bi_wheel.js +1 -0
- package/dist/tools/specialized/chart_wheel.js +1 -0
- package/dist/tools/specialized/hd_bodygraph.js +1 -0
- package/dist/tools/specialized/human_design.js +1 -0
- package/dist/tools/specialized/moon.js +1 -0
- package/dist/tools/specialized/natal.js +6 -1
- package/dist/ui/bazi.html +6928 -0
- package/dist/ui/bi-wheel.html +17 -11
- package/dist/ui/bodygraph.html +76 -59
- package/dist/ui/chart-wheel.html +88 -59
- package/dist/ui/moon-phase.html +310 -42
- package/dist/ui/transit-timeline.html +6911 -0
- package/dist/ui/vedic-chart.html +7043 -0
- package/package.json +1 -1
package/dist/ui/bodygraph.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<title>Human Design Bodygraph Explorer</title>
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
<style>:root{--bg:#010102;--surface:#030408;--surface-2:#080b11;--border:#13161d;--border-strong:#242933;--text:#e2e4e9;--text-secondary:#777a80;--muted:#5b5e62;--gold:#cc9c42;--gold-dim:#7b6540;--gold-glow:rgba(204,156,66,.2);--gold-subtle:rgba(204,156,66,.1);--hd-head:#855dd7;--hd-ajna:#3a61c4;--hd-throat:#94582a;--hd-g:#c99f00;--hd-heart:#cc272e;--hd-spleen:#3d9028;--hd-sp:#cb5a1a;--hd-sacral:#cc243d;--hd-root:#6f3600;--ch-personality:#79a1fc;--ch-design:#ac7d1b;--ch-both:#cc9c42;--ch-inactive:#1f2228;--success:#1da871;--error:#c53443;--radius:10px;--radius-sm:6px;--radius-pill:99px;--shadow-md:0 8px 40px rgba(0,0,0,.65), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 28px rgba(204,156,66,.15), 0 0 0 1px rgba(204,156,66,.2)}@supports (color:color(display-p3 0 0 0)){:root{--bg:color(display-p3 .00306656 .00431968 .00888397);--surface:color(display-p3 .013072 .016989 .0298495);--surface-2:color(display-p3 .0345774 .0431759 .0653236);--border:color(display-p3 .0763929 .0859556 .109705);--border-strong:color(display-p3 .144788 .159634 .196542);--text:color(display-p3 .889546 .895785 .910689);--text-secondary:color(display-p3 .470023 .47923 .50135);--muted:color(display-p3 .359661 .366689 .383567);--gold:color(display-p3 .76996 .617341 .321369);--gold-dim:color(display-p3 .469305 .400291 .270966);--gold-glow:color(display-p3 .76996 .617341 .321369/.2);--gold-subtle:color(display-p3 .76996 .617341 .321369/.1);--hd-head:color(display-p3 .496597 .372031 .817324);--hd-ajna:color(display-p3 .26389 .378111 .742207);--hd-throat:color(display-p3 .548969 .355242 .201432);--hd-g:color(display-p3 .777513 .62422 -.00225984);--hd-heart:color(display-p3 .737101 .219083 .211834);--hd-spleen:color(display-p3 .328385 .55681 .222852);--hd-sp:color(display-p3 .739686 .377576 .178173);--hd-sacral:color(display-p3 .735577 .213396 .258614);--hd-root:color(display-p3 .406873 .223096 .0609673);--ch-personality:color(display-p3 .508025 .628538 .962447);--ch-design:color(display-p3 .645333 .49681 .196492);--ch-both:color(display-p3 .76996 .617341 .321369);--ch-inactive:color(display-p3 .122731 .131518 .153019);--success:color(display-p3 .313719 .651039 .459895);--error:color(display-p3 .710345 .252818 .279408);--shadow-md:0 8px 40px color(display-p3 0 0 0/.65), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 28px color(display-p3 .76996 .617341 .321369/.15), 0 0 0 1px color(display-p3 .76996 .617341 .321369/.2)}}@supports (color:lab(0% 0 0)){:root{--bg:lab(.302122% .0219196 -.522962);--surface:lab(1.18159% .0276566 -1.4848);--surface-2:lab(3.00584% .0228807 -3.15676);--border:lab(7.15581% -.0557452 -5.11242);--border-strong:lab(16.3713% -.0768304 -7.37782);--text:lab(90.6942% -.142396 -2.26941);--text-secondary:lab(51.2352% -.205308 -3.76425);--muted:lab(39.6443% -.165641 -3.01217);--gold:lab(67.5798% 11.9379 52.333);--gold-dim:lab(44.394% 5.21129 24.4453);--gold-glow:lab(67.5798% 11.9379 52.333/.2);--gold-subtle:lab(67.5798% 11.9379 52.333/.1);--hd-head:lab(48.5159% 37.0934 -58.1781);--hd-ajna:lab(42.6654% 12.3083 -56.648);--hd-throat:lab(43.8304% 22.8022 36.6206);--hd-g:lab(67.813% 9.5214 93.33);--hd-heart:lab(45.7636% 63.3818 40.1799);--hd-spleen:lab(53.0764% -40.8778 44.314);--hd-sp:lab(52.4466% 43.5944 55.3775);--hd-sacral:lab(45.6635% 64.206 31.2074);--hd-root:lab(29.855% 23.6799 41.1297);--ch-personality:lab(66.4233% 5.15944 -50.1959);--ch-design:lab(55.9353% 12.6865 55.2442);--ch-both:lab(67.5798% 11.9379 52.333);--ch-inactive:lab(12.9398% -.133917 -4.46223);--success:lab(61.2436% -46.7762 18.3644);--error:lab(45.8893% 57.7361 27.393);--shadow-md:0 8px 40px lab(0% 0 0/.65), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 28px lab(67.5798% 11.9379 52.333/.15), 0 0 0 1px lab(67.5798% 11.9379 52.333/.2)}}@media (prefers-color-scheme:light){:root{--bg:#f4f5f8;--surface:#fbfcfe;--surface-2:#eceef3;--border:#d5d7dd;--border-strong:#babec6;--text:#181b1f;--text-secondary:#4a4d54;--muted:#606369;--gold:#8a6000;--gold-dim:#967c4f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (color:color(display-p3 0 0 0)){:root{--bg:color(display-p3 .956515 .960735 .970805);--surface:color(display-p3 .98376 .986943 .994535);--surface-2:color(display-p3 .928401 .934691 .949715);--border:color(display-p3 .836244 .844458 .864107);--border-strong:color(display-p3 .731542 .743532 .772301);--text:color(display-p3 .096883 .103987 .12134);--text-secondary:color(display-p3 .291758 .301882 .326359);--muted:color(display-p3 .379924 .388781 .410092);--gold:color(display-p3 .524671 .380491 .0387678);--gold-dim:color(display-p3 .572756 .489268 .332751)}}@supports (color:lab(0% 0 0)){:root{--bg:lab(96.503% -.0977516 -1.51461);--surface:lab(98.8273% -.0742972 -1.13657);--surface-2:lab(94.1743% -.142723 -2.26961);--border:lab(86.0453% -.183761 -3.02231);--border-strong:lab(76.7468% -.254452 -4.52154);--text:lab(9.4703% -.11944 -3.722);--text-secondary:lab(32.6639% -.205338 -4.49569);--muted:lab(41.9548% -.197008 -3.7598);--gold:lab(44.2758% 13.6718 62.9124);--gold-dim:lab(53.685% 6.10271 28.558)}}html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}#bodygraph-container{background:var(--surface)}.chart-status,.tooltip{background:rgba(251,252,254,.92);background:color(display-p3 .98376 .986943 .994535/.92);background:lab(98.8273% -.0742972 -1.13657/.92)}#fs-bottom-bar{background:var(--surface-2)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);height:100%;color:var(--text);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.030'/%3E%3C/svg%3E");font-family:Geist,Space Grotesk,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.5;overflow-x:hidden}#app{flex-direction:column;gap:8px;min-height:0;padding:8px 12px;display:flex}#loading-state{min-height:300px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}#loading-state p{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.spinner{border:2px solid var(--border-strong);border-top-color:var(--gold);border-radius:50%;width:32px;height:32px;animation:1.1s cubic-bezier(.4,0,.6,1) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#bodygraph-container{border-radius:var(--radius);border:1px solid var(--border-strong);width:100%;max-width:680px;box-shadow:var(--shadow-gold);background:#010102;background:color(display-p3 .00306656 .00431968 .00888397);background:lab(.302122% .0219196 -.522962);margin:0 auto;transition:box-shadow .3s;position:relative;overflow:visible}#bodygraph-container:hover{box-shadow:0 0 40px rgba(204,156,66,.22),0 0 0 1px rgba(204,156,66,.3);box-shadow:0 0 40px color(display-p3 .76996 .617341 .321369/.22),0 0 0 1px color(display-p3 .76996 .617341 .321369/.3);box-shadow:0 0 40px lab(67.5798% 11.9379 52.333/.22),0 0 0 1px lab(67.5798% 11.9379 52.333/.3)}#bodygraph-container svg{width:100%;height:auto;max-height:min(62vh,560px);display:block}.center-group{cursor:pointer;transition:filter .16s}.center-group:hover{filter:brightness(1.2)drop-shadow(0 0 6px rgba(204,156,66,.35));filter:brightness(1.2)drop-shadow(0 0 6px color(display-p3 .76996 .617341 .321369/.35));filter:brightness(1.2)drop-shadow(0 0 6px lab(67.5798% 11.9379 52.333/.35))}.channel-line{cursor:pointer}.channel-line:hover .channel-vis{filter:drop-shadow(0 0 4px var(--gold-glow));stroke:var(--gold)!important;stroke-width:5px!important}.gate-badge{cursor:pointer}.gate-badge:hover circle{stroke:var(--gold)!important;stroke-opacity:1!important}.gate-badge:hover text{fill:var(--gold)!important}#info-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:6px 12px;width:100%;max-width:680px;margin:0 auto;padding:10px 14px;display:grid}.info-row{flex-direction:column;gap:1px;display:flex}.info-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9px;font-weight:700}.info-value{color:var(--text);font-size:12px;font-weight:500}.channel-legend{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:680px;margin:0 auto;padding:4px 0;display:flex}.legend-item{color:var(--text-secondary);letter-spacing:.04em;align-items:center;gap:5px;font-size:9px;font-weight:500;display:flex}.legend-swatch{border-radius:2px;flex-shrink:0;width:18px;height:3px}#controls-panel{background:0 0;width:100%;max-width:680px;margin:0 auto;padding:4px 0}.controls-row{align-items:center;gap:6px;display:flex}.controls-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-shrink:0;font-size:9px;font-weight:700}.controls-value{color:var(--text-secondary);font-size:11px}.chart-hint{text-align:center;letter-spacing:.04em;width:100%;max-width:680px;color:var(--muted);margin:0 auto;padding:4px 0 2px;font-size:10px}.error-state{min-height:200px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.error-icon{opacity:.5;font-size:24px}.error-retry-btn{border:1px solid var(--border,rgba(128,128,160,.3));color:var(--accent,var(--text,inherit));font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:999px;margin-top:4px;padding:7px 20px;font-size:11px;font-weight:600;transition:background .18s,border-color .18s}.error-retry-btn:hover{background:rgba(128,128,160,.12)}@media (max-width:420px){#app{gap:8px;padding:8px}#info-panel{grid-template-columns:1fr}}#bodygraph-container.is-loading{opacity:.55;pointer-events:none;cursor:wait;transition:opacity .15s}.chart-status{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-pill);color:var(--gold);letter-spacing:.04em;z-index:900;opacity:0;pointer-events:none;background:rgba(5,7,13,.92);background:color(display-p3 .0216592 .0280553 .0483601/.92);background:lab(1.95095% .0425801 -2.41514/.92);border:1px solid rgba(204,156,66,.35);border:1px solid color(display-p3 .76996 .617341 .321369/.35);border:1px solid lab(67.5798% 11.9379 52.333/.35);max-height:0;padding:5px 18px;font-size:11px;font-weight:600;transition:max-height .24s cubic-bezier(.16,1,.3,1),opacity .24s,transform .24s cubic-bezier(.16,1,.3,1);position:fixed;top:10px;left:50%;overflow:hidden;transform:translate(-50%)translateY(-10px);box-shadow:0 4px 20px rgba(0,0,0,.5),0 0 0 1px rgba(204,156,66,.08);box-shadow:0 4px 20px color(display-p3 0 0 0/.5),0 0 0 1px color(display-p3 .76996 .617341 .321369/.08);box-shadow:0 4px 20px lab(0% 0 0/.5),0 0 0 1px lab(67.5798% 11.9379 52.333/.08)}.chart-status.visible{opacity:1;max-height:44px;transform:translate(-50%)translateY(0)}@keyframes gold-pulse{0%,to{border-color:rgba(204,156,66,.35);border-color:color(display-p3 .76996 .617341 .321369/.35);border-color:lab(67.5798% 11.9379 52.333/.35)}50%{border-color:rgba(204,156,66,.65);border-color:color(display-p3 .76996 .617341 .321369/.65);border-color:lab(67.5798% 11.9379 52.333/.65)}}.hd-popup{background:var(--surface-2);border:1px solid var(--border-strong);z-index:1000;opacity:0;pointer-events:none;border-radius:12px;width:min(340px,92vw);padding:14px 16px 12px;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);position:fixed;box-shadow:0 12px 48px rgba(0,0,0,.7),0 0 0 1px rgba(204,156,66,.15);box-shadow:0 12px 48px color(display-p3 0 0 0/.7),0 0 0 1px color(display-p3 .76996 .617341 .321369/.15);box-shadow:0 12px 48px lab(0% 0 0/.7),0 0 0 1px lab(67.5798% 11.9379 52.333/.15)}.hd-popup.visible{opacity:1;pointer-events:all}.hd-popup-header{align-items:flex-start;gap:10px;display:flex}.hd-popup-icon{color:var(--gold);text-align:center;flex-shrink:0;min-width:28px;font-size:18px;font-weight:700;line-height:1}.hd-popup-title{color:var(--text);flex:1;font-size:13px;font-weight:700}.hd-popup-sub{color:var(--text-secondary);letter-spacing:.01em;margin-top:2px;font-size:11px;font-weight:400}.hd-popup-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:15px;line-height:1;transition:color .12s}.hd-popup-close:hover{color:var(--text)}.hd-popup-body{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.hd-popup-row{align-items:baseline;gap:8px;font-size:11px;line-height:1.45;display:flex}.hd-popup-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0;min-width:56px;padding-top:1px;font-size:9px;font-weight:700}.hd-popup-val{color:var(--text);font-weight:500}.hd-popup-gates{flex-wrap:wrap;gap:4px;font-weight:500;display:flex}.hd-popup-gate-chip{border:1px solid var(--border-strong);border-radius:var(--radius-pill,99px);background:var(--surface);color:var(--text);white-space:nowrap;padding:1px 7px;font-size:10px;display:inline-block}.hd-popup-note{color:var(--text-secondary);letter-spacing:.01em;margin-top:4px;font-size:10px;font-style:italic;line-height:1.5}.hd-detail-panel{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;min-height:0;padding:2px 0 8px;overflow-y:auto}.hd-detail-panel .hd-popup-header{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:8px}.hd-detail-panel .hd-popup-close{opacity:.5}.hd-detail-panel .hd-popup-close:hover{opacity:1;color:var(--text)}.ask-claude-btn{border-radius:var(--radius-sm);width:100%;color:var(--gold);letter-spacing:.04em;cursor:pointer;background:rgba(204,156,66,.12);background:color(display-p3 .76996 .617341 .321369/.12);background:lab(67.5798% 11.9379 52.333/.12);border:1px solid rgba(204,156,66,.4);border:1px solid color(display-p3 .76996 .617341 .321369/.4);border:1px solid lab(67.5798% 11.9379 52.333/.4);justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:9px 16px;font-family:Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;font-weight:600;transition:background .16s,border-color .16s,box-shadow .16s;display:flex}.ask-claude-btn:hover:not(:disabled){background:rgba(204,156,66,.2);background:color(display-p3 .76996 .617341 .321369/.2);background:lab(67.5798% 11.9379 52.333/.2);border-color:rgba(204,156,66,.65);border-color:color(display-p3 .76996 .617341 .321369/.65);border-color:lab(67.5798% 11.9379 52.333/.65);box-shadow:0 0 0 3px rgba(204,156,66,.12);box-shadow:0 0 0 3px color(display-p3 .76996 .617341 .321369/.12);box-shadow:0 0 0 3px lab(67.5798% 11.9379 52.333/.12)}.ask-claude-btn:disabled{opacity:.45;cursor:not-allowed}.ask-claude-btn.sending{color:var(--gold-dim);opacity:.8;cursor:wait;pointer-events:none;background:rgba(204,156,66,.08);background:color(display-p3 .76996 .617341 .321369/.08);background:lab(67.5798% 11.9379 52.333/.08);border-color:rgba(204,156,66,.25);border-color:color(display-p3 .76996 .617341 .321369/.25);border-color:lab(67.5798% 11.9379 52.333/.25)}.ask-claude-btn.sent{color:var(--success);pointer-events:none;background:rgba(29,168,113,.15);background:color(display-p3 .313719 .651039 .459895/.15);background:lab(61.2436% -46.7762 18.3644/.15);border-color:rgba(29,168,113,.5);border-color:color(display-p3 .313719 .651039 .459895/.5);border-color:lab(61.2436% -46.7762 18.3644/.5)}.ask-claude-btn.error{color:var(--error);cursor:pointer;background:rgba(197,52,67,.15);background:color(display-p3 .710345 .252818 .279408/.15);background:lab(45.8893% 57.7361 27.393/.15);border-color:rgba(197,52,67,.5);border-color:color(display-p3 .710345 .252818 .279408/.5);border-color:lab(45.8893% 57.7361 27.393/.5)}.interactive-text{cursor:pointer;transition:color .15s,text-shadow .15s;position:relative}.interactive-text:hover{color:var(--gold);text-shadow:0 0 8px rgba(204,156,66,.4);text-shadow:0 0 8px color(display-p3 .76996 .617341 .321369/.4);text-shadow:0 0 8px lab(67.5798% 11.9379 52.333/.4)}.interactive-text:focus{color:var(--gold);text-shadow:0 0 8px rgba(204,156,66,.6);text-shadow:0 0 8px color(display-p3 .76996 .617341 .321369/.6);text-shadow:0 0 8px lab(67.5798% 11.9379 52.333/.6);outline:none}.planet-activation,.variable-arrow{outline:none;transition:opacity .15s}.planet-activation:hover,.variable-arrow:hover{opacity:.7}.planet-activation:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.variable-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.center-group:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.gate-badge:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.channel:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[data-gate]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[data-channel]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[data-center]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.tooltip{-webkit-backdrop-filter:blur(14px)saturate(1.6);backdrop-filter:blur(14px)saturate(1.6);border:1px solid var(--border-strong);border-radius:var(--radius);pointer-events:none;z-index:1000;opacity:0;background:rgba(7,9,14,.92);background:color(display-p3 .0286832 .0352525 .0537785/.92);background:lab(2.44746% .00379235 -2.33402/.92);max-width:240px;padding:8px 12px;font-size:12px;transition:opacity .12s;position:fixed;box-shadow:0 8px 32px rgba(0,0,0,.55),inset 0 .5px rgba(255,255,255,.04);box-shadow:0 8px 32px color(display-p3 0 0 0/.55),inset 0 .5px color(display-p3 1 1 1/.04);box-shadow:0 8px 32px lab(0% 0 0/.55),inset 0 .5px lab(100% 0 0/.04)}.tooltip.visible{opacity:1}.tooltip-title{color:var(--text);margin-bottom:2px;font-weight:700}.tooltip-detail{color:var(--text-secondary);line-height:1.4}.tooltip-hint{color:var(--gold-dim);letter-spacing:.03em;margin-top:4px;font-size:10px}.pan-zoom-controls{z-index:800;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.pan-zoom-controls[hidden]{display:none!important}.pan-btn{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;box-shadow:var(--shadow-md);justify-content:center;align-items:center;font-family:inherit;font-size:18px;transition:all .15s;display:flex}.pan-btn.reset{width:auto;padding:0 10px;font-size:11px;font-weight:500}.pan-btn:hover{background:var(--surface);border-color:var(--gold-dim);color:var(--gold)}.pan-btn:active{transform:scale(.95)}.pan-btn--fullscreen{width:36px;height:36px}body.is-fullscreen{height:100vh;overflow:hidden}body.is-fullscreen #app{flex-direction:column;gap:0;width:100vw;max-width:100%;height:100vh;padding:0;display:flex;overflow:hidden}body.is-fullscreen #bodygraph-container{min-height:0;max-width:unset;width:100%;height:auto;box-shadow:none;background:0 0;border:none;flex:1;justify-content:center;align-items:center;margin:0;padding:16px 24px 0;display:flex}body.is-fullscreen #loading-state{flex:1;height:auto;min-height:0}body.is-fullscreen #bodygraph-container svg{width:auto;max-width:100%;height:100%;max-height:100%}body.is-fullscreen .pan-zoom-controls{top:16px;right:16px}#fs-bottom-bar{border-top:1px solid var(--border);background:#020306;background:color(display-p3 .0100648 .0127997 .0215356);background:lab(.889429% .0122339 -1.01076);flex-shrink:0;grid-template-rows:1fr;grid-template-columns:220px 1fr 220px;height:240px;min-height:180px;max-height:280px;display:grid}#fs-bottom-bar [data-column=left],#fs-bottom-bar [data-column=right]{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;gap:4px;padding:10px 14px 12px;display:flex;overflow-x:hidden;overflow-y:auto}#fs-bottom-bar [data-column=left]{border-right:1px solid var(--border)}#fs-bottom-bar [data-column=center]{pointer-events:none}#fs-bottom-bar [data-column=right]{border-left:1px solid var(--border);overflow-y:auto}#fs-bottom-bar [data-column]>*+*{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}#fs-bottom-bar .hd-action-bar{flex-direction:column;padding:8px 0 0}#fs-bottom-bar .action-btn{justify-content:center;width:100%}.cancel-toast{background:var(--surface-2,#1e1e2e);border:1px solid var(--border-strong,#444);color:var(--text-muted,#aaa);border-radius:var(--radius-sm,6px);opacity:0;z-index:9999;pointer-events:none;box-shadow:var(--shadow-md,0 4px 12px rgba(0,0,0,.3));padding:8px 16px;font-family:inherit;font-size:12px;transition:opacity .3s,transform .3s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(20px)}.cancel-toast.visible{opacity:1;transform:translate(-50%)translateY(0)}.oe-loader{width:64px;height:64px;stroke:var(--gold);stroke-width:2px;fill:none;stroke-dasharray:200;stroke-dashoffset:200px;filter:drop-shadow(0 0 4px var(--gold-glow));animation:2.5s cubic-bezier(.16,1,.3,1) infinite oe-draw}@keyframes oe-draw{0%{stroke-dashoffset:200px;stroke-opacity:.1}50%{stroke-dashoffset:0;stroke-opacity:1;filter:drop-shadow(0 0 8px var(--gold))}to{stroke-dashoffset:-200px;stroke-opacity:.1}}.info-drawer{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;max-height:0;padding:14px 16px 12px;transition:max-height .26s cubic-bezier(.16,1,.3,1),opacity .2s,padding .2s;position:relative;overflow:hidden}.info-drawer:before{content:"";background:var(--border-strong);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:0 auto 10px;display:block}.info-drawer.open{opacity:1;pointer-events:all;max-height:500px;padding:14px 16px 12px}.hd-action-bar{flex-wrap:wrap;gap:8px;padding:10px 16px 6px;display:flex}.action-btn{color:var(--gold);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.3);border-radius:8px;align-items:center;gap:6px;padding:7px 16px;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,transform .1s;display:inline-flex}.action-btn:hover{background:rgba(212,175,55,.15);border-color:rgba(212,175,55,.5);transform:translateY(-1px)}.action-btn:active{background:rgba(212,175,55,.2);transform:translateY(0)}.action-btn--primary{color:var(--gold);background:linear-gradient(135deg,rgba(212,175,55,.2),rgba(180,140,30,.25));border-color:rgba(212,175,55,.5)}.action-btn--primary:hover{background:linear-gradient(135deg,rgba(212,175,55,.3),rgba(180,140,30,.35));border-color:rgba(212,175,55,.7)}@media (prefers-color-scheme:light){:root{--bg:#f7f5f1;--surface:#fff;--surface-2:#f1eee9;--border:#dbd7d0;--border-strong:#bdb6ac;--text:#101215;--text-secondary:#4f5359;--muted:#6c6f73;--gold:#8d5f00;--gold-dim:#6d4b00;--gold-glow:rgba(141,95,0,.25);--gold-subtle:rgba(141,95,0,.1);--success:#007145;--error:#b1002b;--shadow-md:0 4px 24px rgba(0,0,0,.12), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 16px rgba(141,95,0,.18), 0 0 0 1px rgba(141,95,0,.22)}@supports (color:color(display-p3 0 0 0)){:root{--bg:color(display-p3 .967616 .959866 .945308);--surface:color(display-p3 1 1 1);--surface-2:color(display-p3 .943798 .93351 .914195);--border:color(display-p3 .855616 .842987 .819292);--border-strong:color(display-p3 .73602 .716348 .67952);--text:color(display-p3 .0633107 .0687189 .081922);--text-secondary:color(display-p3 .313002 .323251 .348016);--muted:color(display-p3 .426318 .433563 .450948);--gold:color(display-p3 .542549 .371783 -.107551);--gold-dim:color(display-p3 .414099 .299019 .034461);--gold-glow:color(display-p3 .542549 .371783 -.107551/.25);--gold-subtle:color(display-p3 .542549 .371783 -.107551/.1);--success:color(display-p3 -.0793084 .456092 .255685);--error:color(display-p3 .642198 .101724 .18242);--shadow-md:0 4px 24px color(display-p3 0 0 0/.12), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 16px color(display-p3 .542549 .371783 -.107551/.18), 0 0 0 1px color(display-p3 .542549 .371783 -.107551/.22)}}@supports (color:lab(0% 0 0)){:root{--bg:lab(96.5376% .34076 2.2589);--surface:lab(100% 0 0);--surface-2:lab(94.2232% .459731 3.01526);--border:lab(86.1085% .583261 3.77473);--border-strong:lab(74.5232% .975847 6.06879);--text:lab(5.23809% -.0738502 -2.43738);--text-secondary:lab(34.9842% -.210047 -4.49809);--muted:lab(46.6045% -.170082 -3.01461);--gold:lab(44.1995% 17.0662 84.3373);--gold-dim:lab(35.0077% 11.3181 50.9422);--gold-glow:lab(44.1995% 17.0662 84.3373/.25);--gold-subtle:lab(44.1995% 17.0662 84.3373/.1);--success:lab(41.7514% -55.3249 21.5039);--error:lab(37.5238% 64.2774 32.6097);--shadow-md:0 4px 24px lab(0% 0 0/.12), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 16px lab(44.1995% 17.0662 84.3373/.18), 0 0 0 1px lab(44.1995% 17.0662 84.3373/.22)}}html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-image:none}#bodygraph-container{border-color:var(--border-strong);background:#fff;background:color(display-p3 1 1 1);background:lab(100% 0 0)}.chart-status{background:rgba(247,245,241,.92);background:color(display-p3 .967616 .959866 .945308/.92);background:lab(96.5376% .34076 2.2589/.92);border-color:rgba(141,95,0,.35);border-color:color(display-p3 .542549 .371783 -.107551/.35);border-color:lab(44.1995% 17.0662 84.3373/.35)}.tooltip{border-color:var(--border-strong);background:rgba(255,255,255,.96);background:color(display-p3 1 1 1/.96);background:lab(100% 0 0/.96)}#info-panel{background:var(--surface);border-color:var(--border)}.hd-popup{background:var(--surface);border-color:var(--border-strong);box-shadow:0 12px 48px rgba(0,0,0,.18), 0 0 0 1px var(--border-strong)}@supports (color:color(display-p3 0 0 0)){.hd-popup{box-shadow:0 12px 48px color(display-p3 0 0 0/.18), 0 0 0 1px var(--border-strong)}}@supports (color:lab(0% 0 0)){.hd-popup{box-shadow:0 12px 48px lab(0% 0 0/.18), 0 0 0 1px var(--border-strong)}}#fs-bottom-bar{background:#f7f5f1;background:color(display-p3 .967616 .959866 .945308);background:lab(96.5376% .34076 2.2589);border-top-color:#caced4;border-top-color:color(display-p3 .796183 .806346 .830691);border-top-color:lab(82.5562% -.22167 -3.77336)}#fs-bottom-bar [data-column=left],#fs-bottom-bar [data-column=right]{background:#f1eeea;background:color(display-p3 .941472 .933762 .919279);background:lab(94.2176% .341028 2.25905)}#fs-bottom-bar [data-column=left]{border-right-color:#caced4;border-right-color:color(display-p3 .796183 .806346 .830691);border-right-color:lab(82.5562% -.22167 -3.77336)}#fs-bottom-bar [data-column=right]{border-left-color:#caced4;border-left-color:color(display-p3 .796183 .806346 .830691);border-left-color:lab(82.5562% -.22167 -3.77336)}#fs-bottom-bar [data-column]>*+*{border-top-color:#caced4;border-top-color:color(display-p3 .796183 .806346 .830691);border-top-color:lab(82.5562% -.22167 -3.77336)}}svg.has-highlight [data-center],svg.has-highlight [data-channel],svg.has-highlight [data-gate]{opacity:.45;transition:opacity .2s,filter .2s}svg.has-highlight [data-highlighted=true]{opacity:1;filter:drop-shadow(0 0 4px rgba(212,160,23,.55))}svg.has-highlight [data-highlighted-primary=true]{opacity:1;filter:drop-shadow(0 0 8px rgba(212,160,23,.95))}svg.has-highlight [data-highlighted-primary=true] path,svg.has-highlight [data-highlighted-primary=true] circle,svg.has-highlight [data-highlighted-primary=true] polygon,svg.has-highlight [data-highlighted-primary=true] rect{stroke-width:calc(var(--stroke-w,1.5) * 1.4)}@media (max-width:480px){.pan-zoom-controls{gap:5px}.pan-btn,.pan-btn--fullscreen{background:color-mix(in oklab, var(--surface-2) 72%, transparent);-webkit-backdrop-filter:blur(6px);width:32px;height:32px;font-size:15px}.pan-btn.reset{width:32px;padding:0;font-size:0}.pan-btn.reset:before{content:"⟲";font-size:15px}}.param-controls{background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;padding:6px 12px}.param-controls-grid{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.param-group{flex-direction:row;align-items:center;gap:6px;display:flex}.param-group label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.06em;white-space:nowrap;font-size:10px;font-weight:700}.param-group input[type=date],.param-group input[type=time],.param-group input[type=text]{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);color-scheme:inherit;border-radius:var(--radius-sm);width:120px;height:24px;padding:3px 6px;font-family:inherit;font-size:11px}@media (prefers-reduced-motion:no-preference){.param-group input[type=date],.param-group input[type=time],.param-group input[type=text]{transition:border-color .15s}}.param-group input:focus{border-color:var(--gold-dim);outline:none}.loc-searching{border-color:var(--gold-dim)!important}@media (prefers-reduced-motion:no-preference){.loc-searching{animation:1s ease-in-out infinite alternate loc-pulse}}@keyframes loc-pulse{0%{border-color:var(--gold-dim)}to{border-color:rgba(204,156,66,.55);border-color:color(display-p3 .76996 .617341 .321369/.55);border-color:lab(67.5798% 11.9379 52.333/.55)}}.param-group-loc{flex:1;position:relative}.param-group-loc input{width:100%}.loc-suggestions{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);z-index:100;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.35);box-shadow:0 4px 12px color(display-p3 0 0 0/.35);box-shadow:0 4px 12px lab(0% 0 0/.35)}.loc-item{color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px;overflow:hidden}.loc-item:last-child{border-bottom:none}@media (prefers-reduced-motion:no-preference){.loc-item{transition:background .1s,color .1s}}.loc-item:hover{background:var(--gold-subtle);color:var(--gold)}.loc-status{color:var(--text-secondary);letter-spacing:.01em;padding:8px 10px;font-size:11px;font-style:italic}.loc-status-error{color:#d76a5a;color:color(display-p3 .788241 .439621 .373983);color:lab(58.1265% 42.6447 29.9439);font-style:normal;font-weight:600}.param-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.param-btn-icon{border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}@media (prefers-reduced-motion:no-preference){.param-btn-icon{transition:background .15s,border-color .15s,color .15s}}.param-btn-icon:hover{background:var(--surface-2);color:var(--text);border-color:var(--gold-dim)}.param-btn-primary{color:var(--gold);border-radius:var(--radius-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:rgba(204,156,66,.12);background:color(display-p3 .76996 .617341 .321369/.12);background:lab(67.5798% 11.9379 52.333/.12);border:1px solid rgba(204,156,66,.4);border:1px solid color(display-p3 .76996 .617341 .321369/.4);border:1px solid lab(67.5798% 11.9379 52.333/.4);height:24px;padding:3px 10px;font-family:inherit;font-size:10px;font-weight:600}@media (prefers-reduced-motion:no-preference){.param-btn-primary{transition:background .15s,border-color .15s}}.param-btn-primary:hover:not(:disabled){background:rgba(204,156,66,.2);background:color(display-p3 .76996 .617341 .321369/.2);background:lab(67.5798% 11.9379 52.333/.2);border-color:rgba(204,156,66,.65);border-color:color(display-p3 .76996 .617341 .321369/.65);border-color:lab(67.5798% 11.9379 52.333/.65)}.param-btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme:light){.param-group input[type=date],.param-group input[type=time],.param-group input[type=text]{border-color:var(--border-strong);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fdfcf9;background:color(display-p3 .990365 .986474 .97916);background:lab(98.849% .167578 1.1277)}.loc-suggestions{border-color:var(--border-strong);background:#fdfcf9;background:color(display-p3 .990365 .986474 .97916);background:lab(98.849% .167578 1.1277)}.param-btn-primary{background:rgba(160,112,0,.12);background:color(display-p3 .615135 .441554 -.0204711/.12);background:lab(51.2092% 16.2654 78.3504/.12);border-color:rgba(160,112,0,.4);border-color:color(display-p3 .615135 .441554 -.0204711/.4);border-color:lab(51.2092% 16.2654 78.3504/.4)}.param-btn-primary:hover:not(:disabled){background:rgba(160,112,0,.22);background:color(display-p3 .615135 .441554 -.0204711/.22);background:lab(51.2092% 16.2654 78.3504/.22);border-color:rgba(160,112,0,.65);border-color:color(display-p3 .615135 .441554 -.0204711/.65);border-color:lab(51.2092% 16.2654 78.3504/.65)}}.param-summary-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:2px 0;margin-bottom:4px;padding:3px 4px 5px;font-size:10px;line-height:1.3;display:flex}.param-summary-bar[hidden]{display:none}.summary-name{color:var(--gold,#d6a54d);letter-spacing:.01em;padding-right:2px;font-size:12px;font-weight:700}@supports (color:color(display-p3 0 0 0)){.summary-name{color:var(--gold,color(display-p3 .808073 .654274 .358094))}}@supports (color:lab(0% 0 0)){.summary-name{color:var(--gold,lab(71.071% 11.7474 51.7651))}}.summary-datetime{font-variant-numeric:tabular-nums;color:var(--text-secondary);align-items:baseline;gap:4px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:11px;display:inline-flex}.summary-time-sep{color:var(--border-strong);opacity:.7;font-family:inherit;font-size:9px}.summary-loc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;padding-left:2px;font-size:11px;font-style:italic;overflow:hidden}.summary-sep{background:var(--border-strong);opacity:.5;vertical-align:middle;flex-shrink:0;width:1px;height:11px;margin:0 7px;display:inline-block}
|
|
13
|
+
<style>:root{--bg:#010102;--surface:#030408;--surface-2:#080b11;--border:#13161d;--border-strong:#242933;--text:#e2e4e9;--text-secondary:#777a80;--muted:#5b5e62;--gold:#cc9c42;--gold-dim:#7b6540;--gold-glow:rgba(204,156,66,.2);--gold-subtle:rgba(204,156,66,.1);--hd-head:#855dd7;--hd-ajna:#3a61c4;--hd-throat:#94582a;--hd-g:#c99f00;--hd-heart:#cc272e;--hd-spleen:#3d9028;--hd-sp:#cb5a1a;--hd-sacral:#cc243d;--hd-root:#6f3600;--ch-personality:#79a1fc;--ch-design:#ac7d1b;--ch-both:#cc9c42;--ch-inactive:#1f2228;--success:#1da871;--error:#c53443;--radius:10px;--radius-sm:6px;--radius-pill:99px;--shadow-md:0 8px 40px rgba(0,0,0,.65), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 28px rgba(204,156,66,.15), 0 0 0 1px rgba(204,156,66,.2)}@supports (color:color(display-p3 0 0 0)){:root{--bg:color(display-p3 .00306656 .00431968 .00888397);--surface:color(display-p3 .013072 .016989 .0298495);--surface-2:color(display-p3 .0345774 .0431759 .0653236);--border:color(display-p3 .0763929 .0859556 .109705);--border-strong:color(display-p3 .144788 .159634 .196542);--text:color(display-p3 .889546 .895785 .910689);--text-secondary:color(display-p3 .470023 .47923 .50135);--muted:color(display-p3 .359661 .366689 .383567);--gold:color(display-p3 .76996 .617341 .321369);--gold-dim:color(display-p3 .469305 .400291 .270966);--gold-glow:color(display-p3 .76996 .617341 .321369/.2);--gold-subtle:color(display-p3 .76996 .617341 .321369/.1);--hd-head:color(display-p3 .496597 .372031 .817324);--hd-ajna:color(display-p3 .26389 .378111 .742207);--hd-throat:color(display-p3 .548969 .355242 .201432);--hd-g:color(display-p3 .777513 .62422 -.00225984);--hd-heart:color(display-p3 .737101 .219083 .211834);--hd-spleen:color(display-p3 .328385 .55681 .222852);--hd-sp:color(display-p3 .739686 .377576 .178173);--hd-sacral:color(display-p3 .735577 .213396 .258614);--hd-root:color(display-p3 .406873 .223096 .0609673);--ch-personality:color(display-p3 .508025 .628538 .962447);--ch-design:color(display-p3 .645333 .49681 .196492);--ch-both:color(display-p3 .76996 .617341 .321369);--ch-inactive:color(display-p3 .122731 .131518 .153019);--success:color(display-p3 .313719 .651039 .459895);--error:color(display-p3 .710345 .252818 .279408);--shadow-md:0 8px 40px color(display-p3 0 0 0/.65), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 28px color(display-p3 .76996 .617341 .321369/.15), 0 0 0 1px color(display-p3 .76996 .617341 .321369/.2)}}@supports (color:lab(0% 0 0)){:root{--bg:lab(.302122% .0219196 -.522962);--surface:lab(1.18159% .0276566 -1.4848);--surface-2:lab(3.00584% .0228807 -3.15676);--border:lab(7.15581% -.0557452 -5.11242);--border-strong:lab(16.3713% -.0768304 -7.37782);--text:lab(90.6942% -.142396 -2.26941);--text-secondary:lab(51.2352% -.205308 -3.76425);--muted:lab(39.6443% -.165641 -3.01217);--gold:lab(67.5798% 11.9379 52.333);--gold-dim:lab(44.394% 5.21129 24.4453);--gold-glow:lab(67.5798% 11.9379 52.333/.2);--gold-subtle:lab(67.5798% 11.9379 52.333/.1);--hd-head:lab(48.5159% 37.0934 -58.1781);--hd-ajna:lab(42.6654% 12.3083 -56.648);--hd-throat:lab(43.8304% 22.8022 36.6206);--hd-g:lab(67.813% 9.5214 93.33);--hd-heart:lab(45.7636% 63.3818 40.1799);--hd-spleen:lab(53.0764% -40.8778 44.314);--hd-sp:lab(52.4466% 43.5944 55.3775);--hd-sacral:lab(45.6635% 64.206 31.2074);--hd-root:lab(29.855% 23.6799 41.1297);--ch-personality:lab(66.4233% 5.15944 -50.1959);--ch-design:lab(55.9353% 12.6865 55.2442);--ch-both:lab(67.5798% 11.9379 52.333);--ch-inactive:lab(12.9398% -.133917 -4.46223);--success:lab(61.2436% -46.7762 18.3644);--error:lab(45.8893% 57.7361 27.393);--shadow-md:0 8px 40px lab(0% 0 0/.65), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 28px lab(67.5798% 11.9379 52.333/.15), 0 0 0 1px lab(67.5798% 11.9379 52.333/.2)}}@media (prefers-color-scheme:light){:root{--bg:#f4f5f8;--surface:#fbfcfe;--surface-2:#eceef3;--border:#d5d7dd;--border-strong:#babec6;--text:#181b1f;--text-secondary:#4a4d54;--muted:#606369;--gold:#8a6000;--gold-dim:#967c4f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (color:color(display-p3 0 0 0)){:root{--bg:color(display-p3 .956515 .960735 .970805);--surface:color(display-p3 .98376 .986943 .994535);--surface-2:color(display-p3 .928401 .934691 .949715);--border:color(display-p3 .836244 .844458 .864107);--border-strong:color(display-p3 .731542 .743532 .772301);--text:color(display-p3 .096883 .103987 .12134);--text-secondary:color(display-p3 .291758 .301882 .326359);--muted:color(display-p3 .379924 .388781 .410092);--gold:color(display-p3 .524671 .380491 .0387678);--gold-dim:color(display-p3 .572756 .489268 .332751)}}@supports (color:lab(0% 0 0)){:root{--bg:lab(96.503% -.0977516 -1.51461);--surface:lab(98.8273% -.0742972 -1.13657);--surface-2:lab(94.1743% -.142723 -2.26961);--border:lab(86.0453% -.183761 -3.02231);--border-strong:lab(76.7468% -.254452 -4.52154);--text:lab(9.4703% -.11944 -3.722);--text-secondary:lab(32.6639% -.205338 -4.49569);--muted:lab(41.9548% -.197008 -3.7598);--gold:lab(44.2758% 13.6718 62.9124);--gold-dim:lab(53.685% 6.10271 28.558)}}html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}#bodygraph-container{background:var(--surface)}.chart-status,.tooltip{background:rgba(251,252,254,.92);background:color(display-p3 .98376 .986943 .994535/.92);background:lab(98.8273% -.0742972 -1.13657/.92)}#fs-bottom-bar{background:var(--surface-2)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);height:100%;color:var(--text);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.030'/%3E%3C/svg%3E");font-family:Geist,Space Grotesk,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:1.5;overflow-x:hidden}#app{flex-direction:column;gap:8px;min-height:0;padding:8px 12px;display:flex}#loading-state{min-height:300px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}#loading-state p{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.spinner{border:2px solid var(--border-strong);border-top-color:var(--gold);border-radius:50%;width:32px;height:32px;animation:1.1s cubic-bezier(.4,0,.6,1) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#bodygraph-container{border-radius:var(--radius);border:1px solid var(--border-strong);width:100%;max-width:680px;box-shadow:var(--shadow-gold);background:#010102;background:color(display-p3 .00306656 .00431968 .00888397);background:lab(.302122% .0219196 -.522962);margin:0 auto;transition:box-shadow .3s;position:relative;overflow:visible}#bodygraph-container:hover{box-shadow:0 0 40px rgba(204,156,66,.22),0 0 0 1px rgba(204,156,66,.3);box-shadow:0 0 40px color(display-p3 .76996 .617341 .321369/.22),0 0 0 1px color(display-p3 .76996 .617341 .321369/.3);box-shadow:0 0 40px lab(67.5798% 11.9379 52.333/.22),0 0 0 1px lab(67.5798% 11.9379 52.333/.3)}#bodygraph-container svg{width:100%;height:auto;max-height:min(62vh,560px);display:block}.center-group{cursor:pointer;transition:filter .16s}.center-group:hover{filter:brightness(1.2)drop-shadow(0 0 6px rgba(204,156,66,.35));filter:brightness(1.2)drop-shadow(0 0 6px color(display-p3 .76996 .617341 .321369/.35));filter:brightness(1.2)drop-shadow(0 0 6px lab(67.5798% 11.9379 52.333/.35))}.channel-line{cursor:pointer}.channel-line:hover .channel-vis{filter:drop-shadow(0 0 4px var(--gold-glow));stroke:var(--gold)!important;stroke-width:5px!important}.gate-badge{cursor:pointer}.gate-badge:hover circle{stroke:var(--gold)!important;stroke-opacity:1!important}.gate-badge:hover text{fill:var(--gold)!important}#info-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:6px 12px;width:100%;max-width:680px;margin:0 auto;padding:10px 14px;display:grid}.info-row{flex-direction:column;gap:1px;display:flex}.info-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9px;font-weight:700}.info-value{color:var(--text);font-size:12px;font-weight:500}.channel-legend{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:680px;margin:0 auto;padding:4px 0;display:flex}.legend-item{color:var(--text-secondary);letter-spacing:.04em;align-items:center;gap:5px;font-size:9px;font-weight:500;display:flex}.legend-swatch{border-radius:2px;flex-shrink:0;width:18px;height:3px}#controls-panel{background:0 0;width:100%;max-width:680px;margin:0 auto;padding:4px 0}.controls-row{align-items:center;gap:6px;display:flex}.controls-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-shrink:0;font-size:9px;font-weight:700}.controls-value{color:var(--text-secondary);font-size:11px}.chart-hint{text-align:center;letter-spacing:.04em;width:100%;max-width:680px;color:var(--muted);margin:0 auto;padding:4px 0 2px;font-size:10px}.error-state{min-height:200px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.error-icon{opacity:.5;font-size:24px}.error-retry-btn{border:1px solid var(--border,rgba(128,128,160,.3));color:var(--accent,var(--text,inherit));font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:999px;margin-top:4px;padding:7px 20px;font-size:11px;font-weight:600;transition:background .18s,border-color .18s}.error-retry-btn:hover{background:rgba(128,128,160,.12)}@media (max-width:420px){#app{gap:8px;padding:8px}#info-panel{grid-template-columns:1fr}}#bodygraph-container.is-loading{opacity:.55;pointer-events:none;cursor:wait;transition:opacity .15s}.chart-status{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-pill);color:var(--gold);letter-spacing:.04em;z-index:900;opacity:0;pointer-events:none;background:rgba(5,7,13,.92);background:color(display-p3 .0216592 .0280553 .0483601/.92);background:lab(1.95095% .0425801 -2.41514/.92);border:1px solid rgba(204,156,66,.35);border:1px solid color(display-p3 .76996 .617341 .321369/.35);border:1px solid lab(67.5798% 11.9379 52.333/.35);max-height:0;padding:5px 18px;font-size:11px;font-weight:600;transition:max-height .24s cubic-bezier(.16,1,.3,1),opacity .24s,transform .24s cubic-bezier(.16,1,.3,1);position:fixed;top:10px;left:50%;overflow:hidden;transform:translate(-50%)translateY(-10px);box-shadow:0 4px 20px rgba(0,0,0,.5),0 0 0 1px rgba(204,156,66,.08);box-shadow:0 4px 20px color(display-p3 0 0 0/.5),0 0 0 1px color(display-p3 .76996 .617341 .321369/.08);box-shadow:0 4px 20px lab(0% 0 0/.5),0 0 0 1px lab(67.5798% 11.9379 52.333/.08)}.chart-status.visible{opacity:1;max-height:44px;transform:translate(-50%)translateY(0)}@keyframes gold-pulse{0%,to{border-color:rgba(204,156,66,.35);border-color:color(display-p3 .76996 .617341 .321369/.35);border-color:lab(67.5798% 11.9379 52.333/.35)}50%{border-color:rgba(204,156,66,.65);border-color:color(display-p3 .76996 .617341 .321369/.65);border-color:lab(67.5798% 11.9379 52.333/.65)}}.hd-popup{background:var(--surface-2);border:1px solid var(--border-strong);z-index:1000;opacity:0;pointer-events:none;border-radius:12px;width:min(340px,92vw);padding:14px 16px 12px;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);position:fixed;box-shadow:0 12px 48px rgba(0,0,0,.7),0 0 0 1px rgba(204,156,66,.15);box-shadow:0 12px 48px color(display-p3 0 0 0/.7),0 0 0 1px color(display-p3 .76996 .617341 .321369/.15);box-shadow:0 12px 48px lab(0% 0 0/.7),0 0 0 1px lab(67.5798% 11.9379 52.333/.15)}.hd-popup.visible{opacity:1;pointer-events:all}.hd-popup-header{align-items:flex-start;gap:10px;display:flex}.hd-popup-icon{color:var(--gold);text-align:center;flex-shrink:0;min-width:28px;font-size:18px;font-weight:700;line-height:1}.hd-popup-title{color:var(--text);flex:1;font-size:13px;font-weight:700}.hd-popup-sub{color:var(--text-secondary);letter-spacing:.01em;margin-top:2px;font-size:11px;font-weight:400}.hd-popup-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:15px;line-height:1;transition:color .12s}.hd-popup-close:hover{color:var(--text)}.hd-popup-body{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.hd-popup-row{align-items:baseline;gap:8px;font-size:11px;line-height:1.45;display:flex}.hd-popup-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0;min-width:56px;padding-top:1px;font-size:9px;font-weight:700}.hd-popup-val{color:var(--text);font-weight:500}.hd-popup-gates{flex-wrap:wrap;gap:4px;font-weight:500;display:flex}.hd-popup-gate-chip{border:1px solid var(--border-strong);border-radius:var(--radius-pill,99px);background:var(--surface);color:var(--text);white-space:nowrap;padding:1px 7px;font-size:10px;display:inline-block}.hd-popup-note{color:var(--text-secondary);letter-spacing:.01em;margin-top:4px;font-size:10px;font-style:italic;line-height:1.5}.hd-detail-panel{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;min-height:0;padding:2px 0 8px;overflow-y:auto}.hd-detail-panel .hd-popup-header{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:8px}.hd-detail-panel .hd-popup-close{opacity:.5}.hd-detail-panel .hd-popup-close:hover{opacity:1;color:var(--text)}.ask-claude-btn{border-radius:var(--radius-sm);width:100%;color:var(--gold);letter-spacing:.04em;cursor:pointer;background:rgba(204,156,66,.12);background:color(display-p3 .76996 .617341 .321369/.12);background:lab(67.5798% 11.9379 52.333/.12);border:1px solid rgba(204,156,66,.4);border:1px solid color(display-p3 .76996 .617341 .321369/.4);border:1px solid lab(67.5798% 11.9379 52.333/.4);justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:9px 16px;font-family:Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:12px;font-weight:600;transition:background .16s,border-color .16s,box-shadow .16s;display:flex}.ask-claude-btn:hover:not(:disabled){background:rgba(204,156,66,.2);background:color(display-p3 .76996 .617341 .321369/.2);background:lab(67.5798% 11.9379 52.333/.2);border-color:rgba(204,156,66,.65);border-color:color(display-p3 .76996 .617341 .321369/.65);border-color:lab(67.5798% 11.9379 52.333/.65);box-shadow:0 0 0 3px rgba(204,156,66,.12);box-shadow:0 0 0 3px color(display-p3 .76996 .617341 .321369/.12);box-shadow:0 0 0 3px lab(67.5798% 11.9379 52.333/.12)}.ask-claude-btn:disabled{opacity:.45;cursor:not-allowed}.ask-claude-btn.sending{color:var(--gold-dim);opacity:.8;cursor:wait;pointer-events:none;background:rgba(204,156,66,.08);background:color(display-p3 .76996 .617341 .321369/.08);background:lab(67.5798% 11.9379 52.333/.08);border-color:rgba(204,156,66,.25);border-color:color(display-p3 .76996 .617341 .321369/.25);border-color:lab(67.5798% 11.9379 52.333/.25)}.ask-claude-btn.sent{color:var(--success);pointer-events:none;background:rgba(29,168,113,.15);background:color(display-p3 .313719 .651039 .459895/.15);background:lab(61.2436% -46.7762 18.3644/.15);border-color:rgba(29,168,113,.5);border-color:color(display-p3 .313719 .651039 .459895/.5);border-color:lab(61.2436% -46.7762 18.3644/.5)}.ask-claude-btn.error{color:var(--error);cursor:pointer;background:rgba(197,52,67,.15);background:color(display-p3 .710345 .252818 .279408/.15);background:lab(45.8893% 57.7361 27.393/.15);border-color:rgba(197,52,67,.5);border-color:color(display-p3 .710345 .252818 .279408/.5);border-color:lab(45.8893% 57.7361 27.393/.5)}.interactive-text{cursor:pointer;transition:color .15s,text-shadow .15s;position:relative}.interactive-text:hover{color:var(--gold);text-shadow:0 0 8px rgba(204,156,66,.4);text-shadow:0 0 8px color(display-p3 .76996 .617341 .321369/.4);text-shadow:0 0 8px lab(67.5798% 11.9379 52.333/.4)}.interactive-text:focus{color:var(--gold);text-shadow:0 0 8px rgba(204,156,66,.6);text-shadow:0 0 8px color(display-p3 .76996 .617341 .321369/.6);text-shadow:0 0 8px lab(67.5798% 11.9379 52.333/.6);outline:none}.planet-activation,.variable-arrow{outline:none;transition:opacity .15s}.planet-activation:hover,.variable-arrow:hover{opacity:.7}.planet-activation:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.variable-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.center-group:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.gate-badge:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.channel:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[data-gate]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[data-channel]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[data-center]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.tooltip{-webkit-backdrop-filter:blur(14px)saturate(1.6);backdrop-filter:blur(14px)saturate(1.6);border:1px solid var(--border-strong);border-radius:var(--radius);pointer-events:none;z-index:1000;opacity:0;background:rgba(7,9,14,.92);background:color(display-p3 .0286832 .0352525 .0537785/.92);background:lab(2.44746% .00379235 -2.33402/.92);max-width:240px;padding:8px 12px;font-size:12px;transition:opacity .12s;position:fixed;box-shadow:0 8px 32px rgba(0,0,0,.55),inset 0 .5px rgba(255,255,255,.04);box-shadow:0 8px 32px color(display-p3 0 0 0/.55),inset 0 .5px color(display-p3 1 1 1/.04);box-shadow:0 8px 32px lab(0% 0 0/.55),inset 0 .5px lab(100% 0 0/.04)}.tooltip.visible{opacity:1}.tooltip-title{color:var(--text);margin-bottom:2px;font-weight:700}.tooltip-detail{color:var(--text-secondary);line-height:1.4}.tooltip-hint{color:var(--gold-dim);letter-spacing:.03em;margin-top:4px;font-size:10px}.pan-zoom-controls{z-index:800;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.pan-zoom-controls[hidden]{display:none!important}.pan-btn{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;box-shadow:var(--shadow-md);justify-content:center;align-items:center;font-family:inherit;font-size:18px;transition:all .15s;display:flex}.pan-btn.reset{width:auto;padding:0 10px;font-size:11px;font-weight:500}.pan-btn:hover{background:var(--surface);border-color:var(--gold-dim);color:var(--gold)}.pan-btn:active{transform:scale(.95)}.pan-btn--fullscreen{width:36px;height:36px}body.is-fullscreen{height:100vh;overflow:hidden}body.is-fullscreen #app{flex-direction:column;gap:0;width:100vw;max-width:100%;height:100vh;padding:0;display:flex;overflow:hidden}body.is-fullscreen #bodygraph-container{min-height:0;max-width:unset;width:100%;height:auto;box-shadow:none;background:0 0;border:none;flex:1;justify-content:center;align-items:center;margin:0;padding:16px 24px 0;display:flex}body.is-fullscreen #loading-state{flex:1;height:auto;min-height:0}body.is-fullscreen #bodygraph-container svg{width:auto;max-width:100%;height:100%;max-height:100%}body.is-fullscreen .pan-zoom-controls{top:16px;right:16px}#fs-bottom-bar{border-top:1px solid var(--border);background:#020306;background:color(display-p3 .0100648 .0127997 .0215356);background:lab(.889429% .0122339 -1.01076);flex-shrink:0;grid-template-rows:1fr;grid-template-columns:220px 1fr 220px;height:240px;min-height:180px;max-height:280px;display:grid}#fs-bottom-bar [data-column=left],#fs-bottom-bar [data-column=right]{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;gap:4px;padding:10px 14px 12px;display:flex;overflow-x:hidden;overflow-y:auto}#fs-bottom-bar [data-column=left]{border-right:1px solid var(--border)}#fs-bottom-bar [data-column=center]{pointer-events:none}#fs-bottom-bar [data-column=right]{border-left:1px solid var(--border);overflow-y:auto}#fs-bottom-bar [data-column]>*+*{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}#fs-bottom-bar .hd-action-bar{flex-direction:column;padding:8px 0 0}#fs-bottom-bar .action-btn{justify-content:center;width:100%}.cancel-toast{background:var(--surface-2,#1e1e2e);border:1px solid var(--border-strong,#444);color:var(--text-muted,#aaa);border-radius:var(--radius-sm,6px);opacity:0;z-index:9999;pointer-events:none;box-shadow:var(--shadow-md,0 4px 12px rgba(0,0,0,.3));padding:8px 16px;font-family:inherit;font-size:12px;transition:opacity .3s,transform .3s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(20px)}.cancel-toast.visible{opacity:1;transform:translate(-50%)translateY(0)}.oe-loader{width:64px;height:64px;stroke:var(--gold);stroke-width:2px;fill:none;stroke-dasharray:200;stroke-dashoffset:200px;filter:drop-shadow(0 0 4px var(--gold-glow));animation:2.5s cubic-bezier(.16,1,.3,1) infinite oe-draw}@keyframes oe-draw{0%{stroke-dashoffset:200px;stroke-opacity:.1}50%{stroke-dashoffset:0;stroke-opacity:1;filter:drop-shadow(0 0 8px var(--gold))}to{stroke-dashoffset:-200px;stroke-opacity:.1}}.info-drawer{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;max-height:0;padding:14px 16px 12px;transition:max-height .26s cubic-bezier(.16,1,.3,1),opacity .2s,padding .2s;position:relative;overflow:hidden}.info-drawer:before{content:"";background:var(--border-strong);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:0 auto 10px;display:block}.info-drawer.open{opacity:1;pointer-events:all;max-height:500px;padding:14px 16px 12px}.hd-action-bar{flex-wrap:wrap;gap:8px;padding:10px 16px 6px;display:flex}.action-btn{color:var(--gold);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.3);border-radius:8px;align-items:center;gap:6px;padding:7px 16px;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,transform .1s;display:inline-flex}.action-btn:hover{background:rgba(212,175,55,.15);border-color:rgba(212,175,55,.5);transform:translateY(-1px)}.action-btn:active{background:rgba(212,175,55,.2);transform:translateY(0)}.action-btn--primary{color:var(--gold);background:linear-gradient(135deg,rgba(212,175,55,.2),rgba(180,140,30,.25));border-color:rgba(212,175,55,.5)}.action-btn--primary:hover{background:linear-gradient(135deg,rgba(212,175,55,.3),rgba(180,140,30,.35));border-color:rgba(212,175,55,.7)}@media (prefers-color-scheme:light){:root{--bg:#f7f5f1;--surface:#fff;--surface-2:#f1eee9;--border:#dbd7d0;--border-strong:#bdb6ac;--text:#101215;--text-secondary:#4f5359;--muted:#6c6f73;--gold:#8d5f00;--gold-dim:#6d4b00;--gold-glow:rgba(141,95,0,.25);--gold-subtle:rgba(141,95,0,.1);--success:#007145;--error:#b1002b;--shadow-md:0 4px 24px rgba(0,0,0,.12), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 16px rgba(141,95,0,.18), 0 0 0 1px rgba(141,95,0,.22)}@supports (color:color(display-p3 0 0 0)){:root{--bg:color(display-p3 .967616 .959866 .945308);--surface:color(display-p3 1 1 1);--surface-2:color(display-p3 .943798 .93351 .914195);--border:color(display-p3 .855616 .842987 .819292);--border-strong:color(display-p3 .73602 .716348 .67952);--text:color(display-p3 .0633107 .0687189 .081922);--text-secondary:color(display-p3 .313002 .323251 .348016);--muted:color(display-p3 .426318 .433563 .450948);--gold:color(display-p3 .542549 .371783 -.107551);--gold-dim:color(display-p3 .414099 .299019 .034461);--gold-glow:color(display-p3 .542549 .371783 -.107551/.25);--gold-subtle:color(display-p3 .542549 .371783 -.107551/.1);--success:color(display-p3 -.0793084 .456092 .255685);--error:color(display-p3 .642198 .101724 .18242);--shadow-md:0 4px 24px color(display-p3 0 0 0/.12), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 16px color(display-p3 .542549 .371783 -.107551/.18), 0 0 0 1px color(display-p3 .542549 .371783 -.107551/.22)}}@supports (color:lab(0% 0 0)){:root{--bg:lab(96.5376% .34076 2.2589);--surface:lab(100% 0 0);--surface-2:lab(94.2232% .459731 3.01526);--border:lab(86.1085% .583261 3.77473);--border-strong:lab(74.5232% .975847 6.06879);--text:lab(5.23809% -.0738502 -2.43738);--text-secondary:lab(34.9842% -.210047 -4.49809);--muted:lab(46.6045% -.170082 -3.01461);--gold:lab(44.1995% 17.0662 84.3373);--gold-dim:lab(35.0077% 11.3181 50.9422);--gold-glow:lab(44.1995% 17.0662 84.3373/.25);--gold-subtle:lab(44.1995% 17.0662 84.3373/.1);--success:lab(41.7514% -55.3249 21.5039);--error:lab(37.5238% 64.2774 32.6097);--shadow-md:0 4px 24px lab(0% 0 0/.12), 0 0 0 1px var(--border-strong);--shadow-gold:0 0 16px lab(44.1995% 17.0662 84.3373/.18), 0 0 0 1px lab(44.1995% 17.0662 84.3373/.22)}}html,body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background-image:none}#bodygraph-container{border-color:var(--border-strong);background:#fff;background:color(display-p3 1 1 1);background:lab(100% 0 0)}.chart-status{background:rgba(247,245,241,.92);background:color(display-p3 .967616 .959866 .945308/.92);background:lab(96.5376% .34076 2.2589/.92);border-color:rgba(141,95,0,.35);border-color:color(display-p3 .542549 .371783 -.107551/.35);border-color:lab(44.1995% 17.0662 84.3373/.35)}.tooltip{border-color:var(--border-strong);background:rgba(255,255,255,.96);background:color(display-p3 1 1 1/.96);background:lab(100% 0 0/.96)}#info-panel{background:var(--surface);border-color:var(--border)}.hd-popup{background:var(--surface);border-color:var(--border-strong);box-shadow:0 12px 48px rgba(0,0,0,.18), 0 0 0 1px var(--border-strong)}@supports (color:color(display-p3 0 0 0)){.hd-popup{box-shadow:0 12px 48px color(display-p3 0 0 0/.18), 0 0 0 1px var(--border-strong)}}@supports (color:lab(0% 0 0)){.hd-popup{box-shadow:0 12px 48px lab(0% 0 0/.18), 0 0 0 1px var(--border-strong)}}#fs-bottom-bar{background:#f7f5f1;background:color(display-p3 .967616 .959866 .945308);background:lab(96.5376% .34076 2.2589);border-top-color:#caced4;border-top-color:color(display-p3 .796183 .806346 .830691);border-top-color:lab(82.5562% -.22167 -3.77336)}#fs-bottom-bar [data-column=left],#fs-bottom-bar [data-column=right]{background:#f1eeea;background:color(display-p3 .941472 .933762 .919279);background:lab(94.2176% .341028 2.25905)}#fs-bottom-bar [data-column=left]{border-right-color:#caced4;border-right-color:color(display-p3 .796183 .806346 .830691);border-right-color:lab(82.5562% -.22167 -3.77336)}#fs-bottom-bar [data-column=right]{border-left-color:#caced4;border-left-color:color(display-p3 .796183 .806346 .830691);border-left-color:lab(82.5562% -.22167 -3.77336)}#fs-bottom-bar [data-column]>*+*{border-top-color:#caced4;border-top-color:color(display-p3 .796183 .806346 .830691);border-top-color:lab(82.5562% -.22167 -3.77336)}}svg.has-highlight [data-center],svg.has-highlight [data-channel],svg.has-highlight [data-gate]{opacity:.45;transition:opacity .2s,filter .2s}svg.has-highlight [data-highlighted=true]{opacity:1;filter:drop-shadow(0 0 4px rgba(212,160,23,.55))}svg.has-highlight [data-highlighted-primary=true]{opacity:1;filter:drop-shadow(0 0 8px rgba(212,160,23,.95))}svg.has-highlight [data-highlighted-primary=true] path,svg.has-highlight [data-highlighted-primary=true] circle,svg.has-highlight [data-highlighted-primary=true] polygon,svg.has-highlight [data-highlighted-primary=true] rect{stroke-width:calc(var(--stroke-w,1.5) * 1.4)}@media (max-width:480px){.pan-zoom-controls{gap:5px}.pan-btn,.pan-btn--fullscreen{background:color-mix(in oklab, var(--surface-2) 72%, transparent);-webkit-backdrop-filter:blur(6px);width:32px;height:32px;font-size:15px}.pan-btn.reset{width:32px;padding:0;font-size:0}.pan-btn.reset:before{content:"⟲";font-size:15px}}.hd-disclaimer{max-width:680px;color:var(--text-secondary);text-align:center;margin:4px auto 0;font-size:10px;line-height:1.5}.param-controls{background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;padding:6px 12px}.param-controls-grid{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.param-group{flex-direction:row;align-items:center;gap:6px;display:flex}.param-group label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.06em;white-space:nowrap;font-size:10px;font-weight:700}.param-group input[type=date],.param-group input[type=time],.param-group input[type=text]{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);color-scheme:inherit;border-radius:var(--radius-sm);width:120px;height:24px;padding:3px 6px;font-family:inherit;font-size:11px}@media (prefers-reduced-motion:no-preference){.param-group input[type=date],.param-group input[type=time],.param-group input[type=text]{transition:border-color .15s}}.param-group input:focus{border-color:var(--gold-dim);outline:none}.loc-searching{border-color:var(--gold-dim)!important}@media (prefers-reduced-motion:no-preference){.loc-searching{animation:1s ease-in-out infinite alternate loc-pulse}}@keyframes loc-pulse{0%{border-color:var(--gold-dim)}to{border-color:rgba(204,156,66,.55);border-color:color(display-p3 .76996 .617341 .321369/.55);border-color:lab(67.5798% 11.9379 52.333/.55)}}.param-group-loc{flex:1;position:relative}.param-group-loc input{width:100%}.loc-suggestions{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);z-index:100;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.35);box-shadow:0 4px 12px color(display-p3 0 0 0/.35);box-shadow:0 4px 12px lab(0% 0 0/.35)}.loc-item{color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px;overflow:hidden}.loc-item:last-child{border-bottom:none}@media (prefers-reduced-motion:no-preference){.loc-item{transition:background .1s,color .1s}}.loc-item:hover{background:var(--gold-subtle);color:var(--gold)}.loc-status{color:var(--text-secondary);letter-spacing:.01em;padding:8px 10px;font-size:11px;font-style:italic}.loc-status-error{color:#d76a5a;color:color(display-p3 .788241 .439621 .373983);color:lab(58.1265% 42.6447 29.9439);font-style:normal;font-weight:600}.param-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.param-cost-hint{color:var(--text-secondary);white-space:nowrap;letter-spacing:.02em;font-size:10px}.param-btn-icon{border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}@media (prefers-reduced-motion:no-preference){.param-btn-icon{transition:background .15s,border-color .15s,color .15s}}.param-btn-icon:hover{background:var(--surface-2);color:var(--text);border-color:var(--gold-dim)}.param-btn-primary{color:var(--gold);border-radius:var(--radius-sm);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:rgba(204,156,66,.12);background:color(display-p3 .76996 .617341 .321369/.12);background:lab(67.5798% 11.9379 52.333/.12);border:1px solid rgba(204,156,66,.4);border:1px solid color(display-p3 .76996 .617341 .321369/.4);border:1px solid lab(67.5798% 11.9379 52.333/.4);height:24px;padding:3px 10px;font-family:inherit;font-size:10px;font-weight:600}@media (prefers-reduced-motion:no-preference){.param-btn-primary{transition:background .15s,border-color .15s}}.param-btn-primary:hover:not(:disabled){background:rgba(204,156,66,.2);background:color(display-p3 .76996 .617341 .321369/.2);background:lab(67.5798% 11.9379 52.333/.2);border-color:rgba(204,156,66,.65);border-color:color(display-p3 .76996 .617341 .321369/.65);border-color:lab(67.5798% 11.9379 52.333/.65)}.param-btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme:light){.param-group input[type=date],.param-group input[type=time],.param-group input[type=text]{border-color:var(--border-strong);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fdfcf9;background:color(display-p3 .990365 .986474 .97916);background:lab(98.849% .167578 1.1277)}.loc-suggestions{border-color:var(--border-strong);background:#fdfcf9;background:color(display-p3 .990365 .986474 .97916);background:lab(98.849% .167578 1.1277)}.param-btn-primary{background:rgba(160,112,0,.12);background:color(display-p3 .615135 .441554 -.0204711/.12);background:lab(51.2092% 16.2654 78.3504/.12);border-color:rgba(160,112,0,.4);border-color:color(display-p3 .615135 .441554 -.0204711/.4);border-color:lab(51.2092% 16.2654 78.3504/.4)}.param-btn-primary:hover:not(:disabled){background:rgba(160,112,0,.22);background:color(display-p3 .615135 .441554 -.0204711/.22);background:lab(51.2092% 16.2654 78.3504/.22);border-color:rgba(160,112,0,.65);border-color:color(display-p3 .615135 .441554 -.0204711/.65);border-color:lab(51.2092% 16.2654 78.3504/.65)}}.param-summary-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:2px 0;margin-bottom:4px;padding:3px 4px 5px;font-size:10px;line-height:1.3;display:flex}.param-summary-bar[hidden]{display:none}.summary-name{color:var(--gold,#d6a54d);letter-spacing:.01em;padding-right:2px;font-size:12px;font-weight:700}@supports (color:color(display-p3 0 0 0)){.summary-name{color:var(--gold,color(display-p3 .808073 .654274 .358094))}}@supports (color:lab(0% 0 0)){.summary-name{color:var(--gold,lab(71.071% 11.7474 51.7651))}}.summary-datetime{font-variant-numeric:tabular-nums;color:var(--text-secondary);align-items:baseline;gap:4px;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:11px;display:inline-flex}.summary-time-sep{color:var(--border-strong);opacity:.7;font-family:inherit;font-size:9px}.summary-loc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;padding-left:2px;font-size:11px;font-style:italic;overflow:hidden}.summary-sep{background:var(--border-strong);opacity:.5;vertical-align:middle;flex-shrink:0;width:1px;height:11px;margin:0 7px;display:inline-block}
|
|
14
14
|
/*$vite$:1*/</style>
|
|
15
15
|
</head>
|
|
16
16
|
<body>
|
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
<div id="param-controls-container" hidden></div>
|
|
32
32
|
<div id="info-panel" hidden></div>
|
|
33
33
|
<div id="controls-panel" hidden></div>
|
|
34
|
+
<p class="hd-disclaimer">
|
|
35
|
+
For insight and entertainment; not scientifically validated. Human Design
|
|
36
|
+
was originated by Ra Uru Hu — OpenEphemeris is an independent calculation
|
|
37
|
+
service, not affiliated with or endorsed by Jovian Archive.
|
|
38
|
+
</p>
|
|
34
39
|
</div>
|
|
35
40
|
<div id="hd-popup" class="hd-popup" role="dialog" aria-modal="false" aria-label="Human Design detail"></div>
|
|
36
41
|
|
|
@@ -6934,9 +6939,13 @@ var w_ = class {
|
|
|
6934
6939
|
let t3 = document.createElement("button");
|
|
6935
6940
|
t3.className = "param-btn-icon", t3.innerHTML = "\u25B6", t3.title = "Next Day", t3.addEventListener("click", () => this.stepDay(1)), s2.append(e5, t3);
|
|
6936
6941
|
}
|
|
6937
|
-
this.refreshBtn = document.createElement("button"), this.refreshBtn.className = "param-btn-primary", this.refreshBtn.textContent = "Recalculate", this.refreshBtn.addEventListener("click", () => {
|
|
6942
|
+
if (this.refreshBtn = document.createElement("button"), this.refreshBtn.className = "param-btn-primary", this.refreshBtn.textContent = "Recalculate", this.refreshBtn.addEventListener("click", () => {
|
|
6938
6943
|
this.config.onRefresh(this.params);
|
|
6939
|
-
}), s2.append(this.refreshBtn),
|
|
6944
|
+
}), s2.append(this.refreshBtn), this.config.costHint) {
|
|
6945
|
+
let e5 = document.createElement("span");
|
|
6946
|
+
e5.className = "param-cost-hint", e5.textContent = this.config.costHint, e5.title = "Approximate credit cost each time you recalculate", s2.append(e5);
|
|
6947
|
+
}
|
|
6948
|
+
this.config.hideLocation ? e4.append(t2, r2, s2) : e4.append(t2, r2, a2, s2), this.config.container.append(e4);
|
|
6940
6949
|
}
|
|
6941
6950
|
stepDay(e4) {
|
|
6942
6951
|
if (!this.params.date) return;
|
|
@@ -6953,7 +6962,7 @@ function E_(e4) {
|
|
|
6953
6962
|
function D_(e4) {
|
|
6954
6963
|
T_.add(e4);
|
|
6955
6964
|
}
|
|
6956
|
-
var O_ = { "chart-wheel": { stripIcon: "\u2726", stripTitle: "Welcome to your Natal Chart", stripHints: ["Click any <strong>planet</strong> for a deep placement reading", "Click any <strong>aspect line</strong> for its dynamic interpretation", "Click any <strong>house cusp</strong> for house themes", "Use the <strong>date controls</strong> to move through time"], modalText: "Your birth chart is now rendered \u2014 an exact celestial snapshot of the sky at your moment of birth." }, "bi-wheel": { stripIcon: "\u2295", stripTitle: "Welcome to the Bi-Wheel", stripHints: ["Click any <strong>inner planet</strong> for natal placement depth", "Click any <strong>outer planet</strong> for transit or synastry meaning", "Click a <strong>cross-aspect line</strong> for inter-chart dynamics", "Use the <strong>date controls</strong> to advance transits"], modalText: "Two charts are now layered \u2014 the inner wheel is your natal chart; the outer ring shows the second chart (transits or another person's planets)." }, bodygraph: { stripIcon: "\u25C8", stripTitle: "Welcome to your Bodygraph", stripHints: ["Click any <strong>center</strong> (defined or undefined) for its meaning", "Click any <strong>channel</strong> to explore its life theme", "Click any <strong>gate number</strong> for its I Ching hexagram reading", "Click a <strong>planet row</strong> in the sidebar for its HD role"], modalText: "Your bodygraph is now rendered \u2014 a living map of the energy centres, channels, and gates that define your design." } }, k_ = '\n .oe-welcome-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: oklch(0% 0 0 / 0.55);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n z-index: 9999;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: oe-fade-in 0.4s ease both;\n font-family: system-ui, sans-serif;\n }\n\n .oe-welcome-modal {\n background: oklch(11% 0.010 265);\n border: 1px solid var(--gold-glow, oklch(72% 0.12 80 / 0.20));\n border-radius: 16px;\n padding: 32px;\n width: 90%;\n max-width: 440px;\n box-shadow: 0 20px 40px oklch(0% 0 0 / 0.55), inset 0 1px 0 oklch(100% 0 0 / 0.06);\n animation: oe-modal-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;\n display: flex;\n flex-direction: column;\n gap: 20px;\n }\n\n @keyframes oe-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n @keyframes oe-modal-in {\n from { opacity: 0; transform: scale(0.95) translateY(10px); }\n to { opacity: 1; transform: scale(1) translateY(0); }\n }\n\n .oe-welcome-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 4px;\n }\n\n .oe-welcome-icon {\n font-size: 28px;\n color: var(--gold, oklch(72% 0.12 80));\n line-height: 1;\n text-shadow: 0 0 10px var(--gold-glow, oklch(72% 0.12 80 / 0.30));\n }\n\n .oe-welcome-title {\n font-size: 20px;\n font-weight: 600;\n color: var(--text, oklch(92% 0.006 265));\n margin: 0;\n letter-spacing: 0.02em;\n }\n\n .oe-welcome-text {\n font-size: 14.5px;\n line-height: 1.5;\n color: var(--text-secondary, oklch(68% 0.008 265));\n margin: 0;\n }\n\n .oe-welcome-hints {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin: 8px 0 12px 0;\n padding: 0;\n list-style: none;\n }\n\n .oe-welcome-hints li {\n font-size: 13.5px;\n line-height: 1.4;\n color: var(--text-secondary, oklch(68% 0.008 265));\n display: flex;\n align-items: flex-start;\n gap: 10px;\n opacity: 0;\n animation: oe-fade-in 0.4s ease forwards;\n }\n\n /* Stagger the hints */\n .oe-welcome-hints li:nth-child(1) { animation-delay: 0.15s; }\n .oe-welcome-hints li:nth-child(2) { animation-delay: 0.25s; }\n .oe-welcome-hints li:nth-child(3) { animation-delay: 0.35s; }\n .oe-welcome-hints li:nth-child(4) { animation-delay: 0.45s; }\n\n .oe-welcome-hints li::before {\n content: "\u2726";\n color: var(--gold-dim, oklch(52% 0.06 80));\n font-size: 12px;\n padding-top: 2px;\n }\n\n .oe-welcome-hints strong {\n color: var(--text, oklch(92% 0.006 265));\n font-weight: 600;\n }\n\n .oe-welcome-button {\n align-self: flex-end;\n background: var(--gold-subtle, oklch(72% 0.12 80 / 0.10));\n color: var(--gold, oklch(72% 0.12 80));\n border: 1px solid var(--gold-glow, oklch(72% 0.12 80 / 0.20));\n padding: 10px 24px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: background 0.2s ease, border-color 0.2s ease;\n margin-top: 4px;\n }\n\n .oe-welcome-button:hover {\n background: oklch(72% 0.12 80 / 0.18);\n border-color: oklch(72% 0.12 80 / 0.40);\n }\n\n .oe-welcome-button:focus-visible {\n outline: 2px solid var(--gold, oklch(72% 0.12 80));\n outline-offset: 2px;\n }\n\n .oe-welcome-backdrop.is-dismissing {\n animation: oe-fade-out 0.3s ease forwards;\n }\n\n .oe-welcome-backdrop.is-dismissing .oe-welcome-modal {\n animation: oe-modal-out 0.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;\n }\n\n @keyframes oe-fade-out {\n to { opacity: 0; }\n }\n\n @keyframes oe-modal-out {\n to { opacity: 0; transform: scale(0.95) translateY(10px); }\n }\n';
|
|
6965
|
+
var O_ = { "chart-wheel": { stripIcon: "\u2726", stripTitle: "Welcome to your Natal Chart", stripHints: ["Click any <strong>planet</strong> for a deep placement reading", "Click any <strong>aspect line</strong> for its dynamic interpretation", "Click any <strong>house cusp</strong> for house themes", "Use the <strong>date controls</strong> to move through time"], modalText: "Your birth chart is now rendered \u2014 an exact celestial snapshot of the sky at your moment of birth." }, "bi-wheel": { stripIcon: "\u2295", stripTitle: "Welcome to the Bi-Wheel", stripHints: ["Click any <strong>inner planet</strong> for natal placement depth", "Click any <strong>outer planet</strong> for transit or synastry meaning", "Click a <strong>cross-aspect line</strong> for inter-chart dynamics", "Use the <strong>date controls</strong> to advance transits"], modalText: "Two charts are now layered \u2014 the inner wheel is your natal chart; the outer ring shows the second chart (transits or another person's planets)." }, bodygraph: { stripIcon: "\u25C8", stripTitle: "Welcome to your Bodygraph", stripHints: ["Click any <strong>center</strong> (defined or undefined) for its meaning", "Click any <strong>channel</strong> to explore its life theme", "Click any <strong>gate number</strong> for its I Ching hexagram reading", "Click a <strong>planet row</strong> in the sidebar for its HD role"], modalText: "Your bodygraph is now rendered \u2014 a living map of the energy centres, channels, and gates that define your design." }, "vedic-chart": { stripIcon: "\u{1F549}", stripTitle: "Welcome to your Jyotish Chart", stripHints: ["Click any <strong>rashi cell</strong> for its themes and any planets placed there", "The <strong>diagonal mark</strong> shows your Lagna (Ascendant) rashi", "Use the <strong>action bar</strong> for a full chart interpretation", "Click <strong>Moon & Nakshatra</strong> for lunar mansion detail"], modalText: "Your Vedic birth chart is now rendered as a South Indian Rashi grid \u2014 sidereal planetary placements by fixed sign." }, "transit-timeline": { stripIcon: "\u2604", stripTitle: "Welcome to your Transit Timeline", stripHints: ["Each entry is an <strong>exact transit hit</strong> \u2014 a transiting planet contacting a natal point", "Events are <strong>grouped by month</strong> in chronological order", "The <strong>\u211E marker</strong> flags a retrograde crossing", "Click any transit for a focused <strong>interpretation</strong>"], modalText: "This timeline lists upcoming transits to your natal chart \u2014 the exact dates outer-planet energies activate your placements." }, "moon-phase": { stripIcon: "\u263E", stripTitle: "Welcome to the Moon Phase dial", stripHints: ["Click the <strong>Moon</strong> for its phase interpretation", "Click the <strong>Void-of-Course</strong> card when the Moon is VOC", "Use the <strong>date control</strong> to move the sky to any moment"], modalText: "The dial shows the Moon's live illumination, phase, sign, and void-of-course status \u2014 a snapshot of tonight's sky." }, bazi: { stripIcon: "\u56DB", stripTitle: "Welcome to your BaZi Chart", stripHints: ["Click any <strong>pillar</strong> (Year, Month, Day, Hour) for its interpretation", "The <strong>Day Master</strong> is your core identity element", "The <strong>Wu Xing bar</strong> shows your Five Element balance"], modalText: "Your BaZi (Four Pillars of Destiny) chart is now rendered \u2014 a map of the Heavenly Stems and Earthly Branches present at your moment of birth." } }, k_ = '\n .oe-welcome-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: oklch(0% 0 0 / 0.55);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n z-index: 9999;\n display: flex;\n align-items: center;\n justify-content: center;\n animation: oe-fade-in 0.4s ease both;\n font-family: system-ui, sans-serif;\n }\n\n .oe-welcome-modal {\n background: oklch(11% 0.010 265);\n border: 1px solid var(--gold-glow, oklch(72% 0.12 80 / 0.20));\n border-radius: 16px;\n padding: 32px;\n width: 90%;\n max-width: 440px;\n box-shadow: 0 20px 40px oklch(0% 0 0 / 0.55), inset 0 1px 0 oklch(100% 0 0 / 0.06);\n animation: oe-modal-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;\n display: flex;\n flex-direction: column;\n gap: 20px;\n }\n\n @keyframes oe-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n\n @keyframes oe-modal-in {\n from { opacity: 0; transform: scale(0.95) translateY(10px); }\n to { opacity: 1; transform: scale(1) translateY(0); }\n }\n\n .oe-welcome-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 4px;\n }\n\n .oe-welcome-icon {\n font-size: 28px;\n color: var(--gold, oklch(72% 0.12 80));\n line-height: 1;\n text-shadow: 0 0 10px var(--gold-glow, oklch(72% 0.12 80 / 0.30));\n }\n\n .oe-welcome-title {\n font-size: 20px;\n font-weight: 600;\n color: var(--text, oklch(92% 0.006 265));\n margin: 0;\n letter-spacing: 0.02em;\n }\n\n .oe-welcome-text {\n font-size: 14.5px;\n line-height: 1.5;\n color: var(--text-secondary, oklch(68% 0.008 265));\n margin: 0;\n }\n\n .oe-welcome-hints {\n display: flex;\n flex-direction: column;\n gap: 12px;\n margin: 8px 0 12px 0;\n padding: 0;\n list-style: none;\n }\n\n .oe-welcome-hints li {\n font-size: 13.5px;\n line-height: 1.4;\n color: var(--text-secondary, oklch(68% 0.008 265));\n display: flex;\n align-items: flex-start;\n gap: 10px;\n opacity: 0;\n animation: oe-fade-in 0.4s ease forwards;\n }\n\n /* Stagger the hints */\n .oe-welcome-hints li:nth-child(1) { animation-delay: 0.15s; }\n .oe-welcome-hints li:nth-child(2) { animation-delay: 0.25s; }\n .oe-welcome-hints li:nth-child(3) { animation-delay: 0.35s; }\n .oe-welcome-hints li:nth-child(4) { animation-delay: 0.45s; }\n\n .oe-welcome-hints li::before {\n content: "\u2726";\n color: var(--gold-dim, oklch(52% 0.06 80));\n font-size: 12px;\n padding-top: 2px;\n }\n\n .oe-welcome-hints strong {\n color: var(--text, oklch(92% 0.006 265));\n font-weight: 600;\n }\n\n .oe-welcome-button {\n align-self: flex-end;\n background: var(--gold-subtle, oklch(72% 0.12 80 / 0.10));\n color: var(--gold, oklch(72% 0.12 80));\n border: 1px solid var(--gold-glow, oklch(72% 0.12 80 / 0.20));\n padding: 10px 24px;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n transition: background 0.2s ease, border-color 0.2s ease;\n margin-top: 4px;\n }\n\n .oe-welcome-button:hover {\n background: oklch(72% 0.12 80 / 0.18);\n border-color: oklch(72% 0.12 80 / 0.40);\n }\n\n .oe-welcome-button:focus-visible {\n outline: 2px solid var(--gold, oklch(72% 0.12 80));\n outline-offset: 2px;\n }\n\n .oe-welcome-backdrop.is-dismissing {\n animation: oe-fade-out 0.3s ease forwards;\n }\n\n .oe-welcome-backdrop.is-dismissing .oe-welcome-modal {\n animation: oe-modal-out 0.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;\n }\n\n @keyframes oe-fade-out {\n to { opacity: 0; }\n }\n\n @keyframes oe-modal-out {\n to { opacity: 0; transform: scale(0.95) translateY(10px); }\n }\n';
|
|
6957
6966
|
function A_() {
|
|
6958
6967
|
if (document.getElementById("oe-first-run-styles")) return;
|
|
6959
6968
|
let e4 = document.createElement("style");
|
|
@@ -7133,38 +7142,46 @@ function B_(e4) {
|
|
|
7133
7142
|
n2(e5);
|
|
7134
7143
|
});
|
|
7135
7144
|
}
|
|
7136
|
-
var V_ = document.getElementById("loading-state"), H_ = document.getElementById("bodygraph-container"), U_ = document.getElementById("info-panel"), W_ = document.getElementById("controls-panel"), G_ = document.getElementById("chart-status"), K_ = document.getElementById("param-controls-container"), Q = new e_({ name: "Human Design Bodygraph Explorer", version: "1.0.0" }), $ = null, q_ = null, J_ = false, Y_ = "dark", X_ = false;
|
|
7137
|
-
function
|
|
7145
|
+
var V_ = document.getElementById("loading-state"), H_ = document.getElementById("bodygraph-container"), U_ = document.getElementById("info-panel"), W_ = document.getElementById("controls-panel"), G_ = document.getElementById("chart-status"), K_ = document.getElementById("param-controls-container"), Q = new e_({ name: "Human Design Bodygraph Explorer", version: "1.0.0" }), $ = null, q_ = null, J_ = false, Y_ = "dark", X_ = false, Z_ = {};
|
|
7146
|
+
function Q_() {
|
|
7147
|
+
delete Z_.light, delete Z_.dark;
|
|
7148
|
+
}
|
|
7149
|
+
function $_() {
|
|
7138
7150
|
return I_() ? "dark" : "light";
|
|
7139
7151
|
}
|
|
7140
|
-
async function
|
|
7152
|
+
async function ev(e4) {
|
|
7141
7153
|
if (e4 === Y_ || X_ || !$) return;
|
|
7154
|
+
let t2 = Z_[e4];
|
|
7155
|
+
if (t2) {
|
|
7156
|
+
Y_ = e4, uv(t2);
|
|
7157
|
+
return;
|
|
7158
|
+
}
|
|
7142
7159
|
X_ = true, Y_ = e4;
|
|
7143
|
-
let
|
|
7160
|
+
let n2 = $._refetch;
|
|
7144
7161
|
try {
|
|
7145
|
-
let
|
|
7146
|
-
if (
|
|
7162
|
+
let t3;
|
|
7163
|
+
if (n2) t3 = await Q.callServerTool({ name: n2.tool, arguments: { ...n2.args, theme: e4 } });
|
|
7147
7164
|
else {
|
|
7148
|
-
var
|
|
7149
|
-
let
|
|
7150
|
-
|
|
7165
|
+
var r2, i2, a2, o2, s2;
|
|
7166
|
+
let n3 = (r2 = $._birth_params) == null ? { datetime: "" } : r2;
|
|
7167
|
+
t3 = await Q.callServerTool({ name: "bodygraph_recalculate", arguments: { datetime: n3.datetime, latitude: (i2 = n3.latitude) == null ? void 0 : i2, longitude: (a2 = n3.longitude) == null ? void 0 : a2, timezone: (o2 = n3.timezone) == null ? void 0 : o2, location: (s2 = n3.location) == null ? void 0 : s2, theme: e4 } });
|
|
7151
7168
|
}
|
|
7152
|
-
let c2 =
|
|
7153
|
-
c2 && (c2.type || c2.centers) &&
|
|
7169
|
+
let c2 = gv(N_(t3));
|
|
7170
|
+
c2 && (c2.type || c2.centers) && (Z_[e4] = c2, uv(c2));
|
|
7154
7171
|
} catch (e5) {
|
|
7155
7172
|
console.error("[Bodygraph] Theme re-fetch failed:", e5);
|
|
7156
7173
|
} finally {
|
|
7157
7174
|
X_ = false;
|
|
7158
7175
|
}
|
|
7159
7176
|
}
|
|
7160
|
-
async function
|
|
7177
|
+
async function tv(e4) {
|
|
7161
7178
|
try {
|
|
7162
7179
|
(await Q.sendMessage({ role: "user", content: [{ type: "text", text: e4 }] })).isError && console.error("[Bodygraph] Host rejected sendMessage");
|
|
7163
7180
|
} catch (e5) {
|
|
7164
7181
|
console.error("[Bodygraph] sendMessage failed:", e5);
|
|
7165
7182
|
}
|
|
7166
7183
|
}
|
|
7167
|
-
function
|
|
7184
|
+
function nv(e4) {
|
|
7168
7185
|
if (G_) {
|
|
7169
7186
|
if (!e4) {
|
|
7170
7187
|
G_.classList.remove("visible");
|
|
@@ -7173,8 +7190,8 @@ function ev(e4) {
|
|
|
7173
7190
|
G_.textContent = "\xB7 ".concat(e4), G_.classList.add("visible");
|
|
7174
7191
|
}
|
|
7175
7192
|
}
|
|
7176
|
-
n_(
|
|
7177
|
-
async function
|
|
7193
|
+
n_(nv);
|
|
7194
|
+
async function rv(e4) {
|
|
7178
7195
|
var t2, n2, r2, i2;
|
|
7179
7196
|
if (!$) return;
|
|
7180
7197
|
let a2 = (t2 = $.type) == null ? "Unknown" : t2, o2 = (n2 = $.profile) == null ? "" : n2, s2 = (r2 = $.authority) == null ? "" : r2, c2 = (i2 = $.incarnation_cross) == null ? "" : i2, l2 = "";
|
|
@@ -7184,7 +7201,7 @@ async function tv(e4) {
|
|
|
7184
7201
|
l2 = "Interpret the ".concat(r3 ? "DEFINED" : "UNDEFINED", " ").concat(n3, " center in Human Design.\n\nChart context: ").concat(a2).concat(o2 ? " \xB7 Profile ".concat(o2) : "").concat(s2 ? " \xB7 ".concat(s2, " authority") : "").concat(c2 ? " \xB7 ".concat(c2) : "", "\n").concat(d3, "\n\nPlease explain what it means to have the ").concat(n3, " center ").concat(r3 ? "defined (colored in)" : "undefined (white)", " \u2014 the gifts, challenges, and conditioning themes. Include practical life guidance for this ").concat(a2, ".");
|
|
7185
7202
|
} else if (e4.type === "gate") {
|
|
7186
7203
|
let t3 = e4.data, n3 = Number(t3.gate), r3 = String(t3.center);
|
|
7187
|
-
l2 = "Interpret Gate ".concat(n3, " in the ").concat(r3, " center (").concat(t3.conscious === true ? "Personality (conscious, black)" : t3.conscious === false ? "Design (unconscious, red)" : "both columns", ") in this Human Design chart.\n\nChart: ").concat(a2).concat(o2 ? " \xB7 Profile ".concat(o2) : "").concat(s2 ? " \xB7 ".concat(s2, " authority") : "", "\n\nPlease give the
|
|
7204
|
+
l2 = "Interpret Gate ".concat(n3, " in the ").concat(r3, " center (").concat(t3.conscious === true ? "Personality (conscious, black)" : t3.conscious === false ? "Design (unconscious, red)" : "both columns", ") in this Human Design chart.\n\nChart: ").concat(a2).concat(o2 ? " \xB7 Profile ".concat(o2) : "").concat(s2 ? " \xB7 ".concat(s2, " authority") : "", "\n\nPlease give the hexagram-based Human Design meaning of Gate ").concat(n3, ", its gifts, shadow patterns, and how it expresses through the ").concat(r3, " center for a ").concat(a2, ".");
|
|
7188
7205
|
} else if (e4.type === "channel") {
|
|
7189
7206
|
var d2, f2, p2;
|
|
7190
7207
|
let t3 = e4.data;
|
|
@@ -7211,27 +7228,27 @@ async function tv(e4) {
|
|
|
7211
7228
|
}
|
|
7212
7229
|
return;
|
|
7213
7230
|
}
|
|
7214
|
-
l2 && await
|
|
7231
|
+
l2 && await tv(l2);
|
|
7215
7232
|
}
|
|
7216
|
-
async function
|
|
7233
|
+
async function iv() {
|
|
7217
7234
|
var e4, t2, n2, r2, i2, a2, o2;
|
|
7218
7235
|
if (!$) return;
|
|
7219
7236
|
let s2 = $, c2 = (e4 = s2.type) == null ? "Unknown" : e4, l2 = (t2 = s2.profile) == null ? "" : t2, u2 = (n2 = s2.authority) == null ? "" : n2, d2 = (r2 = s2.incarnation_cross) == null ? "" : r2, f2 = (i2 = s2.definition) == null ? "" : i2, p2 = ((a2 = s2.centers) == null ? [] : a2).filter((e5) => e5.defined).map((e5) => e5.name).join(", ") || "none", m2 = ((o2 = s2.channels) == null ? [] : o2).filter((e5) => e5.defined).map((e5) => {
|
|
7220
7237
|
var t3;
|
|
7221
7238
|
return (t3 = e5.id) == null ? "".concat(e5.gate1, "-").concat(e5.gate2) : t3;
|
|
7222
7239
|
}).join(", ") || "none";
|
|
7223
|
-
await
|
|
7240
|
+
await tv("Please give me a complete Human Design reading for this chart.\n\nType: ".concat(c2, "\n") + (l2 ? "Profile: ".concat(l2, "\n") : "") + (u2 ? "Authority: ".concat(u2, "\n") : "") + (f2 ? "Definition: ".concat(f2, "\n") : "") + (d2 ? "Incarnation Cross: ".concat(d2, "\n") : "") + "Defined Centers: ".concat(p2, "\nDefined Channels: ").concat(m2, "\n\nCover: (1) Life theme and purpose of this Type, (2) Strategy and how it works practically, (3) Authority and how to make aligned decisions, (4) The defined channels as core personality traits, (5) Key shadows and conditioning to watch for, (6) A practical summary of how to live this design."));
|
|
7224
7241
|
}
|
|
7225
|
-
async function
|
|
7242
|
+
async function av() {
|
|
7226
7243
|
var e4, t2, n2, r2, i2;
|
|
7227
7244
|
if (!$) return;
|
|
7228
7245
|
let a2 = $, o2 = (e4 = a2.type) == null ? "Unknown" : e4, s2 = (t2 = a2.profile) == null ? "" : t2, c2 = (n2 = a2.authority) == null ? "" : n2, l2 = [...(r2 = a2.personality_gates) == null ? [] : r2, ...(i2 = a2.design_gates) == null ? [] : i2].slice(0, 6).map((e5) => {
|
|
7229
7246
|
var t3;
|
|
7230
7247
|
return typeof e5 == "number" ? "Gate ".concat(e5) : "Gate ".concat((t3 = e5.gate) == null ? e5 : t3);
|
|
7231
7248
|
}).join(", ") || "none";
|
|
7232
|
-
await
|
|
7249
|
+
await tv("I'm exploring a Human Design Bodygraph for a ".concat(o2) + (s2 ? " with Profile ".concat(s2) : "") + (c2 ? " and ".concat(c2, " authority") : "") + ". Active gates include: ".concat(l2, ".\n\nBased on this design, please suggest 3-4 specific, insightful questions I could ask to understand this chart more deeply \u2014 such as how the type and authority work in daily life, what specific gates or channels mean, or how to live in alignment with this design. Present each as a tappable question I can ask you."));
|
|
7233
7250
|
}
|
|
7234
|
-
async function
|
|
7251
|
+
async function ov(e4) {
|
|
7235
7252
|
J_ && setTimeout(async () => {
|
|
7236
7253
|
try {
|
|
7237
7254
|
var t2, n2, r2;
|
|
@@ -7242,25 +7259,25 @@ async function iv(e4) {
|
|
|
7242
7259
|
}
|
|
7243
7260
|
}, 0);
|
|
7244
7261
|
}
|
|
7245
|
-
async function
|
|
7246
|
-
|
|
7262
|
+
async function sv(e4, t2, n2) {
|
|
7263
|
+
nv("".concat(t2 ? "\u25C9" : "\u25CB", " ").concat(e4, " Center (").concat(t2 ? "defined" : "undefined", ")")), ov({ type: "center", data: { center_name: e4, defined: t2, active_gates: n2 } });
|
|
7247
7264
|
}
|
|
7248
|
-
async function
|
|
7249
|
-
|
|
7265
|
+
async function cv(e4, t2, n2) {
|
|
7266
|
+
nv("Gate ".concat(e4, " \xB7 ").concat(n2, " \xB7 ").concat(t2 === true ? "Conscious" : t2 === false ? "Unconscious" : "Both")), ov({ type: "gate", data: { gate: e4, conscious: t2, center: n2 } });
|
|
7250
7267
|
}
|
|
7251
|
-
async function
|
|
7252
|
-
|
|
7268
|
+
async function lv(e4, t2, n2, r2, i2, a2) {
|
|
7269
|
+
nv("Channel ".concat(e4, " \xB7 ").concat(r2, "\u2013").concat(i2)), ov({ type: "channel", data: { channel: e4, gate1: t2, gate2: n2, center1: r2, center2: i2, color_type: a2 } });
|
|
7253
7270
|
}
|
|
7254
|
-
function
|
|
7271
|
+
function uv(e4) {
|
|
7255
7272
|
var t2, n2, r2, i2, a2, o2, s2, c2, l2, u2, d2, f2;
|
|
7256
7273
|
$ = e4, V_.setAttribute("hidden", ""), H_.removeAttribute("hidden");
|
|
7257
7274
|
let p2 = e4._svg;
|
|
7258
7275
|
if (!p2) {
|
|
7259
|
-
|
|
7276
|
+
pv("Bodygraph render unavailable \u2014 the server did not return an SVG.", mv);
|
|
7260
7277
|
return;
|
|
7261
7278
|
}
|
|
7262
|
-
let m2 = x_(H_, p2, e4, { onCenterClick:
|
|
7263
|
-
m2 && new URLSearchParams(window.location.search).has("debugHighlight") &&
|
|
7279
|
+
let m2 = x_(H_, p2, e4, { onCenterClick: sv, onGateClick: cv, onChannelClick: lv, onAskClaude: rv });
|
|
7280
|
+
m2 && new URLSearchParams(window.location.search).has("debugHighlight") && hv(m2);
|
|
7264
7281
|
let h2 = document.getElementById("hd-action-bar");
|
|
7265
7282
|
if (!h2) {
|
|
7266
7283
|
h2 = document.createElement("div"), h2.id = "hd-action-bar", h2.className = "hd-action-bar";
|
|
@@ -7271,7 +7288,7 @@ function cv(e4) {
|
|
|
7271
7288
|
(g2 = H_.parentElement) == null || g2.insertBefore(h2, H_);
|
|
7272
7289
|
}
|
|
7273
7290
|
}
|
|
7274
|
-
h2.innerHTML = '\n <button class="action-btn action-btn--primary" id="hd-interpret-btn">\u2728 Interpret this chart</button>\n <button class="action-btn" id="hd-questions-btn">\u{1F52E} What should I ask?</button>\n ', (t2 = h2.querySelector("#hd-interpret-btn")) == null || t2.addEventListener("click", () => void
|
|
7291
|
+
h2.innerHTML = '\n <button class="action-btn action-btn--primary" id="hd-interpret-btn">\u2728 Interpret this chart</button>\n <button class="action-btn" id="hd-questions-btn">\u{1F52E} What should I ask?</button>\n ', (t2 = h2.querySelector("#hd-interpret-btn")) == null || t2.addEventListener("click", () => void iv()), (n2 = h2.querySelector("#hd-questions-btn")) == null || n2.addEventListener("click", () => void av());
|
|
7275
7292
|
let _2 = ((r2 = (i2 = e4.personality_gates) == null ? void 0 : i2.length) == null ? 0 : r2) > 0 || ((a2 = (o2 = e4.design_gates) == null ? void 0 : o2.length) == null ? 0 : a2) > 0, ee2 = document.querySelector(".channel-legend");
|
|
7276
7293
|
if (_2 && !ee2) {
|
|
7277
7294
|
let e5 = document.createElement("div");
|
|
@@ -7281,27 +7298,27 @@ function cv(e4) {
|
|
|
7281
7298
|
U_.innerHTML = __((c2 = e4.type) == null ? "Unknown" : c2, (l2 = e4.profile) == null ? "" : l2, (u2 = e4.authority) == null ? "" : u2, (d2 = e4.definition) == null ? "" : d2, (f2 = e4.incarnation_cross) == null ? "" : f2, te2), U_.removeAttribute("hidden"), U_.querySelectorAll(".interactive-text").forEach((e5) => {
|
|
7282
7299
|
e5.addEventListener("click", () => {
|
|
7283
7300
|
let t3 = e5.getAttribute("data-topic"), n3 = e5.getAttribute("data-val");
|
|
7284
|
-
t3 && n3 &&
|
|
7301
|
+
t3 && n3 && rv({ type: "attribute", data: { topic: t3, val: n3 } });
|
|
7285
7302
|
}), e5.addEventListener("keydown", (t3) => {
|
|
7286
7303
|
let n3 = t3;
|
|
7287
7304
|
(n3.key === "Enter" || n3.key === " ") && (n3.preventDefault(), e5.dispatchEvent(new MouseEvent("click", { bubbles: true, cancelable: true })));
|
|
7288
7305
|
});
|
|
7289
7306
|
}), W_.setAttribute("hidden", ""), K_.removeAttribute("hidden"), M_("bodygraph", H_);
|
|
7290
7307
|
}
|
|
7291
|
-
var
|
|
7292
|
-
function
|
|
7293
|
-
|
|
7308
|
+
var dv;
|
|
7309
|
+
function fv() {
|
|
7310
|
+
dv && (clearTimeout(dv), dv = void 0);
|
|
7294
7311
|
}
|
|
7295
|
-
function
|
|
7296
|
-
|
|
7312
|
+
function pv(e4, t2) {
|
|
7313
|
+
fv(), V_.setAttribute("hidden", ""), F_({ container: H_, message: e4, onRetry: t2 });
|
|
7297
7314
|
}
|
|
7298
|
-
function
|
|
7299
|
-
|
|
7300
|
-
|
|
7315
|
+
function mv() {
|
|
7316
|
+
fv(), H_.setAttribute("hidden", ""), V_.removeAttribute("hidden"), dv = setTimeout(() => {
|
|
7317
|
+
pv("The bodygraph didn't load. Tap to try again.", mv);
|
|
7301
7318
|
}, 3e4), Q.sendMessage({ role: "user", content: [{ type: "text", text: "Please regenerate the Human Design bodygraph." }] }).catch(() => {
|
|
7302
7319
|
});
|
|
7303
7320
|
}
|
|
7304
|
-
function
|
|
7321
|
+
function hv(e4) {
|
|
7305
7322
|
e4.addEventListener("click", (t2) => {
|
|
7306
7323
|
let n2 = t2.target;
|
|
7307
7324
|
for (; n2 && n2 !== e4; ) {
|
|
@@ -7317,7 +7334,7 @@ function pv(e4) {
|
|
|
7317
7334
|
S_(e4, {});
|
|
7318
7335
|
});
|
|
7319
7336
|
}
|
|
7320
|
-
function
|
|
7337
|
+
function gv(e4) {
|
|
7321
7338
|
var t2;
|
|
7322
7339
|
if (!e4) return null;
|
|
7323
7340
|
if (e4.type || e4.centers) return e4;
|
|
@@ -7330,14 +7347,14 @@ function mv(e4) {
|
|
|
7330
7347
|
return null;
|
|
7331
7348
|
}
|
|
7332
7349
|
Q.ontoolresult = (e4) => {
|
|
7333
|
-
|
|
7350
|
+
fv();
|
|
7334
7351
|
try {
|
|
7335
|
-
let a2 =
|
|
7352
|
+
let a2 = gv(N_(e4)), o2 = a2 == null ? void 0 : a2._theme;
|
|
7336
7353
|
if ((o2 === "light" || o2 === "dark") && (Y_ = o2), !a2) {
|
|
7337
|
-
|
|
7354
|
+
pv("Bodygraph data could not be parsed from the server response.", mv);
|
|
7338
7355
|
return;
|
|
7339
7356
|
}
|
|
7340
|
-
if (!q_ && a2._birth_params) {
|
|
7357
|
+
if (Q_(), Z_[Y_] = a2, !q_ && a2._birth_params) {
|
|
7341
7358
|
var t2, n2, r2, i2;
|
|
7342
7359
|
let e5 = (t2 = a2._birth_params) == null ? {} : t2, o3 = (n2 = e5.datetime) == null ? "" : n2, s2 = (r2 = e5.location) == null ? "" : r2, c2 = (i2 = e5.timezone) == null ? "" : i2, l2 = e5.latitude, u2 = e5.longitude, d2 = "", f2 = "12:00";
|
|
7343
7360
|
if (o3) try {
|
|
@@ -7346,12 +7363,12 @@ Q.ontoolresult = (e4) => {
|
|
|
7346
7363
|
} catch (e6) {
|
|
7347
7364
|
o3.includes("T") && (d2 = o3.split("T")[0], f2 = o3.split("T")[1].substring(0, 5));
|
|
7348
7365
|
}
|
|
7349
|
-
q_ = new w_({ app: Q, container: K_, initialParams: { date: d2, time: f2, locationName: s2, timezone: c2, latitude: typeof l2 == "number" ? l2 : null, longitude: typeof u2 == "number" ? u2 : null }, showStepControls: false, onRefresh: async (e6) => {
|
|
7366
|
+
q_ = new w_({ app: Q, container: K_, initialParams: { date: d2, time: f2, locationName: s2, timezone: c2, latitude: typeof l2 == "number" ? l2 : null, longitude: typeof u2 == "number" ? u2 : null }, showStepControls: false, costHint: "~2 credits", onRefresh: async (e6) => {
|
|
7350
7367
|
q_ == null || q_.setBusy(true), V_.removeAttribute("hidden"), H_.setAttribute("hidden", "");
|
|
7351
7368
|
try {
|
|
7352
7369
|
var t3, n3, r3, i3;
|
|
7353
7370
|
let a3 = "".concat(e6.date, "T").concat(e6.time, ":00"), o4 = e6.timezone ? a3 : "".concat(a3, "Z"), s3 = new Promise((e7, t4) => setTimeout(() => t4(Error("Bodygraph recalculate timed out after 30s")), 3e4)), c3 = N_(await Promise.race([Q.callServerTool({ name: "bodygraph_recalculate", arguments: { datetime: o4, latitude: (t3 = e6.latitude) == null ? void 0 : t3, longitude: (n3 = e6.longitude) == null ? void 0 : n3, timezone: (r3 = e6.timezone) == null ? void 0 : r3, location: (i3 = e6.locationName) == null ? void 0 : i3, theme: Y_ } }), s3])), l3 = c3 && (c3.type || c3.centers) ? c3 : null;
|
|
7354
|
-
l3 ?
|
|
7371
|
+
l3 ? (Q_(), Z_[Y_] = l3, uv(l3)) : $ && (V_.setAttribute("hidden", ""), H_.removeAttribute("hidden"));
|
|
7355
7372
|
} catch (e7) {
|
|
7356
7373
|
console.error("[Bodygraph] Recalculate failed or timed out:", e7), $ && (V_.setAttribute("hidden", ""), H_.removeAttribute("hidden"));
|
|
7357
7374
|
} finally {
|
|
@@ -7359,17 +7376,17 @@ Q.ontoolresult = (e4) => {
|
|
|
7359
7376
|
}
|
|
7360
7377
|
} });
|
|
7361
7378
|
}
|
|
7362
|
-
|
|
7379
|
+
uv(a2), ev($_());
|
|
7363
7380
|
} catch (e5) {
|
|
7364
|
-
|
|
7381
|
+
pv("An error occurred while rendering the bodygraph.", mv), console.error("[Bodygraph] Render error:", e5);
|
|
7365
7382
|
}
|
|
7366
|
-
}, R_(Q, { loadingEl: V_, contentEl: H_, statusFn:
|
|
7367
|
-
|
|
7383
|
+
}, R_(Q, { loadingEl: V_, contentEl: H_, statusFn: nv, paramControls: q_ }), dv = setTimeout(() => {
|
|
7384
|
+
pv("Bodygraph data is taking longer than expected.", mv);
|
|
7368
7385
|
}, 3e4), (async () => {
|
|
7369
7386
|
try {
|
|
7370
7387
|
await Q.connect();
|
|
7371
7388
|
let e4 = Q.getHostCapabilities();
|
|
7372
|
-
J_ = !!(e4 != null && e4.modelContext), e4 == null || e4.sampling, L_(Q, document.getElementById("pan-zoom-controls"), ["param-controls-container", "controls-panel", "info-panel", "hd-action-bar"]), B_(Q), window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", () => void
|
|
7389
|
+
J_ = !!(e4 != null && e4.modelContext), e4 == null || e4.sampling, L_(Q, document.getElementById("pan-zoom-controls"), ["param-controls-container", "controls-panel", "info-panel", "hd-action-bar"]), B_(Q), window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", () => void ev($_()));
|
|
7373
7390
|
} catch (e4) {
|
|
7374
7391
|
console.error("[Bodygraph] connect() failed:", e4);
|
|
7375
7392
|
}
|