Module:GameInfo/styles.css: Difference between revisions
From SpiritVale Wiki
More actions
Created page with "→Module:GameInfo/styles.css: →GameInfo Box v1 — TemplateStyles-safe (no CSS vars / no var()): .sv-gi-card, .sv-skill-card { max-width: 600px; margin: 18px auto; border-radius: 22px; border: 1px solid rgba(255, 255, 255, 0.085); background-color: #0f1b33; background-image: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)), linear-gradient(180deg, #0f1b33, #0c162b); box-shadow: 0 16px 38px rgba(0,0,0,0.55), inset 0..." |
No edit summary |
||
| Line 1: | Line 1: | ||
/* Module:GameInfo/styles.css */ | /* Module:GameInfo/styles.css */ | ||
/* GameInfo Box v1 — TemplateStyles-safe (no CSS vars / no var()) */ | /* GameInfo Box v1 — TemplateStyles-safe (no CSS vars / no var()) */ | ||
/* ---------------------------------------------------------------------------- | |||
BASE CARD + SAFETY | |||
---------------------------------------------------------------------------- */ | |||
.sv-gi-card, | .sv-gi-card, | ||
| Line 17: | Line 21: | ||
box-shadow: 0 16px 38px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.04); | box-shadow: 0 16px 38px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.04); | ||
overflow: visible; | overflow: visible; | ||
color: rgba(235, 244, 255, 0.92); | |||
font-size: 15px; | |||
line-height: 1.35; | |||
} | } | ||
| Line 37: | Line 45: | ||
/* Predictable sizing */ | /* Predictable sizing */ | ||
.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-card a, | |||
.sv-skill-card a { | |||
color: rgba(170, 220, 255, 0.95); | |||
text-decoration: none; | |||
} | |||
.sv-gi-card a:hover, | |||
.sv-skill-card a:hover { | |||
text-decoration: underline; | |||
} | |||
/* Remove default details marker in a TemplateStyles-safe way */ | |||
.sv-gi-card summary, | |||
.sv-skill-card summary { | |||
list-style: none; | |||
} | } | ||
| Line 75: | Line 99: | ||
background: rgba(255,255,255,0.05); | background: rgba(255,255,255,0.05); | ||
white-space: nowrap; | white-space: nowrap; | ||
} | |||
/* Image wrapper produced by Lua */ | |||
.sv-img { | |||
display: inline-flex; | |||
align-items: center; | |||
justify-content: center; | |||
} | |||
.sv-img img { | |||
display: block; | |||
border-radius: 10px; | |||
box-shadow: 0 10px 18px rgba(0,0,0,0.35); | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
SKILL HEADER (ICON + TITLE + NOTES + DESCRIPTION) | |||
---------------------------------------------------------------------------- */ | |||
.sv-skill-head { | |||
display: flex; | |||
align-items: flex-start; | |||
gap: 12px; | |||
padding: 2px 0 10px; | |||
} | |||
.sv-skill-icon { | |||
flex: 0 0 auto; | |||
width: 64px; | |||
height: 64px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
overflow: hidden; | |||
} | |||
.sv-skill-icon .sv-miss { | |||
width: 22px; | |||
height: 22px; | |||
font-size: 13px; | |||
} | |||
.sv-skill-headtext { | |||
min-width: 0; | |||
flex: 1 1 auto; | |||
} | |||
.sv-skill-title-row { | |||
display: flex; | |||
align-items: center; | |||
gap: 10px; | |||
} | |||
.sv-skill-title { | |||
font-weight: 900; | |||
letter-spacing: 0.2px; | |||
font-size: 22px; | |||
line-height: 1.10; | |||
color: rgba(245, 250, 255, 0.98); | |||
min-width: 0; | |||
word-wrap: break-word; | |||
} | |||
.sv-skill-desc { | |||
margin-top: 6px; | |||
color: rgba(210, 224, 245, 0.86); | |||
font-size: 14px; | |||
line-height: 1.35; | |||
word-wrap: break-word; | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
NOTES TIP (DETAILS POPOVER) | |||
---------------------------------------------------------------------------- */ | |||
.sv-tip { | |||
position: relative; | |||
flex: 0 0 auto; | |||
} | |||
.sv-tip-btn { | |||
display: inline-flex; | |||
align-items: center; | |||
justify-content: center; | |||
width: 28px; | |||
height: 28px; | |||
border-radius: 999px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.04); | |||
cursor: pointer; | |||
} | |||
.sv-tip-btn:hover { | |||
background: rgba(255,255,255,0.06); | |||
} | |||
.sv-ico { | |||
display: inline-flex; | |||
align-items: center; | |||
justify-content: center; | |||
width: 18px; | |||
height: 18px; | |||
border-radius: 999px; | |||
font-weight: 900; | |||
font-size: 12px; | |||
line-height: 1; | |||
color: rgba(245,250,255,0.95); | |||
background: rgba(0,0,0,0.12); | |||
border: 1px solid rgba(255,255,255,0.08); | |||
} | |||
.sv-tip-pop { | |||
display: none; | |||
position: absolute; | |||
z-index: 50; | |||
top: 34px; | |||
right: 0; | |||
width: 360px; | |||
max-width: 92vw; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.08); | |||
background: | |||
linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)), | |||
rgba(10, 14, 24, 0.92); | |||
box-shadow: 0 18px 40px rgba(0,0,0,0.60); | |||
overflow: hidden; | |||
} | |||
.sv-tip[open] .sv-tip-pop { | |||
display: block; | |||
} | |||
.sv-tip-pop-head { | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
padding: 10px 12px; | |||
border-bottom: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
} | |||
.sv-tip-pop-title { | |||
font-weight: 900; | |||
font-size: 13px; | |||
letter-spacing: 0.2px; | |||
color: rgba(245,250,255,0.96); | |||
} | |||
.sv-tip-pop-hint { | |||
font-size: 12px; | |||
color: rgba(210,224,245,0.65); | |||
} | |||
.sv-tip-pop-body { | |||
padding: 10px 12px; | |||
font-size: 13px; | |||
color: rgba(225,235,250,0.88); | |||
line-height: 1.4; | |||
word-wrap: break-word; | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
META ROW (4 CARDS) | |||
---------------------------------------------------------------------------- */ | |||
.sv-skill-meta { | |||
display: grid; | |||
grid-template-columns: repeat(4, minmax(0, 1fr)); | |||
gap: 10px; | |||
margin: 8px 0 10px; | |||
} | |||
.sv-meta-card { | |||
display: flex; | |||
align-items: center; | |||
gap: 10px; | |||
padding: 9px 10px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
} | |||
.sv-meta-icon { | |||
flex: 0 0 auto; | |||
width: 28px; | |||
height: 28px; | |||
border-radius: 10px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(0,0,0,0.10); | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
overflow: hidden; | |||
} | |||
.sv-meta-icon img { | |||
border-radius: 8px; | |||
box-shadow: none; | |||
} | |||
.sv-meta-textwrap { | |||
min-width: 0; | |||
flex: 1 1 auto; | |||
} | |||
.sv-meta-text { | |||
font-weight: 900; | |||
color: rgba(235,244,255,0.92); | |||
font-size: 15px; | |||
line-height: 1.10; | |||
letter-spacing: 0.2px; | |||
min-width: 0; | |||
word-wrap: break-word; | |||
} | |||
.sv-meta-lines span { | |||
display: block; | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
REQUIREMENTS / USERS ROW | |||
---------------------------------------------------------------------------- */ | |||
.sv-reqrow { | |||
display: flex; | |||
gap: 10px; | |||
flex-wrap: wrap; | |||
margin: 6px 0 8px; | |||
} | |||
.sv-disclose { | |||
position: relative; | |||
flex: 1 1 220px; | |||
min-width: 220px; | |||
} | |||
.sv-disclose > summary { | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
padding: 10px 12px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
cursor: pointer; | |||
font-weight: 900; | |||
color: rgba(235,244,255,0.92); | |||
} | |||
.sv-disclose > summary:hover { | |||
background: rgba(255,255,255,0.05); | |||
} | |||
.sv-disclose-count { | |||
font-weight: 800; | |||
font-size: 13px; | |||
color: rgba(210,224,245,0.70); | |||
} | |||
.sv-disclose-pop { | |||
display: none; | |||
position: absolute; | |||
z-index: 50; | |||
top: 46px; | |||
left: 0; | |||
width: 420px; | |||
max-width: 92vw; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.08); | |||
background: | |||
linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)), | |||
rgba(10, 14, 24, 0.92); | |||
box-shadow: 0 18px 40px rgba(0,0,0,0.60); | |||
overflow: hidden; | |||
} | |||
.sv-disclose[open] .sv-disclose-pop { | |||
display: block; | |||
} | |||
.sv-disclose-pop-head { | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
padding: 10px 12px; | |||
border-bottom: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
} | |||
.sv-disclose-pop-title { | |||
font-weight: 900; | |||
font-size: 13px; | |||
letter-spacing: 0.2px; | |||
color: rgba(245,250,255,0.96); | |||
} | |||
.sv-disclose-pop-hint { | |||
font-size: 12px; | |||
color: rgba(210,224,245,0.65); | |||
} | |||
.sv-disclose-list { | |||
margin: 0; | |||
padding: 10px 12px 12px; | |||
list-style: none; | |||
} | |||
.sv-disclose-list li { | |||
padding: 6px 0; | |||
border-top: 1px solid rgba(255,255,255,0.05); | |||
color: rgba(225,235,250,0.90); | |||
font-size: 13px; | |||
} | |||
.sv-disclose-list li:first-child { | |||
border-top: none; | |||
padding-top: 0; | |||
} | |||
.sv-disclose-group-title { | |||
font-weight: 900; | |||
letter-spacing: 0.2px; | |||
color: rgba(210,224,245,0.78); | |||
padding-top: 10px; | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
LEVEL SELECTOR (TemplateStyles-safe: no vendor pseudo elements) | |||
---------------------------------------------------------------------------- */ | |||
.sv-skill-level { | |||
margin: 8px 0 10px; | |||
padding: 10px 12px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
} | |||
.sv-level-ui { | |||
display: flex; | |||
align-items: baseline; | |||
justify-content: center; | |||
gap: 6px; | |||
margin-bottom: 8px; | |||
} | |||
.sv-level-label { | |||
font-weight: 900; | |||
color: rgba(235,244,255,0.90); | |||
} | |||
.sv-level-num { | |||
font-weight: 900; | |||
color: rgba(245,250,255,0.98); | |||
} | |||
.sv-level-slider { | |||
position: relative; | |||
} | |||
.sv-level-range { | |||
width: 100%; | |||
margin: 0; | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
SCALING TOP | |||
---------------------------------------------------------------------------- */ | |||
.sv-skill-scaling { | |||
margin: 10px 0 10px; | |||
} | |||
.sv-scaling-row { | |||
padding: 10px 12px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
} | |||
.sv-scaling-grid { | |||
display: grid; | |||
grid-template-columns: 1fr 1fr; | |||
gap: 10px; | |||
align-items: start; | |||
} | |||
.sv-scaling-col--scaling { | |||
grid-column: 1 / -1; | |||
} | |||
.sv-scaling-value { | |||
font-weight: 900; | |||
font-size: 18px; | |||
line-height: 1.10; | |||
color: rgba(245,250,255,0.98); | |||
word-wrap: break-word; | |||
} | |||
.sv-scaling-label { | |||
margin-top: 3px; | |||
font-size: 12px; | |||
font-weight: 900; | |||
letter-spacing: 0.25px; | |||
color: rgba(210,224,245,0.65); | |||
text-transform: uppercase; | |||
} | |||
.sv-scaling-list { | |||
display: grid; | |||
gap: 6px; | |||
margin-top: 2px; | |||
} | |||
.sv-scaling-item { | |||
padding: 8px 10px; | |||
border-radius: 14px; | |||
border: 1px solid rgba(255,255,255,0.05); | |||
background: rgba(0,0,0,0.12); | |||
color: rgba(225,235,250,0.88); | |||
font-weight: 800; | |||
font-size: 13px; | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
CORE STATS GRID | |||
---------------------------------------------------------------------------- */ | |||
.sv-skill-core { | |||
margin: 10px 0 10px; | |||
} | |||
.sv-core-row { | |||
padding: 10px 12px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
} | |||
.sv-core-grid { | |||
display: grid; | |||
grid-template-columns: repeat(3, minmax(0, 1fr)); | |||
gap: 10px; | |||
} | |||
.sv-core-cell { | |||
padding: 10px 10px 9px; | |||
border-radius: 14px; | |||
border: 1px solid rgba(255,255,255,0.05); | |||
background: rgba(0,0,0,0.12); | |||
min-width: 0; | |||
} | |||
.sv-core-top { | |||
display: flex; | |||
align-items: baseline; | |||
gap: 6px; | |||
min-width: 0; | |||
} | |||
.sv-core-num { | |||
font-weight: 900; | |||
font-size: 17px; | |||
line-height: 1.10; | |||
color: rgba(245,250,255,0.98); | |||
min-width: 0; | |||
word-wrap: break-word; | |||
} | |||
.sv-core-unit { | |||
font-weight: 900; | |||
font-size: 12px; | |||
color: rgba(210,224,245,0.70); | |||
} | |||
.sv-core-label { | |||
margin-top: 6px; | |||
font-size: 12px; | |||
font-weight: 900; | |||
letter-spacing: 0.25px; | |||
text-transform: uppercase; | |||
color: rgba(210,224,245,0.65); | |||
} | |||
.sv-core-label--tight { | |||
letter-spacing: 0.12px; | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
TABS | |||
---------------------------------------------------------------------------- */ | |||
.sv-skill-tabs { | |||
margin: 10px 0 0; | |||
} | |||
.sv-tabs-list { | |||
display: flex; | |||
gap: 8px; | |||
flex-wrap: wrap; | |||
margin-bottom: 10px; | |||
} | |||
.sv-tab { | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
color: rgba(225,235,250,0.90); | |||
border-radius: 999px; | |||
padding: 7px 10px; | |||
font-weight: 900; | |||
font-size: 13px; | |||
cursor: pointer; | |||
} | |||
.sv-tab:hover { | |||
background: rgba(255,255,255,0.05); | |||
} | |||
.sv-tab[aria-selected="true"] { | |||
background: rgba(255,255,255,0.08); | |||
border-color: rgba(255,255,255,0.10); | |||
color: rgba(245,250,255,0.98); | |||
} | |||
.sv-tabpanel { | |||
padding: 10px 12px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
} | |||
/* Mechanics grid */ | |||
.sv-kw-grid { | |||
display: grid; | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
gap: 10px; | |||
} | |||
.sv-kw-cell { | |||
padding: 10px 10px 9px; | |||
border-radius: 14px; | |||
border: 1px solid rgba(255,255,255,0.05); | |||
background: rgba(0,0,0,0.12); | |||
} | |||
.sv-kw-label { | |||
font-size: 12px; | |||
font-weight: 900; | |||
letter-spacing: 0.25px; | |||
text-transform: uppercase; | |||
color: rgba(210,224,245,0.65); | |||
} | |||
.sv-kw-value { | |||
margin-top: 6px; | |||
font-size: 15px; | |||
font-weight: 900; | |||
color: rgba(245,250,255,0.96); | |||
word-wrap: break-word; | |||
} | |||
/* Keyword pills panel */ | |||
.sv-tab-pills { | |||
display: flex; | |||
flex-wrap: wrap; | |||
gap: 8px; | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
EFFECT / EVENT CARDS | |||
---------------------------------------------------------------------------- */ | |||
.sv-ref-grid { | |||
display: grid; | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
gap: 10px; | |||
} | |||
.sv-ref-card { | |||
display: flex; | |||
gap: 10px; | |||
align-items: flex-start; | |||
padding: 10px 10px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(0,0,0,0.12); | |||
color: rgba(235,244,255,0.90); | |||
min-width: 0; | |||
} | |||
.sv-ref-card--link:hover { | |||
background: rgba(0,0,0,0.16); | |||
text-decoration: none; | |||
} | |||
.sv-ref-ico { | |||
flex: 0 0 auto; | |||
width: 52px; | |||
height: 52px; | |||
border-radius: 16px; | |||
border: 1px solid rgba(255,255,255,0.06); | |||
background: rgba(255,255,255,0.03); | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
overflow: hidden; | |||
} | |||
.sv-ref-ico img { | |||
border-radius: 14px; | |||
box-shadow: none; | |||
} | |||
.sv-ref-text { | |||
min-width: 0; | |||
flex: 1 1 auto; | |||
} | |||
.sv-ref-title { | |||
font-weight: 900; | |||
font-size: 15px; | |||
line-height: 1.15; | |||
color: rgba(245,250,255,0.98); | |||
word-wrap: break-word; | |||
} | |||
.sv-ref-title-row { | |||
display: flex; | |||
align-items: baseline; | |||
justify-content: space-between; | |||
gap: 10px; | |||
} | |||
.sv-ref-title-row--stacked { | |||
flex-direction: column; | |||
align-items: flex-start; | |||
} | |||
.sv-ref-inline { | |||
font-weight: 900; | |||
font-size: 14px; | |||
color: rgba(210,224,245,0.80); | |||
text-align: right; | |||
word-wrap: break-word; | |||
} | |||
.sv-ref-stats { | |||
display: flex; | |||
gap: 8px; | |||
margin-top: 8px; | |||
flex-wrap: wrap; | |||
} | |||
.sv-ref-stat { | |||
display: inline-flex; | |||
align-items: center; | |||
padding: 3px 8px; | |||
border-radius: 999px; | |||
border: 1px solid rgba(255,255,255,0.05); | |||
background: rgba(255,255,255,0.04); | |||
font-weight: 900; | |||
font-size: 12px; | |||
color: rgba(225,235,250,0.88); | |||
} | |||
.sv-ref-sub { | |||
margin-top: 6px; | |||
font-weight: 900; | |||
font-size: 13px; | |||
color: rgba(210,224,245,0.75); | |||
} | |||
/* ---------------------------------------------------------------------------- | |||
RESPONSIVE | |||
---------------------------------------------------------------------------- */ | |||
/* Tablet / compact desktop */ | |||
@media (max-width: 720px) { | |||
.sv-gi-card, | |||
.sv-skill-card { | |||
margin: 14px 10px; | |||
border-radius: 20px; | |||
} | |||
.sv-gi-top, | |||
.sv-skill-top { | |||
padding: 12px 12px 4px; | |||
border-radius: 20px 20px 0 0; | |||
} | |||
.sv-gi-bottom, | |||
.sv-skill-bottom { | |||
padding: 10px 12px 12px; | |||
border-radius: 0 0 20px 20px; | |||
} | |||
.sv-skill-title { | |||
font-size: 20px; | |||
} | |||
.sv-skill-meta { | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
} | |||
.sv-core-grid { | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
} | |||
.sv-ref-grid { | |||
grid-template-columns: 1fr; | |||
} | |||
.sv-tip-pop, | |||
.sv-disclose-pop { | |||
right: 0; | |||
left: auto; | |||
width: 92vw; | |||
max-width: 520px; | |||
} | |||
} | |||
/* Mobile */ | |||
@media (max-width: 520px) { | |||
.sv-skill-head { | |||
gap: 10px; | |||
} | |||
.sv-skill-icon { | |||
width: 56px; | |||
height: 56px; | |||
border-radius: 14px; | |||
} | |||
.sv-skill-title { | |||
font-size: 18px; | |||
} | |||
.sv-skill-desc { | |||
font-size: 13px; | |||
} | |||
.sv-scaling-grid { | |||
grid-template-columns: 1fr; | |||
} | |||
.sv-kw-grid { | |||
grid-template-columns: 1fr; | |||
} | |||
.sv-disclose { | |||
min-width: 0; | |||
flex: 1 1 100%; | |||
} | |||
} | } | ||