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
No edit summary
Line 18: Line 18:
     radial-gradient(1200px 520px at 50% -20%, rgba(96,165,250,0.22), transparent 55%),
     radial-gradient(1200px 520px at 50% -20%, rgba(96,165,250,0.22), transparent 55%),
     linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)),
     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%),
     radial-gradient(900px 360px at 50% 0, rgba(255,255,255,0.06), transparent 55%),
     linear-gradient(180deg, #0f1b33, #0c162b);
     linear-gradient(180deg, #0f1b33, #0c162b);


Line 181: Line 181:
   text-align: center;
   text-align: center;
   line-height: 30px;
   line-height: 30px;
  user-select: none;
   cursor: pointer;
   cursor: pointer;
}
}
Line 205: Line 204:
   border: 1px solid rgba(255,255,255,0.050);
   border: 1px solid rgba(255,255,255,0.050);
   background:
   background:
     radial-gradient(700px 260px at 40% 0%, rgba(96,165,250,0.12), transparent 55%),
     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, rgba(255,255,255,0.06), rgba(255,255,255,0.03)),
     linear-gradient(180deg, #0b1428, #0a1326);
     linear-gradient(180deg, #0b1428, #0a1326);
Line 374: Line 373:


/* ----------------------------------------------------------------------------
/* ----------------------------------------------------------------------------
   LEVEL SELECTOR (TemplateStyles-safe: use CUSTOM slider; no range vendor pseudos)
   LEVEL SELECTOR (TemplateStyles-safe: CUSTOM slider; no range vendor pseudos)
---------------------------------------------------------------------------- */
---------------------------------------------------------------------------- */


Line 388: Line 387:


.sv-level-label {
.sv-level-label {
  width: 100%;
   text-align: center;
   text-align: center;
   font-weight: 800;
   font-weight: 800;
   opacity: 0.95;
   opacity: 0.95;
   font-size: 12px;
   font-size: 12px;
  white-space: nowrap; /* keep "Level X / Y" on one line */
}
}


.sv-level-num { font-variant-numeric: tabular-nums; }
/* If Lua ever emits a <br> inside the label, suppress it */
.sv-level-label br { display: none; }
 
/* If Lua/JS wraps pieces in spans, keep them inline */
.sv-level-label span,
.sv-level-label b,
.sv-level-label strong,
.sv-level-label em,
.sv-level-label i {
  display: inline;
  white-space: nowrap;
}


.sv-level-slider {
.sv-level-slider {
Line 404: Line 416:
/* Custom slider shell */
/* Custom slider shell */
.sv-level-range--custom {
.sv-level-range--custom {
  display: block;            /* critical if this is emitted as a <span> */
   position: relative;
   position: relative;
   width: 95%;
   width: 100%;              /* do NOT shrink */
  max-width: 560px;          /* matches the mockup feel inside 600px card */
  margin: 0 auto;
   height: 26px;
   height: 26px;
   border-radius: 999px;
   border-radius: 999px;
Line 416: Line 431:
.sv-level-track {
.sv-level-track {
   position: absolute;
   position: absolute;
   left: 8px;
   left: 10px;
   right: 8px;
   right: 10px;
   top: 50%;
   top: 50%;
   margin-top: -5px;
   margin-top: -5px;
Line 461: Line 476:
/* Tick labels */
/* Tick labels */
.sv-level-ticklabels {
.sv-level-ticklabels {
  width: 95%;
   display: flex;
   display: flex;
   justify-content: space-between;
   justify-content: space-between;
   margin-top: 4px;
   margin-top: 4px;
  padding: 0 2px;
  width: 100%;              /* do NOT shrink */
  max-width: 560px;          /* align with slider width */
  margin-left: auto;
  margin-right: auto;
   font-size: 12px;
   font-size: 12px;
   color: rgba(255,255,255,0.65);
   color: rgba(255,255,255,0.65);
   font-weight: 800;
   font-weight: 800;
   font-variant-numeric: tabular-nums;
   line-height: 1.1;
  user-select: none;
  padding: 0 2px;
}
}
.sv-level-ticklabels span { min-width: 1ch; text-align: center; }
.sv-level-ticklabels span { min-width: 1ch; text-align: center; }
Line 623: Line 642:
   color: rgba(235,244,255,0.92);
   color: rgba(235,244,255,0.92);
   background:
   background:
     radial-gradient(600px 220px at 50% 0%, rgba(96,165,250,0.14), transparent 60%),
     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));
     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);
   box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
Line 831: Line 850:
   .sv-kw-grid { gap: 7px; }
   .sv-kw-grid { gap: 7px; }
   .sv-kw-cell { padding: 7px 7px 6px; }
   .sv-kw-cell { padding: 7px 7px 6px; }
  /* Keep level slider full-width even on tablet */
  .sv-level-range--custom,
  .sv-level-ticklabels {
    max-width: 520px;
  }
}
}


Line 908: Line 933:
   .sv-ref-card { grid-template-columns: 52px 1fr; }
   .sv-ref-card { grid-template-columns: 52px 1fr; }
   .sv-ref-ico { width: 52px; height: 52px; border-radius: 13px; }
   .sv-ref-ico { width: 52px; height: 52px; border-radius: 13px; }
  /* Level slider uses full available width on mobile */
  .sv-level-range--custom,
  .sv-level-ticklabels {
    max-width: 100%;
  }
}
}


/* --------------------------------------------------------------------------
/* --------------------------------------------------------------------------
   PATCH: Level UI should NOT shrink + label should stay on ONE line
   PATCH: Level selector final lockdown (wins even if markup uses spans/inline)
  (Place at the bottom of the stylesheet)
--------------------------------------------------------------------------- */
--------------------------------------------------------------------------- */


/* Give the level panel a little more breathing room like the mockup */
.sv-skill-card .sv-skill-level,
.sv-skill-level {
.sv-skill-card .sv-level-ui,
   padding: 10px 12px;
.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 {
   display: block !important;
}
}


/* Force the level area to use the full available width */
.sv-skill-card .sv-level-range--custom {
.sv-level-ui,
   display: block !important;
.sv-level-slider {
  margin-left: auto !important;
   width: 100%;
  margin-right: auto !important;
}
}


/* Keep "Level 10 / 10" on one line (prevents the "/ 10" drop) */
.sv-skill-card .sv-level-label {
.sv-level-label {
   white-space: nowrap !important;
  width: 100%;
   white-space: nowrap;
  line-height: 1.15;
  text-align: center;
}
}


/* Make the custom slider fill the panel width (no 95% shrink) */
.sv-skill-card .sv-level-label br {
.sv-level-range--custom,
   display: none !important;
.sv-level-ticklabels {
   width: 100%;
}
}


/* Track stays inset but consistent, like the mockup */
.sv-skill-card .sv-level-label span,
.sv-level-track {
.sv-skill-card .sv-level-label b,
   left: 10px;
.sv-skill-card .sv-level-label strong,
   right: 10px;
.sv-skill-card .sv-level-label em,
.sv-skill-card .sv-level-label i {
   display: inline !important;
   white-space: nowrap !important;
}
}