@charset "UTF-8";
:root{
  --ul-bg-1:#040812; --ul-bg-2:#081221; --ul-panel:linear-gradient(180deg,rgba(10,18,34,.92),rgba(6,10,22,.86));
  --ul-border:rgba(124,178,255,.18); --ul-cyan:#7ee7ff; --ul-text:#edf5ff; --ul-soft:#aac3e4; --ul-shadow:0 24px 80px rgba(0,0,0,.36);
}
body{background:radial-gradient(circle at 10% -10%, rgba(61,121,255,.18), transparent 28%),radial-gradient(circle at 90% 0%, rgba(0,229,255,.10), transparent 22%),linear-gradient(180deg, var(--ul-bg-1), var(--ul-bg-2) 38%, #04070f 100%) !important;color:var(--ul-text);}
.page-overlay{background:linear-gradient(180deg, rgba(2,6,14,.28), rgba(2,6,14,.72)),radial-gradient(circle at 20% 20%, rgba(82,130,255,.08), transparent 26%),radial-gradient(circle at 80% 10%, rgba(66,236,255,.06), transparent 18%);}
.main-header,.landing-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(12px);}
.banner-wrap{position:relative}.banner-wrap::after{content:"";position:absolute;inset:auto 2% -10px 2%;height:28px;background:radial-gradient(circle, rgba(123,177,255,.18), transparent 70%);filter:blur(18px);pointer-events:none;}
.top-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:center;margin:16px auto 0;padding:14px 18px;width:min(1400px,calc(100% - 32px));border-radius:999px;background:linear-gradient(180deg,rgba(8,16,31,.86),rgba(5,10,21,.72));border:1px solid rgba(142,199,255,.14);box-shadow:0 18px 45px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);}
.top-bar button,.top-bar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:14px !important;border:1px solid rgba(146,188,255,.12) !important;background:linear-gradient(180deg, rgba(15,29,54,.88), rgba(9,16,31,.84)) !important;color:var(--ul-text) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.18);font-weight:700;letter-spacing:.01em;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.top-bar button:hover,.top-bar a:hover{transform:translateY(-2px);border-color:rgba(126,201,255,.36) !important;box-shadow:0 16px 32px rgba(0,0,0,.24), 0 0 0 1px rgba(142,199,255,.08) inset;}
.top-bar button.active,.top-bar a.active{background:linear-gradient(180deg, rgba(27,66,126,.96), rgba(14,35,69,.92)) !important;border-color:rgba(154,214,255,.42) !important;box-shadow:0 18px 38px rgba(18,72,141,.28), inset 0 1px 0 rgba(255,255,255,.08);}
.top-bar .btn-danger{background:linear-gradient(180deg, rgba(112,34,34,.95), rgba(59,14,14,.88)) !important;}
.ultra-hero{width:min(1400px, calc(100% - 32px));margin:20px auto 18px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);gap:18px;}
.ultra-hero-main,.ultra-hero-side{position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--ul-border);background:linear-gradient(140deg, rgba(8,17,33,.94), rgba(6,11,22,.78));box-shadow:var(--ul-shadow);}
.ultra-hero-main{padding:28px 30px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;}
.ultra-hero-main::before,.ultra-hero-side::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0% 0%, rgba(127,185,255,.18), transparent 30%),radial-gradient(circle at 100% 0%, rgba(255,210,124,.12), transparent 20%),linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));pointer-events:none;}
.ultra-eyebrow{margin:0 0 10px;text-transform:uppercase;font-size:.82rem;letter-spacing:.18em;color:var(--ul-cyan);}
.ultra-hero-title{margin:0;font-size:clamp(2rem,3.6vw,3.35rem);line-height:1.02;letter-spacing:-.03em;}
.ultra-hero-sub{margin:12px 0 0;max-width:68ch;color:var(--ul-soft);font-size:1.02rem;}
.ultra-chip-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.ultra-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:#f5fbff;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.ultra-side-stack{display:grid;gap:12px;padding:20px;}
.ultra-side-card{border-radius:18px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));padding:16px 16px 14px;}
.ultra-side-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ul-cyan);margin:0 0 6px;}
.ultra-side-value{font-size:1.1rem;font-weight:800;margin:0;}
.ultra-side-help{margin:4px 0 0;color:var(--ul-soft);font-size:.92rem;}
#main-content,.admin-layout,.caserne-root,.forge-root,body > main{width:min(1400px, calc(100% - 32px));margin:0 auto 30px;}
.panel,.map-panel,.admin-layout .panel,.village-layout .panel,#main-content > section,.caserne-panel,.forge-shell{position:relative;border-radius:24px !important;border:1px solid var(--ul-border) !important;background:var(--ul-panel) !important;box-shadow:var(--ul-shadow) !important;overflow:hidden;}
.panel-kicker,.eyebrow,.caserne-kicker{color:var(--ul-cyan) !important;text-transform:uppercase;letter-spacing:.18em !important;font-size:.78rem !important;}
.btn,.btn-primary,button.btn-primary,button.btn-secondary,.btn-secondary,.btn-outline,.btn-ghost,button[type='submit'],.actions-row button,.auth-form button{border:none;border-radius:16px !important;min-height:46px;padding:0 18px !important;font-weight:800 !important;letter-spacing:.01em;}
.btn-primary,button.btn-primary,button[type='submit'],.auth-form button{color:#fff !important;background:linear-gradient(180deg, #3485ff, #1850ad) !important;box-shadow:0 16px 32px rgba(40,98,197,.28), inset 0 1px 0 rgba(255,255,255,.12) !important;}
.btn-secondary,.btn-outline,.btn-ghost,button.btn-secondary{color:#f4fbff !important;background:linear-gradient(180deg, rgba(18,34,62,.95), rgba(10,17,31,.88)) !important;border:1px solid rgba(136,190,255,.18) !important;}
input,select,textarea{background:linear-gradient(180deg, rgba(6,12,23,.94), rgba(9,16,29,.88)) !important;color:var(--ul-text) !important;border:1px solid rgba(138,190,255,.16) !important;border-radius:16px !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(133,201,255,.48) !important;box-shadow:0 0 0 4px rgba(73,140,255,.14), inset 0 1px 0 rgba(255,255,255,.04);}
table{border-collapse:separate;border-spacing:0 10px;} thead th{color:var(--ul-cyan) !important;text-transform:uppercase;font-size:.76rem;letter-spacing:.14em;}
tbody tr{background:rgba(255,255,255,.03);} tbody td{border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03);}
tbody td:first-child{border-left:1px solid rgba(255,255,255,.03);border-radius:14px 0 0 14px} tbody td:last-child{border-right:1px solid rgba(255,255,255,.03);border-radius:0 14px 14px 0}
.village-mode-bar .mode-tab{border-radius:16px !important;border:1px solid rgba(142,199,255,.12);background:linear-gradient(180deg, rgba(16,30,54,.78), rgba(9,16,29,.7));color:#eef6ff;}
.village-mode-bar .mode-tab.active{background:linear-gradient(180deg, rgba(32,78,147,.98), rgba(15,36,70,.92));border-color:rgba(147,214,255,.4);}
.resource-strip-detailed .top-resource-card,.resource-strip-detailed .top-meta-card{border-radius:18px !important;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;border:1px solid rgba(255,255,255,.06) !important;}
@media (max-width:980px){.ultra-hero{grid-template-columns:1fr}.top-bar{border-radius:24px}.ultra-hero-main{padding:22px}}
@media (max-width:640px){.top-bar{padding:12px;gap:8px}.top-bar button,.top-bar a{min-height:42px;padding:0 14px}.ultra-hero-title{font-size:1.8rem}#main-content,.admin-layout,.caserne-root,.forge-root,body > main,.ultra-hero{width:min(100% - 16px, 1400px)}}


/* Patch global nav badge + suppression hero décoratif */
.ultra-hero { display: none !important; }
.nav-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 6px; margin-left:6px;
  border-radius:999px; background:linear-gradient(180deg,#3c86ff,#1e55c0);
  color:#fff; font-size:11px; font-weight:800; box-shadow:0 8px 18px rgba(20,52,130,.28);
}
.nav-badge.danger {
  background:linear-gradient(180deg,#ef4444,#991b1b) !important;
  box-shadow:0 8px 20px rgba(239,68,68,.35) !important;
}
