Module:GameInfo/styles.css: Difference between revisions
From SpiritVale Wiki
More actions
No edit summary Tags: Mobile edit Mobile web edit |
No edit summary Tags: Mobile edit Mobile web edit |
||
| Line 836: | Line 836: | ||
/* -------------------------------------------------------------------------- | /* -------------------------------------------------------------------------- | ||
Mechanics tab | Mechanics tab | ||
-------------------------------------------------------------------------- */ | -------------------------------------------------------------------------- */ | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel{ | ||
display:grid; | display:grid; | ||
grid-template-columns:minmax(0, 1fr) minmax(0, | grid-template-columns:minmax(0, 1fr) minmax(0, 220px); | ||
column-gap:16px; | column-gap:16px; | ||
row-gap:12px; | row-gap:12px; | ||
| Line 849: | Line 846: | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods, | ||
.sv-skill-tabs .sv-mech-panel__keywords{ | |||
min-width:0; | min-width:0; | ||
max-width:100%; | |||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods{ | ||
grid-column:1; | grid-column:1; | ||
overflow:hidden; | |||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords{ | ||
grid-column:2; | grid-column:2; | ||
margin-top:0; | margin-top:0; | ||
| Line 863: | Line 863: | ||
/* Mods: compact 3x3 pill matrix */ | /* Mods: compact 3x3 pill matrix */ | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{ | ||
display:grid; | display:grid; | ||
grid-template-columns:repeat(3, | grid-template-columns:repeat(3, minmax(0, max-content)); | ||
justify-content:start; | justify-content:start; | ||
justify-items:start; | justify-items:start; | ||
align-content:start; | |||
gap:8px 10px; | gap:8px 10px; | ||
max-width:100%; | |||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{ | ||
width:auto; | width:auto; | ||
min-width: | min-width:84px; | ||
max-width:100%; | |||
min-height:0; | min-height:0; | ||
padding:7px | padding:7px 9px 6px; | ||
display:flex; | display:flex; | ||
| Line 890: | Line 894: | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-label{ | ||
font-weight:900; | font-weight:900; | ||
font-size:10px; | font-size:10px; | ||
| Line 899: | Line 903: | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{ | ||
margin-top:4px; | margin-top:4px; | ||
word-wrap:break-word; | word-wrap:break-word; | ||
| Line 910: | Line 914: | ||
} | } | ||
/* Keywords: | /* Keywords: centered compact rail */ | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{ | ||
display:flex; | display:flex; | ||
flex-direction:column; | flex-direction:column; | ||
gap: | align-items:stretch; | ||
gap:8px; | |||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-keyword-pill{ | ||
min- | position:relative; | ||
min-width:0; | |||
width:100%; | width:100%; | ||
padding:10px | min-height:38px; | ||
padding:8px 10px; | |||
display:flex; | display:flex; | ||
align-items:center; | align-items:center; | ||
justify-content: | justify-content:center; | ||
text-align: | text-align:center; | ||
border-radius: | border-radius:13px; | ||
border:1px solid rgba(75,99,136,0. | border:1px solid rgba(75,99,136,0.58); | ||
background:#223248; | background:#223248; | ||
background-image:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00)); | background-image:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00)); | ||
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04); | box-shadow:inset 0 1px 0 rgba(255,255,255,0.04); | ||
} | |||
.sv-skill-tabs .sv-mech-keyword-pill__label{ | |||
display:block; | |||
min-width:0; | |||
width:100%; | |||
font-weight:900; | font-weight:900; | ||
font-size: | font-size:13px; | ||
line-height:1. | line-height:1.10; | ||
color:rgba(245,249,255,0.97); | color:rgba(245,249,255,0.97); | ||
text-align:center; | |||
} | |||
.sv-skill-tabs .sv-mech-keyword-pill__hit{ | |||
position:absolute; | |||
top:0; | |||
right:0; | |||
bottom:0; | |||
left:0; | |||
z-index:5; | |||
opacity:0; | |||
} | |||
.sv-skill-tabs .sv-mech-keyword-pill__hit .sv-def{ | |||
display:block; | |||
width:100%; | |||
height:100%; | |||
} | } | ||
/* Toggle: larger keyword mode */ | /* Toggle: larger keyword mode */ | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill, | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{ | ||
min-height: | min-height:46px; | ||
padding: | padding:10px 12px; | ||
border-radius: | border-radius:15px; | ||
} | |||
font-size: | .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label, | ||
line-height:1. | .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{ | ||
font-size:14px; | |||
line-height:1.14; | |||
} | } | ||
| Line 1,055: | Line 1,088: | ||
.sv-gi-top, | .sv-gi-top, | ||
.sv-skill-top{ | .sv-skill-top{ padding:12px 16px 4px; } | ||
.sv-gi-bottom, | .sv-gi-bottom, | ||
.sv-skill-bottom{ | .sv-skill-bottom{ padding:10px 16px 12px; } | ||
.sv-skill-title{ | .sv-skill-title{ font-size:20px; } | ||
.sv-skill-meta{ | .sv-skill-meta{ grid-template-columns:repeat(2, minmax(0, 1fr)); } | ||
.sv-gi-card .sv-ref-grid, | .sv-gi-card .sv-ref-grid, | ||
.sv-skill-card .sv-ref-grid{ | .sv-skill-card .sv-ref-grid{ grid-template-columns:1fr; } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel{ | ||
grid-template-columns:minmax(0, 1fr) minmax(0, | grid-template-columns:minmax(0, 1fr) minmax(0, 196px); | ||
column-gap:14px; | column-gap:14px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{ | ||
grid-template-columns:repeat(3, | grid-template-columns:repeat(3, minmax(0, max-content)); | ||
gap:8px 8px; | gap:8px 8px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{ | ||
min-width: | min-width:80px; | ||
padding:6px | padding:6px 8px 5px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{ font-size:12px; } | ||
.sv-skill-tabs .sv-mech-keyword-pill{ | |||
min-height:36px; | |||
padding:7px 9px; | |||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-keyword-pill__label{ font-size:12px; } | ||
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill, | |||
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{ | |||
min-height:42px; | min-height:42px; | ||
padding:9px | padding:9px 10px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label, | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{ font-size:13px; } | ||
} | } | ||
@media (max-width:500px){ | @media (max-width:500px){ | ||
.sv-skill-head{ | .sv-skill-head{ gap:10px; } | ||
.sv-skill-icon{ | .sv-skill-icon{ | ||
| Line 1,121: | Line 1,143: | ||
} | } | ||
.sv-skill-title{ | .sv-skill-title{ font-size:18px; } | ||
.sv-skill-desc{ font-size:13px; } | |||
.sv-skill-desc{ | |||
.sv-gi-card .sv-scaling-grid, | .sv-gi-card .sv-scaling-grid, | ||
.sv-skill-card .sv-scaling-grid{ | .sv-skill-card .sv-scaling-grid{ grid-template-columns:1fr; } | ||
.sv-skill-tabs .sv-mech-panel{ | |||
.sv-skill-tabs .sv- | |||
grid-template-columns:1fr; | grid-template-columns:1fr; | ||
row-gap:12px; | row-gap:12px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods, | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords{ grid-column:1; } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords{ margin-top:0; } | ||
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{ | |||
.sv-skill-tabs .sv- | grid-template-columns:repeat(3, minmax(0, max-content)); | ||
grid-template-columns:repeat(3, | |||
gap:8px 8px; | gap:8px 8px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{ | ||
min-width: | min-width:76px; | ||
padding:6px 8px 5px; | padding:6px 8px 5px; | ||
border-radius:11px; | border-radius:11px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-label{ | ||
font-size:9px; | font-size:9px; | ||
line-height:1.04; | line-height:1.04; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{ | ||
margin-top:3px; | margin-top:3px; | ||
font-size:12px; | font-size:12px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{ gap:7px; } | ||
.sv-skill-tabs .sv-mech-keyword-pill{ | |||
min-height:34px; | |||
padding:7px 9px; | |||
border-radius:12px; | |||
} | |||
.sv-skill-tabs .sv-mech-keyword-pill__label{ | |||
font-size:12px; | |||
line-height:1.08; | |||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill, | ||
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{ | |||
min-height:40px; | min-height:40px; | ||
padding:9px | padding:9px 10px; | ||
border-radius: | border-radius:14px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label, | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{ font-size:13px; } | ||
.sv-gi-card .sv-reqrow, | .sv-gi-card .sv-reqrow, | ||
| Line 1,238: | Line 1,250: | ||
} | } | ||
.sv-skill-level{ | .sv-skill-level{ padding:9px 10px; } | ||
.sv-gi-card .sv-level-label:not([data-sv-helper-text])::after, | .sv-gi-card .sv-level-label:not([data-sv-helper-text])::after, | ||
.sv-skill-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-card .sv-skill-meta .sv-pill, | .sv-skill-card .sv-skill-meta .sv-pill, | ||
| Line 1,264: | Line 1,272: | ||
} | } | ||
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{ | |||
.sv-skill-tabs .sv- | grid-template-columns:repeat(2, minmax(0, max-content)); | ||
grid-template-columns:repeat(2, | |||
gap:8px 8px; | gap:8px 8px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{ | ||
min-width: | min-width:74px; | ||
padding:6px | padding:6px 7px 5px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-keyword-pill{ | ||
min-height: | min-height:32px; | ||
padding:8px | padding:6px 8px; | ||
} | } | ||
.sv-skill-tabs .sv- | .sv-skill-tabs .sv-mech-keyword-pill__label{ font-size:11px; } | ||
.sv-skill-tabs .sv- | |||
min-height: | .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill, | ||
padding: | .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{ | ||
min-height:36px; | |||
padding:8px 9px; | |||
} | } | ||
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label, | |||
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{ font-size:12px; } | |||
} | } | ||
Revision as of 14:33, 6 March 2026
/* Module:GameInfo/styles.css */
/* NOTE (ownership)
--------------------------------------------------------------------------
Common.css owns shared components and tokens:
- slider anatomy
- tabs
- tips / discloses / popups
This file owns GameInfo-family presentation only:
- card shell
- section layout
- skill-specific display blocks
*/
/* ==========================================================================
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;
}
.sv-gi-top,
.sv-skill-top{ padding:14px 18px 4px; }
.sv-gi-bottom,
.sv-skill-bottom{ padding:10px 18px 12px; }
.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);
}
.sv-gi-card .sv-hidden,
.sv-skill-card .sv-hidden{ display:none; }
.sv-gi-card summary,
.sv-skill-card summary{ list-style:none; }
/* ==========================================================================
2) ICONS, IMAGES, AND FALLBACK BADGES
========================================================================== */
.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; }
.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;
}
.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
========================================================================== */
.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{
min-width:0;
word-wrap:break-word;
font-weight:900;
font-size:22px;
line-height:1.10;
letter-spacing:0.2px;
color:rgba(245,249,255,0.98);
}
.sv-skill-desc{
margin-top:6px;
word-wrap:break-word;
font-size:14px;
line-height:1.35;
color:rgba(215,226,244,0.92);
}
/* ==========================================================================
4) META ROW
========================================================================== */
.sv-skill-meta{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:6px;
margin:8px 0 10px;
}
/* fallback if global .sv-pill is used */
.sv-skill-card .sv-skill-meta .sv-pill,
.sv-gi-card .sv-skill-meta .sv-pill{
width:100%;
min-height:34px;
padding:0;
display:flex;
align-items:center;
justify-content:center;
gap:6px;
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;
letter-spacing:0.08px;
text-transform:none;
color:rgba(245,249,255,0.96);
}
/* preferred meta-card */
.sv-gi-card .sv-meta-card,
.sv-skill-card .sv-meta-card{
position:relative;
display:flex;
align-items:center;
justify-content:center;
gap:6px;
min-height:34px;
padding:0;
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;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
border-radius:999px;
border:1px solid rgba(75,99,136,0.55);
background:#0f172a;
}
.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{
min-width:0;
word-wrap:break-word;
text-align:center;
font-weight:900;
font-size:12px;
line-height:1.02;
letter-spacing:0.08px;
color:rgba(245,249,255,0.96);
}
.sv-gi-card .sv-meta-lines span,
.sv-skill-card .sv-meta-lines span{ display:block; }
.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-gi-card .sv-meta-text .sv-meta-lines span + span,
.sv-skill-card .sv-meta-text .sv-meta-lines span + span{
margin-top:1px;
opacity:0.90;
font-size:10px;
font-weight:800;
letter-spacing:0.12px;
}
.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
========================================================================== */
.sv-gi-card .sv-reqrow,
.sv-skill-card .sv-reqrow{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:8px;
margin:6px 0 10px;
}
.sv-gi-card .sv-disclose,
.sv-skill-card .sv-disclose{
flex:0 1 190px;
max-width:205px;
}
.sv-gi-card .sv-reqrow .sv-disclose-btn,
.sv-skill-card .sv-reqrow .sv-disclose-btn{
min-height:36px;
padding:0 12px;
border-radius:999px;
}
/* ==========================================================================
6) LEVEL SELECTOR WRAPPER
========================================================================== */
.sv-skill-level{
margin:8px 0 10px;
padding:10px 12px;
display:flex;
flex-direction:column;
gap:8px;
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-skill-level:not([data-sv-level-hide-ticks="0"]) .sv-level-ticklabels{ display:none; }
.sv-gi-card .sv-level-label:not([data-sv-helper-text]),
.sv-skill-card .sv-level-label:not([data-sv-helper-text]){
position:static;
top:auto; right:auto; bottom:auto; left:auto;
transform:none;
display:inline-block;
margin:0;
padding:0;
font-size:0;
line-height:0;
}
.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) SKILL SCALING
========================================================================== */
.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);
}
.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);
}
/* Two columns (left cluster, right core); mobile stacks */
.sv_skill_scaling__body{
display:grid;
grid-template-columns:minmax(0, 1fr) minmax(0, 252px);
column-gap:16px;
row-gap:12px;
align-items:start;
/* KEY: prevent grid-item stretch so centering works */
justify-items:center;
}
/* Placeholder not used */
.sv_skill_scaling__side{ display:none; }
/* Left cluster centered within column 1 */
.sv_skill_scaling__cluster{
grid-column:1;
grid-row:1;
display:inline-flex; /* shrink-wrap */
align-items:center;
justify-content:center;
gap:14px;
flex-wrap:wrap;
width:auto;
max-width:100%;
margin:0 auto;
min-width:0;
}
/* Core column should still fill its track */
.sv_skill_scaling__column--core{
grid-column:2;
grid-row:1;
width:100%;
min-width:0;
}
/* Neutral wrappers */
.sv_skill_scaling__column{
min-width:0;
padding:0;
border:0;
border-radius:0;
background:transparent;
background-image:none;
box-shadow:none;
}
/* Damage */
.sv_skill_scaling__column--primary{
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
}
.sv_skill_scaling__primary-value{
word-wrap:break-word;
overflow-wrap:anywhere;
font-weight:900;
font-size:34px;
line-height:0.95;
letter-spacing:-0.50px;
color:rgba(245,249,255,0.99);
}
.sv_skill_scaling__primary-label{
margin-top:6px;
font-weight:900;
font-size:10px;
line-height:1.05;
letter-spacing:0.22px;
text-transform:uppercase;
color:rgba(182,198,224,0.96);
}
/* Attributes (2×3) */
.sv_skill_scaling__stats-grid{
display:grid;
grid-template-columns:repeat(2, max-content);
justify-content:start;
justify-items:start;
row-gap:8px;
column-gap:10px;
grid-template-areas:
"str agi"
"vit int"
"dex luk";
}
.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;
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);
}
/* Stat chips (fixed size across all viewports) */
.sv_skill_scaling__stat-pill{
border-radius:999px;
width:50px;
min-width:50px;
min-height:22px;
padding:4px 6px;
display:inline-flex;
align-items:center;
justify-content:center;
white-space:nowrap;
}
.sv_skill_scaling__stat-main{
min-width:0;
display:flex;
align-items:center;
justify-content:center;
}
.sv_skill_scaling__stat-visual{
min-width:0;
display:flex;
align-items:center;
justify-content:center;
gap:6px;
}
.sv_skill_scaling__stat-label{ display:none; }
.sv_skill_scaling__stat-icon{
width:12px;
height:12px;
display: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{
width:12px;
height:12px;
box-shadow:none;
}
.sv_skill_scaling__stat-icon .sv-miss{
width:12px;
height:12px;
font-size:9px;
line-height:1;
}
.sv_skill_scaling__stat-value{
font-weight:900;
font-size:12px;
line-height:1;
letter-spacing:-0.10px;
color:rgba(245,249,255,0.98);
}
.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%;
}
.sv_skill_scaling__stat-pill.is-inactive{
border-color:rgba(59,75,99,0.72);
background:#182130;
background-image:none;
box-shadow:none;
}
.sv_skill_scaling__stat-pill.is-inactive .sv_skill_scaling__stat-icon,
.sv_skill_scaling__stat-pill.is-inactive .sv_skill_scaling__stat-value{ display:none; }
.sv_skill_scaling__stat-pill.is-inactive::before{
content:"—";
font-weight:900;
font-size:12px;
line-height:1;
color:rgba(140,156,184,0.78);
}
.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);
}
/* per-stat colors */
.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-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-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-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-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-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-value{ color:#fff2ba; }
/* Core (3×2 grid) */
.sv_skill_scaling__core-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:8px;
/* KEY: center each core cell within its track (fixes mobile left bias) */
justify-items:center;
}
.sv_skill_scaling__core-pill{
border-radius:12px;
min-height:25px;
min-width:70px;
padding:8px 6px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
border:1px solid rgba(59,75,99,0.85);
background:#182130;
background-image:none;
box-shadow:none;
}
.sv_skill_scaling__core-pill.is-active{ background:#1a2434; }
.sv_skill_scaling__core-main{
min-width:0;
display:flex;
align-items:baseline;
justify-content:center;
flex-wrap:wrap;
gap:4px;
}
.sv_skill_scaling__core-value{
min-width:0;
word-wrap:break-word;
font-weight:900;
font-size:14px;
line-height:1.02;
color:rgba(245,249,255,0.98);
}
.sv_skill_scaling__core-unit{
font-weight:900;
font-size:10px;
line-height:1.05;
color:rgba(182,198,224,0.95);
}
.sv_skill_scaling__core-label{
margin-top:5px;
font-weight:900;
font-size:10px;
line-height:1.10;
letter-spacing:0.14px;
text-transform:uppercase;
color:rgba(182,198,224,0.95);
}
.sv_skill_scaling__core-pill.is-inactive{
border-color:rgba(59,75,99,0.72);
background:#182130;
}
.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);
}
/* Scaling responsive (no stat pill size changes) */
@media (max-width:850px){
.sv_skill_scaling__body{
grid-template-columns:minmax(0, 1fr) minmax(0, 236px);
}
.sv_skill_scaling__primary-value{ font-size:32px; }
.sv_skill_scaling__core-pill{
min-height:25px;
min-width:70px;
}
.sv_skill_scaling__core-value{ font-size:13px; }
.sv_skill_scaling__core-label{ font-size:9px; }
}
@media (max-width:500px){
.sv_skill_scaling{ padding:9px 10px 10px; }
.sv_skill_scaling .sv-skill-level,
.sv_skill_scaling__level{ padding:0 0 9px; }
.sv_skill_scaling__body{
grid-template-columns:1fr;
row-gap:12px;
}
.sv_skill_scaling__column--core{
grid-column:1;
grid-row:2;
width:100%;
}
.sv_skill_scaling__primary-value{ font-size:30px; }
.sv_skill_scaling__core-pill{
min-height:25px;
min-width:70px;
padding:7px 6px;
}
.sv_skill_scaling__core-value{ font-size:13px; }
.sv_skill_scaling__core-unit{ font-size:10px; }
.sv_skill_scaling__core-label{ font-size:9px; }
}
@media (max-width:360px){
.sv_skill_scaling__primary-value{ font-size:28px; }
.sv_skill_scaling__core-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}
/* ==========================================================================
8) TAB PANELS AND CONTENT BLOCKS
========================================================================== */
.sv-skill-tabs{
margin:10px 0 0;
}
.sv-skill-tabs .sv-tabs-panels{
margin-top:10px;
}
.sv-skill-tabs .sv-tabpanel{
min-width:0;
}
.sv-skill-tabs .sv-tab-empty{
padding:14px 12px;
text-align:center;
border-radius:14px;
border:1px solid rgba(59,75,99,0.78);
background:#182130;
font-weight:900;
font-size:13px;
color:rgba(140,156,184,0.82);
}
/* Section framing inside panels */
.sv-skill-tabs .sv-tab-section + .sv-tab-section{
margin-top:12px;
}
.sv-skill-tabs .sv-tab-section-title{
margin:0 0 8px;
font-weight:900;
font-size:11px;
line-height:1.05;
letter-spacing:0.22px;
text-transform:uppercase;
color:rgba(182,198,224,0.94);
}
/* --------------------------------------------------------------------------
Mechanics tab
-------------------------------------------------------------------------- */
.sv-skill-tabs .sv-mech-panel{
display:grid;
grid-template-columns:minmax(0, 1fr) minmax(0, 220px);
column-gap:16px;
row-gap:12px;
align-items:start;
}
.sv-skill-tabs .sv-mech-panel__mods,
.sv-skill-tabs .sv-mech-panel__keywords{
min-width:0;
max-width:100%;
}
.sv-skill-tabs .sv-mech-panel__mods{
grid-column:1;
overflow:hidden;
}
.sv-skill-tabs .sv-mech-panel__keywords{
grid-column:2;
margin-top:0;
}
/* Mods: compact 3x3 pill matrix */
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, max-content));
justify-content:start;
justify-items:start;
align-content:start;
gap:8px 10px;
max-width:100%;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{
width:auto;
min-width:84px;
max-width:100%;
min-height:0;
padding:7px 9px 6px;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
border-radius:12px;
border:1px solid rgba(59,75,99,0.85);
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);
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-label{
font-weight:900;
font-size:10px;
line-height:1.05;
letter-spacing:0.12px;
text-transform:uppercase;
color:rgba(182,198,224,0.95);
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{
margin-top:4px;
word-wrap:break-word;
overflow-wrap:anywhere;
font-weight:900;
font-size:13px;
line-height:1.02;
color:rgba(245,249,255,0.98);
}
/* Keywords: centered compact rail */
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{
display:flex;
flex-direction:column;
align-items:stretch;
gap:8px;
}
.sv-skill-tabs .sv-mech-keyword-pill{
position:relative;
min-width:0;
width:100%;
min-height:38px;
padding:8px 10px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
border-radius:13px;
border:1px solid rgba(75,99,136,0.58);
background:#223248;
background-image:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00));
box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.sv-skill-tabs .sv-mech-keyword-pill__label{
display:block;
min-width:0;
width:100%;
font-weight:900;
font-size:13px;
line-height:1.10;
color:rgba(245,249,255,0.97);
text-align:center;
}
.sv-skill-tabs .sv-mech-keyword-pill__hit{
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
z-index:5;
opacity:0;
}
.sv-skill-tabs .sv-mech-keyword-pill__hit .sv-def{
display:block;
width:100%;
height:100%;
}
/* Toggle: larger keyword mode */
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
min-height:46px;
padding:10px 12px;
border-radius:15px;
}
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{
font-size:14px;
line-height:1.14;
}
/* ==========================================================================
9) EFFECT CARDS
========================================================================== */
.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{
min-width:0;
display:flex;
align-items:flex-start;
gap:10px;
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);
}
.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;
border-radius:16px;
border:1px solid rgba(75,99,136,0.55);
background:#273449;
}
.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{
word-wrap:break-word;
font-weight:900;
font-size:15px;
line-height:1.15;
color:rgba(245,249,255,0.98);
}
.sv-gi-card .sv-ref-stats,
.sv-skill-card .sv-ref-stats{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:8px;
}
.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);
}
/* ==========================================================================
10) RESPONSIVE (card/layout)
========================================================================== */
@media (max-width:850px){
.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-ref-grid,
.sv-skill-card .sv-ref-grid{ grid-template-columns:1fr; }
.sv-skill-tabs .sv-mech-panel{
grid-template-columns:minmax(0, 1fr) minmax(0, 196px);
column-gap:14px;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{
grid-template-columns:repeat(3, minmax(0, max-content));
gap:8px 8px;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{
min-width:80px;
padding:6px 8px 5px;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{ font-size:12px; }
.sv-skill-tabs .sv-mech-keyword-pill{
min-height:36px;
padding:7px 9px;
}
.sv-skill-tabs .sv-mech-keyword-pill__label{ font-size:12px; }
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
min-height:42px;
padding:9px 10px;
}
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{ font-size:13px; }
}
@media (max-width:500px){
.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-skill-tabs .sv-mech-panel{
grid-template-columns:1fr;
row-gap:12px;
}
.sv-skill-tabs .sv-mech-panel__mods,
.sv-skill-tabs .sv-mech-panel__keywords{ grid-column:1; }
.sv-skill-tabs .sv-mech-panel__keywords{ margin-top:0; }
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{
grid-template-columns:repeat(3, minmax(0, max-content));
gap:8px 8px;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{
min-width:76px;
padding:6px 8px 5px;
border-radius:11px;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-label{
font-size:9px;
line-height:1.04;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{
margin-top:3px;
font-size:12px;
}
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{ gap:7px; }
.sv-skill-tabs .sv-mech-keyword-pill{
min-height:34px;
padding:7px 9px;
border-radius:12px;
}
.sv-skill-tabs .sv-mech-keyword-pill__label{
font-size:12px;
line-height:1.08;
}
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
min-height:40px;
padding:9px 10px;
border-radius:14px;
}
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{ font-size:13px; }
.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;
}
.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{
margin-top:1px;
font-size:9px;
}
.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-card .sv-skill-meta .sv-pill,
.sv-gi-card .sv-skill-meta .sv-pill{
min-height:24px;
gap:5px;
font-size:10px;
line-height:1.05;
letter-spacing:0;
}
}
@media (max-width:360px){
.sv-gi-card .sv-disclose,
.sv-skill-card .sv-disclose{
flex:1 1 100%;
max-width:100%;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{
grid-template-columns:repeat(2, minmax(0, max-content));
gap:8px 8px;
}
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{
min-width:74px;
padding:6px 7px 5px;
}
.sv-skill-tabs .sv-mech-keyword-pill{
min-height:32px;
padding:6px 8px;
}
.sv-skill-tabs .sv-mech-keyword-pill__label{ font-size:11px; }
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
min-height:36px;
padding:8px 9px;
}
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{ font-size:12px; }
}