/* Short-position analytics — works on /shortposition and embeds (e.g. /shortsell HSI) */
.sl886-shortposition,
.shortposition-feed,
.shortposition-embed{
  --short-red:#b42335;
  --short-red-soft:#fff1f2;
  --short-green:#087a62;
  --short-green-soft:#eaf8f3;
  --short-gold:#ad7208;
  --short-charcoal:#15213a;
  --short-paper:#f4f7fc;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
}

.sl886-shortposition .sl886-home-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:28px clamp(20px,4vw,42px);
  background:
    linear-gradient(105deg,rgba(255,255,255,.96) 0%,rgba(247,250,255,.92) 58%,rgba(238,245,255,.88) 100%),
    repeating-linear-gradient(90deg,transparent 0 39px,rgba(31,78,154,.05) 40px);
}
.sl886-shortposition .sl886-home-hero::after{
  content:"SHORT";
  position:absolute;
  right:-12px;
  bottom:-38px;
  z-index:-1;
  color:rgba(31,78,154,.045);
  font:900 clamp(82px,15vw,178px)/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.08em;
  pointer-events:none;
}
.sl886-shortposition .sl886-home-hero__eyebrow{
  color:var(--short-red);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sl886-shortposition .sl886-home-hero__title{
  max-width:820px;
  margin-top:8px;
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
  font-size:clamp(30px,4.4vw,54px);
  line-height:1.12;
  letter-spacing:-.035em;
}
.sl886-shortposition .sl886-home-hero__desc{
  max-width:760px;
  color:var(--sl886-sub,#38507a);
  font-size:clamp(15px,1.8vw,18px);
  line-height:1.75;
}
.shortposition-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:16px;
  color:#506889;
  font-size:13px;
}
.shortposition-hero__meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.shortposition-hero__meta a{
  color:#1f4e9a;
  text-decoration:underline;
  text-underline-offset:2px;
}
.shortposition-hero__meta a:hover{
  color:var(--short-red);
}
.shortposition-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.shortposition-hero__actions .btn{
  border-radius:999px;
  padding:8px 14px;
  font-weight:700;
}

.shortposition-dashboard{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:16px 0;
}
.shortposition-kpi{
  position:relative;
  min-height:142px;
  padding:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:16px;
  box-shadow:var(--sl886-shadow,0 8px 22px rgba(17,52,110,.04));
}
.shortposition-kpi::after{
  content:"";
  position:absolute;
  right:-22px;
  bottom:-28px;
  width:90px;
  height:90px;
  border:18px solid rgba(31,78,154,.045);
  border-radius:50%;
}
.shortposition-kpi__label{
  display:block;
  margin-bottom:14px;
  color:#60728f;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.shortposition-kpi__value{
  display:block;
  color:var(--short-charcoal);
  font:700 clamp(25px,3vw,37px)/1.1 Georgia,"Times New Roman",serif;
}
.shortposition-kpi__note{
  display:block;
  margin-top:9px;
  color:#64748b;
  font-size:12px;
}
.shortposition-kpi--bull .shortposition-kpi__value{ color:var(--short-green); }
.shortposition-kpi--bear .shortposition-kpi__value{ color:var(--short-red); }

.shortposition-breadth{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:14px;
  margin-bottom:16px;
}
.shortposition-panel{
  padding:20px;
  background:#fff;
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:18px;
  box-shadow:var(--sl886-shadow,0 8px 22px rgba(17,52,110,.04));
}
.shortposition-panel__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.shortposition-panel__kicker{
  color:var(--sl886-blue,#1f4e9a);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.shortposition-panel h2,
.shortposition-panel h3{
  margin:4px 0 0;
  color:var(--short-charcoal);
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
}
.shortposition-breadth__track{
  display:flex;
  height:14px;
  overflow:hidden;
  background:#edf1f7;
  border-radius:999px;
}
.shortposition-breadth__down{
  background:linear-gradient(90deg,#087a62,#20a27f);
}
.shortposition-breadth__up{
  background:linear-gradient(90deg,#d45965,#b42335);
}
.shortposition-breadth__legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px;
  margin-top:12px;
  color:#4d607d;
  font-size:13px;
}
.shortposition-breadth__legend strong{ color:var(--short-charcoal); }

.shortposition-method{
  display:grid;
  gap:10px;
}
.shortposition-method__item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:start;
}
.shortposition-method__number{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  color:#fff;
  background:var(--sl886-blue,#1f4e9a);
  border-radius:50%;
  font:700 13px/1 Georgia,serif;
}
.shortposition-method__item strong{
  display:block;
  color:var(--short-charcoal);
  font-size:13px;
}
.shortposition-method__item span{
  color:#63738c;
  font-size:12px;
  line-height:1.55;
}

.shortposition-tabs{
  margin-bottom:14px;
  padding:14px 16px 4px;
  background:#fff;
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:16px;
}
.shortposition-lens{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding:16px 18px;
  color:#253b5f;
  background:linear-gradient(90deg,#f7faff,#fff);
  border-left:4px solid var(--sl886-blue,#1f4e9a);
  border-radius:0 14px 14px 0;
}
.shortposition-lens p{ margin:0; line-height:1.65; }
.shortposition-lens__more{
  flex:0 0 auto;
  color:var(--sl886-blue,#1f4e9a);
  font-size:13px;
  font-weight:800;
  text-decoration:none;
}
.shortposition-explainer{
  margin:-4px 0 16px;
  padding:20px;
  color:#435574;
  background:#fff;
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:16px;
}
.shortposition-explainer h3,
.shortposition-explainer h5{
  color:var(--short-charcoal);
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
}
.shortposition-explainer li,
.shortposition-explainer p{ line-height:1.75; }

/* Embed shell on /shortsell (replaces Bootstrap card) */
.shortposition-embed{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(165deg,rgba(255,255,255,.98) 0%,rgba(247,250,255,.95) 55%,#fff 100%),
    repeating-linear-gradient(-12deg,transparent 0 18px,rgba(31,78,154,.03) 18px 19px);
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:18px;
  box-shadow:var(--sl886-shadow,0 8px 22px rgba(17,52,110,.04));
}
.shortposition-embed::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--short-green),var(--sl886-blue,#1f4e9a),var(--short-red));
}

.shortposition-feed{
  padding:20px 18px 12px;
  background:transparent;
}
.shortposition-feed__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--sl886-line2,#d7e3f8);
}
.shortposition-feed__kicker{
  margin:0 0 4px;
  color:var(--sl886-blue,#1f4e9a);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.shortposition-feed__head h2{
  margin:0;
  color:var(--short-charcoal);
  font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;
  font-size:clamp(22px,2.8vw,28px);
  letter-spacing:-.02em;
}
.shortposition-feed__head p{
  margin:6px 0 0;
  max-width:46ch;
  color:#667892;
  font-size:13px;
  line-height:1.6;
}
.shortposition-feed__cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 14px;
  color:#fff;
  background:var(--sl886-blue,#1f4e9a);
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(31,78,154,.22);
  transition:transform .2s ease,background .2s ease;
}
.shortposition-feed__cta:hover{
  color:#fff;
  background:var(--sl886-blue2,#2463c0);
  transform:translateY(-1px);
}
.shortposition-feed .list-view{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.shortposition-signal{
  position:relative;
  padding:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--sl886-line,#e6ecf5);
  border-radius:16px;
  box-shadow:0 5px 18px rgba(22,60,115,.045);
  animation:shortposition-signal-in .45s ease both;
  animation-delay:var(--signal-delay,0s);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
@keyframes shortposition-signal-in{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:none; }
}
.shortposition-signal:hover{
  transform:translateY(-3px);
  border-color:#c8d9f4;
  box-shadow:0 14px 30px rgba(22,60,115,.10);
}
.shortposition-signal::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:var(--signal-color,var(--sl886-blue,#1f4e9a));
}
.shortposition-signal--bull{ --signal-color:var(--short-green); }
.shortposition-signal--bear{ --signal-color:var(--short-red); }
.shortposition-signal--confirmed{
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--signal-color) 5%,white) 0%,#fff 42%);
}
.shortposition-signal__top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:15px;
}
.shortposition-signal__stock{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.shortposition-signal__rank{
  flex:0 0 auto;
  color:#8a9bb5;
  font:800 12px/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.02em;
}
.shortposition-signal__code{
  display:inline-flex;
  padding:5px 8px;
  color:#fff;
  background:var(--short-charcoal);
  border-radius:8px;
  font:700 12px/1 Georgia,serif;
  text-decoration:none;
}
.shortposition-signal__code:hover{
  color:#fff;
  background:var(--sl886-blue,#1f4e9a);
}
.shortposition-signal__name{
  overflow:hidden;
  color:var(--short-charcoal);
  font-size:16px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.shortposition-signal__tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  align-self:start;
  flex:0 0 auto;
}
.shortposition-signal__badge,
.shortposition-signal__confirm{
  padding:5px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
}
.shortposition-signal__badge{
  color:var(--signal-color);
  background:color-mix(in srgb,var(--signal-color) 9%,white);
  border:1px solid color-mix(in srgb,var(--signal-color) 20%,white);
}
.shortposition-signal__confirm--on{
  color:#fff;
  background:var(--signal-color);
  border:1px solid transparent;
}
.shortposition-signal__confirm--off{
  color:#6b7c95;
  background:#f1f4f9;
  border:1px solid #dde5f0;
}
.shortposition-signal__metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
.shortposition-signal__metric{
  padding:10px;
  background:var(--short-paper);
  border-radius:10px;
}
.shortposition-signal__metric span{
  display:block;
  color:#75849a;
  font-size:10px;
  font-weight:700;
}
.shortposition-signal__metric strong{
  display:block;
  margin-top:4px;
  color:var(--short-charcoal);
  font-size:13px;
  white-space:nowrap;
}
.shortposition-signal__metric strong.is-bull,
.shortposition-signal__metric strong.is-up{ color:var(--short-green); }
.shortposition-signal__metric strong.is-bear,
.shortposition-signal__metric strong.is-down{ color:var(--short-red); }
.shortposition-signal__compare{
  margin:0 0 14px;
  padding:12px 12px 10px;
  background:linear-gradient(180deg,#fbfdff 0%,#f4f8fd 100%);
  border:1px solid var(--sl886-line2,#d7e3f8);
  border-radius:12px;
}
.shortposition-signal__compare-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.shortposition-signal__compare-head strong{
  color:var(--short-charcoal);
  font-size:12px;
  font-weight:800;
}
.shortposition-signal__compare-head span{
  color:var(--signal-color);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.shortposition-signal__compare-chart{
  display:block;
  width:100%;
  height:56px;
}
.shortposition-signal__axis{
  stroke:#d8e2f0;
  stroke-width:1;
}
.shortposition-signal__line{
  fill:none;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.shortposition-signal__line--short{ stroke:var(--signal-color); }
.shortposition-signal__line--price{ stroke:var(--sl886-blue,#1f4e9a); }
.shortposition-signal__dot{
  stroke:#fff;
  stroke-width:1.5;
}
.shortposition-signal__dot--short{ fill:var(--signal-color); }
.shortposition-signal__dot--price{ fill:var(--sl886-blue,#1f4e9a); }
.shortposition-signal__compare-legend{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  margin-top:6px;
  color:#61748e;
  font-size:10px;
}
.shortposition-signal__compare-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.shortposition-signal__compare-legend i{
  display:inline-block;
  width:16px;
  height:2px;
  border-radius:999px;
}
.shortposition-signal__compare-legend .short-line{ background:var(--signal-color); }
.shortposition-signal__compare-legend .price-line{ background:var(--sl886-blue,#1f4e9a); }
.shortposition-signal__rail{
  position:relative;
  height:7px;
  margin:4px 0 14px;
  background:#edf1f6;
  border-radius:999px;
}
.shortposition-signal__rail span{
  position:absolute;
  top:0;
  left:50%;
  width:var(--signal-width);
  height:100%;
  background:var(--signal-color);
  border-radius:999px;
}
.shortposition-signal--bull .shortposition-signal__rail span{
  right:50%;
  left:auto;
}
.shortposition-signal__insight{
  color:#53647f;
  font-size:13px;
  line-height:1.65;
}
.shortposition-signal__insight strong{ color:var(--short-charcoal); }
.shortposition-signal__details{
  margin-top:12px;
  padding-top:12px;
  border-top:1px dashed var(--sl886-line2,#d7e3f8);
}
.shortposition-signal__details summary{
  color:var(--sl886-blue,#1f4e9a);
  cursor:pointer;
  font-size:12px;
  font-weight:800;
  list-style:none;
}
.shortposition-signal__details summary::-webkit-details-marker{ display:none; }
.shortposition-signal__details summary::before{
  content:"▶ ";
  font-size:10px;
}
.shortposition-signal__details[open] summary::before{ content:"▼ "; }
.shortposition-signal__details-body{
  margin-top:10px;
  color:#596b86;
  font-size:12px;
  line-height:1.65;
}
.shortposition-feed .pagination{
  grid-column:1/-1;
  justify-content:center;
  margin-top:8px;
}
.shortposition-feed .page-link{
  margin:0 2px;
  color:var(--sl886-blue,#1f4e9a);
  border:1px solid var(--sl886-line2,#d7e3f8);
  border-radius:8px;
}
.shortposition-feed .page-item.active .page-link{
  background:var(--sl886-blue,#1f4e9a);
  border-color:var(--sl886-blue,#1f4e9a);
}
.shortposition-empty{
  grid-column:1/-1;
  padding:32px;
  color:#63738c;
  text-align:center;
  background:#fff;
  border:1px dashed var(--sl886-line2,#d7e3f8);
  border-radius:16px;
}
.shortposition-ad{
  margin:18px 0;
  padding:16px;
  text-align:center;
  background:var(--sl886-bg1,#f7f9fd);
  border:1px dashed var(--sl886-line2,#d7e3f8);
  border-radius:16px;
}
.shortposition-ad__label{
  display:block;
  margin-bottom:10px;
  color:#7b8ba1;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}

@media (max-width:991.98px){
  .shortposition-dashboard{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shortposition-breadth{ grid-template-columns:1fr; }
  .shortposition-feed .list-view{ grid-template-columns:1fr; }
  .shortposition-feed__head{ align-items:flex-start; flex-direction:column; }
}
@media (max-width:575.98px){
  .sl886-shortposition .sl886-home-hero{ padding:22px 18px; }
  .shortposition-dashboard{ gap:8px; }
  .shortposition-kpi{ min-height:128px; padding:14px; }
  .shortposition-lens{ display:block; }
  .shortposition-lens__more{ display:inline-block; margin-top:10px; }
  .shortposition-feed{ padding:16px 12px 8px; }
  .shortposition-signal__metrics{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shortposition-signal__top{ display:block; }
  .shortposition-signal__tags{ margin-top:10px; justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce){
  .shortposition-signal{
    animation:none;
    transition:none;
  }
  .shortposition-feed__cta{ transition:none; }
}
