/* WingStory maple-red palette. Original artwork, layout and entry conditions stay unchanged. */
:root {
  --ws-paper: #f5f2ea;
  --ws-white: #fffefa;
  --ws-ink: #382c29;
  --ws-muted: #6e625c;
  --ws-purple: #a73526;
  --ws-pink: #916027;
  --ws-orange: #916027;
  --ws-line: #dedfd5;
  --ws-radius: 10px;
  --ws-shadow: 0 3px 14px #24372c08;
  --ws-journal-teal: #982f23;
  --ws-journal-gold: #d3aa63;
  --ws-journal-ink: #382c29;
}
body.ws-site { background: radial-gradient(ellipse at 9% 0%, #fffdf7, transparent 52%), #f5f4ed; }
body.ws-site :focus-visible { outline-color: #a66b27; }
.ws-header { background: #fffefa; border-bottom-color: #ddd9cd; border-top: 3px solid #a73526; }
.ws-brand-domain { color: #422d28; }
.ws-brand-domain > span { color: #a73526; }
.ws-brand-wordmark small { color: #76645c; }
.ws-navigation > a:not(.ws-button) { color: #705e56; border-radius: 7px; }
.ws-navigation > a:not(.ws-button):hover { color: #8e2b20; background: #faece5; }
.ws-navigation > a[aria-current=page]:not(.ws-button) { background: #982f23; color: #fff; box-shadow: none; }
.ws-navigation > .ws-nav-cta { background: #916027; box-shadow: none; }
.ws-navigation > .ws-nav-cta:hover { background: #744b1e; }
.ws-menu-toggle { background: #fffdf8; border-color: #d9dbcf; color: #793b2d; }
.ws-site .ws-save-link { color: #795a50!important; }
.ws-site .ws-save-link:hover { background: #faece5; color: #8e2b20!important; }
.ws-text-link { color: #a73526!important; }
.ws-text-link:hover { color: #7c261d!important; }
.ws-button--dark:hover, .ws-form button[type=submit]:hover { background: #7f251b; }
.ws-button--outline { border-color: #dcb9a5; }
.ws-button--outline:hover { background: #fae9dc; }

/* Original WingStory scenery: a visual identity, never a server gameplay image. */
.ws-hero.ws-hero--journal {
  min-height: 302px;
  padding: 56px 0 45px;
  background: #fcf1e7;
  border-bottom: 3px solid #c3a065;
  text-align: left;
}
.ws-hero--journal .ws-hero-backdrop { inset: 0 0 0 27%; background-image: url('wingstory-skyharbor-20261016.webp'); background-position: right 12%; opacity: 1; }
.ws-hero.ws-hero--journal::after { background: linear-gradient(90deg, #fffaf0 0%, #fffaf0f7 25%, #fffaf0da 36%, #fffaf040 53%, #fffaf000 72%); }
.ws-hero--journal .ws-hero-content { max-width: 1200px; }
.ws-home-eyebrow { display: flex; align-items: center; gap: 10px; color: #865724; font-size: 13px; line-height: 1.7; font-weight: 650; letter-spacing: .13em; }
.ws-home-eyebrow::before { content: ""; width: 26px; height: 2px; flex: 0 0 26px; background: #b58743; }
.ws-site .ws-hero--journal h1 { max-width: 650px; margin-top: 12px; color: #7f2d22; font-size: clamp(36px, 3.8vw, 46px); line-height: 1.3; font-weight: 800; letter-spacing: .01em; text-shadow: 0 2px 8px #fffcf8c9; }
.ws-hero--journal .ws-hero-tagline, .ws-hero--journal .ws-hero-description { max-width: 530px; margin: 13px 0 0!important; color: #72564a; font-size: 16px; line-height: 1.8; }
.ws-hero--journal .ws-hero-footnote { display: inline-block; margin-top: 22px; padding: 5px 12px; border: 1px solid #e4ccbb; border-radius: 5px; background: #fffdf2d9; color: #7d5947; font-size: 12px; line-height: 1.7; letter-spacing: .045em; }
.ws-hero--journal .ws-device-shortcuts { justify-content: flex-start; gap: 8px; max-width: 600px; margin-top: 21px; }
.ws-hero--journal .ws-device-shortcuts a { min-height: 44px; min-width: 112px; padding: 9px 14px; border: 1px solid #cba58c75; border-radius: 7px; background: #f9f6eb; color: #884432; font-size: 14px; box-shadow: 0 2px 8px #0d1a1f16; }
.ws-hero--journal .ws-device-shortcuts a:hover, .ws-hero--journal .ws-device-shortcuts a[aria-current=true] { background: #f7dfd1; border-color: #d3a08a; color: #8e2b20; }
.ws-hero--journal .ws-device-shortcuts .ws-icon { color: #a2523b; }

/* A short editorial heading leads directly into the real directory. */
.ws-directory-preview { margin-top: 25px; }
.ws-directory-preview .ws-section-heading { align-items: center; margin-bottom: 14px; }
.ws-directory-title-kicker { display: block; margin-bottom: 3px; color: #79653d; font-size: 12px; line-height: 1.6; font-weight: 650; letter-spacing: .09em; }
.ws-directory-preview .ws-section-heading h2 { color: #4e3028; font-size: 27px; letter-spacing: .01em; }
.ws-play-shortcuts { gap: 8px; margin-bottom: 16px; }
.ws-play-shortcuts a { min-height: 44px; padding: 9px 13px; background: #fffdf7; border: 1px solid #e3cfc0; border-radius: 7px; color: #84412e; font-size: 14px; box-shadow: 0 1px 0 #ffffffb3 inset; }
.ws-play-shortcuts a:hover { background: #fae9dc; border-color: #d0a18b; color: #8e2b20; }
.ws-play-shortcuts .ws-icon { color: #8d7745; }
.ws-device-shortcuts a { background: #fffdf8; border-color: #e3cfc0; color: #8b3d2d; }
.ws-device-shortcuts a:hover, .ws-device-shortcuts a[aria-current=true] { background: #f8e7d9; border-color: #d0a18b; color: #8e2b20; }

/* A shared original maple badge decorates listings without implying ratings or status. */
.ws-listing-table { background: #fffefa; border: 1px solid #e1cdbd; border-radius: 10px; box-shadow: 0 5px 18px #5b261508; }
.ws-listing-table-head, .ws-listing-row { grid-template-columns: minmax(190px, 1.15fr) minmax(145px, .95fr) minmax(0, 2.3fr) 124px; gap: 18px; }
.ws-listing-table-head { padding-block: 12px; background: #9c3023; border-bottom: 3px solid #d5b478; color: #fffdf3; font-size: 13px; letter-spacing: .035em; }
.ws-listing-row { padding-block: 17px; background: #fffefa; border-bottom-color: #eadfd3; font-size: 15px; }
.ws-listing-row:nth-of-type(even) { background: #f8f7f0; }
.ws-listing-row:hover { background: #fff2e8; box-shadow: inset 3px 0 #c36345; }
.ws-row-heading { display: flex; align-items: flex-start; gap: 11px; min-width: 0; }
.ws-row-heading h3 { min-width: 0; flex: 1; padding-top: 4px; }
.ws-listing-row h3 { color: #4e3028; font-size: 19px; font-weight: 750; line-height: 1.5; }
.ws-listing-row h3 a:hover { color: #a73526; text-decoration: underline; text-underline-offset: 3px; }
.ws-row-monogram { display: block; width: 44px; height: 44px; flex: 0 0 44px; }
.ws-row-monogram img { display: block; width: 100%; height: 100%; }
.ws-listing-row .ws-row-date { color: #78695e; font-size: 12px; line-height: 1.65; margin-top: 6px; }
.ws-row-version { display: inline-block; width: fit-content; max-width: 100%; padding: 3px 8px; border: 1px solid #eac6b1; border-radius: 5px; background: #fff0e4; color: #923b28; font-size: 14px; font-weight: 750; line-height: 1.6; }
.ws-listing-row .ws-row-platforms, .ws-listing-row .ws-row-mode { margin-top: 6px; color: #756055; font-size: 14px; }
.ws-row-playstyle { color: #5b463a; font-size: 15px; }
.ws-listing-row .ws-row-entry-note { margin-top: 7px; color: #79603c; font-size: 14px; line-height: 1.7; }
.ws-row-detail { background: #a73526; border-color: #a73526; color: #fff!important; border-radius: 7px; box-shadow: 0 2px 0 #7b281b22; }
.ws-row-detail:hover { background: #7f251b; border-color: #7f251b; }
.ws-row-external { color: #924332!important; font-size: 14px; }
.ws-listing-row .ws-card-entry { border-top-color: #eadacf; }
.ws-listing-row .ws-card-entry > summary { color: #8e4b36; font-size: 14px; }
.ws-listing-row .ws-card-entry .ws-entry-facts { background: #fcf1e6; border-color: #e9cfb9; }
.ws-listing-row .ws-card-entry .ws-entry-facts dt { color: #8d432e; }
.ws-listing-row .ws-card-entry .ws-entry-facts dd, .ws-listing-row .ws-card-entry p, .ws-listing-row .ws-card-entry li, .ws-listing-row .ws-card-entry h4 { color: #695448; font-size: 14px; }
.ws-listing-row .ws-card-entry > a { color: #a73526; font-size: 14px; }
.ws-directory-caption { color: #7b695a; font-size: 13px; }
.ws-directory-search { background: #fffdf8; border-color: #e5d1bf; }
.ws-directory-search > summary { color: #934632; }
.ws-directory-search[open] > summary { border-bottom-color: #eadaca; }
.ws-applied-filter { background: #f9e8dc; border-color: #e8c6af; color: #8c4a32; }

/* Carry the identity through useful secondary pages without changing their structure. */
.ws-page-intro { background: #552f29; border-color: #754037; }
.ws-page-intro p { color: #f5e7d7; }
.ws-guides-section { background: #f2e9da; border-color: #e5d5be; }
.ws-guide-card { border-color: #e6d4c1; background: #fffdf8; }
.ws-guide-body .ws-eyebrow { color: #7f6941; }
.ws-contribute { background: #64342b; border-color: #825044; }
.ws-contribute-icon { background: #ffffff05; color: #dbbd82; border-color: #d5aa8142; }
.ws-contribute p { color: #edd8c4; }
.ws-contribute-actions .ws-text-link { color: #f6e5cf!important; }
.ws-button--pink { background: #916027; box-shadow: none; }
.ws-button--pink:hover { background: #744b1e; }
.ws-footer { background: #352725; border-top: 3px solid #b9955b; color: #e9dace; }
.ws-footer .ws-brand-domain { color: #fff9e9; }
.ws-footer .ws-brand-domain > span { color: #d3b579; }
.ws-footer .ws-brand-wordmark small { color: #d5bdaa; }
.ws-footer-brand > p, .ws-footer-links a, .ws-footer-note { color: #cfb9a9; }
.ws-footer-links h2 { color: #f6e8d1; }
.ws-footer-bottom { border-top-color: #d4b49b24; color: #cbb5a4; }
.ws-save-site { background: #46312c; border-color: #8d6a55; }
.ws-save-site > summary, .ws-save-site-devices h2 { color: #f0ead6; }
.ws-save-site[open] > summary { border-bottom-color: #8d6a55; }
.ws-save-site-address > a { color: #e3cf9d; }

@media(max-width:1100px) {
  .ws-listing-table-head, .ws-listing-row { grid-template-columns: minmax(160px, 1fr) minmax(125px, .8fr) minmax(0, 1.9fr) 110px; gap: 14px; }
  .ws-row-heading { gap: 8px; }
  .ws-listing-row h3 { font-size: 18px; }
}
@media(max-width:900px) {
  .ws-hero.ws-hero--journal { min-height: 285px; padding-block: 43px; }
  .ws-hero--journal .ws-hero-backdrop { inset-inline-start: 15%; }
  .ws-hero.ws-hero--journal::after { background: linear-gradient(90deg, #fffaf0fa, #fffaf0df 37%, #fffaf05c 67%, #fffaf000); }
  .ws-site .ws-hero--journal h1 { font-size: 40px; }
}
@media(max-width:680px) {
  .ws-hero.ws-hero--journal { min-height: 225px; padding: 28px 0 25px; }
  .ws-hero--journal .ws-hero-backdrop { inset: 0; background-position: right 10%; opacity: 1; }
  .ws-hero.ws-hero--journal::after { background: linear-gradient(90deg, #fffaf0f5, #fffaf0d6 43%, #fffaf070 75%, #fffaf01c); }
  .ws-home-eyebrow { font-size: 12px; gap: 8px; letter-spacing: .08em; }
  .ws-home-eyebrow::before { width: 18px; flex-basis: 18px; }
  .ws-site .ws-hero--journal h1 { max-width: 330px; font-size: clamp(27px, 7.6vw, 33px); line-height: 1.35; margin-top: 11px; }
  .ws-hero--journal .ws-hero-tagline, .ws-hero--journal .ws-hero-description { font-size: 14px; line-height: 1.7; margin-top: 8px!important; }
  .ws-hero--journal .ws-hero-footnote { margin-top: 17px; font-size: 11px; }
  .ws-hero--journal .ws-device-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 17px; max-width: 420px; }
  .ws-hero--journal .ws-device-shortcuts a { min-width: 0; min-height: 44px; padding: 8px 6px; gap: 5px; font-size: 13px; }
  .ws-directory-preview { margin-top: 22px; }
  .ws-directory-preview .ws-section-heading { gap: 8px; margin-bottom: 12px; }
  .ws-directory-preview .ws-section-heading h2 { font-size: 24px; }
  .ws-directory-title-kicker { font-size: 11px; }
  .ws-play-shortcuts { gap: 7px; margin-bottom: 13px; }
  .ws-play-shortcuts a { padding: 8px 10px; font-size: 13px; }
  .ws-listing-table { border-radius: 9px; }
  .ws-listing-table-head { display: none; }
  .ws-listing-row { grid-template-columns: minmax(0, 1fr); gap: 9px; padding: 16px; }
  .ws-row-heading { align-items: center; gap: 11px; }
  .ws-row-heading h3 { padding-top: 0; font-size: 19px; }
  .ws-row-spec { gap: 5px 10px; }
  .ws-listing-row .ws-row-platforms, .ws-listing-row .ws-row-mode { margin-top: 0; font-size: 14px; }
  .ws-row-version { padding: 2px 7px; }
  .ws-row-actions { gap: 9px; }
  .ws-row-actions > a { min-height: 44px; }
  .ws-directory-caption { font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) {
  .ws-listing-row, .ws-play-shortcuts a, .ws-row-detail { transition: none; }
}
@media print {
  .ws-hero.ws-hero--journal { min-height: 0; background: #fff; color: #000; border: 0; }
  .ws-hero--journal .ws-hero-backdrop, .ws-hero--journal::after { display: none; }
  .ws-site .ws-hero--journal h1, .ws-hero--journal .ws-hero-tagline, .ws-hero--journal .ws-hero-description { color: #000; }
  .ws-listing-table, .ws-listing-row { box-shadow: none; background: #fff; }
}

/* The promoted listing keeps its real entry conditions and native controls. */
.ws-listing-table:has(.ws-listing-row--spotlight) { overflow: visible; border: 0; background: transparent; box-shadow: none; }
.ws-listing-row--spotlight + .ws-listing-table-head { border-radius: 8px 8px 0 0; }
.ws-listing-table .ws-listing-row--spotlight {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr) 185px;
  grid-template-areas: "identity identity actions" "spec summary summary";
  gap: 0 26px; padding: 0 30px 20px; margin-bottom: 22px;
  border: 1px solid #bc8d4a; border-radius: 12px;
  background: #fff8eb; box-shadow: 0 8px 26px #68301c1a, 0 0 0 3px #dbc39333;
}
.ws-listing-row--spotlight::before {
  content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 215px;
  background: linear-gradient(90deg,#421b20 0%,#551f26ef 30%,#3c182367 65%,#351821e6 100%), url('hero-wingstory-20261016.webp') center 43% / cover;
  border-bottom: 2px solid #c8a263;
}
.ws-listing-row--spotlight::after {
  content: ""; position: absolute; z-index: -1; top: 11px; left: 11px; right: 11px; height: 190px;
  border: 1px solid #f1d59a47; border-radius: 5px; pointer-events: none;
}
.ws-listing-row--spotlight .ws-row-identity { grid-area: identity; min-height: 215px; padding: 23px 0 20px; }
.ws-spotlight-label { display: inline-flex; align-items: center; gap: 9px; color: #f1d39b; font-size: 12px; font-weight: 650; letter-spacing: .22em; }
.ws-spotlight-label::before { content: ""; width: 19px; height: 1px; background: currentColor; }
.ws-listing-row--spotlight .ws-row-heading { align-items: center; margin: 8px 0 6px; gap: 14px; }
.ws-listing-row--spotlight .ws-row-monogram { width: 52px; height: 52px; flex-basis: 52px; filter: drop-shadow(0 3px 8px #190b10a6); }
.ws-site .ws-listing-row--spotlight h3 { margin: 0; padding: 0; font-size: clamp(36px,4.6vw,52px); font-weight: 900; line-height: 1.2; letter-spacing: .1em; }
.ws-site .ws-listing-row--spotlight h3 a { color: #ffe9b7; text-shadow: 0 2px 0 #8a4e23, 0 4px 18px #12090dcc; }
.ws-site .ws-listing-row--spotlight h3 a:hover { color: #fff8e4; }
.ws-spotlight-lead { margin: 7px 0 0; font-size: 17px; line-height: 1.6; letter-spacing: .05em; color: #fff0d9; text-shadow: 0 2px 6px #301018; }
.ws-listing-row--spotlight .ws-row-date { color: #dec8b3; margin-top: 7px; font-size: 11px; }
.ws-listing-row--spotlight .ws-row-spec { grid-area: spec; padding-top: 22px; align-self: start; }
.ws-listing-row--spotlight .ws-row-summary { grid-area: summary; padding-top: 18px; }
.ws-listing-row--spotlight .ws-row-version { font-size: 15px; background: #fff1d8; border-color: #d6b77e; color: #75341f; }
.ws-listing-row--spotlight .ws-row-platforms { margin-top: 10px; line-height: 1.7; color: #534131; font-size: 14px; }
.ws-listing-row--spotlight .ws-row-mode { color: #955230; font-size: 13px; }
.ws-listing-row--spotlight .ws-row-entry-note { color: #69533d; margin: 0; font-size: 14px; line-height: 1.8; }
.ws-listing-row--spotlight .ws-row-actions { grid-area: actions; justify-content: center; gap: 9px; padding: 22px 0; }
.ws-listing-row--spotlight .ws-row-actions > a { min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 15px; font-weight: 700; border-radius: 6px; }
.ws-listing-row--spotlight .ws-row-detail { background: linear-gradient(#f9e0a6,#d5aa62); color: #542b1c!important; border: 1px solid #ffe7b4; box-shadow: 0 3px 0 #5a2a1e,0 5px 15px #1b101040; }
.ws-listing-row--spotlight .ws-row-detail:hover { background: #ffe7b7; border-color: #fff1d4; }
.ws-listing-row--spotlight .ws-row-external { background: #401923c9; border: 1px solid #e7c7888c; color: #ffebc5!important; text-decoration: none; }
.ws-listing-row--spotlight .ws-row-external:hover { background: #6f3034; }
.ws-listing-row--spotlight .ws-library-favorite { color: #ffe7bd; background: #391821a6; border-color: #f1cc8f66; }
.ws-listing-row--spotlight .ws-library-action-wrap { width: 100%; }
.ws-listing-row--spotlight .ws-library-favorite { width: 100%; min-height: 44px; }
.ws-listing-row--spotlight .ws-library-feedback:not(:empty) { padding: 6px 8px; border: 1px solid #d9bc85; border-radius: 5px; background: #fff4db; color: #593c2b; line-height: 1.6; }
.ws-listing-row--spotlight a:focus-visible, .ws-listing-row--spotlight button:focus-visible { outline: 3px solid #ca871b; outline-offset: 4px; }
.ws-listing-row--spotlight .ws-card-entry { margin-top: 8px; }
@media(max-width:900px) {
  .ws-listing-table .ws-listing-row--spotlight { grid-template-columns: minmax(0,1fr) minmax(0,1fr) 165px; gap: 0 18px; padding-inline: 23px; }
}
@media(max-width:680px) {
  .ws-listing-table .ws-listing-row--spotlight { grid-template-columns: minmax(0,1fr); grid-template-areas: "identity" "actions" "spec" "summary"; padding: 0 18px 14px; margin-bottom: 16px; gap: 0; border-radius: 10px; }
  .ws-listing-row--spotlight::before { height: 178px; background-position: center,right 39%; }
  .ws-listing-row--spotlight::after { top: 8px; left: 8px; right: 8px; height: 160px; }
  .ws-listing-row--spotlight .ws-row-identity { min-height: 178px; padding: 19px 0 17px; }
  .ws-site .ws-listing-row--spotlight h3 { font-size: 39px; letter-spacing: .08em; }
  .ws-listing-row--spotlight .ws-row-monogram { width: 43px; height: 43px; flex-basis: 43px; }
  .ws-spotlight-lead { font-size: 14px; letter-spacing: 0; }
  .ws-listing-row--spotlight .ws-row-actions { padding: 15px 0 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .ws-listing-row--spotlight .ws-row-actions > a { min-height: 46px; gap: 8px; font-size: 14px; }
  .ws-listing-row--spotlight .ws-row-actions > .ws-library-action-wrap { grid-column: 1/-1; min-height: 44px; }
  .ws-listing-row--spotlight .ws-library-favorite { color: #70412b; background: #fff9ed; border-color: #ddc9a4; }
  .ws-listing-row--spotlight .ws-row-spec { padding-top: 13px; gap: 6px; display: flex; flex-wrap: wrap; }
  .ws-listing-row--spotlight .ws-row-platforms { margin: 0; font-size: 13px; }
  .ws-listing-row--spotlight .ws-row-mode { margin-top: 0; }
  .ws-listing-row--spotlight .ws-row-summary { padding-top: 9px; }
  .ws-listing-row--spotlight .ws-row-entry-note { font-size: 13px; line-height: 1.75; }
}
@media print {
  .ws-listing-table .ws-listing-row--spotlight { background: white; border-color: #888; box-shadow: none; }
  .ws-listing-row--spotlight::before, .ws-listing-row--spotlight::after { display: none; }
  .ws-site .ws-listing-row--spotlight h3 a, .ws-spotlight-lead, .ws-spotlight-label, .ws-listing-row--spotlight .ws-row-date { color: black; text-shadow: none; }
}
