*{box-sizing:border-box}
:root{
  --bg:#0a0d0c;--panel:#171b18;--line:#5b4d38;--gold:#d2b57a;--gold2:#9a7640;
  --text:#f1e7d2;--muted:#b4a894;--danger:#b06a61;--dark:#0d100e;
  --accent:#6a826f;--accent-soft:#1a2320;--panel-glow:rgba(210,181,122,.10);
}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--text);font-family:Georgia,"Times New Roman",serif;background:
radial-gradient(circle at 72% 10%,rgba(88,84,57,.14),transparent 30%),
linear-gradient(180deg,#121715 0%,#090c0b 65%,#070908 100%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:
repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.025) 4px)}
button,input,textarea,select{font:inherit}
.ambient{position:fixed;inset:-30%;pointer-events:none;background:radial-gradient(circle,rgba(152,125,68,.045),transparent 48%);animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(4%,2%)}}
[hidden]{display:none!important}
a{text-decoration:none;color:inherit}

.topbar{height:92px;padding:0 max(22px,4vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #3d3528;background:rgba(8,11,10,.91);backdrop-filter:blur(10px);position:relative;z-index:5}
.topbar-actions{display:flex;gap:10px;align-items:center}
.brand{display:flex;align-items:center;gap:16px}
.brand-rune{width:48px;height:48px;border:1px solid #68583a;display:grid;place-items:center;font-size:28px;color:var(--gold);transform:rotate(45deg)}
h1,h2,h3,p{margin-top:0}
h1{font-size:30px;margin:0;color:#d4ba81;letter-spacing:.06em}
h2{font-size:clamp(28px,4vw,44px);line-height:1.08;margin-bottom:14px}
h3{font-size:21px;margin-bottom:10px}
.eyebrow,.chapter,.panel-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:13px;color:#8f836d}
.chapter{color:#b19660}
.panel-kicker{display:block;margin-bottom:8px}
main{max-width:1440px;margin:0 auto;padding:30px max(18px,3vw) 60px}

.panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(32,36,31,.96),rgba(20,24,21,.98));box-shadow:0 20px 55px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.025);border-radius:8px;padding:24px;position:relative;overflow:hidden}
.panel:after{content:"";position:absolute;inset:7px;pointer-events:none;border:1px solid rgba(195,166,106,.05)}
.button{border:1px solid #75603a;border-radius:5px;padding:11px 15px;background:transparent;color:var(--text);cursor:pointer;font-weight:700}
.button:hover:not(:disabled){filter:brightness(1.13);border-color:#b08d50}
.button.primary{background:linear-gradient(#86652f,#6c4e25);border-color:#9a793e;color:#fff5dc}
.button.ghost{background:#111512}
.button.danger{border-color:#69413d;color:#d9aaa3}
.button:disabled{opacity:.42;cursor:not-allowed}
.text-button{background:none;border:0;color:var(--gold);cursor:pointer}

.auth-shell{max-width:1120px;margin:35px auto}
.auth-lore{max-width:760px;margin:0 auto 34px;text-align:center}
.auth-lore p,.lead{color:var(--muted);line-height:1.65}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.auth-grid form{display:grid;gap:13px}
.auth-grid h3{font-size:25px}
input,textarea,select{width:100%;padding:13px 14px;border:1px solid #504533;background:#0f1311;color:var(--text);border-radius:5px;outline:none}
input:focus,textarea:focus,select:focus{border-color:#9a7c47;box-shadow:0 0 0 2px rgba(163,133,76,.1)}
textarea{min-height:110px;resize:vertical}
.character-create{max-width:620px;margin:60px auto}
.character-create form{display:flex;gap:10px;margin-top:20px}
.character-create input{flex:1}

.game-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px}
.sidebar{min-height:calc(100vh - 150px);border-right:1px solid #372f25;padding-right:18px}
.character-mini{padding:14px 10px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #3c3327;margin-bottom:16px}
.portrait-rune{width:43px;height:43px;border:1px solid #5e4e34;display:grid;place-items:center;color:var(--gold);font-size:24px}
.character-mini strong,.character-mini span{display:block}
.character-mini span{font-size:15px;color:#a29886}
.nav{display:grid;gap:6px}
.nav-btn{width:100%;display:grid;grid-template-columns:25px 1fr auto;align-items:center;text-align:left;gap:8px;border:1px solid transparent;background:transparent;color:#bdb3a0;padding:11px 10px;border-radius:5px;cursor:pointer}
.nav-btn:hover,.nav-btn.active{background:#171b18;border-color:#4b402e;color:#eadfc9}
.nav-btn small{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#6e6658}
.nav-btn.disabled{opacity:.5}

.content{min-width:0}
.status-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #3f372b;background:#101411;margin-bottom:20px}
.status-strip div{padding:12px 15px;border-right:1px solid #3f372b}
.status-strip div:last-child{border-right:0}
.status-strip span,.status-strip strong{display:block}
.status-strip span{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#7f7565}
.status-strip strong{margin-top:5px;color:#d6c5a3}

.view{display:none}
.view.active{display:block}
.hero{min-height:215px;display:flex;align-items:center;justify-content:space-between;background:
linear-gradient(90deg,rgba(28,34,30,.98),rgba(17,21,18,.94)),
radial-gradient(circle at 80% 50%,rgba(136,103,54,.22),transparent 45%)}
.hero>div:first-child{max-width:720px}
.hero p{max-width:680px;color:var(--muted);line-height:1.65}
.hero-runes{font-size:30px;letter-spacing:.3em;color:#6e5b39;writing-mode:vertical-rl;opacity:.8}

.current-activity{margin-top:20px;display:grid;grid-template-columns:1.2fr 260px auto;align-items:stretch;gap:18px}
.current-activity-text p{color:var(--muted);margin-bottom:0}
.current-activity-preview{border:1px solid #43392b;border-radius:8px;background:#0e1210 center/cover no-repeat;min-height:160px;position:relative;overflow:hidden}
.current-activity-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.35))}
.preview-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#b9aa8c;z-index:1}
.activity-actions{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.tick-timer{min-width:112px;text-align:center;padding:10px 12px;background:#0f1311;border:1px solid #403729;color:#d2bb88;font-variant-numeric:tabular-nums}

.section-heading{display:flex;align-items:end;justify-content:space-between;margin:30px 0 14px}
.section-heading h2,.section-heading h3{margin-bottom:0}

.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.activity-card{border:1px solid #40372a;background:linear-gradient(180deg,#191e1a,#121613);border-radius:8px;overflow:hidden;position:relative}
.activity-card.active{border-color:#987b45;box-shadow:0 0 0 1px rgba(195,166,106,.14),0 18px 35px rgba(0,0,0,.18)}
.activity-banner{height:170px;background:#111 center/cover no-repeat;position:relative}
.activity-banner-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,9,.05),rgba(8,10,9,.68))}
.activity-icon{position:absolute;right:14px;bottom:12px;z-index:1;font-size:26px;background:rgba(0,0,0,.42);border:1px solid rgba(195,166,106,.35);padding:6px 10px;border-radius:999px}
.activity-body{padding:18px}
.activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.activity-location{font-size:12px;color:#8b7b62;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px}
.activity-card p{color:var(--muted);line-height:1.55;min-height:74px}
.activity-meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 14px}
.activity-meta span,.reward{font-size:14px;padding:5px 8px;border:1px solid #43392a;background:#111512;color:#d3c3a1;border-radius:999px}
.reward-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.lock-note{margin-top:8px;font-size:14px;color:#af9770}

.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.skill-card{border:1px solid #42392c;background:#151916;padding:18px;border-radius:6px}
.skill-top{display:flex;justify-content:space-between;gap:16px}
.skill-top strong:last-child{color:#d1b374}
.progress{height:8px;background:#090c0b;border:1px solid #302a22;margin-top:12px;overflow:hidden}
.progress span{height:100%;display:block;background:linear-gradient(90deg,#715328,#ad8b49)}

.inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.inventory-item{min-height:90px;border:1px solid #40372b;background:#131714;padding:15px;display:flex;flex-direction:column;justify-content:space-between}
.inventory-item span{color:#a69c89}
.inventory-item strong{font-size:24px;color:#d8c397}
.empty{grid-column:1/-1;padding:40px;text-align:center;border:1px dashed #453b2d;color:#8e8576}

#toast{position:fixed;z-index:20;right:24px;bottom:24px;max-width:430px;padding:14px 18px;background:#181d19;border:1px solid #80683e;box-shadow:0 18px 55px #000b;border-radius:5px;display:none;line-height:1.45}

.admin-page{max-width:1400px}
.breadcrumbs{margin-bottom:18px;color:#a89b84}
.breadcrumbs a{color:var(--gold)}
.admin-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.notice{padding:14px 16px;border:1px solid #4b402f;background:#151915;color:#d7c9ab;border-radius:8px;margin-bottom:20px}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-card{border:1px solid #41372a;border-radius:8px;overflow:hidden;background:#151916}
.admin-card .banner{height:180px;background:#111 center/cover no-repeat;position:relative}
.admin-card .banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.52))}
.admin-card .banner-badge{position:absolute;left:14px;bottom:12px;z-index:1;padding:6px 10px;border:1px solid rgba(195,166,106,.4);background:rgba(8,10,9,.6);border-radius:999px}
.admin-card .body{padding:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid .full{grid-column:1/-1}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.helper{font-size:14px;color:#a29784}
.status-pill{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid #3f372a;background:#101411}
.status-enabled{color:#cfe1b4}
.status-disabled{color:#d1a49e}

@media(max-width:1100px){
  .activity-grid{grid-template-columns:repeat(2,1fr)}
  .inventory-grid{grid-template-columns:repeat(3,1fr)}
  .current-activity{grid-template-columns:1fr}
  .admin-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  .reward-row{grid-template-columns:1fr}

  .topbar{height:auto;padding:16px;gap:12px;align-items:flex-start;flex-direction:column}
  .brand-rune{display:none}
  .eyebrow{display:none}
  main{padding:15px}
  .auth-grid{grid-template-columns:1fr}
  .game-shell{grid-template-columns:1fr}
  .sidebar{min-height:0;border-right:0;border-bottom:1px solid #3c3327;padding:0 0 12px}
  .character-mini{display:none}
  .nav{display:flex;overflow:auto}
  .nav-btn{min-width:max-content;grid-template-columns:22px auto}
  .nav-btn small{display:none}
  .status-strip{grid-template-columns:repeat(2,1fr)}
  .status-strip div:nth-child(2n){border-right:0}
  .activity-grid,.skill-grid,.inventory-grid,.admin-grid{grid-template-columns:1fr}
  .character-create form,.form-grid{grid-template-columns:1fr;display:grid}
}


.notice-error{border-color:#6a403a!important;color:#e4bbb2!important}
.reward-editor{display:grid;gap:10px;margin-top:10px}
.reward-row{display:grid;grid-template-columns:minmax(0,1fr) 140px 160px;gap:10px}
label{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:#a99673;margin-bottom:6px}
input[type=file]{padding:10px;background:#0f1311;border:1px dashed #504533}


/* ===== v0.4.1 Landing / Login Refresh ===== */
.landing-shell{display:grid;gap:28px}
.landing-hero{display:grid;grid-template-columns:1.15fr .95fr;gap:24px;overflow:hidden}
.landing-hero:before{content:"";position:absolute;inset:0;background:
radial-gradient(circle at 20% 0%,rgba(195,166,106,.10),transparent 35%),
linear-gradient(120deg,rgba(195,166,106,.04),transparent 40%)}
.landing-hero-copy,.landing-hero-side{position:relative;z-index:1}
.landing-hero-copy h2{max-width:820px}
.landing-hero-copy p{max-width:720px;color:var(--muted);line-height:1.75;font-size:17px}
.landing-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 18px}
.hero-badges{display:flex;gap:10px;flex-wrap:wrap}
.hero-badges span{padding:8px 12px;border:1px solid #483d2d;background:#101411;border-radius:999px;color:#d4c4a3;font-size:14px}
.landing-hero-side{display:grid;gap:16px}
.alpha-card{border:1px solid #4a3f2f;background:linear-gradient(180deg,#1b211d,#121613);padding:18px;border-radius:8px}
.alpha-card h3{font-size:28px;color:#d6bc86;margin-bottom:8px}
.alpha-card ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.7}
.image-stack{display:grid;gap:12px}
.image-stack-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.image-stack-card{border:1px solid #4a3f2f;border-radius:10px;background:#101411 center/cover no-repeat;position:relative;overflow:hidden;min-height:140px}
.image-stack-card.large{min-height:250px}
.image-stack-card.small{min-height:150px}
.image-stack-overlay{position:absolute;inset:auto 0 0 0;padding:18px 16px;background:linear-gradient(180deg,transparent,rgba(5,7,7,.82));display:flex;flex-direction:column;gap:4px}
.image-stack-overlay strong{font-size:20px;color:#f1e2c0}
.image-stack-overlay span{font-size:15px;color:#d0c0a2}

.landing-section{display:grid;gap:16px}
.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.feature-card{min-height:220px}
.feature-icon{width:56px;height:56px;display:grid;place-items:center;border:1px solid #5a4a31;background:#111512;color:var(--gold);font-size:24px;margin-bottom:16px}
.feature-card p{color:var(--muted);line-height:1.7}
.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.world-card{padding:0;overflow:hidden}
.world-card-image{height:185px;background:#111 center/cover no-repeat;border-bottom:1px solid #423729}
.world-card-body{padding:20px}
.world-card-body p{color:var(--muted);line-height:1.65;margin-bottom:0}

.auth-access{margin-top:4px}
.auth-panels{display:grid;grid-template-columns:.9fr 1fr 1fr;gap:18px;align-items:stretch}
.auth-side-note p,.auth-intro{color:var(--muted);line-height:1.7}
.auth-note-list{display:grid;gap:8px;margin-top:16px;color:#d7c7a6}
.auth-card{display:grid;align-content:start;gap:14px}
.auth-card h3{font-size:30px}
.register-highlight{box-shadow:0 22px 60px rgba(0,0,0,.28),0 0 0 1px rgba(195,166,106,.12) inset}
.register-highlight:before{content:"Empfohlen";position:absolute;top:18px;right:18px;padding:6px 10px;border-radius:999px;background:#6f5227;border:1px solid #a07b43;color:#fff6e2;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.auth-card input{margin-bottom:2px}

@media(max-width:1200px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .world-grid{grid-template-columns:1fr}
  .auth-panels{grid-template-columns:1fr 1fr}
  .auth-side-note{grid-column:1/-1}
}
@media(max-width:900px){
  .landing-hero{grid-template-columns:1fr}
}
@media(max-width:780px){
  .landing-hero-copy p{font-size:16px}
  .feature-grid,.auth-panels{grid-template-columns:1fr}
  .image-stack-row{grid-template-columns:1fr}
  .landing-cta-row{flex-direction:column}
  .hero-badges{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .hero-badges{grid-template-columns:1fr}
  .auth-card h3{font-size:26px}
}


/* ===== v0.4.2 Settlement / Progress Refresh ===== */
.hero{
  background:
  linear-gradient(90deg,rgba(24,31,27,.98),rgba(15,20,18,.95)),
  radial-gradient(circle at 80% 50%,rgba(154,118,64,.18),transparent 46%);
  box-shadow:0 20px 45px rgba(0,0,0,.24),0 0 0 1px var(--panel-glow) inset;
}
.current-activity{
  background:
  linear-gradient(90deg,rgba(28,34,30,.96),rgba(20,25,22,.98)),
  radial-gradient(circle at 70% 20%,rgba(106,130,111,.08),transparent 35%);
}
.current-activity-preview{
  min-height:185px;
  box-shadow:0 16px 30px rgba(0,0,0,.22);
}
.progress-shell{
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #4d4332;
  background:linear-gradient(180deg,rgba(17,21,18,.88),rgba(11,15,13,.95));
  border-radius:10px;
}
.progress-meta,
.progress-subline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.progress-meta span,
.progress-subline span{
  color:var(--muted);
  font-size:15px;
}
.progress-meta strong{
  color:var(--gold);
  font-size:16px;
}
.activity-progress-bar{
  height:14px;
  margin:10px 0 8px;
  border-radius:999px;
  overflow:hidden;
  border:1px solid #4f4638;
  background:linear-gradient(180deg,#0b0f0d,#171d19);
  box-shadow:inset 0 1px 6px rgba(0,0,0,.35);
}
.activity-progress-bar span{
  display:block;
  height:100%;
  width:0%;
  background:
    linear-gradient(90deg,var(--accent),#86a08a 45%, var(--gold) 100%);
  box-shadow:0 0 18px rgba(210,181,122,.18);
  transition:width .7s ease;
}
.quick-activities{
  padding:18px 20px;
  margin-bottom:18px;
  background:
  linear-gradient(90deg,rgba(24,29,26,.96),rgba(18,22,20,.98));
}
.quick-activities-head p{
  color:var(--muted);
  margin-bottom:14px;
}
.quick-activity-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.quick-activity-btn{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  border-radius:999px;
  border:1px solid #554833;
  background:linear-gradient(180deg,#141917,#0f1311);
  color:var(--text);
  cursor:pointer;
  min-width:165px;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}
.quick-activity-btn:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:#83653b;
  filter:brightness(1.06);
}
.quick-activity-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.quick-activity-btn.is-current{
  border-color:#9f7b46;
  background:linear-gradient(180deg,#1f2823,#141916);
}
.quick-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid #5a4e3a;
  background:#0f1412;
  font-size:18px;
}
.quick-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.quick-copy strong{
  font-size:14px;
}
.quick-copy small{
  color:var(--muted);
  font-size:13px;
}
.activity-card{
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
.activity-banner{
  height:190px;
}
.activity-card .button{
  width:100%;
}
.status-strip{
  background:linear-gradient(90deg,#101512,#0f1311);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.sidebar{
  border-right:1px solid #433928;
}
.nav-btn:hover,.nav-btn.active{
  background:linear-gradient(90deg,#171d19,#131815);
  box-shadow:inset 0 0 0 1px rgba(210,181,122,.08);
}
@media(max-width:1100px){
  .quick-activity-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:780px){
  .quick-activity-row{
    grid-template-columns:1fr;
  }
  .progress-meta,.progress-subline{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* ===== v0.4.3 Language Switch ===== */
.language-switch{
  display:flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid #51452f;
  border-radius:999px;
  background:#0d1210;
}
.lang-btn{
  min-width:38px;
  padding:7px 9px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#8f8675;
  cursor:pointer;
  font-size:14px;
  font-weight:700;
  letter-spacing:.08em;
}
.lang-btn:hover{color:var(--text)}
.lang-btn.active{
  background:linear-gradient(180deg,#836432,#664a25);
  color:#fff1d4;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
@media(max-width:780px){
  .topbar-actions{flex-wrap:wrap}
}


/* ===== v0.4.4 Activity Icons ===== */
.activity-ui-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.activity-ui-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.activity-ui-icon--fallback{
  font-size:18px;
}
.activity-icon{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:1;
  width:58px;
  height:58px;
  padding:6px;
  border-radius:16px;
  border:1px solid rgba(195,166,106,.38);
  background:rgba(7,10,9,.72);
  box-shadow:0 10px 20px rgba(0,0,0,.22);
  backdrop-filter:blur(4px);
}
.quick-icon{
  width:44px;
  height:44px;
  padding:3px;
  border-radius:12px;
  border:1px solid #5a4e3a;
  background:linear-gradient(180deg,#131816,#0e1210);
  box-shadow:inset 0 0 0 1px rgba(210,181,122,.06);
  flex:0 0 44px;
}
.current-title-icon{
  width:34px;
  height:34px;
  margin-right:10px;
  padding:2px;
  border-radius:10px;
  border:1px solid #564932;
  background:linear-gradient(180deg,#141916,#0d1110);
  vertical-align:middle;
}
#currentActivityTitle{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}


/* ===== v0.4.5 Small UI Icons / Glow ===== */
.activity-ui-icon img,
.item-ui-icon img{
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.activity-card:hover .activity-icon,
.quick-activity-btn:hover:not(:disabled) .quick-icon,
.current-title-icon,
.skill-mini-icon,
.inventory-mini-icon{
  box-shadow: 0 0 0 1px rgba(210,181,122,.08) inset, 0 8px 20px rgba(0,0,0,.18);
}
.activity-card:hover .activity-icon,
.quick-activity-btn:hover:not(:disabled) .quick-icon{
  border-color: rgba(230,198,126,.75);
  box-shadow: 0 0 18px rgba(210,181,122,.22), 0 0 32px rgba(106,130,111,.18), 0 8px 20px rgba(0,0,0,.22);
}
.activity-card:hover .activity-ui-icon img,
.quick-activity-btn:hover:not(:disabled) .activity-ui-icon img,
.skill-card:hover .activity-ui-icon img,
.inventory-item:hover .item-ui-icon img{
  transform: scale(1.05);
  filter: drop-shadow(0 0 8px rgba(210,181,122,.28));
}
.skill-head-main,
.inventory-item-top{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.skill-head-main strong,
.inventory-item-top span{
  min-width:0;
}
.skill-mini-icon,
.inventory-mini-icon{
  width:34px;
  height:34px;
  padding:3px;
  border-radius:10px;
  border:1px solid #5a4e3a;
  background:linear-gradient(180deg,#151a18,#0f1311);
  flex:0 0 34px;
}
.skill-card,
.inventory-item{
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.skill-card:hover,
.inventory-item:hover{
  transform: translateY(-1px);
  border-color:#8c6d3f;
  box-shadow:0 14px 26px rgba(0,0,0,.14);
}
.inventory-item span{display:block}
.inventory-item-top span{color:#d7c8a8;line-height:1.25}
.inventory-item strong{font-size:23px}
.item-ui-icon--fallback,
.activity-ui-icon--fallback{display:grid;place-items:center;width:100%;height:100%}


/* ===== v0.4.6 Icon Fallback / Visibility Fix ===== */
.activity-icon{
  width:64px;
  height:64px;
  padding:4px;
}
.quick-icon{
  width:48px;
  height:48px;
  padding:2px;
  flex:0 0 48px;
}
.skill-mini-icon,
.inventory-mini-icon{
  width:36px;
  height:36px;
  padding:2px;
  flex:0 0 36px;
}
.activity-ui-icon img,
.item-ui-icon img{
  object-fit:cover;
  border-radius:inherit;
}
.activity-ui-icon--fallback,
.item-ui-icon--fallback{
  color:#e3c98c;
  background:linear-gradient(180deg,#171c19,#0e1210);
  border:1px solid #5a4e3a;
  border-radius:inherit;
}


/* ===== v0.4.7 Settlement Polish / Borderless Icons ===== */
.settlement-hero{
  min-height:245px;
  padding:30px;
  background:
    linear-gradient(90deg,rgba(11,16,14,.94) 0%,rgba(13,18,16,.76) 46%,rgba(11,15,13,.28) 100%),
    url('../images/settlement/frostfjord-hero.png') center/cover no-repeat;
  border-color:#665238;
  box-shadow:0 22px 50px rgba(0,0,0,.27), inset 0 0 45px rgba(0,0,0,.16);
}
.settlement-hero h2{max-width:680px;text-shadow:0 2px 18px rgba(0,0,0,.8)}
.settlement-hero p{max-width:650px;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.settlement-hero .hero-runes{opacity:.42;color:#ddb96e}

.settlement-resource-strip{
  margin-top:16px;
  padding:13px 16px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  background:linear-gradient(90deg,rgba(22,28,24,.97),rgba(14,19,16,.97));
}
.settlement-resource-title{min-width:125px}
.settlement-resource-title .panel-kicker{margin-bottom:3px}
.settlement-resource-title strong{font-size:16px;color:#e4d4b4}
.settlement-resource-list{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.settlement-resource-item{display:flex;align-items:center;gap:8px;min-width:92px}
.settlement-resource-item div{display:flex;flex-direction:column;line-height:1.12}
.settlement-resource-item span{font-size:13px;color:var(--muted)}
.settlement-resource-item strong{font-size:16px;color:#e8d39f}
.settlement-resource-icon{width:29px;height:29px;flex:0 0 29px}
.settlement-resource-empty{color:var(--muted);font-size:15px}

.current-activity{
  grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
  gap:20px;
  padding:20px;
  background:
    radial-gradient(circle at 84% 18%,rgba(196,153,78,.10),transparent 36%),
    linear-gradient(120deg,rgba(27,34,29,.98),rgba(15,20,17,.98));
  border-color:#655238;
  box-shadow:0 24px 55px rgba(0,0,0,.24), inset 0 0 0 1px rgba(213,179,112,.035);
}
.current-activity-main{display:flex;flex-direction:column;min-width:0}
.current-activity-side{display:grid;grid-template-rows:minmax(220px,1fr) auto;gap:13px;min-width:0}
.current-activity-preview{
  min-height:220px;
  border:0;
  border-radius:12px;
  background-position:center;
  background-size:cover;
  box-shadow:0 18px 38px rgba(0,0,0,.30), inset 0 0 0 1px rgba(216,180,110,.10);
}
.current-activity-preview:after{
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.24));
}
.preview-placeholder-soft{background:rgba(5,8,7,.34);backdrop-filter:blur(2px)}
.current-activity-text h3{font-size:27px;margin-bottom:8px}
.current-activity-text p{line-height:1.55}

.progress-shell{
  margin-top:17px;
  padding:16px 17px 14px;
  border:1px solid #5d4c34;
  border-radius:13px;
  background:
    radial-gradient(circle at 12% 50%,rgba(215,177,103,.07),transparent 34%),
    linear-gradient(180deg,rgba(13,18,15,.95),rgba(8,12,10,.96));
  box-shadow:inset 0 0 18px rgba(0,0,0,.22);
}
.progress-meta strong{font-size:20px;color:#e3c57e;text-shadow:0 0 12px rgba(222,183,105,.18)}
.activity-progress-bar{
  height:17px;
  margin:11px 0 10px;
  border:0;
  background:#080c0a;
  box-shadow:inset 0 1px 7px rgba(0,0,0,.65), 0 0 0 1px rgba(193,160,94,.20);
  position:relative;
}
.activity-progress-bar:after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:999px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);
}
.activity-progress-bar span{
  position:relative;
  border-radius:999px;
  background:linear-gradient(90deg,#5f8069 0%,#8ca47c 34%,#d2ad61 72%,#f2cf79 100%);
  box-shadow:0 0 13px rgba(208,171,94,.38),0 0 27px rgba(112,145,118,.13);
  overflow:hidden;
}
.activity-progress-bar span:after{
  content:"";
  position:absolute;
  top:0;bottom:0;width:70px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.20),transparent);
  animation:progressShimmer 2.4s linear infinite;
}
@keyframes progressShimmer{from{left:-80px}to{left:calc(100% + 15px)}}
.progress-subline{padding-top:2px}
.progress-subline span:first-child{color:#c9b99d}

.current-reward-block{margin-top:16px}
.current-reward-list{display:flex;gap:9px;flex-wrap:wrap}
.current-reward-item{
  display:flex;align-items:center;gap:7px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(8,12,10,.54);
  border:1px solid rgba(107,87,54,.55);
  color:#d8c6a1;font-size:14px;
}
.current-reward-icon{width:25px;height:25px;flex:0 0 25px}
.current-reward-empty{color:var(--muted)}

.activity-actions{
  width:100%;
  align-items:stretch;
  justify-content:stretch;
  gap:9px;
}
.tick-timer{
  flex:1;
  min-height:45px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:linear-gradient(180deg,#111613,#0c100e);
  border-color:#5a4930;
  color:#e0c27e;
}
.activity-action-buttons{display:grid;grid-template-columns:1fr auto;gap:8px}
.activity-action-buttons .button{min-height:45px}

/* Borderless UI icons: only the artwork + gold glow */
.activity-icon,
.quick-icon,
.current-title-icon,
.skill-mini-icon,
.inventory-mini-icon,
.settlement-resource-icon,
.current-reward-icon{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.activity-icon{width:58px;height:58px;right:13px;bottom:12px}
.quick-icon{width:46px;height:46px;flex:0 0 46px}
.skill-mini-icon,.inventory-mini-icon{width:34px;height:34px;flex:0 0 34px}
.current-title-icon{width:34px;height:34px;margin-right:2px}
.activity-ui-icon img,
.item-ui-icon img{
  object-fit:contain!important;
  border-radius:0!important;
  filter:drop-shadow(0 0 5px rgba(221,179,92,.28)) drop-shadow(0 4px 6px rgba(0,0,0,.45));
  transition:transform .18s ease,filter .18s ease;
}
.activity-card:hover .activity-ui-icon img,
.quick-activity-btn:hover:not(:disabled) .activity-ui-icon img,
.skill-card:hover .activity-ui-icon img,
.inventory-item:hover .item-ui-icon img{
  transform:scale(1.08);
  filter:drop-shadow(0 0 8px rgba(255,205,104,.72)) drop-shadow(0 0 17px rgba(201,147,57,.34)) drop-shadow(0 5px 8px rgba(0,0,0,.48));
}
.quick-activity-btn.is-current .activity-ui-icon img,
.activity-card.active .activity-ui-icon img{
  filter:drop-shadow(0 0 8px rgba(255,206,104,.72)) drop-shadow(0 0 16px rgba(194,145,64,.30));
}

@media(max-width:1000px){
  .current-activity{grid-template-columns:1fr}
  .settlement-resource-strip{grid-template-columns:1fr}
  .current-activity-side{grid-template-columns:1fr;grid-template-rows:auto auto}
}
@media(max-width:780px){
  .activity-action-buttons{grid-template-columns:1fr}
  .settlement-resource-list{gap:10px}
}


/* ===== v0.4.8 Inventory Fix / Redesign ===== */
.item-ui-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.item-ui-icon img{
  display:block;
  width:100%;
  height:100%;
}
.inventory-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.inventory-card{
  min-height:108px;
  border-radius:14px;
  border:1px solid rgba(118,95,58,.58);
  background:linear-gradient(180deg,rgba(21,26,23,.98),rgba(13,17,15,.98));
  box-shadow:0 12px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,226,172,.03);
}
.inventory-item-top{
  justify-content:space-between;
  gap:18px;
}
.inventory-item-head-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.inventory-item-labels{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.inventory-item-name{
  color:#efe2c1;
  font-size:20px;
  line-height:1.15;
  font-weight:700;
}
.inventory-item-code{
  color:#998d77;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
}
.inventory-mini-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
}
.inventory-qty{
  min-width:54px;
  text-align:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(177,136,73,.58);
  background:linear-gradient(180deg,rgba(129,94,41,.23),rgba(51,39,20,.12));
  color:#f1d18d;
  box-shadow:0 0 18px rgba(190,145,66,.10);
}
.inventory-card:hover{
  transform:translateY(-2px);
  border-color:#a68146;
  box-shadow:0 16px 34px rgba(0,0,0,.22), 0 0 18px rgba(186,141,65,.12);
}
.inventory-card:hover .item-ui-icon img{
  transform:scale(1.08);
  filter:drop-shadow(0 0 8px rgba(255,206,104,.64)) drop-shadow(0 6px 8px rgba(0,0,0,.45));
}
@media(max-width:1200px){
  .inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:780px){
  .inventory-grid{grid-template-columns:1fr;}
  .inventory-item-name{font-size:18px;}
}


/* ===== v0.5.0 Integrated Activities ===== */
.current-activity-preview{
  background-position:center;
  background-size:cover;
}
.quick-activity-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.quick-activity-btn{
  min-width:0;
  border-radius:14px;
  justify-content:flex-start;
}
.activity-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:1250px){
  .quick-activity-row{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:980px){
  .activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .quick-activity-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:650px){
  .activity-grid,.quick-activity-row{grid-template-columns:1fr;}
}


/* ===== v0.5.2 Settlement Animation / Resource Art / Button FX ===== */
.settlement-hero{
  position:relative;
  isolation:isolate;
}
.settlement-hero > *{position:relative;z-index:2}
.settlement-hero::before{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:1;
  pointer-events:none;
  opacity:.72;
  background:
    radial-gradient(circle at 18% 35%, rgba(249,205,123,.18) 0%, rgba(249,205,123,0) 28%),
    radial-gradient(circle at 82% 62%, rgba(120,165,146,.12) 0%, rgba(120,165,146,0) 24%),
    radial-gradient(circle at 44% 78%, rgba(255,255,255,.08) 0 1px, transparent 2px) 0 0/145px 145px,
    radial-gradient(circle at 64% 18%, rgba(255,255,255,.06) 0 1px, transparent 2px) 28px 16px/180px 180px;
  animation:settlementMistDrift 18s ease-in-out infinite alternate;
}
.settlement-hero .hero-runes{
  animation:runeFloat 7.5s ease-in-out infinite;
  text-shadow:0 0 14px rgba(224,181,96,.16);
}
@keyframes settlementMistDrift{
  0%{transform:translate3d(-1.5%,0,0) scale(1); opacity:.56}
  50%{transform:translate3d(1%, -1%,0) scale(1.03); opacity:.78}
  100%{transform:translate3d(2%,1%,0) scale(1.06); opacity:.62}
}
@keyframes runeFloat{
  0%,100%{transform:translateY(0); opacity:.38}
  50%{transform:translateY(-4px); opacity:.55}
}

.button,
.nav-btn,
.quick-activity-btn,
.text-button,
.activity-card,
.inventory-card{
  transition:transform .18s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease, filter .22s ease;
}
.button,
.nav-btn,
.quick-activity-btn{position:relative;overflow:hidden}
.button::before,
.nav-btn::before,
.quick-activity-btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-130%;
  width:54%;
  height:100%;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.13), transparent);
  transition:left .5s ease;
}
.button:hover:not(:disabled),
.nav-btn:hover,
.quick-activity-btn:hover:not(:disabled){
  transform:translateY(-1px);
}
.button:hover:not(:disabled)::before,
.nav-btn:hover::before,
.quick-activity-btn:hover:not(:disabled)::before{left:135%}
.button.primary:hover:not(:disabled){
  box-shadow:0 8px 20px rgba(185,136,60,.18), 0 0 18px rgba(255,205,110,.09);
}
.button.ghost:hover:not(:disabled){
  background:linear-gradient(180deg,#151b18,#101513);
  box-shadow:0 10px 20px rgba(0,0,0,.16), inset 0 0 0 1px rgba(220,180,97,.06);
}
.text-button:hover{color:#f1d79c;text-shadow:0 0 14px rgba(229,183,87,.22)}
.nav-btn:hover,.nav-btn.active{
  box-shadow:inset 0 0 0 1px rgba(220,183,107,.08), 0 8px 18px rgba(0,0,0,.12);
}
.quick-activity-btn:hover:not(:disabled){
  box-shadow:0 12px 24px rgba(0,0,0,.18), 0 0 16px rgba(208,162,79,.08);
}
.activity-card:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 34px rgba(0,0,0,.22), 0 0 20px rgba(198,150,68,.08);
}

.reward-list{gap:9px}
.reward{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
}
.reward-icon{width:22px;height:22px;flex:0 0 22px}
.reward .item-ui-icon img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 0 4px rgba(225,183,92,.24)) drop-shadow(0 3px 5px rgba(0,0,0,.4));
}

.settlement-resource-strip{
  background:
    linear-gradient(90deg,rgba(22,28,24,.97),rgba(14,19,16,.97)),
    radial-gradient(circle at 12% 50%,rgba(211,175,98,.08),transparent 28%);
}
.settlement-resource-item{
  padding:6px 10px;
  border-radius:12px;
  background:rgba(10,14,12,.26);
  border:1px solid rgba(110,88,54,.28);
}
.settlement-resource-icon{width:36px;height:36px;flex:0 0 36px}
.settlement-resource-item strong{font-size:18px}

.current-activity-preview{
  position:relative;
  overflow:hidden;
}
.current-activity-preview::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg, rgba(255,255,255,.00) 0%, rgba(255,255,255,.06) 45%, rgba(255,255,255,.00) 70%);
  transform:translateX(-120%);
  animation:previewSweep 8s ease-in-out infinite;
}
@keyframes previewSweep{
  0%,55%{transform:translateX(-120%)}
  75%{transform:translateX(110%)}
  100%{transform:translateX(110%)}
}

.inventory-card{
  position:relative;
  overflow:hidden;
  min-height:124px;
}
.inventory-item-art{
  position:absolute;
  right:-6px;
  bottom:-8px;
  width:92px;
  height:92px;
  opacity:.17;
  pointer-events:none;
}
.inventory-art-icon,
.inventory-art-icon.item-ui-icon{width:100%;height:100%;display:block}
.inventory-art-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px rgba(231,186,93,.16))}
.inventory-item-top{position:relative;z-index:1}
.inventory-mini-icon{width:46px;height:46px;flex:0 0 46px}
.inventory-card:hover .inventory-item-art{opacity:.24}

@media(max-width:780px){
  .inventory-item-art{width:70px;height:70px;opacity:.13}
  .settlement-resource-icon{width:32px;height:32px;flex-basis:32px}
}


/* ===== v0.5.3 Admin Items / Tabs ===== */
.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.admin-tab{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #4f432f;border-radius:999px;background:rgba(18,22,19,.92);color:var(--text-dim);text-decoration:none;transition:all .18s ease}
.admin-tab:hover{color:var(--text);border-color:#a98751;box-shadow:0 8px 18px rgba(0,0,0,.14),0 0 14px rgba(201,155,79,.08)}
.admin-tab.active{color:var(--text);border-color:#b88b3f;background:linear-gradient(180deg,rgba(62,48,24,.48),rgba(22,26,23,.96));box-shadow:0 0 16px rgba(208,162,79,.10)}
.admin-grid-items{grid-template-columns:repeat(3,minmax(0,1fr))}
.item-admin-card .body{padding-top:16px}
.item-icon-stage{height:180px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center, rgba(201,156,78,.12), rgba(11,14,12,.96) 62%);border-bottom:1px solid #41372a;overflow:hidden}
.item-icon-stage img{max-width:132px;max-height:132px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(227,184,95,.24)) drop-shadow(0 6px 12px rgba(0,0,0,.48))}
.item-icon-stage-fallback{font-size:54px;color:#c7a061;opacity:.8}
@media(max-width:1100px){.admin-grid-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.admin-grid-items{grid-template-columns:1fr}}


/* ===== v0.5.4 Admin Quick Item Navigation ===== */
.admin-jump-panel{overflow:visible}
.admin-jump-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}
.admin-jump-head h3{margin-bottom:0}
.admin-jump-tools{display:grid;grid-template-columns:minmax(180px,260px) minmax(180px,260px);gap:10px}
.admin-item-nav{display:flex;gap:9px;flex-wrap:wrap;max-height:250px;overflow:auto;padding:2px 3px 7px}
.admin-item-nav-link{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #51442f;border-radius:999px;background:linear-gradient(180deg,#151a17,#101411);color:#d8c9aa;text-decoration:none;font-size:15px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.admin-item-nav-link:hover{transform:translateY(-1px);border-color:#a47d42;background:linear-gradient(180deg,#1b211d,#121713);box-shadow:0 8px 18px rgba(0,0,0,.16),0 0 13px rgba(212,164,79,.10)}
.admin-item-nav-link img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(224,181,91,.22))}
.admin-item-nav-fallback{width:30px;height:30px;display:grid;place-items:center;color:#d7b66e}
.item-admin-card{scroll-margin-top:105px}
.admin-card-focus{animation:adminCardFocus 1.75s ease}
@keyframes adminCardFocus{0%,100%{box-shadow:0 0 0 rgba(220,172,82,0)}20%{border-color:#c69a50;box-shadow:0 0 0 2px rgba(222,174,83,.20),0 0 30px rgba(211,160,71,.22)}}
.admin-search-match{border-color:#9f7942!important;box-shadow:0 0 18px rgba(200,151,67,.10)}
.admin-search-muted{opacity:.28;filter:saturate(.55)}
@media(max-width:850px){.admin-jump-head{align-items:stretch;flex-direction:column}.admin-jump-tools{grid-template-columns:1fr 1fr;width:100%}}
@media(max-width:560px){.admin-jump-tools{grid-template-columns:1fr}.admin-item-nav-link{width:calc(50% - 5px);border-radius:12px}}


/* ===== v0.5.5 Activity Admin Quick Navigation ===== */
.admin-activity-nav-link img{border-radius:7px;background:#0d110f}
.activity-admin-card{scroll-margin-top:24px}
.admin-activity-nav-link[hidden]{display:none!important}


/* ===== v0.5.6 Unified Admin Menu ===== */
.admin-topbar{
  min-height:96px;
  height:auto;
  padding-top:16px;
  padding-bottom:16px;
  border-bottom-color:#4a3e2c;
  background:linear-gradient(180deg,rgba(7,10,9,.97),rgba(10,13,11,.94));
}
.admin-brand h1{font-size:30px}
.admin-top-actions{margin-left:auto}
.admin-game-button{min-width:130px;text-align:center}

.admin-menu-shell{
  position:relative;
  z-index:4;
  border-bottom:1px solid rgba(94,77,52,.58);
  background:
    radial-gradient(circle at 18% 0%,rgba(206,164,84,.07),transparent 34%),
    linear-gradient(180deg,rgba(18,22,19,.98),rgba(13,17,15,.98));
  box-shadow:0 14px 32px rgba(0,0,0,.13);
}
.admin-menu-inner{
  max-width:1400px;
  margin:0 auto;
  padding:16px max(18px,3vw);
  display:grid;
  grid-template-columns:minmax(210px,.42fr) minmax(0,1.58fr);
  gap:20px;
  align-items:center;
}
.admin-menu-label .panel-kicker{margin-bottom:4px}
.admin-menu-label strong{font-size:17px;color:#e9dcc1;font-weight:700}
.admin-main-menu{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.admin-main-link{
  min-height:72px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid #514630;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(18,23,20,.98),rgba(12,16,14,.98));
  color:#d7ccb8;
  box-shadow:0 8px 20px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.02);
  transition:transform .18s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
}
.admin-main-link:hover{
  transform:translateY(-1px);
  border-color:#8d6c3d;
  color:#f0e4ca;
  box-shadow:0 12px 24px rgba(0,0,0,.17),0 0 15px rgba(202,155,75,.08);
}
.admin-main-link.active{
  border-color:#b38743;
  color:#fff0cd;
  background:
    radial-gradient(circle at 14% 50%,rgba(226,178,83,.10),transparent 26%),
    linear-gradient(180deg,rgba(45,36,21,.96),rgba(20,24,20,.98));
  box-shadow:0 12px 28px rgba(0,0,0,.19),0 0 18px rgba(211,165,80,.10),inset 0 0 0 1px rgba(234,195,115,.05);
}
.admin-main-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(172,132,64,.52);
  border-radius:10px;
  background:#0d1210;
  color:#d7ad63;
  font-size:20px;
  box-shadow:inset 0 0 14px rgba(213,167,79,.05);
}
.admin-main-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.admin-main-copy strong{font-size:16px;color:inherit}
.admin-main-copy small{font-size:13px;line-height:1.3;color:#988d79}
.admin-main-link.active .admin-main-copy small{color:#b9a98c}

.admin-page{padding-top:22px}
.breadcrumbs{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:18px;
  font-size:15px;
  color:#8f8575;
}
.breadcrumbs span{color:#6f6658}
.breadcrumbs strong{color:#cdbc98;font-weight:400}
.admin-header{
  margin-bottom:22px;
  padding:0 2px;
}
.admin-header h2{margin-bottom:10px}
.admin-header .lead{max-width:1050px;margin-bottom:0}

/* Legacy tabs are intentionally hidden if an older cached block appears. */
.admin-tabs{display:none!important}

@media(max-width:900px){
  .admin-menu-inner{grid-template-columns:1fr;gap:12px}
  .admin-main-menu{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .admin-topbar{align-items:flex-start;gap:14px}
  .admin-brand h1{font-size:25px}
  .admin-main-menu{grid-template-columns:1fr}
  .admin-main-link{min-height:64px}
  .admin-game-button{min-width:auto}
}


/* ===== v0.5.7 Ravenwake Branding ===== */
.brand-with-logo{gap:18px;align-items:center}
.brand-logo-link{display:block;line-height:0}
.brand-logo{display:block;width:min(34vw,360px);max-width:100%;height:auto;filter:drop-shadow(0 6px 20px rgba(0,0,0,.35)) drop-shadow(0 0 12px rgba(210,181,122,.10))}
.brand-copy h1{margin-top:4px;letter-spacing:.04em}
.admin-brand-logo{width:min(28vw,300px)}
.admin-brand .brand-copy h1{font-size:26px}
@media(max-width:980px){
  .brand-logo{width:min(46vw,280px)}
  .admin-brand-logo{width:min(42vw,250px)}
}
@media(max-width:680px){
  .brand-with-logo{gap:12px;align-items:flex-start}
  .brand-logo{width:min(72vw,260px)}
  .admin-brand-logo{width:min(70vw,240px)}
  .brand-copy h1{font-size:24px}
}

/* ===== v0.5.8 Exact Ravenwake Transparent Logo ===== */
.brand-logo{
  width:min(36vw,390px);
  max-height:82px;
  object-fit:contain;
}
.admin-brand-logo{
  width:min(30vw,320px);
  max-height:76px;
}
@media(max-width:980px){
  .brand-logo{width:min(52vw,310px);max-height:76px}
  .admin-brand-logo{width:min(48vw,280px);max-height:72px}
}
@media(max-width:680px){
  .brand-logo{width:min(78vw,285px);max-height:72px}
  .admin-brand-logo{width:min(75vw,265px);max-height:68px}
}


/* =========================================================
   Ravenwake v0.6.0 — Landing Page / Mobile UI Redesign
   ========================================================= */
html{scroll-behavior:smooth;scroll-padding-top:118px}
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  height:96px;
  transition:height .24s ease,background .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.topbar.is-scrolled{
  height:78px;
  background:rgba(7,10,9,.965);
  border-bottom-color:rgba(143,109,58,.58);
  box-shadow:0 14px 32px rgba(0,0,0,.22);
}
.topbar.is-scrolled .brand-logo{max-height:62px}
.rw-public-nav{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  margin-right:18px;
}
.rw-public-nav a{
  position:relative;
  padding:10px 12px;
  color:#aaa08f;
  font-size:15px;
  letter-spacing:.06em;
  transition:color .2s ease;
}
.rw-public-nav a::after{
  content:"";
  position:absolute;
  left:12px;right:12px;bottom:5px;
  height:1px;
  background:linear-gradient(90deg,transparent,#d7ae64,transparent);
  transform:scaleX(0);
  transition:transform .22s ease;
}
.rw-public-nav a:hover{color:#f0e3c7}
.rw-public-nav a:hover::after{transform:scaleX(1)}

.ravenwake-landing{gap:70px}
.rw-hero{
  --mx:0px;
  --my:0px;
  position:relative;
  min-height:min(760px,calc(100svh - 126px));
  border:1px solid rgba(117,91,51,.68);
  border-radius:18px;
  overflow:hidden;
  isolation:isolate;
  display:grid;
  place-items:center;
  background:#090d0b;
  box-shadow:0 34px 90px rgba(0,0,0,.38),0 0 0 1px rgba(219,176,91,.04) inset;
}
.rw-hero-bg{
  position:absolute;
  inset:-4%;
  z-index:-5;
  background:
    linear-gradient(90deg,rgba(3,6,5,.82) 0%,rgba(3,6,5,.34) 48%,rgba(3,6,5,.73) 100%),
    linear-gradient(180deg,rgba(3,6,5,.16),rgba(3,6,5,.82)),
    url('../images/settlement/frostfjord-hero.png') center/cover no-repeat;
  transform:translate3d(var(--mx),var(--my),0) scale(1.065);
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
  animation:rwHeroBreath 16s ease-in-out infinite alternate;
}
.rw-hero-vignette{
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 33%,rgba(205,164,83,.16),transparent 30%),
    radial-gradient(ellipse at center,transparent 35%,rgba(2,4,3,.45) 75%,rgba(2,4,3,.88) 100%);
}
.rw-fog{
  position:absolute;
  z-index:-2;
  pointer-events:none;
  inset:auto -20% -10%;
  height:48%;
  opacity:.42;
  filter:blur(24px);
  background:
    radial-gradient(ellipse at 20% 50%,rgba(185,198,187,.22),transparent 34%),
    radial-gradient(ellipse at 55% 65%,rgba(152,169,159,.18),transparent 38%),
    radial-gradient(ellipse at 85% 45%,rgba(182,194,184,.14),transparent 30%);
}
.rw-fog-one{animation:rwFogA 19s ease-in-out infinite alternate}
.rw-fog-two{bottom:18%;opacity:.20;transform:scale(.82);animation:rwFogB 27s ease-in-out infinite alternate}
.rw-embers{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.45;
  background:
    radial-gradient(circle,rgba(243,189,88,.72) 0 1px,transparent 1.7px) 10% 80%/190px 190px,
    radial-gradient(circle,rgba(236,174,70,.55) 0 1px,transparent 1.5px) 60% 95%/240px 240px,
    radial-gradient(circle,rgba(240,198,105,.42) 0 1px,transparent 1.7px) 85% 75%/280px 280px;
  animation:rwEmbers 12s linear infinite;
}
.rw-hero-inner{
  width:min(920px,calc(100% - 44px));
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:64px 0 44px;
  position:relative;
  z-index:2;
}
.rw-hero-logo{
  width:min(760px,88%);
  height:auto;
  max-height:300px;
  object-fit:contain;
  margin:8px auto 12px;
  filter:drop-shadow(0 22px 35px rgba(0,0,0,.58)) drop-shadow(0 0 22px rgba(206,160,77,.10));
}
.rw-hero-chapter{
  padding:8px 12px;
  border:1px solid rgba(173,135,72,.33);
  border-radius:999px;
  background:rgba(8,12,10,.55);
  backdrop-filter:blur(7px);
  color:#c9aa6e;
}
.rw-hero h2{
  max-width:820px;
  margin:0;
  font-size:clamp(28px,4.3vw,54px);
  line-height:1.05;
  text-wrap:balance;
  text-shadow:0 4px 28px rgba(0,0,0,.72);
}
.rw-hero p{
  max-width:710px;
  margin:20px auto 0;
  color:#c9c0af;
  line-height:1.75;
  font-size:clamp(15px,1.5vw,18px);
  text-shadow:0 2px 16px rgba(0,0,0,.72);
}
.rw-hero-actions{justify-content:center;margin-top:28px}
.rw-hero-actions .button{
  min-width:178px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
}
.rw-main-cta{
  position:relative;
  box-shadow:0 12px 28px rgba(123,85,34,.25),0 0 24px rgba(218,171,81,.08);
}
.rw-main-cta::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(241,206,137,.08),0 0 26px rgba(223,177,87,.12);
  animation:rwCtaPulse 3.8s ease-in-out infinite;
}
.rw-hero-badges{justify-content:center;margin-top:6px}
.rw-hero-badges span{
  background:rgba(7,11,9,.54);
  backdrop-filter:blur(7px);
  border-color:rgba(122,96,55,.55);
}
.rw-scroll-cue{
  margin-top:34px;
  color:#aaa08e;
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.rw-scroll-cue i{
  display:block;
  width:1px;height:34px;
  background:linear-gradient(#c69b55,transparent);
  animation:rwScrollCue 2s ease-in-out infinite;
}

.rw-build-rail{
  padding:16px 18px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:26px;
  align-items:center;
  border-radius:14px;
  background:
    radial-gradient(circle at 8% 50%,rgba(205,160,74,.09),transparent 27%),
    linear-gradient(90deg,rgba(18,23,20,.98),rgba(11,15,13,.98));
}
.rw-build-title{min-width:190px}
.rw-build-title strong{display:block;color:#ead9b6;font-size:18px}
.rw-build-points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rw-build-points span{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:9px 11px;
  border:1px solid rgba(91,73,48,.55);
  border-radius:9px;
  background:rgba(8,12,10,.35);
  color:#bfb39d;
  font-size:14px;
  line-height:1.35;
}

.rw-section{gap:24px}
.rw-section-heading{
  align-items:end;
  gap:30px;
}
.rw-section-heading h2{margin-bottom:0;text-wrap:balance}
.rw-section-lead{
  max-width:540px;
  margin:0 0 2px auto;
  color:#9e9587;
  line-height:1.65;
}

.rw-journey-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
}
.rw-journey-card{
  position:relative;
  min-height:410px;
  border:1px solid rgba(91,73,48,.76);
  border-radius:15px;
  overflow:hidden;
  isolation:isolate;
  background-image:var(--journey-image);
  background-position:center;
  background-size:cover;
  box-shadow:0 18px 38px rgba(0,0,0,.22);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.rw-journey-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:inherit;
  background-position:center;
  background-size:cover;
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.rw-journey-card:hover{
  transform:translateY(-5px);
  border-color:#9e7842;
  box-shadow:0 24px 46px rgba(0,0,0,.30),0 0 20px rgba(196,148,66,.09);
}
.rw-journey-card:hover::before{transform:scale(1.06)}
.rw-journey-shade{
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(4,6,5,.12),rgba(4,6,5,.58) 48%,rgba(5,8,6,.96) 90%);
}
.rw-journey-content{
  position:absolute;
  inset:auto 0 0;
  padding:24px 22px 22px;
}
.rw-journey-number{
  position:absolute;
  right:18px;
  bottom:18px;
  font-size:48px;
  color:rgba(222,183,107,.08);
  font-weight:700;
}
.rw-journey-card .feature-icon{
  width:44px;height:44px;
  margin:0 0 13px;
  border-radius:50%;
  background:rgba(8,12,10,.66);
  backdrop-filter:blur(5px);
}
.rw-journey-card h3{font-size:25px;margin-bottom:8px}
.rw-journey-card p{margin:0;color:#b8ae9d;line-height:1.6}

.rw-showcase-track{
  display:grid;
  grid-template-columns:repeat(7,minmax(170px,1fr));
  gap:12px;
  overflow-x:auto;
  padding:2px 2px 12px;
  scrollbar-width:thin;
  scrollbar-color:#72562f #111512;
  scroll-snap-type:x proximity;
}
.rw-showcase-card{
  position:relative;
  min-height:270px;
  border:1px solid #4c402e;
  border-radius:13px;
  background-position:center;
  background-size:cover;
  overflow:hidden;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:18px 16px;
  box-shadow:0 14px 30px rgba(0,0,0,.20);
  transition:transform .3s ease,border-color .3s ease,filter .3s ease;
}
.rw-showcase-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(180deg,rgba(4,6,5,.04),rgba(4,6,5,.84) 82%);
}
.rw-showcase-card span,.rw-showcase-card small{position:relative;z-index:1}
.rw-showcase-card span{font-size:20px;color:#f0e1c0;font-weight:700}
.rw-showcase-card small{margin-top:3px;color:#a99e89}
.rw-showcase-card:hover{transform:translateY(-4px);border-color:#9c763f;filter:brightness(1.07)}

.rw-world-hero{
  min-height:430px;
  display:flex;
  align-items:flex-end;
  padding:34px;
  border-radius:16px;
  background:
    linear-gradient(90deg,rgba(4,7,6,.94) 0%,rgba(5,8,7,.63) 46%,rgba(5,8,7,.17) 100%),
    linear-gradient(180deg,transparent 38%,rgba(5,8,7,.82)),
    url('../images/settlement/frostfjord-hero.png') center/cover no-repeat;
}
.rw-world-copy{max-width:650px;position:relative;z-index:2}
.rw-world-copy h3{font-size:clamp(28px,3.3vw,44px);margin-bottom:12px}
.rw-world-copy p{max-width:610px;color:#b8ae9e;line-height:1.7}
.rw-world-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.rw-world-pills span{
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(143,108,58,.62);
  background:rgba(7,11,9,.58);
  backdrop-filter:blur(6px);
  color:#dbc79e;
  font-size:14px;
}
.rw-world-grid .world-card{
  border-radius:14px;
  transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease;
}
.rw-world-grid .world-card:hover{
  transform:translateY(-4px);
  border-color:#8e6c3d;
  box-shadow:0 22px 42px rgba(0,0,0,.24),0 0 16px rgba(201,154,70,.07);
}
.rw-world-grid .world-card-image{
  height:220px;
  transition:transform .5s ease,filter .4s ease;
}
.rw-world-grid .world-card:hover .world-card-image{filter:brightness(1.06)}

.rw-auth-section{
  position:relative;
  padding:28px;
  border:1px solid rgba(81,66,45,.64);
  border-radius:18px;
  background:
    radial-gradient(circle at 85% 15%,rgba(201,155,72,.08),transparent 26%),
    linear-gradient(180deg,rgba(15,20,17,.82),rgba(9,13,11,.86));
}
.rw-auth-panels .panel{border-radius:14px}
.rw-auth-panels .auth-card input{
  min-height:48px;
  border-radius:8px;
  font-size:16px; /* prevents iOS zoom */
}
.rw-auth-panels .auth-card .button{min-height:48px;border-radius:8px}

.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);
}
.reveal.is-visible{opacity:1;transform:none}

@keyframes rwHeroBreath{
  0%{filter:brightness(.95) saturate(.92)}
  100%{filter:brightness(1.04) saturate(1.03)}
}
@keyframes rwFogA{
  from{transform:translate3d(-5%,0,0) scale(1)}
  to{transform:translate3d(7%,-5%,0) scale(1.08)}
}
@keyframes rwFogB{
  from{transform:translate3d(7%,0,0) scale(.84)}
  to{transform:translate3d(-5%,4%,0) scale(.94)}
}
@keyframes rwEmbers{
  from{transform:translateY(5%)}
  to{transform:translateY(-8%)}
}
@keyframes rwCtaPulse{
  0%,100%{opacity:.28}
  50%{opacity:.72}
}
@keyframes rwScrollCue{
  0%,100%{transform:scaleY(.55);transform-origin:top;opacity:.45}
  50%{transform:scaleY(1);opacity:1}
}

/* Tablet */
@media(max-width:1180px){
  .rw-public-nav{display:none}
  .rw-build-points{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rw-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rw-journey-card{min-height:350px}
  .rw-showcase-track{grid-template-columns:repeat(7,minmax(210px,1fr))}
  .rw-section-heading{align-items:flex-start;flex-direction:column}
  .rw-section-lead{margin:0;max-width:720px}
}

/* Phone / small tablet */
@media(max-width:780px){
  html{scroll-padding-top:92px}
  .topbar,.topbar.is-scrolled{
    height:auto;
    min-height:78px;
    padding:10px 14px;
    flex-direction:row;
    align-items:center;
    gap:10px;
  }
  .topbar .brand-copy{display:none}
  .topbar .brand-logo{
    width:188px!important;
    max-height:58px!important;
  }
  .topbar-actions{
    margin-left:auto;
    gap:6px;
    flex-wrap:nowrap;
  }
  .topbar-actions .button{
    padding:8px 10px;
    min-height:38px;
    white-space:nowrap;
  }
  #topLoginLink{display:none}
  .language-switch{flex-shrink:0}
  .lang-btn{min-width:34px;padding:6px 7px}

  main{padding:12px 12px 42px}
  .ravenwake-landing{gap:42px}
  .rw-hero{
    min-height:calc(100svh - 102px);
    border-radius:14px;
  }
  .rw-hero-inner{
    width:calc(100% - 28px);
    padding:42px 0 28px;
  }
  .rw-hero-logo{width:96%;margin-bottom:6px}
  .rw-hero-chapter{
    max-width:95%;
    font-size:11px;
    letter-spacing:.13em;
    line-height:1.5;
  }
  .rw-hero h2{
    font-size:clamp(27px,8.5vw,39px);
    line-height:1.08;
  }
  .rw-hero p{
    font-size:15px;
    line-height:1.65;
    margin-top:16px;
  }
  .rw-hero-actions{
    width:100%;
    flex-direction:column;
    gap:9px;
    margin:22px 0 14px;
  }
  .rw-hero-actions .button{width:100%;min-height:49px}
  .rw-hero-badges{
    width:100%;
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .rw-hero-badges span{
    padding:7px 8px;
    font-size:12px;
    text-align:center;
  }
  .rw-scroll-cue{display:none}

  .rw-build-rail{
    grid-template-columns:1fr;
    gap:12px;
    padding:15px;
  }
  .rw-build-title{min-width:0}
  .rw-build-points{grid-template-columns:1fr 1fr}
  .rw-build-points span{min-height:44px;font-size:13px}

  .rw-section-heading h2{font-size:clamp(28px,8vw,38px)}
  .rw-journey-grid{grid-template-columns:1fr}
  .rw-journey-card{min-height:325px}
  .rw-journey-content{padding:20px 18px}
  .rw-showcase-track{
    display:flex;
    gap:10px;
    margin-left:-12px;
    margin-right:-12px;
    padding-left:12px;
    padding-right:12px;
  }
  .rw-showcase-card{
    flex:0 0 72vw;
    min-height:255px;
  }

  .rw-world-hero{
    min-height:390px;
    padding:22px 18px;
    background-position:62% center;
  }
  .rw-world-copy h3{font-size:30px}
  .rw-world-pills{gap:7px}
  .rw-world-pills span{font-size:13px;padding:7px 9px}
  .rw-world-grid .world-card-image{height:200px}

  .rw-auth-section{
    padding:18px 12px;
    border-radius:14px;
  }
  .rw-auth-panels{grid-template-columns:1fr}
  .auth-side-note{grid-column:auto}
  .register-highlight:before{top:12px;right:12px}
}

/* Narrow phones */
@media(max-width:480px){
  .topbar .brand-logo{width:150px!important}
  .topbar-actions .button{padding:7px 8px;font-size:14px}
  #topPlayLink{font-size:0}
  #topPlayLink::after{content:"Play";font-size:14px}
  .rw-hero-badges{grid-template-columns:1fr}
  .rw-build-points{grid-template-columns:1fr}
  .rw-showcase-card{flex-basis:82vw}
  .rw-world-hero{min-height:420px}
  .status-strip{grid-template-columns:1fr 1fr}
  .status-strip strong{font-size:14px}
  .sidebar .nav{padding-bottom:3px}
  .nav-btn{padding:10px 9px}
  .settlement-resource-item{min-width:0}
}

/* Reduced motion / accessibility */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1!important;transform:none!important}
  .rw-hero-bg{transform:none!important}
}


/* =========================================================
   Ravenwake v0.6.1 — Mobile Navigation & Performance Polish
   ========================================================= */
.rw-mobile-menu-button{
  display:none;
  width:44px;
  height:44px;
  flex:0 0 44px;
  padding:10px;
  border:1px solid rgba(151,116,62,.62);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(22,27,23,.98),rgba(10,14,12,.98));
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.rw-mobile-menu-button span{
  display:block;
  width:20px;
  height:2px;
  border-radius:99px;
  background:#dfc386;
  transition:transform .22s ease,opacity .2s ease;
}
.rw-mobile-menu-button[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.rw-mobile-menu-button[aria-expanded="true"] span:nth-child(2){opacity:0}
.rw-mobile-menu-button[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.rw-mobile-menu-backdrop{
  position:fixed;
  inset:0;
  z-index:79;
  opacity:0;
  background:rgba(2,5,4,.72);
  backdrop-filter:blur(4px);
  transition:opacity .22s ease;
}
.rw-mobile-menu-backdrop.is-open{opacity:1}
.rw-mobile-menu{
  position:fixed;
  z-index:80;
  top:0;
  right:0;
  width:min(88vw,390px);
  height:100dvh;
  padding:18px 18px max(22px,env(safe-area-inset-bottom));
  overflow-y:auto;
  overscroll-behavior:contain;
  transform:translate3d(104%,0,0);
  transition:transform .28s cubic-bezier(.2,.75,.2,1);
  background:
    radial-gradient(circle at 75% 10%,rgba(209,164,78,.10),transparent 25%),
    linear-gradient(180deg,#121714,#090d0b 75%);
  border-left:1px solid rgba(135,104,57,.62);
  box-shadow:-28px 0 60px rgba(0,0,0,.42);
}
.rw-mobile-menu.is-open{transform:translate3d(0,0,0)}
body.rw-mobile-menu-open{overflow:hidden;touch-action:none}
.rw-mobile-menu-head{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:15px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(84,68,46,.58);
}
.rw-mobile-menu-head img{width:min(240px,72%);max-height:72px;object-fit:contain}
.rw-mobile-menu-close{
  width:42px;height:42px;flex:0 0 42px;
  border:1px solid rgba(124,94,51,.58);
  border-radius:10px;
  background:#0d1210;
  color:#dbc18a;
  font-size:28px;
  line-height:1;
}
.rw-mobile-menu-nav{display:grid;gap:9px;margin:12px 0 22px}
.rw-mobile-menu-nav a{
  min-height:73px;
  display:grid;
  grid-template-columns:34px 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  padding:12px 13px;
  border:1px solid rgba(91,73,48,.62);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(19,24,21,.98),rgba(12,16,14,.98));
}
.rw-mobile-menu-nav a>span{
  grid-row:1/3;
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(169,130,65,.50);
  color:#c9a65f;
  font-size:12px;
}
.rw-mobile-menu-nav strong{font-size:17px;color:#eee0c1;align-self:end}
.rw-mobile-menu-nav small{font-size:13px;color:#8f8676;align-self:start;margin-top:2px}
.rw-mobile-menu-language{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 18px;
  padding:12px 0;
  border-top:1px solid rgba(80,65,43,.52);
  border-bottom:1px solid rgba(80,65,43,.52);
  color:#b7ab96;
}
.rw-mobile-menu-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:9px}
.rw-mobile-menu-actions .button{min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:9px}

@media(max-width:900px){
  .rw-mobile-menu-button{display:flex;margin-left:auto}
  .rw-public-nav{display:none!important}
}

@media(max-width:780px){
  /* A true mobile header: logo + one menu control. Desktop actions live in the drawer. */
  body:not(.rw-game-only) .topbar{
    min-height:68px!important;
    padding:7px 10px!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
    box-shadow:0 8px 22px rgba(0,0,0,.20);
  }
  #authPanel:not([hidden]) ~ *{} /* specificity helper, no visual effect */
  .topbar .brand{min-width:0;flex:1}
  .topbar .brand-logo{
    width:154px!important;
    max-width:46vw!important;
    max-height:52px!important;
  }
  .topbar .topbar-actions .language-switch,
  .topbar #topLoginLink,
  .topbar #topPlayLink{
    display:none!important;
  }
  .topbar .topbar-actions:has(#adminLink[hidden]):has(#logoutBtn[hidden]){display:none}
  .topbar-actions{gap:5px!important;flex-wrap:nowrap!important}
  .topbar #adminLink,.topbar #logoutBtn{min-height:38px;padding:7px 9px;font-size:14px}

  /* Less GPU-heavy effects on phones, but atmosphere is preserved. */
  .ambient{animation:none;opacity:.58}
  .rw-hero-bg{
    inset:0;
    transform:none!important;
    animation:none!important;
    background-position:58% center;
  }
  .rw-fog-two{display:none}
  .rw-fog-one{
    height:34%;
    opacity:.22;
    filter:blur(16px);
    animation:rwFogMobile 15s ease-in-out infinite alternate;
  }
  .rw-embers{
    opacity:.20;
    animation:none;
    background-size:240px 240px,310px 310px,360px 360px;
  }
  .rw-hero-vignette{
    background:
      radial-gradient(circle at 50% 30%,rgba(205,164,83,.10),transparent 26%),
      linear-gradient(180deg,rgba(3,6,5,.12),rgba(2,4,3,.38) 50%,rgba(2,4,3,.88));
  }
  .rw-main-cta::after{animation:none;opacity:.42}
  .reveal{
    transform:translateY(9px);
    transition-duration:.42s;
  }

  /* Touch-first spacing / interaction. */
  .button,.lang-btn,.rw-showcase-card,.rw-mobile-menu-nav a{-webkit-tap-highlight-color:transparent}
  .button:active,.rw-showcase-card:active,.rw-mobile-menu-nav a:active{transform:scale(.985)}
  .rw-journey-card:hover,.rw-showcase-card:hover,.rw-world-grid .world-card:hover,.activity-card:hover{transform:none}
  .rw-showcase-track{
    scroll-snap-type:x mandatory;
    scroll-padding-inline:12px;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  .rw-showcase-card{scroll-snap-align:center}

  /* Avoid giant visual effects and horizontal overflow. */
  .rw-hero,.rw-world-hero,.rw-auth-section,.rw-journey-card{box-shadow:0 14px 34px rgba(0,0,0,.25)}
  .rw-hero{min-height:auto;padding-bottom:2px}
  .rw-hero-inner{min-height:calc(100svh - 94px);justify-content:center}
  .rw-hero-logo{max-height:200px}
  .rw-hero h2 br{display:none}
  .rw-hero p{max-width:34rem}
  .rw-build-rail,.rw-auth-section{overflow:clip}
  .rw-section{content-visibility:auto;contain-intrinsic-size:700px}
}

@media(max-width:480px){
  .rw-mobile-menu{width:92vw;padding-left:14px;padding-right:14px}
  .rw-mobile-menu-head img{width:210px}
  .rw-mobile-menu-actions{grid-template-columns:1fr}
  .rw-mobile-menu-nav a{min-height:69px}
  .rw-hero-inner{width:calc(100% - 22px);padding-top:30px}
  .rw-hero-logo{width:100%;max-height:170px}
  .rw-hero-chapter{font-size:11px}
  .rw-hero h2{font-size:clamp(25px,7.8vw,34px)}
  .rw-hero-badges span{min-height:36px;display:flex;align-items:center;justify-content:center}
  .rw-showcase-card{flex-basis:84vw}
}

@keyframes rwFogMobile{
  from{transform:translate3d(-3%,0,0);opacity:.16}
  to{transform:translate3d(4%,-2%,0);opacity:.25}
}

@media(prefers-reduced-motion:reduce){
  .rw-mobile-menu,.rw-mobile-menu-backdrop{transition:none!important}
}

@media(max-width:780px){.rw-public-topbar .topbar-actions{display:none!important}.rw-game-topbar .topbar-actions{display:flex!important}}


/* =========================================================
   Ravenwake v0.6.2 — Mobile Game UI Polish
   ========================================================= */

/* Avoid accidental sideways scrolling from wide UI elements. */
html,body{max-width:100%;overflow-x:hidden}

@media(max-width:780px){
  /* -------------------------------------------------------
     Logged-in header
     ------------------------------------------------------- */
  .rw-game-topbar{
    position:sticky;
    top:0;
    z-index:70;
    min-height:64px!important;
    height:64px!important;
    padding:
      max(7px,env(safe-area-inset-top))
      9px
      7px!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:7px!important;
    background:rgba(6,10,8,.97)!important;
    border-bottom:1px solid rgba(117,90,49,.58)!important;
    box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
    backdrop-filter:blur(9px);
  }
  .rw-game-topbar .brand{
    min-width:0;
    flex:1 1 auto;
  }
  .rw-game-topbar .brand-copy{display:none!important}
  .rw-game-topbar .brand-logo{
    width:118px!important;
    max-width:32vw!important;
    max-height:50px!important;
    object-fit:contain;
  }
  .rw-game-topbar .topbar-actions{
    display:flex!important;
    margin-left:auto;
    gap:5px!important;
    flex:0 0 auto;
  }
  .rw-game-topbar .language-switch{display:none!important}
  .rw-game-topbar #adminLink,
  .rw-game-topbar #logoutBtn{
    min-height:34px!important;
    padding:6px 8px!important;
    border-radius:7px!important;
    font-size:12px!important;
    line-height:1!important;
  }

  /* -------------------------------------------------------
     Turn the old sidebar navigation into a native-like
     bottom game navigation.
     ------------------------------------------------------- */
  #gamePanel{
    padding-bottom:calc(74px + env(safe-area-inset-bottom));
  }
  #gameShell.game-shell{
    display:block!important;
    width:100%;
  }
  #gameShell .sidebar{
    min-height:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:visible!important;
  }
  #gameShell .character-mini{display:none!important}
  #gameShell .sidebar .nav{
    position:fixed;
    z-index:68;
    left:0;
    right:0;
    bottom:0;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    width:100%;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));
    overflow:visible!important;
    background:
      radial-gradient(circle at 50% 0%,rgba(197,151,69,.07),transparent 35%),
      rgba(6,10,8,.975);
    border-top:1px solid rgba(125,96,52,.66);
    box-shadow:0 -12px 32px rgba(0,0,0,.35);
    backdrop-filter:blur(10px);
  }
  #gameShell .sidebar .nav-btn{
    min-width:0!important;
    min-height:52px;
    padding:6px 2px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:24px auto!important;
    place-items:center;
    gap:1px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#918776!important;
    font-size:19px!important;
    line-height:1!important;
    box-shadow:none!important;
    overflow:hidden;
  }
  #gameShell .sidebar .nav-btn span{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px!important;
    line-height:1.15!important;
    letter-spacing:.02em;
    color:inherit;
  }
  #gameShell .sidebar .nav-btn.active{
    color:#e5c37e!important;
    border-color:rgba(167,126,61,.48)!important;
    background:
      radial-gradient(circle at 50% 15%,rgba(223,178,87,.11),transparent 48%),
      rgba(20,25,21,.92)!important;
    box-shadow:inset 0 0 0 1px rgba(235,197,119,.035)!important;
  }
  #gameShell .sidebar .nav-btn:active{
    transform:scale(.965);
  }
  /* Future/disabled areas do not compete for the four main mobile slots. */
  #gameShell .sidebar .nav-btn.disabled{display:none!important}

  /* -------------------------------------------------------
     Main layout
     ------------------------------------------------------- */
  main{
    padding:10px 8px calc(28px + env(safe-area-inset-bottom))!important;
  }
  #gameShell .content{
    width:100%;
    min-width:0;
  }

  /* Status cards rather than a compressed table */
  .status-strip{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    margin-bottom:10px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .status-strip div{
    min-width:0;
    padding:9px 10px!important;
    border:1px solid rgba(81,66,44,.72)!important;
    border-radius:8px;
    background:
      linear-gradient(180deg,rgba(16,21,18,.96),rgba(10,14,12,.98));
  }
  .status-strip span{
    font-size:11px!important;
    letter-spacing:.12em!important;
  }
  .status-strip strong{
    margin-top:4px!important;
    font-size:15px!important;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  /* -------------------------------------------------------
     Settlement
     ------------------------------------------------------- */
  .settlement-hero{
    min-height:190px!important;
    padding:18px 15px!important;
    border-radius:11px!important;
    background-position:62% center!important;
    box-shadow:0 12px 28px rgba(0,0,0,.24)!important;
  }
  .settlement-hero::before{
    animation:none!important;
    opacity:.24!important;
  }
  .settlement-hero .hero-runes{
    display:none!important;
  }
  .settlement-hero .chapter{
    font-size:11px!important;
    letter-spacing:.15em!important;
  }
  .settlement-hero h2{
    max-width:92%;
    margin-bottom:8px!important;
    font-size:clamp(23px,6.5vw,30px)!important;
    line-height:1.05!important;
  }
  .settlement-hero p{
    max-width:94%!important;
    margin-bottom:0!important;
    font-size:14px!important;
    line-height:1.55!important;
  }

  /* Supplies become a swipeable resource rail */
  .settlement-resource-strip{
    margin-top:9px!important;
    padding:12px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    border-radius:11px!important;
  }
  .settlement-resource-title{min-width:0!important}
  .settlement-resource-title .panel-kicker{margin-bottom:2px!important}
  .settlement-resource-title strong{font-size:15px!important}
  .settlement-resource-list{
    width:100%;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    overflow-x:auto;
    padding:2px 1px 6px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .settlement-resource-list::-webkit-scrollbar{display:none}
  .settlement-resource-item{
    flex:0 0 auto;
    min-width:106px!important;
    min-height:52px;
    padding:7px 9px!important;
    gap:7px!important;
    border-radius:9px!important;
    scroll-snap-align:start;
  }
  .settlement-resource-icon{
    width:33px!important;
    height:33px!important;
    flex:0 0 33px!important;
  }
  .settlement-resource-item span{font-size:11px!important}
  .settlement-resource-item strong{font-size:15px!important}
  #inventoryJumpBtn{
    justify-self:start;
    min-height:35px;
    padding:5px 2px;
    font-size:15px;
  }

  /* -------------------------------------------------------
     Current activity
     ------------------------------------------------------- */
  .current-activity{
    margin-top:10px!important;
    padding:14px!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    border-radius:11px!important;
    box-shadow:0 14px 30px rgba(0,0,0,.22)!important;
  }
  .current-activity-text h3{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    font-size:20px!important;
    line-height:1.15;
    margin-bottom:7px!important;
  }
  .current-title-icon{
    width:30px!important;
    height:30px!important;
  }
  .current-activity-text p{
    font-size:14px!important;
    line-height:1.5!important;
  }
  .progress-shell{
    margin-top:12px!important;
    padding:12px!important;
    border-radius:9px!important;
  }
  .progress-meta{
    align-items:flex-end!important;
  }
  .progress-meta span,
  .progress-subline span{
    font-size:12px!important;
    line-height:1.35!important;
  }
  .progress-meta strong{font-size:18px!important}
  .activity-progress-bar{
    height:12px!important;
    margin:8px 0 7px!important;
  }
  .activity-progress-bar span::after{
    display:none!important;
    animation:none!important;
  }
  .current-reward-block{margin-top:12px!important}
  .current-reward-list{
    gap:6px!important;
    flex-wrap:nowrap!important;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:none;
  }
  .current-reward-list::-webkit-scrollbar{display:none}
  .current-reward-item{
    flex:0 0 auto;
    padding:6px 8px!important;
    font-size:12px!important;
  }
  .current-reward-icon{
    width:23px!important;
    height:23px!important;
    flex:0 0 23px!important;
  }
  .current-activity-side{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:9px!important;
  }
  .current-activity-preview{
    min-height:150px!important;
    border-radius:9px!important;
  }
  .current-activity-preview::before{
    display:none!important;
    animation:none!important;
  }
  .activity-actions{gap:7px!important}
  .tick-timer{
    min-height:40px!important;
    font-size:14px;
  }
  .activity-action-buttons{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  .activity-action-buttons .button{
    min-height:42px!important;
    padding:9px 8px!important;
    font-size:14px;
  }

  /* -------------------------------------------------------
     Other game panels
     ------------------------------------------------------- */
  .section-heading{
    gap:10px!important;
    margin-top:22px;
  }
  .section-heading h2,
  .section-heading h3{
    font-size:22px!important;
  }
  .quick-activities{padding:13px!important;border-radius:11px!important}
  .quick-activities-head p{font-size:14px;line-height:1.5}
  .quick-activity-row{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .quick-activity-btn{
    min-width:0!important;
    padding:8px!important;
    border-radius:10px!important;
  }
  .quick-icon{
    width:36px!important;
    height:36px!important;
    flex:0 0 36px!important;
  }
  .quick-copy strong{font-size:14px!important}
  .quick-copy small{font-size:11px!important}

  .activity-grid,
  .skill-grid,
  .inventory-grid{
    grid-template-columns:1fr!important;
  }
  .activity-card{
    border-radius:11px!important;
    overflow:hidden;
  }
  .activity-banner{height:165px!important}
  .activity-body{padding:14px!important}
  .activity-body h3{font-size:21px!important}
  .activity-body p{font-size:14px!important;line-height:1.5}
  .activity-meta{gap:5px!important}
  .activity-meta span,.reward{font-size:11px!important}
  .activity-card .button{min-height:42px}

  .skill-card{padding:13px!important;border-radius:10px!important}
  .inventory-card{
    min-height:96px!important;
    padding:12px!important;
    border-radius:10px!important;
  }
  .inventory-mini-icon{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }
  .inventory-item-name{font-size:17px!important}
  .inventory-item-code{font-size:11px!important}
  .inventory-qty{
    min-width:48px!important;
    padding:8px 9px!important;
    font-size:18px!important;
  }

  /* -------------------------------------------------------
     Performance: keep atmosphere, remove expensive looping
     effects inside the actual game on phones.
     ------------------------------------------------------- */
  #gamePanel .ambient,
  #gamePanel .settlement-hero::before,
  #gamePanel .activity-progress-bar span::after,
  #gamePanel .current-activity-preview::before{
    animation:none!important;
  }
  #gamePanel .activity-ui-icon img,
  #gamePanel .item-ui-icon img{
    transition:transform .12s ease!important;
  }
}

/* Very narrow phones */
@media(max-width:390px){
  .rw-game-topbar .brand-logo{
    width:102px!important;
    max-width:29vw!important;
  }
  .rw-game-topbar #adminLink,
  .rw-game-topbar #logoutBtn{
    padding:6px 6px!important;
    font-size:11px!important;
  }
  #gameShell .sidebar .nav{
    padding-left:5px;
    padding-right:5px;
    gap:3px;
  }
  #gameShell .sidebar .nav-btn span{font-size:11px!important}
  .quick-activity-row{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  #gameShell .sidebar .nav-btn:active{transform:none}
}


/* =========================================================
   Ravenwake v0.7.0 — Settlement Core
   ========================================================= */
.settlement-core{
  margin-top:14px;
  padding:18px;
  border-radius:13px;
  background:
    radial-gradient(circle at 12% 20%,rgba(206,164,80,.075),transparent 30%),
    linear-gradient(180deg,rgba(21,27,23,.98),rgba(12,17,14,.98));
}
.settlement-core-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:15px;
}
.settlement-core-head h3{margin:0;font-size:24px}
.settlement-population{
  min-width:160px;
  padding:9px 12px;
  border:1px solid rgba(110,88,54,.55);
  border-radius:10px;
  background:rgba(7,11,9,.44);
  text-align:right;
}
.settlement-population span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#8e8372}
.settlement-population strong{display:block;margin-top:3px;font-size:20px;color:#ecd193}

.settlement-vitals{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.settlement-vital{
  padding:12px;
  border:1px solid rgba(91,74,48,.54);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(9,14,11,.64),rgba(7,11,9,.72));
}
.settlement-vital-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.settlement-vital-head span{font-size:14px;color:#d6c5a4}
.settlement-vital-head strong{font-size:15px;color:#e9c77e}
.settlement-vital-bar{
  height:8px;
  margin:8px 0 7px;
  border-radius:999px;
  overflow:hidden;
  background:#080c0a;
  box-shadow:inset 0 1px 5px rgba(0,0,0,.7),0 0 0 1px rgba(158,125,69,.14);
}
.settlement-vital-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#5f7a68,#a08c59,#d4ae62);
  box-shadow:0 0 9px rgba(208,169,89,.25);
  transition:width .4s ease;
}
.settlement-vital small{display:block;min-height:30px;color:#887f70;line-height:1.35;font-size:12px}

.settlement-buildings-section{margin-top:24px}
.settlement-section-lead{max-width:520px;margin:0;color:#978d7d;line-height:1.55;font-size:15px}
.settlement-building-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.settlement-building-card{
  padding:0!important;
  border-radius:13px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.settlement-building-card:hover{
  transform:translateY(-3px);
  border-color:#88673b;
  box-shadow:0 18px 38px rgba(0,0,0,.24),0 0 17px rgba(197,151,71,.07);
}
.settlement-building-image{
  position:relative;
  height:155px;
  background-size:cover;
  background-position:center;
}
.settlement-building-shade{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(3,5,4,.05),rgba(3,5,4,.72));
}
.settlement-building-icon{
  position:absolute;left:12px;bottom:10px;
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid rgba(188,145,68,.58);
  border-radius:10px;
  background:rgba(6,10,8,.72);
  color:#e2bd73;
  font-size:19px;
  backdrop-filter:blur(5px);
}
.settlement-building-level{
  position:absolute;right:10px;bottom:11px;
  padding:6px 9px;
  border:1px solid rgba(182,139,66,.52);
  border-radius:999px;
  background:rgba(6,10,8,.72);
  color:#dcc28d;
  font-size:12px;
  backdrop-filter:blur(5px);
}
.settlement-building-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:14px;
}
.settlement-building-body h4{margin:0 0 7px;font-size:20px;color:#eadabe}
.settlement-building-body p{margin:0 0 13px;color:#a79d8c;font-size:14px;line-height:1.5}
.building-effect{
  padding:8px 9px;
  margin-bottom:10px;
  border:1px solid rgba(83,69,47,.5);
  border-radius:8px;
  background:rgba(8,12,10,.42);
}
.building-effect span,.building-cost-label{display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:#7f7667}
.building-effect strong{font-size:12px;color:#cdb98f;line-height:1.4}
.building-cost-wrap{margin-bottom:12px}
.building-cost-list{display:flex;gap:5px;flex-wrap:wrap}
.building-cost{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 7px;
  border:1px solid rgba(87,72,49,.55);
  border-radius:999px;
  background:rgba(8,12,10,.46);
  font-size:11px;
}
.building-cost b{font-weight:400;color:#b8aa91}
.building-cost strong{color:#d5bd87}
.building-cost.missing{border-color:rgba(135,69,57,.62)}
.building-cost.missing strong{color:#cf8d82}
.building-cost.enough{border-color:rgba(84,116,85,.52)}
.building-cost-icon{width:20px;height:20px;flex:0 0 20px}
.building-max-note{
  margin-bottom:12px;
  padding:9px;
  border-radius:8px;
  border:1px solid rgba(175,135,68,.48);
  background:rgba(91,67,31,.16);
  color:#d3b77e;
  font-size:13px;
  text-align:center;
}
.settlement-building-body .upgrade-building{width:100%;margin-top:auto;min-height:41px}

@media(max-width:1200px){
  .settlement-vitals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settlement-building-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  .settlement-core{padding:13px;margin-top:9px}
  .settlement-core-head{align-items:flex-start;gap:10px}
  .settlement-core-head h3{font-size:19px}
  .settlement-population{min-width:112px;padding:7px 8px}
  .settlement-population strong{font-size:16px}
  .settlement-vitals{grid-template-columns:1fr 1fr;gap:7px}
  .settlement-vital{padding:9px}
  .settlement-vital small{min-height:0;font-size:11px}
  .settlement-building-grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    margin-left:-8px;
    margin-right:-8px;
    padding:2px 8px 9px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .settlement-building-grid::-webkit-scrollbar{display:none}
  .settlement-building-card{
    flex:0 0 min(82vw,330px);
    scroll-snap-align:start;
  }
  .settlement-building-card:hover{transform:none}
  .settlement-building-image{height:145px}
  .settlement-building-body h4{font-size:19px}
}
@media(max-width:420px){
  .settlement-vitals{grid-template-columns:1fr}
  .settlement-population{min-width:105px}
}

/* v0.7.0 Admin Settlement */
.admin-main-menu{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-level-editor{
  margin-top:12px;
  border:1px solid rgba(83,68,46,.6);
  border-radius:9px;
  background:rgba(8,12,10,.34);
  overflow:hidden;
}
.admin-level-editor summary{
  cursor:pointer;
  padding:10px 12px;
  color:#d6c29a;
  font-weight:700;
}
.admin-level-editor[open] summary{border-bottom:1px solid rgba(83,68,46,.45)}
.admin-level-editor > .form-grid{padding:12px}
.admin-level-editor .reward-row{grid-template-columns:minmax(0,1fr) 130px}
@media(max-width:1100px){.admin-main-menu{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.admin-main-menu{grid-template-columns:1fr}}


/* =========================================================
   Ravenwake v0.7.1 — Uploaded icon polish
   ========================================================= */
.settlement-ui-icon{
  display:grid;
  place-items:center;
}
.settlement-ui-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(220,177,94,.18));
}
.settlement-ui-icon--fallback{
  font-size:19px;
}

.admin-badge-icon{
  width:18px;
  height:18px;
  object-fit:contain;
  vertical-align:middle;
  margin-right:6px;
  filter:drop-shadow(0 0 8px rgba(233,191,103,.18));
}
.admin-badge-fallback{
  display:inline-block;
  min-width:14px;
  margin-right:6px;
}
.admin-icon-preview-box{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:86px;
  padding:14px;
  border:1px dashed rgba(108,86,52,.72);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(12,16,13,.92),rgba(8,11,9,.98));
}
.admin-icon-preview-box img{
  width:72px;
  height:72px;
  object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(225,186,95,.16));
}
.admin-icon-preview-fallback{
  font-size:34px;
  color:#ddb66e;
  text-shadow:0 0 12px rgba(218,177,90,.15);
}
.settlement-building-icon img{
  width:24px;
  height:24px;
  object-fit:contain;
}
@media(max-width:780px){
  .admin-icon-preview-box{
    min-height:72px;
    padding:10px;
  }
  .admin-icon-preview-box img{
    width:58px;
    height:58px;
  }
}


/* =========================================================
   Ravenwake v0.7.2 — Settlement Admin Quick Navigation
   ========================================================= */
.settlement-admin-card{scroll-margin-top:24px}
.admin-settlement-nav-link img{
  border-radius:8px;
  background:#0d110f;
}
.admin-settlement-nav-link[hidden]{display:none!important}
.admin-search-dimmed{
  opacity:.28;
  filter:saturate(.55);
}
.admin-search-match{
  border-color:#a77f43!important;
  box-shadow:0 0 0 1px rgba(225,183,95,.08),0 14px 32px rgba(0,0,0,.18),0 0 20px rgba(213,165,80,.08)!important;
}


/* =========================================================
   Ravenwake v0.8.0 — Character Identity & Settlement UI
   ========================================================= */
.player-identity-bar{
  display:grid;
  grid-template-columns:74px minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  padding:13px 15px;
  margin-bottom:11px;
  border-radius:13px;
  background:
    radial-gradient(circle at 8% 50%,rgba(217,170,81,.10),transparent 28%),
    linear-gradient(90deg,rgba(20,26,22,.98),rgba(10,15,12,.98));
}
.player-identity-portrait{
  width:72px;height:72px;
  display:grid;place-items:center;
  overflow:hidden;
  border:1px solid rgba(177,134,65,.68);
  border-radius:14px;
  background:#090d0b;
  box-shadow:0 0 0 3px rgba(213,165,79,.035),0 10px 24px rgba(0,0,0,.26);
  color:#dab66c;
  font-size:29px;
}
.player-identity-portrait img,
.character-portrait-mini img,
.identity-portrait-preview img{
  width:100%;height:100%;object-fit:cover;
}
.player-identity-copy{min-width:0}
.player-identity-name-line{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.player-identity-name-line h2{
  margin:0;
  font-size:25px;
  line-height:1.05;
}
.player-identity-name-line > span{
  color:#c5a86d;
  font-size:14px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.player-identity-copy p{
  margin:5px 0 0;
  color:#918777;
  font-size:14px;
}
.player-identity-edit{min-height:39px}

.character-mini-button{
  width:100%;
  border:0;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.character-mini-button:hover{
  background:rgba(212,166,80,.06);
}
.character-portrait-mini{
  overflow:hidden;
  flex:0 0 auto;
}
.character-mini-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.character-mini-copy strong,
.character-mini-copy span,
.character-mini-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.character-mini-copy span{
  color:#c2a66f;
  font-size:12px;
}
.character-mini-copy small{
  color:#7f7669;
  font-size:11px;
}

.settlement-region-line{
  margin-bottom:3px;
  color:#81786a;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.settlement-region-line strong{color:#b8a88b}
.settlement-name-row{
  display:flex;
  align-items:center;
  gap:7px;
}
.settlement-name-row h3{margin:0}
.settlement-rename-btn{
  width:31px;height:31px;
  display:grid;place-items:center;
  border:1px solid rgba(124,95,53,.62);
  border-radius:8px;
  background:rgba(8,12,10,.46);
  color:#cbaa6c;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.settlement-rename-btn:hover{
  background:rgba(202,154,73,.10);
  border-color:#a47b3f;
  transform:translateY(-1px);
}

/* Modal system */
.rw-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:200;
  background:rgba(2,4,3,.78);
  backdrop-filter:blur(8px);
}
.rw-modal{
  position:fixed;
  z-index:210;
  left:50%;top:50%;
  width:min(760px,calc(100vw - 28px));
  max-height:min(86svh,760px);
  overflow:auto;
  transform:translate(-50%,-50%);
  padding:20px;
  border:1px solid rgba(151,113,58,.76);
  border-radius:16px;
  background:
    radial-gradient(circle at 10% 5%,rgba(215,168,78,.09),transparent 32%),
    linear-gradient(180deg,#151b17,#0b0f0d);
  box-shadow:0 34px 90px rgba(0,0,0,.62),0 0 30px rgba(211,164,77,.06);
}
.rw-modal-small{width:min(480px,calc(100vw - 28px))}
.rw-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  margin-bottom:17px;
}
.rw-modal-head h3{margin:2px 0 0;font-size:25px}
.rw-modal-close{
  width:36px;height:36px;
  border:1px solid #58452c;
  border-radius:9px;
  background:#0c110e;
  color:#c7b18a;
  cursor:pointer;
  font-size:22px;
}
.rw-modal-open{overflow:hidden}

.identity-editor-grid{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:18px;
}
.identity-portrait-editor{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.identity-portrait-preview{
  width:100%;
  aspect-ratio:1/1;
  display:grid;place-items:center;
  overflow:hidden;
  border:1px solid rgba(137,104,58,.72);
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 36%,rgba(205,158,72,.08),transparent 38%),
    #090d0b;
  color:#d8b36a;
  font-size:50px;
}
.identity-upload-button{
  display:flex!important;
  justify-content:center;
  cursor:pointer;
}
.identity-portrait-editor small{
  color:#776f63;
  text-align:center;
  font-size:11px;
}
.identity-form{
  display:flex;
  flex-direction:column;
  gap:11px;
}
.identity-form label,
#settlementRenameForm label{
  display:block;
  margin-bottom:5px;
  color:#a89c88;
  font-size:13px;
}
.identity-form input,
.identity-form textarea,
#settlementRenameForm input{
  width:100%;
}
.identity-form textarea{min-height:112px;resize:vertical}
#settlementRenameForm{
  display:flex;
  flex-direction:column;
  gap:10px;
}
#settlementRenameForm small{
  color:#7e7668;
  line-height:1.45;
}
#settlementRenameForm .button{margin-top:5px}

@media(max-width:780px){
  .player-identity-bar{
    grid-template-columns:56px minmax(0,1fr) auto;
    gap:9px;
    padding:10px;
  }
  .player-identity-portrait{width:54px;height:54px;border-radius:11px}
  .player-identity-name-line h2{font-size:18px}
  .player-identity-name-line > span{font-size:11px}
  .player-identity-copy p{font-size:12px;margin-top:3px}
  .player-identity-edit{
    width:38px;height:38px;
    padding:0!important;
    font-size:0!important;
  }
  .player-identity-edit::after{
    content:"✎";
    font-size:17px;
  }
  .settlement-region-line{font-size:11px}
  .settlement-name-row h3{font-size:19px!important}
  .settlement-rename-btn{width:29px;height:29px}

  .identity-editor-grid{grid-template-columns:1fr}
  .identity-portrait-editor{
    max-width:190px;
    margin:0 auto;
  }
  .rw-modal{
    width:calc(100vw - 18px);
    max-height:calc(100svh - 28px);
    padding:15px;
    border-radius:13px;
  }
  .rw-modal-head h3{font-size:21px}
}

/* Slight visual lift for the settlement block */
.settlement-core,
.settlement-building-card,
.settlement-resource-strip{
  box-shadow:0 14px 30px rgba(0,0,0,.16);
}


/* =========================================================
   Ravenwake v0.8.2 — Character portrait sidebar hotfix
   ========================================================= */
.sidebar .character-mini{
  padding:12px 12px 16px;
  margin:0 0 16px;
  border-bottom:1px solid #3c3327;
}

.character-mini-button{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(96,76,47,.75);
  border-radius:14px;
  background:
    radial-gradient(circle at 15% 50%, rgba(214,168,80,.07), transparent 28%),
    linear-gradient(180deg, rgba(18,23,20,.98), rgba(11,15,13,.98));
  color:var(--text);
  text-align:left;
  cursor:pointer;
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  box-shadow:0 10px 24px rgba(0,0,0,.18), inset 0 0 0 1px rgba(210,181,122,.03);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.character-mini-button:hover{
  background:
    radial-gradient(circle at 15% 50%, rgba(214,168,80,.10), transparent 30%),
    linear-gradient(180deg, rgba(22,28,24,.99), rgba(13,18,15,.99));
  border-color:#8e6a3b;
  box-shadow:0 14px 28px rgba(0,0,0,.22), 0 0 18px rgba(214,168,80,.06);
  transform:translateY(-1px);
}
.character-mini-button:focus-visible{
  outline:2px solid rgba(220,181,96,.55);
  outline-offset:2px;
}
.character-portrait-mini{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(177,134,65,.75);
  border-radius:12px;
  background:
    radial-gradient(circle at 50% 38%, rgba(205,158,72,.08), transparent 38%),
    #090d0b;
  box-shadow:0 0 0 3px rgba(213,165,79,.035),0 8px 18px rgba(0,0,0,.24);
  color:#dab66c;
  font-size:24px;
  overflow:hidden;
  flex:0 0 auto;
}
.character-portrait-mini img,
.player-identity-portrait img,
.identity-portrait-preview img{
  display:block;
  object-fit:cover;
  object-position:center 22%;
}
.character-mini-copy strong{
  display:block;
  margin:0 0 2px;
  color:#f0e4cc;
  font-size:15px;
  line-height:1.05;
}
.character-mini-copy span{
  display:block;
  color:#c2a66f;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.character-mini-copy small{
  display:block;
  color:#8f8577;
  font-size:13px;
  margin-top:2px;
}

.player-identity-portrait{
  background:
    radial-gradient(circle at 50% 38%, rgba(205,158,72,.08), transparent 38%),
    #090d0b;
}
.identity-portrait-preview{
  background:
    radial-gradient(circle at 50% 36%,rgba(205,158,72,.08),transparent 38%),
    #090d0b;
}

@media(max-width:780px){
  .sidebar .character-mini{
    padding:8px 10px 12px;
    margin-bottom:10px;
  }
  .character-mini-button{
    padding:8px 10px;
    gap:9px;
    border-radius:12px;
  }
  .character-portrait-mini{
    width:44px;
    height:44px;
    border-radius:10px;
    font-size:20px;
  }
  .character-mini-copy strong{
    font-size:15px;
  }
  .character-mini-copy span{
    font-size:11px;
  }
  .character-mini-copy small{
    font-size:12px;
  }
}


/* =========================================================
   Ravenwake v0.8.3 — Profile modal functional polish
   ========================================================= */
.rw-modal[hidden],
.rw-modal-backdrop[hidden]{
  display:none!important;
}
.rw-modal-backdrop{
  opacity:0;
  transition:opacity .14s ease;
}
.rw-modal-backdrop.is-open{
  opacity:1;
}
.rw-modal{
  opacity:0;
  transform:translate(-50%,-48%) scale(.985);
  transition:opacity .14s ease,transform .14s ease;
}
.rw-modal.is-open{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
}
.identity-upload-button.is-uploading{
  pointer-events:none;
  opacity:.58;
}
.identity-upload-button.is-uploading::after{
  content:" …";
}
@media(prefers-reduced-motion:reduce){
  .rw-modal,.rw-modal-backdrop{transition:none!important}
}


/* =========================================================
   Ravenwake v0.8.4 — Atmosphere & Full UI Polish
   ========================================================= */

:root{
  --rw-panel-edge:rgba(115,89,52,.68);
  --rw-panel-edge-soft:rgba(87,69,45,.48);
  --rw-gold-glow:rgba(213,166,79,.14);
  --rw-deep:#080c0a;
}

/* -------- Atmosphere -------- */
.rw-atmosphere{
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.rw-frost-haze{
  position:absolute;
  inset:0;
  opacity:.14;
  background:
    radial-gradient(circle at 16% 9%,rgba(192,204,198,.09),transparent 27%),
    radial-gradient(circle at 82% 34%,rgba(181,194,188,.06),transparent 29%),
    linear-gradient(180deg,rgba(190,202,196,.025),transparent 38%);
  mix-blend-mode:screen;
}
.rw-snow-layer{
  position:absolute;
  inset:-12vh 0 0;
  overflow:hidden;
  opacity:.72;
}
.rw-snow-layer.is-disabled{display:none}
.rw-snowflake{
  position:absolute;
  top:-3vh;
  left:var(--snow-left);
  width:var(--snow-size);
  height:var(--snow-size);
  border-radius:50%;
  background:rgba(238,244,240,var(--snow-opacity));
  box-shadow:0 0 4px rgba(240,246,242,.08);
  animation:rwSnowFall var(--snow-duration) linear var(--snow-delay) infinite;
  will-change:transform,opacity;
}
@keyframes rwSnowFall{
  0%{transform:translate3d(0,-4vh,0);opacity:0}
  8%{opacity:var(--snow-opacity)}
  88%{opacity:calc(var(--snow-opacity) * .72)}
  100%{transform:translate3d(var(--snow-drift),116vh,0);opacity:0}
}

/* Put actual UI above atmosphere. */
.topbar, main{position:relative;z-index:4}

/* Mobile drawer/backdrop must remain viewport-fixed.
   Never include these in generic position:relative UI rules. */
.rw-mobile-menu{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:auto!important;
  z-index:80!important;
}
.rw-mobile-menu-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:79!important;
}

/* -------- Global surface polish -------- */
.panel,
.status-strip,
.activity-card,
.skill-card,
.inventory-card,
.current-activity,
.quick-activities,
.settlement-resource-strip,
.settlement-core,
.settlement-building-card{
  position:relative;
  overflow:hidden;
}

.panel::after,
.status-strip::after,
.current-activity::after,
.quick-activities::after,
.settlement-core::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:
    linear-gradient(115deg,rgba(233,194,115,.025),transparent 24%,transparent 78%,rgba(225,184,104,.018));
  opacity:.8;
}

.panel,
.activity-card,
.skill-card,
.inventory-card,
.current-activity,
.quick-activities,
.settlement-core,
.settlement-building-card{
  border-color:var(--rw-panel-edge-soft);
  box-shadow:
    0 15px 36px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(236,210,160,.018);
}

.panel:hover,
.activity-card:hover,
.skill-card:hover,
.inventory-card:hover,
.settlement-building-card:hover{
  border-color:rgba(137,104,57,.72);
}

/* -------- Top header -------- */
.topbar{
  background:
    radial-gradient(circle at 12% 50%,rgba(208,162,76,.055),transparent 26%),
    linear-gradient(180deg,rgba(7,11,9,.985),rgba(6,10,8,.975));
  border-bottom:1px solid rgba(102,80,48,.72);
  box-shadow:0 12px 32px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
}
.topbar::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 2%,rgba(218,176,91,.18) 20%,rgba(218,176,91,.30) 50%,rgba(218,176,91,.18) 80%,transparent 98%);
}
.topbar .brand-logo{
  filter:drop-shadow(0 9px 18px rgba(0,0,0,.32)) drop-shadow(0 0 13px rgba(210,165,79,.05));
  transition:transform .22s ease,filter .22s ease;
}
.topbar .brand-logo-link:hover .brand-logo{
  transform:translateY(-1px);
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.36)) drop-shadow(0 0 16px rgba(210,165,79,.08));
}

/* -------- Sidebar / game menu -------- */
.sidebar{
  background:
    radial-gradient(circle at 25% 8%,rgba(202,155,72,.045),transparent 24%),
    linear-gradient(180deg,rgba(10,15,12,.97),rgba(7,11,9,.99));
  box-shadow:8px 0 28px rgba(0,0,0,.09);
}
.nav-btn{
  position:relative;
  overflow:hidden;
  border-radius:10px;
  border:1px solid transparent;
  transition:
    background .20s ease,
    border-color .20s ease,
    color .20s ease,
    transform .14s ease,
    box-shadow .20s ease;
}
.nav-btn::before{
  content:"";
  position:absolute;
  left:0;top:8px;bottom:8px;
  width:2px;
  border-radius:2px;
  background:linear-gradient(#d5ad67,#8c6737);
  transform:scaleY(0);
  opacity:0;
  transition:transform .20s ease,opacity .20s ease;
}
.nav-btn:hover:not(.disabled){
  background:
    linear-gradient(90deg,rgba(208,162,77,.055),rgba(18,24,20,.86));
  border-color:rgba(95,76,50,.46);
  color:#e8dac0;
  transform:translateX(2px);
}
.nav-btn.active{
  color:#f0dfbd;
  border-color:rgba(132,101,57,.74);
  background:
    radial-gradient(circle at 14% 50%,rgba(220,173,85,.105),transparent 42%),
    linear-gradient(90deg,#171e19,#111612);
  box-shadow:inset 0 0 0 1px rgba(226,186,105,.04),0 8px 18px rgba(0,0,0,.12);
}
.nav-btn.active::before{
  transform:scaleY(1);
  opacity:1;
}
.nav-btn.disabled{
  opacity:.36;
  filter:saturate(.45);
}

/* Character identity */
.player-identity-bar{
  border-color:rgba(122,93,53,.72);
  box-shadow:
    0 16px 34px rgba(0,0,0,.17),
    inset 0 1px 0 rgba(236,205,147,.018);
}
.player-identity-portrait,
.character-portrait-mini{
  box-shadow:
    0 0 0 3px rgba(213,165,79,.035),
    0 10px 24px rgba(0,0,0,.25),
    0 0 18px rgba(209,164,78,.045);
}
.player-identity-name-line > span{
  padding:3px 7px;
  border:1px solid rgba(124,95,53,.38);
  border-radius:999px;
  background:rgba(9,13,11,.42);
}

/* -------- Buttons: one coherent system -------- */
.button,
.quick-activity-btn,
.settlement-rename-btn,
.rw-modal-close,
.lang-btn,
.character-mini-button,
.admin-main-link,
.admin-item-nav-link{
  -webkit-tap-highlight-color:transparent;
}

.button{
  position:relative;
  overflow:hidden;
  border-radius:9px;
  transition:
    transform .14s ease,
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    box-shadow .20s ease,
    filter .18s ease;
}
.button::before{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  left:-34%;
  width:24%;
  pointer-events:none;
  opacity:0;
  transform:skewX(-17deg);
  background:linear-gradient(90deg,transparent,rgba(255,226,169,.13),transparent);
  transition:left .46s ease,opacity .24s ease;
}
.button:hover:not(:disabled)::before{
  left:112%;
  opacity:1;
}
.button:hover:not(:disabled){
  transform:translateY(-1px);
}
.button.primary{
  border-color:rgba(155,116,58,.84);
  background:
    radial-gradient(circle at 50% 0%,rgba(239,196,109,.09),transparent 44%),
    linear-gradient(180deg,#74562b,#523b20);
  box-shadow:0 8px 18px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,228,176,.07);
}
.button.primary:hover:not(:disabled){
  border-color:#b88b47;
  box-shadow:0 11px 24px rgba(0,0,0,.24),0 0 18px rgba(213,164,77,.075),inset 0 1px 0 rgba(255,229,178,.08);
}
.button.ghost{
  background:linear-gradient(180deg,rgba(19,24,21,.88),rgba(11,15,13,.94));
}
.button.ghost:hover:not(:disabled){
  border-color:#87663b;
  background:linear-gradient(180deg,rgba(24,30,25,.95),rgba(14,19,16,.98));
}

.button:disabled,
button:disabled{
  cursor:not-allowed!important;
  opacity:.44;
  filter:saturate(.45);
  transform:none!important;
  box-shadow:none!important;
}

.rw-pressed,
.rw-key-press{
  transform:translateY(1px) scale(.987)!important;
}
.rw-click-ripple{
  position:absolute;
  width:8px;height:8px;
  margin:-4px 0 0 -4px;
  border-radius:50%;
  pointer-events:none;
  z-index:20;
  background:rgba(238,204,138,.21);
  transform:scale(0);
  animation:rwClickRipple .46s ease-out forwards;
}
@keyframes rwClickRipple{
  to{transform:scale(13);opacity:0}
}

/* Focus should be visible but stay in theme. */
:where(button,a,input,select,textarea):focus-visible{
  outline:1px solid rgba(229,188,102,.72);
  outline-offset:3px;
  box-shadow:0 0 0 3px rgba(216,171,82,.07);
}

/* -------- Status bar -------- */
.status-strip{
  border-color:rgba(92,73,47,.62);
  background:
    radial-gradient(circle at 6% 50%,rgba(203,157,75,.045),transparent 22%),
    linear-gradient(90deg,#101512,#0d120f);
}
.status-strip div{
  position:relative;
}
.status-strip div:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;top:18%;bottom:18%;
  width:1px;
  background:linear-gradient(transparent,rgba(116,91,55,.52),transparent);
}

/* -------- Settlement -------- */
.settlement-hero{
  border-color:rgba(117,89,50,.74);
  box-shadow:0 18px 42px rgba(0,0,0,.25);
}
.settlement-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 70% 23%,rgba(215,168,79,.035),transparent 24%),
    linear-gradient(180deg,transparent 58%,rgba(5,8,7,.21));
}
.settlement-core{
  border-color:rgba(113,86,51,.68);
}
.settlement-vital{
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.settlement-vital:hover{
  transform:translateY(-1px);
  border-color:rgba(125,96,55,.70);
  background:linear-gradient(180deg,rgba(13,18,15,.72),rgba(8,12,10,.80));
}
.settlement-vital-bar i{
  position:relative;
  overflow:hidden;
}
.settlement-vital-bar i::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background:linear-gradient(90deg,transparent,rgba(255,237,196,.26),transparent);
  transform:translateX(-100%);
  animation:rwVitalShimmer 8s ease-in-out infinite;
}
@keyframes rwVitalShimmer{
  0%,72%,100%{transform:translateX(-100%)}
  82%{transform:translateX(100%)}
}

.settlement-building-card{
  background:
    radial-gradient(circle at 50% 0%,rgba(212,164,77,.025),transparent 33%),
    linear-gradient(180deg,rgba(16,21,18,.98),rgba(9,13,11,.99));
}
.settlement-building-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 -28px 45px rgba(4,6,5,.18);
}
.settlement-building-card:hover .settlement-building-icon{
  border-color:rgba(210,164,78,.72);
  box-shadow:0 0 16px rgba(210,164,78,.08);
}

/* -------- Activity cards -------- */
.activity-card{
  background:
    radial-gradient(circle at 50% 0%,rgba(216,168,78,.02),transparent 30%),
    linear-gradient(180deg,rgba(17,22,19,.99),rgba(10,14,12,.99));
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.activity-card:hover{
  transform:translateY(-3px);
  box-shadow:0 21px 42px rgba(0,0,0,.24),0 0 18px rgba(212,165,77,.05);
}
.activity-banner{
  position:relative;
  overflow:hidden;
}
.activity-banner::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 44%,rgba(5,8,7,.31));
}
.activity-banner img,
.activity-card .banner img{
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.activity-card:hover .activity-banner img,
.activity-card:hover .banner img{
  transform:scale(1.025);
  filter:brightness(1.035);
}

/* -------- Current activity -------- */
.current-activity{
  border-color:rgba(123,94,53,.70);
  background:
    radial-gradient(circle at 86% 18%,rgba(211,164,77,.05),transparent 24%),
    linear-gradient(180deg,rgba(20,26,22,.98),rgba(11,16,13,.99));
}
.activity-progress-bar{
  box-shadow:inset 0 2px 7px rgba(0,0,0,.68),0 0 0 1px rgba(135,105,60,.12);
}
.activity-progress-bar span{
  box-shadow:0 0 13px rgba(211,171,86,.12);
}

/* -------- Inputs / forms -------- */
input,
select,
textarea{
  border-color:rgba(91,73,48,.70);
  background:linear-gradient(180deg,rgba(10,14,12,.98),rgba(8,12,10,.98));
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
input:hover,
select:hover,
textarea:hover{
  border-color:rgba(121,92,52,.72);
}
input:focus,
select:focus,
textarea:focus{
  border-color:rgba(164,122,60,.84);
  background:linear-gradient(180deg,rgba(12,17,14,.99),rgba(9,13,11,.99));
  box-shadow:0 0 0 3px rgba(211,165,79,.055);
}

/* -------- Modals -------- */
.rw-modal{
  border-color:rgba(159,119,58,.80);
  box-shadow:
    0 40px 100px rgba(0,0,0,.65),
    0 0 34px rgba(209,163,76,.055),
    inset 0 1px 0 rgba(236,206,148,.025);
}
.rw-modal-head{
  padding-bottom:12px;
  border-bottom:1px solid rgba(91,72,47,.46);
}

/* -------- Admin -------- */
.admin-main-link,
.admin-item-nav-link{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.admin-main-link:hover,
.admin-item-nav-link:hover{
  transform:translateY(-1px);
  border-color:rgba(144,109,60,.72);
  box-shadow:0 10px 24px rgba(0,0,0,.17),0 0 16px rgba(211,164,77,.045);
}
.admin-main-link.active{
  background:
    radial-gradient(circle at 8% 50%,rgba(220,172,83,.10),transparent 29%),
    linear-gradient(180deg,rgba(22,28,24,.98),rgba(13,18,15,.99));
  border-color:rgba(153,116,61,.78);
}

/* -------- Mobile -------- */
@media(max-width:780px){
  .rw-atmosphere{
    opacity:.66;
  }
  .rw-frost-haze{
    opacity:.08;
  }
  .rw-snow-layer{
    opacity:.52;
  }

  #gameShell .sidebar .nav{
    border-top-color:rgba(128,97,52,.72);
    background:
      radial-gradient(circle at 50% 0%,rgba(210,163,76,.055),transparent 34%),
      rgba(6,10,8,.985);
    box-shadow:0 -14px 34px rgba(0,0,0,.40);
  }
  #gameShell .sidebar .nav-btn{
    transition:transform .12s ease,background .16s ease,border-color .16s ease,color .16s ease;
  }
  #gameShell .sidebar .nav-btn.active{
    box-shadow:
      inset 0 0 0 1px rgba(235,197,119,.035),
      0 0 16px rgba(212,165,77,.045)!important;
  }
  #gameShell .sidebar .nav-btn::before{display:none}

  .player-identity-bar,
  .settlement-core,
  .current-activity,
  .settlement-resource-strip{
    box-shadow:0 12px 26px rgba(0,0,0,.18);
  }
  .activity-card:hover,
  .settlement-building-card:hover,
  .panel:hover,
  .skill-card:hover,
  .inventory-card:hover{
    transform:none;
  }
  .button:hover:not(:disabled),
  .nav-btn:hover:not(.disabled),
  .admin-main-link:hover,
  .admin-item-nav-link:hover{
    transform:none;
  }
  .button::before{display:none}
  .rw-click-ripple{display:none}

  .status-strip div:not(:last-child)::after{display:none}

  /* Smaller GPU footprint on phones */
  .settlement-vital-bar i::after{
    animation-duration:11s;
    opacity:.10;
  }
}

@media(max-width:420px){
  .rw-snow-layer{opacity:.42}
}

/* Respect user motion settings everywhere. */
@media(prefers-reduced-motion:reduce){
  .rw-snow-layer{display:none!important}
  .settlement-vital-bar i::after{animation:none!important}
  .rw-click-ripple{display:none!important}
}


/* =========================================================
   Ravenwake v0.9.0 — Idle Core UI
   ========================================================= */
.idle-home-heading{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:20px 22px;margin-bottom:14px;border-radius:14px;
  background:
    radial-gradient(circle at 14% 50%,rgba(216,169,81,.085),transparent 34%),
    linear-gradient(90deg,rgba(19,25,21,.98),rgba(9,14,11,.99));
}
.idle-home-heading-copy{max-width:760px}
.idle-home-heading h2{margin:4px 0 8px;font-size:clamp(28px,3vw,42px)}
.idle-home-heading p{margin:0;color:#a69c8c;line-height:1.6}
.idle-home-rules{display:flex;flex-direction:column;gap:6px;min-width:190px}
.idle-home-rules span{
  padding:7px 10px;border:1px solid rgba(95,76,50,.5);border-radius:999px;
  background:rgba(7,11,9,.43);color:#bbaa8b;font-size:12px;letter-spacing:.04em;
}

.idle-current-activity{
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.70fr);
  padding:0!important;gap:0!important;border-color:rgba(139,103,54,.78)!important;
  border-radius:15px!important;overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 10%,rgba(221,174,84,.075),transparent 28%),
    linear-gradient(180deg,rgba(18,24,20,.99),rgba(9,14,11,.99))!important;
  box-shadow:0 22px 52px rgba(0,0,0,.27),0 0 25px rgba(211,164,77,.035)!important;
}
.idle-current-activity .current-activity-main{padding:22px;min-width:0}
.current-activity-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.current-activity-heading .current-activity-text{min-width:0}
.current-activity-heading h3{font-size:clamp(24px,2.5vw,34px)!important;margin:5px 0 7px!important}
.current-activity-heading .current-activity-text p{color:#9c9283!important;margin:0!important;line-height:1.55!important}
.activity-live-state{
  flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:7px 10px;
  border:1px solid rgba(92,73,47,.60);border-radius:999px;background:rgba(8,12,10,.52);
  color:#918779;font-size:12px;text-transform:uppercase;letter-spacing:.08em;
}
.activity-live-state i{width:7px;height:7px;border-radius:50%;background:#746d61}
.activity-live-state.is-running{border-color:rgba(106,130,88,.58);color:#bacaa8}
.activity-live-state.is-running i{
  background:#9fb580;box-shadow:0 0 10px rgba(154,185,126,.33);
  animation:idleLivePulse 2.5s ease-in-out infinite;
}
@keyframes idleLivePulse{0%,100%{opacity:.55}50%{opacity:1}}

.idle-activity-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
.idle-activity-meta article{
  min-width:0;padding:10px 11px;border:1px solid rgba(83,68,46,.54);
  border-radius:9px;background:rgba(7,11,9,.42);
}
.idle-activity-meta span{
  display:block;margin-bottom:4px;color:#7f7668;font-size:11px;
  text-transform:uppercase;letter-spacing:.11em;
}
.idle-activity-meta strong{
  display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  color:#d4c09a;font-size:13px;
}
.idle-meta-ready{border-color:rgba(133,100,53,.64)!important;background:rgba(88,64,31,.10)!important}
.idle-meta-ready strong{color:#e4c47f!important}

.idle-progress-shell{margin-top:0!important;padding:14px!important;border-radius:10px!important;background:rgba(5,9,7,.62)!important}
.idle-progress-shell .activity-progress-bar{height:13px!important;margin:9px 0 8px!important}
.current-reward-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:8px}
.current-reward-head small{color:#786f62;font-size:11px;text-align:right}

.idle-current-activity .current-activity-side{
  display:grid!important;grid-template-rows:minmax(240px,1fr) auto!important;gap:0!important;
  border-left:1px solid rgba(91,71,45,.50);background:#080c0a;
}
.idle-current-preview{position:relative;min-height:260px!important;border:0!important;border-radius:0!important}
.idle-current-preview::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(4,7,5,.82));
  pointer-events:none;
}
.idle-preview-caption{position:absolute;z-index:2;left:16px;right:16px;bottom:15px;display:flex;flex-direction:column}
.idle-preview-caption span{color:#ad9d82;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.idle-preview-caption strong{margin-top:2px;color:#f0dfbd;font-size:21px}

.idle-claim-box{
  padding:15px;border-top:1px solid rgba(92,72,47,.58);
  background:
    radial-gradient(circle at 50% 0%,rgba(216,169,81,.055),transparent 46%),
    linear-gradient(180deg,#101512,#090d0b);
}
.idle-claim-summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;margin-bottom:11px}
.idle-claim-summary > span{color:#8c8273;font-size:11px;text-transform:uppercase;letter-spacing:.10em}
.idle-claim-summary > strong{color:#e1c27e;font-size:18px}
.idle-claim-summary > small{grid-column:1/-1;color:#776f63;font-size:12px}
.idle-action-buttons{grid-template-columns:1fr!important;gap:7px!important}
.idle-claim-button{min-height:49px!important;font-size:15px!important;font-weight:700}
.idle-claim-button.has-yield{
  border-color:#bd8e47!important;
  box-shadow:0 10px 25px rgba(0,0,0,.22),0 0 20px rgba(216,168,79,.08)!important;
}
.idle-claim-button.is-working{opacity:.76}
.idle-stop-button{min-height:38px!important;color:#9d897f!important;border-color:rgba(105,68,60,.55)!important}

.idle-work-heading{margin-top:22px!important}
.idle-quick-work{margin-bottom:13px!important}
.idle-resource-strip{margin-top:13px!important}
.idle-resource-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}

[data-view-panel="upgrade"]{animation:idleViewEnter .22s ease}
@keyframes idleViewEnter{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
.upgrade-hero{margin-bottom:13px}
[data-view-panel="upgrade"] .settlement-core{margin-top:0!important}
[data-view-panel="upgrade"] .settlement-buildings-section{margin-top:20px!important}

@media(max-width:780px){
  #gameShell .sidebar .nav{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:3px!important;padding-left:5px!important;padding-right:5px!important;
  }
  #gameShell .sidebar .nav-btn{min-height:50px!important;padding:5px 1px!important}
  #gameShell .sidebar .nav-btn span{font-size:11px!important}

  .idle-home-heading{display:block;padding:15px}
  .idle-home-heading h2{font-size:28px}
  .idle-home-heading p{font-size:14px}
  .idle-home-rules{flex-direction:row;flex-wrap:wrap;min-width:0;margin-top:12px}
  .idle-home-rules span{padding:6px 8px;font-size:11px}

  .idle-current-activity{display:block!important}
  .idle-current-activity .current-activity-main{padding:14px!important}
  .current-activity-heading{flex-direction:column;gap:9px}
  .activity-live-state{align-self:flex-start}
  .idle-activity-meta{grid-template-columns:1fr 1fr;gap:6px}
  .idle-activity-meta article{padding:8px}
  .current-reward-head{display:block}
  .current-reward-head small{display:block;text-align:left;margin-top:3px}
  .idle-current-activity .current-activity-side{border-left:0;border-top:1px solid rgba(91,71,45,.50)}
  .idle-current-preview{min-height:180px!important}
  .idle-claim-box{padding:12px}
  .idle-claim-button{min-height:48px!important}
  .idle-resource-actions{width:100%;justify-content:space-between;gap:8px}
}
@media(max-width:390px){
  #gameShell .sidebar .nav-btn span{font-size:7px!important}
  .idle-home-rules{display:grid;grid-template-columns:1fr}
  .idle-activity-meta{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .activity-live-state.is-running i{animation:none!important}
  [data-view-panel="upgrade"]{animation:none!important}
}


/* =========================================================
   Ravenwake v0.9.1 — Main Idle Page Cleanup
   ========================================================= */

/* Quick selection now does the useful job the duplicate activity cards used to do. */
.idle-quick-work{
  padding:16px!important;
}
.idle-quick-work .quick-activity-row{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px!important;
}
.idle-work-card{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
  padding:12px!important;
  border-radius:11px!important;
  background:
    radial-gradient(circle at 15% 10%,rgba(212,164,78,.045),transparent 36%),
    linear-gradient(180deg,#141a16,#0c110e)!important;
  text-align:left;
  overflow:hidden;
}
.idle-work-card:hover:not(:disabled){
  transform:translateY(-2px)!important;
  border-color:#8b693b!important;
  box-shadow:0 15px 30px rgba(0,0,0,.21),0 0 16px rgba(211,165,78,.05)!important;
}
.idle-work-card-top{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.idle-work-card-icon{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
}
.idle-work-card-name{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.idle-work-card-name strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#e7d8bc;
  font-size:15px!important;
}
.idle-work-card-name small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#7f7669;
  font-size:11px!important;
}
.idle-work-card-meta{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.idle-work-card-meta > span{
  padding:4px 6px;
  border:1px solid rgba(84,69,46,.54);
  border-radius:999px;
  background:rgba(7,11,9,.39);
  color:#978c7c;
  font-size:11px;
}
.idle-work-card-reward{
  min-height:28px;
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:#a99b83;
  font-size:11px;
}
.idle-work-card-reward > span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.idle-work-reward-icon{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
}
.idle-work-card-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  padding-top:8px;
  border-top:1px solid rgba(75,62,43,.46);
  color:#c7aa70;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.idle-work-card:disabled .idle-work-card-action{
  color:#756e63;
}
.idle-work-card.is-current{
  border-color:rgba(144,107,57,.75)!important;
  background:
    radial-gradient(circle at 15% 10%,rgba(219,171,82,.085),transparent 38%),
    linear-gradient(180deg,#18201a,#0d130f)!important;
}

/* Full activities stay only on the dedicated Activities page. */
.idle-home-activity-grid{display:none!important}

/* Rich storage instead of a thin inventory link strip. */
.idle-storage-panel{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr);
  gap:0;
  padding:0!important;
  margin-top:13px;
  border-radius:14px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 13% 15%,rgba(213,165,78,.065),transparent 30%),
    linear-gradient(180deg,rgba(17,23,19,.99),rgba(9,14,11,.99))!important;
}
.idle-storage-main{
  padding:18px;
  min-width:0;
}
.idle-storage-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:13px;
}
.idle-storage-heading h3{
  margin:3px 0 5px;
  font-size:23px;
}
.idle-storage-heading p{
  margin:0;
  max-width:660px;
  color:#918779;
  font-size:13px;
  line-height:1.5;
}
.idle-storage-summary{
  flex:0 0 auto;
  min-width:112px;
  padding:8px 10px;
  border:1px solid rgba(104,81,48,.56);
  border-radius:10px;
  background:rgba(7,11,9,.43);
  text-align:right;
}
.idle-storage-summary span{
  display:block;
  color:#7f7667;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.idle-storage-summary strong{
  display:block;
  margin-top:2px;
  color:#e0c17d;
  font-size:20px;
}

.idle-storage-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.idle-storage-item{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px;
  border:1px solid rgba(79,66,45,.54);
  border-radius:10px;
  background:
    linear-gradient(180deg,rgba(10,15,12,.70),rgba(7,11,9,.76));
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.idle-storage-item:hover{
  transform:translateY(-1px);
  border-color:rgba(124,94,53,.66);
}
.idle-storage-item.is-primary{
  border-color:rgba(135,100,52,.65);
  background:
    radial-gradient(circle at 12% 50%,rgba(211,163,77,.07),transparent 38%),
    linear-gradient(180deg,rgba(13,18,15,.76),rgba(8,12,10,.80));
}
.idle-storage-icon{
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
}
.idle-storage-item-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.idle-storage-item-copy span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#998e7c;
  font-size:11px;
}
.idle-storage-item-copy strong{
  margin-top:1px;
  color:#e5ca8d;
  font-size:18px;
  line-height:1;
}
.idle-storage-empty{
  grid-column:1/-1;
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px dashed rgba(89,72,48,.52);
  border-radius:10px;
  color:#847b6e;
}
.idle-storage-empty > span{
  font-size:24px;
  color:#ad925c;
}

.idle-storage-actions{
  display:flex;
  flex-direction:column;
  gap:0;
  border-left:1px solid rgba(91,72,47,.52);
  background:
    radial-gradient(circle at 50% 10%,rgba(214,166,79,.05),transparent 40%),
    rgba(7,11,9,.52);
}
.idle-storage-action{
  position:relative;
  flex:1;
  min-height:110px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:16px;
  border:0;
  border-bottom:1px solid rgba(91,72,47,.45);
  background:transparent;
  color:#d8c39c;
  text-align:left;
  cursor:pointer;
  font:inherit;
  transition:background .18s ease,box-shadow .18s ease;
}
.idle-storage-action:last-child{border-bottom:0}
.idle-storage-action:hover{
  background:
    linear-gradient(90deg,rgba(215,167,79,.075),rgba(18,24,20,.30));
  box-shadow:inset 2px 0 0 rgba(195,143,65,.60);
}
.idle-storage-action-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(135,101,56,.65);
  border-radius:11px;
  background:#0a0e0c;
  color:#dbb86f;
  font-size:19px;
}
.idle-storage-action > span:nth-child(2){
  min-width:0;
  display:flex;
  flex-direction:column;
}
.idle-storage-action small{
  color:#817768;
  font-size:11px;
  letter-spacing:.11em;
}
.idle-storage-action strong{
  margin:2px 0 3px;
  color:#e7d7b8;
  font-size:14px;
}
.idle-storage-action em{
  color:#81796c;
  font-size:11px;
  font-style:normal;
  line-height:1.35;
}
.idle-storage-action b{
  color:#b99355;
  font-size:18px;
  font-weight:400;
  transition:transform .18s ease;
}
.idle-storage-action:hover b{
  transform:translateX(3px);
}

@media(max-width:1180px){
  .idle-quick-work .quick-activity-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .idle-storage-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:780px){
  .idle-quick-work{
    padding:12px!important;
  }
  .idle-quick-work .quick-activity-row{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto;
    gap:8px!important;
    margin-left:-12px;
    margin-right:-12px;
    padding:2px 12px 8px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .idle-quick-work .quick-activity-row::-webkit-scrollbar{display:none}
  .idle-work-card{
    flex:0 0 min(74vw,255px)!important;
    scroll-snap-align:start;
  }

  .idle-storage-panel{
    display:block;
  }
  .idle-storage-main{
    padding:13px;
  }
  .idle-storage-heading{
    align-items:flex-start;
  }
  .idle-storage-heading h3{
    font-size:20px;
  }
  .idle-storage-heading p{
    font-size:12px;
  }
  .idle-storage-summary{
    min-width:90px;
    padding:7px 8px;
  }
  .idle-storage-grid{
    display:flex;
    overflow-x:auto;
    gap:7px;
    margin-left:-13px;
    margin-right:-13px;
    padding:2px 13px 8px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .idle-storage-grid::-webkit-scrollbar{display:none}
  .idle-storage-item{
    flex:0 0 125px;
    scroll-snap-align:start;
  }
  .idle-storage-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-left:0;
    border-top:1px solid rgba(91,72,47,.52);
  }
  .idle-storage-action{
    min-height:96px;
    grid-template-columns:36px minmax(0,1fr);
    padding:12px;
    border-bottom:0;
    border-right:1px solid rgba(91,72,47,.45);
  }
  .idle-storage-action:last-child{border-right:0}
  .idle-storage-action-icon{
    width:34px;height:34px;font-size:15px;
  }
  .idle-storage-action em{display:none}
  .idle-storage-action b{display:none}
}
@media(max-width:430px){
  .idle-storage-heading{
    display:block;
  }
  .idle-storage-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-width:0;
    margin-top:9px;
    text-align:left;
  }
  .idle-storage-summary strong{
    margin-top:0;
    font-size:16px;
  }
  .idle-storage-actions{
    grid-template-columns:1fr;
  }
  .idle-storage-action{
    border-right:0;
    border-bottom:1px solid rgba(91,72,47,.45);
  }
  .idle-storage-action:last-child{border-bottom:0}
}


/* =========================================================
   Ravenwake v0.9.2 — Unified Admin + Users
   ========================================================= */

/* Four admin areas = calm 2x2 layout instead of an uneven 3-column row. */
.admin-main-menu{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.admin-content-panel{
  padding:18px;
}
.admin-section-lead{
  margin:-3px 0 15px;
  max-width:900px;
  color:#918777;
  font-size:14px;
  line-height:1.55;
}

/* Make settlement admin cards use exactly the same base proportions. */
.settlement-admin-card .banner{
  height:180px!important;
}
.settlement-admin-card .body{
  padding:18px!important;
}
.settlement-admin-card{
  scroll-margin-top:110px;
}
.admin-settlement-nav-link img{
  object-fit:cover;
}

/* Users overview */
.admin-player-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.admin-player-stats article{
  padding:14px 16px;
  border-radius:11px;
}
.admin-player-stats span{
  display:block;
  color:#817768;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.admin-player-stats strong{
  display:block;
  margin-top:4px;
  color:#e3c481;
  font-size:25px;
}

.admin-player-tools{
  margin-bottom:16px;
}
.admin-user-filter-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(150px,.55fr) auto auto;
  gap:8px;
  align-items:center;
}
.admin-user-filter-form input,
.admin-user-filter-form select{
  min-width:0;
}
.admin-user-nav{
  margin-top:13px;
}
.admin-user-nav-link[hidden]{
  display:none!important;
}
.admin-user-nav-link img{
  object-fit:cover;
  object-position:center 20%;
}

.admin-result-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:0 2px 12px;
  color:#81786a;
  font-size:13px;
}

.admin-user-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.admin-user-card{
  padding:0!important;
  border-radius:13px!important;
  scroll-margin-top:110px;
}
.admin-user-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border-bottom:1px solid rgba(82,67,46,.52);
  background:
    radial-gradient(circle at 10% 50%,rgba(211,164,78,.06),transparent 30%),
    linear-gradient(180deg,rgba(17,22,19,.98),rgba(11,15,13,.98));
}
.admin-user-portrait{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(145,108,58,.66);
  border-radius:12px;
  background:#090d0b;
  color:#d6ad68;
  font-size:22px;
}
.admin-user-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
}
.admin-user-title{
  min-width:0;
}
.admin-user-name-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.admin-user-name-row h3{
  margin:0;
  font-size:20px;
}
.admin-user-badge{
  padding:3px 6px;
  border:1px solid rgba(181,133,62,.64);
  border-radius:999px;
  background:rgba(109,75,29,.15);
  color:#dcb970;
  font-size:7px;
  letter-spacing:.11em;
}
.admin-user-title p{
  margin:4px 0 0;
  color:#7f7668;
  font-size:11px;
}

.admin-user-character{
  padding:14px 14px 12px;
}
.admin-user-character-line{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
  margin:3px 0 11px;
}
.admin-user-character-line strong{
  color:#e7d8bb;
  font-size:18px;
}
.admin-user-character-line span{
  color:#b49b69;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.admin-user-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.admin-user-metrics > span{
  padding:8px;
  border:1px solid rgba(77,64,44,.50);
  border-radius:8px;
  background:rgba(7,11,9,.42);
}
.admin-user-metrics small{
  display:block;
  color:#766e62;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.admin-user-metrics strong{
  display:block;
  margin-top:2px;
  color:#d9c18f;
  font-size:15px;
}

.admin-user-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid rgba(77,63,43,.50);
}
.admin-user-info-grid > div{
  padding:12px 14px;
}
.admin-user-info-grid > div + div{
  border-left:1px solid rgba(77,63,43,.50);
}
.admin-user-info-grid small{
  display:block;
  color:#776f63;
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.admin-user-info-grid strong{
  display:block;
  margin:3px 0;
  color:#d7c39a;
  font-size:15px;
}
.admin-user-info-grid span{
  display:block;
  color:#82796c;
  font-size:11px;
  line-height:1.35;
}
.admin-user-no-character{
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px;
  padding:12px;
  border:1px dashed rgba(85,69,47,.55);
  border-radius:9px;
  color:#857b6e;
}
.admin-user-no-character > span{
  color:#ae915b;
  font-size:22px;
}
.admin-user-no-character strong,
.admin-user-no-character small{
  display:block;
}
.admin-user-no-character strong{
  color:#b9aa91;
  font-size:14px;
}
.admin-user-no-character small{
  margin-top:2px;
  font-size:11px;
}

.admin-empty-state{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#81786a;
}
.admin-empty-state > span{
  color:#b4945c;
  font-size:34px;
}
.admin-empty-state h3{
  margin:8px 0 4px;
}
.admin-empty-state p{
  margin:0;
  font-size:13px;
}
.admin-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:18px;
}
.admin-pagination > span{
  color:#847b6d;
  font-size:12px;
}

@media(max-width:1100px){
  .admin-player-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-user-filter-form{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .admin-user-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .admin-main-menu{grid-template-columns:1fr!important}
  .admin-user-filter-form{grid-template-columns:1fr}
  .admin-user-metrics{grid-template-columns:1fr 1fr}
  .admin-user-info-grid{grid-template-columns:1fr}
  .admin-user-info-grid > div + div{
    border-left:0;
    border-top:1px solid rgba(77,63,43,.50);
  }
}


/* =========================================================
   Ravenwake v1.0.0 — Settlement Life
   ========================================================= */
.settlement-life-section{margin-top:22px}
.settlement-life-heading{align-items:center!important}
.settlement-life-status{
  display:flex;align-items:center;gap:8px;
  padding:8px 11px;border:1px solid rgba(100,82,55,.62);
  border-radius:999px;background:rgba(8,12,10,.58);
  color:#bbb09e;font-size:12px;text-transform:uppercase;letter-spacing:.09em
}
.settlement-life-status i{width:8px;height:8px;border-radius:50%;background:#978b77}
.settlement-life-status.is-flourishing{border-color:rgba(97,137,96,.66);color:#bfd4af}
.settlement-life-status.is-flourishing i{background:#8fbf7b;box-shadow:0 0 9px rgba(143,191,123,.28)}
.settlement-life-status.is-stable{border-color:rgba(112,126,85,.60);color:#c7c99d}
.settlement-life-status.is-stable i{background:#afb171}
.settlement-life-status.is-strained{border-color:rgba(157,121,63,.68);color:#dcc387}
.settlement-life-status.is-strained i{background:#d0a35c}
.settlement-life-status.is-critical,.settlement-life-status.is-emergency{border-color:rgba(143,72,61,.72);color:#d69b91}
.settlement-life-status.is-critical i,.settlement-life-status.is-emergency i{background:#bd6558}

.settlement-life-overview{
  display:grid;grid-template-columns:1fr 1fr .9fr;gap:10px;margin-bottom:11px
}
.settlement-life-reserve{
  display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;
  padding:14px!important;border-radius:12px!important
}
.life-reserve-icon{
  width:46px;height:46px;display:grid;place-items:center;
  border:1px solid rgba(126,95,53,.58);border-radius:12px;
  background:#0a0f0c;font-size:22px
}
.life-reserve-copy{min-width:0}
.life-reserve-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:2px 0 7px}
.life-reserve-title strong{font-size:21px;color:#e5cb91}
.life-reserve-title small{color:#82796d;font-size:11px}
.life-reserve-bar,.life-exhaustion-bar{
  height:8px;border-radius:999px;overflow:hidden;background:#070b09;
  box-shadow:inset 0 1px 5px rgba(0,0,0,.7),0 0 0 1px rgba(139,106,59,.13)
}
.life-reserve-bar i{
  display:block;height:100%;width:0;border-radius:inherit;
  background:linear-gradient(90deg,#725b34,#bd9650,#d7b26a);
  transition:width .35s ease
}
.life-reserve-meta{display:flex;justify-content:space-between;gap:8px;margin-top:7px}
.life-reserve-meta span{color:#81786a;font-size:11px}
.life-reserve-trend{margin-top:7px;font-size:12px}
.life-reserve-trend.is-positive{color:#9db187}
.life-reserve-trend.is-negative{color:#c38d79}

.settlement-life-health{padding:14px!important;border-radius:12px!important}
.life-health-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 9px}
.life-health-row > div{
  padding:8px;border:1px solid rgba(79,65,45,.52);border-radius:8px;background:rgba(7,11,9,.38)
}
.life-health-row span{display:block;color:#7c7366;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.life-health-row strong{display:block;margin-top:3px;color:#d6bf91;font-size:17px}
.life-exhaustion-bar i{
  display:block;height:100%;width:0;border-radius:inherit;
  background:linear-gradient(90deg,#80612f,#b87345,#a34d42);
  transition:width .35s ease
}
.settlement-life-health p{margin:9px 0 0;color:#8e8475;font-size:12px;line-height:1.45}

.settlement-workers,.settlement-provision{padding:17px!important;border-radius:12px!important;margin-top:11px}
.settlement-workers-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.settlement-workers-head h4,.settlement-provision-head h4{margin:3px 0 5px;font-size:21px}
.settlement-workers-head p,.settlement-provision-head p{margin:0;max-width:740px;color:#8e8577;font-size:12px;line-height:1.5}
.workers-counter{
  min-width:120px;padding:8px 10px;border:1px solid rgba(102,80,50,.56);
  border-radius:10px;background:rgba(7,11,9,.43);text-align:right
}
.workers-counter > span,.workers-counter small{display:block;color:#7d7467;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.workers-counter strong{display:block;margin:2px 0;color:#dfc17e;font-size:20px}

.worker-presets{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}
.worker-presets .button{min-height:34px;padding:7px 10px;font-size:11px}
.worker-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.worker-role-card{
  display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;
  padding:10px;border:1px solid rgba(79,65,45,.53);border-radius:10px;
  background:linear-gradient(180deg,rgba(11,16,13,.66),rgba(8,12,10,.72))
}
.worker-role-icon{
  width:38px;height:38px;display:grid;place-items:center;
  border:1px solid rgba(116,88,50,.58);border-radius:10px;background:#090d0b;font-size:18px
}
.worker-role-copy{min-width:0}
.worker-role-copy strong{color:#d9c6a0;font-size:14px}
.worker-role-copy p{margin:3px 0 8px;color:#7d7569;font-size:11px;line-height:1.35}
.worker-stepper{
  grid-column:1/-1;display:grid;grid-template-columns:34px 1fr 34px;align-items:center;
  border-top:1px solid rgba(70,58,41,.42);padding-top:7px
}
.worker-stepper span{text-align:center;color:#e3c681;font-size:17px}
.worker-step{
  height:30px;border:1px solid rgba(112,84,48,.62);border-radius:8px;
  background:#0c110e;color:#d4b471;cursor:pointer;font-size:17px
}
.worker-step:hover:not(:disabled){border-color:#98713c;background:#141a16}
.worker-step:disabled{opacity:.3;cursor:not-allowed}

.worker-passive-summary{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px
}
.worker-passive-summary > span{
  padding:8px 10px;border:1px solid rgba(75,62,43,.45);border-radius:8px;background:rgba(7,11,9,.34)
}
.worker-passive-summary small{display:block;color:#756d61;font-size:7px;text-transform:uppercase;letter-spacing:.09em}
.worker-passive-summary strong{display:block;margin-top:2px;color:#cdb98f;font-size:13px}

.settlement-provision-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px
}
.settlement-provision-item{
  display:grid;grid-template-columns:40px minmax(0,1fr);gap:9px;
  padding:10px;border:1px solid rgba(78,64,44,.52);border-radius:10px;background:rgba(8,12,10,.48)
}
.settlement-provision-icon{width:38px!important;height:38px!important;flex:0 0 38px!important}
.settlement-provision-copy{min-width:0}
.settlement-provision-copy > span{
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d2bd96;font-size:13px
}
.settlement-provision-copy strong,.settlement-provision-copy small{display:block;color:#81786b;font-size:11px;margin-top:2px}
.settlement-provision-buttons{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.settlement-provision-buttons .button{min-height:32px;padding:6px;font-size:11px}
.settlement-provision-empty{
  grid-column:1/-1;padding:18px;border:1px dashed rgba(80,65,44,.55);border-radius:9px;
  color:#81786b;text-align:center;font-size:12px
}

@media(max-width:1100px){
  .settlement-life-overview{grid-template-columns:1fr 1fr}
  .settlement-life-health{grid-column:1/-1}
  .worker-role-grid{grid-template-columns:1fr 1fr}
  .settlement-provision-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .settlement-life-heading{flex-direction:row!important;align-items:center!important}
  .settlement-life-overview{grid-template-columns:1fr}
  .settlement-life-health{grid-column:auto}
  .settlement-life-reserve{grid-template-columns:40px minmax(0,1fr);padding:11px!important}
  .life-reserve-icon{width:38px;height:38px;font-size:18px}
  .life-reserve-title strong{font-size:18px}
  .settlement-workers-head{display:block}
  .workers-counter{display:flex;align-items:center;justify-content:space-between;min-width:0;margin-top:10px;text-align:left}
  .workers-counter strong{margin:0}
  .worker-role-grid{
    display:flex;overflow-x:auto;gap:8px;margin-left:-17px;margin-right:-17px;
    padding:2px 17px 8px;scroll-snap-type:x mandatory;scrollbar-width:none
  }
  .worker-role-grid::-webkit-scrollbar{display:none}
  .worker-role-card{flex:0 0 min(72vw,260px);scroll-snap-align:start}
  .worker-passive-summary{grid-template-columns:1fr}
  .settlement-provision-grid{
    display:flex;overflow-x:auto;gap:8px;margin-left:-17px;margin-right:-17px;
    padding:2px 17px 8px;scroll-snap-type:x proximity;scrollbar-width:none
  }
  .settlement-provision-grid::-webkit-scrollbar{display:none}
  .settlement-provision-item{flex:0 0 min(78vw,280px)}
}

/* v1.0.0 Admin Settlement Life */
.admin-life-balance{scroll-margin-top:110px}
.admin-reserve-value-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.admin-reserve-value-row{
  display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:center;
  padding:8px;border:1px solid rgba(79,65,45,.5);border-radius:8px;background:rgba(7,11,9,.35)
}
.admin-reserve-value-row label{display:flex;align-items:center;gap:7px;color:#a29785;font-size:12px}
.admin-reserve-value-row label input{width:auto}
.admin-life-nav-link{border-color:rgba(123,93,51,.62)}
@media(max-width:720px){
  .admin-reserve-value-grid{grid-template-columns:1fr}
  .admin-reserve-value-row{grid-template-columns:1fr 95px}
}


/* =========================================================
   Ravenwake v1.0.1 — Settlement / Build split
   ========================================================= */
[data-view-panel="settlement"],
[data-view-panel="upgrade"]{
  animation:rwSectionEnter .20s ease;
}
@keyframes rwSectionEnter{
  from{opacity:.65;transform:translateY(4px)}
  to{opacity:1;transform:none}
}

.settlement-management-hero{
  margin-bottom:13px;
  background-position:58% center!important;
}
.settlement-management-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(6,10,8,.16),transparent 54%),
    linear-gradient(180deg,transparent 58%,rgba(5,8,7,.17));
}
[data-view-panel="settlement"] .settlement-core{
  margin-top:0!important;
}
[data-view-panel="settlement"] .settlement-life-section{
  margin-top:20px!important;
}
[data-view-panel="upgrade"] .settlement-buildings-section{
  margin-top:0!important;
}

/* Three contextual actions from the work page. */
.idle-storage-actions{
  min-width:300px;
}
.idle-storage-action{
  min-height:92px!important;
}

/* Six core areas on mobile. */
@media(max-width:780px){
  #gameShell .sidebar .nav{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:2px!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }
  #gameShell .sidebar .nav-btn{
    min-height:49px!important;
    padding:5px 1px!important;
  }
  #gameShell .sidebar .nav-btn span{
    font-size:7px!important;
    letter-spacing:0!important;
  }

  .idle-storage-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    min-width:0;
  }
  .idle-storage-action{
    grid-template-columns:32px minmax(0,1fr)!important;
    min-height:91px!important;
    gap:7px!important;
    padding:10px!important;
  }
  .idle-storage-action-icon{
    width:31px!important;
    height:31px!important;
    font-size:14px!important;
  }
  .idle-storage-action strong{
    font-size:13px!important;
  }
  .idle-storage-action small{
    font-size:7px!important;
  }
}
@media(max-width:430px){
  .idle-storage-actions{
    grid-template-columns:1fr!important;
  }
  .idle-storage-action{
    min-height:74px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  [data-view-panel="settlement"],
  [data-view-panel="upgrade"]{
    animation:none!important;
  }
}


/* =========================================================
   Ravenwake v1.1.0 — Character Progression
   ========================================================= */
.character-progression-hero{
  display:grid;
  grid-template-columns:120px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px!important;
  border-radius:15px!important;
  background:
    radial-gradient(circle at 10% 45%,rgba(214,166,79,.10),transparent 29%),
    linear-gradient(90deg,rgba(20,26,22,.99),rgba(9,14,11,.99))!important;
}
.character-page-portrait{
  width:116px;height:116px;display:grid;place-items:center;overflow:hidden;
  border:1px solid rgba(161,119,60,.76);border-radius:18px;background:#090d0b;
  color:#d7b36c;font-size:40px;
  box-shadow:0 15px 30px rgba(0,0,0,.30),0 0 22px rgba(211,164,78,.055)
}
.character-page-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.character-page-name-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.character-page-name-row h2{margin:3px 0 0;font-size:34px}
.character-page-name-row span{
  padding:4px 8px;border:1px solid rgba(132,99,54,.52);border-radius:999px;
  color:#c6a76d;font-size:11px;text-transform:uppercase;letter-spacing:.09em
}
.character-page-identity > p{margin:4px 0 12px;color:#8e8577;font-size:13px}
.character-xp-panel{max-width:620px}
.character-xp-meta{display:flex;justify-content:space-between;gap:12px;color:#9a8f7e;font-size:12px}
.character-xp-meta strong{color:#e1c17e}
.character-xp-bar{
  height:11px;margin:6px 0;border-radius:999px;overflow:hidden;background:#070b09;
  box-shadow:inset 0 2px 6px rgba(0,0,0,.7),0 0 0 1px rgba(135,102,57,.14)
}
.character-xp-bar i{
  display:block;height:100%;width:0;border-radius:inherit;
  background:linear-gradient(90deg,#6f5a34,#b8914c,#dab66c);
  box-shadow:0 0 12px rgba(211,169,86,.13);transition:width .35s ease
}
.character-xp-panel small{color:#776f63;font-size:11px}

.character-attribute-section,.character-talents-section{margin-top:23px}
.character-section-lead{margin:5px 0 0;color:#887f71;font-size:12px;line-height:1.45}
.character-point-counter{
  min-width:120px;padding:8px 11px;border:1px solid rgba(115,87,50,.60);
  border-radius:10px;background:rgba(8,12,10,.48);text-align:right
}
.character-point-counter span{display:block;color:#7d7467;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.character-point-counter strong{display:block;margin-top:2px;color:#e2c17b;font-size:22px}
.character-point-counter.talent{border-color:rgba(135,99,51,.68)}

.character-attribute-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.character-attribute-card{
  display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:10px;
  align-items:center;padding:12px!important;border-radius:11px!important
}
.character-attribute-icon{
  width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(122,91,50,.62);
  border-radius:11px;background:#090d0b;color:#d9b56c;font-size:19px
}
.character-attribute-copy{min-width:0}
.character-attribute-copy > span{color:#9d917e;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.character-attribute-copy > strong{display:block;color:#ead19a;font-size:24px;line-height:1.05}
.character-attribute-copy p{margin:5px 0 0;color:#7e7568;font-size:11px;line-height:1.35}
.character-attribute-copy small{display:block;margin-top:4px;color:#a78c5d;font-size:11px}
.character-attribute-card .attribute-add{width:36px;height:36px;padding:0!important;font-size:14px}

.talent-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.talent-path-card{padding:0!important;border-radius:13px!important;overflow:hidden!important}
.talent-path-head{
  display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;
  padding:13px;border-bottom:1px solid rgba(81,66,45,.50);
  background:radial-gradient(circle at 12% 50%,rgba(210,163,76,.07),transparent 38%),rgba(11,16,13,.65)
}
.talent-path-icon{
  width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(128,96,53,.60);
  border-radius:11px;background:#090d0b;color:#d4ad65;font-size:19px
}
.talent-path-head h4{margin:0;color:#e5d4b5;font-size:18px}
.talent-path-head p{margin:3px 0 0;color:#81786b;font-size:11px;line-height:1.35}
.talent-node-list{padding:10px}
.talent-node{
  position:relative;padding:10px;border:1px solid rgba(72,60,42,.47);border-radius:9px;
  background:rgba(7,11,9,.38)
}
.talent-node + .talent-node{margin-top:7px}
.talent-node.is-active{
  border-color:rgba(135,100,52,.65);
  background:radial-gradient(circle at 12% 15%,rgba(211,164,78,.07),transparent 36%),rgba(8,12,10,.52)
}
.talent-node.is-locked{opacity:.56}
.talent-node-main > div{display:flex;justify-content:space-between;gap:8px}
.talent-node-main strong{color:#d7c39a;font-size:13px}
.talent-node-main span{color:#9c875f;font-size:11px}
.talent-node-main p{margin:5px 0;color:#7d7568;font-size:11px;line-height:1.4}
.talent-node-main small{display:block;margin-bottom:7px;color:#a98e5d;font-size:11px}
.talent-node .button{width:100%;min-height:32px;padding:6px 8px;font-size:11px}

.character-bonus-summary{margin-top:23px;padding:16px!important}
.character-bonus-summary h3{margin:3px 0 12px;font-size:20px}
.character-effects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.character-effects-grid span{
  padding:9px 10px;border:1px solid rgba(76,63,43,.47);border-radius:8px;background:rgba(7,11,9,.36)
}
.character-effects-grid small{display:block;color:#746d61;font-size:7px;text-transform:uppercase;letter-spacing:.08em}
.character-effects-grid strong{display:block;margin-top:3px;color:#d3bc8d;font-size:15px}

.skill-card-progressive .skill-milestone-line{
  display:flex;flex-direction:column;gap:3px;margin-top:8px;padding-top:7px;border-top:1px solid rgba(74,61,42,.42)
}
.skill-card-progressive .skill-milestone-line span{color:#7f7668;font-size:11px}
.skill-card-progressive .skill-milestone-line .skill-milestone-unlocked{color:#ad945e}

/* Seven core navigation areas: keep readable on mobile with horizontal scroll. */
@media(max-width:780px){
  #gameShell .sidebar .nav{
    display:flex!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    gap:3px!important;
    padding:5px 7px calc(5px + env(safe-area-inset-bottom))!important;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  #gameShell .sidebar .nav::-webkit-scrollbar{display:none}
  #gameShell .sidebar .nav-btn{
    flex:0 0 67px!important;
    min-width:67px!important;
    scroll-snap-align:center;
  }
  #gameShell .sidebar .nav-btn span{font-size:7px!important}

  .character-progression-hero{
    grid-template-columns:76px minmax(0,1fr) auto;
    gap:10px;padding:13px!important
  }
  .character-page-portrait{width:72px;height:72px;border-radius:13px;font-size:28px}
  .character-page-name-row h2{font-size:23px}
  .character-page-name-row span{font-size:7px}
  .character-page-identity > p{font-size:11px}
  .character-progression-hero > .button{
    width:38px;height:38px;padding:0!important;font-size:0!important
  }
  .character-progression-hero > .button::after{content:"✎";font-size:16px}

  .character-attribute-grid{
    display:flex;overflow-x:auto;gap:8px;margin-left:-8px;margin-right:-8px;padding:2px 8px 8px;
    scroll-snap-type:x mandatory;scrollbar-width:none
  }
  .character-attribute-grid::-webkit-scrollbar{display:none}
  .character-attribute-card{flex:0 0 min(78vw,280px);scroll-snap-align:start}
  .talent-path-grid{grid-template-columns:1fr}
  .character-effects-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
  .character-progression-hero{
    grid-template-columns:62px minmax(0,1fr);
  }
  .character-page-portrait{width:58px;height:58px}
  .character-progression-hero > .button{position:absolute;right:12px;top:12px}
  .character-xp-panel{grid-column:1/-1}
  .character-effects-grid{grid-template-columns:1fr}
}

/* v1.1.0 Admin Progression */
.progression-admin-card{scroll-margin-top:110px}
.progression-admin-card .body{padding:17px!important}
.admin-progression-nav-link[hidden]{display:none!important}
.progression-milestone-admin{margin-top:22px;scroll-margin-top:110px}
.progression-milestone-grid{display:flex;flex-direction:column;gap:7px}
.progression-milestone-row{
  display:grid;grid-template-columns:150px 140px 90px 90px minmax(200px,1fr) 70px 90px;
  gap:7px;align-items:center;padding:8px;border:1px solid rgba(78,64,44,.50);
  border-radius:9px;background:rgba(7,11,9,.34)
}
.progression-milestone-skill strong,.progression-milestone-skill small{display:block}
.progression-milestone-skill strong{color:#d7c39b;font-size:12px}
.progression-milestone-skill small{color:#756d61;font-size:7px}
.progression-milestone-row textarea{min-height:58px}
.progression-milestone-active{display:flex;align-items:center;gap:5px;font-size:11px;color:#928777}
.progression-milestone-active input{width:auto}
@media(max-width:1150px){
  .progression-milestone-row{grid-template-columns:1fr 1fr 90px 90px}
  .progression-milestone-row textarea{grid-column:1/-1}
}
@media(max-width:700px){
  .progression-milestone-row{grid-template-columns:1fr 1fr}
  .progression-milestone-row textarea{grid-column:1/-1}
}


/* =========================================================
   Ravenwake v1.1.1 — Public Login Isolation Hotfix
   ========================================================= */

/*
 * The public landing/login page is intentionally isolated from the logged-in
 * game shell. Future game UI changes must not be able to reveal or reshape
 * hidden game panels on the public page.
 */
body.rw-public-mode #gamePanel,
body.rw-public-mode #gameShell,
body.rw-public-mode #characterCreate{
  display:none!important;
}

body.rw-public-mode #authPanel{
  display:block!important;
}

body.rw-public-mode .rw-public-topbar{
  position:relative;
  z-index:30;
}

body.rw-public-mode .ravenwake-landing{
  position:relative;
  z-index:3;
  width:100%;
}

/* Keep the auth forms stable regardless of later game form styles. */
body.rw-public-mode #authAccess .rw-auth-panels{
  position:relative;
  z-index:4;
}

body.rw-public-mode #authAccess .auth-card{
  min-width:0;
  overflow:hidden;
}

body.rw-public-mode #authAccess .auth-card input{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

body.rw-public-mode #authAccess .auth-card .button{
  width:100%;
}

/* A disabled submit button should still look deliberate while the request runs. */
body.rw-public-mode #authAccess .auth-card .button:disabled{
  opacity:.72!important;
  filter:saturate(.7)!important;
  cursor:wait!important;
}

@media(max-width:780px){
  body.rw-public-mode #authAccess{
    scroll-margin-top:86px;
  }

  body.rw-public-mode #authAccess .rw-auth-panels{
    width:100%;
    min-width:0;
  }

  body.rw-public-mode #authAccess .auth-card{
    width:100%;
  }
}


/* =========================================================
   Ravenwake v1.1.2 — Public drawer positioning hotfix
   ========================================================= */
body.rw-public-mode .rw-mobile-menu{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:auto!important;
  width:min(88vw,390px)!important;
  height:100dvh!important;
  margin:0!important;
  transform:translate3d(104%,0,0);
}
body.rw-public-mode .rw-mobile-menu.is-open{
  transform:translate3d(0,0,0)!important;
}
body.rw-public-mode .rw-mobile-menu-backdrop{
  position:fixed!important;
  inset:0!important;
  margin:0!important;
}

/* On desktop the drawer stays off-canvas even if stale UI state somehow remains. */
@media(min-width:901px){
  body.rw-public-mode .rw-mobile-menu{
    transform:translate3d(104%,0,0)!important;
    pointer-events:none!important;
  }
  body.rw-public-mode .rw-mobile-menu.is-open{
    transform:translate3d(104%,0,0)!important;
  }
  body.rw-public-mode .rw-mobile-menu-backdrop{
    display:none!important;
  }
  body.rw-public-mode.rw-mobile-menu-open{
    overflow:auto!important;
    touch-action:auto!important;
  }
}

/* The landing page must begin directly below the top bar. */
body.rw-public-mode main{
  min-height:0!important;
}


/* =========================================================
   Ravenwake v1.1.3 — Never Blank Hotfix
   ========================================================= */

/* The public landing page must never depend on JavaScript just to be visible. */
body.rw-public-mode .reveal{
  opacity:1!important;
  transform:none!important;
  visibility:visible!important;
}

/* Logged-in loading/error fallback. */
.game-boot-status{
  max-width:760px;
  min-height:220px;
  margin:34px auto;
  padding:24px!important;
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:18px;
  align-items:center;
  border-radius:15px!important;
  background:
    radial-gradient(circle at 10% 50%,rgba(213,165,78,.08),transparent 30%),
    linear-gradient(180deg,rgba(18,24,20,.99),rgba(9,14,11,.99))!important;
}
.game-boot-status[hidden]{display:none!important}
.game-boot-rune{
  width:68px;height:68px;
  display:grid;place-items:center;
  border:1px solid rgba(146,108,58,.68);
  border-radius:14px;
  background:#090d0b;
  color:#d9b56c;
  font-size:29px;
  box-shadow:0 10px 24px rgba(0,0,0,.25),0 0 16px rgba(211,164,78,.04);
}
.game-boot-status h2{
  margin:4px 0 7px;
  color:#eadcc2;
  font-size:27px;
}
.game-boot-status p{
  margin:0;
  color:#948a7b;
  line-height:1.55;
  font-size:14px;
}
.game-boot-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:15px;
}
.game-boot-actions[hidden]{display:none!important}

@media(max-width:780px){
  .game-boot-status{
    grid-template-columns:52px minmax(0,1fr);
    gap:12px;
    margin:18px 12px;
    padding:16px!important;
    min-height:180px;
  }
  .game-boot-rune{
    width:50px;height:50px;
    font-size:22px;
  }
  .game-boot-status h2{
    font-size:21px;
  }
}


/* =========================================================
   Ravenwake v1.1.5 — Centered Header Branding Cleanup
   ========================================================= */

/* The Ravenwake mark is the visual anchor of the public/game header and stays
   centered independently from the controls on the right-hand side. Admin
   navigation keeps its established modular layout. */
.rw-public-topbar > .brand,
.rw-game-topbar > .brand{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  margin:0;
}
.rw-public-topbar > .brand .brand-logo-link,
.rw-game-topbar > .brand .brand-logo-link{
  display:block;
}
.rw-public-topbar > .brand .brand-logo,
.rw-game-topbar > .brand .brand-logo{
  width:min(34vw,360px);
  max-height:74px;
}
.rw-public-topbar > .topbar-actions,
.rw-game-topbar > .topbar-actions{
  position:relative;
  z-index:3;
  margin-left:auto;
}

/* These temporary public section links are intentionally removed in v1.1.5. */
.rw-public-nav{display:none!important}

/* Public mobile header: logo centered, menu control pinned right. */
.rw-public-topbar > .rw-mobile-menu-button{
  position:relative;
  z-index:4;
  margin-left:auto;
}

/* With the section navigation removed, the drawer starts directly with
   language/account actions instead of leaving a large navigation gap. */
.rw-mobile-menu-language{margin-top:8px}

@media(max-width:900px){
  .rw-public-topbar > .brand .brand-logo,
  .rw-game-topbar > .brand .brand-logo{
    width:min(42vw,230px)!important;
    max-height:60px!important;
  }
}

@media(max-width:780px){
  .rw-public-topbar > .brand .brand-logo{
    width:min(48vw,172px)!important;
    max-width:none!important;
    max-height:54px!important;
  }
  .rw-game-topbar > .brand .brand-logo{
    width:min(29vw,104px)!important;
    max-width:none!important;
    max-height:46px!important;
  }
  .rw-mobile-menu-head{margin-bottom:12px}
}

@media(max-width:390px){
  .rw-game-topbar > .brand .brand-logo{
    width:min(27vw,90px)!important;
  }
}


/* =========================================================
   Ravenwake v1.1.6 — Global Typography Readability Pass
   =========================================================
   Small text tiers were raised consistently across public, game and admin UI.
   This especially improves card descriptions, metadata, labels, settlement life,
   character progression and compact mobile tiles without changing the layout
   hierarchy or the established Ravenwake visual style.
*/
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.panel p,.admin-card p,.activity-card p,.skill-card p,.inventory-card p{
  line-height:1.58;
}
#gamePanel p{
  font-size:14px!important;
  line-height:1.55;
}


/* =========================================================
   Ravenwake v1.1.7 — Activity Card Alignment Pass
   =========================================================
   Activity cards now stretch to equal heights within the grid.
   Descriptions, rewards and CTA areas align consistently so that
   no card sits visually higher or lower than its neighbors.
*/
.activity-grid{
  align-items:stretch;
}
.activity-grid > *{
  min-width:0;
}
.activity-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.activity-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.activity-head h3{
  margin-bottom:0;
}
.activity-card p{
  min-height:74px;
}
.reward-list{
  min-height:54px;
  align-content:flex-start;
}
.activity-card-footer{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.lock-note{
  margin-top:0;
  min-height:20px;
}
.activity-card .button{
  margin-top:0;
}
@media(max-width:780px){
  .activity-card p,
  .reward-list,
  .lock-note{
    min-height:0;
  }
}


/* =========================================================
   Ravenwake v1.1.8 — Oversized Header Emblem
   =========================================================
   The centered Ravenwake logo is deliberately larger and overlaps the
   lower header border slightly, giving the header a stronger emblem look.
*/
.rw-public-topbar,
.rw-game-topbar{
  overflow:visible;
}
.rw-public-topbar > .brand,
.rw-game-topbar > .brand{
  top:58%;
  z-index:55;
}
.rw-public-topbar > .brand .brand-logo,
.rw-game-topbar > .brand .brand-logo{
  width:min(42vw,440px)!important;
  max-width:none!important;
  max-height:112px!important;
}
.topbar.is-scrolled.rw-public-topbar > .brand .brand-logo,
.topbar.is-scrolled.rw-game-topbar > .brand .brand-logo{
  max-height:98px!important;
}

@media(max-width:900px){
  .rw-public-topbar > .brand,
  .rw-game-topbar > .brand{
    top:57%;
  }
  .rw-public-topbar > .brand .brand-logo,
  .rw-game-topbar > .brand .brand-logo{
    width:min(52vw,300px)!important;
    max-height:82px!important;
  }
}

@media(max-width:780px){
  .rw-public-topbar > .brand,
  .rw-game-topbar > .brand{
    top:56%;
  }
  .rw-public-topbar > .brand .brand-logo{
    width:min(58vw,210px)!important;
    max-height:68px!important;
  }
  .rw-game-topbar > .brand .brand-logo{
    width:min(38vw,138px)!important;
    max-height:58px!important;
  }
}

@media(max-width:390px){
  .rw-game-topbar > .brand .brand-logo{
    width:min(36vw,124px)!important;
  }
}


/* =========================================================
   Ravenwake v1.1.9 — Worker Preset Single Selection
   =========================================================
   Worker distribution presets behave visually like one exclusive choice.
   The highlighted preset always reflects the actual saved assignment.
*/
.worker-presets .worker-preset{
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.worker-presets .worker-preset.is-active,
.worker-presets .worker-preset[aria-pressed="true"]{
  border-color:#a98543!important;
  background:linear-gradient(180deg,rgba(93,72,37,.72),rgba(42,34,21,.82))!important;
  color:#f0d69c!important;
  box-shadow:inset 0 0 0 1px rgba(221,184,104,.13),0 0 16px rgba(191,148,65,.08);
}
.worker-presets .worker-preset.is-active:hover,
.worker-presets .worker-preset[aria-pressed="true"]:hover{
  border-color:#c29b52!important;
}

/* =========================================================
   Ravenwake v1.1.10 — Combat talents, activity bonus & claim polish
   ========================================================= */

/* Four talent paths read better as a balanced 2 × 2 layout on desktop. */
.talent-path-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.talent-path-card{height:100%}
.talent-path-combat{
  border-color:rgba(126,78,53,.62)!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(157,83,52,.06),transparent 34%),
    linear-gradient(180deg,rgba(25,25,21,.98),rgba(12,15,13,.99))!important;
}
.talent-path-combat .talent-path-icon{
  border-color:rgba(151,91,58,.58);
}

/* Personal activity bonus: compact in the card, detailed on hover/focus. */
.activity-bonus-badge{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  width:auto!important;
  cursor:help;
  outline:none;
  color:#d6bb7d!important;
  border-color:rgba(151,116,60,.72)!important;
  background:rgba(30,24,14,.72)!important;
}
.activity-bonus-badge.no-bonus{opacity:.68}
.activity-bonus-badge > span:first-child{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font-size:inherit!important;
}
.activity-bonus-tooltip{
  position:absolute!important;
  z-index:30;
  left:0;
  bottom:calc(100% + 9px);
  width:225px!important;
  display:flex!important;
  flex-direction:column;
  gap:4px!important;
  padding:10px 11px!important;
  border:1px solid rgba(145,108,57,.75)!important;
  border-radius:8px!important;
  background:#0b100d!important;
  box-shadow:0 18px 38px rgba(0,0,0,.52)!important;
  color:#b9aa8e!important;
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
}
.activity-bonus-tooltip strong,
.activity-bonus-tooltip small{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.activity-bonus-tooltip strong{color:#e3c98e!important;font-size:13px!important}
.activity-bonus-tooltip small{color:#a69b87!important;font-size:12px!important;line-height:1.35}
.activity-bonus-badge:hover .activity-bonus-tooltip,
.activity-bonus-badge:focus .activity-bonus-tooltip,
.activity-bonus-badge:focus-visible .activity-bonus-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.idle-work-bonus{color:#c9ad73!important;border-color:rgba(145,108,57,.66)!important}

/* A ready claim should look like an earned moment instead of a disabled-style utility box. */
.idle-claim-box{
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.idle-claim-box.has-ready{
  background:
    radial-gradient(circle at 50% 0%,rgba(216,169,81,.11),transparent 48%),
    linear-gradient(180deg,#15180f,#0a0e0b);
  box-shadow:inset 0 1px rgba(229,190,106,.05),0 -10px 30px rgba(0,0,0,.12);
}
.idle-claim-box.has-ready .idle-claim-summary > strong{
  font-size:22px;
  text-shadow:0 0 16px rgba(218,174,86,.14);
}
.idle-claim-button.has-yield::before{
  content:"✦";
  margin-right:7px;
}

/* Reward collection result modal. */
.claim-result-modal{
  width:min(600px,calc(100vw - 28px));
  overflow:visible;
}
.claim-result-hero{
  display:flex;
  align-items:center;
  gap:14px;
  padding:15px;
  margin-bottom:12px;
  border:1px solid rgba(112,88,51,.62);
  border-radius:12px;
  background:radial-gradient(circle at 13% 15%,rgba(219,173,83,.09),transparent 42%),rgba(8,12,10,.55);
}
.claim-result-rune{
  width:54px;height:54px;display:grid;place-items:center;flex:0 0 54px;
  border:1px solid rgba(163,126,64,.72);border-radius:50%;
  color:#e2c27d;font-size:27px;background:#0b100d;
  box-shadow:0 0 24px rgba(210,162,74,.08);
}
.claim-result-hero span{display:block;color:#8e8372;font-size:12px;text-transform:uppercase;letter-spacing:.10em}
.claim-result-hero strong{display:block;margin-top:2px;color:#ead8b1;font-size:28px}
.claim-result-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px;
}
.claim-result-stats article{
  padding:11px;border:1px solid rgba(78,65,45,.58);border-radius:9px;background:rgba(7,11,9,.38);
}
.claim-result-stats span{display:block;color:#82796b;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.claim-result-stats strong{display:block;margin-top:4px;color:#d8bd82;font-size:17px}
.claim-result-reward-section{margin-top:4px}
.claim-result-rewards{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;
}
.claim-result-reward{
  display:flex;align-items:center;gap:9px;padding:9px 10px;
  border:1px solid rgba(77,64,44,.54);border-radius:9px;background:rgba(7,11,9,.42);
}
.claim-result-reward-icon{width:34px!important;height:34px!important;flex:0 0 34px!important}
.claim-result-reward span{min-width:0}
.claim-result-reward small{display:block;color:#8f8576;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.claim-result-reward strong{display:block;color:#dec486;font-size:17px;margin-top:1px}
.claim-result-empty{grid-column:1/-1;padding:14px;text-align:center;color:#847b6e;border:1px dashed rgba(78,65,45,.52);border-radius:8px}
.claim-result-continue{width:100%;margin-top:16px;min-height:46px}

@media(max-width:780px){
  .talent-path-grid{grid-template-columns:1fr}
  .activity-bonus-tooltip{display:none!important}
  .claim-result-stats{grid-template-columns:1fr 1fr}
  .claim-result-stats article:last-child{grid-column:1/-1}
}
@media(max-width:430px){
  .claim-result-rewards{grid-template-columns:1fr}
}


/* =========================================================
   Ravenwake v1.1.11 — Storage Action Card Polish
   =========================================================
   The right-side storage shortcuts now look like proper action cards
   instead of a thin text strip. This improves hierarchy, readability
   and visual balance next to the supply inventory panel.
*/
.idle-storage-actions{
  min-width:320px;
  padding:16px;
  gap:12px;
  align-content:start;
  border-left:1px solid rgba(91,72,47,.52);
  background:
    radial-gradient(circle at 50% 0%,rgba(214,166,79,.06),transparent 42%),
    linear-gradient(180deg,rgba(9,13,11,.90),rgba(7,11,9,.78));
}
.idle-storage-action{
  flex:0 0 auto;
  width:100%;
  min-height:116px!important;
  grid-template-columns:48px minmax(0,1fr) 34px;
  gap:14px;
  padding:16px 17px;
  border:1px solid rgba(103,81,49,.58);
  border-radius:14px;
  border-bottom:1px solid rgba(103,81,49,.58);
  background:
    linear-gradient(180deg,rgba(17,23,19,.97),rgba(11,15,12,.97));
  box-shadow:0 12px 26px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,235,194,.025);
}
.idle-storage-action:hover{
  background:
    radial-gradient(circle at 10% 50%,rgba(215,167,79,.09),transparent 35%),
    linear-gradient(180deg,rgba(19,25,21,.98),rgba(12,16,13,.98));
  border-color:rgba(144,110,61,.72);
  box-shadow:0 16px 34px rgba(0,0,0,.2), inset 0 0 0 1px rgba(212,165,77,.08);
  transform:translateY(-1px);
}
.idle-storage-action-icon{
  width:46px;
  height:46px;
  border-radius:13px;
  background:linear-gradient(180deg,#0f1411,#090d0b);
  box-shadow:inset 0 0 0 1px rgba(210,163,76,.06);
}
.idle-storage-action-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.idle-storage-action-copy small{
  margin-bottom:4px;
  color:#918473;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.idle-storage-action-copy strong{
  margin:0 0 4px;
  color:#ecdcb8;
  font-size:21px;
  line-height:1.08;
}
.idle-storage-action-copy em{
  color:#9a8f7f;
  font-size:14px;
  line-height:1.4;
  font-style:normal;
}
.idle-storage-action-arrow{
  align-self:center;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(141,108,60,.5);
  border-radius:999px;
  color:#cfab6a;
  font-size:16px;
  line-height:1;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
  background:rgba(9,12,10,.72);
}
.idle-storage-action:hover .idle-storage-action-arrow{
  transform:translateX(2px);
  border-color:rgba(189,144,77,.74);
  background:rgba(18,23,19,.92);
}
.idle-storage-action--inventory .idle-storage-action-icon{
  color:#d9bf86;
}
.idle-storage-action--settlement .idle-storage-action-icon{
  color:#d6b06f;
}
.idle-storage-action--upgrade .idle-storage-action-icon{
  color:#e0bd7f;
}
@media(max-width:780px){
  .idle-storage-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding:12px;
    gap:10px;
    min-width:0;
    border-left:0;
    border-top:1px solid rgba(91,72,47,.52);
  }
  .idle-storage-action{
    min-height:110px!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:9px!important;
    padding:12px!important;
  }
  .idle-storage-action-copy strong{
    font-size:15px!important;
  }
  .idle-storage-action-copy small{
    font-size:9px!important;
    letter-spacing:.12em;
  }
  .idle-storage-action-copy em{
    display:none!important;
  }
  .idle-storage-action-arrow{
    display:none!important;
  }
}
@media(max-width:430px){
  .idle-storage-actions{
    grid-template-columns:1fr!important;
  }
  .idle-storage-action{
    grid-template-columns:36px minmax(0,1fr)!important;
    min-height:86px!important;
  }
  .idle-storage-action-copy strong{
    font-size:17px!important;
  }
}

/* =========================================================
   Ravenwake v1.1.13 — Character Titles & Achievements
   ========================================================= */
.character-achievements-section{margin-top:23px}
.character-point-counter.achievement{border-color:rgba(158,117,59,.72)}
.character-title-showcase{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:18px;
  align-items:center;
  padding:15px 17px!important;
  margin-bottom:11px;
  border-radius:13px!important;
  background:
    radial-gradient(circle at 10% 45%,rgba(216,168,78,.08),transparent 32%),
    linear-gradient(180deg,rgba(16,22,18,.97),rgba(9,14,11,.98))!important;
}
.character-title-current strong{
  display:block;
  margin-top:3px;
  color:#ead09a;
  font-size:26px;
  line-height:1.05;
}
.character-title-current small{display:block;margin-top:6px;color:#8f8576;font-size:14px}
.character-title-picker label{display:block;margin-bottom:6px;color:#9b8f7d;font-size:13px}
.character-title-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.character-title-picker-row select{min-width:0}
.character-title-picker-row .button{min-width:92px}

.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.achievement-card{
  position:relative;
  min-height:270px;
  display:flex;
  flex-direction:column;
  padding:14px!important;
  border-radius:12px!important;
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
.achievement-card.is-unlocked{
  border-color:rgba(143,105,55,.72)!important;
  background:
    radial-gradient(circle at 15% 10%,rgba(218,169,78,.085),transparent 34%),
    linear-gradient(180deg,rgba(18,24,20,.99),rgba(10,15,12,.99))!important;
  box-shadow:0 13px 28px rgba(0,0,0,.17),inset 0 0 0 1px rgba(215,170,84,.035);
}
.achievement-card.is-unlocked:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.21)}
.achievement-card.is-locked{opacity:.64;filter:saturate(.72)}
.achievement-card-top{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}
.achievement-icon{
  width:40px;height:40px;display:grid;place-items:center;
  border:1px solid rgba(132,98,53,.64);border-radius:11px;background:#090d0b;
  color:#d9b66f;font-size:19px
}
.achievement-card-heading{min-width:0}
.achievement-card-heading small{display:block;color:#8f806c;font-size:11px;text-transform:uppercase;letter-spacing:.11em}
.achievement-card-heading strong{display:block;margin-top:2px;color:#e1cfab;font-size:18px;line-height:1.12}
.achievement-state{color:#b99659;font-size:17px}
.achievement-card p{margin:11px 0 12px;color:#908677;font-size:14px;line-height:1.5;min-height:63px}
.achievement-progress{height:7px;overflow:hidden;border-radius:999px;background:#070a08;box-shadow:inset 0 1px 4px rgba(0,0,0,.72),0 0 0 1px rgba(108,82,48,.13)}
.achievement-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6d5834,#b18b49,#d1ac64);transition:width .3s ease}
.achievement-card.is-locked .achievement-progress i{opacity:.55}
.achievement-progress-meta{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#82796b;font-size:12px}
.achievement-reward{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:12px;padding:9px 10px;border:1px solid rgba(91,72,47,.49);border-radius:9px;background:rgba(7,11,9,.42)
}
.achievement-reward span{color:#7f7668;font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.achievement-reward strong{color:#cdb17a;font-size:13px;text-align:right}
.achievement-card .equip-achievement-title{margin-top:auto;padding-top:13px;text-align:left;color:#c7a263}
.achievement-card .equip-achievement-title:disabled{opacity:.7;cursor:default;color:#8e816c}
.achievement-migration-note{grid-column:1/-1}
.identity-field-hint{display:block;margin-top:5px;color:#7f7668;font-size:12px}

/* Admin achievement management */
.progression-achievement-admin{margin-top:22px;scroll-margin-top:110px}
.achievement-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.achievement-admin-row{scroll-margin-top:110px}
.achievement-admin-head{display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px;align-items:center}
.achievement-admin-head h3{margin:2px 0 0}
.achievement-admin-head small{color:#7e7465;font-size:11px}
.achievement-admin-icon{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(133,99,54,.62);border-radius:11px;background:#090d0b;color:#d9b46d;font-size:19px}

@media(max-width:1080px){
  .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .achievement-admin-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  .character-title-showcase{grid-template-columns:1fr;gap:13px;padding:13px!important}
  .character-title-current strong{font-size:22px}
  .achievement-grid{
    display:flex;overflow-x:auto;gap:9px;margin-left:-8px;margin-right:-8px;padding:2px 8px 9px;
    scroll-snap-type:x mandatory;scrollbar-width:none
  }
  .achievement-grid::-webkit-scrollbar{display:none}
  .achievement-card{flex:0 0 min(82vw,310px);scroll-snap-align:start;min-height:260px}
}
@media(max-width:430px){
  .character-title-picker-row{grid-template-columns:1fr}
  .character-title-picker-row .button{width:100%}
}


/* =========================================================
   Ravenwake v1.1.14 — Activity polish + title rarity colors
   ========================================================= */
.character-title-heading-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.title-rarity-badge,
.rarity-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(122,97,63,.55);
  background:rgba(14,18,15,.62);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.rarity-common{--rw-rarity:#b69d74;--rw-rarity-glow:rgba(182,157,116,.14);}
.rarity-uncommon{--rw-rarity:#88b378;--rw-rarity-glow:rgba(136,179,120,.14);}
.rarity-rare{--rw-rarity:#78a7c8;--rw-rarity-glow:rgba(120,167,200,.16);}
.rarity-epic{--rw-rarity:#b48bd0;--rw-rarity-glow:rgba(180,139,208,.18);}
.rarity-legendary{--rw-rarity:#d8a75e;--rw-rarity-glow:rgba(216,167,94,.18);}
.title-rarity-badge,
.rarity-badge{color:var(--rw-rarity);border-color:color-mix(in srgb, var(--rw-rarity) 58%, #4b402f);background:color-mix(in srgb, var(--rw-rarity-glow) 72%, rgba(8,12,10,.88));}
.character-title-showcase.rarity-common{border-color:rgba(133,103,62,.55)!important;}
.character-title-showcase.rarity-uncommon{border-color:rgba(103,140,92,.62)!important;background:radial-gradient(circle at 10% 45%,rgba(89,137,73,.12),transparent 34%),linear-gradient(180deg,rgba(16,22,18,.97),rgba(9,14,11,.98))!important;}
.character-title-showcase.rarity-rare{border-color:rgba(81,121,151,.66)!important;background:radial-gradient(circle at 10% 45%,rgba(67,123,167,.13),transparent 34%),linear-gradient(180deg,rgba(16,22,18,.97),rgba(9,14,11,.98))!important;}
.character-title-showcase.rarity-epic{border-color:rgba(124,87,160,.68)!important;background:radial-gradient(circle at 10% 45%,rgba(133,83,177,.14),transparent 34%),linear-gradient(180deg,rgba(16,22,18,.97),rgba(9,14,11,.98))!important;}
.character-title-showcase.rarity-legendary{border-color:rgba(180,123,57,.72)!important;background:radial-gradient(circle at 10% 45%,rgba(214,158,78,.17),transparent 34%),linear-gradient(180deg,rgba(16,22,18,.97),rgba(9,14,11,.98))!important;box-shadow:0 16px 36px rgba(0,0,0,.18),0 0 0 1px rgba(214,158,78,.06) inset;}
.character-title-showcase.rarity-uncommon .character-title-current strong,
.character-title-showcase.rarity-rare .character-title-current strong,
.character-title-showcase.rarity-epic .character-title-current strong,
.character-title-showcase.rarity-legendary .character-title-current strong{color:var(--rw-rarity)}

.activity-card{
  border-radius:14px;
}
.activity-head{
  align-items:flex-start;
  margin-bottom:10px;
}
.activity-head h3{
  margin-top:1px;
  font-size:33px;
  line-height:1.02;
}
.activity-location{
  font-size:11px;
  letter-spacing:.22em;
}
.activity-status-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid rgba(107,84,52,.58);
  background:rgba(10,14,12,.72);
  color:#cab07c;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.activity-status-badge.is-ready{color:#9ec991;border-color:rgba(95,145,88,.55);background:rgba(16,29,18,.72)}
.activity-status-badge.is-running{color:#e3be7c;border-color:rgba(170,128,70,.62);background:rgba(35,27,15,.76)}
.activity-status-badge.is-busy{color:#bda884;border-color:rgba(104,87,61,.48);background:rgba(16,18,16,.72)}
.activity-status-badge.is-locked{color:#c98e7f;border-color:rgba(144,88,73,.48);background:rgba(30,15,14,.72)}
.activity-card p{
  color:#9d9383;
}
.activity-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:15px 0 14px;
}
.activity-meta > span,
.activity-meta > .activity-bonus-badge{
  min-width:0;
  min-height:40px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:11px!important;
  padding:7px 10px!important;
}
.activity-yield-block{
  margin-top:3px;
}
.activity-section-kicker{
  display:block;
  margin-bottom:7px;
  color:#8e816f;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.activity-card .reward-list{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  min-height:74px;
}
.activity-card .reward{
  display:flex;
  align-items:center;
  gap:9px;
  justify-content:flex-start;
  padding:8px 10px;
  border-radius:11px;
  background:linear-gradient(180deg,rgba(13,18,15,.76),rgba(8,12,10,.82));
  border-color:rgba(76,64,44,.58)!important;
}
.activity-card .reward-icon{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
}
.activity-card.active{
  box-shadow:0 0 0 1px rgba(195,166,106,.14),0 22px 42px rgba(0,0,0,.24),0 0 18px rgba(209,165,78,.05);
}
.achievement-card{
  border-width:1px!important;
}
.achievement-top-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.achievement-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  border:1px solid rgba(111,89,56,.48);
  background:rgba(9,12,10,.56);
}
.achievement-card.is-unlocked.rarity-common{border-color:rgba(143,105,55,.72)!important;}
.achievement-card.is-unlocked.rarity-uncommon{border-color:rgba(98,138,92,.68)!important;background:radial-gradient(circle at 15% 10%,rgba(122,169,91,.095),transparent 34%),linear-gradient(180deg,rgba(18,24,20,.99),rgba(10,15,12,.99))!important;}
.achievement-card.is-unlocked.rarity-rare{border-color:rgba(76,122,158,.72)!important;background:radial-gradient(circle at 15% 10%,rgba(95,151,202,.1),transparent 34%),linear-gradient(180deg,rgba(18,24,20,.99),rgba(10,15,12,.99))!important;}
.achievement-card.is-unlocked.rarity-epic{border-color:rgba(125,87,166,.72)!important;background:radial-gradient(circle at 15% 10%,rgba(148,92,196,.11),transparent 34%),linear-gradient(180deg,rgba(18,24,20,.99),rgba(10,15,12,.99))!important;}
.achievement-card.is-unlocked.rarity-legendary{border-color:rgba(184,129,59,.8)!important;background:radial-gradient(circle at 15% 10%,rgba(213,160,81,.16),transparent 34%),linear-gradient(180deg,rgba(18,24,20,.99),rgba(10,15,12,.99))!important;box-shadow:0 16px 34px rgba(0,0,0,.2),0 0 0 1px rgba(213,160,81,.06) inset;}
.achievement-card.rarity-uncommon .achievement-icon{color:#88b378;border-color:rgba(103,140,92,.62)}
.achievement-card.rarity-rare .achievement-icon{color:#78a7c8;border-color:rgba(81,121,151,.66)}
.achievement-card.rarity-epic .achievement-icon{color:#b48bd0;border-color:rgba(124,87,160,.68)}
.achievement-card.rarity-legendary .achievement-icon{color:#d8a75e;border-color:rgba(180,123,57,.72)}
.achievement-reward.rarity-uncommon strong{color:#9aca88}
.achievement-reward.rarity-rare strong{color:#87bbdf}
.achievement-reward.rarity-epic strong{color:#cc9ff0}
.achievement-reward.rarity-legendary strong{color:#e4b56c}
@media(max-width:780px){
  .activity-head{
    gap:8px;
  }
  .activity-head h3{
    font-size:26px!important;
  }
  .activity-meta{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:430px){
  .activity-head{
    flex-direction:column;
  }
  .activity-status-badge{
    align-self:flex-start;
  }
  .activity-meta{
    grid-template-columns:1fr;
  }
  .character-title-heading-row{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
}

/* =========================================================
   Ravenwake v1.1.15 — Crafting Core
   ========================================================= */
.crafting-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:22px!important;
  margin-bottom:16px;
  border-radius:14px!important;
  background:
    radial-gradient(circle at 82% 22%,rgba(206,154,74,.08),transparent 28%),
    linear-gradient(180deg,rgba(18,24,20,.99),rgba(10,15,12,.99))!important;
}
.crafting-hero h2{margin:4px 0 7px;font-size:38px}
.crafting-hero p{margin:0;max-width:780px;color:#9b9180;font-size:15px;line-height:1.6}
.crafting-hero-rune{
  width:78px;height:78px;display:grid;place-items:center;
  border:1px solid rgba(151,112,61,.62);border-radius:18px;
  background:radial-gradient(circle at 50% 35%,rgba(214,165,78,.09),rgba(8,12,10,.78));
  color:#dab76f;font-size:34px;box-shadow:0 16px 34px rgba(0,0,0,.18)
}
.crafting-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(310px,.38fr);
  align-items:start;
  gap:16px;
}
.crafting-catalog{min-width:0}
.crafting-toolbar{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:18px;
  align-items:end;padding:15px!important;margin-bottom:12px;border-radius:12px!important
}
.crafting-toolbar h3{margin:3px 0 4px;font-size:22px}
.crafting-toolbar p{margin:0;color:#8d8374;font-size:14px;line-height:1.45}
.crafting-toolbar-tools{display:flex;flex-direction:column;gap:8px;min-width:0}
.crafting-toolbar input{width:100%;min-height:40px}
.crafting-filter-row{display:flex;flex-wrap:wrap;gap:6px}
.crafting-filter{
  min-height:32px;padding:5px 10px;border:1px solid rgba(82,69,48,.58);border-radius:999px;
  background:#0c110e;color:#918776;font:inherit;font-size:12px;cursor:pointer
}
.crafting-filter:hover,.crafting-filter.active{border-color:rgba(160,120,63,.72);color:#dfc387;background:rgba(34,26,15,.72)}
.crafting-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.crafting-recipe-card{
  position:relative;display:flex;flex-direction:column;min-width:0;min-height:560px;
  padding:15px!important;border-radius:14px!important;overflow:hidden;
  background:radial-gradient(circle at 10% 0%,rgba(211,162,75,.035),transparent 34%),linear-gradient(180deg,rgba(16,22,18,.99),rgba(9,14,11,.99))!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease
}
.crafting-recipe-card:hover{transform:translateY(-2px);border-color:rgba(130,99,56,.68)!important;box-shadow:0 18px 36px rgba(0,0,0,.2)}
.crafting-recipe-card.is-locked{opacity:.7;filter:saturate(.72)}
.crafting-recipe-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:start}
.crafting-output-icon{
  width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(133,100,55,.62);border-radius:13px;
  background:#090d0b;overflow:hidden
}
.crafting-output-item-icon,.crafting-output-item-icon img{width:44px!important;height:44px!important;object-fit:contain}
.crafting-output-mini-icon,.crafting-output-mini-icon img{width:25px!important;height:25px!important;object-fit:contain}
.crafting-recipe-title{min-width:0}
.crafting-category-tag{
  display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid rgba(111,86,51,.52);border-radius:999px;
  color:#9d8d72;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(9,13,11,.6)
}
.crafting-recipe-title h3{margin:5px 0 4px;color:#e7d3ab;font-size:22px;line-height:1.08}
.crafting-recipe-title p{margin:0;color:#918777;font-size:14px;line-height:1.5;min-height:64px}
.crafting-recipe-symbol{color:#a98b58;font-size:20px;opacity:.82}
.crafting-output-strip{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin:13px 0 12px;padding:9px 10px;
  border:1px solid rgba(81,67,45,.55);border-radius:10px;background:rgba(7,11,9,.42)
}
.crafting-output-strip>span{color:#817667;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.crafting-output-strip>strong{display:flex;align-items:center;gap:6px;color:#d9be82;font-size:14px;text-align:right}
.crafting-output-strip b{color:#efd49b}
.crafting-requirements-block,.crafting-ingredients-block{margin-top:2px}
.crafting-requirements-block>small,.crafting-ingredients-block>small{
  display:block;margin-bottom:6px;color:#807666;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase
}
.crafting-requirements{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.crafting-requirement{
  display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border:1px solid rgba(82,69,48,.5);border-radius:8px;
  background:rgba(8,12,10,.5);font-size:11px;color:#998e7a
}
.crafting-requirement.met{color:#9fbc87;border-color:rgba(91,127,77,.52)}
.crafting-requirement.missing{color:#c28d7b;border-color:rgba(130,75,62,.5)}
.crafting-lock-note{margin:-2px 0 10px;color:#b78a72;font-size:12px;line-height:1.4}
.crafting-ingredients{display:grid;grid-template-columns:1fr;gap:6px}
.crafting-ingredient{
  min-width:0;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;
  padding:7px 8px;border:1px solid rgba(75,62,43,.5);border-radius:9px;background:rgba(7,11,9,.38)
}
.crafting-ingredient.enough{border-color:rgba(79,104,65,.45)}
.crafting-ingredient.missing{border-color:rgba(119,70,58,.48);background:rgba(29,14,12,.3)}
.crafting-ingredient-icon,.crafting-ingredient-icon img{width:29px!important;height:29px!important;object-fit:contain}
.crafting-ingredient>span{min-width:0}
.crafting-ingredient>span strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cbb994;font-size:12px}
.crafting-ingredient>span small{display:block;margin-top:2px;color:#776f63;font-size:10px}
.crafting-ingredient>b{color:#bca274;font-size:11px;font-weight:600;white-space:nowrap}
.crafting-ingredient.missing>b{color:#bf8070}
.crafting-ingredient b em{font-style:normal}
.crafting-recipe-meta{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:11px
}
.crafting-recipe-meta>span{padding:7px;border:1px solid rgba(73,61,42,.48);border-radius:8px;background:rgba(7,11,9,.34);min-width:0}
.crafting-recipe-meta small{display:block;color:#766e62;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.crafting-recipe-meta strong{display:block;margin-top:3px;color:#cdb27c;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crafting-recipe-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:auto;padding-top:13px}
.crafting-qty-control{display:grid;grid-template-columns:34px 52px 34px minmax(64px,auto);gap:5px;align-items:center}
.crafting-qty-step,.crafting-qty-max{
  min-height:36px;border:1px solid rgba(91,72,47,.58);border-radius:8px;background:#0b100d;color:#c9ad76;font:inherit;cursor:pointer
}
.crafting-qty-step{font-size:18px}
.crafting-qty-max{padding:5px 8px;font-size:11px}
.crafting-qty-input{min-width:0;width:52px!important;min-height:36px!important;padding:5px!important;text-align:center!important}
.crafting-start{min-width:118px;min-height:40px}
.crafting-empty{
  grid-column:1/-1;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  padding:18px;border:1px dashed rgba(87,70,47,.5);border-radius:11px;color:#857b6d;text-align:center
}
.crafting-empty>span{font-size:25px;color:#ad925c}

.crafting-queue{
  position:sticky;top:16px;padding:15px!important;border-radius:14px!important;
  background:radial-gradient(circle at 50% 0%,rgba(212,164,77,.055),transparent 34%),linear-gradient(180deg,rgba(15,20,17,.99),rgba(9,13,11,.99))!important
}
.crafting-queue-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.crafting-queue-head h3{margin:3px 0 4px;font-size:21px}
.crafting-queue-head p{margin:0;color:#847b6d;font-size:12px;line-height:1.4}
.crafting-slot-counter{flex:0 0 auto;min-width:72px;padding:7px 9px;border:1px solid rgba(101,79,49,.52);border-radius:9px;background:rgba(7,11,9,.48);text-align:right}
.crafting-slot-counter span{display:block;color:#756d61;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.crafting-slot-counter strong{display:block;margin-top:2px;color:#d2b579;font-size:15px}
.crafting-claim-all{width:100%;margin-bottom:9px;min-height:40px}
.crafting-queue-list{display:flex;flex-direction:column;gap:8px}
.crafting-job{padding:10px;border:1px solid rgba(77,64,44,.55);border-radius:10px;background:rgba(7,11,9,.48)}
.crafting-job.is-active{border-color:rgba(144,105,58,.68);background:radial-gradient(circle at 10% 15%,rgba(205,156,73,.07),transparent 38%),rgba(9,13,11,.58)}
.crafting-job.is-complete{border-color:rgba(92,132,79,.68);background:radial-gradient(circle at 10% 15%,rgba(108,159,91,.08),transparent 38%),rgba(9,14,10,.62)}
.crafting-job-main{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center}
.crafting-job-icon,.crafting-job-icon img{width:36px!important;height:36px!important;object-fit:contain}
.crafting-job-copy{min-width:0}
.crafting-job-status{display:block;color:#8e7d65;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.crafting-job.is-active .crafting-job-status{color:#cba660}
.crafting-job.is-complete .crafting-job-status{color:#9cc18a}
.crafting-job-copy strong{display:block;margin-top:2px;color:#d9c6a0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crafting-job-copy small{display:block;margin-top:2px;color:#81786b;font-size:11px}
.crafting-job-progress{height:6px;margin-top:9px;overflow:hidden;border-radius:999px;background:#070a08;box-shadow:inset 0 1px 3px rgba(0,0,0,.7)}
.crafting-job-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#735b34,#c59a50);transition:width .3s linear}
.crafting-job.is-complete .crafting-job-progress i{background:linear-gradient(90deg,#607653,#94b478)}
.crafting-job-time{margin-top:5px;color:#867c6d;font-size:11px;text-align:right}
.crafting-job-actions{margin-top:8px}
.crafting-job-actions .button{width:100%;min-height:35px;padding:7px 10px}

@media(max-width:1180px){
  .crafting-layout{grid-template-columns:1fr}
  .crafting-queue{position:static;order:-1}
  .crafting-queue-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .crafting-empty{grid-column:1/-1}
}
@media(max-width:900px){
  .crafting-toolbar{grid-template-columns:1fr}
  .crafting-recipe-grid{grid-template-columns:1fr}
  .crafting-recipe-card{min-height:0}
}
@media(max-width:780px){
  .crafting-hero{grid-template-columns:minmax(0,1fr) 58px;padding:15px!important;gap:12px}
  .crafting-hero h2{font-size:29px}
  .crafting-hero p{font-size:14px}
  .crafting-hero-rune{width:55px;height:55px;border-radius:13px;font-size:24px}
  .crafting-toolbar{padding:12px!important}
  .crafting-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
  .crafting-filter-row::-webkit-scrollbar{display:none}
  .crafting-filter{flex:0 0 auto}
  .crafting-queue-list{grid-template-columns:1fr}
  .crafting-recipe-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .crafting-recipe-head{grid-template-columns:45px minmax(0,1fr)}
  .crafting-output-icon{width:43px;height:43px}
  .crafting-output-item-icon,.crafting-output-item-icon img{width:38px!important;height:38px!important}
  .crafting-recipe-symbol{display:none}
  .crafting-recipe-title h3{font-size:19px}
  .crafting-recipe-title p{min-height:0;font-size:13px}
  .crafting-recipe-actions{grid-template-columns:1fr}
  .crafting-qty-control{grid-template-columns:36px 58px 36px minmax(0,1fr)}
  .crafting-qty-input{width:58px!important}
  .crafting-start{width:100%}
}

/* Ravenwake v1.1.15 — Crafting admin */
.crafting-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.crafting-admin-card{scroll-margin-top:110px;padding:16px!important}
.crafting-admin-card-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;margin-bottom:14px}
.crafting-admin-card-head h3{margin:2px 0 1px}
.crafting-admin-card-head small{color:#7d7466;font-size:11px}
.crafting-admin-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(138,103,55,.62);border-radius:12px;background:#090d0b;color:#dbb873;font-size:20px}
.crafting-admin-state{padding:5px 8px;border:1px solid rgba(91,75,51,.5);border-radius:999px;font-size:9px;letter-spacing:.09em}
.crafting-admin-state.active{color:#9eba8a;border-color:rgba(85,126,75,.5)}
.crafting-admin-state.inactive{color:#b57c70;border-color:rgba(128,75,63,.5)}
.crafting-admin-form-grid{align-items:end}
.crafting-admin-ingredients{display:grid;gap:7px}
.crafting-admin-ingredient-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}
.crafting-admin-create{padding:17px!important}
@media(max-width:1100px){.crafting-admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.crafting-admin-ingredient-row{grid-template-columns:1fr 95px}.crafting-admin-card-head{grid-template-columns:42px minmax(0,1fr)}.crafting-admin-state{grid-column:1/-1;justify-self:start}}
.crafting-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.crafting-admin-stats article{padding:13px!important}
.crafting-admin-stats strong{display:block;margin-top:5px;color:#dfc181;font-size:25px}
.crafting-admin-stats small{display:block;margin-top:2px;color:#847a6c;font-size:11px}
@media(max-width:820px){.crafting-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* =========================================================
   Ravenwake v1.1.16 — Activity/Crafting production-chain audit
   ========================================================= */
.crafting-chain-audit{padding:16px!important}
.crafting-chain-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.crafting-chain-audit-head h3{margin:3px 0 5px}
.crafting-chain-audit-head p{margin:0;color:#8f8576;font-size:14px;line-height:1.5;max-width:780px}
.crafting-chain-audit-state{flex:0 0 auto;padding:7px 11px;border-radius:999px;border:1px solid rgba(96,78,54,.55);font-size:10px;font-weight:800;letter-spacing:.1em}
.crafting-chain-audit-state.ok{color:#9fc28e;border-color:rgba(91,135,78,.62);background:rgba(20,37,20,.48)}
.crafting-chain-audit-state.warning{color:#d4a77c;border-color:rgba(153,101,67,.62);background:rgba(39,24,17,.52)}
.crafting-chain-audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.crafting-chain-audit-grid article{padding:12px;border:1px solid rgba(78,65,45,.56);border-radius:10px;background:rgba(8,12,10,.43)}
.crafting-chain-audit-grid span{display:block;color:#8c806f;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.crafting-chain-audit-grid strong{display:block;margin-top:4px;color:#e0c183;font-size:24px}
.crafting-chain-audit-grid small{display:block;margin-top:2px;color:#887e6f;font-size:12px;line-height:1.4}
.crafting-chain-issues{display:grid;gap:6px;margin-top:10px}
.crafting-chain-issues>div{padding:8px 10px;border:1px solid rgba(132,83,60,.46);border-radius:8px;background:rgba(35,20,15,.36);color:#c8aa8e;font-size:13px}
@media(max-width:620px){.crafting-chain-audit-head{display:block}.crafting-chain-audit-state{display:inline-flex;margin-top:10px}.crafting-chain-audit-grid{grid-template-columns:1fr}}
