Module:GameInfo/styles.css
From SpiritVale Wiki
More actions
/* Module:GameInfo/styles.css */
/* GameInfo Box v1 — TemplateStyles-safe (no CSS vars / no var()) */
/* Phase 4.1 — Unified + Reusable (Layout restored, scoped) */
/* NOTE (ownership):
- Common.css owns shared components (slider/tabs/tips/discloses/popups) + tokens.
- This file owns only GameInfo-family layout/presentation (card + sections).
- Transitional fallbacks are guarded with :not([data-...]) so Common can take over
as Lua/JS emit neutral attributes over time.
*/
/* ----------------------------------------------------------------------------
1) BASE CARD + SAFETY
---------------------------------------------------------------------------- */
.sv-gi-card,
.sv-skill-card{
max-width:600px;
margin:18px auto;
border-radius:22px;
border:1px solid rgba(75,99,136,0.55);
background-color:#0f172a;
background-image:
radial-gradient(900px 360px at 40% -10%, rgba(106,166,255,0.18), rgba(0,0,0,0) 60%),
linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)),
linear-gradient(180deg, #0f172a, #0b1324);
box-shadow:0 16px 38px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.05);
overflow:visible;
color:rgba(245,249,255,0.94);
font-size:15px;
line-height:1.35;
}
/* Locked split zones */
.sv-gi-top,
.sv-skill-top{
padding:14px 18px 4px;
}
.sv-gi-bottom,
.sv-skill-bottom{
padding:10px 18px 12px;
}
/* Predictable sizing */
.sv-gi-card,
.sv-gi-card *,
.sv-skill-card,
.sv-skill-card *{
box-sizing:border-box;
}
.sv-gi-error{
max-width:600px;
margin:18px auto;
padding:10px 12px;
border-radius:14px;
border:1px solid rgba(75,99,136,0.55);
background:#1f2937;
color:rgba(245,249,255,0.92);
}
/* Ensure source popup nodes are hidden even without sitewide .sv-hidden */
.sv-gi-card .sv-hidden,
.sv-skill-card .sv-hidden{
display:none;
}
/* Remove default details marker */
.sv-gi-card summary,
.sv-skill-card summary{
list-style:none;
}
/* ----------------------------------------------------------------------------
2) ICON-TEXT HARDENING
---------------------------------------------------------------------------- */
.sv-skill-icon,
.sv-meta-icon,
.sv-ref-ico{
font-size:0;
line-height:0;
}
.sv-skill-icon a,
.sv-meta-icon a,
.sv-ref-ico a{
text-decoration:none;
}
/* Size bumps for “?” badge inside icon boxes */
.sv-skill-icon .sv-miss{
width:22px;
height:22px;
font-size:13px;
line-height:1;
}
.sv-meta-icon .sv-miss,
.sv-ref-ico .sv-miss{
width:18px;
height:18px;
font-size:12px;
line-height:1;
}
/* Card image enhancement (global .sv-img handles rounding) */
.sv-gi-card .sv-img img,
.sv-skill-card .sv-img img{
box-shadow:0 10px 18px rgba(0,0,0,0.30);
}
/* ----------------------------------------------------------------------------
3) 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(75,99,136,0.55);
background:#1f2937;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}
.sv-skill-headtext{
min-width:0;
flex:0 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,249,255,0.98);
min-width:0;
word-wrap:break-word;
}
.sv-skill-desc{
margin-top:6px;
color:rgba(215,226,244,0.92);
font-size:14px;
line-height:1.35;
word-wrap:break-word;
}
/* ----------------------------------------------------------------------------
4) META ROW
---------------------------------------------------------------------------- */
.sv-skill-meta{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:6px;
margin:8px 0 10px;
}
/* If meta row uses global .sv-pill */
.sv-skill-card .sv-skill-meta .sv-pill,
.sv-gi-card .sv-skill-meta .sv-pill{
width:100%;
justify-content:center;
gap:6px;
padding:0;
min-height:34px;
align-items:center;
text-align:center;
border-radius:999px;
border:1px solid rgba(59,75,99,0.85);
background:#273449;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
font-weight:900;
font-size:12px;
line-height:1.02;
text-transform:none;
letter-spacing:0.08px;
color:rgba(245,249,255,0.96);
}
/* If meta row uses .sv-meta-card */
.sv-gi-card .sv-meta-card,
.sv-skill-card .sv-meta-card{
position:relative;
display:flex;
align-items:center;
gap:6px;
padding:0;
min-height:34px;
justify-content:center;
border-radius:999px;
border:1px solid rgba(59,75,99,0.85);
background:#273449;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.sv-gi-card .sv-meta-card:hover,
.sv-skill-card .sv-meta-card:hover{
background:#2e3f59;
}
.sv-gi-card .sv-meta-icon,
.sv-skill-card .sv-meta-icon{
flex:0 0 auto;
width:20px;
height:20px;
border-radius:999px;
border:1px solid rgba(75,99,136,0.55);
background:#0f172a;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}
.sv-gi-card .sv-meta-textwrap,
.sv-skill-card .sv-meta-textwrap{
min-width:0;
flex:0 1 auto;
}
.sv-gi-card .sv-meta-text,
.sv-skill-card .sv-meta-text{
font-weight:900;
color:rgba(245,249,255,0.96);
font-size:12px;
line-height:1.02;
letter-spacing:0.08px;
min-width:0;
word-wrap:break-word;
text-align:center;
}
.sv-gi-card .sv-meta-lines span,
.sv-skill-card .sv-meta-lines span{
display:block;
}
/* Visible meta text should look like plain label text (interaction is on pill hitbox) */
.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;
}
/* Second line (qualifier) smaller + softer */
.sv-gi-card .sv-meta-text .sv-meta-lines span + span,
.sv-skill-card .sv-meta-text .sv-meta-lines span + span{
margin-top:1px;
font-size:10px;
font-weight:800;
opacity:0.90;
letter-spacing:0.12px;
}
/* Full-pill Definitions interaction overlay (rendered by Skills.lua) */
.sv-gi-card .sv-meta-hit,
.sv-skill-card .sv-meta-hit{
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
z-index:5;
opacity:0;
}
.sv-gi-card .sv-meta-hit .sv-def,
.sv-skill-card .sv-meta-hit .sv-def{
display:block;
width:100%;
height:100%;
}
/* ----------------------------------------------------------------------------
5) REQUIREMENTS / USERS ROW (layout only; component styling lives in Common.css)
---------------------------------------------------------------------------- */
.sv-gi-card .sv-reqrow,
.sv-skill-card .sv-reqrow{
display:flex;
justify-content:center;
gap:8px;
flex-wrap:wrap;
margin:6px 0 10px;
}
.sv-gi-card .sv-disclose,
.sv-skill-card .sv-disclose{
flex:0 1 190px;
max-width:205px;
}
/* Transitional: until Lua emits .sv-disclose-btn--compact everywhere,
keep the compact pill look in this row only. */
.sv-gi-card .sv-reqrow .sv-disclose-btn,
.sv-skill-card .sv-reqrow .sv-disclose-btn{
border-radius:999px;
min-height:36px;
padding:0 12px;
}
/* ----------------------------------------------------------------------------
6) LEVEL SELECTOR SECTION (module wrapper; slider anatomy lives in Common.css)
---------------------------------------------------------------------------- */
.sv-skill-level{
margin:8px 0 10px;
padding:10px 12px;
border-radius:16px;
border:1px solid rgba(59,75,99,0.85);
background:#1f2937;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
display:flex;
flex-direction:column;
gap:8px;
}
/* Default policy for Skills: hide tick labels (end-value replaces them).
Future modules can opt out by setting data-sv-level-hide-ticks="0". */
.sv-skill-level:not([data-sv-level-hide-ticks="0"]) .sv-level-ticklabels{
display:none;
}
/* Transitional helper label:
- If Lua adds data-sv-helper-text, Common.css owns the label content.
- Otherwise, fall back to the old “Slide to set level” helper. */
.sv-gi-card .sv-level-label:not([data-sv-helper-text]),
.sv-skill-card .sv-level-label:not([data-sv-helper-text]){
font-size:0;
line-height:0;
margin:0;
padding:0;
display:inline-block;
position:static;
left:auto;
right:auto;
top:auto;
bottom:auto;
transform:none;
}
.sv-gi-card .sv-level-label:not([data-sv-helper-text])::after,
.sv-skill-card .sv-level-label:not([data-sv-helper-text])::after{
content:"Slide to set level";
display:inline-block;
font-weight:900;
font-size:13px;
line-height:1.25;
letter-spacing:0.15px;
color:rgba(245,249,255,0.94);
}
/* ----------------------------------------------------------------------------
7) SCHEMA 2 SKILL SCALING DASHBOARD (NEW SYSTEM)
---------------------------------------------------------------------------- */
.sv_skill_scaling{
margin:8px 0 10px;
padding:10px 12px 12px;
border-radius:18px;
border:1px solid rgba(59,75,99,0.85);
background:#1f2937;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
/* The level selector is visually absorbed into the dashboard card */
.sv_skill_scaling .sv-skill-level,
.sv_skill_scaling__level{
margin:0 0 10px;
padding:0 0 10px;
border:0;
border-radius:0;
background:transparent;
box-shadow:none;
border-bottom:1px solid rgba(59,75,99,0.72);
}
.sv_skill_scaling__body{
display:grid;
grid-template-columns:minmax(0, 1.2fr) minmax(0, 0.86fr) minmax(0, 1fr);
gap:10px;
align-items:start;
}
.sv_skill_scaling__column{
min-width:0;
border-radius:16px;
border:1px solid rgba(59,75,99,0.85);
background:#273449;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
/* Primary column */
.sv_skill_scaling__column--primary{
padding:14px 12px;
min-height:330px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
}
.sv_skill_scaling__primary-value{
font-weight:900;
font-size:44px;
line-height:0.95;
letter-spacing:-0.5px;
color:rgba(245,249,255,0.99);
word-wrap:break-word;
}
.sv_skill_scaling__primary-label{
margin-top:8px;
font-size:13px;
font-weight:900;
letter-spacing:0.35px;
text-transform:uppercase;
color:rgba(182,198,224,0.96);
}
/* Shared pill container rules */
.sv_skill_scaling__stats,
.sv_skill_scaling__core{
padding:8px;
}
.sv_skill_scaling__stats-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:8px;
}
.sv_skill_scaling__core-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:8px;
}
.sv_skill_scaling__pill{
position:relative;
min-width:0;
padding:10px 12px;
border-radius:14px;
border:1px solid rgba(59,75,99,0.92);
background:#1a2434;
background-image:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
}
/* -------------------------------------------------------------------------
7A) STAT PILLS
------------------------------------------------------------------------- */
.sv_skill_scaling__stat-pill{
min-height:74px;
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
}
.sv_skill_scaling__stat-main{
min-width:0;
flex:1 1 auto;
display:flex;
align-items:center;
}
.sv_skill_scaling__stat-visual{
min-width:0;
display:inline-flex;
align-items:center;
gap:8px;
}
.sv_skill_scaling__stat-icon{
flex:0 0 auto;
width:18px;
height:18px;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:0;
line-height:0;
}
.sv_skill_scaling__stat-icon a{
text-decoration:none;
}
.sv_skill_scaling__stat-icon .sv-img img{
box-shadow:none;
}
.sv_skill_scaling__stat-icon .sv-miss{
width:14px;
height:14px;
font-size:10px;
line-height:1;
}
.sv_skill_scaling__stat-value{
flex:0 0 auto;
font-weight:900;
font-size:18px;
line-height:1.05;
color:rgba(245,249,255,0.98);
}
.sv_skill_scaling__stat-label{
font-weight:900;
font-size:16px;
line-height:1.05;
letter-spacing:0.25px;
text-transform:uppercase;
color:rgba(182,198,224,0.92);
}
/* Full-pill definitions overlay for active pills */
.sv_skill_scaling__stat-hit{
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
z-index:5;
opacity:0;
}
.sv_skill_scaling__stat-hit .sv-def{
display:block;
width:100%;
height:100%;
}
/* Inactive state */
.sv_skill_scaling__stat-pill.is-inactive{
background:#182130;
border-color:rgba(59,75,99,0.72);
}
.sv_skill_scaling__stat-pill.is-inactive .sv_skill_scaling__stat-value{
color:rgba(140,156,184,0.78);
}
.sv_skill_scaling__stat-pill.is-inactive .sv_skill_scaling__stat-label{
color:rgba(140,156,184,0.82);
}
/* Active state baseline */
.sv_skill_scaling__stat-pill.is-active{
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.05),
0 0 0 1px rgba(255,255,255,0.01);
}
.sv_skill_scaling__stat-pill.is-active .sv_skill_scaling__stat-label,
.sv_skill_scaling__stat-pill.is-active .sv_skill_scaling__stat-value{
color:rgba(245,249,255,0.99);
}
/* Darker per-stat colors based on icon families */
.sv_skill_scaling__stat-pill--str.is-active{
border-color:rgba(145,63,82,0.96);
background:#32131d;
background-image:linear-gradient(180deg, rgba(190,88,113,0.16), rgba(0,0,0,0.00));
}
.sv_skill_scaling__stat-pill--str.is-active .sv_skill_scaling__stat-label,
.sv_skill_scaling__stat-pill--str.is-active .sv_skill_scaling__stat-value{
color:#ffdce5;
}
.sv_skill_scaling__stat-pill--vit.is-active{
border-color:rgba(158,112,22,0.96);
background:#352609;
background-image:linear-gradient(180deg, rgba(210,144,18,0.15), rgba(0,0,0,0.00));
}
.sv_skill_scaling__stat-pill--vit.is-active .sv_skill_scaling__stat-label,
.sv_skill_scaling__stat-pill--vit.is-active .sv_skill_scaling__stat-value{
color:#ffefc9;
}
.sv_skill_scaling__stat-pill--dex.is-active{
border-color:rgba(118,146,24,0.96);
background:#243208;
background-image:linear-gradient(180deg, rgba(159,194,27,0.16), rgba(0,0,0,0.00));
}
.sv_skill_scaling__stat-pill--dex.is-active .sv_skill_scaling__stat-label,
.sv_skill_scaling__stat-pill--dex.is-active .sv_skill_scaling__stat-value{
color:#edf8cc;
}
.sv_skill_scaling__stat-pill--agi.is-active{
border-color:rgba(125,62,152,0.96);
background:#2b1438;
background-image:linear-gradient(180deg, rgba(165,82,198,0.17), rgba(0,0,0,0.00));
}
.sv_skill_scaling__stat-pill--agi.is-active .sv_skill_scaling__stat-label,
.sv_skill_scaling__stat-pill--agi.is-active .sv_skill_scaling__stat-value{
color:#f0dcff;
}
.sv_skill_scaling__stat-pill--int.is-active{
border-color:rgba(45,118,191,0.96);
background:#11263d;
background-image:linear-gradient(180deg, rgba(35,140,230,0.18), rgba(0,0,0,0.00));
}
.sv_skill_scaling__stat-pill--int.is-active .sv_skill_scaling__stat-label,
.sv_skill_scaling__stat-pill--int.is-active .sv_skill_scaling__stat-value{
color:#d8eeff;
}
.sv_skill_scaling__stat-pill--luk.is-active{
border-color:rgba(183,150,22,0.96);
background:#3a2f07;
background-image:linear-gradient(180deg, rgba(234,194,9,0.16), rgba(0,0,0,0.00));
}
.sv_skill_scaling__stat-pill--luk.is-active .sv_skill_scaling__stat-label,
.sv_skill_scaling__stat-pill--luk.is-active .sv_skill_scaling__stat-value{
color:#fff2ba;
}
/* -------------------------------------------------------------------------
7B) CORE PILLS
------------------------------------------------------------------------- */
.sv_skill_scaling__core-pill{
min-height:92px;
display:flex;
flex-direction:column;
justify-content:center;
}
.sv_skill_scaling__core-main{
display:flex;
align-items:baseline;
gap:6px;
min-width:0;
}
.sv_skill_scaling__core-value{
font-weight:900;
font-size:18px;
line-height:1.02;
color:rgba(245,249,255,0.98);
min-width:0;
word-wrap:break-word;
}
.sv_skill_scaling__core-unit{
font-weight:900;
font-size:12px;
line-height:1.05;
color:rgba(182,198,224,0.95);
}
.sv_skill_scaling__core-label{
margin-top:6px;
font-size:12px;
font-weight:900;
letter-spacing:0.22px;
text-transform:uppercase;
color:rgba(182,198,224,0.95);
}
.sv_skill_scaling__core-pill.is-inactive{
background:#182130;
border-color:rgba(59,75,99,0.72);
}
.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:rgba(140,156,184,0.78);
}
/* ----------------------------------------------------------------------------
8) LEGACY SCHEMA 1 — SCALING TOP
---------------------------------------------------------------------------- */
.sv-skill-scaling{
margin:10px 0 10px;
}
.sv-gi-card .sv-scaling-row,
.sv-skill-card .sv-scaling-row{
padding:10px 12px;
border-radius:16px;
border:1px solid rgba(59,75,99,0.85);
background:#1f2937;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.sv-gi-card .sv-scaling-grid,
.sv-skill-card .sv-scaling-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
align-items:start;
}
.sv-gi-card .sv-scaling-col--scaling,
.sv-skill-card .sv-scaling-col--scaling{
grid-column:1 / -1;
}
.sv-gi-card .sv-scaling-value,
.sv-skill-card .sv-scaling-value{
font-weight:900;
font-size:18px;
line-height:1.10;
color:rgba(245,249,255,0.98);
word-wrap:break-word;
}
.sv-gi-card .sv-scaling-label,
.sv-skill-card .sv-scaling-label{
margin-top:3px;
font-size:12px;
font-weight:900;
letter-spacing:0.25px;
text-transform:uppercase;
color:rgba(182,198,224,0.95);
}
.sv-gi-card .sv-scaling-list,
.sv-skill-card .sv-scaling-list{
display:grid;
gap:6px;
margin-top:2px;
}
.sv-gi-card .sv-scaling-item,
.sv-skill-card .sv-scaling-item{
border:1px solid rgba(59,75,99,0.85);
background:#273449;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
color:rgba(215,226,244,0.92);
padding:8px 10px;
border-radius:14px;
font-weight:800;
font-size:13px;
}
/* ----------------------------------------------------------------------------
9) LEGACY SCHEMA 1 — CORE STATS GRID
---------------------------------------------------------------------------- */
.sv-skill-core{
margin:10px 0 10px;
}
.sv-gi-card .sv-core-row,
.sv-skill-card .sv-core-row{
padding:10px 12px;
border-radius:16px;
border:1px solid rgba(59,75,99,0.85);
background:#1f2937;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.sv-gi-card .sv-core-grid,
.sv-skill-card .sv-core-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:10px;
}
.sv-gi-card .sv-core-cell,
.sv-skill-card .sv-core-cell{
padding:10px 10px 9px;
border-radius:14px;
border:1px solid rgba(59,75,99,0.85);
background:#273449;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
min-width:0;
}
.sv-gi-card .sv-core-top,
.sv-skill-card .sv-core-top{
display:flex;
align-items:baseline;
gap:6px;
min-width:0;
}
.sv-gi-card .sv-core-num,
.sv-skill-card .sv-core-num{
font-weight:900;
font-size:17px;
line-height:1.10;
color:rgba(245,249,255,0.98);
min-width:0;
word-wrap:break-word;
}
.sv-gi-card .sv-core-unit,
.sv-skill-card .sv-core-unit{
font-weight:900;
font-size:12px;
color:rgba(182,198,224,0.95);
}
.sv-gi-card .sv-core-label,
.sv-skill-card .sv-core-label{
margin-top:6px;
font-size:12px;
font-weight:900;
letter-spacing:0.25px;
text-transform:uppercase;
color:rgba(182,198,224,0.95);
}
.sv-gi-card .sv-core-label--tight,
.sv-skill-card .sv-core-label--tight{
letter-spacing:0.12px;
}
/* ----------------------------------------------------------------------------
10) TABS + PANELS CONTENT (tabs component is global; content layouts are module-owned)
---------------------------------------------------------------------------- */
.sv-skill-tabs{
margin:10px 0 0;
}
/* Mechanics grid (tabpanel content) */
.sv-gi-card .sv-kw-grid,
.sv-skill-card .sv-kw-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px;
}
.sv-gi-card .sv-kw-cell,
.sv-skill-card .sv-kw-cell{
padding:10px 10px 9px;
border-radius:14px;
border:1px solid rgba(59,75,99,0.85);
background:#273449;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.sv-gi-card .sv-kw-label,
.sv-skill-card .sv-kw-label{
font-size:12px;
font-weight:900;
letter-spacing:0.25px;
text-transform:uppercase;
color:rgba(182,198,224,0.95);
}
.sv-gi-card .sv-kw-value,
.sv-skill-card .sv-kw-value{
margin-top:6px;
font-size:15px;
font-weight:900;
color:rgba(245,249,255,0.96);
word-wrap:break-word;
}
/* Keyword pills panel */
.sv-gi-card .sv-tab-pills,
.sv-skill-card .sv-tab-pills{
display:flex;
flex-wrap:wrap;
gap:8px;
}
/* ----------------------------------------------------------------------------
11) EFFECT / EVENT CARDS (module-owned presentation)
---------------------------------------------------------------------------- */
.sv-gi-card .sv-ref-grid,
.sv-skill-card .sv-ref-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px;
}
.sv-gi-card .sv-ref-card,
.sv-skill-card .sv-ref-card{
display:flex;
gap:10px;
align-items:flex-start;
padding:10px 10px;
border-radius:16px;
border:1px solid rgba(59,75,99,0.85);
background:#1f2937;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
color:rgba(245,249,255,0.94);
min-width:0;
}
.sv-gi-card .sv-ref-ico,
.sv-skill-card .sv-ref-ico{
flex:0 0 auto;
width:52px;
height:52px;
border-radius:16px;
border:1px solid rgba(75,99,136,0.55);
background:#273449;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}
.sv-gi-card .sv-ref-text,
.sv-skill-card .sv-ref-text{
min-width:0;
flex:1 1 auto;
}
.sv-gi-card .sv-ref-title,
.sv-skill-card .sv-ref-title{
font-weight:900;
font-size:15px;
line-height:1.15;
color:rgba(245,249,255,0.98);
word-wrap:break-word;
}
.sv-gi-card .sv-ref-stats,
.sv-skill-card .sv-ref-stats{
display:flex;
gap:8px;
margin-top:8px;
flex-wrap:wrap;
}
.sv-gi-card .sv-ref-stat,
.sv-skill-card .sv-ref-stat{
display:inline-flex;
align-items:center;
padding:3px 8px;
border-radius:999px;
border:1px solid rgba(59,75,99,0.85);
background:#273449;
background-image:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
font-weight:900;
font-size:12px;
color:rgba(215,226,244,0.92);
}
.sv-gi-card .sv-ref-sub,
.sv-skill-card .sv-ref-sub{
margin-top:6px;
font-weight:900;
font-size:13px;
color:rgba(182,198,224,0.95);
}
/* ----------------------------------------------------------------------------
12) RESPONSIVE (layout tightening)
---------------------------------------------------------------------------- */
@media (max-width:720px){
.sv-gi-card,
.sv-skill-card{
margin:14px 10px;
border-radius:20px;
}
.sv-gi-top,
.sv-skill-top{
padding:12px 16px 4px;
}
.sv-gi-bottom,
.sv-skill-bottom{
padding:10px 16px 12px;
}
.sv-skill-title{ font-size:20px; }
.sv-skill-meta{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.sv-gi-card .sv-core-grid,
.sv-skill-card .sv-core-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.sv-gi-card .sv-ref-grid,
.sv-skill-card .sv-ref-grid{ grid-template-columns:1fr; }
.sv_skill_scaling__body{
grid-template-columns:1fr;
}
.sv_skill_scaling__column--primary{
min-height:170px;
}
.sv_skill_scaling__primary-value{
font-size:40px;
}
}
@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-gi-card .sv-scaling-grid,
.sv-skill-card .sv-scaling-grid{ grid-template-columns:1fr; }
.sv-gi-card .sv-kw-grid,
.sv-skill-card .sv-kw-grid{ grid-template-columns:1fr; }
/* Requirements/Users strict edge padding */
.sv-gi-card .sv-reqrow,
.sv-skill-card .sv-reqrow{
padding-left:16px;
padding-right:16px;
}
.sv-gi-card .sv-disclose,
.sv-skill-card .sv-disclose{
flex:1 1 170px;
max-width:190px;
}
/* META ROW (mobile-tight) */
.sv-skill-card .sv-skill-meta,
.sv-gi-card .sv-skill-meta{
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:6px;
max-width:200px;
margin-left:auto;
margin-right:auto;
justify-content:center;
}
.sv-skill-card .sv-meta-card,
.sv-gi-card .sv-meta-card{
min-height:32px;
gap:7px;
}
.sv-skill-card .sv-meta-icon,
.sv-gi-card .sv-meta-icon{
width:16px;
height:16px;
}
.sv-skill-card .sv-meta-text,
.sv-gi-card .sv-meta-text{
font-size:10px;
line-height:1.05;
letter-spacing:0;
}
.sv-skill-card .sv-meta-text .sv-meta-lines span + span,
.sv-gi-card .sv-meta-text .sv-meta-lines span + span{
font-size:9px;
margin-top:1px;
}
.sv-skill-level{
padding:9px 10px;
}
.sv-gi-card .sv-level-label:not([data-sv-helper-text])::after,
.sv-skill-card .sv-level-label:not([data-sv-helper-text])::after{
font-size:12px;
}
.sv_skill_scaling{
padding:9px 10px 10px;
}
.sv_skill_scaling .sv-skill-level,
.sv_skill_scaling__level{
padding:0 0 9px;
}
.sv_skill_scaling__column--primary{
min-height:150px;
}
.sv_skill_scaling__primary-value{
font-size:36px;
line-height:0.98;
}
.sv_skill_scaling__primary-label{
margin-top:7px;
font-size:12px;
}
.sv_skill_scaling__pill{
padding:9px 10px;
}
.sv_skill_scaling__stat-pill{
min-height:64px;
}
.sv_skill_scaling__stat-label{
font-size:14px;
}
.sv_skill_scaling__stat-value{
font-size:16px;
}
.sv_skill_scaling__core-pill{
min-height:82px;
}
.sv_skill_scaling__core-value{
font-size:17px;
}
.sv_skill_scaling__core-label{
font-size:11px;
letter-spacing:0.15px;
}
/* If meta row ever renders the global .sv-pill variant */
.sv-skill-card .sv-skill-meta .sv-pill,
.sv-gi-card .sv-skill-meta .sv-pill{
min-height:24px;
font-size:10px;
line-height:1.05;
letter-spacing:0;
gap:5px;
}
}
@media (max-width:360px){
.sv-gi-card .sv-disclose,
.sv-skill-card .sv-disclose{
flex:1 1 100%;
max-width:100%;
}
.sv_skill_scaling__core-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}