/* Legacy Builders — The Living World (v3.0)
   Unified engine styling. Merges the Horsemen "premium dark historical"
   language with the Legacy Builders realm shell into one clean system. */

.lb-root{
  --bg:#07080a; --panel:#0d1013; --panel2:#12161a; --line:rgba(212,175,120,.16);
  --gold:#c9a24b; --gold2:#ecd8a3; --text:#f4f1ea; --muted:#a7afb4;
  --emerald:#1f6f54; --violet:#4b3f6b; --red:#a3453f; --blue:#1c4a63;
  position:relative; width:100%; min-height:640px; border-radius:22px; overflow:hidden;
  background:radial-gradient(circle at 50% 0,rgba(201,162,75,.10),transparent 34%),
             linear-gradient(180deg,#0a0906,#07070a 60%);
  color:var(--text); font-family:"Inter",system-ui,Arial,sans-serif;
}
.lb-root *{box-sizing:border-box}
.lb-root button,.lb-root input,.lb-root select,.lb-root textarea{font:inherit;color:inherit}
.lb-hidden{display:none!important}
.lb-app{min-height:640px;padding-bottom:82px}

/* Top bar */
.lb-topbar{position:sticky;top:0;z-index:20;background:rgba(7,7,9,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.lb-top-inner{max-width:1180px;margin:auto;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.lb-brand{display:flex;align-items:center;gap:10px}
.lb-seal{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);
  background:radial-gradient(circle at 35% 25%,#213a36,#08100f 65%);color:var(--gold2);font:800 .95rem "Cormorant Garamond",Georgia,serif}
.lb-brand strong{display:block;font:800 .88rem "Cormorant Garamond",Georgia,serif;letter-spacing:.13em;text-transform:uppercase}
.lb-brand small{display:block;color:var(--gold);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.lb-top-actions{display:flex;align-items:center;gap:7px}
.lb-icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:linear-gradient(145deg,#17302d,#08100f);color:var(--gold2);display:grid;place-items:center;cursor:pointer}

/* Layout */
.lb-main{max-width:1180px;margin:auto;padding:14px}
.lb-view{display:none}.lb-view.lb-active{display:block}

/* Hero */
.lb-hero{position:relative;min-height:400px;border:1px solid var(--line);border-radius:24px;overflow:hidden;
  display:flex;align-items:flex-end;padding:clamp(20px,5vw,52px);background:
  linear-gradient(180deg,rgba(4,4,3,.05),rgba(4,4,3,.96)),
  linear-gradient(90deg,rgba(4,4,3,.9),rgba(4,4,3,.14)),
  var(--hero-img) center/cover no-repeat}
.lb-hero-content{position:relative;z-index:2;max-width:680px}
.lb-hero .lb-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:800}
.lb-hero h1{margin:6px 0 8px;font:800 clamp(2.2rem,7vw,3.6rem)/1.02 "Cormorant Garamond",Georgia,serif}
.lb-hero p{max-width:560px;color:#d6ccb8;line-height:1.6;font-size:.92rem}

/* Metrics */
.lb-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}
.lb-metric{padding:13px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#141210,#0e0d0b)}
.lb-metric small{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.lb-metric strong{display:block;margin-top:4px;color:var(--gold2);font:800 1.25rem "Cormorant Garamond",Georgia,serif}

/* Buttons */
.lb-btn{border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:#1a1712;color:var(--text);font-weight:700;cursor:pointer;font-size:.85rem}
.lb-btn:hover{filter:brightness(1.14)}
.lb-btn-primary{background:linear-gradient(180deg,var(--gold2),#b88d35);color:#171208;box-shadow:0 8px 22px rgba(201,162,75,.15)}
.lb-btn-ghost{background:transparent}
.lb-btn:disabled{opacity:.4;cursor:not-allowed}
.lb-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}

/* Section headers */
.lb-section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin:18px 0 10px}
.lb-section-head h2{margin:2px 0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem}
.lb-section-head p{color:var(--muted);font-size:.82rem;margin:0}

/* Cards / Grids */
.lb-grid{display:grid;gap:12px}
.lb-card-grid{grid-template-columns:1fr}
.lb-card{position:relative;overflow:hidden;background:#151310;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:14px}
.lb-card:before{content:'';position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(236,216,163,.35),transparent)}
.lb-card img{width:100%;height:150px;object-fit:cover;border-radius:11px;margin-bottom:10px;filter:saturate(.9) contrast(1.03)}
.lb-card h3{margin:6px 0 4px;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.15rem}
.lb-card p{margin:0;color:#beb4a2;line-height:1.5;font-size:.85rem}
.lb-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(201,162,75,.14);color:var(--gold2);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.lb-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:.72rem}
.lb-locked{opacity:.5}
.lb-locked .lb-btn{pointer-events:none}

/* Realm map */
.lb-realm{cursor:pointer}
.lb-realm.lb-locked{cursor:not-allowed}
.lb-realm .lb-icon{font-size:1.6rem}

/* Choices */
.lb-choice-list{display:grid;gap:8px;margin-top:12px}
.lb-choice{width:100%;text-align:left;padding:12px}
.lb-choice small{display:block;color:var(--muted);margin-top:4px;font-size:.72rem}

/* Progress */
.lb-progress-track{height:9px;background:#0b0a08;border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.lb-progress-bar{height:100%;background:linear-gradient(90deg,#a77c2d,var(--gold2))}
.lb-pillar-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:8px 0;font-size:.78rem}
.lb-pillar-row .lb-progress-track{flex:1}

/* Panels / notices */
.lb-panel{background:linear-gradient(160deg,#141210,#0c0b09);border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:14px}
.lb-panel h2{margin:3px 0;font-family:"Cormorant Garamond",Georgia,serif}
.lb-notice{padding:13px;border-radius:14px;background:rgba(201,162,75,.08);border:1px solid var(--line);color:#d7ccb7;font-size:.85rem}
.lb-empty{text-align:center;padding:26px;color:var(--muted)}

/* Journal */
.lb-journal{display:grid;gap:8px}
.lb-journal-entry{padding:11px;border-left:3px solid var(--gold);background:#121009;border-radius:0 12px 12px 0}
.lb-journal-entry small{color:var(--muted);display:block;margin-top:3px}

/* Continent filter row */
.lb-chip-row{display:flex;gap:7px;overflow:auto;margin:10px 0 14px;padding-bottom:2px}
.lb-chip{white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#151310;color:var(--muted);padding:8px 13px;font-size:.72rem;font-weight:700;cursor:pointer}
.lb-chip.lb-active{background:var(--gold);color:#171208;border-color:var(--gold)}

/* Featured / Homeland */
.lb-featured{border-color:rgba(236,216,163,.36);background:radial-gradient(circle at 90% 0,rgba(31,111,84,.18),transparent 32%),#101a17}
.lb-featured:after{content:'HOMELAND';position:absolute;right:10px;top:10px;padding:5px 7px;border-radius:999px;background:var(--gold);color:#08100f;font-size:.54rem;font-weight:900;letter-spacing:.1em}

/* Mastery / Providence */
.lb-master-card{border-color:rgba(236,216,163,.4);background:radial-gradient(circle at top right,rgba(201,162,75,.14),transparent 42%),#151210}
.lb-providence{display:grid;grid-template-columns:74px 1fr;gap:14px;align-items:center}
.lb-providence-mark{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);
  background:radial-gradient(circle,#2c2718,#0d0c09);font:800 1.7rem "Cormorant Garamond",Georgia,serif;color:var(--gold2)}

/* Modal */
.lb-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.82);display:grid;place-items:end center}
.lb-modal-box{width:min(640px,100%);max-height:88vh;overflow:auto;background:#151310;border:1px solid var(--line);border-radius:22px 22px 0 0;padding:20px}
.lb-modal-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}

/* Toast */
.lb-toast{position:fixed;left:50%;bottom:88px;z-index:10000;transform:translate(-50%,18px);opacity:0;transition:.24s;
  background:#221d15;border:1px solid var(--gold);padding:10px 15px;border-radius:999px;font-size:.82rem}
.lb-toast.lb-show{opacity:1;transform:translate(-50%,0)}

/* Bottom dock */
.lb-dock{position:fixed;left:50%;bottom:0;z-index:1000;transform:translateX(-50%);width:min(760px,100%);
  display:grid;grid-template-columns:repeat(6,1fr);padding:7px;background:rgba(7,7,9,.97);border-top:1px solid var(--line)}
.lb-dock button{border:0;background:transparent;color:var(--muted);font-size:.6rem;display:grid;place-items:center;gap:2px;cursor:pointer;padding:6px 2px}
.lb-dock button span{font-size:1.05rem}
.lb-dock button.lb-active{color:var(--gold2)}

/* Login gate */
.lb-login-gate{padding:34px;border:1px solid var(--gold);background:#111;color:#f2ead8;border-radius:18px;text-align:center}
.lb-login-gate a{display:inline-block;margin-top:12px;padding:12px 18px;background:#fff;color:#222;border-radius:12px;text-decoration:none;font-weight:800}

.lb-loading{min-height:400px;display:grid;place-content:center;text-align:center;gap:8px}

@media(min-width:720px){
  .lb-metrics{grid-template-columns:repeat(4,1fr)}
  .lb-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1040px){
  .lb-card-grid{grid-template-columns:repeat(3,1fr)}
}
