.ssi-root{
  --ssi-text:#e7f6ff;
  --ssi-muted:#9bc2d7;
  --ssi-accent:#1da1f2;
  --ssi-ring-track:rgba(255,255,255,.15);
  --ssi-global-value-color:#1da1f2;
  --ssi-global-label-color:#e7f6ff;
  --ssi-root-radius:22px;
  --ssi-root-padding:22px;
  --ssi-item-radius:14px;
  --ssi-card-bg:linear-gradient(180deg,#0b3142,#0a2b3a);
  --ssi-board-bg:linear-gradient(180deg,rgba(8,53,74,.75),rgba(7,41,58,.55));
  --ssi-grid-line:rgba(255,255,255,.16);
  --ssi-popup-bg:linear-gradient(180deg,#073449,#052638);
  --ssi-popup-text:#e7f6ff;
  --ssi-popup-muted:#9bc2d7;
  --ssi-popup-btn-bg:rgba(255,255,255,.08);
  --ssi-popup-btn-text:#e7f6ff;

  color:var(--ssi-text);
  background:radial-gradient(120% 120% at 0% 0%, #073247 0%, #021f2a 55%);
  border-radius:var(--ssi-root-radius);
  padding:var(--ssi-root-padding);
  box-shadow:0 18px 40px rgba(0,0,0,.24);
  position:relative;
}

.ssi-skeleton{height:240px;border-radius:16px;background:linear-gradient(90deg,#0f3344,#124961,#0f3344);background-size:200% 100%;animation:ssiLoading 1.2s infinite}
@keyframes ssiLoading{0%{background-position:200% 0}100%{background-position:-200% 0}}

.ssi-shell{display:flex;flex-direction:column;gap:18px}
.ssi-head{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:center}
.ssi-title{margin:0;font-size:1.35rem;letter-spacing:.01em}
.ssi-general-note{margin:.55rem 0 0;color:var(--ssi-muted);line-height:1.4}

.ssi-score-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}
.ssi-global-trigger{background:transparent;border:none;padding:0;cursor:pointer}
.ssi-ring{
  --p:0;
  --pc:var(--ssi-accent);
  width:160px;
  aspect-ratio:1/1;
  border-radius:50%;
  background:conic-gradient(var(--pc) calc(var(--p) * 1%), var(--ssi-ring-track) 0);
  display:grid;
  place-items:center;
}
.ssi-ring-inner{
  width:72%;
  height:72%;
  border-radius:50%;
  background:rgba(4,35,49,.95);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.ssi-ring-inner strong{font-size:1.7rem;line-height:1;color:var(--ssi-global-value-color)}
.ssi-ring-inner span{font-size:.78rem;color:var(--ssi-global-label-color);text-transform:uppercase;letter-spacing:.07em}
.ssi-overall-level{margin:0;color:#cdefff;text-align:center;font-size:.82rem;line-height:1.35}

.ssi-grid-horizontal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ssi-item{background:var(--ssi-card-bg);border-radius:var(--ssi-item-radius);padding:12px;border:1px solid rgba(255,255,255,.08)}
.ssi-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ssi-item-title{margin:0;font-size:1rem;font-weight:700}
.ssi-item-val{font-weight:800}
.ssi-track{height:9px;background:rgba(255,255,255,.14);border-radius:999px;overflow:hidden;margin-top:8px}
.ssi-fill{display:block;height:100%;width:0;border-radius:999px;transition:width .45s ease}
.ssi-range-note{margin:8px 0 0;color:var(--ssi-muted);font-size:.84rem;line-height:1.35}

.ssi-note-actions{margin-top:10px}
.ssi-note-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);color:var(--ssi-text);padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:700;cursor:pointer}
.ssi-note-box{margin-top:10px;padding:10px;border-radius:10px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.1)}
.ssi-note-row{margin:0;color:var(--ssi-muted);font-size:.84rem;line-height:1.4}
.ssi-note-row strong,.ssi-range-note strong{color:#d8f3ff}

/* Vertical layout */
.ssi-grid-vertical{
  position:relative;
  background:var(--ssi-board-bg);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  padding:14px 12px 12px 12px;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(68px, 1fr);
  gap:10px;
  align-items:end;
  min-height:290px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
}
.ssi-grid-vertical::before{
  content:'';
  position:absolute;
  inset:12px 12px 44px 12px;
  background:repeating-linear-gradient(
    to top,
    var(--ssi-grid-line) 0,
    var(--ssi-grid-line) 1px,
    transparent 1px,
    transparent 20%
  );
  pointer-events:none;
}

.ssi-v-col{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px}
.ssi-v-trigger{
  width:100%;
  max-width:56px;
  height:160px;
  border:none;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  display:flex;
  align-items:flex-end;
  padding:0;
  cursor:pointer;
  overflow:hidden;
}
.ssi-v-fill{display:block;width:100%;height:0;transition:height .45s ease;clip-path:polygon(50% 0,100% 10%,100% 100%,0 100%,0 10%)}
.ssi-v-meta{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.ssi-v-value{font-weight:800;font-size:.95rem;line-height:1}
.ssi-v-title{
  margin:0;
  font-size:.72rem;
  line-height:1.05;
  color:var(--ssi-muted);
  max-width:64px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ssi-v-popup,
.ssi-g-popup{
  background:var(--ssi-popup-bg);
  color:var(--ssi-popup-text);
}
.ssi-v-popup .ssi-note-row,
.ssi-g-popup .ssi-note-row,
.ssi-g-popup-list{color:var(--ssi-popup-muted)}
.ssi-v-popup .ssi-note-row strong,
.ssi-g-popup .ssi-note-row strong,
.ssi-g-popup-list strong{color:var(--ssi-popup-text)}

.ssi-v-popup{
  position:absolute;
  width:min(300px, calc(100% - 20px));
  z-index:5;
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;
  padding:12px;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
  overflow:auto;
  box-sizing:border-box;
}
.ssi-v-popup-head{
  display:grid;
  grid-template-columns:1fr 72px;
  gap:10px;
  align-items:center;
  margin-bottom:8px;
}
.ssi-v-popup-item{margin:0;font-size:.92rem;line-height:1.2}
.ssi-v-popup-ring{
  --p:0;
  --pc:var(--ssi-accent);
  width:72px;
  aspect-ratio:1/1;
  border-radius:50%;
  background:conic-gradient(var(--pc) calc(var(--p) * 1%), var(--ssi-ring-track) 0);
  display:grid;
  place-items:center;
}
.ssi-v-popup-ring-inner{
  width:68%;
  height:68%;
  border-radius:50%;
  background:rgba(4,35,49,.95);
  display:grid;
  place-items:center;
}
.ssi-v-popup-value{font-size:.88rem;line-height:1}
.ssi-v-popup-close{
  display:inline-flex;
  margin-top:12px;
  margin-left:auto;
  background:var(--ssi-popup-btn-bg);
  border:1px solid rgba(255,255,255,.24);
  color:var(--ssi-popup-btn-text);
  padding:6px 11px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
  cursor:pointer;
}
.ssi-note-spacer{height:10px}

.ssi-g-popup{
  position:absolute;
  inset:auto 10px 10px 10px;
  z-index:6;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  box-shadow:0 14px 36px rgba(0,0,0,.35);
  padding:12px;
  overflow:auto;
  box-sizing:border-box;
}
.ssi-g-popup-head{display:grid;grid-template-columns:1fr 86px;gap:10px;align-items:center;margin-bottom:10px}
.ssi-g-popup-head h4{margin:0;font-size:1rem;line-height:1.25}
.ssi-g-popup-ring{
  --p:0;
  --pc:var(--ssi-accent);
  width:86px;
  aspect-ratio:1/1;
  border-radius:50%;
  background:conic-gradient(var(--pc) calc(var(--p) * 1%), var(--ssi-ring-track) 0);
  display:grid;
  place-items:center;
}
.ssi-g-popup-ring-inner{
  width:68%;
  height:68%;
  border-radius:50%;
  background:rgba(4,35,49,.95);
  display:grid;
  place-items:center;
  text-align:center;
}
.ssi-g-popup-ring-inner strong{font-size:.9rem;line-height:1;color:var(--ssi-global-value-color)}
.ssi-g-popup-ring-inner span{font-size:.62rem;color:var(--ssi-global-label-color);text-transform:uppercase}
.ssi-g-popup-subtitle{margin:10px 0 6px;font-size:.85rem;color:var(--ssi-popup-text)}
.ssi-g-popup-list{list-style:none;margin:0;padding:0;max-height:130px;overflow:auto;display:grid;gap:6px}
.ssi-g-popup-list li{display:flex;justify-content:space-between;gap:8px;font-size:.8rem}
.ssi-g-popup-close{
  margin-top:10px;
  background:var(--ssi-popup-btn-bg);
  border:1px solid rgba(255,255,255,.24);
  color:var(--ssi-popup-btn-text);
  padding:6px 10px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
  cursor:pointer;
}

.ssi-footer-meta{
  margin-top:8px;
  padding-top:10px;
  border-top:1px dashed rgba(255,255,255,.2);
  color:var(--ssi-muted);
  font-size:.82rem;
  line-height:1.4;
}
.ssi-footer-meta p{margin:0 0 6px}
.ssi-footer-meta p:last-child{margin-bottom:0}
.ssi-footer-meta strong{color:var(--ssi-text)}

@media (max-width:900px){
  .ssi-head{grid-template-columns:minmax(0,75%) minmax(0,25%);align-items:start}
  .ssi-score-wrap{align-items:flex-end;padding-right:8px}
  .ssi-ring{width:120px}
  .ssi-overall-level{text-align:right}
}

@media (max-width:640px){
  .ssi-root{padding:16px 14px;border-radius:16px}
  .ssi-grid-horizontal{grid-template-columns:1fr}
  .ssi-grid-vertical{grid-auto-columns:60px;min-height:250px}
  .ssi-v-title{max-width:56px;font-size:.63rem}
  .ssi-v-popup{width:min(270px, calc(100% - 16px))}
  .ssi-head{grid-template-columns:minmax(0,75%) minmax(0,25%);gap:10px}
  .ssi-title{font-size:1.05rem;line-height:1.15}
  .ssi-general-note{font-size:.92rem;margin-top:.3rem}
  .ssi-score-wrap{gap:6px;padding-right:4px}
  .ssi-ring{width:96px}
  .ssi-overall-level{font-size:.72rem;padding-right:2px}
  .ssi-g-popup{inset:auto 8px 8px 8px}
  .ssi-g-popup-head{grid-template-columns:1fr 76px}
  .ssi-g-popup-ring{width:76px}
  .ssi-v-popup{width:min(260px, calc(100% - 16px))}
}
