:root{--twsi:#2547FF;--ink:#101828;--muted:#667085;--line:#e4e9f2;--soft:#f8faff;--green:#08a66c;--red:#ff4148;--purple:#9b5cff;--orange:#f2ad00}

/* Full-width breakout: the plugin now ignores narrow WordPress article containers. */
.twsi-gscb{
  font-family:Inter,"Helvetica Neue",Arial,system-ui,-apple-system,sans-serif;
  color:var(--ink);
  display:grid;
  grid-template-columns:260px minmax(0,1fr) 270px;
  background:#fff;
  border:1px solid #e8ecf4;
  min-height:820px;
  width:100vw!important;
  max-width:none!important;
  position:relative;
  left:50%;
  margin-left:-50vw!important;
  margin-right:0!important;
  box-sizing:border-box;
  overflow:hidden;
  font-size:12px;
  line-height:1.35;
}
.twsi-gscb *{box-sizing:border-box}
.twsi-gscb button,.twsi-gscb input,.twsi-gscb select{font:inherit}
.twsi-panel{background:#fbfcff;min-width:0}.twsi-left{border-right:1px solid var(--line);padding:15px 12px}.twsi-right{border-left:1px solid var(--line);padding:0;background:#fff;min-width:0}.twsi-panel section{padding:15px 9px;border-bottom:1px solid var(--line)}
.twsi-panel h4,.twsi-export h3{font-size:12px;line-height:1.15;letter-spacing:.01em;margin:0 0 12px;font-weight:800;color:#15213b}.twsi-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.twsi-panel-head strong{font-size:12px;font-weight:800}.twsi-link-btn{border:0;background:transparent;color:#536079;font-size:10px;cursor:pointer}.twsi-link-btn:hover{color:var(--twsi)}
.twsi-segment,.twsi-periods{display:flex;flex-wrap:wrap;gap:6px}.twsi-segment button,.twsi-periods button,.twsi-quick-periods button{border:1px solid #dce3ee;background:#fff;color:#26324d;border-radius:5px;padding:7px 9px;font-size:10px;font-weight:600;cursor:pointer;transition:.15s ease}.twsi-segment button:hover,.twsi-periods button:hover{border-color:#b9c7e8}.twsi-segment button.active,.twsi-periods button.active,.twsi-quick-periods button.active{background:var(--twsi);border-color:var(--twsi);color:#fff;box-shadow:0 2px 5px rgba(37,71,255,.16)}
.twsi-check{display:flex;align-items:center;gap:7px;font-size:11px;margin:9px 0;color:#26324e;min-height:16px}.twsi-check input{accent-color:var(--twsi);width:13px;height:13px;flex:0 0 auto}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.dot.purple{background:var(--purple)}.dot.orange{background:var(--orange)}.dot.blue{background:var(--twsi)}
.twsi-field-row,.twsi-color-row{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:11px;margin-top:9px}.twsi-field-row select{border:1px solid #dce3ee;border-radius:5px;background:#fff;padding:6px 8px;color:#27324f;min-width:84px}.twsi-color-row input[type=color]{width:26px;height:23px;border:0;background:transparent;padding:0}.twsi-annotation-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.twsi-annotation-grid button,.twsi-template-btn{border:1px solid #dce3ee;background:#fff;border-radius:5px;padding:8px 6px;font-size:9.5px;color:#33405d;cursor:pointer}.twsi-annotation-grid button:hover,.twsi-template-btn:hover{border-color:#b8c8ee;color:var(--twsi)}.twsi-template-btn{width:100%;margin-top:15px;color:var(--twsi);font-weight:600}

.twsi-main{padding:0 12px 14px;min-width:0;background:#fff}.twsi-search-row{min-height:55px;display:grid;grid-template-columns:minmax(320px,1fr) 170px;gap:11px;align-items:center;border-bottom:1px solid var(--line)}.twsi-search-wrap{position:relative;min-width:0}.twsi-search-wrap input{width:100%;border:1px solid #dce3ee;border-radius:7px;padding:11px 38px 11px 15px;font-size:12px;outline:none;color:#24314e}.twsi-search-wrap input:focus{border-color:#9fb0ff;box-shadow:0 0 0 3px rgba(37,71,255,.07)}.search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--twsi)}.twsi-exchange,.twsi-watch{border:1px solid #dce3ee;border-radius:7px;background:#fff;padding:10px 11px;font-size:10.5px;color:#283450;min-width:0}.twsi-watch{cursor:pointer;font-weight:600}.twsi-search-results{position:absolute;top:46px;left:0;right:0;background:#fff;border:1px solid #dce3ee;border-radius:7px;box-shadow:0 12px 30px rgba(16,24,40,.13);z-index:40;display:none;max-height:310px;overflow:auto}.twsi-search-results.show{display:block}.twsi-search-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 13px;border-bottom:1px solid #eff2f7;cursor:pointer}.twsi-search-item:hover{background:#f7f9ff}.twsi-search-item b{font-size:11px}.twsi-search-item small{display:block;font-size:9px;color:#7a849d;margin-top:3px}.twsi-search-item span{font-size:9px;color:#69758e}
.twsi-quote-head{min-height:82px;display:grid;grid-template-columns:minmax(280px,1fr) auto 120px;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:12px 9px}.twsi-company{display:flex;align-items:center;gap:12px;min-width:0}.twsi-logo{width:44px;height:44px;border-radius:11px;background:#050505;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;flex:0 0 auto}.twsi-company-name{font-size:18px;font-weight:800;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twsi-badges{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.twsi-badges span{background:#f3f5fa;border:1px solid #e3e8f1;padding:4px 8px;border-radius:13px;font-size:9px;font-weight:600;color:#45516d}.twsi-badges span:first-child{background:#edf1ff;color:var(--twsi);border-color:#dce3ff}.twsi-price{text-align:right;font-size:23px;font-weight:800;white-space:nowrap;color:#101828}.twsi-change{font-size:14px;color:var(--green);font-weight:700}.twsi-change.neg{color:var(--red)}.twsi-asof{text-align:right;color:#77839c;font-size:9.5px;margin-top:4px}.twsi-market-status{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--green);font-size:10px;font-weight:600}.twsi-market-status i{width:7px;height:7px;border-radius:50%;background:var(--green)}
.twsi-stat-strip{display:grid;grid-template-columns:repeat(8,minmax(72px,1fr));gap:0;border-bottom:1px solid var(--line);min-height:62px;overflow:hidden}.twsi-stat{padding:11px 9px;border-right:1px solid #f0f2f7;min-width:0}.twsi-stat:last-child{border-right:0}.twsi-stat label{display:block;font-size:9px;color:#68738b;margin-bottom:5px;white-space:nowrap}.twsi-stat b{font-size:11.5px;color:#101828;white-space:nowrap}
.twsi-chart-toolbar{min-height:44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:8px}.twsi-chart-toolbar button{border:0;background:transparent;color:#32405f;font-size:10.5px;padding:7px 8px;cursor:pointer;border-radius:4px;white-space:nowrap}.twsi-chart-toolbar button:hover{background:#f5f7fb;color:var(--twsi)}.twsi-chart-toolbar>div{display:flex;align-items:center;gap:2px;min-width:0}.twsi-switch-label{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;white-space:nowrap}.twsi-switch-label input{display:none}.twsi-switch{width:27px;height:15px;background:#cfd6e4;border-radius:10px;position:relative;display:inline-block;cursor:pointer}.twsi-switch:before{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:#fff;left:2px;top:2px;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.25)}.twsi-switch-label input:checked+.twsi-switch{background:var(--twsi)}.twsi-switch-label input:checked+.twsi-switch:before{left:14px}
.twsi-chart-title-row{display:flex;align-items:center;min-height:35px;padding:6px 9px}.twsi-chart-title-row strong{font-size:11px;color:#1b2742}.twsi-ohlc{font-size:9.5px;color:#5b6681;margin-left:13px}.twsi-chart{height:clamp(390px,47vh,535px);min-width:0;width:100%}.twsi-chart .modebar{opacity:.25!important;transition:.15s}.twsi-chart:hover .modebar{opacity:1!important}.twsi-quick-periods{min-height:39px;display:flex;gap:4px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-x:auto}.twsi-quick-periods .grow{flex:1}.twsi-quick-periods button{border:0;padding:6px 8px;background:#fff;box-shadow:none}.twsi-quick-periods button.active{background:transparent;color:var(--twsi);border-bottom:2px solid var(--twsi);border-radius:0}

.twsi-export{padding:15px 9px}.twsi-export h3{font-size:13px}.twsi-export-grid{display:grid;grid-template-columns:1.05fr 1.45fr .8fr 1.05fr;gap:15px}.twsi-export-grid h5{font-size:9px;margin:0 0 8px;font-weight:800}.twsi-export-options{display:flex;gap:7px}.twsi-export-options button{flex:1;min-height:66px;border:1px solid #dce3ee;background:#fff;border-radius:6px;font-size:9px;color:#24314e;cursor:pointer}.twsi-export-options button.active{border-color:var(--twsi);box-shadow:inset 0 0 0 1px var(--twsi);color:var(--twsi)}.twsi-export-options button small{display:block;margin-top:7px;font-size:7.5px;color:#75809a;line-height:1.35}.twsi-export-options.compact button{min-width:62px}.twsi-download-wrap{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:7px}.twsi-download{border:0;background:var(--twsi);color:#fff;padding:12px;border-radius:5px;font-size:11px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(37,71,255,.18)}.twsi-download:hover{filter:brightness(.96)}.twsi-download-wrap small{font-size:8px;color:#8791a8}.twsi-download-wrap em{font-size:8px;color:var(--green);font-style:normal}.twsi-bottom-notes{display:grid;grid-template-columns:1fr 1fr 1fr 135px;gap:11px;background:#fffaf0;border:1px solid #fff0ca;border-radius:6px;padding:11px 13px;align-items:center}.twsi-bottom-notes span{font-size:9.5px}.twsi-bottom-notes small{display:block;color:#7d879b;margin-left:15px;margin-top:3px;font-size:7.5px}.twsi-bottom-notes button{background:#f4b900;border:0;border-radius:5px;padding:9px;font-size:9px;font-weight:700;cursor:pointer}

.twsi-right section{padding:15px 11px}.twsi-right .right-top{border-bottom:1px solid var(--line)}.twsi-market-table{overflow:hidden}.twsi-market-table .row{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px solid #edf0f5;font-size:9.5px}.twsi-market-table .row span:first-child{color:#34405a}.twsi-market-table .row span:last-child{font-weight:700;text-align:right;color:#101828;white-space:nowrap;max-width:52%;overflow:hidden;text-overflow:ellipsis}.twsi-compare-list{margin-top:8px}.twsi-compare-item{display:grid;grid-template-columns:40px 1fr 22px 16px;gap:6px;align-items:center;padding:8px 3px;border-bottom:1px solid #edf0f5;font-size:9.5px}.twsi-compare-item b{color:#263456}.twsi-compare-item span{color:#66738d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twsi-compare-item button{border:0;background:transparent;color:#66738d;cursor:pointer}.twsi-add-security{width:100%;background:#fff;border:1px solid #dce3ee;color:var(--twsi);font-size:10px;border-radius:5px;padding:9px;margin:8px 0;cursor:pointer;font-weight:600}.twsi-mini-chart{height:170px}.twsi-toast{position:fixed;right:20px;bottom:20px;background:#111a30;color:#fff;padding:11px 15px;border-radius:6px;z-index:99999;font-size:12px;box-shadow:0 8px 24px rgba(0,0,0,.2)}

/* Real chart fullscreen, not just a small chart floating on a dark browser canvas. */
.twsi-chart:fullscreen{height:100vh!important;width:100vw!important;background:#fff;padding:20px}

/* Preserve a useful desktop layout before collapsing panels. */
@media(max-width:1280px){.twsi-gscb{grid-template-columns:238px minmax(0,1fr) 245px}.twsi-main{padding-left:9px;padding-right:9px}.twsi-stat label{font-size:8.5px}.twsi-stat b{font-size:10.5px}.twsi-search-row{grid-template-columns:minmax(260px,1fr) 130px 125px}.twsi-company-name{font-size:16px}.twsi-price{font-size:20px}}
@media(max-width:1080px){.twsi-gscb{grid-template-columns:230px minmax(0,1fr)}.twsi-right{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.twsi-stat-strip{grid-template-columns:repeat(4,1fr)}.twsi-export-grid{grid-template-columns:1fr 1fr}.twsi-bottom-notes{grid-template-columns:1fr 1fr}.twsi-chart{height:430px}}
@media(max-width:820px){.twsi-gscb{display:block;left:0;margin-left:0!important;width:100%!important}.twsi-left,.twsi-right{border:0}.twsi-left{display:grid;grid-template-columns:1fr 1fr}.twsi-left>.twsi-panel-head,.twsi-left>.twsi-template-btn{grid-column:1/-1}.twsi-main{padding:0 8px}.twsi-search-row{grid-template-columns:1fr;height:auto;padding:9px 0}.twsi-exchange,.twsi-watch{display:none}.twsi-quote-head{grid-template-columns:1fr auto}.twsi-market-status{grid-column:1/-1;justify-content:flex-start}.twsi-stat-strip{grid-template-columns:repeat(2,1fr)}.twsi-chart-toolbar{overflow-x:auto}.twsi-chart{height:390px}.twsi-export-grid{display:block}.twsi-export-grid>div{margin-bottom:15px}.twsi-export-options{flex-wrap:wrap}.twsi-bottom-notes{display:block}.twsi-bottom-notes>*{display:block;margin:8px 0}.twsi-right{display:block}.twsi-price{font-size:19px}.twsi-company-name{font-size:15px}}

/* v0.3 compare/live refinements */
.twsi-gscb .twsi-chart-toolbar .twsi-compare-toolbar{font-weight:700;color:#2547FF;border-color:#cfd9ff;background:#f7f9ff;padding-left:14px;padding-right:14px}
.twsi-gscb .twsi-search-item.twsi-direct{background:#f7f9ff;border-bottom:1px solid #dce4ff}
.twsi-gscb .twsi-search-item.twsi-direct small{display:block;max-width:620px;white-space:normal;line-height:1.35}
.twsi-gscb .twsi-market-status{min-width:100px}

/* v0.4 market-statistics layout */
.twsi-market-stats-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.twsi-market-stats-head h4{margin:0!important}.twsi-market-stats-head>span{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:#0a9b68}.twsi-market-stats-head>span i{width:7px;height:7px;border-radius:50%;background:#00a972;box-shadow:0 0 0 4px rgba(0,169,114,.09)}
.twsi-market-table .row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 0!important;border-bottom:1px solid #edf0f5}.twsi-market-table .row span{font-size:10px;color:#667085}.twsi-market-table .row strong{font-size:10.5px;color:#101828;font-weight:700;text-align:right;white-space:nowrap}.twsi-market-table .row.primary{padding:12px 10px!important;margin:0 0 2px;background:#07111e;border-bottom:0;border-radius:3px}.twsi-market-table .row.primary span,.twsi-market-table .row.primary strong{color:#fff}.twsi-market-table .row.primary strong{font-size:14px}.twsi-market-table .row.positive strong{color:#00a972}.twsi-market-table .row.negative strong{color:#ff4d4f}
.twsi-search-row{padding-right:0}.twsi-exchange{width:100%}

/* v0.4.1 compact desktop controls + stronger export section
   Keeps all five left-panel control groups visible sooner so ANNOTATIONS
   lines up with the Export Chart & Data area on normal full-screen desktops. */
@media (min-width:1081px){
  .twsi-left{padding:10px 10px 8px}
  .twsi-left>.twsi-panel-head{min-height:30px;padding:0 5px 4px}
  .twsi-left .twsi-panel-head strong{font-size:12px}
  .twsi-left section{padding:10px 7px}
  .twsi-left section h4{margin-bottom:8px;font-size:11.5px;line-height:1.1}
  .twsi-left .twsi-segment,.twsi-left .twsi-periods{gap:5px}
  .twsi-left .twsi-segment button,.twsi-left .twsi-periods button{padding:6px 8px;font-size:9.5px}
  .twsi-left .twsi-check{margin:6px 0;min-height:15px;font-size:10.5px;gap:6px}
  .twsi-left .twsi-check input{width:12px;height:12px}
  .twsi-left .twsi-field-row,.twsi-left .twsi-color-row{margin-top:6px;font-size:10.5px}
  .twsi-left .twsi-field-row select{padding:5px 7px;min-width:80px}
  .twsi-left .twsi-color-row input[type=color]{width:25px;height:20px}
  .twsi-left .twsi-annotation-grid{gap:5px}
  .twsi-left .twsi-annotation-grid button{padding:6px 5px;font-size:9px;min-height:29px}
  .twsi-left .twsi-template-btn{margin-top:8px;padding:7px 6px;font-size:9px}

  /* Make the export block visually stronger without wasting vertical space. */
  .twsi-export{padding:18px 12px 17px}
  .twsi-export h3{font-size:20px!important;line-height:1.1;margin:0 0 18px!important;letter-spacing:-.01em}
  .twsi-export-grid{gap:17px;align-items:start}
  .twsi-export-grid h5{font-size:10.5px;margin:0 0 9px;letter-spacing:.01em}
  .twsi-export-options{gap:8px}
  .twsi-export-options button{min-height:72px;font-size:10.5px;font-weight:650;padding:8px 6px}
  .twsi-export-options button small{font-size:8.3px;margin-top:6px;line-height:1.3}
  .twsi-export-options.compact button{min-width:64px}
  .twsi-export-grid .twsi-check{font-size:10.5px;margin:8px 0}
  .twsi-download-wrap{gap:8px}
  .twsi-download{padding:14px 14px;font-size:14px;font-weight:800;border-radius:6px}
  .twsi-download-wrap small{font-size:9px}
  .twsi-download-wrap em{font-size:9px;font-weight:600}
  .twsi-bottom-notes{padding:12px 14px}
  .twsi-bottom-notes span{font-size:10px}
  .twsi-bottom-notes small{font-size:8px}
  .twsi-bottom-notes button{font-size:10px;padding:10px}
}

/* v0.4.2 — reference-matched vertical composition
   Goal: all 5 left control groups fit beside the chart + export block,
   so ANNOTATIONS starts around the Export Chart & Data band and Save as
   Template remains visible without a separate extra scroll. */
@media (min-width:1081px){
  /* Bring the export band upward, closer to the supplied full-screen reference. */
  .twsi-chart{height:clamp(330px,39vh,420px)!important}
  .twsi-chart-title-row{min-height:31px;padding:4px 9px}
  .twsi-chart-toolbar{min-height:39px}
  .twsi-quick-periods{min-height:34px}
  .twsi-quote-head{min-height:72px;padding-top:8px;padding-bottom:8px}
  .twsi-search-row{min-height:49px}

  /* Left panel: compact vertically, but keep readable control sizes. */
  .twsi-left{padding:8px 10px 6px!important}
  .twsi-left>.twsi-panel-head{min-height:27px!important;padding:0 5px 3px!important}
  .twsi-left section{padding:7px 7px!important}
  .twsi-left section h4{margin:0 0 6px!important;font-size:11px!important;line-height:1.06!important}
  .twsi-left .twsi-segment,.twsi-left .twsi-periods{gap:4px!important}
  .twsi-left .twsi-segment button,.twsi-left .twsi-periods button{padding:5px 7px!important;font-size:9px!important;line-height:1.15!important}
  .twsi-left .twsi-check{margin:4px 0!important;min-height:13px!important;font-size:9.8px!important;gap:5px!important;line-height:1.15!important}
  .twsi-left .twsi-check input{width:11px!important;height:11px!important}
  .twsi-left .twsi-field-row,.twsi-left .twsi-color-row{margin-top:4px!important;font-size:9.8px!important;min-height:22px}
  .twsi-left .twsi-field-row select{padding:4px 6px!important;min-width:76px!important;font-size:9.5px!important}
  .twsi-left .twsi-color-row input[type=color]{width:24px!important;height:18px!important}
  .twsi-left .twsi-annotation-grid{gap:4px!important;grid-template-columns:1fr 1fr 1fr!important}
  .twsi-left .twsi-annotation-grid button{padding:5px 4px!important;font-size:8.2px!important;min-height:25px!important;white-space:nowrap}
  .twsi-left .twsi-template-btn{margin-top:6px!important;padding:6px 6px!important;font-size:8.8px!important;min-height:28px}

  /* Export should be a strong, shallow horizontal band just like the reference. */
  .twsi-export{padding:11px 9px 10px!important}
  .twsi-export h3{font-size:13px!important;line-height:1.1!important;margin:0 0 10px!important;letter-spacing:0!important}
  .twsi-export-grid{gap:11px!important;align-items:start!important}
  .twsi-export-grid h5{font-size:8.5px!important;margin:0 0 6px!important}
  .twsi-export-options{gap:5px!important}
  .twsi-export-options button{min-height:60px!important;font-size:9px!important;padding:6px 4px!important}
  .twsi-export-options button small{font-size:7px!important;margin-top:4px!important;line-height:1.22!important}
  .twsi-export-options.compact button{min-width:56px!important}
  .twsi-export-grid .twsi-check{font-size:9px!important;margin:5px 0!important}
  .twsi-download{padding:10px 11px!important;font-size:11.5px!important}
  .twsi-download-wrap{gap:5px!important}
  .twsi-download-wrap small,.twsi-download-wrap em{font-size:7.5px!important}
  .twsi-bottom-notes{padding:8px 12px!important;min-height:51px}
  .twsi-bottom-notes span{font-size:8.8px!important}
  .twsi-bottom-notes small{font-size:7px!important;margin-top:2px!important}
  .twsi-bottom-notes button{font-size:8.8px!important;padding:8px!important}
}

/* Very common 1366–1600px laptop/full-screen viewport: squeeze another few
   pixels vertically so the complete left control stack stays in-frame. */
@media (min-width:1081px) and (max-height:820px){
  .twsi-chart{height:335px!important}
  .twsi-left section{padding-top:6px!important;padding-bottom:6px!important}
  .twsi-left .twsi-check{margin:3px 0!important}
  .twsi-left .twsi-field-row,.twsi-left .twsi-color-row{margin-top:3px!important}
  .twsi-export{padding-top:9px!important;padding-bottom:8px!important}
  .twsi-bottom-notes{padding-top:7px!important;padding-bottom:7px!important}
}

/* v0.4.3 — right rail aligned to the final Request Feature strip.
   On desktop the right rail now stretches to exactly the same grid height as
   the main column, while the comparison block consumes the remaining space.
   This removes the dead area / extra page extension under the mini chart. */
@media (min-width:1081px){
  .twsi-gscb{
    align-items:stretch!important;
    min-height:0!important;
  }

  .twsi-right{
    height:100%!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  .twsi-right .right-top{
    flex:0 0 auto!important;
  }

  .twsi-right>section:last-child{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    padding-bottom:8px!important;
    border-bottom:0!important;
  }

  .twsi-right .twsi-compare-list{
    flex:0 0 auto!important;
  }

  .twsi-right .twsi-add-security{
    flex:0 0 auto!important;
  }

  .twsi-right .twsi-mini-chart{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:175px!important;
    width:100%!important;
  }

  /* Keep the main column compact so the Request Feature strip is the visual
     bottom edge of the complete builder at normal full-screen desktop sizes. */
  .twsi-main{
    padding-bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .twsi-main>.twsi-bottom-notes{
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

@media (min-width:1081px) and (max-height:820px){
  .twsi-right section{padding-top:10px!important;padding-bottom:10px!important}
  .twsi-market-table .row{padding:6px 0!important}
  .twsi-right .twsi-compare-item{padding:5px 3px!important}
  .twsi-right .twsi-add-security{margin:5px 0!important;padding:7px!important}
  .twsi-right .twsi-mini-chart{min-height:135px!important}
}
\n\n/* v0.4.4 — export section hierarchy requested by user.\n   Row 1: three export configuration groups across the full width.\n   Row 2: centred Download Now action.\n   Row 3: existing yellow Request Feature / information strip. */\n@media (min-width:1081px){\n  .twsi-export{\n    padding:11px 12px 10px!important;\n  }\n  .twsi-export-grid{\n    display:grid!important;\n    grid-template-columns:1.05fr 1.6fr .9fr!important;\n    gap:18px!important;\n    width:100%!important;\n    align-items:start!important;\n  }\n  .twsi-export-grid>div{\n    min-width:0!important;\n  }\n  .twsi-export>.twsi-download-wrap{\n    width:min(440px,42%)!important;\n    margin:12px auto 2px!important;\n    display:flex!important;\n    flex-direction:column!important;\n    align-items:stretch!important;\n    justify-content:center!important;\n    text-align:center!important;\n    gap:4px!important;\n  }\n  .twsi-export>.twsi-download-wrap .twsi-download{\n    width:100%!important;\n    min-height:42px!important;\n    padding:11px 18px!important;\n    font-size:13px!important;\n    font-weight:800!important;\n  }\n  .twsi-export>.twsi-download-wrap small{font-size:7.8px!important}\n  .twsi-export>.twsi-download-wrap em{font-size:7.8px!important;font-weight:650!important}\n  .twsi-bottom-notes{\n    margin-top:0!important;\n  }\n}\n\n@media (min-width:1081px) and (max-height:820px){\n  .twsi-export>.twsi-download-wrap{margin-top:8px!important}\n  .twsi-export>.twsi-download-wrap .twsi-download{min-height:36px!important;padding:8px 16px!important}\n}\n

/* v0.4.5 — final export layout refinement.
   1) The three configuration steps span the entire export width as three equal zones.
   2) Download button returns to the original compact width and stays centred.
   3) Yellow feature strip remains the final full-width row. */
@media (min-width:1081px){
  .twsi-export{
    padding:12px 14px 12px!important;
  }

  .twsi-export-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    column-gap:28px!important;
    row-gap:0!important;
    width:100%!important;
    max-width:none!important;
    align-items:start!important;
  }

  .twsi-export-grid>div{
    width:100%!important;
    min-width:0!important;
  }

  /* Let each step use all available width inside its third. */
  .twsi-export-options{
    width:100%!important;
    display:flex!important;
    gap:8px!important;
  }
  .twsi-export-options button{
    flex:1 1 0!important;
    min-width:0!important;
  }
  .twsi-export-options.compact{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .twsi-export-options.compact button{
    width:100%!important;
    min-width:0!important;
  }

  /* Step 3 fills its own third rather than being visually squeezed. */
  .twsi-export-grid>div:nth-child(3){
    padding-left:4px!important;
  }
  .twsi-export-grid>div:nth-child(3) .twsi-check{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    font-size:10px!important;
    margin:7px 0!important;
  }

  /* Restore compact Download Now button and centre it. */
  .twsi-export>.twsi-download-wrap{
    width:auto!important;
    max-width:none!important;
    margin:14px auto 3px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:5px!important;
  }
  .twsi-export>.twsi-download-wrap .twsi-download{
    width:285px!important;
    max-width:90%!important;
    min-height:42px!important;
    padding:11px 20px!important;
    font-size:13px!important;
    line-height:1.15!important;
    font-weight:700!important;
    border-radius:6px!important;
  }
  .twsi-export>.twsi-download-wrap small{
    font-size:8px!important;
  }
  .twsi-export>.twsi-download-wrap em{
    font-size:8px!important;
    font-weight:650!important;
  }

  .twsi-bottom-notes{
    width:100%!important;
    margin-top:0!important;
  }
}

@media (min-width:1081px) and (max-height:820px){
  .twsi-export-grid{column-gap:18px!important}
  .twsi-export>.twsi-download-wrap{margin-top:9px!important}
  .twsi-export>.twsi-download-wrap .twsi-download{
    width:265px!important;
    min-height:36px!important;
    padding:8px 18px!important;
  }
}

/* ================================================================
   v0.4.7 — FINAL EXPORT COMPOSITION
   Exact requested hierarchy:
   1) Three configuration steps stretch across the complete row.
   2) Compact Download Now button is centered below them.
   3) Yellow information / Request Feature strip remains last.
   ================================================================ */
@media (min-width:1081px){
  .twsi-main > .twsi-export{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    padding:14px 14px 12px!important;
  }

  .twsi-main > .twsi-export > h3{
    margin:0 0 14px!important;
    font-size:16px!important;
    line-height:1.1!important;
    font-weight:800!important;
  }

  /* The three steps use the WHOLE available width. */
  .twsi-main > .twsi-export > .twsi-export-grid{
    display:grid!important;
    grid-template-columns:minmax(260px,1.05fr) minmax(430px,1.7fr) minmax(280px,1fr)!important;
    gap:24px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    align-items:start!important;
    justify-content:stretch!important;
  }

  .twsi-main > .twsi-export > .twsi-export-grid > div{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  .twsi-main > .twsi-export > .twsi-export-grid h5{
    margin:0 0 9px!important;
    font-size:10px!important;
    line-height:1.1!important;
    font-weight:800!important;
  }

  /* Step 1 — three equal cards filling its zone. */
  .twsi-main > .twsi-export > .twsi-export-grid > div:nth-child(1) .twsi-export-options{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }

  /* Step 2 — five equal cards filling the widest zone. */
  .twsi-main > .twsi-export > .twsi-export-grid > div:nth-child(2) .twsi-export-options.compact{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }

  .twsi-main > .twsi-export > .twsi-export-grid .twsi-export-options button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:74px!important;
    padding:8px 5px!important;
    box-sizing:border-box!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.15!important;
  }

  .twsi-main > .twsi-export > .twsi-export-grid .twsi-export-options button small{
    margin-top:6px!important;
    font-size:7.8px!important;
    line-height:1.25!important;
  }

  /* Step 3 remains vertically clean but consumes its full third. */
  .twsi-main > .twsi-export > .twsi-export-grid > div:nth-child(3){
    padding-left:0!important;
  }
  .twsi-main > .twsi-export > .twsi-export-grid > div:nth-child(3) .twsi-check{
    width:100%!important;
    margin:7px 0!important;
    font-size:10px!important;
    line-height:1.2!important;
    gap:8px!important;
  }

  /* Force a true centered action row independent of inherited flex/grid rules. */
  .twsi-main > .twsi-export > .twsi-download-wrap{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-items:center!important;
    width:100%!important;
    max-width:none!important;
    margin:16px 0 3px!important;
    padding:0!important;
    text-align:center!important;
    gap:5px!important;
  }

  .twsi-main > .twsi-export > .twsi-download-wrap > .twsi-download{
    display:block!important;
    width:300px!important;
    max-width:300px!important;
    min-width:300px!important;
    min-height:45px!important;
    margin:0 auto!important;
    padding:11px 22px!important;
    border-radius:6px!important;
    font-size:13px!important;
    line-height:1.1!important;
    font-weight:700!important;
  }

  .twsi-main > .twsi-export > .twsi-download-wrap > small,
  .twsi-main > .twsi-export > .twsi-download-wrap > em{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    margin:0!important;
    font-size:8px!important;
    line-height:1.2!important;
  }

  /* Final yellow strip: full width and visually separate below the download row. */
  .twsi-main > .twsi-bottom-notes{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    margin:0!important;
    grid-template-columns:1.1fr 1.1fr 1.25fr 170px!important;
    gap:18px!important;
    padding:10px 14px!important;
    align-items:center!important;
  }
  .twsi-main > .twsi-bottom-notes button{
    width:100%!important;
    min-width:150px!important;
  }
}

/* Keep the same composition on shorter desktop screens; only reduce height,
   never move the Download button back to the left. */
@media (min-width:1081px) and (max-height:820px){
  .twsi-main > .twsi-export > .twsi-export-grid{
    gap:18px!important;
  }
  .twsi-main > .twsi-export > .twsi-export-grid .twsi-export-options button{
    min-height:64px!important;
  }
  .twsi-main > .twsi-export > .twsi-download-wrap{
    margin-top:11px!important;
  }
  .twsi-main > .twsi-export > .twsi-download-wrap > .twsi-download{
    width:285px!important;
    min-width:285px!important;
    max-width:285px!important;
    min-height:38px!important;
    padding:9px 18px!important;
  }
}


/* v0.4.8 — compact, populated right rail */
@media (min-width:1081px){
  /* Match the right-side section titles to the CHART CONTROLS heading exactly. */
  .twsi-right .twsi-market-stats-head h4,
  .twsi-right > section:last-child > .twsi-panel-head h4{
    font-size:12px!important;
    line-height:1.15!important;
    letter-spacing:0!important;
    font-weight:800!important;
    margin:0!important;
    color:#15213b!important;
  }
  .twsi-right .twsi-market-stats-head{margin-bottom:5px!important;min-height:22px!important}
  .twsi-right .twsi-market-stats-head>span{font-size:9px!important;gap:5px!important}
  .twsi-right .twsi-market-stats-head>span i{width:6px!important;height:6px!important}

  /* Make Market Statistics materially shorter so Compare Securities begins higher. */
  .twsi-right .right-top{padding:10px 11px 8px!important}
  .twsi-right .twsi-market-table .row{
    grid-template-columns:minmax(0,46%) minmax(0,54%)!important;
    gap:6px!important;
    min-height:25px!important;
    padding:4px 2px!important;
  }
  .twsi-right .twsi-market-table .row span{
    font-size:9.2px!important;
    line-height:1.15!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .twsi-right .twsi-market-table .row strong{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:9.4px!important;
    line-height:1.15!important;
    text-align:right!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .twsi-right .twsi-market-table .row.primary{
    min-height:34px!important;
    padding:7px 8px!important;
    margin-bottom:1px!important;
  }
  .twsi-right .twsi-market-table .row.primary span{font-size:9.3px!important;color:#fff!important}
  .twsi-right .twsi-market-table .row.primary strong{font-size:11.5px!important;color:#fff!important}
  .twsi-right .twsi-market-meta{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:6px!important;
    padding:6px 2px 0!important;
    font-size:8px!important;
    color:#7a8498!important;
  }
  .twsi-right .twsi-market-meta span,
  .twsi-right .twsi-market-meta b{
    display:block!important;
    min-width:0!important;
    max-width:50%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .twsi-right .twsi-market-meta b{text-align:right!important;color:#4f5d78!important;font-weight:650!important}

  /* Keep Compare heading on one compact line with the rebase control. */
  .twsi-right > section:last-child{padding-top:10px!important}
  .twsi-right > section:last-child > .twsi-panel-head{align-items:center!important;gap:7px!important}
  .twsi-right > section:last-child > .twsi-panel-head h4{white-space:nowrap!important;flex:0 1 auto!important}
  .twsi-right > section:last-child .twsi-switch-label{font-size:8.5px!important;margin-left:auto!important}
}

/* v0.4.9 — in-app compare + annotation editor (no browser prompt dialogs) */
.twsi-tool-dialog{position:absolute;inset:0;z-index:9998;pointer-events:none;opacity:0;transition:opacity .15s ease}.twsi-tool-dialog.show{pointer-events:auto;opacity:1}.twsi-dialog-backdrop{position:absolute;inset:0;background:rgba(10,18,35,.38);backdrop-filter:blur(2px)}.twsi-dialog-card{position:sticky;top:90px;width:min(520px,calc(100vw - 40px));margin:90px auto 0;background:#fff;border:1px solid #dbe3ef;border-radius:12px;box-shadow:0 22px 60px rgba(22,35,65,.22);padding:20px 20px 18px;color:#13213a;z-index:2}.twsi-dialog-x{position:absolute;right:12px;top:10px;border:0!important;background:transparent!important;font-size:23px!important;line-height:1!important;color:#73809a!important;padding:4px!important}.twsi-dialog-kicker{font-size:9px;font-weight:800;letter-spacing:.08em;color:#2547ff;margin-bottom:5px}.twsi-dialog-card h3{font-size:20px!important;line-height:1.2!important;margin:0 30px 5px 0!important;color:#10203b!important}.twsi-dialog-card>p{font-size:11px;line-height:1.45;color:#71809b;margin:0 0 15px}.twsi-dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.twsi-dialog-field{display:flex;flex-direction:column;gap:5px;position:relative}.twsi-dialog-field.wide{grid-column:1/-1}.twsi-dialog-field>span{font-size:10px;font-weight:700;color:#33415c}.twsi-dialog-field input{width:100%!important;height:40px!important;border:1px solid #cfd8e8!important;border-radius:7px!important;background:#fff!important;padding:0 11px!important;font-size:12px!important;color:#10203b!important;outline:none!important;box-sizing:border-box!important}.twsi-dialog-field input:focus{border-color:#2547ff!important;box-shadow:0 0 0 3px rgba(37,71,255,.10)!important}.twsi-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.twsi-dialog-actions button{height:38px!important;border-radius:7px!important;padding:0 17px!important;font-size:11px!important;font-weight:700!important}.twsi-dialog-cancel{background:#fff!important;border:1px solid #d4ddea!important;color:#53617a!important}.twsi-dialog-submit{background:#2547ff!important;border:1px solid #2547ff!important;color:#fff!important;min-width:112px}.twsi-dialog-submit:disabled{opacity:.6}.twsi-dialog-results{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;border:1px solid #d7e0ee;border-radius:7px;box-shadow:0 12px 28px rgba(28,42,72,.15);max-height:245px;overflow:auto;z-index:8}.twsi-dialog-results.show{display:block}.twsi-dialog-results button{width:100%!important;display:grid!important;grid-template-columns:82px 1fr auto!important;align-items:center!important;gap:8px!important;text-align:left!important;background:#fff!important;border:0!important;border-bottom:1px solid #edf1f7!important;border-radius:0!important;padding:9px 10px!important;color:#172642!important;min-height:40px!important}.twsi-dialog-results button:last-child{border-bottom:0!important}.twsi-dialog-results button:hover{background:#f5f8ff!important}.twsi-dialog-results b{font-size:11px}.twsi-dialog-results span{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.twsi-dialog-results small{font-size:9px;color:#8290a8}.twsi-gscb:has(.twsi-tool-dialog.show){isolation:isolate}
@media(max-width:700px){.twsi-dialog-card{top:55px;margin-top:55px;padding:17px}.twsi-dialog-fields{grid-template-columns:1fr}.twsi-dialog-field.wide{grid-column:auto}.twsi-dialog-results button{grid-template-columns:65px 1fr!important}.twsi-dialog-results small{display:none}}

/* v0.5.0 — compact right-rail comparison chart.
   Keep the mini performance chart useful without letting it consume the full
   remaining height of the right rail. */
@media (min-width:1081px){
  .twsi-right>section:last-child{
    flex:0 0 auto!important;
  }
  .twsi-right .twsi-mini-chart{
    flex:0 0 225px!important;
    height:225px!important;
    min-height:225px!important;
    max-height:225px!important;
    width:100%!important;
    margin-top:4px!important;
  }
}
@media (min-width:1081px) and (max-height:820px){
  .twsi-right .twsi-mini-chart{
    flex-basis:190px!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }
}
\n\n
/* v0.5.2 — bounded terminal-style chart navigation.
   Body drag pans time; wheel/pinch-style wheel zooms time around cursor;
   bottom axis drag changes bar spacing; right price axis drag scales prices. */
.twsi-chart[data-finance-interactive="1"]{
  touch-action:none!important;
  overscroll-behavior:contain!important;
  user-select:none;
}
.twsi-chart[data-finance-interactive="1"] .nsewdrag{cursor:grab!important}
.twsi-chart[data-finance-interactive="1"] .nsewdrag:active{cursor:grabbing!important}
.twsi-chart[data-finance-interactive="1"] .xaxislayer-above{cursor:ew-resize!important}
.twsi-chart[data-finance-interactive="1"] .yaxislayer-above{cursor:ns-resize!important}
.twsi-axis-dragging,.twsi-axis-dragging *{cursor:grabbing!important}
.twsi-chart[data-finance-interactive="1"] .modebar{right:5px!important;top:5px!important;opacity:.28!important}
.twsi-chart[data-finance-interactive="1"]:hover .modebar{opacity:.82!important}
.twsi-chart[data-finance-interactive="1"] .modebar-btn{padding:3px!important}


/* v0.5.3 — premium security search bar
   Explicitly overrides WordPress/theme input styles so the search field uses
   the same compact terminal typography and visual language as the chart UI. */
.twsi-gscb .twsi-search-row{
  min-height:62px!important;
  gap:12px!important;
  padding:8px 0!important;
  align-items:center!important;
}
.twsi-gscb .twsi-search-wrap{
  position:relative!important;
  min-width:0!important;
}
.twsi-gscb .twsi-search-wrap input[type="search"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:block!important;
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 48px 0 16px!important;
  border:1px solid #d8e0ec!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%)!important;
  box-shadow:0 1px 2px rgba(16,24,40,.035), inset 0 1px 0 rgba(255,255,255,.8)!important;
  color:#17223b!important;
  font-family:Inter,"Helvetica Neue",Arial,system-ui,-apple-system,sans-serif!important;
  font-size:12.5px!important;
  font-weight:550!important;
  line-height:1!important;
  letter-spacing:-.005em!important;
  outline:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.twsi-gscb .twsi-search-wrap input[type="search"]::placeholder{
  color:#8a94a8!important;
  opacity:1!important;
  font-family:Inter,"Helvetica Neue",Arial,system-ui,-apple-system,sans-serif!important;
  font-size:12.5px!important;
  font-weight:450!important;
  letter-spacing:0!important;
}
.twsi-gscb .twsi-search-wrap input[type="search"]:hover{
  border-color:#bcc8db!important;
  background:#fff!important;
}
.twsi-gscb .twsi-search-wrap input[type="search"]:focus{
  border-color:#2547FF!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(37,71,255,.10),0 3px 10px rgba(16,24,40,.055)!important;
}
.twsi-gscb .twsi-search-wrap input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance:none!important;
  appearance:none!important;
}
.twsi-gscb .search-icon{
  position:absolute!important;
  right:15px!important;
  top:50%!important;
  width:18px!important;
  height:18px!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#2547FF!important;
  pointer-events:none!important;
  line-height:1!important;
}
.twsi-gscb .search-icon svg{
  width:17px!important;
  height:17px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.twsi-gscb .twsi-search-results{
  top:52px!important;
  border:1px solid #dde4ef!important;
  border-radius:10px!important;
  box-shadow:0 14px 34px rgba(16,24,40,.13),0 3px 8px rgba(16,24,40,.05)!important;
  overflow:hidden auto!important;
}
.twsi-gscb .twsi-search-item{
  min-height:48px!important;
  padding:10px 13px!important;
  align-items:center!important;
  background:#fff!important;
  transition:background .12s ease!important;
}
.twsi-gscb .twsi-search-item:hover{
  background:#f5f7ff!important;
}
.twsi-gscb .twsi-search-item b{
  font-size:10.5px!important;
  font-weight:750!important;
  color:#17223b!important;
}
.twsi-gscb .twsi-search-item small,
.twsi-gscb .twsi-search-item span{
  font-family:Inter,"Helvetica Neue",Arial,system-ui,-apple-system,sans-serif!important;
}

@media (min-width:1081px) and (max-height:820px){
  .twsi-gscb .twsi-search-row{min-height:56px!important;padding:6px 0!important}
  .twsi-gscb .twsi-search-wrap input[type="search"]{height:43px!important;min-height:43px!important}
  .twsi-gscb .twsi-search-results{top:49px!important}
}

/* v0.5.4 — dynamic export-format selection marker.
   The radio-style dot belongs to whichever format is currently selected;
   it is not hard-coded into the PNG label. */
.twsi-export-options [data-export-format]{
  position:relative;
}
.twsi-export-options [data-export-format]::before{
  content:"";
  display:none;
  width:9px;
  height:9px;
  margin-right:5px;
  border-radius:50%;
  vertical-align:1px;
  box-sizing:border-box;
}
.twsi-export-options [data-export-format].active::before{
  display:inline-block;
  border:2px solid var(--twsi);
  box-shadow:inset 0 0 0 2px #fff;
  background:var(--twsi);
}

/* v0.5.6 — clean terminal ending / no promotional strip.
   The builder now ends directly after Export Chart & Data so the WordPress
   footer can begin immediately, without a forced blank area. */
.twsi-gscb{
  min-height:0!important;
  height:auto!important;
  align-items:stretch!important;
}
.twsi-gscb .twsi-main{
  padding-bottom:0!important;
}
.twsi-gscb .twsi-export{
  margin-bottom:0!important;
  padding-bottom:16px!important;
  border-bottom:0!important;
}
.twsi-gscb .twsi-bottom-notes{
  display:none!important;
}

/* Make the final action feel deliberate and premium now that it is the
   terminal's last visual element. */
@media (min-width:1081px){
  .twsi-gscb .twsi-export>.twsi-download-wrap{
    width:320px!important;
    max-width:calc(100% - 30px)!important;
    margin:16px auto 0!important;
    gap:5px!important;
  }
  .twsi-gscb .twsi-export>.twsi-download-wrap .twsi-download{
    width:100%!important;
    min-height:44px!important;
    padding:11px 20px!important;
    border-radius:7px!important;
    font-size:13px!important;
    font-weight:750!important;
    letter-spacing:-.01em!important;
    box-shadow:0 5px 14px rgba(37,71,255,.18)!important;
  }
  .twsi-gscb .twsi-export>.twsi-download-wrap small{
    font-size:9px!important;
    line-height:1.25!important;
    color:#7c879f!important;
  }
  .twsi-gscb .twsi-export>.twsi-download-wrap em{
    font-size:9px!important;
    line-height:1.2!important;
    font-weight:700!important;
  }
}

@media (min-width:1081px) and (max-height:820px){
  .twsi-gscb .twsi-export>.twsi-download-wrap{
    width:300px!important;
    margin-top:11px!important;
  }
  .twsi-gscb .twsi-export>.twsi-download-wrap .twsi-download{
    min-height:40px!important;
    padding:9px 18px!important;
    font-size:12.5px!important;
  }
}


/* v0.5.7 — robust Market Statistics values */
.twsi-gscb .twsi-market-table .row .twsi-stat-label{
  display:block!important; min-width:0!important; color:#667085!important;
}
.twsi-gscb .twsi-market-table .row .twsi-stat-value{
  display:block!important; min-width:0!important; max-width:none!important;
  color:#101828!important; font-weight:750!important; text-align:right!important;
  white-space:nowrap!important; overflow:visible!important; opacity:1!important; visibility:visible!important;
}
.twsi-gscb .twsi-market-table .row.primary .twsi-stat-label,
.twsi-gscb .twsi-market-table .row.primary .twsi-stat-value{color:#fff!important;}
.twsi-gscb .twsi-market-table .row.positive .twsi-stat-value{color:#00a972!important;}
.twsi-gscb .twsi-market-table .row.negative .twsi-stat-value{color:#ff4d4f!important;}
@media (min-width:1081px){
 .twsi-right .twsi-market-table .row .twsi-stat-value{font-size:9.6px!important;line-height:1.15!important;}
 .twsi-right .twsi-market-table .row.primary .twsi-stat-value{font-size:11.5px!important;}
}


/* v0.5.8 — Market Statistics rendering fix.
   Use dedicated DIV rows so theme/legacy span:last-child rules cannot hide values. */
.twsi-gscb .twsi-market-table .twsi-stat-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  column-gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:27px!important;
  padding:5px 2px!important;
  margin:0!important;
  border-bottom:1px solid #edf0f5!important;
  box-sizing:border-box!important;
}
.twsi-gscb .twsi-market-table .twsi-stat-row .twsi-stat-label{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  color:#667085!important;
  font-size:9.4px!important;
  font-weight:450!important;
  line-height:1.2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.twsi-gscb .twsi-market-table .twsi-stat-row .twsi-stat-value{
  display:block!important;
  position:static!important;
  float:none!important;
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  justify-self:end!important;
  color:#101828!important;
  background:transparent!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:9.7px!important;
  font-weight:750!important;
  line-height:1.2!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.twsi-gscb .twsi-market-table .twsi-stat-row.primary{
  min-height:36px!important;
  padding:8px 9px!important;
  margin:0 0 2px!important;
  border:0!important;
  border-radius:3px!important;
  background:#07111e!important;
}
.twsi-gscb .twsi-market-table .twsi-stat-row.primary .twsi-stat-label,
.twsi-gscb .twsi-market-table .twsi-stat-row.primary .twsi-stat-value{
  color:#fff!important;
}
.twsi-gscb .twsi-market-table .twsi-stat-row.primary .twsi-stat-value{
  font-size:11.8px!important;
  font-weight:800!important;
}
.twsi-gscb .twsi-market-table .twsi-stat-row.positive .twsi-stat-value{color:#00a972!important;}
.twsi-gscb .twsi-market-table .twsi-stat-row.negative .twsi-stat-value{color:#ff4d4f!important;}

/* Neutralise obsolete row/span styling from earlier builds for this component. */
.twsi-gscb .twsi-market-table .row{display:none!important;}

@media (min-width:1081px){
  .twsi-gscb .twsi-right .right-top{padding:10px 11px 8px!important;}
  .twsi-gscb .twsi-right .twsi-market-table .twsi-stat-row{min-height:25px!important;padding:4px 2px!important;}
  .twsi-gscb .twsi-right .twsi-market-table .twsi-stat-row.primary{min-height:34px!important;padding:7px 8px!important;}
}

/* v0.5.9 — terminal-style crosshair + inspection system */
.twsi-gscb #twsi-gscb-chart{position:relative!important;}
.twsi-gscb .twsi-inspection-layer{position:absolute;inset:0;z-index:30;pointer-events:none;opacity:0;transition:opacity .06s linear;font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;}
.twsi-gscb .twsi-inspection-layer.active{opacity:1;}
.twsi-gscb .twsi-crosshair-v,.twsi-gscb .twsi-crosshair-h{position:absolute;background:transparent;pointer-events:none;}
.twsi-gscb .twsi-crosshair-v{width:0;border-left:1px dashed rgba(69,84,112,.72);}
.twsi-gscb .twsi-crosshair-h{height:0;border-top:1px dashed rgba(69,84,112,.55);}
.twsi-gscb .twsi-axis-x-label,.twsi-gscb .twsi-axis-y-label{position:absolute;background:#101828;color:#fff;border-radius:3px;padding:4px 7px;font-size:10px;font-weight:650;line-height:1;white-space:nowrap;box-shadow:0 2px 7px rgba(16,24,40,.18);}
.twsi-gscb .twsi-axis-x-label{min-width:104px;text-align:center;}
.twsi-gscb .twsi-axis-y-label{min-width:48px;text-align:right;}
.twsi-gscb .twsi-series-inspection-marker{position:absolute;width:8px;height:8px;border:2px solid;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(255,255,255,.92),0 1px 4px rgba(16,24,40,.2);}
.twsi-gscb .twsi-floating-inspector{position:absolute;width:188px;background:rgba(255,255,255,.97);border:1px solid #d7deea;border-radius:6px;box-shadow:0 10px 25px rgba(16,24,40,.13);padding:9px 10px;color:#101828;font-size:10px;line-height:1.25;backdrop-filter:blur(4px);}
.twsi-gscb .twsi-tip-date{font-weight:800;font-size:10.5px;color:#101828;padding-bottom:6px;margin-bottom:5px;border-bottom:1px solid #eef1f5;}
.twsi-gscb .twsi-tip-grid{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;}
.twsi-gscb .twsi-tip-grid span{color:#667085;}.twsi-gscb .twsi-tip-grid b{font-weight:750;color:#101828;text-align:right;}.twsi-gscb .twsi-tip-grid .pos,.twsi-gscb .twsi-ohlc .pos{color:#00a972!important}.twsi-gscb .twsi-tip-grid .neg,.twsi-gscb .twsi-ohlc .neg{color:#ff4d4f!important}
.twsi-gscb .twsi-ohlc{display:inline-flex!important;flex-wrap:wrap;gap:5px 11px;align-items:center;margin-left:12px;font-size:10px!important;color:#667085!important;vertical-align:middle;}
.twsi-gscb .twsi-ohlc span{white-space:nowrap}.twsi-gscb .twsi-ohlc b{font-weight:720;color:#344054}
@media (max-width:900px){.twsi-gscb .twsi-floating-inspector{display:none}.twsi-gscb .twsi-ohlc{gap:3px 7px;font-size:9px!important}.twsi-gscb .twsi-axis-x-label,.twsi-gscb .twsi-axis-y-label{font-size:9px}}

/* v0.6.0 — professional candlestick engine */
.twsi-gscb .twsi-candle-controls{margin-top:5px;padding-top:4px;border-top:1px dashed #e3e8f0;transition:opacity .15s ease}
.twsi-gscb .twsi-candle-controls.muted{opacity:.38;pointer-events:none}
.twsi-gscb .twsi-range-control{display:flex;align-items:center;gap:6px;min-width:118px;justify-content:flex-end}
.twsi-gscb .twsi-range-control input[type=range]{width:78px;height:3px;accent-color:#2547FF;cursor:pointer}
.twsi-gscb .twsi-range-control b{font-size:9px;color:#344054;font-weight:750;min-width:28px;text-align:right}
.twsi-gscb [data-control="candleStyle"],
.twsi-gscb [data-control="candleFill"],
.twsi-gscb [data-control="priceScale"]{font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif!important;font-weight:600!important;letter-spacing:-.01em}
.twsi-gscb .twsi-chart .barlayer path{shape-rendering:geometricPrecision}
@media (min-width:1081px){
  .twsi-gscb .twsi-candle-controls .twsi-field-row{margin-top:3px!important;min-height:20px!important}
  .twsi-gscb .twsi-candle-controls .twsi-field-row select{padding:3px 5px!important;font-size:9px!important;min-width:92px!important}
  .twsi-gscb .twsi-range-control input[type=range]{width:66px}
}

/* v0.6.2 — benchmark-relative analysis */
.twsi-relative-card{margin:9px 0 6px;border:1px solid #e0e6ef;border-radius:7px;background:#fbfcff;padding:9px}.twsi-relative-controls{display:grid;grid-template-columns:1fr;gap:7px;margin-bottom:8px}.twsi-relative-controls label{font-size:8.5px;font-weight:700;color:#536079;display:grid;gap:4px}.twsi-relative-controls select{width:100%;height:30px;border:1px solid #d8e0ec;border-radius:5px;background:#fff;color:#18233d;font:600 9px/1 Inter,Arial,sans-serif;padding:0 8px;outline:none}.twsi-relative-controls select:focus{border-color:#2547FF;box-shadow:0 0 0 2px rgba(37,71,255,.08)}.twsi-relative-toggle{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:7px!important;font-weight:600!important;color:#34405a!important}.twsi-relative-toggle input{accent-color:#2547FF;margin:0}.twsi-relative-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:2px;margin-bottom:6px}.twsi-relative-title strong{font-size:10px;color:#15213b}.twsi-relative-title span{font-size:8px;color:#748099}.twsi-relative-metrics{display:grid;gap:0;border-top:1px solid #e8edf5;border-bottom:1px solid #e8edf5}.twsi-relative-metrics>div{display:flex;align-items:center;justify-content:space-between;padding:6px 1px;font-size:9px}.twsi-relative-metrics>div+div{border-top:1px solid #edf1f6}.twsi-relative-metrics span{color:#5d6982}.twsi-relative-metrics b{font-size:10px;color:#15213b}.twsi-relative-metrics .excess{background:#f5f7ff;margin:0 -5px;padding:7px 6px}.twsi-relative-metrics .excess span,.twsi-relative-metrics .excess b{font-weight:800;color:#14203b}.twsi-relative-metrics b.pos{color:#079455}.twsi-relative-metrics b.neg{color:#d92d20}.twsi-relative-period{font-size:7.5px;color:#8b95aa;margin-top:6px}.twsi-relative-empty{font-size:8.5px;line-height:1.45;color:#7b869b;padding:4px 0}.twsi-right .twsi-mini-chart{margin-top:4px}
\n\n/* v0.6.3 — multi-security crosshair inspection cards */\n.twsi-gscb .twsi-floating-inspector{width:auto!important;min-width:188px;max-width:430px;padding:7px!important;}\n.twsi-gscb .twsi-inspector-cards{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:7px;max-height:360px;overflow:auto;overscroll-behavior:contain;}\n.twsi-gscb .twsi-inspector-card{min-width:0;border:1px solid #e1e7f0;border-radius:6px;background:#fff;padding:8px 9px;box-shadow:0 2px 6px rgba(16,24,40,.04);}\n.twsi-gscb .twsi-inspector-card.primary{border-color:#cbd5ff;background:#fbfcff;}\n.twsi-gscb .twsi-inspector-head{display:grid;grid-template-columns:8px auto 1fr;gap:6px;align-items:center;padding-bottom:6px;margin-bottom:5px;border-bottom:1px solid #eef1f5;}\n.twsi-gscb .twsi-inspector-dot{width:7px;height:7px;border-radius:50%;display:block;}\n.twsi-gscb .twsi-inspector-head b{font-size:10.5px;font-weight:800;color:#101828;letter-spacing:.01em;}\n.twsi-gscb .twsi-inspector-head small{font-size:8.5px;color:#7b869b;text-align:right;white-space:nowrap;}\n.twsi-gscb .twsi-inspector-card .twsi-tip-grid{gap:3px 10px;}\n.twsi-gscb .twsi-inspector-card .twsi-tip-grid span,.twsi-gscb .twsi-inspector-card .twsi-tip-grid b{font-size:9.5px;}\n@media (max-width:1180px){.twsi-gscb .twsi-inspector-cards{grid-template-columns:1fr;max-height:330px}.twsi-gscb .twsi-floating-inspector{max-width:215px}}\n

/* v0.6.4 — separate floating inspector cards */
.twsi-gscb .twsi-floating-inspector{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  pointer-events:none!important;
  overflow:visible!important;
}
.twsi-gscb .twsi-floating-inspector>.twsi-inspector-card{
  position:absolute!important;
  width:188px!important;
  min-width:188px!important;
  max-width:188px!important;
  margin:0!important;
  background:rgba(255,255,255,.975)!important;
  border:1px solid #d9e1ec!important;
  border-top:3px solid var(--series-color,#2547FF)!important;
  border-radius:7px!important;
  box-shadow:0 10px 28px rgba(16,24,40,.13)!important;
  padding:8px 9px!important;
  pointer-events:none!important;
}
.twsi-gscb .twsi-floating-inspector>.twsi-inspector-card.primary{
  background:rgba(251,252,255,.985)!important;
  border-color:#cfd8ff!important;
  border-top-color:var(--series-color,#2547FF)!important;
}
.twsi-gscb .twsi-floating-inspector .twsi-inspector-head{
  grid-template-columns:8px auto 1fr!important;
}
.twsi-gscb .twsi-floating-inspector .twsi-inspector-card .twsi-tip-grid{
  gap:3px 10px!important;
}
@media (max-width:1100px){
  .twsi-gscb .twsi-floating-inspector>.twsi-inspector-card{
    width:170px!important;min-width:170px!important;max-width:170px!important;
  }
}
@media (max-width:900px){
  .twsi-gscb .twsi-floating-inspector{display:none!important}
}


/* v0.6.5 — hover inspector visibility + neutral cards */
.twsi-gscb .twsi-floating-inspector>.twsi-inspector-card,
.twsi-gscb .twsi-floating-inspector>.twsi-inspector-card.primary{
  border:1px solid #d9e1ec!important;
  border-top:1px solid #d9e1ec!important;
  background:rgba(255,255,255,.975)!important;
}
.twsi-gscb .twsi-floating-inspector>.twsi-inspector-card.primary{
  border-color:#d9e1ec!important;
  background:rgba(255,255,255,.975)!important;
}

/* v0.6.7 — publication export modes */
.twsi-gscb .twsi-export-mode{display:flex;align-items:stretch;gap:7px;margin:8px 0 13px;padding:8px;border:1px solid #e1e6ef;border-radius:8px;background:#f8faff;width:max-content;max-width:100%}
.twsi-gscb .twsi-export-mode>span{display:flex;align-items:center;padding:0 10px 0 4px;font-size:9px;font-weight:800;letter-spacing:.06em;color:#6c7890}
.twsi-gscb .twsi-export-mode button{min-width:118px;border:1px solid #d9e1ee;background:#fff;border-radius:6px;padding:7px 12px;font:700 11px/1.15 Inter,Arial,sans-serif;color:#1c2a43;cursor:pointer}
.twsi-gscb .twsi-export-mode button small{display:block;margin-top:3px;font-size:8px;font-weight:500;color:#8490a5}
.twsi-gscb .twsi-export-mode button.active{border-color:#2547FF;box-shadow:inset 0 0 0 1px #2547FF;color:#2547FF;background:#f8faff}
@media(max-width:720px){.twsi-gscb .twsi-export-mode{width:100%;flex-wrap:wrap}.twsi-gscb .twsi-export-mode>span{width:100%}.twsi-gscb .twsi-export-mode button{flex:1;min-width:90px}}

/* v0.7.0 — axis typography control */
.twsi-gscb [data-control="axisFontSize"]{cursor:pointer}
.twsi-gscb [data-role="axisFontSizeValue"]{
  min-width:42px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}

/* v0.7.2 fullscreen / large-axis clipping protection */
.twsi-gscb #twsi-gscb-chart{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
.twsi-gscb #twsi-gscb-chart .svg-container,
.twsi-gscb #twsi-gscb-chart .main-svg{overflow:visible!important}
#twsi-gscb-chart:fullscreen,
#twsi-gscb-chart:-webkit-full-screen{
 width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;
 margin:0!important;padding:18px 26px 22px 18px!important;box-sizing:border-box!important;
}
#twsi-gscb-chart:fullscreen .svg-container,
#twsi-gscb-chart:-webkit-full-screen .svg-container{width:100%!important;height:100%!important}

/* v0.7.3 — relative-strength axis + colour control */
.twsi-relative-plot-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.twsi-relative-plot-row .twsi-relative-toggle{
  flex:1 1 auto;
  min-width:0;
}
.twsi-relative-color{
  display:flex!important;
  grid-template-columns:auto auto!important;
  align-items:center!important;
  gap:6px!important;
  white-space:nowrap;
  color:#536079!important;
  font-size:8px!important;
  font-weight:700!important;
}
.twsi-relative-color input[type="color"]{
  width:26px!important;
  height:22px!important;
  min-width:26px!important;
  padding:0!important;
  border:1px solid #d8e0ec!important;
  border-radius:5px!important;
  background:#fff!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
.twsi-relative-color input[type="color"]::-webkit-color-swatch-wrapper{padding:2px}
.twsi-relative-color input[type="color"]::-webkit-color-swatch{border:0;border-radius:3px}
.twsi-relative-color input[type="color"]::-moz-color-swatch{border:0;border-radius:3px}

/* v0.7.4 — terminal hover readout; no floating cards */
.twsi-gscb .twsi-floating-inspector,
.twsi-gscb .twsi-inspector-card,
.twsi-gscb .twsi-inspector-cards{display:none!important}

.twsi-gscb .twsi-chart-title-row>div{min-width:0;width:100%}
.twsi-gscb .twsi-hover-readout{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:4px;
  min-height:0;
}
.twsi-gscb .twsi-hover-row{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:18px;
  white-space:nowrap;
  overflow:hidden;
  color:#5d687d;
  font-size:9px;
  line-height:1.25;
  font-variant-numeric:tabular-nums;
}
.twsi-gscb .twsi-hover-row.compact{gap:12px}
.twsi-gscb .twsi-hover-row span:not(.twsi-series-key){color:#6c778b}
.twsi-gscb .twsi-hover-row b{color:#17233a;font-weight:750}
.twsi-gscb .twsi-hover-row .twsi-series-key,
.twsi-gscb .twsi-ohlc .twsi-series-key{
  min-width:58px;
  font-weight:800!important;
  letter-spacing:.01em;
}
.twsi-gscb .twsi-hover-row.relative{
  border-top:1px dashed #e4e9f1;
  padding-top:3px;
  margin-top:1px;
}
.twsi-gscb .twsi-hover-row .pos,.twsi-gscb .twsi-ohlc .pos{color:#00a972!important}
.twsi-gscb .twsi-hover-row .neg,.twsi-gscb .twsi-ohlc .neg{color:#ff4d4f!important}

.twsi-gscb .twsi-inspection-mode{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  margin-left:4px;
  font-size:8px!important;
  color:#667085!important;
  font-weight:700!important;
}
.twsi-gscb .twsi-inspection-mode select{
  width:auto!important;
  min-width:84px!important;
  height:28px!important;
  padding:3px 24px 3px 8px!important;
  border:1px solid #d9e1ec!important;
  border-radius:6px!important;
  background:#fff!important;
  color:#26354d!important;
  font-size:9px!important;
  font-weight:700!important;
}
.twsi-gscb .twsi-toolbar-left{display:flex;align-items:center;gap:2px;flex-wrap:wrap}

.twsi-gscb .twsi-axis-pills{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.twsi-gscb .twsi-series-axis-pill{
  position:absolute;
  right:4px;
  transform:translateY(-50%);
  min-width:88px;
  height:24px;
  padding:0 8px;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  color:#fff;
  box-shadow:0 2px 8px rgba(16,24,40,.16);
  font-size:9px;
  line-height:1;
  font-weight:750;
  font-variant-numeric:tabular-nums;
}
.twsi-gscb .twsi-series-axis-pill b{font-size:8px;opacity:.9}
.twsi-gscb .twsi-series-axis-pill span{font-size:9px;font-weight:850}

.twsi-gscb .twsi-relative-pill{
  position:absolute;
  left:4px;
  transform:translateY(-50%);
  min-height:23px;
  padding:4px 7px;
  border:1px dashed currentColor;
  border-radius:4px;
  background:rgba(255,255,255,.96);
  display:flex;
  align-items:center;
  gap:6px;
  color:#26354d;
  box-shadow:0 2px 7px rgba(16,24,40,.10);
  font-size:8px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  pointer-events:none;
}
.twsi-gscb .twsi-relative-pill:empty{display:none}
.twsi-gscb .twsi-relative-pill small{font-size:8px;font-weight:800}
.twsi-gscb .twsi-relative-pill .pos{color:#00a972!important}
.twsi-gscb .twsi-relative-pill .neg{color:#ff4d4f!important}

@media(max-width:1180px){
  .twsi-gscb .twsi-hover-row{font-size:8px;gap:6px}
  .twsi-gscb .twsi-series-axis-pill{min-width:78px;padding:0 6px}
}
@media(max-width:900px){
  .twsi-gscb .twsi-hover-readout{display:none}
  .twsi-gscb .twsi-inspection-mode{display:none!important}
  .twsi-gscb .twsi-series-axis-pill{min-width:68px;font-size:8px}
}


/* v0.7.6 — dedicated full-width tool masthead + remove page whitespace */
.twsi-gscb .twsi-tool-masthead{
  grid-column:1/-1;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:0 26px;
  background:#2547FF;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.16);
  position:relative;
  z-index:30;
}
.twsi-gscb .twsi-tool-brand{display:flex;align-items:center;min-width:0;gap:14px}
.twsi-gscb .twsi-tool-brand-logo{
  width:auto;height:34px;max-width:190px;object-fit:contain;filter:brightness(0) invert(1);flex:0 0 auto
}
.twsi-gscb .twsi-tool-divider{width:1px;height:30px;background:rgba(255,255,255,.32);flex:0 0 auto}
.twsi-gscb .twsi-tool-title-wrap{display:flex;flex-direction:column;min-width:0;line-height:1.08}
.twsi-gscb .twsi-tool-title-wrap small{
  font-size:8px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;opacity:.72;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.twsi-gscb .twsi-tool-title-wrap strong{
  margin-top:4px;font-size:15px;font-weight:800;letter-spacing:-.01em;white-space:nowrap
}
.twsi-gscb .twsi-tool-nav{
  display:flex;align-items:center;gap:4px;padding:4px;background:rgba(0,0,0,.12);
  border:1px solid rgba(255,255,255,.14);border-radius:8px
}
.twsi-gscb .twsi-tool-nav button{
  min-width:78px;height:33px;padding:0 14px;border:0;border-radius:6px;background:transparent;
  color:rgba(255,255,255,.78);font-size:10px;font-weight:750;cursor:pointer;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease
}
.twsi-gscb .twsi-tool-nav button:hover{color:#fff;background:rgba(255,255,255,.10)}
.twsi-gscb .twsi-tool-nav button.active{color:#2547FF;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}

body.twsi-tool-page .entry-header,
body.twsi-tool-page .page-header,
body.twsi-tool-page .breadcrumb,
body.twsi-tool-page .breadcrumbs,
body.twsi-tool-page .breadcrumb-area,
body.twsi-tool-page .page-breadcrumb,
body.twsi-tool-page .wp-block-post-title{display:none!important}

body.twsi-tool-page .site-content,
body.twsi-tool-page .content-area,
body.twsi-tool-page .site-main,
body.twsi-tool-page main#primary,
body.twsi-tool-page article,
body.twsi-tool-page .entry-content,
body.twsi-tool-page .post-content{
  margin-top:0!important;padding-top:0!important
}
body.twsi-tool-page article{margin-bottom:0!important}
body.twsi-tool-page .entry-content>.twsi-gscb,
body.twsi-tool-page .post-content>.twsi-gscb{margin-top:0!important}

@media(max-width:900px){
  .twsi-gscb .twsi-tool-masthead{min-height:58px;padding:0 12px;gap:10px}
  .twsi-gscb .twsi-tool-brand-logo{height:28px;max-width:120px}
  .twsi-gscb .twsi-tool-divider{height:26px}
  .twsi-gscb .twsi-tool-title-wrap small{display:none}
  .twsi-gscb .twsi-tool-title-wrap strong{font-size:12px}
  .twsi-gscb .twsi-tool-nav button{min-width:auto;padding:0 10px;height:30px;font-size:9px}
}
@media(max-width:620px){
  .twsi-gscb .twsi-tool-brand-logo{height:25px;max-width:70px}
  .twsi-gscb .twsi-tool-divider{display:none}
  .twsi-gscb .twsi-tool-title-wrap strong{font-size:10px}
  .twsi-gscb .twsi-tool-nav{gap:1px;padding:2px}
  .twsi-gscb .twsi-tool-nav button{padding:0 7px;font-size:8px}
}


/* v0.7.7 — compact terminal masthead; fixes accidental hero-sized header */
.twsi-gscb{
  align-content:start!important;
  grid-template-rows:54px auto!important;
  min-height:0!important;
}
.twsi-gscb .twsi-tool-masthead{
  grid-column:1/-1!important;
  grid-row:1!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  padding:0 18px!important;
  overflow:hidden!important;
  align-self:start!important;
}
.twsi-gscb .twsi-left,
.twsi-gscb .twsi-main,
.twsi-gscb .twsi-right{
  grid-row:2!important;
}
.twsi-gscb .twsi-tool-brand{
  height:54px!important;
  gap:10px!important;
}
.twsi-gscb .twsi-tool-logo-box{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:5px!important;
  background:rgba(255,255,255,.08)!important;
  flex:0 0 30px!important;
}
.twsi-gscb .twsi-tool-brand-logo{
  display:block!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  filter:brightness(0) invert(1)!important;
}
.twsi-gscb .twsi-tool-divider{height:25px!important}
.twsi-gscb .twsi-tool-title-wrap small{
  font-size:7px!important;
  line-height:1!important;
  letter-spacing:.11em!important;
}
.twsi-gscb .twsi-tool-title-wrap strong{
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.05!important;
}
.twsi-gscb .twsi-tool-nav{
  padding:3px!important;
  gap:2px!important;
  border-radius:7px!important;
}
.twsi-gscb .twsi-tool-nav button{
  min-width:70px!important;
  height:29px!important;
  padding:0 11px!important;
  font-size:9px!important;
  border-radius:5px!important;
}

/* Aggressively collapse the Vamika/WordPress page-title gap only on this tool page. */
body.twsi-tool-page .page-title-area,
body.twsi-tool-page .page-header-area,
body.twsi-tool-page .page-banner,
body.twsi-tool-page .page-title-section,
body.twsi-tool-page .breadcrumb-area,
body.twsi-tool-page .breadcrumbs-area,
body.twsi-tool-page .breadcrumb-wrapper,
body.twsi-tool-page .page-breadcrumb,
body.twsi-tool-page .site-breadcrumb,
body.twsi-tool-page .entry-header-wrapper,
body.twsi-tool-page .inner-banner{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
body.twsi-tool-page .site-content,
body.twsi-tool-page .content-area,
body.twsi-tool-page .site-main,
body.twsi-tool-page #primary,
body.twsi-tool-page article,
body.twsi-tool-page .entry-content,
body.twsi-tool-page .post-content{
  padding-top:0!important;
  margin-top:0!important;
}
body.twsi-tool-page .twsi-gscb{
  margin-top:0!important;
}

@media(max-width:900px){
  .twsi-gscb{grid-template-rows:50px auto!important}
  .twsi-gscb .twsi-tool-masthead{height:50px!important;min-height:50px!important;max-height:50px!important;padding:0 10px!important}
  .twsi-gscb .twsi-tool-brand{height:50px!important}
  .twsi-gscb .twsi-tool-logo-box{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;min-height:26px!important;max-height:26px!important;flex-basis:26px!important}
  .twsi-gscb .twsi-tool-brand-logo{width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;min-height:20px!important;max-height:20px!important}
}


/* v0.7.8 — page 2689: remove the theme-created gap between site header and tool */
body.page-id-2689 .site-content,
body.page-id-2689 .content-area,
body.page-id-2689 .site-main,
body.page-id-2689 #primary,
body.page-id-2689 article,
body.page-id-2689 .page-body,
body.page-id-2689 .entry-content,
body.page-id-2689 .post-content,
body.page-id-2689 .container,
body.page-id-2689 .container-narrow{
  margin-top:0!important;
  padding-top:0!important;
}

/* Common Vamika/page-template spacer wrappers */
body.page-id-2689 .page-section,
body.page-id-2689 .content-section,
body.page-id-2689 .main-content,
body.page-id-2689 .page-content,
body.page-id-2689 .single-page-content,
body.page-id-2689 .page-wrapper,
body.page-id-2689 .content-wrapper{
  padding-top:0!important;
  margin-top:0!important;
}

/* No gap directly before the builder */
body.page-id-2689 .twsi-gscb{
  margin-top:0!important;
}

/* If the theme creates an empty first block/spacer before the shortcode, collapse it. */
body.page-id-2689 .entry-content > :first-child:empty,
body.page-id-2689 .post-content > :first-child:empty,
body.page-id-2689 .page-body > :first-child:empty{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}


/* v0.7.9 — exact Vamika culprit: empty section.page-hero */
body.twsi-tool-page section.page-hero,
body.twsi-tool-page .page-hero{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* Also collapse the immediate content wrappers after the Vamika hero */
body.twsi-tool-page main#content,
body.twsi-tool-page #content,
body.twsi-tool-page main#content > .container,
body.twsi-tool-page main#content > .container-narrow{
  margin-top:0!important;
  padding-top:0!important;
}


/* =========================================================
   v0.8.0 — Disclaimer strip + complete responsive/mobile fit
   ========================================================= */

/* Final white legal/data disclaimer strip */
.twsi-gscb .twsi-disclaimer-strip{
  grid-column:1/-1!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border-top:1px solid #e4e9f1!important;
  border-bottom:1px solid #e4e9f1!important;
  box-sizing:border-box!important;
}
.twsi-gscb .twsi-disclaimer-inner{
  display:flex;
  align-items:flex-start;
  gap:14px;
  width:100%;
  padding:14px 22px;
  box-sizing:border-box;
}
.twsi-gscb .twsi-disclaimer-inner strong{
  flex:0 0 auto;
  margin-top:1px;
  color:#17233a;
  font-size:9px;
  line-height:1.4;
  letter-spacing:.08em;
  font-weight:800;
}
.twsi-gscb .twsi-disclaimer-inner p{
  margin:0!important;
  color:#697386;
  font-size:9px;
  line-height:1.55;
  font-weight:500;
}

/* Tablet */
@media (max-width:1180px){
  .twsi-gscb{
    grid-template-columns:245px minmax(0,1fr) 255px!important;
  }
  .twsi-gscb .twsi-main{min-width:0!important}
  .twsi-gscb .twsi-right{min-width:0!important}
  .twsi-gscb #twsi-gscb-chart{min-height:460px!important}
  .twsi-gscb .twsi-search-row{
    grid-template-columns:minmax(0,1fr) 180px!important;
  }
  .twsi-gscb .twsi-export-grid{
    gap:12px!important;
  }
}

/* Mobile / narrow tablet */
@media (max-width:900px){
  html,body{overflow-x:hidden!important}
  body.twsi-tool-page{overflow-x:hidden!important}

  .twsi-gscb{
    width:100%!important;
    max-width:100%!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    min-width:0!important;
    overflow:visible!important;
  }

  .twsi-gscb .twsi-tool-masthead{
    grid-column:1!important;
    grid-row:auto!important;
    position:sticky!important;
    top:0!important;
    z-index:120!important;
  }

  .twsi-gscb .twsi-left,
  .twsi-gscb .twsi-main,
  .twsi-gscb .twsi-right,
  .twsi-gscb .twsi-disclaimer-strip{
    grid-column:1!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Mobile order: controls -> chart -> stats/compare -> disclaimer */
  .twsi-gscb .twsi-left{order:1!important}
  .twsi-gscb .twsi-main{order:2!important}
  .twsi-gscb .twsi-right{order:3!important}
  .twsi-gscb .twsi-disclaimer-strip{order:4!important}

  .twsi-gscb .twsi-panel{
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
  }

  /* Compact left control panel */
  .twsi-gscb .twsi-left{
    padding:12px 12px 8px!important;
  }
  .twsi-gscb .twsi-left section{
    padding:10px 0!important;
    margin:0!important;
  }
  .twsi-gscb .twsi-left h4,
  .twsi-gscb .twsi-panel-head h4{
    font-size:13px!important;
  }
  .twsi-gscb .twsi-left .twsi-controls-grid,
  .twsi-gscb .twsi-left .twsi-button-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .twsi-gscb .twsi-left button,
  .twsi-gscb .twsi-left select{
    min-height:36px!important;
    font-size:11px!important;
  }

  /* Search + exchange stack */
  .twsi-gscb .twsi-search-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px 10px 0!important;
  }
  .twsi-gscb .twsi-search-wrap,
  .twsi-gscb [data-role="exchangeSelect"]{
    width:100%!important;
    max-width:none!important;
  }

  /* Company quote header */
  .twsi-gscb .twsi-company-head{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    gap:10px!important;
    padding:10px 12px!important;
  }
  .twsi-gscb .twsi-company-price{
    grid-column:1/-1!important;
    justify-self:start!important;
    text-align:left!important;
    margin-top:3px!important;
  }
  .twsi-gscb .twsi-company-price strong{
    font-size:24px!important;
  }

  /* Toolbar wraps instead of overflowing */
  .twsi-gscb .twsi-chart-toolbar{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:5px!important;
    padding:7px 10px!important;
  }
  .twsi-gscb .twsi-toolbar-left{
    width:100%!important;
    flex-wrap:wrap!important;
  }
  .twsi-gscb .twsi-compare-toolbar{
    flex:1 1 auto!important;
  }

  /* Main chart gets a useful mobile viewport */
  .twsi-gscb .twsi-chart-wrap,
  .twsi-gscb .twsi-chart-area{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .twsi-gscb #twsi-gscb-chart{
    width:100%!important;
    height:430px!important;
    min-height:430px!important;
    max-height:430px!important;
    overflow:visible!important;
  }
  .twsi-gscb #twsi-gscb-chart .modebar{
    transform:scale(.86);
    transform-origin:top right;
  }

  /* Period shortcuts become horizontally scrollable rather than clipped */
  .twsi-gscb .twsi-bottom-periods{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .twsi-gscb .twsi-bottom-periods::-webkit-scrollbar{display:none}
  .twsi-gscb .twsi-bottom-periods button{
    flex:0 0 auto!important;
  }

  /* Market stats / comparison panel */
  .twsi-gscb .twsi-right{
    border-top:1px solid #e3e8f0!important;
    padding:10px 12px 14px!important;
  }
  .twsi-gscb .twsi-market-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 14px!important;
  }
  .twsi-gscb .twsi-stat-row{
    min-width:0!important;
  }
  .twsi-gscb .twsi-mini-chart,
  .twsi-gscb [data-role="comparisonMiniChart"]{
    height:190px!important;
    min-height:190px!important;
  }

  /* Export becomes one clean column */
  .twsi-gscb .twsi-export{
    padding:16px 12px!important;
  }
  .twsi-gscb .twsi-export-grid,
  .twsi-gscb .twsi-export-top,
  .twsi-gscb .twsi-export-options{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .twsi-gscb .twsi-export-group{
    width:100%!important;
    min-width:0!important;
  }
  .twsi-gscb .twsi-export-cards,
  .twsi-gscb .twsi-format-options,
  .twsi-gscb .twsi-dimension-options{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .twsi-gscb .twsi-export-card{
    min-width:0!important;
    width:100%!important;
  }
  .twsi-gscb .twsi-download-wrap{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  .twsi-gscb [data-action="download"],
  .twsi-gscb .twsi-download-btn{
    width:min(100%,320px)!important;
    min-height:46px!important;
    font-size:14px!important;
  }

  /* Disclaimer becomes stacked, readable and compact */
  .twsi-gscb .twsi-disclaimer-inner{
    display:block!important;
    padding:14px 14px 16px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner strong{
    display:block!important;
    margin-bottom:5px!important;
    font-size:9px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner p{
    font-size:9px!important;
    line-height:1.55!important;
  }
}

/* Phones */
@media (max-width:560px){
  .twsi-gscb .twsi-tool-masthead{
    min-height:52px!important;
    height:auto!important;
    max-height:none!important;
    padding:7px 8px!important;
    gap:6px!important;
  }
  .twsi-gscb .twsi-tool-brand{
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .twsi-gscb .twsi-tool-title-wrap strong{
    font-size:10px!important;
    white-space:normal!important;
  }
  .twsi-gscb .twsi-tool-nav{
    flex:0 0 auto!important;
  }
  .twsi-gscb .twsi-tool-nav button{
    min-width:auto!important;
    padding:0 7px!important;
    font-size:8px!important;
  }

  .twsi-gscb .twsi-left .twsi-controls-grid,
  .twsi-gscb .twsi-left .twsi-button-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .twsi-gscb #twsi-gscb-chart{
    height:390px!important;
    min-height:390px!important;
    max-height:390px!important;
  }

  .twsi-gscb .twsi-market-stats{
    grid-template-columns:1fr!important;
  }

  .twsi-gscb .twsi-export-cards,
  .twsi-gscb .twsi-format-options,
  .twsi-gscb .twsi-dimension-options{
    grid-template-columns:1fr 1fr!important;
  }

  .twsi-gscb .twsi-hover-readout{
    display:none!important;
  }

  .twsi-gscb .twsi-series-axis-pill{
    transform:translateY(-50%) scale(.88)!important;
    transform-origin:right center!important;
  }
}


/* =========================================================
   v0.8.1 — centered disclaimer + eliminate footer gap
   ========================================================= */

.twsi-gscb .twsi-disclaimer-strip{
  text-align:center!important;
}

.twsi-gscb .twsi-disclaimer-inner{
  display:block!important;
  width:min(1500px,100%)!important;
  margin:0 auto!important;
  padding:16px 28px 17px!important;
  text-align:center!important;
}

.twsi-gscb .twsi-disclaimer-inner strong{
  display:block!important;
  margin:0 0 6px!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.10em!important;
  font-weight:850!important;
  color:#17233a!important;
  text-align:center!important;
}

.twsi-gscb .twsi-disclaimer-inner p{
  display:block!important;
  max-width:1460px!important;
  margin:0 auto!important;
  font-size:10.5px!important;
  line-height:1.55!important;
  font-weight:520!important;
  color:#657086!important;
  text-align:center!important;
}

/* The builder must be the last content surface before the site footer. */
body.twsi-tool-page main#content,
body.twsi-tool-page #content,
body.twsi-tool-page .site-content,
body.twsi-tool-page .content-area,
body.twsi-tool-page .site-main,
body.twsi-tool-page #primary,
body.twsi-tool-page article,
body.twsi-tool-page .page-body,
body.twsi-tool-page .entry-content,
body.twsi-tool-page .post-content,
body.twsi-tool-page .container,
body.twsi-tool-page .container-narrow,
body.twsi-tool-page .page-wrapper,
body.twsi-tool-page .content-wrapper,
body.twsi-tool-page .main-content,
body.twsi-tool-page .page-content{
  padding-bottom:0!important;
  margin-bottom:0!important;
}

body.twsi-tool-page .twsi-gscb{
  margin-bottom:0!important;
}

body.twsi-tool-page .site-footer,
body.twsi-tool-page footer.site-footer,
body.twsi-tool-page #colophon{
  margin-top:0!important;
}

/* Collapse empty blocks/spacers immediately after the shortcode/tool. */
body.twsi-tool-page .entry-content > .twsi-gscb + :empty,
body.twsi-tool-page .post-content > .twsi-gscb + :empty,
body.twsi-tool-page .page-body > .twsi-gscb + :empty{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:900px){
  .twsi-gscb .twsi-disclaimer-inner{
    padding:15px 16px 16px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner strong{
    font-size:10px!important;
    margin-bottom:6px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner p{
    font-size:10px!important;
    line-height:1.6!important;
  }
}

@media(max-width:560px){
  .twsi-gscb .twsi-disclaimer-inner{
    padding:14px 12px 15px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner strong{
    font-size:9.5px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner p{
    font-size:9.5px!important;
    line-height:1.58!important;
  }
}


/* =========================================================
   v0.8.2 — MOBILE APP MODE
   The blue masthead becomes real navigation instead of a scroll link.
   ========================================================= */

.twsi-mobile-only{display:none!important}

/* Exact Vamika page-hero kill on known tool-page IDs as a CSS fallback. */
body.page-id-2679 section.page-hero,
body.page-id-2689 section.page-hero,
body.twsi-tool-page section.page-hero{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

@media(max-width:900px){

  .twsi-mobile-only{display:inline-flex!important}

  /* Do not squeeze a desktop dashboard into a phone. */
  .twsi-gscb{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    overflow:visible!important;
    background:#fff!important;
  }

  /* Compact tool masthead. No sticky collision with the website header. */
  .twsi-gscb .twsi-tool-masthead{
    order:0!important;
    position:relative!important;
    top:auto!important;
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:0 10px!important;
    gap:8px!important;
    flex:0 0 56px!important;
    overflow:hidden!important;
  }
  .twsi-gscb .twsi-tool-brand{
    flex:1 1 auto!important;
    min-width:0!important;
    height:56px!important;
    gap:8px!important;
  }
  .twsi-gscb .twsi-tool-logo-box{
    width:28px!important;height:28px!important;
    min-width:28px!important;max-width:28px!important;
    min-height:28px!important;max-height:28px!important;
    flex:0 0 28px!important;
  }
  .twsi-gscb .twsi-tool-brand-logo{
    width:21px!important;height:21px!important;
    min-width:21px!important;max-width:21px!important;
    min-height:21px!important;max-height:21px!important;
  }
  .twsi-gscb .twsi-tool-divider{display:none!important}
  .twsi-gscb .twsi-tool-title-wrap small{display:none!important}
  .twsi-gscb .twsi-tool-title-wrap strong{
    margin:0!important;
    font-size:11px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .twsi-gscb .twsi-tool-nav{
    flex:0 0 auto!important;
    display:flex!important;
    gap:2px!important;
    padding:3px!important;
    max-width:64%!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .twsi-gscb .twsi-tool-nav::-webkit-scrollbar{display:none}
  .twsi-gscb .twsi-tool-nav button{
    flex:0 0 auto!important;
    min-width:58px!important;
    height:31px!important;
    padding:0 8px!important;
    font-size:8.5px!important;
  }

  /* Mobile navigation views */
  .twsi-gscb .twsi-left,
  .twsi-gscb .twsi-main,
  .twsi-gscb .twsi-right{
    order:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    border-left:0!important;
    border-right:0!important;
  }
  .twsi-gscb .twsi-disclaimer-strip{order:2!important}

  /* CHART VIEW: chart first + market statistics underneath. */
  .twsi-gscb[data-mobile-view="chart"] .twsi-left{display:none!important}
  .twsi-gscb[data-mobile-view="chart"] .twsi-main{display:block!important}
  .twsi-gscb[data-mobile-view="chart"] .twsi-main>.twsi-export{display:none!important}
  .twsi-gscb[data-mobile-view="chart"] .twsi-right{
    display:block!important;
    padding:0!important;
    border-top:1px solid #e5eaf2!important;
  }
  .twsi-gscb[data-mobile-view="chart"] .twsi-right>section.right-top{display:block!important}
  .twsi-gscb[data-mobile-view="chart"] .twsi-right>section[data-tool-section="compare"]{display:none!important}

  /* CONTROLS VIEW: controls only, full-width and readable. */
  .twsi-gscb[data-mobile-view="controls"] .twsi-left{display:block!important}
  .twsi-gscb[data-mobile-view="controls"] .twsi-main,
  .twsi-gscb[data-mobile-view="controls"] .twsi-right{display:none!important}

  /* COMPARE VIEW: comparison workspace only. */
  .twsi-gscb[data-mobile-view="compare"] .twsi-left,
  .twsi-gscb[data-mobile-view="compare"] .twsi-main{display:none!important}
  .twsi-gscb[data-mobile-view="compare"] .twsi-right{
    display:block!important;
    padding:0!important;
  }
  .twsi-gscb[data-mobile-view="compare"] .twsi-right>section.right-top{display:none!important}
  .twsi-gscb[data-mobile-view="compare"] .twsi-right>section[data-tool-section="compare"]{
    display:block!important;
    padding:14px 12px 18px!important;
  }

  /* EXPORT VIEW: export workspace only. */
  .twsi-gscb[data-mobile-view="export"] .twsi-left,
  .twsi-gscb[data-mobile-view="export"] .twsi-right{display:none!important}
  .twsi-gscb[data-mobile-view="export"] .twsi-main{
    display:block!important;
    padding:0!important;
  }
  .twsi-gscb[data-mobile-view="export"] .twsi-main>*:not(.twsi-export){display:none!important}
  .twsi-gscb[data-mobile-view="export"] .twsi-main>.twsi-export{
    display:block!important;
    padding:16px 12px 20px!important;
  }

  /* --- Chart view polish --- */
  .twsi-gscb .twsi-main{padding:0 10px 12px!important}

  .twsi-gscb .twsi-search-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    gap:7px!important;
    padding:10px 0!important;
  }
  .twsi-gscb .twsi-search-wrap input{
    min-height:46px!important;
    padding:11px 42px 11px 14px!important;
    font-size:13px!important;
    border-radius:9px!important;
  }
  .twsi-gscb .twsi-exchange{
    display:block!important;
    width:100%!important;
    min-height:42px!important;
    font-size:11px!important;
  }

  .twsi-gscb .twsi-quote-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px 10px!important;
    min-height:0!important;
    padding:11px 4px!important;
  }
  .twsi-gscb .twsi-company{
    min-width:0!important;
    gap:9px!important;
  }
  .twsi-gscb .twsi-logo{
    width:40px!important;height:40px!important;
    min-width:40px!important;
    border-radius:9px!important;
    font-size:18px!important;
  }
  .twsi-gscb .twsi-company-name{
    font-size:16px!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
  .twsi-gscb .twsi-badges{gap:4px!important;margin-top:5px!important}
  .twsi-gscb .twsi-badges span{font-size:8.5px!important;padding:4px 7px!important}
  .twsi-gscb .twsi-price-box{
    align-self:center!important;
    min-width:0!important;
  }
  .twsi-gscb .twsi-price{
    text-align:right!important;
    font-size:20px!important;
    line-height:1.1!important;
  }
  .twsi-gscb .twsi-change{font-size:11px!important}
  .twsi-gscb .twsi-asof{
    max-width:180px!important;
    margin-left:auto!important;
    text-align:right!important;
    font-size:8px!important;
    line-height:1.25!important;
  }
  .twsi-gscb .twsi-market-status{
    grid-column:1/-1!important;
    min-width:0!important;
    justify-content:flex-start!important;
    font-size:10px!important;
    padding-top:1px!important;
  }

  .twsi-gscb .twsi-chart-toolbar{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:7px 0!important;
    scrollbar-width:none!important;
  }
  .twsi-gscb .twsi-chart-toolbar::-webkit-scrollbar{display:none}
  .twsi-gscb .twsi-toolbar-left{
    display:flex!important;
    flex:0 0 auto!important;
    flex-wrap:nowrap!important;
    width:auto!important;
    gap:2px!important;
  }
  .twsi-gscb .twsi-chart-toolbar>div:last-child{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:4px!important;
  }
  .twsi-gscb .twsi-chart-toolbar button{
    min-width:32px!important;
    height:32px!important;
    padding:0 7px!important;
  }
  .twsi-gscb .twsi-compare-toolbar{
    min-width:138px!important;
    font-size:10px!important;
  }
  .twsi-gscb .twsi-inspection-mode{display:none!important}

  .twsi-gscb .twsi-chart-title-row{
    min-height:50px!important;
    padding:7px 2px 5px!important;
    align-items:flex-start!important;
  }
  .twsi-gscb .twsi-chart-title-row strong{
    display:block!important;
    font-size:11px!important;
    line-height:1.25!important;
  }
  .twsi-gscb .twsi-ohlc{
    display:flex!important;
    flex-wrap:wrap!important;
    margin:4px 0 0!important;
    gap:2px 8px!important;
    font-size:9px!important;
    line-height:1.25!important;
  }

  .twsi-gscb #twsi-gscb-chart{
    width:100%!important;
    height:430px!important;
    min-height:430px!important;
    max-height:430px!important;
    overflow:visible!important;
  }
  .twsi-gscb #twsi-gscb-chart .modebar{
    transform:scale(.78)!important;
    transform-origin:top right!important;
  }
  .twsi-gscb .twsi-quick-periods{
    display:flex!important;
    width:100%!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    gap:1px!important;
    padding:0 0 2px!important;
    scrollbar-width:none!important;
  }
  .twsi-gscb .twsi-quick-periods::-webkit-scrollbar{display:none}
  .twsi-gscb .twsi-quick-periods button{
    flex:0 0 auto!important;
    min-width:46px!important;
    min-height:39px!important;
    padding:7px 8px!important;
    font-size:10px!important;
  }
  .twsi-gscb .twsi-quick-periods .grow{display:none!important}

  /* --- Controls view polish --- */
  .twsi-gscb .twsi-left{
    padding:12px 14px 18px!important;
  }
  .twsi-gscb .twsi-left>.twsi-panel-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin-bottom:4px!important;
  }
  .twsi-gscb .twsi-left>.twsi-panel-head strong{font-size:14px!important}
  .twsi-gscb .twsi-left section{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:14px 0!important;
    border-bottom:1px solid #e7ebf2!important;
  }
  .twsi-gscb .twsi-left section h4{
    margin:0 0 10px!important;
    font-size:13px!important;
    line-height:1.2!important;
  }
  .twsi-gscb .twsi-segment,
  .twsi-gscb .twsi-periods{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .twsi-gscb .twsi-segment button,
  .twsi-gscb .twsi-periods button{
    min-width:0!important;
    min-height:40px!important;
    padding:8px 5px!important;
    font-size:11px!important;
  }
  .twsi-gscb .twsi-field-row,
  .twsi-gscb .twsi-color-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(130px,46%)!important;
    align-items:center!important;
    gap:12px!important;
    min-height:42px!important;
    font-size:11px!important;
  }
  .twsi-gscb .twsi-field-row select{width:100%!important;min-height:38px!important;font-size:11px!important}
  .twsi-gscb .twsi-color-row input[type="color"]{width:38px!important;height:28px!important;justify-self:end!important}
  .twsi-gscb .twsi-check{
    min-height:34px!important;
    display:flex!important;
    align-items:flex-start!important;
    gap:8px!important;
    font-size:11px!important;
    line-height:1.3!important;
  }
  .twsi-gscb .twsi-range-control{width:100%!important}
  .twsi-gscb .twsi-annotation-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .twsi-gscb .twsi-annotation-grid button{
    min-height:44px!important;
    padding:8px!important;
    font-size:10px!important;
  }
  .twsi-gscb .twsi-template-btn{
    width:100%!important;
    min-height:45px!important;
    margin-top:14px!important;
    font-size:11px!important;
  }

  /* --- Market Statistics on Chart tab --- */
  .twsi-gscb[data-mobile-view="chart"] .twsi-right .right-top{
    padding:14px 12px 16px!important;
  }
  .twsi-gscb .twsi-market-stats-head h4{font-size:13px!important}
  .twsi-gscb .twsi-market-table{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 12px!important;
  }
  .twsi-gscb .twsi-market-table .twsi-stat-row{
    min-height:40px!important;
    padding:7px 2px!important;
  }
  .twsi-gscb .twsi-market-table .twsi-stat-row.primary{
    grid-column:1/-1!important;
    min-height:48px!important;
    padding:10px 10px!important;
  }

  /* --- Compare view --- */
  .twsi-gscb .twsi-right .twsi-panel-head{
    align-items:center!important;
    gap:8px!important;
  }
  .twsi-gscb .twsi-right .twsi-panel-head h4{font-size:14px!important}
  .twsi-gscb .twsi-add-security{
    min-height:46px!important;
    font-size:12px!important;
  }
  .twsi-gscb .twsi-relative-card{
    margin-top:12px!important;
    padding:12px!important;
    border-radius:9px!important;
  }
  .twsi-gscb .twsi-relative-controls select{
    min-height:42px!important;
    font-size:11px!important;
  }
  .twsi-gscb .twsi-relative-plot-row{
    margin-top:10px!important;
    gap:8px!important;
  }
  .twsi-gscb .twsi-mini-chart{
    height:230px!important;
    min-height:230px!important;
    margin-top:10px!important;
  }

  /* --- Export view --- */
  .twsi-gscb .twsi-export h3{
    margin:0 0 12px!important;
    font-size:18px!important;
  }
  .twsi-gscb .twsi-export-mode{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    gap:6px!important;
    margin-bottom:16px!important;
  }
  .twsi-gscb .twsi-export-mode>span{
    grid-column:1/-1!important;
    font-size:9px!important;
  }
  .twsi-gscb .twsi-export-mode button{
    min-width:0!important;
    min-height:48px!important;
    padding:7px 4px!important;
    font-size:10px!important;
  }
  .twsi-gscb .twsi-export-grid{
    display:block!important;
  }
  .twsi-gscb .twsi-export-grid>div{
    width:100%!important;
    margin:0 0 18px!important;
  }
  .twsi-gscb .twsi-export-grid h5{
    margin-bottom:9px!important;
    font-size:10px!important;
  }
  .twsi-gscb .twsi-export-options{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .twsi-gscb .twsi-export-options button{
    width:100%!important;
    min-width:0!important;
    min-height:78px!important;
    padding:9px 5px!important;
    font-size:10px!important;
  }
  .twsi-gscb .twsi-export-options button small{font-size:8px!important}
  .twsi-gscb .twsi-download-wrap{
    width:100%!important;
    margin:4px auto 0!important;
    align-items:center!important;
  }
  .twsi-gscb .twsi-download{
    width:min(100%,340px)!important;
    min-height:48px!important;
    font-size:13px!important;
  }

  /* Mobile disclaimer */
  .twsi-gscb .twsi-disclaimer-inner{
    padding:14px 14px 16px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner strong{font-size:10px!important}
  .twsi-gscb .twsi-disclaimer-inner p{font-size:9.5px!important;line-height:1.55!important}
}

@media(max-width:520px){
  .twsi-gscb .twsi-tool-title-wrap strong{font-size:10px!important}
  .twsi-gscb .twsi-tool-nav{max-width:68%!important}
  .twsi-gscb .twsi-tool-nav button{min-width:54px!important;padding:0 6px!important;font-size:8px!important}

  .twsi-gscb .twsi-price{font-size:18px!important}
  .twsi-gscb .twsi-asof{display:none!important}

  .twsi-gscb #twsi-gscb-chart{
    height:390px!important;
    min-height:390px!important;
    max-height:390px!important;
  }

  .twsi-gscb .twsi-market-table{
    grid-template-columns:1fr!important;
  }
  .twsi-gscb .twsi-market-table .twsi-stat-row.primary{
    grid-column:1!important;
  }

  .twsi-gscb .twsi-segment,
  .twsi-gscb .twsi-periods{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .twsi-gscb .twsi-export-options{
    grid-template-columns:1fr 1fr!important;
  }
}


/* =========================================================
   v0.8.3 — mobile disclaimer visibility fix
   ========================================================= */
@media(max-width:900px){

  .twsi-gscb .twsi-disclaimer-strip{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    order:99!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    border-top:1px solid #e4e9f1!important;
    position:relative!important;
    z-index:1!important;
  }

  /* Keep it visible in EVERY mobile workspace tab. */
  .twsi-gscb[data-mobile-view="chart"] .twsi-disclaimer-strip,
  .twsi-gscb[data-mobile-view="controls"] .twsi-disclaimer-strip,
  .twsi-gscb[data-mobile-view="compare"] .twsi-disclaimer-strip,
  .twsi-gscb[data-mobile-view="export"] .twsi-disclaimer-strip{
    display:block!important;
  }

  .twsi-gscb .twsi-disclaimer-inner{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0 auto!important;
    padding:16px 16px 18px!important;
    text-align:center!important;
  }

  .twsi-gscb .twsi-disclaimer-inner strong{
    display:block!important;
    margin:0 0 7px!important;
    font-size:10.5px!important;
    line-height:1.2!important;
    letter-spacing:.09em!important;
    text-align:center!important;
  }

  .twsi-gscb .twsi-disclaimer-inner p{
    display:block!important;
    margin:0 auto!important;
    max-width:620px!important;
    font-size:10px!important;
    line-height:1.6!important;
    text-align:center!important;
  }

  /* Prevent footer-gap compensation from visually pulling the disclaimer underneath the footer on phones. */
  body.twsi-tool-page .twsi-gscb{
    margin-bottom:0!important;
  }
}

@media(max-width:520px){
  .twsi-gscb .twsi-disclaimer-inner{
    padding:15px 13px 17px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner strong{
    font-size:10px!important;
  }
  .twsi-gscb .twsi-disclaimer-inner p{
    font-size:9.6px!important;
    line-height:1.58!important;
  }
}


/* =========================================================
   v0.8.4 — mobile top navigation alignment fix
   ========================================================= */
@media(max-width:900px){

  .twsi-gscb .twsi-tool-masthead{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }

  .twsi-gscb .twsi-tool-brand{
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:42%!important;
  }

  .twsi-gscb .twsi-tool-nav{
    flex:1 1 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:center!important;
    gap:3px!important;
    overflow:visible!important;
    padding:3px!important;
  }

  .twsi-gscb .twsi-tool-nav button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:34px!important;
    padding:0 4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    line-height:1!important;
    font-size:8.5px!important;
    font-weight:750!important;
    margin:0!important;
  }

  .twsi-gscb .twsi-tool-nav button.active{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
}

@media(max-width:560px){
  .twsi-gscb .twsi-tool-brand{
    max-width:40%!important;
  }

  .twsi-gscb .twsi-tool-title-wrap strong{
    max-width:100%!important;
  }

  .twsi-gscb .twsi-tool-nav{
    gap:2px!important;
  }

  .twsi-gscb .twsi-tool-nav button{
    height:32px!important;
    font-size:8px!important;
    padding:0 2px!important;
  }
}

@media(max-width:420px){
  .twsi-gscb .twsi-tool-brand{
    max-width:37%!important;
  }

  .twsi-gscb .twsi-tool-logo-box{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    max-width:25px!important;
    min-height:25px!important;
    max-height:25px!important;
    flex-basis:25px!important;
  }

  .twsi-gscb .twsi-tool-brand-logo{
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    max-width:19px!important;
    min-height:19px!important;
    max-height:19px!important;
  }

  .twsi-gscb .twsi-tool-title-wrap strong{
    font-size:9.5px!important;
  }

  .twsi-gscb .twsi-tool-nav button{
    font-size:7.5px!important;
  }
}


/* =========================================================
   v0.8.6 — real SVG action icons
   ========================================================= */

/* Download button — real download SVG, not a text arrow. */
.twsi-gscb .twsi-download{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.twsi-gscb .twsi-btn-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}
.twsi-gscb .twsi-download-icon{
  width:22px!important;
  height:22px!important;
}
.twsi-gscb .twsi-download-icon svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
}

/* Secure & Private — shield-check icon */
.twsi-gscb .twsi-secure{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  color:#00a972!important;
  font-weight:750!important;
}
.twsi-gscb .twsi-secure-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}
.twsi-gscb .twsi-secure-icon svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
}

/* Capture + fullscreen toolbar actions — same visual weight and size */
.twsi-gscb .twsi-icon-action,
.twsi-gscb [data-action="snapshot"],
.twsi-gscb [data-action="fullscreen"]{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:7px!important;
  color:#24344f!important;
  background:transparent!important;
  border:1px solid transparent!important;
  cursor:pointer!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease!important;
}
.twsi-gscb .twsi-icon-action:hover,
.twsi-gscb [data-action="snapshot"]:hover,
.twsi-gscb [data-action="fullscreen"]:hover{
  background:#f5f7fb!important;
  border-color:#dbe3ef!important;
  color:#2547FF!important;
}
.twsi-gscb .twsi-toolbar-icon{
  width:21px!important;
  height:21px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:none!important;
}
.twsi-gscb .twsi-toolbar-icon svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
}

/* Slightly bigger in the desktop toolbar for immediate recognisability */
@media(min-width:901px){
  .twsi-gscb [data-action="snapshot"],
  .twsi-gscb [data-action="fullscreen"]{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    min-height:40px!important;
  }
  .twsi-gscb [data-action="snapshot"] .twsi-toolbar-icon,
  .twsi-gscb [data-action="fullscreen"] .twsi-toolbar-icon{
    width:22px!important;
    height:22px!important;
  }
}

/* Keep them comfortably tappable on phones. */
@media(max-width:900px){
  .twsi-gscb [data-action="snapshot"],
  .twsi-gscb [data-action="fullscreen"]{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }
  .twsi-gscb [data-action="snapshot"] .twsi-toolbar-icon,
  .twsi-gscb [data-action="fullscreen"] .twsi-toolbar-icon{
    width:20px!important;
    height:20px!important;
  }
}


/* v0.8.7 — standard download-to-tray icon */
.twsi-gscb .twsi-download{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.twsi-gscb .twsi-download-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
}
.twsi-gscb .twsi-download-icon svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
}


/* =========================================================
   v0.8.8 — Download icon/text optical alignment
   ========================================================= */
.twsi-gscb .twsi-download{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  line-height:1!important;
}

.twsi-gscb .twsi-download > span:last-child{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}

.twsi-gscb .twsi-download-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:25px!important;
  height:25px!important;
  flex:0 0 25px!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  top:0!important;
  transform:none!important;
}

.twsi-gscb .twsi-download-icon svg{
  display:block!important;
  width:25px!important;
  height:25px!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
  vertical-align:middle!important;
}

/* Preserve true horizontal centring on mobile too */
@media(max-width:900px){
  .twsi-gscb .twsi-download{
    align-items:center!important;
    justify-content:center!important;
  }
}


/* =========================================================
   v0.8.9 — lock icon + label together as ONE centred unit
   ========================================================= */
.twsi-gscb .twsi-download{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

.twsi-gscb .twsi-download-content{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  margin:0 auto!important;
  padding:0!important;
  line-height:1!important;
  position:static!important;
  transform:none!important;
}

.twsi-gscb .twsi-download-content .twsi-download-icon{
  display:inline-flex!important;
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
}

.twsi-gscb .twsi-download-content .twsi-download-icon svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
  margin:0!important;
}

.twsi-gscb .twsi-download-content .twsi-download-label{
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Prevent older generic span rules from independently centring the label. */
.twsi-gscb .twsi-download > .twsi-download-content:last-child{
  display:inline-flex!important;
}


/* =========================================================
   v0.9.0 — mobile comparison chart breathing room
   Relative Strength becomes a lower panel on mobile.
   ========================================================= */
@media(max-width:900px){

  /* Standard mobile comparison chart */
  .twsi-gscb #twsi-gscb-chart{
    width:100%!important;
    height:460px!important;
    min-height:460px!important;
    max-height:460px!important;
  }

  /* When relative strength is on, give the chart a real two-panel workspace. */
  .twsi-gscb.twsi-mobile-relative-panel #twsi-gscb-chart{
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
  }

  /* Fullscreen must use the whole phone canvas, not the normal mobile fixed height. */
  .twsi-gscb #twsi-gscb-chart:fullscreen,
  .twsi-gscb #twsi-gscb-chart:-webkit-full-screen,
  #twsi-gscb-chart:fullscreen,
  #twsi-gscb-chart:-webkit-full-screen{
    width:100vw!important;
    height:100vh!important;
    min-width:100vw!important;
    min-height:100vh!important;
    max-width:100vw!important;
    max-height:100vh!important;
    margin:0!important;
    padding:6px!important;
    box-sizing:border-box!important;
    background:var(--twsi-chart-bg,#fff)!important;
  }

  .twsi-gscb #twsi-gscb-chart:fullscreen .svg-container,
  .twsi-gscb #twsi-gscb-chart:-webkit-full-screen .svg-container,
  #twsi-gscb-chart:fullscreen .svg-container,
  #twsi-gscb-chart:-webkit-full-screen .svg-container{
    width:100%!important;
    height:100%!important;
  }

  /* Keep Plotly controls small and away from the data. */
  .twsi-gscb.twsi-mobile-relative-panel #twsi-gscb-chart .modebar{
    transform:scale(.70)!important;
    transform-origin:top right!important;
  }
}

@media(max-width:520px){
  .twsi-gscb #twsi-gscb-chart{
    height:430px!important;
    min-height:430px!important;
    max-height:430px!important;
  }

  .twsi-gscb.twsi-mobile-relative-panel #twsi-gscb-chart{
    height:540px!important;
    min-height:540px!important;
    max-height:540px!important;
  }

  .twsi-gscb #twsi-gscb-chart:fullscreen,
  .twsi-gscb #twsi-gscb-chart:-webkit-full-screen,
  #twsi-gscb-chart:fullscreen,
  #twsi-gscb-chart:-webkit-full-screen{
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
  }
}


/* =========================================================
   v0.9.1 — mobile/tablet fullscreen workspace + unified toolbar icons
   ========================================================= */

/* Relative strength stays overlaid with comparison securities on all devices. */
@media(max-width:900px){
  .twsi-gscb.twsi-mobile-relative-panel #twsi-gscb-chart{
    height:460px!important;
    min-height:460px!important;
    max-height:460px!important;
  }
}

/* Same real camera + fullscreen buttons on desktop, tablet and mobile. */
.twsi-gscb [data-action="snapshot"],
.twsi-gscb [data-action="fullscreen"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  border-radius:7px!important;
}
.twsi-gscb [data-action="snapshot"] .twsi-toolbar-icon,
.twsi-gscb [data-action="fullscreen"] .twsi-toolbar-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:23px!important;
  height:23px!important;
}
.twsi-gscb [data-action="snapshot"] .twsi-toolbar-icon svg,
.twsi-gscb [data-action="fullscreen"] .twsi-toolbar-icon svg{
  display:block!important;
  width:23px!important;
  height:23px!important;
}

/* Fullscreen becomes a true chart workspace. */
.twsi-gscb.twsi-chart-is-fullscreen{
  overflow:hidden!important;
}
.twsi-gscb.twsi-chart-is-fullscreen #twsi-gscb-chart,
#twsi-gscb-chart:fullscreen,
#twsi-gscb-chart:-webkit-full-screen{
  width:100vw!important;
  height:100vh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  max-width:100vw!important;
  max-height:100vh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-sizing:border-box!important;
  background:var(--twsi-chart-bg,#fff)!important;
}

/* Plotly's inner surfaces must also fill the fullscreen element. */
.twsi-gscb.twsi-chart-is-fullscreen #twsi-gscb-chart .plot-container,
.twsi-gscb.twsi-chart-is-fullscreen #twsi-gscb-chart .svg-container,
.twsi-gscb.twsi-chart-is-fullscreen #twsi-gscb-chart .main-svg,
#twsi-gscb-chart:fullscreen .plot-container,
#twsi-gscb-chart:fullscreen .svg-container,
#twsi-gscb-chart:fullscreen .main-svg,
#twsi-gscb-chart:-webkit-full-screen .plot-container,
#twsi-gscb-chart:-webkit-full-screen .svg-container,
#twsi-gscb-chart:-webkit-full-screen .main-svg{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}

/* On phones/tablets, fullscreen icons remain readable and tappable. */
@media(max-width:900px){
  .twsi-gscb [data-action="snapshot"],
  .twsi-gscb [data-action="fullscreen"]{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
  }
  .twsi-gscb [data-action="snapshot"] .twsi-toolbar-icon,
  .twsi-gscb [data-action="fullscreen"] .twsi-toolbar-icon{
    width:22px!important;
    height:22px!important;
  }

  .twsi-gscb.twsi-chart-is-fullscreen #twsi-gscb-chart .modebar,
  #twsi-gscb-chart:fullscreen .modebar,
  #twsi-gscb-chart:-webkit-full-screen .modebar{
    transform:scale(.88)!important;
    transform-origin:top right!important;
  }
}

/* Landscape fullscreen is where comparison charts get their real breathing room. */
@media(max-width:900px) and (orientation:landscape){
  .twsi-gscb.twsi-chart-is-fullscreen #twsi-gscb-chart,
  #twsi-gscb-chart:fullscreen,
  #twsi-gscb-chart:-webkit-full-screen{
    width:100vw!important;
    height:100vh!important;
  }
}


/* =========================================================
   v0.9.2 — larger zoom/reset controls + clearer compare icon
   ========================================================= */

/* Plus, minus and reset now match camera/fullscreen sizing */
.twsi-gscb [data-action="zoom-in"],
.twsi-gscb [data-action="zoom-out"],
.twsi-gscb [data-action="reset-zoom"]{
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:7px!important;
  color:#24344f!important;
  background:transparent!important;
  border:1px solid transparent!important;
  cursor:pointer!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease!important;
}

.twsi-gscb [data-action="zoom-in"]:hover,
.twsi-gscb [data-action="zoom-out"]:hover,
.twsi-gscb [data-action="reset-zoom"]:hover{
  background:#f5f7fb!important;
  border-color:#dbe3ef!important;
  color:#2547FF!important;
}

.twsi-gscb [data-action="zoom-in"] .twsi-toolbar-icon,
.twsi-gscb [data-action="zoom-out"] .twsi-toolbar-icon,
.twsi-gscb [data-action="reset-zoom"] .twsi-toolbar-icon{
  width:22px!important;
  height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.twsi-gscb [data-action="zoom-in"] .twsi-toolbar-icon svg,
.twsi-gscb [data-action="zoom-out"] .twsi-toolbar-icon svg,
.twsi-gscb [data-action="reset-zoom"] .twsi-toolbar-icon svg{
  display:block!important;
  width:22px!important;
  height:22px!important;
}

/* Compare security button — clearer market-comparison symbol */
.twsi-gscb .twsi-compare-toolbar{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:0 14px!important;
  font-weight:750!important;
  border-radius:7px!important;
}

.twsi-gscb .twsi-compare-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:23px!important;
  height:23px!important;
  flex:0 0 23px!important;
  color:currentColor!important;
}

.twsi-gscb .twsi-compare-icon svg{
  display:block!important;
  width:23px!important;
  height:23px!important;
}

/* Keep all primary toolbar action icons visually consistent on tablet/mobile */
@media(max-width:900px){
  .twsi-gscb [data-action="zoom-in"],
  .twsi-gscb [data-action="zoom-out"],
  .twsi-gscb [data-action="reset-zoom"],
  .twsi-gscb [data-action="snapshot"],
  .twsi-gscb [data-action="fullscreen"]{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
  }

  .twsi-gscb [data-action="zoom-in"] .twsi-toolbar-icon,
  .twsi-gscb [data-action="zoom-out"] .twsi-toolbar-icon,
  .twsi-gscb [data-action="reset-zoom"] .twsi-toolbar-icon,
  .twsi-gscb [data-action="snapshot"] .twsi-toolbar-icon,
  .twsi-gscb [data-action="fullscreen"] .twsi-toolbar-icon{
    width:21px!important;
    height:21px!important;
  }

  .twsi-gscb .twsi-compare-toolbar{
    min-height:38px!important;
    padding:0 11px!important;
    gap:7px!important;
  }

  .twsi-gscb .twsi-compare-icon{
    width:21px!important;
    height:21px!important;
    flex-basis:21px!important;
  }

  .twsi-gscb .twsi-compare-icon svg{
    width:21px!important;
    height:21px!important;
  }
}


/* =========================================================
   v0.9.3 — dynamic security/company logos with letter fallback
   ========================================================= */
.twsi-gscb .twsi-logo{
  position:relative!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#050505!important;
}

.twsi-gscb .twsi-logo.has-image{
  background:#fff!important;
  border:1px solid #e2e7ef!important;
  padding:7px!important;
}

.twsi-gscb .twsi-security-logo-img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:inherit!important;
}

/* Keep official logos readable instead of cropping them on smaller devices. */
@media(max-width:900px){
  .twsi-gscb .twsi-logo.has-image{
    padding:5px!important;
  }
}


/* =========================================================
   v0.9.4 — reliable ticker-logo fallback
   ========================================================= */
.twsi-gscb .twsi-logo.has-image{
  background:#fff!important;
  border:1px solid #e1e7f0!important;
  padding:6px!important;
}

.twsi-gscb .twsi-security-logo-img{
  object-fit:contain!important;
  background:transparent!important;
}

/* v0.9.6 — Chart Only export typography controls */
.twsi-export-font-control{display:grid;grid-template-columns:minmax(112px,1fr) minmax(90px,1.15fr) 52px;align-items:center;gap:10px;width:100%;margin-top:10px;font:inherit}
.twsi-export-font-control input[type="range"]{width:100%;min-width:0}
.twsi-export-font-control b{font-size:12px;text-align:right;white-space:nowrap}
@media(max-width:900px){.twsi-export-font-control{grid-template-columns:minmax(120px,1fr) minmax(120px,1.2fr) 54px;gap:12px}.twsi-export-font-control span{font-size:15px;line-height:1.25}.twsi-export-font-control b{font-size:14px}}

/* =========================================================
   v0.9.11 — FLUID RESPONSIVE WORKBENCH
   Prevents the chart from being crushed at laptop / DevTools widths.
   Desktop: 3 columns only when there is genuinely enough room.
   Compact desktop/tablet landscape: controls + chart, right rail below.
   Mobile: existing tabbed single-column experience remains intact.
   ========================================================= */
@media (min-width:901px) and (max-width:1360px){
  .twsi-gscb{
    grid-template-columns:clamp(210px,21vw,245px) minmax(0,1fr)!important;
    width:100vw!important;
    max-width:100vw!important;
  }
  .twsi-gscb .twsi-tool-masthead{grid-column:1/-1!important}
  .twsi-gscb .twsi-left{grid-column:1!important;grid-row:auto!important;min-width:0!important}
  .twsi-gscb .twsi-main{grid-column:2!important;grid-row:auto!important;min-width:0!important;width:100%!important}
  .twsi-gscb .twsi-right{
    grid-column:1/-1!important;
    grid-row:auto!important;
    width:100%!important;
    min-width:0!important;
    border-left:0!important;
    border-top:1px solid var(--line)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .twsi-gscb .twsi-disclaimer-strip{grid-column:1/-1!important}
  .twsi-gscb .twsi-search-row{grid-template-columns:minmax(0,1fr) clamp(145px,17vw,180px)!important}
  .twsi-gscb .twsi-quote-head{grid-template-columns:minmax(220px,1fr) auto auto!important;gap:10px!important}
  .twsi-gscb .twsi-chart-toolbar{flex-wrap:wrap!important;height:auto!important;min-height:44px!important;padding:4px 0!important}
  .twsi-gscb #twsi-gscb-chart,.twsi-gscb .twsi-chart{width:100%!important;min-width:0!important;height:clamp(390px,48vh,520px)!important}
  .twsi-gscb .twsi-export-grid{grid-template-columns:1fr 1fr!important;gap:14px!important}
  .twsi-gscb .twsi-stat-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* Narrow laptops: protect the chart first; controls become a narrower rail. */
@media (min-width:901px) and (max-width:1100px){
  .twsi-gscb{grid-template-columns:210px minmax(0,1fr)!important}
  .twsi-gscb .twsi-left{padding-left:8px!important;padding-right:8px!important}
  .twsi-gscb .twsi-main{padding-left:9px!important;padding-right:9px!important}
  .twsi-gscb .twsi-company-name{font-size:16px!important}
  .twsi-gscb .twsi-price{font-size:19px!important}
  .twsi-gscb .twsi-quote-head{grid-template-columns:minmax(190px,1fr) auto!important}
  .twsi-gscb .twsi-market-status{grid-column:1/-1!important;justify-content:flex-start!important}
  .twsi-gscb .twsi-export-options{flex-wrap:wrap!important}
}

/* Ensure embedded Plotly/SVG/canvas content can never force a grid column wider. */
.twsi-gscb .twsi-main,
.twsi-gscb .twsi-chart,
.twsi-gscb #twsi-gscb-chart,
.twsi-gscb .js-plotly-plot,
.twsi-gscb .plot-container,
.twsi-gscb .svg-container{min-width:0!important;max-width:100%!important}

.twsi-gscb img,.twsi-gscb svg,.twsi-gscb canvas{max-width:100%}
