Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Join the Playtest on Steam Now: SpiritVale

Module:GameInfo/styles.css: Difference between revisions

From SpiritVale Wiki
No edit summary
Tags: Manual revert Mobile edit Mobile web edit
No edit summary
Tags: Mobile edit Mobile web edit
 
(89 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Module:GameInfo/styles.css */
/* SpiritVale Wiki — Module:GameInfo/styles.css */
/* Phase 4.1 — Mockup Match + TemplateStyles-safe (NO var(), NO vendor pseudos) */
/* GameInfo-family layout and skill-specific presentation.
  Surface hierarchy:
  - bg1 = outer card / inactive neutral base
  - bg2 = grouped section surface
  - bg3 = inner framed block / pill surface
*/
/* -------------------------------------------------------------------------- */
/* Canonical ownership map                                                    */
/* -------------------------------------------------------------------------- */
/* This sheet owns GameInfo-family presentation only. That includes:          */
/* - GameInfo card shells and internal layout                                  */
/* - skill card presentation and module-local responsive changes              */
/* - module-local pills, panels, tabs, metadata blocks, and reference blocks  */
/*                                                                            */
/* It does NOT own:                                                            */
/* - shared site tokens / utilities / slider anatomy (Common.css)              */
/* - skin and chrome theme logic (Citizen.css)                                */
/* - definitions-only token styling (Definitions stylesheet)                   */
/*                                                                            */
/* Responsive cleanup note: GameInfo now maps its legacy mobile cutoffs into  */
/* the canonical six-viewpoint ladder. The module still uses descending range  */
/* queries for parity, but the breakpoints themselves are now canonical.      */
/* -------------------------------------------------------------------------- */
/* Canonical ladder                                                            */
/* -------------------------------------------------------------------------- */
/* - default: <640px                                                          */
/* - sm:      >=640px                                                          */
/* - md:      >=768px                                                          */
/* - lg:      >=1024px                                                        */
/* - xl:      >=1280px                                                        */
/* - 2xl:    >=1536px                                                        */
/* -------------------------------------------------------------------------- */


/* ----------------------------------------------------------------------------
 
  BASE CARD + SAFETY
/* -------------------------------------------------------------------------- */
---------------------------------------------------------------------------- */
/* 1) Base card and safety                                                    */
/* -------------------------------------------------------------------------- */


.sv-gi-card,
.sv-gi-card,
.sv-skill-card {
.sv-skill-card{
   max-width: 600px;
   max-width:600px;
   margin: 18px auto;
   margin:18px auto;
  border-radius:22px;
  overflow:visible;


   border-radius: 22px;
   background:var(--sv-ui-bg1);
   border: 1px solid rgba(255,255,255,0.085);
   background-image:none;


   background-color: #0f1b33;
   color:var(--sv-ui-text2);
  background-image:
   font-size:15px;
    radial-gradient(1200px 520px at 50% -20%, rgba(96,165,250,0.22), transparent 55%),
   line-height:1.35;
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)),
    radial-gradient(900px 360px at 50% 0, rgba(255,255,255,0.06), transparent 55%),
    linear-gradient(180deg, #0f1b33, #0c162b);
 
  box-shadow: 0 16px 38px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.04);
  overflow: visible;
 
  color: rgba(235,244,255,0.92);
   font-size: 12px;
   line-height: 1.35;
}
}


.sv-gi-top,
.sv-gi-top,
.sv-skill-top {
.sv-skill-top{ padding:14px 18px 4px; }
  padding: 14px 14px 4px;
  border-radius: 22px 22px 0 0;
  overflow: visible;
}


.sv-gi-bottom,
.sv-gi-bottom,
.sv-skill-bottom {
.sv-skill-bottom{ padding:10px 18px 12px; }
  padding: 10px 14px 12px;
  border-top: 1px solid rgba(255,255,255,0.050);
  border-radius: 0 0 22px 22px;
  background-image: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0.08));
}


.sv-gi-card,
.sv-gi-card,
.sv-gi-card *,
.sv-gi-card *,
.sv-skill-card,
.sv-skill-card,
.sv-skill-card * {
.sv-skill-card *{ box-sizing:border-box; }
  box-sizing: border-box;
 
.sv-gi-error{
  max-width:600px;
  margin:18px auto;
  padding:10px 12px;
 
  overflow-wrap:anywhere;
  word-break:break-word;
}
}


.sv-gi-card a,
.sv-gi-card summary,
.sv-skill-card a {
.sv-skill-card summary{ list-style:none; }
  color: rgba(170,220,255,0.95);
 
   text-decoration: none;
/* -------------------------------------------------------------------------- */
/* 2) Icons and fallback badges                                                */
/* -------------------------------------------------------------------------- */
 
.sv-skill-icon,
.sv-meta-icon,
.sv-ref-ico,
.sv_skill_scaling__stat-icon{
  font-size:0;
   line-height:0;
}
 
.sv-skill-icon a,
.sv-meta-icon a,
.sv-ref-ico a,
.sv_skill_scaling__stat-icon a{ text-decoration:none; }
 
.sv-skill-icon .sv-miss{
  width:22px;
  height:22px;
  font-size:13px;
  line-height:1;
}
}
.sv-gi-card a:hover,
 
.sv-skill-card a:hover {
.sv-meta-icon .sv-miss,
   text-decoration: underline;
.sv-ref-ico .sv-miss{
  width:18px;
  height:18px;
  font-size:12px;
   line-height:1;
}
}


/* Hide contract */
/* -------------------------------------------------------------------------- */
.sv-hidden { display: none !important; }
/* 2b) Interactive link treatment                                              */
[hidden] { display: none !important; }
/* -------------------------------------------------------------------------- */


/* Safe details reset (NO ::marker / NO vendor marker pseudos) */
.sv-disclose-pop a,
.sv-gi-card summary,
.sv-disclose-pop-title a,
.sv-skill-card summary {
.sv-tip-pop a,
   list-style: none;
.sv-tip-pop-title a,
.sv-def-pop a,
.sv-def-pop-title a,
.sv-pop a,
.sv-pop-title a,
.sv-gi-card .sv-ref-title a,
.sv-skill-card .sv-ref-title a{
   color:var(--sv-ui-link, #8fc7ff);
  text-decoration-line:underline;
  text-decoration-color:currentColor;
}
}


/* Focus */
.sv-disclose-pop a:hover,
.sv-tip-btn:focus,
.sv-disclose-pop-title a:hover,
.sv-disclose-btn:focus,
.sv-tip-pop a:hover,
.sv-tab:focus,
.sv-tip-pop-title a:hover,
.sv-level-range--custom:focus {
.sv-def-pop a:hover,
  outline: 2px solid rgba(170,220,255,0.55);
.sv-def-pop-title a:hover,
   outline-offset: 2px;
.sv-pop a:hover,
.sv-pop-title a:hover,
.sv-gi-card .sv-ref-title a:hover,
.sv-skill-card .sv-ref-title a:hover,
.sv-disclose-pop a:focus,
.sv-disclose-pop-title a:focus,
.sv-tip-pop a:focus,
.sv-tip-pop-title a:focus,
.sv-def-pop a:focus,
.sv-def-pop-title a:focus,
.sv-pop a:focus,
.sv-pop-title a:focus,
.sv-gi-card .sv-ref-title a:focus,
.sv-skill-card .sv-ref-title a:focus{
   color:var(--sv-ui-link-hover, #b8ddff);
}
}


/* Missing icon badge */
.sv-disclose-pop-title a,
.sv-miss {
.sv-tip-pop-title a,
  display: inline-block;
.sv-def-pop-title a,
  width: 18px;
.sv-pop-title a{
  height: 18px;
   font:inherit;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.050);
  background: rgba(255,255,255,0.05);
  font-weight: 900;
  font-size: 12px;
  line-height: 18px;
   text-align: center;
}
}


/* Image wrapper produced by Lua */
/* -------------------------------------------------------------------------- */
.sv-img { display: inline-block; }
/* 3) Skill header                                                            */
.sv-img img {
/* -------------------------------------------------------------------------- */
   display: block;
 
   border-radius: 10px;
.sv-skill-head{
   box-shadow: 0 10px 18px rgba(0,0,0,0.35);
   display:flex;
   align-items:flex-start;
  gap:12px;
   padding:2px 0 10px;
}
}


/* Shared “panel surface” */
.sv-skill-icon{
.sv-skill-level,
  flex:0 0 auto;
.sv-scaling-row,
  width:64px;
.sv-core-row,
  height:64px;
.sv-tabs {
 
   border-radius: 12px;
  display:flex;
   border: 1px solid rgba(255,255,255,0.050);
   align-items:center;
   background: rgba(255,255,255,0.04);
   justify-content:center;
   box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
   overflow:hidden;
 
   border-radius:16px;
}
}


/* ----------------------------------------------------------------------------
.sv-skill-headtext{
  HEADER (ICON + TITLE + NOTES + DESCRIPTION)
  min-width:0;
  - Skill icon shrunk ~25%
  flex:0 1 auto;
  - Description ~50% larger + uses full width (no early wrap)
}
---------------------------------------------------------------------------- */


.sv-skill-head {
.sv-skill-title-row{
   display: grid;
   display:flex;
  grid-template-columns: 92px 1fr;
   align-items:center;
  gap: 12px;
   gap:10px;
   align-items: start;
   padding: 2px 0 10px;
}
}


.sv-skill-icon {
.sv-skill-title{
   width: 92px;
   min-width:0;
   height: 92px;
   word-wrap:break-word;
   border-radius: 12px;
 
   border: 1px solid rgba(255,255,255,0.050);
   font-weight:900;
   background: rgba(255,255,255,0.04);
   font-size:22px;
   box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
   line-height:1.10;
   overflow: hidden;
   letter-spacing:0.2px;
   color:var(--sv-ui-text1);
}
}


.sv-skill-headtext { min-width: 0; }
.sv-skill-desc{
  margin-top:6px;
  word-wrap:break-word;


.sv-skill-title-row {
  font-size:14px;
  display: flex;
   line-height:1.35;
   align-items: center;
   color:var(--sv-ui-text2);
   gap: 10px;
  min-width: 0;
}
}


.sv-skill-title {
/* -------------------------------------------------------------------------- */
   min-width: 0;
/* 4) Meta and requirements block                                              */
  font-weight: 900;
/* -------------------------------------------------------------------------- */
   font-size: 20px;
 
   line-height: 1.05;
.sv-skill-meta-block{
  letter-spacing: 0.2px;
   margin:8px 0 10px;
  color: rgba(245,250,255,0.98);
 
   text-shadow: 0 2px 0 rgba(0,0,0,0.35);
   display:grid;
   word-wrap: break-word;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   align-items:stretch;
   gap:10px;
}
}


.sv-skill-desc {
.sv-skill-meta-block--single{
  margin-top: 8px;
   grid-template-columns:minmax(0, 1fr);
  max-width: none;
   width: 100%;
  font-size: 18px;
  line-height: 1.30;
  color: rgba(210,224,245,0.86);
  word-wrap: break-word;
}
}


/* ----------------------------------------------------------------------------
.sv-skill-meta-block__bubble{
  NOTES TIP (works with <details> OR span-button markup)
  min-width:0;
---------------------------------------------------------------------------- */
  min-height:108px;
  max-height:108px;
  padding:10px 12px;
 
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;


.sv-tip { position: relative; display: inline-block; }
  border-radius:16px;
.sv-tip > summary { cursor: pointer; }
  background:var(--sv-ui-bg2);
  background-image:none;
  box-shadow:none;
}


.sv-tip-btn {
.sv-skill-meta-block__bubble--meta .sv-skill-meta,
  display: inline-block;
.sv-skill-meta-block__bubble--req .sv-reqrow{
  width: 30px;
   width:100%;
  height: 30px;
   margin:0;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.050);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  text-align: center;
   line-height: 30px;
   cursor: pointer;
}
}


.sv-tip-btn:hover { background: rgba(255,255,255,0.13); }
/* -------------------------------------------------------------------------- */
/* 5) Meta row                                                                */
/* -------------------------------------------------------------------------- */


.sv-ico,
.sv-skill-meta{
.sv-ico--info {
   display:grid;
   font-weight: 900;
  grid-template-columns:repeat(2, minmax(0, 1fr));
   font-size: 12px;
   justify-items:center;
   line-height: 1;
   align-items:center;
   color: rgba(245,250,255,0.95);
   gap:8px;
}
}


/* Popovers (fixed width + percent max-width; NO min()/calc()/vw) */
.sv-gi-card .sv-meta-card,
.sv-tip-pop,
.sv-skill-card .sv-meta-card{
.sv-disclose-pop {
   position:relative;
   position: absolute;
 
   z-index: 200;
  display:flex;
   padding: 10px 10px 8px;
  align-items:center;
   justify-content:center;
   gap:6px;


   border-radius: 12px;
   width:100%;
   border: 1px solid rgba(255,255,255,0.050);
   min-height:36px;
  background:
   padding:0 8px;
    radial-gradient(700px 260px at 40% 0, rgba(96,165,250,0.12), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03)),
    linear-gradient(180deg, #0b1428, #0a1326);
   box-shadow: 0 16px 36px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.04);


   width: 380px;
   border-radius:14px;
   max-width: 92%;
   border:1px solid var(--sv-ui-line2);
  background:var(--sv-ui-bg3);
  background-image:none;
  color:var(--sv-ui-text1);
}
}


.sv-tip-pop { top: 40px; right: 0; }
.sv-gi-card .sv-meta-card:hover,
.sv-disclose-pop { top: 46px; left: 0; }
.sv-skill-card .sv-meta-card:hover{ background:var(--sv-ui-bg3); }
 
.sv-gi-card .sv-meta-icon,
.sv-skill-card .sv-meta-icon{
  flex:0 0 auto;
  width:20px;
  height:20px;
 
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;


.sv-tip-pop:before,
   border-radius:14px;
.sv-disclose-pop:before {
   background:var(--sv-ui-bg3);
   content: "";
   background-image:none;
  position: absolute;
  top: -6px;
  width: 11px;
  height: 11px;
  transform: rotate(45deg);
   background: rgba(18,28,52,0.98);
  border-left: 1px solid rgba(255,255,255,0.050);
   border-top: 1px solid rgba(255,255,255,0.050);
}
}
.sv-tip-pop:before { right: 14px; }
.sv-disclose-pop:before { left: 20px; }


.sv-tip-pop-head,
.sv-gi-card .sv-meta-textwrap,
.sv-disclose-pop-head {
.sv-skill-card .sv-meta-textwrap{
   display: flex;
   min-width:0;
  align-items: center;
   flex:0 1 auto;
   justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
}


.sv-tip-pop-title,
.sv-gi-card .sv-meta-text,
.sv-disclose-pop-title {
.sv-skill-card .sv-meta-text{
   font-weight: 900;
  min-width:0;
   font-size: 12px;
  word-wrap:break-word;
   letter-spacing: 0.10em;
  text-align:center;
   text-transform: uppercase;
 
   color: rgba(255,255,255,0.62);
   font-weight:900;
   font-size:12px;
   line-height:1.02;
   letter-spacing:0.08px;
   color:var(--sv-ui-text1);
}
}


.sv-tip-pop-hint,
.sv-gi-card .sv-meta-lines span,
.sv-disclose-pop-hint {
.sv-skill-card .sv-meta-lines span{ display:block; }
  font-size: 12px;
 
   color: rgba(255,255,255,0.50);
.sv-gi-card .sv-meta-text .sv-def,
.sv-skill-card .sv-meta-text .sv-def{ cursor:default; }
 
.sv-gi-card .sv-meta-text .sv-def-text,
.sv-skill-card .sv-meta-text .sv-def-text{
   color:inherit;
  border-bottom:none;
}
}


.sv-tip-pop-body {
.sv-gi-card .sv-meta-text .sv-meta-lines span + span,
   color: rgba(255,255,255,0.82);
.sv-skill-card .sv-meta-text .sv-meta-lines span + span{
   font-size: 12px;
   margin-top:1px;
   line-height: 1.35;
 
   font-size:10px;
  font-weight:800;
   letter-spacing:0.12px;
  color:var(--sv-ui-text3);
}
}
.sv-tip-pop-body ul { margin: 8px 0 0; padding-left: 18px; }
.sv-tip-pop-body li { margin: 6px 0; }


/* ----------------------------------------------------------------------------
.sv-gi-card .sv-meta-hit,
  META (SEGMENTED STRIP)
.sv-skill-card .sv-meta-hit{
---------------------------------------------------------------------------- */
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:5;
  opacity:0;
}


.sv-skill-meta {
.sv-gi-card .sv-meta-hit .sv-def,
  margin-top: 10px;
.sv-skill-card .sv-meta-hit .sv-def{
  display: grid;
   display:block;
  grid-template-columns: repeat(4, 1fr);
   width:100%;
   gap: 0;
   height:100%;
   border-top: 1px solid rgba(255,255,255,0.050);
   border-bottom: 1px solid rgba(255,255,255,0.050);
}
}


.sv-meta-card {
/* -------------------------------------------------------------------------- */
  min-height: 52px;
/* 6) Requirements and users row                                              */
   display: grid;
/* -------------------------------------------------------------------------- */
   grid-template-columns: 40px 1fr;
 
   align-items: center;
.sv-gi-card .sv-reqrow,
   padding: 5px 6px;
.sv-skill-card .sv-reqrow{
  border-right: 1px solid rgba(255,255,255,0.050);
   display:flex;
   flex-direction:column;
   justify-content:center;
   gap:8px;
}
}
.sv-meta-card:nth-child(4) { border-right: none; }


.sv-meta-icon {
.sv-gi-card .sv-disclose,
  width: 34px;
.sv-skill-card .sv-disclose{
  height: 34px;
   min-width:0;
  border-radius: 10px;
   max-width:none;
  background: rgba(255,255,255,0.04);
   width:100%;
   border: 1px solid rgba(255,255,255,0.050);
   box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
   overflow: hidden;
}
}


.sv-meta-textwrap {
.sv-gi-card .sv-reqrow .sv-disclose-btn,
   display: flex;
.sv-skill-card .sv-reqrow .sv-disclose-btn{
   align-items: center;
   width:100%;
   justify-content: center;
  min-height:36px;
   min-width: 0;
  padding:0 12px;
   border-radius:14px;
  background:var(--sv-ui-bg3);
   background-image:none;
   box-shadow:none;
}
}


.sv-meta-text {
/* -------------------------------------------------------------------------- */
   font-weight: 700;
/* 7) Level selector wrapper                                                  */
   font-size: 12px;
/* -------------------------------------------------------------------------- */
   line-height: 1.12;
 
   letter-spacing: 0.14px;
.sv-skill-level{
   color: rgba(235,244,255,0.92);
   margin:8px 0 10px;
   text-align: center;
   padding:10px 12px;
   word-wrap: break-word;
 
  display:flex;
   flex-direction:column;
  gap:8px;
 
   border-radius:16px;
   background:var(--sv-ui-bg2);
   background-image:none;
   box-shadow:none;
}
}


.sv-meta-lines span { display: block; }
.sv-skill-level:not([data-sv-level-hide-ticks="0"]) .sv-level-ticklabels{ display:none; }
 
/* -------------------------------------------------------------------------- */
/* 8) Skill scaling                                                            */
/* -------------------------------------------------------------------------- */


/* ----------------------------------------------------------------------------
.sv_skill_scaling{
  REQUIREMENTS / USERS (COMPACT, CENTERED, SHRINK-TO-FIT)
  margin:8px 0 10px;
---------------------------------------------------------------------------- */
  padding:10px 12px 12px;


.sv-reqrow {
  border-radius:18px;
  margin: 6px 0;
   background:var(--sv-ui-bg2);
   display: flex;
   background-image:none;
   justify-content: center;
   box-shadow:none;
   align-items: center;
  gap: 10px;
}
}


.sv-reqrow > * {
.sv_skill_scaling .sv-skill-level,
   flex: 0 1 140px;
.sv_skill_scaling__level{
   max-width: 140px;
   margin:0 0 10px;
   min-width: 0;
  padding:0 0 10px;
 
  border:0;
   border-radius:0;
   background:transparent;
  box-shadow:none;
  border-bottom:1px solid var(--sv-ui-line1);
}
}


.sv-reqrow > *:only-child {
.sv_skill_scaling__body{
   flex: 0 1 280px;
  display:grid;
   max-width: 280px;
  grid-template-columns:minmax(0, 1fr) minmax(0, 252px);
  column-gap:16px;
  row-gap:12px;
   align-items:stretch;
   justify-items:stretch;
}
}


.sv-disclose { position: relative; }
.sv_skill_scaling__group{
.sv-disclose > summary { cursor: pointer; }
  width:100%;
  min-width:0;
  min-height:116px;
  max-height:116px;
  padding:10px 12px;
 
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
 
  border-radius:16px;
  background:var(--sv-ui-bg3);
  background-image:none;
  box-shadow:none;
}


.sv-disclose > summary,
.sv_skill_scaling__group--primary-stats{
.sv-disclose-btn {
   grid-column:1;
   width: 100%;
   grid-row:1;
  padding: 6px 8px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.050);
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  color: rgba(235,244,255,0.92);
  font-weight: 700;
  font-size: 12px;
   letter-spacing: 0.2px;
}
}


.sv-disclose-count {
.sv_skill_scaling__group--core{
   color: rgba(255,255,255,0.70);
   grid-column:2;
  font-weight: 900;
   grid-row:1;
   font-size: 12px;
}
}


/* Requirements/Users list */
.sv_skill_scaling__cluster{
.sv-disclose-list {
  display:flex;
   margin: 0;
  align-items:center;
   padding-left: 18px;
  justify-content:center;
   color: rgba(255,255,255,0.82);
   gap:14px;
   font-size: 12px;
 
   line-height: 1.35;
   flex-wrap:wrap;
   width:100%;
  height:100%;
   max-width:100%;
   margin:0 auto;
 
  min-width:0;
}
}
.sv-disclose-list li { margin: 6px 0; }


/* ----------------------------------------------------------------------------
.sv_skill_scaling__column{
  LEVEL + SCALING + CORE (ONE GROUPED BUBBLE)
  min-width:0;
---------------------------------------------------------------------------- */
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  background-image:none;
  box-shadow:none;
}


.sv-skill-level {
.sv_skill_scaling__column--stats,
  margin-top: 10px;
.sv_skill_scaling__column--core{
   padding: 6px 10px 6px;
   display:flex;
   border-radius: 12px 12px 0 0;
   align-items:center;
   border-bottom: 0;
   justify-content:center;
}
}


.sv-skill-scaling { margin-top: 0; }
.sv_skill_scaling__column--core{
.sv-skill-core { margin-top: 0; }
  width:100%;
  min-width:0;
  min-height:100%;
}


.sv-scaling-row {
.sv_skill_scaling__column--primary{
   border-radius: 0;
   display:flex;
   border-top: 0;
  flex-direction:column;
   border-bottom: 0;
  justify-content:center;
   align-items:center;
   text-align:center;
}
}


.sv-core-row {
.sv_skill_scaling__primary-value{
   border-radius: 0 0 12px 12px;
  word-wrap:break-word;
   border-top: 0;
  overflow-wrap:anywhere;
 
  font-weight:900;
  font-size:34px;
   line-height:0.95;
   letter-spacing:-0.50px;
  color:var(--sv-ui-text1);
}
}


.sv-level-ui {
.sv_skill_scaling__primary-label{
   width: 100%;
  margin-top:6px;
   display: flex;
 
   flex-direction: column;
   font-weight:900;
   gap: 4px;
   font-size:10px;
   align-items: center;
   line-height:1.05;
   letter-spacing:0.22px;
   text-transform:uppercase;
  color:var(--sv-ui-text3);
}
}


.sv-level-label {
.sv_skill_scaling__stats-grid{
   width: 100%;
  display:grid;
   text-align: center;
  grid-template-columns:repeat(2, max-content);
   font-weight: 800;
   justify-content:center;
   opacity: 0.95;
   justify-items:center;
   font-size: 14px;
  align-content:center;
   white-space: nowrap;
 
   row-gap:8px;
   column-gap:10px;
   margin:0 auto;
 
   grid-template-areas:
    "str agi"
    "vit int"
    "dex luk";
}
}


.sv-level-label br { display: none; }
.sv_skill_scaling__stat-pill--str{ grid-area:str; }
.sv_skill_scaling__stat-pill--vit{ grid-area:vit; }
.sv_skill_scaling__stat-pill--dex{ grid-area:dex; }
.sv_skill_scaling__stat-pill--agi{ grid-area:agi; }
.sv_skill_scaling__stat-pill--int{ grid-area:int; }
.sv_skill_scaling__stat-pill--luk{ grid-area:luk; }
 
.sv_skill_scaling__pill{
  position:relative;
  min-width:0;


.sv-level-label span,
  border-radius:14px;
.sv-level-label b,
  border:1px solid var(--sv-ui-line2);
.sv-level-label strong,
  background:var(--sv-ui-bg3);
.sv-level-label em,
   background-image:none;
.sv-level-label i {
   box-shadow:none;
   display: inline;
   white-space: nowrap;
}
}


.sv-level-slider {
.sv_skill_scaling__stat-pill{
   width: 100%;
  border-radius:999px;
   display: flex;
 
   justify-content: center;
  width:50px;
   min-width:50px;
  min-height:22px;
  padding:4px 6px;
 
   display:inline-flex;
  align-items:center;
   justify-content:center;
  white-space:nowrap;
}
}


/* Slider + Optional “additional controls” support:
.sv_skill_scaling__stat-main{
  - supports a native <input type="range"> if present
   min-width:0;
  - supports optional +/- buttons if Lua/JS emits them
   display:flex;
  - keeps the custom track/thumb version working */
   align-items:center;
.sv-level-controls {
   justify-content:center;
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
  gap: 8px;
}
}


.sv-level-step {
.sv_skill_scaling__stat-visual{
   width: 34px;
   min-width:0;
  height: 26px;
   display:flex;
  border-radius: 10px;
   align-items:center;
  border: 1px solid rgba(255,255,255,0.060);
   justify-content:center;
   background: rgba(255,255,255,0.06);
   gap:6px;
   box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  color: rgba(235,244,255,0.92);
   font-weight: 900;
  font-size: 14px;
  line-height: 26px;
  text-align: center;
   cursor: pointer;
}
}


.sv-level-step:hover { background: rgba(255,255,255,0.09); }
.sv_skill_scaling__stat-label{ display:none; }
 
.sv_skill_scaling__stat-icon{
  width:12px;
  height:12px;


.sv-level-range {
  display:flex;
   width: 100%;
   align-items:center;
   max-width: 560px;
   justify-content:center;
}
}


.sv-level-range input[type="range"] {
.sv_skill_scaling__stat-icon .sv-img img{
   width: 100%;
   width:12px;
   margin: 0;
   height:12px;
   background: transparent;
   box-shadow:none;
}
}


.sv-level-range--custom {
.sv_skill_scaling__stat-icon .sv-miss{
   display: block;
   width:12px;
   position: relative;
   height:12px;
   width: 100%;
   font-size:9px;
   max-width: 560px;
   line-height:1;
  margin: 0 auto;
}


   height: 22px;
.sv_skill_scaling__stat-value{
   border-radius: 999px;
  font-weight:900;
  font-size:12px;
   line-height:1;
   letter-spacing:-0.10px;
  color:var(--sv-ui-text1);
}


   border: 0;
.sv_skill_scaling__stat-hit,
   background: transparent;
.sv_skill_scaling__core-hit{
   cursor: pointer;
  position:absolute;
  top:0;
  right:0;
   bottom:0;
   left:0;
   z-index:5;
  opacity:0;
}
}


.sv-level-track {
.sv_skill_scaling__stat-hit .sv-def,
   position: absolute;
.sv_skill_scaling__core-hit .sv-def{
   left: 0;
   display:block;
  right: 0;
   width:100%;
  top: 50%;
   height:100%;
  margin-top: -5px;
   height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.050);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04)),
    repeating-linear-gradient(
      to right,
      transparent 0,
      transparent 10.8%,
      rgba(255,255,255,0.28) 10.8%,
      rgba(255,255,255,0.28) 11.11%
    );
  overflow: hidden;
}
}


.sv-level-fill {
.sv_skill_scaling__stat-pill.is-inactive{
   display: block;
   background:var(--sv-ui-bg1);
   height: 100%;
   background-image:none;
  width: 0%;
   box-shadow:none;
   border-radius: 999px;
  background: linear-gradient(90deg, rgba(170,220,255,0.35), rgba(255,255,255,0.12));
}
}


.sv-level-thumb {
.sv_skill_scaling__stat-pill.is-inactive .sv_skill_scaling__stat-icon,
  position: absolute;
.sv_skill_scaling__stat-pill.is-inactive .sv_skill_scaling__stat-value{ display:none; }
  left: 0%;
 
  top: 50%;
.sv_skill_scaling__stat-pill.is-inactive::before{
  margin-top: -9px;
   content:"—";
  margin-left: -9px;
   font-weight:900;
   width: 18px;
   font-size:12px;
   height: 18px;
   line-height:1;
   border-radius: 999px;
   color:var(--sv-ui-text3);
   background: rgba(255,255,255,0.92);
   border: 1px solid rgba(0,0,0,0.35);
  box-shadow: 0 6px 14px rgba(0,0,0,0.35);
}
}


.sv-level-ticklabels {
.sv_skill_scaling__stat-pill--str.is-active{
   display: flex;
   border-color:rgba(145,63,82,0.96);
   justify-content: space-between;
   background:#32131d;
   margin-top: 4px;
   background-image:none;
  padding: 0 2px;
}
.sv_skill_scaling__stat-pill--str.is-active .sv_skill_scaling__stat-value{ color:#ffdce5; }


   width: 100%;
.sv_skill_scaling__stat-pill--vit.is-active{
   max-width: 560px;
   border-color:rgba(158,112,22,0.96);
   margin-left: auto;
   background:#352609;
  margin-right: auto;
   background-image:none;
}
.sv_skill_scaling__stat-pill--vit.is-active .sv_skill_scaling__stat-value{ color:#ffefc9; }


  font-size: 12px;
.sv_skill_scaling__stat-pill--dex.is-active{
   color: rgba(255,255,255,0.65);
   border-color:rgba(118,146,24,0.96);
   font-weight: 800;
   background:#243208;
   line-height: 1.1;
   background-image:none;
}
}
.sv-level-ticklabels span { min-width: 1ch; text-align: center; }
.sv_skill_scaling__stat-pill--dex.is-active .sv_skill_scaling__stat-value{ color:#edf8cc; }


/* ----------------------------------------------------------------------------
.sv_skill_scaling__stat-pill--agi.is-active{
  SKILL SCALING
  border-color:rgba(125,62,152,0.96);
---------------------------------------------------------------------------- */
  background:#2b1438;
  background-image:none;
}
.sv_skill_scaling__stat-pill--agi.is-active .sv_skill_scaling__stat-value{ color:#f0dcff; }


.sv-scaling-row { overflow: hidden; }
.sv_skill_scaling__stat-pill--int.is-active{
  border-color:rgba(45,118,191,0.96);
  background:#11263d;
  background-image:none;
}
.sv_skill_scaling__stat-pill--int.is-active .sv_skill_scaling__stat-value{ color:#d8eeff; }


.sv-scaling-grid {
.sv_skill_scaling__stat-pill--luk.is-active{
   display: grid;
   border-color:rgba(183,150,22,0.96);
   grid-template-columns: 1fr 1fr 1.35fr;
   background:#3a2f07;
   gap: 0;
   background-image:none;
}
}
.sv_skill_scaling__stat-pill--luk.is-active .sv_skill_scaling__stat-value{ color:#fff2ba; }


.sv-scaling-col {
.sv_skill_scaling__core-grid{
   padding: 10px 10px 8px;
  display:grid;
   min-width: 0;
  grid-template-columns:repeat(3, minmax(0, 1fr));
   gap:8px;
   justify-items:center;
  justify-content:center;
  align-content:center;
  width:100%;
  max-width:228px;
  margin:0 auto;
}
}
.sv-scaling-col + .sv-scaling-col {
 
   border-left: 1px solid rgba(255,255,255,0.050);
.sv_skill_scaling__core-pill{
  border-radius:14px;
  min-height:25px;
  min-width:70px;
  padding:8px 6px;
 
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
   text-align:center;
}
}


.sv-scaling-value {
.sv_skill_scaling__core-pill.is-active{
   font-weight: 800;
   background:var(--sv-ui-bg3);
  font-size: 15px;
   background-image:none;
  line-height: 1.05;
  color: rgba(235,244,255,0.92);
   text-align: center;
  word-wrap: break-word;
}
}


.sv-scaling-label {
.sv_skill_scaling__core-main{
   margin-top: 4px;
   min-width:0;
   font-weight: 800;
   display:flex;
   font-size: 12px;
   align-items:baseline;
   letter-spacing: 0.12em;
   justify-content:center;
   text-transform: uppercase;
   flex-wrap:wrap;
   color: rgba(255,255,255,0.62);
   gap:4px;
  text-align: center;
}
}


.sv-scaling-list { display: grid; gap: 4px; }
.sv_skill_scaling__core-value{
.sv-scaling-item {
  min-width:0;
   font-weight: 800;
  word-wrap:break-word;
   font-size: 12px;
 
   line-height: 1.15;
   font-weight:900;
   color: rgba(255,255,255,0.82);
   font-size:14px;
  text-align: center;
   line-height:1.02;
  word-wrap: break-word;
   color:var(--sv-ui-text1);
}
}


/* ----------------------------------------------------------------------------
.sv_skill_scaling__core-unit{
  CORE STATS
  font-weight:900;
---------------------------------------------------------------------------- */
  font-size:10px;
  line-height:1.05;
  color:var(--sv-ui-text3);
}


.sv-core-row { overflow: hidden; }
.sv_skill_scaling__core-label{
  margin-top:5px;


.sv-core-grid {
  font-weight:900;
   display: grid;
   font-size:10px;
   grid-template-columns: 1fr 1.25fr 1.25fr 1fr 1fr 1.25fr;
   line-height:1.10;
   gap: 0;
  letter-spacing:0.14px;
  text-transform:uppercase;
   color:var(--sv-ui-text3);
}
}


.sv-core-cell {
.sv_skill_scaling__core-pill.is-inactive{
   padding: 5px;
   background:var(--sv-ui-bg1);
  min-width: 0;
  overflow: hidden;
}
}
.sv-core-cell + .sv-core-cell {
 
   border-left: 1px solid rgba(255,255,255,0.050);
.sv_skill_scaling__core-pill.is-inactive .sv_skill_scaling__core-value,
.sv_skill_scaling__core-pill.is-inactive .sv_skill_scaling__core-unit,
.sv_skill_scaling__core-pill.is-inactive .sv_skill_scaling__core-label{
   color:var(--sv-ui-text3);
}
}


.sv-core-top {
/* -------------------------------------------------------------------------- */
  display: flex;
/* 9) Tab panels and content                                                  */
  align-items: baseline;
/* -------------------------------------------------------------------------- */
  justify-content: center;
 
   gap: 6px;
.sv-skill-tabs{
   margin:10px 0 0;
}
}


.sv-core-num {
.sv-skill-tabs .sv-tabs-panels{
  font-weight: 800;
   margin-top:10px;
  font-size: 15px;
   line-height: 1.05;
  color: rgba(235,244,255,0.92);
  word-wrap: break-word;
}
}


.sv-core-unit {
.sv-skill-tabs .sv-tabpanel{
   font-weight: 800;
   min-width:0;
   font-size: 12px;
   background-image:none;
   color: rgba(255,255,255,0.75);
   box-shadow:none;
  letter-spacing: 0.02em;
}
}


.sv-core-label {
.sv-skill-tabs .sv-tab-empty{
  margin-top: 4px;
   padding:14px 12px;
  font-weight: 800;
   text-align:center;
   font-size: 12px;
 
   letter-spacing: 0.06em;
   border-radius:14px;
   text-transform: uppercase;
   background:var(--sv-ui-bg2);
   color: rgba(255,255,255,0.62);
 
  text-align: center;
   font-weight:900;
   line-height: 1.05;
   font-size:13px;
   white-space: nowrap;
   color:var(--sv-ui-text3);
   overflow: hidden;
}
}
.sv-core-label--tight { letter-spacing: 0.03em; }


/* ----------------------------------------------------------------------------
.sv-skill-tabs .sv-tab-section + .sv-tab-section{
  TABS
  margin-top:12px;
---------------------------------------------------------------------------- */
}


.sv-skill-tabs { margin-top: 10px; }
.sv-skill-tabs .sv-tab-section-title{
.sv-tabs { overflow: hidden; }
  width:100%;
  margin:0 0 8px;
  text-align:center;


.sv-tabs-list {
  font-weight:900;
   display: grid;
   font-size:11px;
   grid-template-columns: repeat(4, 1fr);
   line-height:1.05;
   gap: 0;
   letter-spacing:0.22px;
   border-bottom: 1px solid rgba(255,255,255,0.050);
   text-transform:uppercase;
  color:var(--sv-ui-text3);
}
}


.sv-tab {
/* -------------------------------------------------------------------------- */
  border: 0;
/* 10) Mechanics tab                                                           */
  margin: 0;
/* -------------------------------------------------------------------------- */
  padding: 10px 8px;
/* Mechanics stays two-column through sm / md / lg. It only collapses into a  */
/* single-column stack in the default viewpoint (<640px).                      */


   background: transparent;
.sv-skill-tabs .sv-mech-panel{
   color: rgba(255,255,255,0.78);
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:14px;
  row-gap:12px;
  align-items:start;
}


   font-weight: 800;
.sv-skill-tabs .sv-mech-panel__group{
   font-size: 12px;
   min-width:0;
   letter-spacing: 0.06em;
   max-width:100%;
   text-transform: uppercase;
   min-height:0;
   padding:10px 12px 12px;


   cursor: pointer;
   display:flex;
   line-height: 1.05;
   flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
  align-self:start;


   min-width: 0;
   border:0;
   text-align: center;
   border-radius:16px;
   white-space: nowrap;
  background:var(--sv-ui-bg2);
   overflow: hidden;
   background-image:none;
   box-shadow:none;
}
}


.sv-tab + .sv-tab { border-left: 1px solid rgba(255,255,255,0.050); }
.sv-skill-tabs .sv-mech-panel__mods,
.sv-skill-tabs .sv-mech-panel__keywords{
  grid-column:auto;
  margin-top:0;
  min-height:0;
}
 
.sv-skill-tabs .sv-mech-panel__mods{
  overflow:visible;
}


.sv-tab[aria-selected="true"] {
.sv-skill-tabs .sv-mech-panel__keywords{
  color: rgba(235,244,255,0.92);
   justify-content:flex-start;
  background:
    radial-gradient(600px 220px at 50% 0, rgba(96,165,250,0.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
   box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}
}


.sv-tabs-panels { padding: 10px 10px 12px; }
.sv-skill-tabs .sv-mech-panel .sv-tab-section-title{
.sv-tabpanel { display: none; }
  margin:0 0 8px;
.sv-tabpanel[data-active="1"] { display: block; }
  text-align:center;
}


/* ----------------------------------------------------------------------------
/* Modifiers --------------------------------------------------------------- */
  KEYWORDS TAB (Mechanics-style bubbles + 3-col)
---------------------------------------------------------------------------- */


.sv-tab-pills {
.sv-skill-tabs .sv-mech-mod-grid{
   display: grid;
   display:grid;
   grid-template-columns: repeat(3, 1fr);
   grid-template-columns:repeat(3, minmax(0, 1fr));
   gap: 8px;
   gap:8px;
   justify-content: center;
  align-content:start;
   justify-items:stretch;
}
}


.sv-pill {
.sv-skill-tabs .sv-mech-mod-pill{
   display: flex;
   position:relative;
   align-items: center;
   min-width:0;
   justify-content: center;
  width:100%;
   gap: 8px;
   min-height:56px;
   padding:6px 8px;


   padding: 6px 8px;
   display:flex;
   border-radius: 12px;
   flex-direction:column;
   border: 1px solid rgba(255,255,255,0.050);
   justify-content:center;
   background: rgba(255,255,255,0.03);
   align-items:center;
  text-align:center;


   color: rgba(235,244,255,0.92);
   border-radius:14px;
   font-weight: 800;
  border:1px solid var(--sv-ui-line2);
   font-size: 15px;
  background:var(--sv-ui-bg3);
   line-height: 1.05;
   background-image:none;
  box-shadow:none;
}
 
.sv-skill-tabs .sv-mech-mod-pill__label{
  min-width:0;
   word-wrap:break-word;
   overflow-wrap:anywhere;


   text-align: center;
   font-weight:900;
   white-space: normal;
  font-size:10px;
   word-wrap: break-word;
  line-height:1.02;
   letter-spacing:0.10px;
   text-transform:uppercase;
  color:var(--sv-ui-text3);
}
}


/* ----------------------------------------------------------------------------
.sv-skill-tabs .sv-mech-mod-pill__value{
  MECHANICS GRID (value-on-top like Core) + ~20% shorter tiles
  margin-top:3px;
---------------------------------------------------------------------------- */
  min-width:0;
  word-wrap:break-word;
  overflow-wrap:anywhere;
 
  font-weight:900;
  font-size:12px;
  line-height:1.02;
  color:var(--sv-ui-text1);
}


.sv-kw-root { display: grid; gap: 10px; }
.sv-skill-tabs .sv-mech-mod-pill__hit{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:5;
  opacity:0;
}


.sv-kw-grid {
.sv-skill-tabs .sv-mech-mod-pill__hit .sv-def{
   display: grid;
   display:block;
   grid-template-columns: repeat(3, 1fr);
   width:100%;
   gap: 8px;
   height:100%;
}
}


.sv-kw-cell {
/* Keywords ---------------------------------------------------------------- */
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.050);
  background: rgba(255,255,255,0.03);
  padding: 6px 8px 6px;
  min-width: 0;


   display: flex;
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{
   flex-direction: column;
   display:grid;
   justify-content: center;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap: 4px;
  gap:8px;
  align-content:start;
   justify-items:stretch;
   margin:0;
}
}


.sv-kw-label {
.sv-skill-tabs .sv-mech-keyword-pill{
   order: 2;
   position:relative;
  min-width:0;
  width:100%;
  min-height:56px;
  padding:6px 10px;


   font-weight: 800;
   display:flex;
   font-size: 12px;
   align-items:center;
   letter-spacing: 0.06em;
   justify-content:center;
  text-transform: uppercase;
   text-align:center;
  color: rgba(255,255,255,0.62);
   text-align: center;
  line-height: 1.05;


   white-space: nowrap;
   border-radius:16px;
   overflow: hidden;
   border:1px solid var(--sv-ui-line2);
  background:var(--sv-ui-bg3);
  background-image:none;
  box-shadow:none;
}
}


.sv-kw-value {
.sv-skill-tabs .sv-mech-keyword-pill__label{
   order: 1;
   display:block;
  min-width:0;
  width:100%;
  word-wrap:break-word;
  overflow-wrap:anywhere;


  margin-top: 0;
   font-weight:900;
   font-weight: 800;
   font-size:12px;
   font-size: 15px;
   line-height:1.08;
   line-height: 1.05;
  color:var(--sv-ui-text1);
  text-align:center;
}


   color: rgba(235,244,255,0.92);
.sv-skill-tabs .sv-mech-keyword-pill__hit{
   text-align: center;
  position:absolute;
   word-wrap: break-word;
   top:0;
  right:0;
  bottom:0;
  left:0;
   z-index:5;
   opacity:0;
}
}


/* ----------------------------------------------------------------------------
.sv-skill-tabs .sv-mech-keyword-pill__hit .sv-def{
  EFFECTS / EVENTS (CARD GRID)
  display:block;
---------------------------------------------------------------------------- */
  width:100%;
  height:100%;
}


.sv-ref-grid {
/* Larger keyword mode. */
   display: grid;
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
   grid-template-columns: repeat(2, 1fr);
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
   gap: 10px;
   min-height:60px;
   padding:8px 12px;
   border-radius:999px;
}
}


.sv-ref-card {
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label,
  position: relative;
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{
  display: grid;
   font-size:13px;
  grid-template-columns: 56px 1fr;
   line-height:1.12;
   gap: 12px;
}
   align-items: center;


  padding: 12px 12px 11px;
/* -------------------------------------------------------------------------- */
  border-radius: 14px;
/* 11) Effect cards                                                            */
  border: 1px solid rgba(255,255,255,0.050);
/* -------------------------------------------------------------------------- */
  background: rgba(255,255,255,0.03);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);


   min-height: 86px;
.sv-gi-card .sv-ref-grid,
   color: rgba(235,244,255,0.92);
.sv-skill-card .sv-ref-grid{
   text-decoration: none;
   display:grid;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:10px;
}
}


.sv-ref-card:hover { background: rgba(255,255,255,0.045); }
.sv-gi-card .sv-ref-card,
.sv-skill-card .sv-ref-card{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 10px;


.sv-ref-ico {
   border-radius:16px;
  width: 56px;
   background:var(--sv-ui-bg2);
  height: 56px;
   background-image:none;
   border-radius: 14px;
   box-shadow:none;
   background: rgba(255,255,255,0.04);
 
   border: 1px solid rgba(255,255,255,0.050);
  color:var(--sv-ui-text2);
   box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
}


.sv-ref-text { min-width: 0; }
.sv-gi-card .sv-ref-ico,
.sv-skill-card .sv-ref-ico{
  flex:0 0 auto;
  width:52px;
  height:52px;
 
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;


.sv-ref-title-row {
   border-radius:16px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
   min-width: 0;
}
}


.sv-ref-title {
.sv-gi-card .sv-ref-text,
  font-weight: 900;
.sv-skill-card .sv-ref-text{
   font-size: 12px;
   min-width:0;
   line-height: 1.05;
   flex:1 1 auto;
  word-wrap: break-word;
}
}


.sv-ref-inline {
.sv-gi-card .sv-ref-title,
   font-weight: 900;
.sv-skill-card .sv-ref-title{
   font-size: 12px;
  word-wrap:break-word;
   line-height: 1.05;
 
   color: rgba(235,244,255,0.92);
   font-weight:900;
  white-space: nowrap;
   font-size:15px;
   line-height:1.15;
   color:var(--sv-ui-text1);
}
}


.sv-ref-title-row--stacked {
.sv-gi-card .sv-ref-stats,
   flex-direction: column;
.sv-skill-card .sv-ref-stats{
   align-items: flex-start;
   display:flex;
   justify-content: flex-start;
   flex-wrap:wrap;
   gap: 6px;
   gap:8px;
   margin-top:8px;
}
}
.sv-ref-title-row--stacked .sv-ref-inline {
 
   font-size: 12px;
.sv-gi-card .sv-ref-stat,
   font-weight: 800;
.sv-skill-card .sv-ref-stat{
   color: rgba(255,255,255,0.78);
   font-weight:900;
  letter-spacing: 0.05em;
   font-size:12px;
  text-transform: uppercase;
   color:var(--sv-ui-text1);
}
}


.sv-ref-stats {
.sv-gi-card .sv-ref-sub,
   margin-top: 6px;
.sv-skill-card .sv-ref-sub{
  display: flex;
   margin-top:6px;
  justify-content: space-evenly;
   font-weight:900;
  gap: 14px;
   font-size:13px;
   font-weight: 900;
   color:var(--sv-ui-text3);
   font-size: 12px;
   color: rgba(235,244,255,0.92);
}
}
.sv-ref-stat { white-space: nowrap; }
.sv-ref-pop { display: none; }
.sv-ref-card:hover .sv-ref-pop { display: block; }


/* ----------------------------------------------------------------------------
/* -------------------------------------------------------------------------- */
  RESPONSIVE (Project Standard)
/* 12) Responsive                                                              */
  Desktop: > 850
/* -------------------------------------------------------------------------- */
  Tablet:  849–501
  Mobile:  <= 500
---------------------------------------------------------------------------- */


/* Tablet */
@media (max-width:1023px){
@media (max-width: 849px) {
   .sv-gi-card,
   .sv-gi-card,
   .sv-skill-card {
   .sv-skill-card{
     margin: 14px 10px;
     margin:14px 10px;
     border-radius: 20px;
     border-radius:20px;
   }
   }


   .sv-gi-top,
   .sv-gi-top,
   .sv-skill-top {
   .sv-skill-top{ padding:12px 16px 4px; }
    padding: 12px 12px 4px;
    border-radius: 20px 20px 0 0;
  }


   .sv-gi-bottom,
   .sv-gi-bottom,
   .sv-skill-bottom {
   .sv-skill-bottom{ padding:10px 16px 12px; }
    padding: 10px 12px 12px;
 
     border-radius: 0 0 20px 20px;
  .sv-skill-title{ font-size:20px; }
 
  .sv_skill_scaling__body{
     grid-template-columns:minmax(0, 1fr) minmax(0, 236px);
   }
   }


  /* Header icon shrinks slightly for tablet */
   .sv_skill_scaling__primary-value{ font-size:32px; }
   .sv-skill-head {
 
    grid-template-columns: 84px 1fr;
   .sv_skill_scaling__core-pill{
    gap: 12px;
     min-height:25px;
  }
     min-width:70px;
   .sv-skill-icon {
     width: 84px;
    height: 84px;
     border-radius: 12px;
  }
  .sv-skill-desc {
    font-size: 17px;
   }
   }


   /* Meta becomes 2x2 segmented */
   .sv_skill_scaling__core-value{ font-size:13px; }
   .sv-skill-meta { grid-template-columns: repeat(2, 1fr); }
  .sv_skill_scaling__core-label{ font-size:9px; }
 
  .sv-gi-card .sv-ref-grid,
   .sv-skill-card .sv-ref-grid{ grid-template-columns:1fr; }


   .sv-meta-card {
   .sv-skill-tabs .sv-mech-panel{
     border-right: 1px solid rgba(255,255,255,0.050);
     grid-template-columns:repeat(2, minmax(0, 1fr));
     border-bottom: 1px solid rgba(255,255,255,0.050);
     column-gap:12px;
    row-gap:12px;
    align-items:start;
   }
   }
  .sv-meta-card:nth-child(2),
  .sv-meta-card:nth-child(4) { border-right: none; }
  .sv-meta-card:nth-child(3),
  .sv-meta-card:nth-child(4) { border-bottom: none; }


   .sv-tab { padding: 8px 6px; }
   .sv-skill-tabs .sv-mech-panel__group{
  .sv-tabs-panels { padding: 9px 9px 10px; }
    min-height:0;
    max-height:none;
    padding:9px 10px 10px;
    align-self:start;
  }


  /* Keep level slider full-width even on tablet */
   .sv-skill-tabs .sv-mech-mod-grid{
   .sv-level-range--custom,
     grid-template-columns:repeat(3, minmax(0, 1fr));
  .sv-level-ticklabels {
    gap:8px;
     max-width: 520px;
   }
   }
}


/* Mobile */
  .sv-skill-tabs .sv-mech-mod-pill{
@media (max-width: 500px) {
    min-height:48px;
    padding:6px 8px;
  }


   /* ========================================================================
   .sv-skill-tabs .sv-mech-mod-pill__label{
    MOBILE: NO TRANSPARENCY (SOLID COLORS ONLY)
    font-size:10px;
    - Card slightly brighter than before
    line-height:1.03;
    - ALL bubbles/panels standardized to the same solid surface
  }
    - Dividers/gridlines solid + visible
    - Tabs more visible
    ======================================================================== */


  /* Card background (solid) */
   .sv-skill-tabs .sv-mech-mod-pill__value{ font-size:12px; }
   .sv-skill-card,
  .sv-gi-card {
    background-color: #162a4e !important;
    background-image: none !important;


    border: 1px solid #3f587a !important;
  .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{
    box-shadow: 0 16px 34px #000000 !important;
     gap:8px;
 
     color: #f5faff !important;
   }
   }


  /* Standard surface for EVERY box/bubble/panel */
   .sv-skill-tabs .sv-mech-keyword-pill{
   .sv-skill-level,
     min-height:44px;
  .sv-scaling-row,
     padding:7px 9px;
  .sv-core-row,
  .sv-tabs,
  .sv-kw-cell,
  .sv-pill,
  .sv-ref-card,
  .sv-disclose > summary,
  .sv-disclose-btn,
  .sv-meta-card,
  .sv-meta-icon {
     background: #3a5476 !important;      /* ONE standardized surface color */
    border: 1px solid #556f92 !important; /* ONE standardized border color */
     box-shadow: none !important;
   }
   }


  /* Dividers / gridlines (solid) */
   .sv-skill-tabs .sv-mech-keyword-pill__label{
   .sv-skill-meta,
    font-size:12px;
  .sv-scaling-col + .sv-scaling-col,
     line-height:1.10;
  .sv-core-cell + .sv-core-cell,
  .sv-tabs-list,
  .sv-tab + .sv-tab,
  .sv-meta-card,
  .sv-core-cell,
  .sv-scaling-col {
     border-color: #506a8d !important;
   }
   }


   /* Tabs: visible by default + stronger selected */
   .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
   .sv-tab {
   .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
     background: #355170 !important;
     min-height:48px;
     color: #f8fbff !important;
     padding:9px 10px;
   }
   }


   .sv-tab[aria-selected="true"] {
   .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label,
     background: #4a6a8e !important;
  .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{
    color: #ffffff !important;
     font-size:13px;
    box-shadow: none !important;
   }
   }
}


  /* Secondary label tone (solid) */
@media (max-width:767px){
   .sv-scaling-label,
   .sv-skill-meta-block{
  .sv-core-label,
    grid-template-columns:minmax(0, 1fr);
  .sv-kw-label,
  .sv-tip-pop-title,
  .sv-disclose-pop-title {
    color: #e6eef8 !important;
   }
   }


  /* Slider: brighten everything (solid) */
   .sv-skill-meta-block__bubble{
   .sv-level-range--custom {
     min-height:auto;
     background: none !important;
     max-height:none;
     border: 0 !important;
   }
   }
}


   .sv-level-track {
@media (max-width:639px){
    border: 1px solid #6b86aa !important;
   .sv-skill-head{ gap:10px; }
    background: #4a6a8e !important; /* solid track */
  }


   .sv-level-fill {
   .sv-skill-icon{
     background: #8fd3ff !important; /* solid fill */
     width:56px;
    height:56px;
    border-radius:14px;
   }
   }


   .sv-level-thumb {
   .sv-skill-title{ font-size:19px; }
    background: #ffffff !important;
    border: 1px solid #0a0f18 !important;
    box-shadow: none !important;
  }


   .sv-level-ticklabels {
   .sv-skill-desc{
     color: #eaf2fb !important;
     font-size:14px;
    line-height:1.40;
   }
   }


   /* ------------------------------------------------------------------------
   .sv_skill_scaling{ padding:9px 10px 10px; }
    KEEP YOUR EXISTING MOBILE LAYOUT RULES (structure)
    ------------------------------------------------------------------------ */


   .sv-skill-head { grid-template-columns: 68px 1fr; gap: 10px; }
   .sv_skill_scaling .sv-skill-level,
   .sv-skill-icon { width: 68px; height: 68px; border-radius: 12px; }
   .sv_skill_scaling__level{ padding:0 0 9px; }


   .sv-skill-title { font-size: 18px; }
   .sv_skill_scaling__body{
  .sv-skill-desc { font-size: 15px; line-height: 1.28; }
    grid-template-columns:1fr;
    row-gap:12px;
  }


   .sv-skill-title-row {
   .sv_skill_scaling__group{
     display: grid;
     min-height:auto;
    grid-template-columns: 1fr auto;
     max-height:none;
     column-gap: 10px;
     padding:10px 11px;
     row-gap: 6px;
    align-items: start;
   }
   }


   .sv-meta-card { min-height: 44px; padding: 4px 6px; }
   .sv_skill_scaling__group--core{
  .sv-meta-icon { width: 28px; height: 28px; border-radius: 9px; }
    grid-column:1;
   .sv-meta-text { font-size: 12px; line-height: 1.10; }
    grid-row:2;
   }


   .sv-reqrow { gap: 8px; }
   .sv_skill_scaling__cluster{ height:auto; }
  .sv-reqrow > * { flex: 0 1 120px; max-width: 120px; }
  .sv-reqrow > *:only-child { flex: 0 1 240px; max-width: 240px; }


   .sv-disclose-pop { left: auto; right: 0; max-width: 92%; }
   .sv_skill_scaling__primary-value{ font-size:32px; }


   .sv-level-label { font-size: 13px; }
   .sv_skill_scaling__primary-label{
  .sv-level-range--custom { height: 22px; }
    font-size:11px;
    line-height:1.08;
  }


   .sv-level-track { left: 8px; right: 8px; }
   .sv_skill_scaling__core-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    width:100%;
    align-items:stretch;
  }


   .sv-level-thumb {
   .sv_skill_scaling__core-pill{
     width: 16px;
     width:100%;
     height: 16px;
    min-width:0;
     margin-top: -8px;
     min-height:30px;
     margin-left: -8px;
     padding:8px 7px;
    justify-self:stretch;
    justify-content:center;
     align-items:center;
    text-align:center;
   }
   }


   .sv-scaling-grid { grid-template-columns: 1fr 1fr; }
   .sv_skill_scaling__core-value{ font-size:14px; }
  .sv_skill_scaling__core-unit{ font-size:11px; }
  .sv_skill_scaling__core-label{ font-size:10px; }


   .sv-scaling-col--damage {
   .sv_skill_scaling__core-value,
     grid-column: 1;
  .sv_skill_scaling__core-unit,
    grid-row: 1;
  .sv_skill_scaling__core-label{
     border-right: 1px solid #506a8d;
     width:100%;
     text-align:center;
   }
   }


   .sv-scaling-col--modifier {
   .sv-skill-tabs .sv-tab-section-title{
     grid-column: 1;
     margin:0 0 9px;
     grid-row: 2;
     font-size:12px;
     border-top: 1px solid #506a8d;
     line-height:1.08;
    border-right: 1px solid #506a8d;
   }
   }


   .sv-scaling-col--scaling {
   .sv-skill-tabs .sv-mech-panel{
     grid-column: 2;
     grid-template-columns:1fr;
     grid-row: 1 / span 2;
     row-gap:12px;
    display: flex;
    align-items: center;
    justify-content: center;
   }
   }


   .sv-core-grid { grid-template-columns: repeat(3, 1fr); }
   .sv-skill-tabs .sv-mech-panel__mods,
  .sv-skill-tabs .sv-mech-panel__keywords{ grid-column:1; }


   .sv-core-cell { border-left: 0; border-top: 1px solid #506a8d; }
   .sv-skill-tabs .sv-mech-panel__group{
  .sv-core-cell:nth-child(-n+3) { border-top: 0; }
    min-height:auto;
  .sv-core-cell:nth-child(3n+2),
    max-height:none;
  .sv-core-cell:nth-child(3n+3) { border-left: 1px solid #506a8d; }
    padding:10px 11px 11px;
  }


   .sv-tabs-list { grid-template-columns: repeat(2, 1fr); }
   .sv-skill-tabs .sv-mech-mod-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:9px;
  }


   .sv-tab { padding: 9px 6px; }
   .sv-skill-tabs .sv-mech-mod-pill{
  .sv-tab + .sv-tab { border-left: 1px solid #506a8d; }
    min-height:50px;
  .sv-tab:nth-child(2n+1) { border-left: 0; }
    padding:8px 8px 7px;
   .sv-tab:nth-child(n+3) { border-top: 1px solid #506a8d; }
    border-radius:14px;
   }


   .sv-kw-grid { grid-template-columns: repeat(2, 1fr); }
   .sv-skill-tabs .sv-mech-mod-pill__label{
    font-size:10px;
    line-height:1.06;
  }


   .sv-tab-pills { grid-template-columns: repeat(2, 1fr); }
   .sv-skill-tabs .sv-mech-mod-pill__value{
  .sv-pill { font-size: 14px; }
    margin-top:4px;
    font-size:14px;
    line-height:1.05;
  }


   .sv-ref-grid { grid-template-columns: 1fr; }
   .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{ gap:8px; }
  .sv-ref-card { grid-template-columns: 52px 1fr; }
  .sv-ref-ico { width: 52px; height: 52px; border-radius: 13px; }


   .sv-level-range--custom,
   .sv-skill-tabs .sv-mech-keyword-pill{
  .sv-level-ticklabels { max-width: 100%; }
    min-height:40px;
}
    padding:8px 10px;
    border-radius:14px;
  }


  .sv-skill-tabs .sv-mech-keyword-pill__label{
    font-size:13px;
    line-height:1.12;
  }


/* --------------------------------------------------------------------------
  .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
  PATCH: Level selector final lockdown (wins even if markup uses spans/inline)
  .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
--------------------------------------------------------------------------- */
    min-height:46px;
    padding:10px 12px;
    border-radius:14px;
  }


.sv-skill-card .sv-skill-level,
  .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label,
.sv-skill-card .sv-level-ui,
  .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{
.sv-skill-card .sv-level-controls,
    font-size:14px;
.sv-skill-card .sv-level-range,
  }
.sv-skill-card .sv-level-slider,
.sv-skill-card .sv-level-range--custom,
.sv-skill-card .sv-level-ticklabels {
  width: 100% !important;
}


.sv-skill-card .sv-level-slider {
  .sv-skill-card .sv-skill-meta,
  display: block !important;
  .sv-gi-card .sv-skill-meta{
}
    gap:8px;
    width:100%;
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    justify-content:center;
    align-items:stretch;
  }


.sv-skill-card .sv-level-range--custom {
  .sv-skill-card .sv-meta-card,
  display: block !important;
  .sv-gi-card .sv-meta-card{
  margin-left: auto !important;
    flex:1 1 calc(50% - 4px);
  margin-right: auto !important;
    min-width:0;
}
    min-height:36px;
    gap:8px;
    padding:7px 9px;
    justify-content:center;
    align-items:center;
    text-align:center;
  }


.sv-skill-card .sv-level-label {
  .sv-skill-card .sv-meta-icon,
   white-space: nowrap !important;
   .sv-gi-card .sv-meta-icon{
}
    width:16px;
    height:16px;
  }


.sv-skill-card .sv-level-label br {
  .sv-skill-card .sv-meta-text,
  display: none !important;
  .sv-gi-card .sv-meta-text{
}
    flex:1 1 auto;
    min-width:0;
    font-size:11px;
    line-height:1.08;
    letter-spacing:0;
    text-align:center;
  }


.sv-skill-card .sv-level-label span,
  .sv-skill-card .sv-meta-text .sv-meta-lines span + span,
.sv-skill-card .sv-level-label b,
  .sv-gi-card .sv-meta-text .sv-meta-lines span + span{
.sv-skill-card .sv-level-label strong,
    margin-top:1px;
.sv-skill-card .sv-level-label em,
    font-size:10px;
.sv-skill-card .sv-level-label i {
  }
  display: inline !important;
  white-space: nowrap !important;
}
 
/* --------------------------------------------------------------------------
  PATCH: Remove click highlight on the level scale
--------------------------------------------------------------------------- */


.sv-level-range--custom:focus {
  .sv-skill-level{ padding:10px 11px; }
  outline: none;
}


.sv-level-range--custom,
  /* Absorbed former micro-phone layout compaction into the default viewpoint. */
.sv-level-track,
.sv-level-fill,
.sv-level-thumb,
.sv-level-ticklabels {
  user-select: none;
}
}