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

Template:PatchHighlights/styles.css: Difference between revisions

Template page
No edit summary
No edit summary
Tags: Mobile edit Mobile web edit
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* Bordered container */
/* SpiritVale Wiki — Template:PatchHighlights/styles.css */
.sv-highlights-wrap {
/* Patch highlight cards and responsive grid styles. */
   border: 2px solid #372b54;
/* -------------------------------------------------------------------------- */
   border-radius: 10px;
/* Canonical ownership map                                                    */
   padding: 0.75rem;
/* -------------------------------------------------------------------------- */
   background: transparent;
/* This sheet owns only the PatchHighlights namespace: the wrap, grid, cards, */
/* and any responsive changes that are specific to PatchHighlights behavior.  */
/*                                                                            */
/* It does NOT own sitewide tokens, shared utilities, Citizen shell styling,  */
/* or breakpoint definitions. Those remain in Common.css / Citizen.css.        */
/*                                                                            */
/* Responsive cleanup note: PatchHighlights now uses the canonical breakpoint  */
/* ladder directly. It serves as a clean example of a module moving from      */
/* ad hoc thresholds into the shared responsive vocabulary.                    */
/* -------------------------------------------------------------------------- */
/* Canonical ladder                                                            */
/* -------------------------------------------------------------------------- */
/* - default: <640px                                                          */
/* - sm:      >=640px                                                          */
/* - md:      >=768px                                                          */
/* - lg:      >=1024px                                                        */
/* - xl:      >=1280px                                                        */
/* - 2xl:    >=1536px                                                        */
/* -------------------------------------------------------------------------- */
 
 
/* -------------------------------------------------------------------------- */
/* 1) Layout */
/* -------------------------------------------------------------------------- */
 
.sv-ph-wrap{
   width:100%;
   max-width:700px;
  margin:1em auto;
}
 
.sv-ph-head{
  text-align:center;
  font-weight:800;
  padding:10px 12px;
  margin:10px;
}
 
.sv-ph-pad{
   padding:.75rem;
}
 
.sv-ph-grid{
  display:grid;
   grid-template-columns:1fr;
  gap:1rem;
  align-items:start;
  width:100%;
  direction:ltr;
}
 
.sv-ph-empty{
  grid-column:1/-1;
  opacity:.75;
  text-align:center;
  padding:1rem;
  direction:ltr;
}
 
/* -------------------------------------------------------------------------- */
/* 2) Card content */
/* -------------------------------------------------------------------------- */
 
.sv-ph-item{
  text-align:left;
  direction:ltr;
  padding:1rem 1.1rem .85rem;
  min-width:0;
  word-break:break-word;
}
}


/* Responsive grid: naturally flows 3 → 2 → 1 as space shrinks */
.sv-ph-item__title{
.sv-highlights {
   font-size:1.25em;
   display: grid;
   font-weight:800;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
   line-height:1.2;
  gap: 1rem;
   margin:-.1em 0 .35em 0;
   grid-auto-rows: auto;
   align-items: start;
   width: 100%;
}
}


/* Empty state */
.sv-ph-item__date{
.sv-empty {
   margin:.1em 0;
   grid-column: 1 / -1;
   font-size:.85em;
   opacity: .75;
   font-style:italic;
   text-align: center;
   opacity:.9;
   padding: 1rem;
  direction: ltr;
}
}


/* Card base */
.sv-ph-item__blurb{
.sv-card {
   font-size:.92em;
   text-align: left;
   line-height:1.65em;
   padding: 1rem 1.5rem 0.75rem;
   margin:.35em 0 0 0;
   direction: ltr;
   opacity:.95;
  border-radius: 8px;
  min-width: 0;
   word-wrap: break-word;
}
}


/* Card pieces */
.sv-ph-item__divider{
.sv-card__title {
   height:1px;
   font-size: 1.4em;
   margin:.35rem 0 .55rem 0;
   font-weight: 700;
   background:rgba(0,0,0,0.18);
  line-height: 1.2;
   margin: -0.2em 0 0.3em 0;
}
}
.sv-card__divider {
 
  height: 1px;
/* -------------------------------------------------------------------------- */
   background: rgba(55, 43, 84, 0.25);
/* 3) Theme */
  margin: 0.35rem 0 0.5rem 0;
/* -------------------------------------------------------------------------- */
 
.skin-theme-clientpref-night .sv-ph-item__divider{
   background:rgba(255,255,255,0.16);
}
}
.sv-card__date {
 
   margin: .1em 0;
@media (prefers-color-scheme:dark){
  font-size: .85em;
   .skin-theme-clientpref-os .sv-ph-item__divider{
  font-style: italic;
    background:rgba(255,255,255,0.16);
  color: var(--text-color);
  }
}
}
.sv-card__blurb {
 
   font-size: .9em;
@media (prefers-color-scheme:light){
  line-height: 1.75em;
   .skin-theme-clientpref-os .sv-ph-item__divider{
  color: var(--text-color);
    background:rgba(0,0,0,0.18);
  margin: .3em 0 0 0;
  }
}
}


/* Mobile: 1 column and hide all but the newest card. */
/* -------------------------------------------------------------------------- */
@media (max-width: 640px) {
/* 4) Responsive                                                              */
   .sv-highlights { grid-template-columns: 1fr; }
/* -------------------------------------------------------------------------- */
   .sv-highlights > div.sv-card:nth-of-type(n+2) { display: none; }
/* default (<640px): single featured card.                                     */
/* sm-md (>=640px): two-up grid with two cards visible.                        */
/* lg+ (>=1024px): three-up grid with three cards visible.                    */
 
.sv-ph-grid > .sv-ph-item:nth-of-type(n+2){
  display:none;
}
 
@media (min-width:640px){
   .sv-ph-grid{
    grid-template-columns:repeat(2,1fr);
    direction:rtl;
  }
 
   .sv-ph-grid > .sv-ph-item:nth-of-type(n+2){
    display:block;
  }
 
  .sv-ph-grid > .sv-ph-item:nth-of-type(n+3){
    display:none;
  }
}
 
@media (min-width:1024px){
  .sv-ph-grid{
    grid-template-columns:repeat(3,1fr);
  }
 
  .sv-ph-grid > .sv-ph-item:nth-of-type(n+3){
    display:block;
  }
}
}