/* ==========================================================================
   QuantDesk live widget kit · qd-widgets.css · v1.0 (2026-10-09)
   Animated, self-contained pieces of LiveDesk UI for the public site.
   Requires qd-site.css (tokens, .qd-chip[data-st], .qd-badge). Every class
   starts with "qdw". Both palettes and both themes come from the tokens.
   Markup + options: DESIGN.md §17.  JS: qd-widgets.js (window.QDW).
   ========================================================================== */

/* ---- frame shared by every widget ---------------------------------------- */
.qdw{--qdw-pad:14px;position:relative;display:block;border:1px solid var(--qd-line-2);border-radius:var(--qd-r-lg);background:var(--qd-surface-1);color:var(--qd-ink);box-shadow:var(--qd-shadow-2);overflow:hidden;font:400 14px/1.45 var(--qd-font-body);container-type:inline-size;contain:layout paint}
.qdw *,.qdw *::before,.qdw *::after{box-sizing:border-box}
.qdw__bar{display:flex;align-items:center;gap:10px;min-height:42px;padding:6px 8px 6px 14px;background:var(--qd-surface-2);border-bottom:1px solid var(--qd-line)}
.qdw__mark{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--qd-grad);color:var(--qd-on-grad);font:800 11px/1 var(--qd-font-display);flex:none}
.qdw__title{flex:1;min-width:0;font:600 12px/1.3 var(--qd-font-mono);letter-spacing:.04em;color:var(--qd-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qdw__title b{color:var(--qd-ink);font-weight:600}
.qdw__right{font:500 12px/1 var(--qd-font-mono);color:var(--qd-ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.qdw__right:empty{display:none}
.qdw__tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;border:1px solid var(--qd-line-2);background:var(--qd-glass);font:600 10px/1 var(--qd-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--qd-ink-2);flex:none}
.qdw__ctl{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid var(--qd-line);border-radius:8px;background:var(--qd-glass);color:var(--qd-ink-2);cursor:pointer;flex:none}
.qdw__ctl:hover{color:var(--qd-ink);background:var(--qd-glass-2)}
.qdw__ctl svg{width:13px;height:13px;fill:currentColor}
.qdw__ctl .qdw-i-pause{display:block}.qdw__ctl .qdw-i-play{display:none}
.qdw.is-paused .qdw__ctl .qdw-i-pause{display:none}.qdw.is-paused .qdw__ctl .qdw-i-play{display:block}
.qdw__body{padding:var(--qdw-pad)}
.qdw__cap{padding:10px 14px;border-top:1px solid var(--qd-line);font-size:13px;line-height:1.5;color:var(--qd-ink-2)}
.qdw--static *,.qdw--static *::before,.qdw--static *::after{transition:none!important;animation:none!important}
.qdw-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@container (max-width:420px){.qdw{--qdw-pad:10px} .qdw__bar{padding-left:10px} .qdw__right{display:none}}

/* ---- shared mini-UI pieces ------------------------------------------------ */
.qdw-tile{min-width:0;padding:10px 12px;border:1px solid var(--qd-line);border-radius:10px;background:var(--qd-glass)}
.qdw-tile__k{font:600 10px/1 var(--qd-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--qd-ink-3);margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qdw-tile__v{font:600 15px/1.25 var(--qd-font-mono);font-variant-numeric:tabular-nums;color:var(--qd-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qdw-tile__s{font-size:11.5px;line-height:1.35;color:var(--qd-ink-3);margin-top:3px}
.qdw-tile--wrap .qdw-tile__v{white-space:normal;font-size:13px;line-height:1.35;overflow:visible}
.qdw-tile--wrap .qdw-tile__k{white-space:normal;overflow:visible}
.qdw-pos{color:var(--qd-ok)}.qdw-neg{color:var(--qd-err)}
.qdw-tiles{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:8px}
@container (max-width:560px){.qdw-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.qdw-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin-inline:calc(-1 * var(--qdw-pad));padding-inline:var(--qdw-pad)}
.qdw-table{width:100%;border-collapse:collapse;font:500 12.5px/1.3 var(--qd-font-mono);font-variant-numeric:tabular-nums}
.qdw-table th{padding:8px 10px;text-align:left;font:600 10px/1 var(--qd-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--qd-ink-3);border-bottom:1px solid var(--qd-line);white-space:nowrap}
.qdw-table td{padding:9px 10px;border-bottom:1px solid var(--qd-line-soft);white-space:nowrap;vertical-align:middle;color:var(--qd-ink-body)}
.qdw-table tr:last-child td{border-bottom:0}
.qdw-table .num{text-align:right}
.qdw-table .dim{color:var(--qd-ink-3)}
.qdw-table tr[hidden]{display:none}
.qdw-side{display:inline-block;padding:3px 6px;border-radius:4px;font:700 10px/1 var(--qd-font-mono);letter-spacing:.06em}
.qdw-side--sell{color:var(--qd-err);background:var(--qd-err-soft)}
.qdw-side--buy{color:var(--qd-ok);background:var(--qd-ok-soft)}
.qdw-ichip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font:600 11px/1 var(--qd-font-mono);color:var(--qd-us-ink);background:var(--qd-us-soft);border:1px solid var(--qd-us-line);white-space:nowrap}
.qdw-in{animation:qdw-in .5s var(--qd-ease-out) both}
.qdw-in-l{animation:qdw-in-l .45s var(--qd-ease-out) both}
@keyframes qdw-in{from{opacity:0;transform:translate3d(0,8px,0)}}
@keyframes qdw-in-l{from{opacity:0;transform:translate3d(-8px,0,0)}}
@keyframes qdw-blink{50%{opacity:0}}
@keyframes qdw-pop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes qdw-dots{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-3px);opacity:1}}
.qdw-cursor{position:absolute;left:var(--x,50%);top:var(--y,50%);width:18px;height:18px;z-index:5;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));transition:left .7s var(--qd-ease-out),top .7s var(--qd-ease-out),transform .15s,opacity .3s;opacity:0}
.qdw-cursor.is-on{opacity:1}.qdw-cursor.is-down{transform:scale(.82)}
.qdw-cursor svg{display:block;width:18px;height:18px}
.qdw-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border-radius:9px;font:600 13px/1 var(--qd-font-body);border:1px solid transparent;white-space:nowrap;transition:transform .15s,box-shadow .2s}
.qdw-btn--primary{background:var(--qd-grad);color:var(--qd-on-grad)}
.qdw-btn--ld{background:var(--qd-ld);color:var(--qd-ld-on)}
.qdw-btn--ghost{border-color:var(--qd-line-2);color:var(--qd-ink);background:var(--qd-glass)}
.qdw-btn--sm{height:28px;padding:0 10px;font-size:12px;border-radius:7px}
.qdw-btn.is-press{transform:scale(.95)}
.qdw-pill{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--qd-line);background:var(--qd-glass);font:500 11.5px/1 var(--qd-font-mono);color:var(--qd-ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.qdw-pill b{color:var(--qd-ink);font-weight:600;margin:0 3px}
.qdw-field{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:0 10px;border:1px solid var(--qd-line-2);border-radius:8px;background:var(--qd-surface-1);font:500 12px/1 var(--qd-font-mono);color:var(--qd-ink)}
.qdw-field__k{font:600 10px/1 var(--qd-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--qd-ink-3);white-space:nowrap}
.qdw-field__v{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qdw-caret::after{content:"";display:inline-block;width:1.5px;height:1em;margin-left:1px;vertical-align:-2px;background:currentColor;animation:qdw-blink 1s steps(1) infinite}
.qdw-status{display:flex;align-items:center;gap:8px;min-height:30px;padding:6px 10px;border-radius:8px;border:1px solid var(--qd-line);background:var(--qd-glass);font:500 12.5px/1.35 var(--qd-font-body);color:var(--qd-ink-body)}
.qdw-status .qd-chip{flex:none}
.qdw-status--ok{border-color:var(--qd-ok-line);background:var(--qd-ok-soft)}
.qdw-status--err{border-color:var(--qd-err-line);background:var(--qd-err-soft)}
.qdw-status--warn{border-color:var(--qd-warn-line);background:var(--qd-warn-soft)}
.qdw-status--cool{border-color:var(--qd-cool-line);background:var(--qd-cool-soft)}
.qdw-bar{position:relative;height:8px;border-radius:4px;background:var(--qd-surface-3);overflow:hidden}
.qdw-bar i{position:absolute;left:0;top:0;bottom:0;width:var(--p,0%);border-radius:4px;background:var(--c,var(--qd-bt));transition:width .3s linear}
.qdw-bar--err i{--c:var(--qd-err)}.qdw-bar--ok i{--c:var(--qd-ok)}.qdw-bar--warn i{--c:linear-gradient(90deg,var(--qd-warn),var(--qd-err))}.qdw-bar--ld i{--c:var(--qd-ld)}
.qdw-bar__l{display:flex;justify-content:space-between;gap:8px;font:500 10.5px/1 var(--qd-font-mono);color:var(--qd-ink-3);margin-top:6px;font-variant-numeric:tabular-nums}
.qdw-svg{display:block;width:100%;height:auto}
.qdw-svg .grid{stroke:var(--qd-line);stroke-width:1}
.qdw-svg .zero{stroke:var(--qd-line-2);stroke-width:1}
.qdw-svg .ax{font:500 11px var(--qd-font-mono);fill:var(--qd-ink-3)}
.qdw-svg .lbl{font:600 11px var(--qd-font-mono);fill:var(--qd-ink-2)}
.qdw-svg .line{fill:none;stroke:var(--qd-bt);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.qdw-svg .line--ld{stroke:var(--qd-ld)}
.qdw-svg .area{fill:var(--qd-bt);opacity:.12}
.qdw-svg .area--ld{fill:var(--qd-ld)}
.qdw-svg .pos{fill:var(--qd-ok);opacity:.16}
.qdw-svg .neg{fill:var(--qd-err);opacity:.16}
.qdw-svg .g-err{stroke:var(--qd-err)}.qdw-svg .g-ok{stroke:var(--qd-ok)}.qdw-svg .g-ld{stroke:var(--qd-ld)}.qdw-svg .g-ink{stroke:var(--qd-ink-3)}
.qdw-svg .dash{stroke-width:1;stroke-dasharray:4 4;fill:none}
.qdw-svg .t-err{fill:var(--qd-err)}.qdw-svg .t-ok{fill:var(--qd-ok)}.qdw-svg .t-ld{fill:var(--qd-ld-ink)}
.qdw-svg .dot{fill:var(--qd-bt);stroke:var(--qd-surface-1);stroke-width:2}
.qdw-svg .dd{fill:var(--qd-err);opacity:.1}
.qdw-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font:500 11px/1 var(--qd-font-mono);color:var(--qd-ink-3)}
.qdw-legend i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:6px;vertical-align:2px;background:var(--c,var(--qd-bt))}
.qdw-note{font-size:11.5px;line-height:1.35;color:var(--qd-ink-3);white-space:normal;min-width:160px;max-width:260px}
.qdw-note.is-err{color:var(--qd-err)}
.qdw-note.is-ok{color:var(--qd-ok)}
.qdw-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:12px;font-size:12px;color:var(--qd-ink-3)}

/* ---- (a) deployed-card --------------------------------------------------- */
.qdw-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 18px}
.qdw-card__id{flex:1 1 260px;min-width:0}
.qdw-card__name{font:600 16px/1.25 var(--qd-font-display);letter-spacing:-.01em;color:var(--qd-ink)}
.qdw-card__name small{font:500 12px/1 var(--qd-font-body);color:var(--qd-ink-3);margin-left:6px}
.qdw-dno{display:inline-block;margin-left:8px;padding:3px 7px;border:1px solid var(--qd-line-2);border-radius:6px;font:600 10px/1 var(--qd-font-mono);letter-spacing:.06em;color:var(--qd-ink-3);vertical-align:2px}
.qdw-card__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.qdw-card__pnl{min-width:150px;text-align:right}
.qdw-card__pv{font:700 22px/1 var(--qd-font-mono);font-variant-numeric:tabular-nums;color:var(--qd-ink)}
.qdw-card__ps{font:500 11px/1.3 var(--qd-font-mono);color:var(--qd-ink-3);margin-top:5px}
.qdw-range{position:relative;height:4px;margin-top:9px;border-radius:2px;background:linear-gradient(90deg,var(--qd-err-line),var(--qd-line-2) 50%,var(--qd-ok-line))}
.qdw-range i{position:absolute;top:-3px;left:var(--p,50%);width:2px;height:10px;margin-left:-1px;background:var(--qd-ink);border-radius:1px;transition:left .25s linear}
.qdw-range__l{display:flex;justify-content:space-between;font:500 10px/1 var(--qd-font-mono);color:var(--qd-ink-3);margin-top:5px;font-variant-numeric:tabular-nums}
.qdw-card__ctl{display:flex;align-items:center;gap:8px}
.qdw-card__ctl .qdw-tile__k{margin:0}
.qdw-sel{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--qd-line-2);border-radius:8px;font:600 12px/1 var(--qd-font-mono);color:var(--qd-ink);background:var(--qd-surface-1)}
.qdw-sel::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.qdw-ib{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--qd-line-2);background:var(--qd-glass);color:var(--qd-ink-2)}
.qdw-ib svg{width:12px;height:12px;fill:currentColor}
.qdw-ib--pause{color:var(--qd-err);border-color:var(--qd-err-line);background:var(--qd-err-soft)}
.qdw-ib--pause svg{fill:none;stroke:currentColor;stroke-width:2}
.qdw-ib--exit svg{fill:none;stroke:currentColor;stroke-width:2}
.qdw-card__meta{margin-top:14px}
.qdw-card__legs{margin-top:12px;border:1px solid var(--qd-line);border-radius:10px;overflow:hidden}
.qdw-card__legs .qdw-scroll{margin:0;padding:0}
.qdw-card__legs .qdw-table th{background:var(--qd-surface-2)}
.qdw-card__legs .qdw-table .inst{font-weight:600;color:var(--qd-ink)}
.qdw-card__legs .qdw-table .tot td{font-weight:700;color:var(--qd-ink);background:var(--qd-surface-2)}
.qdw-card__empty{padding:16px 12px;text-align:center;font:500 13px/1.4 var(--qd-font-body);color:var(--qd-ink-3)}
.qdw-leg-tag{display:inline-block;margin-left:6px;padding:3px 6px;border-radius:4px;font:600 10px/1 var(--qd-font-mono);letter-spacing:.04em;vertical-align:1px}
.qdw-leg-tag--pend{color:var(--qd-warn);background:var(--qd-warn-soft);border:1px solid var(--qd-warn-line)}
.qdw-leg-tag--closed{color:var(--qd-ink-3);background:var(--qd-muted-soft);border:1px solid var(--qd-muted-line)}
.qdw-card__foot{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
@container (max-width:640px){.qdw-card__pnl{text-align:left;min-width:0;flex:1 1 160px} .qdw-card__ctl{order:3}}
@container (max-width:480px){.qdw-card__legs .c-entry{display:none} .qdw-card__legs .qdw-table th,.qdw-card__legs .qdw-table td{padding-inline:7px}}

/* ---- (b) order-flow -------------------------------------------------------- */
.qdw-of__ladder{margin-top:14px}
.qdw-of__ladder .qdw-tile__k{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;white-space:normal;overflow:visible}
.qdw-of__ladder .qdw-tile__k b{color:var(--qd-ink);font-weight:600}
.qdw--order-flow .qdw-table .c-note{min-width:200px}
@container (max-width:760px){.qdw--order-flow .qdw-table .c-time{display:none}}
@container (max-width:640px){
  .qdw--order-flow .qdw-scroll{overflow:visible;margin:0;padding:0}
  .qdw--order-flow .qdw-table,.qdw--order-flow .qdw-table tbody{display:block;width:100%}
  .qdw--order-flow .qdw-table thead{display:none}
  .qdw--order-flow .qdw-table tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--qd-line-soft)}
  .qdw--order-flow .qdw-table tr:last-child{border-bottom:0}
  .qdw--order-flow .qdw-table td{display:block;padding:0;border:0;white-space:normal;text-align:left}
  .qdw--order-flow .qdw-table .c-time{display:block;grid-column:1;grid-row:1;color:var(--qd-ink-3);font-size:11px}
  .qdw--order-flow .qdw-table .c-st{grid-column:2;grid-row:1}
  .qdw--order-flow .qdw-table .c-side{grid-column:3;grid-row:1;justify-self:end}
  .qdw--order-flow .qdw-table .c-inst{grid-column:1/3;grid-row:2;font-weight:600;color:var(--qd-ink)}
  .qdw--order-flow .qdw-table .c-qty{grid-column:3;grid-row:2;justify-self:end}
  .qdw--order-flow .qdw-table .c-lim{grid-column:1;grid-row:3}
  .qdw--order-flow .qdw-table .c-fill{grid-column:2;grid-row:3}
  .qdw--order-flow .qdw-table .c-bid{grid-column:3;grid-row:3;justify-self:end;font-size:11px}
  .qdw--order-flow .qdw-table .c-lim::before{content:"Limit ";color:var(--qd-ink-3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
  .qdw--order-flow .qdw-table .c-fill::before{content:"Fill ";color:var(--qd-ink-3);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
  .qdw--order-flow .qdw-table .c-note{grid-column:1/-1;grid-row:4;min-width:0}
  .qdw--order-flow .qdw-table .c-note .qdw-note{max-width:none}
}
.qdw-of__pend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--qd-warn-line);border-radius:10px;background:var(--qd-warn-soft);font:500 12.5px/1.4 var(--qd-font-body);color:var(--qd-ink-body)}
.qdw-of__pend[hidden]{display:none}
.qdw-of__pend .qdw-leg-tag{margin:0}
.qdw-of__pend .qdw-btn{height:28px;padding:0 10px;font-size:12px;border-radius:7px}

/* ---- (c) equity-curve ------------------------------------------------------ */
.qdw-eq__chart{margin-top:12px;border:1px solid var(--qd-line);border-radius:10px;background:var(--qd-glass);padding:8px 6px 4px}

/* ---- (d) go-live-journey --------------------------------------------------- */
.qdw-jr__rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.qdw-jr__st{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid var(--qd-line);border-radius:10px;background:var(--qd-glass);font:600 12px/1.2 var(--qd-font-body);color:var(--qd-ink-3);transition:border-color .3s,color .3s,background-color .3s}
.qdw-jr__n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--qd-line-2);font:700 11px/1 var(--qd-font-mono);color:var(--qd-ink-3);flex:none;transition:background .3s,color .3s,border-color .3s}
.qdw-jr__n svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;display:none}
.qdw-jr__st.is-done .qdw-jr__n{background:var(--qd-ok-soft);border-color:var(--qd-ok-line);color:var(--qd-ok)}
.qdw-jr__st.is-done .qdw-jr__n svg{display:block}.qdw-jr__st.is-done .qdw-jr__n span{display:none}
.qdw-jr__st.is-done{color:var(--qd-ink-2)}
.qdw-jr__st.is-cur{border-color:var(--qd-ld-line);background:var(--qd-ld-soft);color:var(--qd-ink)}
.qdw-jr__st.is-cur .qdw-jr__n{background:var(--qd-ld);border-color:var(--qd-ld);color:var(--qd-ld-on)}
.qdw-jr__st span.l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qdw-jr__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.qdw-jr__v{position:relative;min-width:0;min-height:196px;padding:12px;border:1px solid var(--qd-line);border-radius:12px;background:var(--qd-surface-2);opacity:.55;transform:scale(.98);transition:opacity .4s,transform .4s var(--qd-ease-out),border-color .4s,box-shadow .4s;overflow:hidden}
.qdw-jr__v.is-cur{opacity:1;transform:none;border-color:var(--qd-ld-line);box-shadow:var(--qd-glow-ld)}
.qdw-jr__v.is-done{opacity:.8;transform:none}
.qdw-jr__h{font:600 10px/1 var(--qd-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--qd-ink-3);margin-bottom:10px;display:flex;justify-content:space-between;gap:8px}
.qdw-jr__h b{color:var(--qd-ink-2);font-weight:600}
.qdw-jr__stack{display:flex;flex-direction:column;gap:8px}
.qdw-jr__line{font:500 12px/1.4 var(--qd-font-body);color:var(--qd-ink-body)}
.qdw-jr__line b{color:var(--qd-ink);font-weight:600}
.qdw-jr__ok{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--qd-ok-line);border-radius:8px;background:var(--qd-ok-soft);font:600 12px/1.3 var(--qd-font-body);color:var(--qd-ok)}
.qdw-jr__ok[hidden],.qdw-jr__stack [hidden]{display:none}
.qdw-jr__ip{font:600 13px/1 var(--qd-font-mono);letter-spacing:.02em;color:var(--qd-ink)}
.qdw-jr__g{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--qd-line-2);background:var(--qd-surface-1);font:600 13px/1 var(--qd-font-body);color:var(--qd-ink);transition:transform .15s,border-color .2s}
.qdw-jr__g.is-press{transform:scale(.95);border-color:var(--qd-bt-line)}
.qdw-jr__g svg{width:16px;height:16px}
.qdw-jr__toast{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 10px;border-radius:8px;border:1px solid var(--qd-ok-line);background:var(--qd-surface-1);box-shadow:var(--qd-shadow-2);font:600 12px/1.3 var(--qd-font-body);color:var(--qd-ok);transform:translateY(8px);opacity:0;transition:opacity .3s,transform .3s var(--qd-ease-out)}
.qdw-jr__toast.is-on{opacity:1;transform:none}
.qdw-jr__pick{display:flex;flex-direction:column;gap:4px}
.qdw-jr__pick div{padding:6px 8px;border-radius:6px;border:1px solid var(--qd-line);font:500 11.5px/1.3 var(--qd-font-mono);color:var(--qd-ink-2);transition:border-color .2s,background .2s,color .2s}
.qdw-jr__pick div.is-on{border-color:var(--qd-bt-line);background:var(--qd-bt-soft);color:var(--qd-ink)}
@container (max-width:900px){.qdw-jr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:520px){.qdw-jr__rail{grid-template-columns:repeat(2,minmax(0,1fr))} .qdw-jr__grid{grid-template-columns:minmax(0,1fr)} .qdw-jr__v:not(.is-cur){display:none}}

/* ---- (e) strategy-builder -------------------------------------------------- */
.qdw-sb{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}
.qdw-sb__h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font:600 12px/1.3 var(--qd-font-mono);color:var(--qd-ink-3)}
.qdw-sb__h b{color:var(--qd-ink);font-weight:600;font-size:14px;font-family:var(--qd-font-display)}
.qdw-sb__legs{display:flex;flex-direction:column;gap:6px}
.qdw-sb__leg{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:40px;padding:0 10px;border:1px solid var(--qd-line);border-radius:9px;background:var(--qd-glass);font:500 12.5px/1 var(--qd-font-mono);font-variant-numeric:tabular-nums;color:var(--qd-ink);transition:opacity .4s,transform .4s var(--qd-ease-out)}
.qdw-sb__leg[hidden]{display:none}
.qdw-sb__leg .k{color:var(--qd-ink-3);font-size:11px}
.qdw-sb__leg .p{color:var(--qd-ink-2);font-size:11.5px}
.qdw-sb__add{display:flex;align-items:center;justify-content:center;min-height:36px;border:1px dashed var(--qd-line-2);border-radius:9px;font:600 12px/1 var(--qd-font-body);color:var(--qd-ink-3)}
.qdw-sb__chart{border:1px solid var(--qd-line);border-radius:10px;background:var(--qd-glass);padding:8px 6px 2px}
.qdw-sb__tiles{margin-top:10px;--n:3}
@container (max-width:640px){.qdw-sb{grid-template-columns:minmax(0,1fr)} .qdw-sb__tiles{--n:3}}
@container (max-width:560px){.qdw-sb__tiles .qdw-tile--span{grid-column:1/-1}}

/* ---- (f) status-board ------------------------------------------------------- */
.qdw-st__panel{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 14px;min-height:64px;padding:12px 14px;border:1px solid var(--qd-line-2);border-radius:12px;background:var(--qd-surface-2);margin-bottom:12px}
.qdw-st__panel .qd-chip{height:30px;padding:0 13px;font-size:13px}
.qdw-st__fam{font:600 10px/1 var(--qd-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--qd-ink-3);margin-bottom:5px}
.qdw-st__txt{font:500 13.5px/1.45 var(--qd-font-body);color:var(--qd-ink-body)}
.qdw-st__txt b{color:var(--qd-ink);font-weight:600}
.qdw-st__grp{margin-top:10px}
.qdw-st__gh{font:600 10px/1 var(--qd-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--qd-ink-3);margin-bottom:8px}
.qdw-st__chips{display:flex;flex-wrap:wrap;gap:8px}
.qdw-st__chips .qd-chip{cursor:pointer;opacity:.6;transition:opacity .3s,transform .3s var(--qd-ease-out),box-shadow .3s;border-width:1px}
.qdw-st__chips .qd-chip:hover{opacity:1}
.qdw-st__chips .qd-chip.is-on{opacity:1;transform:scale(1.08);box-shadow:0 0 0 3px var(--c-soft),0 6px 18px -6px var(--c-line)}
.qdw-st__chips .qd-chip.is-seen{opacity:.9}
@container (max-width:460px){.qdw-st__panel{grid-template-columns:minmax(0,1fr)}}

/* ---- (g) market-clock ------------------------------------------------------- */
.qdw-mc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.qdw-mc__t{padding:12px;border:1px solid var(--qd-line);border-radius:12px;background:var(--qd-glass);min-width:0}
.qdw-mc__h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.qdw-mc__n{font:600 13px/1.2 var(--qd-font-display);color:var(--qd-ink)}
.qdw-mc__z{font:500 10.5px/1 var(--qd-font-mono);letter-spacing:.06em;color:var(--qd-ink-3);margin-top:3px}
.qdw-mc__badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font:700 10.5px/1 var(--qd-font-mono);letter-spacing:.08em;white-space:nowrap;border:1px solid var(--qd-muted-line);color:var(--qd-muted);background:var(--qd-muted-soft)}
.qdw-mc__badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.qdw-mc__badge.is-open{border-color:var(--qd-ok-line);color:var(--qd-ok);background:var(--qd-ok-soft)}
.qdw-mc__badge.is-open::before{animation:qd-dot-pulse 1.8s var(--qd-ease-out) infinite}
.qdw-mc__time{font:700 24px/1 var(--qd-font-mono);font-variant-numeric:tabular-nums;color:var(--qd-ink);letter-spacing:-.01em}
.qdw-mc__hours{font:500 11.5px/1.3 var(--qd-font-mono);color:var(--qd-ink-2);margin-top:6px}
.qdw-mc__cd{margin-top:10px;font:500 12px/1.35 var(--qd-font-body);color:var(--qd-ink-2);font-variant-numeric:tabular-nums}
.qdw-mc__cd b{color:var(--qd-ink);font-family:var(--qd-font-mono);font-weight:600}
.qdw-mc__t .qdw-bar{margin-top:8px;height:6px}
@container (max-width:640px){.qdw-mc{grid-template-columns:minmax(0,1fr)} .qdw-mc__time{font-size:22px}}

/* ---- (h) ai-chat ------------------------------------------------------------ */
.qdw-ai{display:flex;flex-direction:column;gap:10px;min-height:300px}
.qdw-ai__m{display:flex;gap:10px;align-items:flex-end;max-width:92%}
.qdw-ai__m[hidden]{display:none}
.qdw-ai__m--u{align-self:flex-end;flex-direction:row-reverse}
.qdw-ai__av{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;flex:none;font:700 11px/1 var(--qd-font-mono);background:var(--qd-surface-3);color:var(--qd-ink-2);border:1px solid var(--qd-line-2)}
.qdw-ai__m--a .qdw-ai__av{background:var(--qd-grad);color:var(--qd-on-grad);border-color:transparent}
.qdw-ai__b{padding:10px 13px;border-radius:14px;font:400 13.5px/1.5 var(--qd-font-body);color:var(--qd-ink-body);background:var(--qd-surface-2);border:1px solid var(--qd-line);min-width:0}
.qdw-ai__m--u .qdw-ai__b{background:var(--qd-bt-soft);border-color:var(--qd-bt-line);color:var(--qd-ink);border-bottom-right-radius:4px}
.qdw-ai__m--a{align-items:flex-start}
.qdw-ai__m--a .qdw-ai__b{border-bottom-left-radius:4px;border-top-left-radius:4px}
.qdw-ai__dots{display:inline-flex;gap:4px;padding:4px 0}
.qdw-ai__dots i{width:6px;height:6px;border-radius:50%;background:var(--qd-ink-3);animation:qdw-dots 1.2s infinite}
.qdw-ai__dots i:nth-child(2){animation-delay:.15s}.qdw-ai__dots i:nth-child(3){animation-delay:.3s}
.qdw-ai__tool{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid var(--qd-ld-line);background:var(--qd-ld-soft)}
.qdw-ai__tool[hidden]{display:none}
.qdw-ai__tool .h{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 11.5px/1 var(--qd-font-mono);color:var(--qd-ld-ink)}
.qdw-ai__tool .s{font:500 11.5px/1.3 var(--qd-font-mono);color:var(--qd-ink-2)}
.qdw-ai__card{margin-top:10px;padding:12px;border-radius:12px;border:1px solid var(--qd-line-2);background:var(--qd-surface-1)}
.qdw-ai__card[hidden]{display:none}
.qdw-ai__card .t{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;font:600 13px/1.3 var(--qd-font-display);color:var(--qd-ink);margin-bottom:10px}
.qdw-ai__card .qdw-tiles{--n:4;gap:6px}
.qdw-ai__card .qdw-tile{padding:8px 10px}
.qdw-ai__card .qdw-tile__v{font-size:14px;white-space:normal;overflow:visible}
@container (max-width:760px){.qdw-ai__card .qdw-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.qdw-ai__card .qdw-svg{margin-top:10px}
.qdw-ai__in{display:flex;align-items:center;gap:10px;margin-top:auto;padding:8px 10px 8px 14px;border:1px solid var(--qd-line-2);border-radius:12px;background:var(--qd-surface-1);font:400 13.5px/1.4 var(--qd-font-body);color:var(--qd-ink);min-height:44px}
.qdw-ai__in .ph{color:var(--qd-ink-3)}
.qdw-ai__in .q{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qdw-ai__send{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--qd-grad);color:var(--qd-on-grad);flex:none;transition:transform .15s}
.qdw-ai__send svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.qdw-ai__send.is-press{transform:scale(.9)}

/* ---- (i) risk-guards -------------------------------------------------------- */
.qdw-rg{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}
.qdw-rg__chart{border:1px solid var(--qd-line);border-radius:10px;background:var(--qd-glass);padding:8px 6px 2px}
.qdw-rg__sc{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-bottom:8px;font:600 12px/1.3 var(--qd-font-mono);color:var(--qd-ink-2)}
.qdw-rg__sc b{color:var(--qd-ink);font-weight:600}
.qdw-rg__g{display:flex;flex-direction:column;gap:8px}
.qdw-rg__gauge{padding:10px 12px;border:1px solid var(--qd-line);border-radius:10px;background:var(--qd-glass)}
.qdw-rg__gauge .qdw-tile__k{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;white-space:normal;overflow:visible}
.qdw-rg__gauge .qdw-tile__k b{color:var(--qd-ink);font-weight:600;letter-spacing:0;text-transform:none;font-size:11px}
.qdw-rg__gauge .qdw-bar{margin-top:2px}
.qdw-rg__gauge .qdw-tile__s{font-family:var(--qd-font-mono);font-variant-numeric:tabular-nums}
.qdw-rg__gauge.is-hit{border-color:var(--qd-err-line);background:var(--qd-err-soft)}
.qdw-rg__gauge.is-lock{border-color:var(--qd-cool-line);background:var(--qd-cool-soft)}
.qdw-rg__trail{position:relative}
.qdw-rg__trail .qdw-bar{overflow:visible}
.qdw-rg__trail .m{position:absolute;top:-4px;bottom:-4px;left:var(--p,0%);width:2px;margin-left:-1px;border-radius:1px}
.qdw-rg__trail .m--start{background:var(--qd-ink-3)}
.qdw-rg__trail .m--floor{background:var(--qd-cool);transition:left .3s linear}
.qdw-rg__ev{margin-top:10px}
@container (max-width:640px){.qdw-rg{grid-template-columns:minmax(0,1fr)}}

/* ---- (j) phone-frame + laptop-frame ---------------------------------------- */
.qdw-phone{position:relative;width:100%;max-width:340px;margin-inline:auto;padding:10px;border-radius:40px;border:1px solid var(--qd-line-2);background:var(--qd-surface-2);box-shadow:var(--qd-shadow-3)}
.qdw-phone::before{content:"";position:absolute;left:50%;top:18px;transform:translateX(-50%);width:84px;height:22px;border-radius:12px;background:var(--qd-bg);z-index:2}
.qdw-phone::after{content:"";position:absolute;right:-3px;top:110px;width:3px;height:56px;border-radius:0 2px 2px 0;background:var(--qd-line-2)}
.qdw-phone__screen{position:relative;overflow:hidden;border-radius:30px;background:var(--qd-bg);aspect-ratio:var(--ar,9/19.5);line-height:0}
/* a nested widget (an "app") inside the phone: no fixed aspect, room for the notch, no inner chrome */
.qdw-phone__screen--app{aspect-ratio:auto;padding-top:40px;background:var(--qd-surface-1);line-height:1.45}
.qdw-phone__screen--app > .qdw{border:0;border-radius:0;box-shadow:none;background:transparent;contain:none}
.qdw-phone__screen--app > .qdw > .qdw__bar{padding-left:12px}
.qdw-laptop{position:relative;width:100%;max-width:960px;margin-inline:auto}
.qdw-laptop__screen{position:relative;overflow:hidden;border-radius:14px 14px 4px 4px;border:1px solid var(--qd-line-2);border-bottom:0;background:var(--qd-bg);padding:12px 12px 0;aspect-ratio:var(--ar,16/10.2);line-height:0;box-shadow:var(--qd-shadow-3)}
.qdw-laptop__screen::before{content:"";position:absolute;left:50%;top:4px;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--qd-line-2)}
.qdw-laptop__screen > *{border-radius:6px 6px 0 0}
.qdw-laptop__base{height:14px;border-radius:0 0 12px 12px;border:1px solid var(--qd-line-2);border-top:0;background:linear-gradient(180deg,var(--qd-surface-3),var(--qd-surface-2))}
.qdw-laptop__base::before{content:"";display:block;width:14%;height:4px;margin:0 auto;border-radius:0 0 4px 4px;background:var(--qd-line-2)}
.qdw-phone__screen img,.qdw-phone__screen video,.qdw-laptop__screen img,.qdw-laptop__screen video{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.qdw-clip{position:relative}
.qdw-clip__play{position:absolute;inset:0;z-index:3;display:grid;place-items:center;border:0;padding:0;background:rgba(3,6,12,.28);color:#fff;cursor:pointer}
.qdw-clip__play span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:rgba(7,10,18,.78);border:1px solid rgba(255,255,255,.3)}
.qdw-clip__play svg{width:24px;height:24px;fill:#fff;margin-left:4px}
.qdw-clip__play[hidden]{display:none}
.qdw--bare{border:0;background:transparent;box-shadow:none;overflow:visible;contain:none}
.qdw--bare .qdw__body{padding:0}
.qdw--bare .qdw__cap{margin-top:10px;border-top:0;padding:0 4px;text-align:center}

/* ---- (k) telegram-alerts ---------------------------------------------------- */
.qdw-tg{display:flex;flex-direction:column;gap:8px;min-height:320px;padding:4px 2px}
.qdw-tg__h{display:flex;align-items:center;gap:10px;padding:0 4px 10px;border-bottom:1px solid var(--qd-line);margin-bottom:4px}
.qdw-tg__av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--qd-grad);color:var(--qd-on-grad);font:800 13px/1 var(--qd-font-display);flex:none}
.qdw-tg__n{font:600 13.5px/1.2 var(--qd-font-body);color:var(--qd-ink)}
.qdw-tg__s{font:500 11px/1.3 var(--qd-font-mono);color:var(--qd-ink-3);margin-top:2px}
.qdw-tg__m{align-self:flex-start;max-width:min(100%,420px);padding:9px 12px 7px;border-radius:14px 14px 14px 4px;background:var(--qd-surface-2);border:1px solid var(--qd-line);font:400 12.5px/1.5 var(--qd-font-mono);color:var(--qd-ink-body);white-space:pre-line;font-variant-numeric:tabular-nums}
.qdw-tg__m[hidden]{display:none}
.qdw-tg__m b{color:var(--qd-ink);font-weight:600}
.qdw-tg__m .ok{color:var(--qd-ok)}.qdw-tg__m .err{color:var(--qd-err)}.qdw-tg__m .warn{color:var(--qd-warn)}
.qdw-tg__t{display:block;text-align:right;margin-top:4px;font:500 10.5px/1 var(--qd-font-mono);color:var(--qd-ink-3)}
.qdw-tg__typing{align-self:flex-start;padding:10px 14px;border-radius:14px 14px 14px 4px;background:var(--qd-surface-2);border:1px solid var(--qd-line)}
.qdw-tg__typing[hidden]{display:none}

/* ---- reduced motion + forced colours ------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .qdw:not(.is-playing) *{animation:none!important;transition:none!important}
}
@media (forced-colors:active){
  .qdw,.qdw-tile,.qdw-field,.qdw-jr__v,.qdw-mc__t{border:1px solid CanvasText}
  .qdw-bar i,.qdw-range i{background:CanvasText}
}

/* NO-DEVICE-CHROME (2026-10-20): owner — no phone / device frames on the public site. Both frame widgets render as a plain app window. */
.qdw-phone{max-width:420px;padding:0;border-radius:16px;overflow:hidden;background:var(--qd-surface-1)}
.qdw-phone::before,.qdw-phone::after,.qdw-laptop__screen::before{display:none}
.qdw-phone__screen{border-radius:15px}
.qdw-phone__screen--app{padding-top:0}
.qdw-laptop__screen{border-radius:14px;border-bottom:1px solid var(--qd-line-2);padding:0}
.qdw-laptop__screen > *{border-radius:0}
.qdw-laptop__base{display:none}
/* MIN-11 (2026-10-20): every widget label at least 11 px */
.qdw-dno,.qdw-field__k,.qdw-jr__h b,.qdw-jr__h span,.qdw thead th,.qdw-side,.qdw-mc__z,.qdw-mc__badge,.qdw-bar__l span,.qdw__tag,.qdw-tile__k,.qdw .qd-chip--sm{font-size:11px}
