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: Mobile edit Mobile web edit
No edit summary
Tags: Mobile edit Mobile web edit
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Module:GameInfo/styles.css */
/* SpiritVale Wiki — Module:GameInfo/styles.css */
/* NOTE (ownership)
/* GameInfo-family layout and skill-specific presentation.
  --------------------------------------------------------------------------
  Surface hierarchy:
  Common.css owns shared components and tokens:
  - bg1 = outer card / inactive neutral base
  - surface tokens / text tokens / border tokens
  - bg2 = grouped section surface
  - slider anatomy
  - bg3 = inner framed block / pill surface
  - tabs
*/
  - tips / discloses / popups
/* -------------------------------------------------------------------------- */
  - shared card / tile / pill primitives
/* 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                                                        */
/* -------------------------------------------------------------------------- */


  This file owns GameInfo-family presentation only:
  - card shell sizing / layout
  - section layout
  - skill-specific display blocks
  - stat accent colors for scaling pills
*/


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


.sv-gi-card,
.sv-gi-card,
Line 27: Line 45:
   overflow:visible;
   overflow:visible;


  /* Outer shell uses the site’s darkest surface step */
   background:var(--sv-ui-bg1);
   background:var(--sv-ui-bg0);
   background-image:none;
   background-image:none;


Line 55: Line 72:
   word-break:break-word;
   word-break:break-word;
}
}
.sv-gi-card .sv-hidden,
.sv-skill-card .sv-hidden{ display:none; }


.sv-gi-card summary,
.sv-gi-card summary,
.sv-skill-card summary{ list-style:none; }
.sv-skill-card summary{ list-style:none; }


/* ==========================================================================
/* -------------------------------------------------------------------------- */
  2) ICONS, IMAGES, AND FALLBACK BADGES
/* 2) Icons and fallback badges                                                */
  ========================================================================== */
/* -------------------------------------------------------------------------- */


.sv-skill-icon,
.sv-skill-icon,
.sv-meta-icon,
.sv-meta-icon,
.sv-ref-ico{
.sv-ref-ico,
.sv_skill_scaling__stat-icon{
   font-size:0;
   font-size:0;
   line-height:0;
   line-height:0;
Line 75: Line 90:
.sv-skill-icon a,
.sv-skill-icon a,
.sv-meta-icon a,
.sv-meta-icon a,
.sv-ref-ico a{ text-decoration:none; }
.sv-ref-ico a,
.sv_skill_scaling__stat-icon a{ text-decoration:none; }


.sv-skill-icon .sv-miss{
.sv-skill-icon .sv-miss{
Line 92: Line 108:
}
}


/* ==========================================================================
/* -------------------------------------------------------------------------- */
  3) SKILL HEADER
/* 2b) Interactive link treatment                                              */
  ========================================================================== */
/* -------------------------------------------------------------------------- */
 
.sv-disclose-pop a,
.sv-disclose-pop-title a,
.sv-tip-pop a,
.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;
}
 
.sv-disclose-pop a:hover,
.sv-disclose-pop-title a:hover,
.sv-tip-pop a:hover,
.sv-tip-pop-title a:hover,
.sv-def-pop a:hover,
.sv-def-pop-title a:hover,
.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);
}
 
.sv-disclose-pop-title a,
.sv-tip-pop-title a,
.sv-def-pop-title a,
.sv-pop-title a{
  font:inherit;
}
 
/* -------------------------------------------------------------------------- */
/* 3) Skill header                                                            */
/* -------------------------------------------------------------------------- */


.sv-skill-head{
.sv-skill-head{
Line 147: Line 212:
}
}


/* ==========================================================================
/* -------------------------------------------------------------------------- */
  4) META ROW
/* 4) Meta and requirements block                                              */
  ========================================================================== */
/* -------------------------------------------------------------------------- */
 
.sv-skill-meta-block{
  margin:8px 0 10px;


.sv-skill-meta{
   display:grid;
   display:grid;
   grid-template-columns:repeat(4, minmax(0, 1fr));
   grid-template-columns:repeat(2, minmax(0, 1fr));
   gap:6px;
  align-items:stretch;
   margin:8px 0 10px;
   gap:10px;
}
 
.sv-skill-meta-block--single{
   grid-template-columns:minmax(0, 1fr);
}
}


/* fallback if global .sv-pill is used */
.sv-skill-meta-block__bubble{
.sv-skill-card .sv-skill-meta .sv-pill,
   min-width:0;
.sv-gi-card .sv-skill-meta .sv-pill{
   min-height:108px;
   width:100%;
  max-height:108px;
   min-height:34px;
   padding:10px 12px;
   padding:0;


   display:flex;
   display:flex;
   align-items:center;
   align-items:center;
   justify-content:center;
   justify-content:center;
   gap:6px;
   overflow:hidden;
   text-align:center;
 
   border-radius:16px;
  background:var(--sv-ui-bg2);
  background-image:none;
  box-shadow:none;
}
 
.sv-skill-meta-block__bubble--meta .sv-skill-meta,
.sv-skill-meta-block__bubble--req .sv-reqrow{
  width:100%;
  margin:0;
}


  border-radius:999px;
/* -------------------------------------------------------------------------- */
/* 5) Meta row                                                                */
/* -------------------------------------------------------------------------- */


   font-weight:900;
.sv-skill-meta{
   font-size:12px;
   display:grid;
   line-height:1.02;
   grid-template-columns:repeat(2, minmax(0, 1fr));
   letter-spacing:0.08px;
   justify-items:center;
   text-transform:none;
   align-items:center;
   gap:8px;
}
}


/* preferred meta-card */
.sv-gi-card .sv-meta-card,
.sv-gi-card .sv-meta-card,
.sv-skill-card .sv-meta-card{
.sv-skill-card .sv-meta-card{
Line 190: Line 273:
   gap:6px;
   gap:6px;


   min-height:34px;
  width:100%;
   padding:0;
   min-height:36px;
   padding:0 8px;


   border-radius:999px;
   border-radius:14px;
   border:1px solid var(--sv-ui-line2);
   border:1px solid var(--sv-ui-line2);
   background:var(--sv-ui-bg2);
   background:var(--sv-ui-bg3);
   background-image:none;
   background-image:none;
   color:var(--sv-ui-text1);
   color:var(--sv-ui-text1);
Line 214: Line 298:
   overflow:hidden;
   overflow:hidden;


   border-radius:999px;
   border-radius:14px;
 
   background:var(--sv-ui-bg3);
  /* small inner bubble contrast */
   background:var(--sv-ui-bg1);
   background-image:none;
   background-image:none;
}
}
Line 265: Line 347:
.sv-skill-card .sv-meta-hit{
.sv-skill-card .sv-meta-hit{
   position:absolute;
   position:absolute;
   top:0; right:0; bottom:0; left:0;
   top:0;
  right:0;
  bottom:0;
  left:0;
   z-index:5;
   z-index:5;
   opacity:0;
   opacity:0;
Line 277: Line 362:
}
}


/* ==========================================================================
/* -------------------------------------------------------------------------- */
  5) REQUIREMENTS / USERS ROW
/* 6) Requirements and users row                                              */
  ========================================================================== */
/* -------------------------------------------------------------------------- */


.sv-gi-card .sv-reqrow,
.sv-gi-card .sv-reqrow,
.sv-skill-card .sv-reqrow{
.sv-skill-card .sv-reqrow{
   display:flex;
   display:flex;
  flex-direction:column;
   justify-content:center;
   justify-content:center;
  flex-wrap:wrap;
   gap:8px;
   gap:8px;
  margin:6px 0 10px;
}
}


.sv-gi-card .sv-disclose,
.sv-gi-card .sv-disclose,
.sv-skill-card .sv-disclose{
.sv-skill-card .sv-disclose{
   flex:0 1 190px;
   min-width:0;
   max-width:205px;
   max-width:none;
  width:100%;
}
}


.sv-gi-card .sv-reqrow .sv-disclose-btn,
.sv-gi-card .sv-reqrow .sv-disclose-btn,
.sv-skill-card .sv-reqrow .sv-disclose-btn{
.sv-skill-card .sv-reqrow .sv-disclose-btn{
  width:100%;
   min-height:36px;
   min-height:36px;
   padding:0 12px;
   padding:0 12px;
   border-radius:999px;
   border-radius:14px;
  background:var(--sv-ui-bg3);
  background-image:none;
  box-shadow:none;
}
}


/* ==========================================================================
/* -------------------------------------------------------------------------- */
  6) LEVEL SELECTOR WRAPPER
/* 7) Level selector wrapper                                                  */
  ========================================================================== */
/* -------------------------------------------------------------------------- */


.sv-skill-level{
.sv-skill-level{
Line 316: Line 405:


   border-radius:16px;
   border-radius:16px;
 
   background:var(--sv-ui-bg2);
  /* section surface */
   background:var(--sv-ui-bg1);
   background-image:none;
   background-image:none;
   box-shadow:none;
   box-shadow:none;
Line 325: Line 412:
.sv-skill-level:not([data-sv-level-hide-ticks="0"]) .sv-level-ticklabels{ display:none; }
.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]){
/* 8) Skill scaling                                                            */
  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:var(--sv-ui-text1);
}
 
/* ==========================================================================
  7) SKILL SCALING (native schema)
  ========================================================================== */


.sv_skill_scaling{
.sv_skill_scaling{
Line 360: Line 421:


   border-radius:18px;
   border-radius:18px;
 
   background:var(--sv-ui-bg2);
  /* section surface */
   background:var(--sv-ui-bg1);
   background-image:none;
   background-image:none;
   box-shadow:none;
   box-shadow:none;
Line 379: Line 438:
}
}


/* Two columns (left cluster, right core); mobile stacks */
.sv_skill_scaling__body{
.sv_skill_scaling__body{
   display:grid;
   display:grid;
Line 385: Line 443:
   column-gap:16px;
   column-gap:16px;
   row-gap:12px;
   row-gap:12px;
   align-items:start;
   align-items:stretch;
   justify-items:center;
   justify-items:stretch;
}
}


/* Placeholder not used */
.sv_skill_scaling__group{
.sv_skill_scaling__side{ display:none; }
  width:100%;
  min-width:0;
  min-height:116px;
  max-height:116px;
  padding:10px 12px;
 
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;


/* Left cluster centered within column 1 */
  border-radius:16px;
.sv_skill_scaling__cluster{
  background:var(--sv-ui-bg3);
  background-image:none;
  box-shadow:none;
}
 
.sv_skill_scaling__group--primary-stats{
   grid-column:1;
   grid-column:1;
   grid-row:1;
   grid-row:1;
}
.sv_skill_scaling__group--core{
  grid-column:2;
  grid-row:1;
}


   display:inline-flex;
.sv_skill_scaling__cluster{
   display:flex;
   align-items:center;
   align-items:center;
   justify-content:center;
   justify-content:center;
Line 403: Line 482:


   flex-wrap:wrap;
   flex-wrap:wrap;
   width:auto;
   width:100%;
  height:100%;
   max-width:100%;
   max-width:100%;
   margin:0 auto;
   margin:0 auto;
Line 410: Line 490:
}
}


/* 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{
.sv_skill_scaling__column{
   min-width:0;
   min-width:0;
Line 430: Line 500:
}
}


/* Damage */
.sv_skill_scaling__column--stats,
.sv_skill_scaling__column--core{
  display:flex;
  align-items:center;
  justify-content:center;
}
 
.sv_skill_scaling__column--core{
  width:100%;
  min-width:0;
  min-height:100%;
}
 
.sv_skill_scaling__column--primary{
.sv_skill_scaling__column--primary{
   display:flex;
   display:flex;
Line 461: Line 543:
}
}


/* Attributes (2×3) */
.sv_skill_scaling__stats-grid{
.sv_skill_scaling__stats-grid{
   display:grid;
   display:grid;
   grid-template-columns:repeat(2, max-content);
   grid-template-columns:repeat(2, max-content);
   justify-content:start;
   justify-content:center;
   justify-items:start;
   justify-items:center;
  align-content:center;


   row-gap:8px;
   row-gap:8px;
   column-gap:10px;
   column-gap:10px;
  margin:0 auto;


   grid-template-areas:
   grid-template-areas:
Line 490: Line 573:
   border-radius:14px;
   border-radius:14px;
   border:1px solid var(--sv-ui-line2);
   border:1px solid var(--sv-ui-line2);
   background:var(--sv-ui-bg2);
   background:var(--sv-ui-bg3);
   background-image:none;
   background-image:none;
   box-shadow:none;
   box-shadow:none;
}
}


/* Stat chips (fixed size across all viewports) */
.sv_skill_scaling__stat-pill{
.sv_skill_scaling__stat-pill{
   border-radius:999px;
   border-radius:999px;
Line 534: Line 616:
   align-items:center;
   align-items:center;
   justify-content: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{
.sv_skill_scaling__stat-icon .sv-img img{
Line 562: Line 639:
}
}


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


.sv_skill_scaling__stat-hit .sv-def{
.sv_skill_scaling__stat-hit .sv-def,
.sv_skill_scaling__core-hit .sv-def{
   display:block;
   display:block;
   width:100%;
   width:100%;
Line 592: Line 674:
}
}


.sv_skill_scaling__stat-pill.is-active{
  box-shadow:none;
}
/* per-stat colors (intentionally local / semantic) */
.sv_skill_scaling__stat-pill--str.is-active{
.sv_skill_scaling__stat-pill--str.is-active{
   border-color:rgba(145,63,82,0.96);
   border-color:rgba(145,63,82,0.96);
Line 639: Line 716:
.sv_skill_scaling__stat-pill--luk.is-active .sv_skill_scaling__stat-value{ color:#fff2ba; }
.sv_skill_scaling__stat-pill--luk.is-active .sv_skill_scaling__stat-value{ color:#fff2ba; }


/* Core (3×2 grid) */
.sv_skill_scaling__core-grid{
.sv_skill_scaling__core-grid{
   display:grid;
   display:grid;
Line 645: Line 721:
   gap:8px;
   gap:8px;
   justify-items:center;
   justify-items:center;
  justify-content:center;
  align-content:center;
  width:100%;
  max-width:228px;
  margin:0 auto;
}
}


.sv_skill_scaling__core-pill{
.sv_skill_scaling__core-pill{
   border-radius:12px;
   border-radius:14px;
   min-height:25px;
   min-height:25px;
   min-width:70px;
   min-width:70px;
Line 661: Line 742:


.sv_skill_scaling__core-pill.is-active{
.sv_skill_scaling__core-pill.is-active{
   background:var(--sv-ui-bg2);
   background:var(--sv-ui-bg3);
   background-image:none;
   background-image:none;
}
}
Line 712: Line 793:
}
}


/* Scaling responsive (no stat pill size changes) */
/* -------------------------------------------------------------------------- */
@media (max-width:850px){
/* 9) Tab panels and content                                                  */
  .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) LEGACY SCHEMA BLOCKS (kept for compatibility)
  ========================================================================== */
 
.sv-skill-scaling,
.sv-skill-core{
  margin:8px 0 10px;
  padding:10px 12px;
  border-radius:16px;
 
  background:var(--sv-ui-bg1);
  background-image:none;
  box-shadow:none;
}
 
.sv-scaling-row,
.sv-core-row{ width:100%; }
 
.sv-scaling-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:12px;
  align-items:start;
}
 
.sv-scaling-col{ min-width:0; }
 
.sv-scaling-value{
  font-weight:900;
  font-size:34px;
  line-height:0.95;
  letter-spacing:-0.50px;
  text-align:center;
  color:var(--sv-ui-text1);
}
 
.sv-scaling-label{
  margin-top:6px;
  text-align:center;
  font-weight:900;
  font-size:10px;
  line-height:1.05;
  letter-spacing:0.22px;
  text-transform:uppercase;
  color:var(--sv-ui-text3);
}
 
.sv-scaling-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
 
.sv-scaling-item{
  min-width:0;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid var(--sv-ui-line2);
  background:var(--sv-ui-bg2);
  background-image:none;
  color:var(--sv-ui-text1);
  overflow-wrap:anywhere;
  word-break:break-word;
}
 
.sv-scaling-item--stat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
 
.sv-scale-stat{
  font-weight:900;
  color:var(--sv-ui-text1);
}
 
.sv-scale-val{
  font-weight:900;
  color:var(--sv-ui-text2);
}
 
.sv-core-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}
 
.sv-core-cell{
  min-width:0;
  padding:8px 6px;
  text-align:center;
  border-radius:12px;
}
 
.sv-core-top{
  min-width:0;
  display:flex;
  align-items:baseline;
  justify-content:center;
  flex-wrap:wrap;
  gap:4px;
}
 
.sv-core-num{
  font-weight:900;
  font-size:14px;
  line-height:1.02;
  color:var(--sv-ui-text1);
}
 
.sv-core-unit{
  font-weight:900;
  font-size:10px;
  line-height:1.05;
  color:var(--sv-ui-text3);
}
 
.sv-core-label{
  margin-top:5px;
  font-weight:900;
  font-size:10px;
  line-height:1.10;
  letter-spacing:0.14px;
  text-transform:uppercase;
  color:var(--sv-ui-text3);
}
 
.sv-core-label--tight{ letter-spacing:0.08px; }
 
@media (max-width:500px){
  .sv-scaling-grid{ grid-template-columns:1fr; }
  .sv-core-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
 
/* ==========================================================================
  9) TAB PANELS AND CONTENT BLOCKS
  ========================================================================== */


.sv-skill-tabs{
.sv-skill-tabs{
Line 916: Line 807:
.sv-skill-tabs .sv-tabpanel{
.sv-skill-tabs .sv-tabpanel{
   min-width:0;
   min-width:0;
  /* keep site tab panel colors, just flatten */
   background-image:none;
   background-image:none;
   box-shadow:none;
   box-shadow:none;
Line 934: Line 823:
}
}


/* Section framing inside panels */
.sv-skill-tabs .sv-tab-section + .sv-tab-section{
.sv-skill-tabs .sv-tab-section + .sv-tab-section{
   margin-top:12px;
   margin-top:12px;
Line 940: Line 828:


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


   font-weight:900;
   font-weight:900;
Line 950: Line 840:
}
}


/* --------------------------------------------------------------------------
/* -------------------------------------------------------------------------- */
  Mechanics tab
/* 10) Mechanics tab                                                           */
  -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/* Mechanics stays two-column through sm / md / lg. It only collapses into a  */
/* single-column stack in the default viewpoint (<640px).                      */


.sv-skill-tabs .sv-mech-panel{
.sv-skill-tabs .sv-mech-panel{
   display:grid;
   display:grid;
   grid-template-columns:minmax(0, 1fr) minmax(0, 220px);
   grid-template-columns:repeat(2, minmax(0, 1fr));
   column-gap:16px;
   column-gap:14px;
   row-gap:12px;
   row-gap:12px;
   align-items:start;
   align-items:start;
}
.sv-skill-tabs .sv-mech-panel__group{
  min-width:0;
  max-width:100%;
  min-height:0;
  padding:10px 12px 12px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
  align-self:start;
  border:0;
  border-radius:16px;
  background:var(--sv-ui-bg2);
  background-image:none;
  box-shadow:none;
}
}


.sv-skill-tabs .sv-mech-panel__mods,
.sv-skill-tabs .sv-mech-panel__mods,
.sv-skill-tabs .sv-mech-panel__keywords{
.sv-skill-tabs .sv-mech-panel__keywords{
   min-width:0;
   grid-column:auto;
   max-width:100%;
  margin-top:0;
   min-height:0;
}
}


.sv-skill-tabs .sv-mech-panel__mods{
.sv-skill-tabs .sv-mech-panel__mods{
  grid-column:1;
   overflow:visible;
   overflow:hidden;
}
}


.sv-skill-tabs .sv-mech-panel__keywords{
.sv-skill-tabs .sv-mech-panel__keywords{
   grid-column:2;
   justify-content:flex-start;
   margin-top:0;
}
 
.sv-skill-tabs .sv-mech-panel .sv-tab-section-title{
   margin:0 0 8px;
  text-align:center;
}
}


/* Mods: compact 3x3 pill matrix */
/* Modifiers --------------------------------------------------------------- */
.sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{
 
.sv-skill-tabs .sv-mech-mod-grid{
   display:grid;
   display:grid;
   grid-template-columns:repeat(3, minmax(0, max-content));
   grid-template-columns:repeat(3, minmax(0, 1fr));
   justify-content:start;
   gap:8px;
  justify-items:start;
   align-content:start;
   align-content:start;
   gap:8px 10px;
   justify-items:stretch;
 
  max-width:100%;
}
}


.sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{
.sv-skill-tabs .sv-mech-mod-pill{
   width:auto;
   position:relative;
   min-width:84px;
   min-width:0;
   max-width:100%;
   width:100%;
   min-height:0;
   min-height:56px;
   padding:7px 9px 6px;
   padding:6px 8px;


   display:flex;
   display:flex;
Line 1,003: Line 916:
   text-align:center;
   text-align:center;


   border-radius:12px;
   border-radius:14px;
  border:1px solid var(--sv-ui-line2);
  background:var(--sv-ui-bg3);
   background-image:none;
   background-image:none;
   box-shadow:none;
   box-shadow:none;
}
}


.sv-skill-tabs .sv-mech-panel__mods .sv-kw-label{
.sv-skill-tabs .sv-mech-mod-pill__label{
  min-width:0;
  word-wrap:break-word;
  overflow-wrap:anywhere;
 
   font-weight:900;
   font-weight:900;
   font-size:10px;
   font-size:10px;
   line-height:1.05;
   line-height:1.02;
   letter-spacing:0.12px;
   letter-spacing:0.10px;
   text-transform:uppercase;
   text-transform:uppercase;
   color:var(--sv-ui-text3);
   color:var(--sv-ui-text3);
}
}


.sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{
.sv-skill-tabs .sv-mech-mod-pill__value{
   margin-top:4px;
   margin-top:3px;
  min-width:0;
   word-wrap:break-word;
   word-wrap:break-word;
   overflow-wrap:anywhere;
   overflow-wrap:anywhere;


   font-weight:900;
   font-weight:900;
   font-size:13px;
   font-size:12px;
   line-height:1.02;
   line-height:1.02;
   color:var(--sv-ui-text1);
   color:var(--sv-ui-text1);
}
}


/* Keywords: centered compact rail */
.sv-skill-tabs .sv-mech-mod-pill__hit{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:5;
  opacity:0;
}
 
.sv-skill-tabs .sv-mech-mod-pill__hit .sv-def{
  display:block;
  width:100%;
  height:100%;
}
 
/* Keywords ---------------------------------------------------------------- */
 
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{
.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{
   display:flex;
   display:grid;
   flex-direction:column;
   grid-template-columns:repeat(2, minmax(0, 1fr));
  align-items:stretch;
   gap:8px;
   gap:8px;
  align-content:start;
  justify-items:stretch;
  margin:0;
}
}


Line 1,040: Line 979:
   min-width:0;
   min-width:0;
   width:100%;
   width:100%;
   min-height:38px;
   min-height:56px;
   padding:8px 10px;
   padding:6px 10px;


   display:flex;
   display:flex;
Line 1,048: Line 987:
   text-align:center;
   text-align:center;


   border-radius:13px;
   border-radius:16px;
  border:1px solid var(--sv-ui-line2);
  background:var(--sv-ui-bg3);
  background-image:none;
  box-shadow:none;
}
}


Line 1,055: Line 998:
   min-width:0;
   min-width:0;
   width:100%;
   width:100%;
  word-wrap:break-word;
  overflow-wrap:anywhere;


   font-weight:900;
   font-weight:900;
   font-size:13px;
   font-size:12px;
   line-height:1.10;
   line-height:1.08;
   color:var(--sv-ui-text1);
   color:var(--sv-ui-text1);
   text-align:center;
   text-align:center;
Line 1,079: Line 1,024:
}
}


/* Toggle: larger keyword mode */
/* 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-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
   min-height:46px;
   min-height:60px;
   padding:10px 12px;
   padding:8px 12px;
   border-radius:15px;
   border-radius:999px;
}
}


.sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill__label,
.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{
.sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{
   font-size:14px;
   font-size:13px;
   line-height:1.14;
   line-height:1.12;
}
}


/* ==========================================================================
/* -------------------------------------------------------------------------- */
  10) EFFECT CARDS
/* 11) Effect cards                                                            */
  ========================================================================== */
/* -------------------------------------------------------------------------- */


.sv-gi-card .sv-ref-grid,
.sv-gi-card .sv-ref-grid,
Line 1,113: Line 1,058:


   border-radius:16px;
   border-radius:16px;
  background:var(--sv-ui-bg2);
   background-image:none;
   background-image:none;
   box-shadow:none;
   box-shadow:none;
Line 1,172: Line 1,118:
}
}


/* ==========================================================================
/* -------------------------------------------------------------------------- */
  11) RESPONSIVE (card/layout)
/* 12) Responsive                                                              */
  ========================================================================== */
/* -------------------------------------------------------------------------- */


@media (max-width:850px){
@media (max-width:1023px){
   .sv-gi-card,
   .sv-gi-card,
   .sv-skill-card{
   .sv-skill-card{
Line 1,191: Line 1,137:
   .sv-skill-title{ font-size:20px; }
   .sv-skill-title{ font-size:20px; }


   .sv-skill-meta{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
   .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; }


   .sv-gi-card .sv-ref-grid,
   .sv-gi-card .sv-ref-grid,
Line 1,197: Line 1,155:


   .sv-skill-tabs .sv-mech-panel{
   .sv-skill-tabs .sv-mech-panel{
     grid-template-columns:minmax(0, 1fr) minmax(0, 196px);
     grid-template-columns:repeat(2, minmax(0, 1fr));
     column-gap:14px;
    column-gap:12px;
    row-gap:12px;
    align-items:start;
  }
 
  .sv-skill-tabs .sv-mech-panel__group{
    min-height:0;
    max-height:none;
    padding:9px 10px 10px;
    align-self:start;
  }
 
  .sv-skill-tabs .sv-mech-mod-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
     gap:8px;
   }
   }


   .sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{
   .sv-skill-tabs .sv-mech-mod-pill{
     grid-template-columns:repeat(3, minmax(0, max-content));
     min-height:48px;
     gap:8px 8px;
     padding:6px 8px;
   }
   }


   .sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{
   .sv-skill-tabs .sv-mech-mod-pill__label{
     min-width:80px;
     font-size:10px;
     padding:6px 8px 5px;
     line-height:1.03;
   }
   }


   .sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{ font-size:12px; }
   .sv-skill-tabs .sv-mech-mod-pill__value{ font-size:12px; }
 
  .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{
    gap:8px;
  }


   .sv-skill-tabs .sv-mech-keyword-pill{
   .sv-skill-tabs .sv-mech-keyword-pill{
     min-height:36px;
     min-height:44px;
     padding:7px 9px;
     padding:7px 9px;
   }
   }


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


   .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
   .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{
   .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
     min-height:42px;
     min-height:48px;
     padding:9px 10px;
     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-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-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{
    font-size:13px;
  }
}
}


@media (max-width:500px){
@media (max-width:767px){
  .sv-skill-meta-block{
    grid-template-columns:minmax(0, 1fr);
  }
 
  .sv-skill-meta-block__bubble{
    min-height:auto;
    max-height:none;
  }
}
 
@media (max-width:639px){
   .sv-skill-head{ gap:10px; }
   .sv-skill-head{ gap:10px; }


Line 1,239: Line 1,231:
   }
   }


   .sv-skill-title{ font-size:18px; }
   .sv-skill-title{ font-size:19px; }
   .sv-skill-desc{ font-size:13px; }
 
   .sv-skill-desc{
    font-size:14px;
    line-height:1.40;
  }
 
  .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__group{
    min-height:auto;
    max-height:none;
    padding:10px 11px;
  }
 
  .sv_skill_scaling__group--core{
    grid-column:1;
    grid-row:2;
  }
 
  .sv_skill_scaling__cluster{ height:auto; }
 
  .sv_skill_scaling__primary-value{ font-size:32px; }
 
  .sv_skill_scaling__primary-label{
    font-size:11px;
    line-height:1.08;
  }
 
  .sv_skill_scaling__core-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    width:100%;
    align-items:stretch;
  }
 
  .sv_skill_scaling__core-pill{
    width:100%;
    min-width:0;
    min-height:30px;
    padding:8px 7px;
    justify-self:stretch;
    justify-content:center;
    align-items:center;
    text-align:center;
  }
 
  .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_skill_scaling__core-value,
  .sv_skill_scaling__core-unit,
  .sv_skill_scaling__core-label{
    width:100%;
    text-align:center;
  }
 
  .sv-skill-tabs .sv-tab-section-title{
    margin:0 0 9px;
    font-size:12px;
    line-height:1.08;
  }


   .sv-skill-tabs .sv-mech-panel{
   .sv-skill-tabs .sv-mech-panel{
Line 1,250: Line 1,310:
   .sv-skill-tabs .sv-mech-panel__keywords{ grid-column:1; }
   .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__group{
    min-height:auto;
    max-height:none;
    padding:10px 11px 11px;
  }


   .sv-skill-tabs .sv-mech-panel__mods .sv-kw-grid{
   .sv-skill-tabs .sv-mech-mod-grid{
     grid-template-columns:repeat(3, minmax(0, max-content));
     grid-template-columns:repeat(2, minmax(0, 1fr));
     gap:8px 8px;
     gap:9px;
   }
   }


   .sv-skill-tabs .sv-mech-panel__mods .sv-kw-cell{
   .sv-skill-tabs .sv-mech-mod-pill{
     min-width:76px;
     min-height:50px;
     padding:6px 8px 5px;
     padding:8px 8px 7px;
     border-radius:11px;
     border-radius:14px;
   }
   }


   .sv-skill-tabs .sv-mech-panel__mods .sv-kw-label{
   .sv-skill-tabs .sv-mech-mod-pill__label{
     font-size:9px;
     font-size:10px;
     line-height:1.04;
     line-height:1.06;
   }
   }


   .sv-skill-tabs .sv-mech-panel__mods .sv-kw-value{
   .sv-skill-tabs .sv-mech-mod-pill__value{
     margin-top:3px;
     margin-top:4px;
     font-size:12px;
     font-size:14px;
    line-height:1.05;
   }
   }


   .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{ gap:7px; }
   .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills{ gap:8px; }


   .sv-skill-tabs .sv-mech-keyword-pill{
   .sv-skill-tabs .sv-mech-keyword-pill{
     min-height:34px;
     min-height:40px;
     padding:7px 9px;
     padding:8px 10px;
     border-radius:12px;
     border-radius:14px;
   }
   }


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


   .sv-skill-tabs .sv-mech-panel__keywords .sv-tab-pills.sv-tab-pills--xl .sv-mech-keyword-pill,
   .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{
   .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl{
     min-height:40px;
     min-height:46px;
     padding:9px 10px;
     padding:10px 12px;
     border-radius:14px;
     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-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-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{
 
    font-size:14px;
  .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-skill-card .sv-skill-meta,
   .sv-gi-card .sv-skill-meta{
   .sv-gi-card .sv-skill-meta{
     grid-template-columns:repeat(2, minmax(0, 1fr));
     gap:8px;
     gap:6px;
     width:100%;
     max-width:200px;
     max-width:none;
     margin-left:auto;
     margin-left:auto;
     margin-right:auto;
     margin-right:auto;
     justify-content:center;
     justify-content:center;
    align-items:stretch;
   }
   }


   .sv-skill-card .sv-meta-card,
   .sv-skill-card .sv-meta-card,
   .sv-gi-card .sv-meta-card{
   .sv-gi-card .sv-meta-card{
     min-height:32px;
    flex:1 1 calc(50% - 4px);
     gap:7px;
    min-width:0;
     min-height:36px;
     gap:8px;
    padding:7px 9px;
    justify-content:center;
    align-items:center;
    text-align:center;
   }
   }


Line 1,332: Line 1,394:
   .sv-skill-card .sv-meta-text,
   .sv-skill-card .sv-meta-text,
   .sv-gi-card .sv-meta-text{
   .sv-gi-card .sv-meta-text{
     font-size:10px;
    flex:1 1 auto;
     line-height:1.05;
    min-width:0;
     font-size:11px;
     line-height:1.08;
     letter-spacing:0;
     letter-spacing:0;
    text-align:center;
   }
   }


Line 1,340: Line 1,405:
   .sv-gi-card .sv-meta-text .sv-meta-lines span + span{
   .sv-gi-card .sv-meta-text .sv-meta-lines span + span{
     margin-top:1px;
     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;
     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-level{ padding:10px 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,
   /* Absorbed former micro-phone layout compaction into the default viewpoint. */
  .sv-skill-tabs .sv-mech-keyword-pill.sv-pill--xl .sv-mech-keyword-pill__label{ font-size:12px; }
}
}