
.promise-panel .koma{position:relative;margin:0 0 18px;overflow:hidden;border:2px solid #30261e;border-radius: 14px;color:#30261e}.promise-panel .koma__cap{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;height:30px;padding:4px 9px;border-bottom:2px solid #30261e;background:var(--header,#f5dfc4)}.promise-panel .koma__cap::before{content:none!important}.promise-panel .koma .char{position:absolute;display:block;z-index:2;line-height:0}.promise-panel .koma .char img{display:block;width:100%;height:auto}.demo-browser-dots{display:inline-flex;align-items:center;gap:4px;flex:none}.demo-browser-dots i{display:block;width:7px;height:7px;border-radius: 999px;background:#9f352d}.demo-browser-dots i:nth-child(2){background:#f6d775}.demo-browser-dots i:nth-child(3){background:#4a906d}.demo-wordmark.wordmark{font-size:15px;line-height:1;white-space:nowrap}.discovery-demo__header,.br-terminal{gap:8px}.promise-panel .br-terminal{display:flex;align-items:center}.promise-panel .br-terminal .demo-wordmark{font-family:inherit}.promise-panel .koma{--f-mono:ui-monospace,monospace;--comic-ink:#30261e;--comic-border:#30261e;--comic-paper:#fffaf2;--comic-red:#9f352d;--comic-yellow:#f8d879;--comic-blue:#d7edeb;--comic-pink:#f8dfdf}.promise-panel .rv{opacity:1!important;transform:none!important}


/* EA comparison demo: scoped, fixed height inside scaled promises. */
.koma.k2.ea-compare-demo{height:306px;overflow:clip;color:#171717;text-align:left}
.ea-compare-demo button,.ea-compare-demo select{font:inherit;color:inherit;letter-spacing:0}
.ea-compare-demo .koma__cap{height:27px;box-sizing:border-box;font-size:11px}
.ea-compare-demo .koma__cap::before{background:#00c6cc}
.ea-compare-demo .ec-demo-badge{margin-left:auto;font:700 9px/1.4 sans-serif;border:1px solid var(--white);padding:0 4px;color:var(--white);border-radius: 8px}
.ea-compare-demo .ec-filters{position:absolute;top:39px;left:10px;right:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ea-compare-demo .ec-filters label{font-size:10px;font-weight:900;line-height:1.3;min-width:0}
.ea-compare-demo .ec-filters select{display:block;width:100%;height:31px;background:var(--white);border:1.5px solid #171717;border-radius: 14px;font-size:11px;padding:0 3px;margin-top:3px;cursor:pointer}
.ea-compare-demo .ec-cards{position:absolute;top:96px;left:10px;right:10px;height:106px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-content:start}
.ea-compare-demo .ec-card{position:relative;height:106px;min-width:0;display:block;background:white;border:2px solid #171717;border-radius: 14px;padding:8px 6px;cursor:pointer;box-sizing:border-box;transition:box-shadow .16s,border-color .16s}
.ea-compare-demo .ec-card:has(input:checked){border-color:#008f96;box-shadow:0 0 0 2px #00d6dc,0 4px 0 #71bfc7}
.ea-compare-demo .ec-card:has(input:focus-visible){outline:3px solid #171717;outline-offset:3px}
.ea-compare-demo .ec-card input{position:absolute;right:5px;top:9px;width:18px;height:18px;accent-color:#008f96;margin:0;cursor:pointer}
.ea-compare-demo .ec-card-title{display:block;font:900 17px/1.3 var(--f-en,sans-serif);padding-right:17px;white-space:nowrap}
.ea-compare-demo .ec-card svg{display:block;width:100%;height:28px;margin:7px 0 3px;overflow:visible}
.ea-compare-demo .ec-card small{display:block;font-size:11px;font-weight:800;line-height:1.4;white-space:nowrap}
.ea-compare-demo .ec-card.is-pop{animation:ec-selection-pop .26s ease-out}
@keyframes ec-selection-pop{50%{transform:translateY(-4px) rotate(-2deg)}100%{transform:none}}
.ea-compare-demo [hidden]{display:none!important}
.ea-compare-demo .ec-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.8);border:1.5px dashed #171717;border-radius: 14px;font-size:12px;line-height:1.6;margin:0}
.ea-compare-demo .ec-filter-info{position:absolute;top:208px;left:11px;right:91px;display:flex;align-items:center;justify-content:space-between;font-size:10px;line-height:20px}
.ea-compare-demo .ec-reset{border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;padding:0 2px;cursor:pointer;font-size:10px}
.koma.k2.ea-compare-demo .char{width:76px;left:auto;right:5px;bottom:0;z-index:1;pointer-events:none}
.ea-compare-demo .ec-actions{position:absolute;left:10px;right:88px;top:235px;height:36px;display:flex;align-items:center;justify-content:space-between;gap:5px;background:#171717;border-radius: 14px;padding:4px 5px 4px 9px;color:var(--white);box-sizing:border-box;z-index:2}
.ea-compare-demo .ec-count{font-size:12px;font-weight:900;white-space:nowrap}
.ea-compare-demo .ec-compare{border:0;border-radius: 14px;background:#00d6dc;color:#111;font-size:13px;font-weight:900;white-space:nowrap;padding:3px 11px;min-height:28px;cursor:pointer}
.ea-compare-demo .ec-compare:disabled{background:#d1d9da;color:#4e5555;cursor:not-allowed}
.ea-compare-demo button:focus-visible,.ea-compare-demo select:focus-visible,.ec-dialog button:focus-visible{outline:3px solid #005c65;outline-offset:3px}
.ec-dialog{position:fixed;inset:0;width:calc(100vw - 32px);max-width:420px;max-height:85dvh;margin:auto;padding:0;border:2px solid #171717;border-radius: 14px;color:#171717;background:#edfafa;font-family:var(--f-ja,sans-serif);line-height:1.5;text-align:left;box-sizing:border-box;overflow:auto}
.ec-dialog::backdrop{background:rgba(0,0,0,.65)}
.ec-dialog .ec-dialog-top{display:flex;justify-content:space-between;align-items:center;background:#171717;color:white;padding:10px 14px;font:700 13px/1.4 monospace}
.ec-dialog .ec-close{font:700 12px/1.4 sans-serif;border:1px solid white;border-radius: 14px;background:transparent;color:white;padding:5px 10px;cursor:pointer}
.ec-dialog h2{font-size:20px;line-height:1.4;margin:20px 16px 10px;font-weight:900;letter-spacing:0}
.ec-dialog #ec-result-notice,.ec-dialog .ec-dialog-foot{font-size:12px;margin:10px 16px 16px;line-height:1.7}
.ec-dialog .ec-results{display:grid;gap:10px;margin:0 16px}
.ec-dialog .ec-result{border:2px solid #171717;border-radius: 14px;padding:12px;background:white}
.ec-dialog .ec-result h3{font:900 18px/1.4 sans-serif;margin:0 0 7px;color:#006c73}
.ec-dialog .ec-result dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;font-size:13px;line-height:1.5}
.ec-dialog .ec-result dt{font-weight:700}.ec-dialog .ec-result dd{margin:0}
@media(prefers-reduced-motion:reduce){.ea-compare-demo .ec-card{transition:none}.ea-compare-demo .ec-card.is-pop{animation:none}}


.ea-compare-demo .ec-auto-pointer{position:absolute;left:0;top:0;width:25px;height:30px;z-index:10;pointer-events:none;opacity:0;transform:translate(25px,60px);transition:transform .44s cubic-bezier(.22,.7,.3,1),opacity .18s}
.ea-compare-demo.is-auto-playing .ec-auto-pointer{opacity:1}
.ea-compare-demo .ec-auto-pointer svg{display:block;width:100%;height:100%;filter:drop-shadow(1px 2px 1px #0004)}
.ea-compare-demo .ec-auto-pointer i{position:absolute;left:-7px;top:-7px;width:19px;height:19px;border:2px solid #00bfc7;border-radius: 999px;opacity:0}
.ea-compare-demo .ec-auto-pointer.is-click i{animation:ec-auto-click .42s ease-out}
.ea-compare-demo .ec-auto-menu{position:absolute;top:86px;left:10px;width:calc((100% - 32px)/3);padding:3px;background:var(--white);border:1.5px solid #171717;border-radius: 8px;box-shadow:2px 4px 0 #00171730;z-index:8;pointer-events:none}
.ea-compare-demo .ec-auto-menu span{display:block;padding:4px 5px;font-size:11px;font-weight:800;line-height:1.4;border-radius: 8px}
.ea-compare-demo .ec-auto-menu [data-ec-auto-option]{background:#c7f4f4;color:#005961}
.ea-compare-demo .ec-auto-result{position:absolute;left:12px;right:12px;top:90px;padding:13px 12px 14px;background:var(--white);border:2px solid #171717;border-radius: 14px;box-shadow:3px 5px 0 #1b747b3b;z-index:7;pointer-events:none}
.ea-compare-demo .ec-auto-result>span{font-size:10px;font-weight:800;color:#587176;display:block;margin-bottom:4px}
.ea-compare-demo .ec-auto-result>strong{font-size:22px;line-height:1.4;color:#006c73;display:block}
.ea-compare-demo .ec-auto-result strong small{font-size:15px;margin:0 7px;color:#7b9293}
.ea-compare-demo .ec-auto-result>div{display:grid;grid-template-columns:83px 1fr;gap:5px 8px;margin-top:8px;font-size:11px;line-height:1.6}
.ea-compare-demo .ec-auto-result>div span{font-weight:700}
.ea-compare-demo .ec-auto-highlight{outline:2px solid #00aab4;outline-offset:3px}
@keyframes ec-auto-click{0%{opacity:.85;transform:scale(.3)}100%{opacity:0;transform:scale(1.5)}}
@media(prefers-reduced-motion:reduce){.ea-compare-demo .ec-auto-pointer,.ea-compare-demo .ec-auto-menu,.ea-compare-demo .ec-auto-result{display:none!important}}


/* Dedicated, scoped analysis demo. */
.koma.k3.ha-demo{height:420px;color:#201d20;isolation:isolate}
.ha-demo .koma__cap{font-size:12px;padding:5px 10px;letter-spacing:.03em}
.ha-demo .koma__cap::before{background:#ff087c}
.ha-demo .ha-demo-badge{margin-left:auto;font:700 9px/1.4 sans-serif;border:1px solid var(--white);padding:0 4px;color:var(--white);border-radius: 8px;white-space:nowrap}
.ha-demo .ha-body{position:relative;z-index:3;padding:40px 10px 0}
.ha-demo .ha-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px}
.ha-demo .ha-tab{appearance:none;min-width:0;min-height:64px;padding:7px 2px;background:var(--white);border:2px solid #201d20;border-radius: 14px;color:#201d20;font:inherit;cursor:pointer;box-shadow:0 3px 0 #201d20;transition:background .18s,transform .18s,box-shadow .18s}
.ha-demo .ha-tab b{display:block;font-size:13px;font-weight:900;white-space:nowrap;line-height:1.5;letter-spacing:-.06em}
.ha-demo .ha-tab small{display:block;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:-.04em}
.ha-demo .ha-tab[aria-selected=true]{background:#ffd6ed;border-color:#ec0870;box-shadow:0 3px 0 #ec0870;transform:translateY(-2px)}
.ha-demo .ha-tab[aria-selected=true] b{color:#af0050}
.ha-demo button:focus-visible,.ha-demo [role=button]:focus-visible{outline:3px solid #6724cf;outline-offset:3px}
.ha-demo .ha-panel{height:218px;background:var(--white);border:2px solid #201d20;border-radius: 14px;padding:9px 9px 6px;box-shadow:3px 4px 0 #c48bce;position:relative}
.ha-demo .ha-panel[hidden]{display:none!important}
.ha-demo .ha-title{display:flex;align-items:center;gap:6px;font-size:14px;line-height:1.5;font-weight:900;white-space:nowrap;margin:0}
.ha-demo .ha-title::before{content:'';width:6px;height:17px;border-radius: 8px;background:#f20877;flex:none}
.ha-demo .ha-readout{font-size:11px;line-height:1.5;font-weight:700;background:#201d20;color:white;border-radius: 8px;padding:3px 7px;width:max-content;max-width:100%;margin:6px 0 0;min-height:22px}
.ha-demo .ha-chart{display:block;width:100%;height:124px;overflow:visible;touch-action:pan-y}
.ha-demo .ha-grid{stroke:#d9d4db;stroke-dasharray:2 3;stroke-width:1}
.ha-demo .ha-line{fill:none;stroke:#201d20;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.ha-demo .ha-negative{stroke:#ef403e}
.ha-demo .ha-area{fill:#d9f1dd}
.ha-demo .ha-dd{stroke:#ef0878;stroke-width:2;fill:none}
.ha-demo .ha-hit{fill:transparent;stroke:none;cursor:pointer}
.ha-demo .ha-dot{fill:white;stroke:#201d20;stroke-width:2;pointer-events:none}
.ha-demo [aria-pressed=true] .ha-dot{fill:#ff73b1;stroke:#e70064;stroke-width:3}
.ha-demo .ha-point:focus-visible{outline:none}
.ha-demo .ha-point:focus-visible .ha-hit{stroke:#6724cf;stroke-width:2;stroke-dasharray:2 2}
.ha-demo .ha-guide{stroke:#f20877;stroke-width:1.5;stroke-dasharray:3 3;pointer-events:none}
.ha-demo .ha-axis{font-size:10px;fill:#5a505e;font-family:inherit;font-weight:700}
.ha-demo .ha-flowtext{font-size:12px;fill:#201d20;font-family:inherit;font-weight:900}
.ha-demo .ha-controls{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-top:-2px}
.ha-demo .ha-hint{font-size:10px;font-weight:900;background:#ffd9ed;border-radius: 14px;padding:3px 7px;white-space:nowrap}
.ha-demo .ha-replay{border:2px solid #201d20;border-radius: 14px;background:white;padding:3px 10px;color:#201d20;font-family:inherit;font-size:12px;font-weight:900;line-height:1.4;cursor:pointer;white-space:nowrap}
.ha-demo .char{width:64px!important;right:5px!important;bottom:0!important;z-index:2!important;pointer-events:none;transform:none!important;animation:none!important}
@media(max-width:350px){.ha-demo .ha-tab b{font-size:13px}.ha-demo .ha-tab small{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.ha-demo *{transition:none!important;animation:none!important}}


/* BELIEF 05: isolated, viewport-aware looping motion for an explicitly illustrative calculation. */
.koma.k5.profit-demo{height:260px;overflow:clip;isolation:isolate;color:#19385c;text-align:left}
.profit-demo .koma__cap{height:27px;box-sizing:border-box;font-size:11px}
.profit-demo .profit-demo__badge{margin-left:auto;font:700 9px/1.4 var(--f-mono,monospace);border:1px solid var(--white);border-radius: 8px;padding:0 4px;color:var(--white);white-space:nowrap}
.profit-demo .koma__cap::before{background:#ee2b4b}
.profit-demo .profit-demo__dashboard{position:absolute;left:13px;right:135px;top:44px;background:none;border:0;border-radius:0;padding:0;box-shadow:none;overflow:visible}
.profit-demo .profit-demo__row{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:7px;height:34px;--profit-start:#33c6fb;--profit-end:#159fc9;--profit-ink:#086b83}
.profit-demo .profit-demo__row+.profit-demo__row{border-top:0}
.profit-demo .profit-demo__row[data-profit-row="cashback"]{--profit-start:#ff8cb8;--profit-end:#fb5693;--profit-ink:#ad255d}
.profit-demo .profit-demo__row--total{--profit-start:#49d69e;--profit-end:#02a459;--profit-ink:#087045;margin:0;padding:0;background:none;border-radius:0}
.profit-demo .profit-demo__label{font-size:13px;font-weight:900;line-height:1.25;letter-spacing:-.03em}
.profit-demo .profit-demo__row--total .profit-demo__label{color:#075c37}
.profit-demo .profit-demo__track{display:block;height:26px;background:var(--white);border:2px solid #1c1917;border-radius: 8px;position:relative;overflow:hidden;box-sizing:border-box}
.profit-demo .profit-demo__track i{display:block;position:relative;width:calc(100% * var(--profit-ratio));height:100%;border-radius: 8px;background:linear-gradient(90deg,var(--profit-start),var(--profit-end));transform:scaleX(var(--profit-progress,1));transform-origin:left center;box-shadow:inset 0 -1px 0 #00000010}
.profit-demo .profit-demo__track i::after{content:"";position:absolute;right:2px;top:4px;width:7px;height:7px;border-radius: 999px;background:var(--white);box-shadow:0 0 6px 2px #ffffffc7;opacity:0;transition:opacity .15s}
.profit-demo.is-playing .profit-demo__track i::after{opacity:.9}
.profit-demo .profit-demo__row[data-profit-row="cashback"] .profit-demo__track i::after{content:none}
.profit-demo .profit-demo__value{position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:1;padding:1px 3px;border-radius: 8px;background:#ffffffed;font:900 14px/1.15 var(--f-body,sans-serif);letter-spacing:-.045em;text-align:right;color:var(--profit-ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.profit-demo .profit-demo__row--total .profit-demo__value{font-size:14px}
.profit-demo .profit-demo__spark{position:absolute;right:-5px;top:-11px;font-size:21px;color:#0a9d5c;text-shadow:1px 1px var(--white),-1px -1px var(--white);opacity:0;pointer-events:none}
.profit-demo .profit-demo__goal{position:absolute;top:158px;left:26px;margin:0;width:126px;max-width:none;padding:5px 4px;background:#1e395f;border:2px solid white;border-radius: 14px;color:var(--white);font-weight:900;font-size:15px;line-height:1.5;white-space:normal;text-align:center;transform:rotate(-4deg);box-shadow:2px 3px 0 #163d5e29}
.profit-demo .profit-demo__portrait{position:absolute;right:0;top:27px;width:28%;bottom:0;overflow:visible;z-index:2;pointer-events:none}
.koma.k5.profit-demo .char{width:218px;height:auto;max-width:none;clip-path:none;right:-10px;top:36px;bottom:auto;z-index:2;pointer-events:none;animation:none;transform:rotate(-16deg);transform-origin:65% 23%}
.profit-demo.is-playing .char{animation:profit-detective-bob 1.6s ease-in-out infinite}
.profit-demo.is-suspended *,.profit-demo.is-suspended *::before,.profit-demo.is-suspended *::after{animation-play-state:paused!important}
.profit-demo .profit-demo__note{position:absolute;left:26px;right:auto;bottom:9px;z-index:4;margin:0;background:#ffffffe6;border-radius: 8px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.6;color:#59675e}
.profit-demo.is-complete .profit-demo__row--total{animation:profit-total-glow .65s ease-out}
.profit-demo.is-complete .profit-demo__spark{animation:profit-total-spark .7s ease-out}
@keyframes profit-detective-bob{0%,100%{transform:translateY(0) rotate(-16deg)}50%{transform:translateY(-3px) rotate(-14deg)}}
@keyframes profit-total-glow{0%{box-shadow:0 0 0 0 #14b86b00}45%{box-shadow:0 0 0 5px #14b86b30}100%{box-shadow:0 0 0 8px #14b86b00}}
@keyframes profit-total-spark{0%{opacity:0;transform:scale(.2) rotate(-20deg)}45%{opacity:1;transform:scale(1.12) rotate(8deg)}100%{opacity:0;transform:scale(1.2) translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.profit-demo *,.profit-demo *::before,.profit-demo *::after{animation:none!important;transition:none!important}}


#broker-research-demo{height:278px;box-sizing:border-box;color:#181818;border:2px solid #181818;border-radius: 14px;box-shadow:3px 5px 0 #17171718;text-align:left;isolation:isolate}
#broker-research-demo *{box-sizing:border-box}
#broker-research-demo .br-terminal{height:32px;display:flex;align-items:center;gap:10px;background:linear-gradient(#303030,#171717);color:white;padding:0 12px;font:600 13px/1 monospace;letter-spacing:.3px}
#broker-research-demo .br-dots{display:flex;gap:4px}
#broker-research-demo .br-dots i{width:8px;height:8px;border-radius: 999px;background:#ff4b5e;box-shadow:inset 0 -2px 1px #0003}
#broker-research-demo .br-dots i:nth-child(2){background:#ffc923}#broker-research-demo .br-dots i:nth-child(3){background:#00c857}
#broker-research-demo .br-demo{margin-left:auto;font:700 9px/1.4 var(--f-mono);color:var(--white);border:1px solid currentColor;border-radius: 8px;padding:0 4px;white-space:nowrap}
#broker-research-demo .br-content{padding:12px 12px 0;position:relative;height:242px}
#broker-research-demo .br-window{--br-gap:8px;--br-half-gap:4px;overflow:clip;padding:3px 2px 6px;margin:-3px -2px 0;position:relative;z-index:2}
#broker-research-demo .br-window:focus-visible{outline:3px solid #006477;outline-offset:1px;border-radius: 8px}
#broker-research-demo .br-cards{display:grid;grid-template-columns:repeat(3,calc(50% - var(--br-half-gap)));grid-template-rows:repeat(3,40px);gap:9px var(--br-gap);position:relative;z-index:2;transition:transform .65s cubic-bezier(.2,.75,.2,1);will-change:transform}
#broker-research-demo.is-shifted .br-cards{transform:translateX(calc(-50% - var(--br-half-gap)))}
#broker-research-demo .br-card:nth-child(1){grid-area:1/1}
#broker-research-demo .br-card:nth-child(2){grid-area:1/2}
#broker-research-demo .br-card:nth-child(3){grid-area:2/1}
#broker-research-demo .br-card:nth-child(4){grid-area:2/2}
#broker-research-demo .br-card:nth-child(5){grid-area:3/1}
#broker-research-demo .br-card:nth-child(6){grid-area:3/2}
#broker-research-demo .br-card:nth-child(7){grid-area:1/3}
#broker-research-demo .br-card:nth-child(8){grid-area:2/3}
#broker-research-demo .br-card:nth-child(9){grid-area:3/3}
#broker-research-demo button{font-family:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}
#broker-research-demo .br-card{position:relative;display:flex;align-items:center;gap:6px;min-width:0;height:40px;border:1.7px solid #171717;border-radius: 14px;background:linear-gradient(white,#fffdf3);padding:5px 8px;box-shadow:0 3px 0 #ba8a2d73;font-size:13px;font-weight:900;line-height:1.2;text-align:left;transition:background .2s,box-shadow .2s,transform .2s}
#broker-research-demo .br-card svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#broker-research-demo .br-card span{white-space:nowrap;letter-spacing:-.7px}
#broker-research-demo .br-check{margin-left:auto;flex:none;display:grid;place-items:center;width:17px;height:17px;border-radius: 999px;background:#e4e4df;color:#74746a;font:900 12px/1 sans-serif;font-style:normal}
#broker-research-demo .br-card.is-checked .br-check{background:#00a83d;color:white}
#broker-research-demo .br-card.is-current{background:#fff2b6;box-shadow:0 3px 0 #b98011,0 0 0 2px #ffc120}
#broker-research-demo .br-card.is-current::after{content:"";position:absolute;left:7px;right:7px;bottom:7px;height:2px;background:#ffbf00;box-shadow:0 0 5px 2px #ffda5a;animation:br-scan 1s ease-in-out infinite;pointer-events:none}
#broker-research-demo .br-card[aria-pressed=true]{background:#ffe068;transform:translateY(-2px);box-shadow:0 5px 0 #ac7c16}
#broker-research-demo button:focus-visible,#broker-research-demo .br-detail:focus-visible{outline:3px solid #006477;outline-offset:3px}
#broker-research-demo .br-bottom{width:64%;padding-top:13px;position:relative;z-index:2}
#broker-research-demo .br-progress-label{font:900 10px/1.4 sans-serif;letter-spacing:.5px}
#broker-research-demo .br-progress-label b{font-size:14px;margin-left:4px}
#broker-research-demo .br-progress{display:flex;gap:4px;border:1.5px solid #171717;border-radius: 14px;padding:5px 7px;background:var(--white);height:22px;margin:3px 0 8px}
#broker-research-demo .br-progress i{flex:1;border-radius: 8px;background:#ddd;box-shadow:inset 0 1px 1px #0002}
#broker-research-demo .br-progress i.is-filled{background:#ffc31a}
#broker-research-demo .char{width:104px;left:auto;right:5px;margin-left:0;bottom:-36px;z-index:1;pointer-events:none;transform-origin:50% 100%}
#broker-research-demo.is-running .char{animation:br-bob 2.4s ease-in-out infinite}
#broker-research-demo.is-paused .char,#broker-research-demo.is-paused .br-card::after{animation-play-state:paused}
#broker-research-demo .br-detail{position:absolute;inset:12px 10px auto;min-height:151px;background:#fffbed;border:2px solid #171717;border-radius: 14px;padding:12px;z-index:5;box-shadow:3px 5px 0 #b88c36;font-size:12px;line-height:1.7}
#broker-research-demo [hidden]{display:none!important}
#broker-research-demo .br-detail>div{display:flex;justify-content:space-between;align-items:center;gap:5px}
#broker-research-demo .br-detail strong{font-size:15px;font-weight:900}
#broker-research-demo .br-close{background:#ffe28b;border:1px solid #171717;border-radius: 14px;font-size:10px;padding:5px 9px;min-height:28px}
#broker-research-demo .br-detail p{margin:9px 0;font-size:12px;line-height:1.7}
#broker-research-demo .br-detail small{display:block;font-size:9px;line-height:1.5}
@keyframes br-scan{0%,100%{transform:translateY(0)}50%{transform:translateY(-21px)}}
@keyframes br-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(2deg)}}
@media(max-width:360px){#broker-research-demo .br-content{padding-left:8px;padding-right:8px}#broker-research-demo .br-card{font-size:11px;gap:4px;padding:5px 6px}#broker-research-demo .br-card svg{width:18px}#broker-research-demo .br-heading strong{font-size:13px}#broker-research-demo .br-terminal{font-size:11px;gap:7px}#broker-research-demo .br-window{--br-gap:6px;--br-half-gap:3px}}
@media(prefers-reduced-motion:reduce){#broker-research-demo .char,#broker-research-demo .br-card.is-current::after{animation:none!important}#broker-research-demo .br-card{transition:none}}
#broker-research-demo .br-card:nth-child(5) span{font-size:11px;letter-spacing:-.6px}
@media(max-width:360px){#broker-research-demo .br-card{gap:3px;padding-left:5px;padding-right:5px}#broker-research-demo .br-card svg{width:16px;height:18px}#broker-research-demo .br-check{width:14px;height:14px;font-size:10px}#broker-research-demo .br-card:nth-child(5) span{font-size:10px}}
/* Clip decorative overflow without creating an internal scroll container.
   This prevents focus/scrollIntoView from shifting the terminal header. */
#broker-research-demo{overflow:clip}
#broker-research-demo .br-card.is-checked .br-check{animation:br-check-pop .32s cubic-bezier(.2,.8,.35,1) both}
#broker-research-demo.is-paused:not(.is-complete) .br-check{animation-play-state:paused}
@keyframes br-check-pop{0%{transform:scale(.72) rotate(-12deg)}55%{transform:scale(1.22) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){#broker-research-demo .br-card.is-checked .br-check{animation:none!important}}
/* Reduced motion shows all nine conditions at once, without a hidden page. */
#broker-research-demo.is-reduced{height:376px}
#broker-research-demo.is-reduced .br-content{height:340px}
#broker-research-demo.is-reduced .br-cards{grid-template-columns:1fr 1fr;grid-template-rows:none;transform:none;transition:none;will-change:auto}
#broker-research-demo.is-reduced .br-card{grid-area:auto}
@media(prefers-reduced-motion:reduce){#broker-research-demo .br-cards{transition:none}}


/* Reference palette. Intentionally limited to chart SVGs, not cards or branding. */
.dev-motion .dev-chart,
.ea-demo .ea-chart,
.ha-demo .ha-chart {
  --chart-paper:#FFFDFA;
  --chart-grid:#DEDAD2;
  --chart-blue:#2863A5;
  --chart-red:#B63F3A;
  --chart-ink:#47443E;
  --chart-muted:#55463a;
  background:var(--chart-paper);
}
/* Candlesticks: the reference uses red for rising, blue for falling. */
.dev-motion .dev-chart stop { stop-color:var(--chart-paper); }
.dev-motion .dev-chart [fill="#33C6FB" i] { fill:var(--chart-red); }
.dev-motion .dev-chart [stroke="#33C6FB" i] { stroke:var(--chart-red); }
.dev-motion .dev-chart [fill="#FB5693" i] { fill:var(--chart-blue); }
.dev-motion .dev-chart [stroke="#FB5693" i] { stroke:var(--chart-blue); }
.dev-motion .dev-chart [stroke="#B8D5EF" i] { stroke:var(--chart-grid); stroke-opacity:1; }
.dev-motion .dev-chart [stroke="#CADBEB" i] { stroke:var(--chart-muted); }
.dev-motion .dev-chart [stroke="#C2D6EB" i],
.dev-motion .dev-chart [stroke="#76C5E1" i],
.dev-motion .dev-chart [stroke="#C790B1" i] { stroke:var(--chart-muted); }
.dev-motion .dev-chart [fill="#49D69E" i],
.dev-motion .dev-chart [fill="#1E395F" i] { fill:var(--chart-ink); }
.dev-motion .dev-chart [stroke="#49D69E" i],
.dev-motion .dev-chart [stroke="#446787" i] { stroke:var(--chart-ink); }
.dev-motion .dev-chart text,
.dev-motion .dev-chart .chart-legend,
.dev-motion .dev-chart .chart-green { fill:var(--chart-ink); }
.dev-motion .dev-chart .chart-muted { fill:var(--chart-muted); }
.dev-motion .dev-chart .dev-chart__event text,
.dev-motion .dev-chart .chart-tag { fill:var(--chart-paper); }
/* EA type examples keep their pastel frames and character assets. */
.ea-demo .ea-chart text { fill:var(--chart-ink); }
.ea-demo .ea-chart .ea-grid { stroke:var(--chart-grid); opacity:1; }
.ea-demo .ea-chart .ea-axis,
.ea-demo .ea-chart .ea-session,
.ea-demo .ea-chart .ea-price { stroke:var(--chart-muted); }
.ea-demo .ea-chart .ea-axis-label,
.ea-demo .ea-chart .ea-chart-disclaimer { fill:var(--chart-muted); }
.ea-demo .ea-chart .ea-candle--up path,
.ea-demo .ea-chart .ea-candle--up rect { stroke:var(--chart-red); }
.ea-demo .ea-chart .ea-candle--up rect { fill:var(--chart-red); }
.ea-demo .ea-chart .ea-candle--down path,
.ea-demo .ea-chart .ea-candle--down rect { stroke:var(--chart-blue); }
.ea-demo .ea-chart .ea-candle--down rect { fill:var(--chart-blue); }
.ea-demo .ea-chart .ea-candle-key path { stroke:var(--chart-muted); }
.ea-demo .ea-chart .ea-candle-key rect { fill:var(--chart-red); stroke:var(--chart-red); }
.ea-demo .ea-chart .ea-candle-key .ea-key-down { fill:var(--chart-blue); stroke:var(--chart-blue); }
/* Order types remain encoded by their text and shapes, independently of candle direction. */
.ea-demo .ea-chart .ea-order-stem,
.ea-demo .ea-chart .ea-order-point,
.ea-demo .ea-chart .ea-order-label { stroke:var(--chart-ink); }
.ea-demo .ea-chart .ea-order-point,
.ea-demo .ea-chart .ea-order-label { fill:var(--chart-ink); }
.ea-demo .ea-chart .ea-mark text { fill:var(--chart-paper); }
.ea-demo .ea-chart .ea-order--exit .ea-order-point,
.ea-demo .ea-chart .ea-order--exit .ea-order-label,
.ea-demo .ea-chart .ea-order--info .ea-order-point,
.ea-demo .ea-chart .ea-order--info .ea-order-label { fill:var(--chart-paper); }
.ea-demo .ea-chart .ea-order--exit text,
.ea-demo .ea-chart .ea-order--info text { fill:var(--chart-ink); }
.ea-demo .ea-chart .ea-average path,
.ea-demo .ea-chart .ea-level { stroke:var(--chart-muted); }
.ea-demo .ea-chart .ea-average text,
.ea-demo .ea-chart .ea-level-label { fill:var(--chart-muted); stroke:var(--chart-paper); }
.ea-demo .ea-chart .ea-range { fill:var(--chart-blue); }
/* BELIEF03 keeps negative P/L and drawdown red, independent of candle direction. */
.ha-demo .ha-chart .ha-grid { stroke:var(--chart-grid); }
.ha-demo .ha-chart .ha-line { stroke:var(--chart-blue); }
.ha-demo .ha-chart .ha-negative,
.ha-demo .ha-chart .ha-dd { stroke:var(--chart-red); }
.ha-demo .ha-chart .ha-area { fill:#E7EFF7; }
.ha-demo .ha-chart [fill="#fbd6db" i] { fill:#F5E6E2; }
.ha-demo .ha-chart [fill="#d70061" i] { fill:var(--chart-red); }
.ha-demo .ha-chart [stroke="#817984" i] { stroke:var(--chart-muted); }
.ha-demo .ha-chart .ha-axis { fill:var(--chart-muted); }
.ha-demo .ha-chart .ha-flowtext { fill:var(--chart-ink); }
.ha-demo .ha-chart .ha-dot { fill:var(--chart-paper); stroke:var(--chart-blue); }
.ha-demo .ha-chart [aria-pressed=true] .ha-dot { fill:var(--chart-blue); stroke:var(--chart-ink); }
.ha-demo .ha-chart .ha-guide { stroke:var(--chart-muted); }
.ha-demo .ha-chart .ha-point:focus-visible .ha-hit { stroke:var(--chart-ink); }
.ha-demo .ha-chart rect[stroke="#201d20" i] { stroke:var(--chart-ink); }
.ha-demo .ha-chart [fill="#f3e2fb" i] { fill:#F2EEE7; }
.ha-demo .ha-chart [fill="#ffd6ed" i] { fill:#E7EFF7; }
.ha-demo .ha-chart [fill="#def2e3" i] { fill:#F2EEE7; }
.ha-demo .ha-chart [data-bar] { fill:var(--chart-blue); stroke:var(--chart-blue); }


/* Reference composition: compact left-hand report and a larger analyst at lower right. */
#ea-analysis-demo.koma.k3.ha-demo{height:274px}
#ea-analysis-demo .ha-body{padding:39px 12px 0}
#ea-analysis-demo .ha-tabs{gap:6px;margin-bottom:10px}
#ea-analysis-demo .ha-tab{min-height:46px;padding:3px 2px;border-radius: 8px}
#ea-analysis-demo .ha-tab b{font-size:12px;line-height:1.5}
#ea-analysis-demo .ha-tab small{font-size:9px;line-height:1.5}
#ea-analysis-demo .ha-panel{width:74%;margin-left:auto;height:167px;padding:7px 7px 4px}
#ea-analysis-demo .ha-title{font-size:12px;gap:4px;white-space:normal;line-height:1.45;min-height:35px;align-items:flex-start}
#ea-analysis-demo .ha-title::before{width:4px;height:13px;margin-top:2px}
#ea-analysis-demo .ha-readout{font-size:10px;line-height:1.4;min-height:19px;margin-top:3px;padding:3px 4px}
#ea-analysis-demo .ha-chart{height:94px}
#ea-analysis-demo .char{width:30%!important;left:1px!important;right:auto!important;bottom:0!important;z-index:4!important}
@media(max-width:350px){
  #ea-analysis-demo .ha-body{padding-inline:9px}
  #ea-analysis-demo .ha-tab b{font-size:11px}
  #ea-analysis-demo .ha-tab small{font-size:8px}
  #ea-analysis-demo .ha-title{font-size:11px}
  #ea-analysis-demo .ha-readout{font-size:9px}
}


/* BELIEF03 flow illustration: presentation only. Geometry and data stay intact. */
#ea-analysis-demo .ha-title{color:#343b42;font-weight:800;gap:0}
#ea-analysis-demo .ha-title::before{display:none}
#ea-analysis-demo .ha-readout{background:#edf3f8;color:#37546d;border:0;border-radius: 8px;box-shadow:none;font-weight:600}
#ea-analysis-demo #ha-panel-0 .ha-chart{background:transparent}
#ea-analysis-demo #ha-panel-0 .ha-grid{display:none}
#ea-analysis-demo #ha-panel-0 .ha-line{stroke:#7390a9;stroke-width:1.6}
#ea-analysis-demo #ha-panel-0 .ha-dd{stroke:#7390a9;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#ea-analysis-demo #ha-panel-0 .ha-flowcard{fill:var(--white);stroke:#c9d4dd;stroke-width:1.1;transition:fill .18s,stroke .18s}
#ea-analysis-demo #ha-panel-0 .ha-flowtext{fill:#465768;font-size:15px;font-weight:700;dominant-baseline:central;transform:translateY(6px);pointer-events:none}
#ea-analysis-demo #ha-panel-0 .ha-flowstep:nth-of-type(2) .ha-flowtext{font-size:14px;letter-spacing:-.06em}
#ea-analysis-demo #ha-panel-0 .ha-flownum{fill:#697f93;font:700 12px var(--f-mono,monospace);letter-spacing:.06em;pointer-events:none}
#ea-analysis-demo #ha-panel-0 .ha-dot{opacity:0}
#ea-analysis-demo #ha-panel-0 .ha-point{cursor:pointer}
#ea-analysis-demo #ha-panel-0 .ha-point:hover .ha-flowcard{fill:#f3f7fa;stroke:#7390a9}
#ea-analysis-demo #ha-panel-0 .ha-point[aria-pressed=true] .ha-flowcard{fill:#e8f0f7;stroke:#527999;stroke-width:1.7}
#ea-analysis-demo #ha-panel-0 .ha-point[aria-pressed=true] .ha-flowtext{fill:#274f72;font-weight:900}
#ea-analysis-demo #ha-panel-0 .ha-point[aria-pressed=true] .ha-flownum{fill:#274f72}
#ea-analysis-demo #ha-panel-0 .ha-point:focus-visible .ha-hit{stroke:none}
#ea-analysis-demo #ha-panel-0 .ha-point:focus-visible .ha-flowcard{stroke:#284d70;stroke-width:2;stroke-dasharray:3 2}
#ea-analysis-demo #ha-panel-0 .ha-axis{fill:#74808b;font-size:11px;font-weight:500}
@media(prefers-reduced-motion:reduce){#ea-analysis-demo #ha-panel-0 .ha-flowcard{transition:none}}


/* Decorative hearts stay beside the analyst, below the tabs and behind the report. */
#ea-analysis-demo .analyst-hearts{position:absolute;left:7px;bottom:126px;width:70px;height:60px;z-index:2;pointer-events:none;overflow:visible}
#ea-analysis-demo .analyst-hearts i{position:absolute;left:4px;bottom:0;color:#df387d;font:normal 18px/1 sans-serif;opacity:0;text-shadow:0 1px 0 #fff9;--heart-drift:-6px;animation:analyst-heart-rise 6.8s ease-out infinite;animation-play-state:paused}
#ea-analysis-demo .analyst-hearts i:nth-child(2){left:28px;font-size:13px;color:#f471a5;--heart-drift:3px;animation-delay:.35s}
#ea-analysis-demo .analyst-hearts i:nth-child(3){left:50px;font-size:15px;color:#d93477;--heart-drift:8px;animation-delay:.7s}
#ea-analysis-demo.is-heart-active .analyst-hearts i{animation-play-state:running}
@keyframes analyst-heart-rise{0%,2%{opacity:0;transform:translate(0,0) scale(.6) rotate(-8deg)}7%{opacity:.78}24%{opacity:0;transform:translate(var(--heart-drift),-43px) scale(1.08) rotate(10deg)}25%,100%{opacity:0;transform:translate(var(--heart-drift),-43px) scale(1.08) rotate(10deg)}}
@media(prefers-reduced-motion:reduce){#ea-analysis-demo .analyst-hearts{display:none}#ea-analysis-demo .analyst-hearts i{animation:none!important}}


.promise-panel .koma{position:relative;margin:0 0 18px;overflow:hidden;border:2px solid #30261e;border-radius: 14px;color:#30261e}.promise-panel .koma__cap{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;height:30px;padding:4px 9px;border-bottom:2px solid #30261e;background:var(--header,#f5dfc4)}.promise-panel .koma__cap::before{content:none!important}.promise-panel .koma .char{position:absolute;display:block;z-index:2;line-height:0}.promise-panel .koma .char img{display:block;width:100%;height:auto}.demo-browser-dots{display:inline-flex;align-items:center;gap:4px;flex:none}.demo-browser-dots i{display:block;width:7px;height:7px;border-radius: 999px;background:#9f352d}.demo-browser-dots i:nth-child(2){background:#f6d775}.demo-browser-dots i:nth-child(3){background:#4a906d}.demo-wordmark.wordmark{font-size:15px;line-height:1;white-space:nowrap}.discovery-demo__header,.br-terminal{gap:8px}.promise-panel .br-terminal{display:flex;align-items:center}.promise-panel .br-terminal .demo-wordmark{font-family:inherit}.promise-panel .koma{--f-mono:ui-monospace,monospace;--comic-ink:#30261e;--comic-border:#30261e;--comic-paper:#fffaf2;--comic-red:#9f352d;--comic-yellow:#f8d879;--comic-blue:#d7edeb;--comic-pink:#f8dfdf}.promise-panel .rv{opacity:1!important;transform:none!important}
/* Browser-like headers share the site wordmark and vary by demo. */
.promise-panel .koma__cap,.promise-panel .br-terminal{background:repeating-linear-gradient(-24deg,#fff7 0 1px,transparent 1px 6px),var(--demo-header,#f3e0c8)!important;color:#30261e!important;border-bottom:2px solid #30261e}
#promise-panel-02 .koma{--demo-header:#b5dedd}
#promise-panel-03 .koma{--demo-header:#f1cedc}
#promise-panel-04 .koma{--demo-header:#f8dd8f}
#promise-panel-05 .koma{--demo-header:#bfddc9}
.promise-panel .demo-wordmark.wordmark{color:#30261e!important}
.promise-panel .demo-wordmark em{color:#9f352d!important}


/* Only Promise 02's researcher: a quiet idea appears beside the hat. */
#ea-compare-demo > .char[data-char="researcher"] > .ec-idea-bulb {
  position:absolute;
  left:-1px;
  top:-4px;
  width:23px;
  height:29px;
  z-index:3;
  pointer-events:none;
  opacity:0;
  transform-origin:50% 85%;
}
#ea-compare-demo .ec-idea-bulb svg {display:block;width:100%;height:100%;overflow:visible}
#ea-compare-demo .ec-idea-bulb__halo {opacity:0;transform-origin:18px 17px}
#ea-compare-demo .ec-idea-bulb__rays {opacity:0;transform-origin:18px 17px}
#ea-compare-demo.ec-idea-ready .ec-idea-bulb {animation:ec-researcher-idea 7.2s ease-in-out infinite}
#ea-compare-demo.ec-idea-ready .ec-idea-bulb__halo {animation:ec-researcher-glow 7.2s ease-in-out infinite}
#ea-compare-demo.ec-idea-ready .ec-idea-bulb__rays {animation:ec-researcher-rays 7.2s ease-in-out infinite}
#ea-compare-demo.ec-idea-paused :is(.ec-idea-bulb,.ec-idea-bulb__halo,.ec-idea-bulb__rays) {animation-play-state:paused}
@keyframes ec-researcher-idea {
  0%,12% {opacity:0;transform:translateY(4px) rotate(-14deg) scale(.6)}
  22% {opacity:1;transform:translateY(0) rotate(-8deg) scale(1)}
  44% {opacity:1;transform:translateY(-1px) rotate(-8deg) scale(1)}
  57%,100% {opacity:0;transform:translateY(-4px) rotate(-4deg) scale(.9)}
}
@keyframes ec-researcher-glow {
  0%,20% {opacity:0;transform:scale(.75)}
  30%,40% {opacity:.5;transform:scale(1)}
  55%,100% {opacity:0;transform:scale(1.06)}
}
@keyframes ec-researcher-rays {
  0%,19% {opacity:0;transform:scale(.8)}
  28%,43% {opacity:1;transform:scale(1)}
  54%,100% {opacity:0;transform:scale(1.06)}
}
@media (prefers-reduced-motion:reduce) {
  #ea-compare-demo > .char[data-char="researcher"] > .ec-idea-bulb {display:none;animation:none!important}
  #ea-compare-demo :is(.ec-idea-bulb__halo,.ec-idea-bulb__rays) {animation:none!important}
}

/* Match the browser title bars across the five demos. */
.promise-panel .discovery-demo__header,.promise-panel .koma__cap,#broker-research-demo .br-terminal{display:flex;align-items:center;justify-content:flex-start;gap:8px;height:30px;min-height:30px;padding:4px 9px;background:var(--white)!important;letter-spacing:normal}
.promise-panel .demo-browser-dots{display:inline-flex;align-items:center;gap:4px;flex:none;line-height:0}
.promise-panel .demo-wordmark.wordmark{display:block;flex:none;margin:0;font:900 italic 15px/1 "Avenir Next",sans-serif;letter-spacing:-.065em}

/* Keep the character in front of the scrolling condition cards. */
#broker-research-demo .char{z-index:4;pointer-events:none}

/* The reference artwork includes both the socks and the shoes. */
.footwear-definitions{position:absolute;pointer-events:none}


/* All five browser windows use the same fine dot grid. The tint keeps each
   demo recognizable while leaving the controls on their existing surfaces. */
.promise-panel :is(.discovery-demo, .koma) {
  background: radial-gradient(var(--promise-demo-dot) 1px, transparent 1.2px)
    0 0 / 7px 7px, var(--promise-demo-paper);
}
#promise-panel-01 { --promise-demo-paper: #ffe6dc; --promise-demo-dot: #bd706752; }
#promise-panel-02 { --promise-demo-paper: #e1f2f3; --promise-demo-dot: #599ca352; }
#promise-panel-03 { --promise-demo-paper: #f7e7f4; --promise-demo-dot: #a6739f52; }
#promise-panel-04 { --promise-demo-paper: #fff2d1; --promise-demo-dot: #ae8e4552; }
#promise-panel-05 { --promise-demo-paper: #e8f3e7; --promise-demo-dot: #70986d52; }
