:root{
  --bg:#090705; --panel:#15110d; --panel2:#211912; --gold:#d9a94d; --gold2:#6f4b1b; --text:#f5ead1; --muted:#c6b48d; --green:#2e8b57; --blue:#2b5f99; --danger:#5e5143;
  --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Georgia,'Times New Roman',serif;background:#080604;color:var(--text);line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}.site-bg{position:fixed;inset:0;background:radial-gradient(circle at 50% 0%,rgba(172,119,48,.22),transparent 34%),linear-gradient(180deg,#15100c,#060504 45%,#0c0805);z-index:-3}.site-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:42px 42px;opacity:.35}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px clamp(18px,4vw,56px);background:rgba(8,6,4,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(217,169,77,.28)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f6d58a}.brand img{width:42px;height:42px;object-fit:contain}.nav{display:flex;gap:20px;color:#e8d6ab;font-size:.92rem;text-transform:uppercase;letter-spacing:.08em}.nav a{opacity:.88}.nav a:hover{color:var(--gold)}.nav-toggle{display:none;background:none;border:1px solid rgba(217,169,77,.45);color:var(--gold);font-size:24px;border-radius:8px;padding:2px 10px}
.hero{position:relative;min-height:760px;display:grid;place-items:center;text-align:center;overflow:hidden;border-bottom:1px solid rgba(217,169,77,.22)}.hero-art{position:absolute;inset:0;background-image:url('assets/07_World_Artwork/world_oakshire_village_16x9.png');background-size:cover;background-position:center 54%;transform:scale(1.035);z-index:-2}.hero-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,0,0,.18),rgba(0,0,0,.78) 72%),linear-gradient(180deg,rgba(0,0,0,.1),#090705 97%);z-index:-1}.hero-content{width:min(940px,92vw);padding:90px 0 70px}.main-logo{width:min(620px,88vw);margin:0 auto -18px;filter:drop-shadow(0 16px 32px rgba(0,0,0,.9))}.eyebrow{color:#f0c56c;text-transform:uppercase;letter-spacing:.24em;font-weight:700}.hero h1{font-size:clamp(2.2rem,5vw,5.2rem);line-height:1.04;margin:8px auto 16px;text-shadow:0 4px 28px #000}.lead{font-size:clamp(1.1rem,2vw,1.35rem);color:#eadbb7;max-width:780px;margin:0 auto 30px}.cta-row,.account-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.game-btn{display:inline-grid;place-items:center;min-width:172px;min-height:54px;padding:12px 28px;border:0;border-radius:8px;color:#ffeec5;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-family:inherit;text-shadow:0 2px 8px #000;box-shadow:0 10px 26px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.14);cursor:pointer;transition:.18s transform,.18s filter}.game-btn:hover{transform:translateY(-2px);filter:brightness(1.12)}.game-btn-gold{background:linear-gradient(180deg,#a77a2a,#5c3510);border:1px solid #d5a24e}.game-btn-blue{background:linear-gradient(180deg,#315e92,#132d52);border:1px solid #6e9bd6}.game-btn-green{background:linear-gradient(180deg,#3d8b51,#173d25);border:1px solid #85c989}.section{width:min(var(--max),92vw);margin:0 auto;padding:86px 0}.section-title{text-align:center;margin:0 auto 34px;max-width:820px}.section-title img{width:min(560px,90vw);margin:0 auto 6px;opacity:.95}.section-title h2{margin:0;font-size:clamp(2rem,4vw,3.6rem);line-height:1.1;color:#f4d28a;text-shadow:0 6px 22px #000}.section-title p{color:var(--muted);font-size:1.08rem}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card,.tier-card,.news-card,.account-panel{background:linear-gradient(180deg,rgba(35,27,19,.92),rgba(11,8,6,.94));border:1px solid rgba(217,169,77,.36);box-shadow:0 18px 42px rgba(0,0,0,.45),inset 0 0 30px rgba(217,169,77,.04);border-radius:18px}.feature-card{padding:24px;text-align:center}.feature-card img{width:120px;aspect-ratio:1;object-fit:cover;border-radius:12px;margin:0 auto 14px}.feature-card h3,.world-card h3,.tier-card h3,.news-card h3{color:#f2cf82;margin:.2em 0;font-size:1.45rem}.feature-card p,.world-card p,.tier-card li,.news-card p,.account-copy p{color:#d6c39b}.skill-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.skill-grid article{position:relative;overflow:hidden;background:rgba(12,9,7,.82);border:1px solid rgba(217,169,77,.32);border-radius:16px;padding:12px;text-align:center}.skill-grid img{border-radius:12px;aspect-ratio:1;object-fit:cover}.skill-grid span{display:block;margin-top:8px;color:#f1d083;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.world-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.world-card{min-height:250px;border-radius:18px;overflow:hidden;position:relative;background-image:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.86)),var(--bg);background-size:cover;background-position:center;border:1px solid rgba(217,169,77,.32);box-shadow:0 18px 42px rgba(0,0,0,.42);display:flex;align-items:flex-end}.world-card.large{grid-column:span 2;grid-row:span 2;min-height:516px}.world-card div{padding:22px}.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tier-card{text-align:center;padding:28px 24px}.tier-card.featured{border-color:#e8bd61;transform:translateY(-12px);box-shadow:0 22px 56px rgba(217,169,77,.18)}.tier-card img{height:180px;object-fit:contain;margin:0 auto 8px}.price{font-size:2rem;margin:8px 0;color:#fff0c8}.tier-card ul{list-style:none;padding:0;margin:18px 0 24px}.tier-card li{padding:6px 0;border-bottom:1px solid rgba(217,169,77,.1)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-card{overflow:hidden}.thumb{height:170px;background-image:var(--bg);background-size:cover;background-position:center}.news-card div:not(.thumb){padding:20px}.news-card span{color:#f0c56c;text-transform:uppercase;letter-spacing:.13em;font-size:.8rem}.account-panel{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:34px;align-items:center}.account-copy img{width:120px}.account-copy h2{font-size:2.8rem;line-height:1.1;margin:10px 0;color:#f4d28a}.login-box{background:rgba(0,0,0,.28);border:1px solid rgba(217,169,77,.22);border-radius:18px;padding:24px;display:grid;gap:14px}.login-box label{display:grid;gap:6px;color:#f2d796}.login-box input{width:100%;padding:13px 14px;background:#0c0906;border:1px solid rgba(217,169,77,.34);border-radius:10px;color:#fff;font:inherit}.login-box small{color:#bda77e}.footer{text-align:center;padding:40px 20px 60px;border-top:1px solid rgba(217,169,77,.22);background:#070504}.footer img{width:260px;margin:0 auto}.footer p{color:#a99772}
@media (max-width:980px){.feature-grid,.skill-grid,.tier-grid,.news-grid{grid-template-columns:repeat(2,1fr)}.world-grid{grid-template-columns:1fr 1fr}.account-panel{grid-template-columns:1fr}.tier-card.featured{transform:none}.nav-toggle{display:block}.nav{display:none;position:absolute;right:18px;top:72px;flex-direction:column;background:#090705;border:1px solid rgba(217,169,77,.35);padding:18px;border-radius:14px}.nav.open{display:flex}}
@media (max-width:620px){.hero{min-height:680px}.feature-grid,.skill-grid,.tier-grid,.news-grid,.world-grid{grid-template-columns:1fr}.world-card.large{grid-column:auto;grid-row:auto;min-height:300px}.topbar{padding:12px 16px}.brand span{font-size:.8rem}.main-logo{margin-bottom:-5px}.section{padding:58px 0}.account-panel{padding:22px}.account-copy h2{font-size:2.1rem}}



/* 2026-07-18 targeted homepage polish.
   Existing layout and asset set remain authoritative. */
:root { --max: 1220px; }

.section { padding: 76px 0; }
.section-title { margin-bottom: 30px; }
.section-title p { max-width: 760px; margin-left: auto; margin-right: auto; }

.feature-grid { align-items: stretch; }
.feature-card {
  min-height: 318px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 24px 22px 26px;
}
.feature-card img {
  width: 112px;
  height: 112px;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 0;
  margin-bottom: 12px;
}
.feature-card h3 { min-height: 2.55em; display: grid; place-items: center; }
.feature-card p { margin: 10px 0 0; }

.skill-grid article { min-width: 0; }
.skill-grid img { width: 100%; }
.skill-grid span { font-size: .82rem; line-height: 1.35; }


.world-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-flow: row dense;
  gap: 18px;
}
.world-card {
  grid-column: span 3;
  min-height: 245px;
  background-position: center;
}
.world-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.04) 30%, rgba(0,0,0,.91) 100%);
  pointer-events: none;
}
.world-card > div { position: relative; z-index: 1; padding: 22px; }
.world-card h3 { line-height: 1.15; }
.world-card p { margin-bottom: 0; }
.world-status {
  display: inline-block;
  margin-bottom: 6px;
  color: #f0c56c;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .72rem;
  font-weight: 800;
}
.world-card.world-featured {
  grid-column: span 6;
  grid-row: span 2;
  min-height: 508px;
}
.world-card.world-development {
  grid-column: span 12;
  min-height: 205px;
  align-items: center;
  background-image:
    radial-gradient(circle at 82% 48%, rgba(217,169,77,.13), transparent 25%),
    linear-gradient(135deg, rgba(48,33,20,.98), rgba(10,7,5,.98));
}
.world-card.world-development::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("assets/01_Branding/crest_icon2.png") no-repeat 86% 52%;
  background-size: 260px;
  opacity: .17;
  pointer-events: none;
}
.world-card.world-development::after {
  background: linear-gradient(90deg, rgba(0,0,0,.02), rgba(0,0,0,.72));
}
.world-card.world-development > div { max-width: 760px; padding: 28px 32px; }
.world-card.no-art { background-color: #17100a; }

.access-tier-grid {
  grid-template-columns: repeat(2, minmax(300px, 390px));
  justify-content: center;
  align-items: stretch;
  gap: 24px;
}
.access-tier-grid .tier-card {
  min-height: 560px;
  display: flex;
  flex-direction: column;
}
.access-tier-grid .tier-card.featured { transform: none; }
.access-tier-grid .tier-card img { height: 166px; }
.access-tier-grid .tier-card ul { margin-top: auto; margin-bottom: 0; }

.news-grid { align-items: stretch; }
.news-card { min-height: 292px; }
.news-card > div { height: 100%; display: flex; flex-direction: column; padding: 22px; }
.news-card h3 { line-height: 1.2; }
.news-card p { flex: 1; }
.news-card small { color: #a99772; }

.account-panel {
  grid-template-columns: minmax(230px, .75fr) minmax(0, 1.5fr);
  gap: 38px;
  padding: 38px 42px;
}
.account-panel > img { width: 235px; margin: 0 auto; }
.account-panel > div > h2 {
  margin: 0 0 12px;
  color: #f4d28a;
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1.1;
}
.account-panel .cta-row { justify-content: flex-start; margin-top: 22px; }

.footer > div {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 16px 0;
}
.footer a { color: #d8bf89; }
.footer a:hover, .footer a:focus-visible { color: #fff0c8; }

@media (max-width: 980px) {
  .world-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .world-card,
  .world-card.world-featured,
  .world-card.world-development {
    grid-column: auto;
    grid-row: auto;
    min-height: 300px;
  }
  .world-card.world-development::before { background-size: 190px; }
  .access-tier-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-tier-grid .tier-card { min-height: auto; }
  .account-panel { grid-template-columns: 1fr; text-align: center; }
  .account-panel .cta-row { justify-content: center; }
}

@media (max-width: 620px) {
  .section { padding: 58px 0; }
  .feature-card { min-height: 0; }
  .world-grid,
  .access-tier-grid { grid-template-columns: 1fr; }
  .world-card,
  .world-card.world-featured,
  .world-card.world-development { min-height: 290px; }
  .world-card.world-development > div { padding: 24px; }
  .world-card.world-development::before { background-size: 140px; background-position: 94% 30%; }
  .account-panel { padding: 26px 22px; }
  .account-panel > img { width: 180px; }
}


/* Full 22-skill presentation. Every discipline uses the same illustrated card treatment. */
.skill-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  gap: 16px;
}
.skill-grid article {
  flex: 0 0 calc((100% - 80px) / 6);
  max-width: calc((100% - 80px) / 6);
  min-width: 0;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.skill-grid article:hover {
  transform: translateY(-3px);
  border-color: rgba(240,197,108,.62);
  box-shadow: 0 14px 30px rgba(0,0,0,.34);
}
.skill-grid img { width: 100%; display: block; }

@media (max-width: 1120px) {
  .skill-grid article {
    flex-basis: calc((100% - 64px) / 5);
    max-width: calc((100% - 64px) / 5);
  }
}
@media (max-width: 860px) {
  .skill-grid article {
    flex-basis: calc((100% - 48px) / 4);
    max-width: calc((100% - 48px) / 4);
  }
}
@media (max-width: 620px) {
  .skill-grid { gap: 12px; }
  .skill-grid article {
    flex-basis: calc((100% - 12px) / 2);
    max-width: calc((100% - 12px) / 2);
    padding: 9px;
  }
  .skill-grid span { font-size: .74rem; }
}

/* Android technical-alpha download page. */
.mobile-download-page { min-height: 100vh; }
.mobile-download-main { min-height: 75vh; }
.mobile-download-hero {
  position: relative;
  min-height: 760px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(217,169,77,.22);
}
.mobile-download-art {
  position: absolute;
  inset: 0;
  background: url('/assets/07_World_Artwork/world_oakshire_village_16x9.png') center 54% / cover no-repeat;
  transform: scale(1.035);
  z-index: -2;
}
.mobile-download-vignette {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(0,0,0,.16), rgba(0,0,0,.8) 72%),
    linear-gradient(180deg, rgba(0,0,0,.14), #090705 98%);
  z-index: -1;
}
.mobile-download-content {
  width: min(900px, 92vw);
  padding: 74px 0 68px;
  text-align: center;
}
.mobile-download-logo {
  width: min(540px, 86vw);
  margin: 0 auto -14px;
  filter: drop-shadow(0 16px 32px rgba(0,0,0,.9));
}
.mobile-download-content h1 {
  margin: 8px auto 14px;
  font-size: clamp(2.3rem, 5vw, 4.8rem);
  line-height: 1.04;
  text-shadow: 0 4px 28px #000;
}
.mobile-build-card {
  width: min(760px, 100%);
  margin: 34px auto 0;
  padding: 28px;
  text-align: left;
  background: linear-gradient(180deg, rgba(35,27,19,.96), rgba(11,8,6,.97));
  border: 1px solid rgba(217,169,77,.5);
  border-radius: 18px;
  box-shadow: 0 22px 58px rgba(0,0,0,.58), inset 0 0 34px rgba(217,169,77,.05);
}
.mobile-build-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.mobile-build-heading img {
  width: 88px;
  height: 88px;
  object-fit: contain;
}
.mobile-build-status {
  display: inline-block;
  color: #8ed39c;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 800;
  font-size: .78rem;
}
.mobile-build-card h2 {
  margin: 5px 0 0;
  color: #f4d28a;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.15;
}
.mobile-build-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0;
}
.mobile-build-details > div {
  padding: 14px;
  background: rgba(0,0,0,.24);
  border: 1px solid rgba(217,169,77,.18);
  border-radius: 12px;
}
.mobile-build-details dt {
  color: #bca77e;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.mobile-build-details dd {
  margin: 4px 0 0;
  color: #fff0c8;
  font-weight: 700;
}
.mobile-build-notes { color: #d6c39b; }
.mobile-download-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
}
.mobile-file-name {
  margin: 16px 0 0;
  color: #99886a;
  font-size: .84rem;
  overflow-wrap: anywhere;
}
.mobile-build-unavailable { text-align: center; }
.mobile-build-unavailable .mobile-build-status { color: #e3bb68; }
.mobile-build-unavailable .mobile-download-actions { justify-content: center; }
.mobile-install-section { padding-top: 68px; }
.mobile-install-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.mobile-install-grid article,
.mobile-download-warning {
  background: linear-gradient(180deg, rgba(35,27,19,.92), rgba(11,8,6,.94));
  border: 1px solid rgba(217,169,77,.32);
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(0,0,0,.38);
}
.mobile-install-grid article {
  padding: 24px;
  text-align: center;
}
.mobile-install-grid strong {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
  border: 1px solid #d5a24e;
  border-radius: 50%;
  color: #ffe8af;
  background: linear-gradient(180deg,#8f661f,#4b2a0b);
  font-size: 1.25rem;
}
.mobile-install-grid h3,
.mobile-download-warning h3 { color: #f2cf82; }
.mobile-install-grid p,
.mobile-download-warning p { color: #d6c39b; }
.mobile-download-warning {
  margin-top: 20px;
  padding: 22px 26px;
  text-align: center;
}
.mobile-download-warning h3 { margin: 0 0 6px; }
.mobile-download-warning p { margin: 0; }

@media (max-width: 760px) {
  .mobile-page-nav { display: flex; position: static; padding: 0; border: 0; background: none; flex-direction: row; }
  .mobile-page-nav a:not(:first-child) { display: none; }
  .mobile-download-hero { min-height: 720px; }
  .mobile-download-content { padding-top: 56px; }
  .mobile-build-card { padding: 22px; }
  .mobile-build-heading img { width: 68px; height: 68px; }
  .mobile-build-details { grid-template-columns: 1fr; }
  .mobile-install-grid { grid-template-columns: 1fr; }
  .mobile-download-actions .game-btn { width: 100%; }
}
