/* LEGEND: Roads of Ashmere v0.9.x - Ashmere Town Terminal / 1.0 hub target
   Mockup-driven hub styling: grouped town sections, top nav, route card, traveler terminal. */

.ash099{
  background:
    radial-gradient(circle at 12% 4%,rgba(255,211,105,.12),transparent 25%),
    radial-gradient(circle at 82% 72%,rgba(83,144,91,.08),transparent 30%),
    linear-gradient(180deg,#020403,#050806 58%,#020302)!important;
}

.ash099-terminal{min-height:100svh}
.ash099-wrap{width:min(1520px,100%)!important;gap:14px!important}

.ash099-hero{min-height:360px!important;border-radius:26px!important;border-color:rgba(255,211,105,.22)!important;box-shadow:0 28px 78px rgba(0,0,0,.42),inset 0 0 54px rgba(255,211,105,.04)!important}
.ash099-hero-mockup:before,.ash099-hero:before{content:"ASHMERE TOWN TERMINAL";position:absolute;top:16px;left:18px;z-index:2;padding:7px 12px;border:1px solid rgba(255,211,105,.26);border-radius:999px;background:rgba(0,0,0,.46);color:#ffd369;font-size:.66rem;font-weight:1000;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(5px)}
.ash099-hero:after{background:radial-gradient(circle at 25% 20%,rgba(255,211,105,.18),transparent 25%),linear-gradient(90deg,rgba(2,4,3,.94),rgba(2,4,3,.48) 54%,rgba(2,4,3,.86)),linear-gradient(180deg,rgba(2,4,3,.02),rgba(2,4,3,.92))!important}
.ash099-hero-content{min-height:360px!important;grid-template-columns:minmax(0,1fr) minmax(330px,450px)!important;grid-template-rows:1fr;align-items:end;gap:18px!important}
.ash099-title{align-self:end!important}
.ash099-title h1{font-family:Georgia,serif;font-size:clamp(3.5rem,7.2vw,7.1rem)!important;letter-spacing:.025em;text-shadow:0 12px 34px rgba(0,0,0,.82),0 0 24px rgba(255,211,105,.12)}
.ash099-title p{max-width:760px!important;color:#dce6dd!important}
.ash099-terminal-plaque{width:max-content;max-width:100%;margin:0 0 12px;padding:7px 12px;border:1px solid rgba(255,211,105,.28);border-radius:999px;background:linear-gradient(180deg,rgba(77,48,15,.78),rgba(18,12,5,.64));color:#ffdc8a;font-size:.72rem;font-weight:1000;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 10px 24px rgba(0,0,0,.24),inset 0 0 18px rgba(255,211,105,.035)}

.ash099-route-card{position:relative;z-index:3;align-self:end;border:1px solid rgba(255,211,105,.24);border-radius:22px;background:linear-gradient(180deg,rgba(8,14,10,.84),rgba(0,0,0,.56));box-shadow:0 20px 50px rgba(0,0,0,.38),inset 0 0 28px rgba(255,211,105,.025);padding:16px;backdrop-filter:blur(7px)}
.ash099-route-card h2{margin:0 0 10px;color:#9eb7a7;font-size:.68rem;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}
.ash099-route-title{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start}
.ash099-route-title strong{display:block;margin-bottom:5px;color:#f5d88f;font-family:Georgia,serif;font-size:1.35rem}
.ash099-route-title p{margin:0;color:#dce6dd;line-height:1.42}
.ash099-route-card ul{margin:12px 0 14px;padding:0;display:grid;gap:6px;list-style:none}
.ash099-route-card li{position:relative;padding-left:1rem;color:#c2d0c6;line-height:1.35;font-size:.92rem}
.ash099-route-card li:before{content:"◆";position:absolute;left:0;top:.05rem;color:#d7b963;font-size:.62rem}
.ash099-route-card .ash099-btn.primary{width:100%}

.ash099-topnav,.ash099-footer{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;border:1px solid rgba(255,211,105,.14);border-radius:20px;background:rgba(0,0,0,.52);padding:9px;box-shadow:0 16px 38px rgba(0,0,0,.30),inset 0 0 22px rgba(255,211,105,.02)}
.ash099-topnav{margin-top:-4px;position:relative;z-index:4}
.ash099-footer-item{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,211,105,.10);border-radius:14px;background:rgba(7,13,9,.70);color:#d9c487;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ash099-footer-item .ash099-icon{width:28px!important;height:28px!important}
.ash099-footer-item .ash099-icon svg{width:17px!important;height:17px!important}
.ash099-footer-item.active,.ash099-footer-item:hover,.ash099-footer-item:focus-visible{border-color:rgba(255,211,105,.34);color:#ffe0a1;box-shadow:inset 0 0 20px rgba(255,211,105,.035)}

.ash099-hub-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.52fr);gap:14px;align-items:start}
.ash099-hub-grouped{align-items:start}
.ash099-panel{border-radius:22px!important;border-color:rgba(255,211,105,.15)!important;background:linear-gradient(180deg,rgba(8,14,10,.80),rgba(0,0,0,.38))!important;box-shadow:0 20px 52px rgba(0,0,0,.32),inset 0 0 26px rgba(255,211,105,.02)!important}
.ash099-menu-panel{position:relative;overflow:hidden}
.ash099-menu-panel:before,.ash099-menu-panel:after{display:none!important}
.ash099-menu-panel > h2{margin:0 0 12px!important;color:#ffd369!important;font-family:Georgia,serif!important;font-size:clamp(1.35rem,2.3vw,2.25rem)!important;font-weight:900!important;letter-spacing:.04em!important;text-transform:none!important}
.ash099-town-access > h2:after{content:"Grouped town routes. Pick a section, then choose where to go.";display:block;margin-top:5px;color:#aebfb4;font-family:inherit;font-size:.94rem;font-weight:500;letter-spacing:0;line-height:1.45}

.ash099-action-group{border:1px solid rgba(255,211,105,.11);border-radius:18px;background:rgba(0,0,0,.16);padding:12px;margin-top:10px}
.ash099-action-group header{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:9px;border-bottom:1px solid rgba(255,211,105,.08);padding-bottom:8px}
.ash099-action-group h3{margin:0;color:#f3d991;font-family:Georgia,serif;font-size:1.12rem;letter-spacing:.035em}
.ash099-action-group p{margin:0;max-width:560px;color:#aebfb4;font-size:.86rem;line-height:1.35;text-align:right}
.ash099-group-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ash099-action-group.road-prep .ash099-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ash099-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.ash099-action{position:relative;min-height:118px!important;grid-template-columns:1fr!important;align-content:space-between;gap:8px!important;padding:13px!important;border-radius:17px!important;background:linear-gradient(135deg,rgba(255,211,105,.06),transparent 42%),linear-gradient(180deg,rgba(9,16,12,.82),rgba(0,0,0,.34))!important;overflow:hidden}
.ash099-action:before{content:"";position:absolute;inset:1px;border-radius:16px;pointer-events:none;background:radial-gradient(circle at 50% 0%,rgba(255,211,105,.06),transparent 42%)}
.ash099-action > *{position:relative;z-index:1}
.ash099-action:hover,.ash099-action:focus-visible{transform:translateY(-1px);border-color:rgba(255,211,105,.38)!important;box-shadow:0 18px 38px rgba(0,0,0,.32),inset 0 0 24px rgba(255,211,105,.035)!important}
.ash099-action .ash099-icon{width:40px!important;height:40px!important;border-radius:14px!important}
.ash099-action .ash099-icon svg{width:22px!important;height:22px!important}
.ash099-action strong{font-family:Georgia,serif;font-size:1rem!important;color:#f3d991!important}
.ash099-action small{font-size:.84rem!important;color:#cbd9cf!important;line-height:1.32!important}
.ash099-action em{justify-self:start;align-self:end!important;padding:4px 9px;border:1px solid rgba(255,211,105,.17);border-radius:999px;background:rgba(0,0,0,.24);color:#d6c487!important}
.ash099-action.featured{border-color:rgba(255,211,105,.46)!important;box-shadow:0 0 0 1px rgba(255,211,105,.10),0 16px 34px rgba(0,0,0,.26),inset 0 0 24px rgba(255,211,105,.045)!important}
.ash099-quick-title,.ash099-quick-row{display:none!important}

.ash099-terminal-card,.ash099-traveler-panel{border-color:rgba(255,211,105,.24)!important;background:radial-gradient(circle at 50% 0%,rgba(255,211,105,.08),transparent 36%),linear-gradient(180deg,rgba(8,14,10,.84),rgba(0,0,0,.42))!important;position:sticky;top:12px}
.ash099-traveler-panel h3{margin-bottom:12px!important;font-family:Georgia,serif;font-size:1.35rem!important;letter-spacing:.04em!important;text-transform:none!important;color:#f2d898!important}
.ash099-traveler-identity{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:12px;padding:11px;border:1px solid rgba(255,211,105,.14);border-radius:16px;background:rgba(0,0,0,.22)}
.ash099-avatar{width:66px;height:66px;display:grid;place-items:center;border:1px solid rgba(255,211,105,.34);border-radius:18px;background:radial-gradient(circle,rgba(255,211,105,.20),rgba(0,0,0,.34) 62%);box-shadow:inset 0 0 22px rgba(255,211,105,.06),0 12px 22px rgba(0,0,0,.28)}
.ash099-avatar span{color:#ffe0a1;font-family:Georgia,serif;font-size:2.35rem;font-weight:1000;text-shadow:0 8px 20px rgba(0,0,0,.7)}
.ash099-traveler-identity strong{display:block;color:#f6e4b7;font-family:Georgia,serif;font-size:1.3rem}
.ash099-traveler-identity small{color:#9bd19a;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ash099-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.ash099-stat{border-radius:13px!important;background:rgba(0,0,0,.22)!important}
.ash099-stat strong{overflow-wrap:anywhere}
.ash099-trait{border-top:1px solid rgba(255,211,105,.12);padding-top:12px;color:#cbd9cf!important}
.ash099-trait strong{color:#d9bd72;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}

.ash099-market-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 14px;padding:12px;border:1px solid rgba(255,211,105,.14);border-radius:16px;background:rgba(0,0,0,.22)}
.ash099-market-summary strong{color:#f3d991;font-family:Georgia,serif;font-size:1.05rem}
.ash099-market-summary span{color:#cbd9cf}

.ash099-job-game{display:grid;gap:14px;padding:14px;border:1px solid rgba(255,211,105,.14);border-radius:20px;background:linear-gradient(180deg,rgba(7,13,9,.82),rgba(0,0,0,.36));box-shadow:inset 0 0 24px rgba(255,211,105,.025)}
.ash099-job-game p{margin:0;color:#dce6dd;line-height:1.45}
.ash099-job-track{position:relative;height:42px;border:1px solid rgba(255,211,105,.20);border-radius:999px;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(11,22,15,.74),rgba(0,0,0,.48));overflow:hidden;box-shadow:inset 0 0 22px rgba(0,0,0,.46)}
.ash099-job-zone{position:absolute;top:6px;bottom:6px;border-radius:999px;background:linear-gradient(180deg,rgba(255,223,132,.96),rgba(185,119,38,.92));box-shadow:0 0 18px rgba(255,211,105,.38),inset 0 1px 0 rgba(255,255,255,.24)}
.ash099-job-marker{position:absolute;top:3px;bottom:3px;width:5px;left:0%;border-radius:999px;background:#f6fff3;box-shadow:0 0 14px rgba(255,255,255,.72),0 0 24px rgba(255,211,105,.38);transform:translateX(-50%)}
.ash099-job-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ash099-job-meta span{padding:8px 10px;border:1px solid rgba(255,211,105,.12);border-radius:12px;background:rgba(0,0,0,.22);color:#cbd9cf;font-size:.88rem;font-weight:800;text-align:center}

.portal-gear{display:none!important}
.portal-profile-card{padding-right:0!important}
.ash099-card[disabled],.ash099-action[disabled]{opacity:.48;cursor:not-allowed}

@media(max-width:1280px){.ash099-group-grid,.ash099-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ash099-action-group.road-prep .ash099-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){.ash099-hero-content,.ash099-hub-layout,.ash099-grid{grid-template-columns:1fr!important}.ash099-terminal-card,.ash099-traveler-panel{position:relative;top:auto}.ash099-market-summary{grid-template-columns:1fr}}
@media(max-width:720px){.ash099-group-grid,.ash099-action-group.road-prep .ash099-group-grid,.ash099-actions,.ash099-quick-row,.ash099-stats,.ash099-footer,.ash099-job-meta{grid-template-columns:1fr!important}.ash099-hero{min-height:560px!important}.ash099-hero-content{min-height:560px!important}.ash099-route-card{padding:13px}.ash099-footer-item{justify-content:flex-start;padding:0 12px}.ash099-action-group header{display:block}.ash099-action-group p{text-align:left;margin-top:4px}.ash099-job-track{height:48px}}
@media(prefers-reduced-motion:reduce){.ash099-action,.ash099-footer-item{transition:none!important}}