:root{
  color-scheme:dark;
  --bg:#071019;--bg-elev:#0a151f;--panel:#0d1923;--panel-2:#11212c;--panel-3:#172936;
  --line:#263946;--line-soft:#1b2c37;--line-hot:#6f5737;
  --text:#f4f4f5;--text-2:#d2d2d5;--muted:#8c8c95;--muted-2:#66666f;
  --accent:#c89243;--accent-hi:#efc979;--accent-lo:#785020;--accent-soft:rgba(202,149,70,.12);
  --warn:#d5ad49;--danger:#ff5f69;--ok:#d9d9dc;
  --radius:14px;--radius-sm:10px;--shadow:0 18px 70px rgba(0,0,0,.38);
  --sidebar:232px;--topbar:68px;
}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;color:var(--text);font:15px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh;background:
  radial-gradient(circle at 78% -10%,rgba(202,149,70,.13),transparent 32rem),
  radial-gradient(circle at 14% 78%,rgba(115,15,23,.09),transparent 28rem),
  linear-gradient(rgba(5,5,6,.94),rgba(5,5,6,.965)),
  repeating-linear-gradient(0deg,rgba(202,149,70,.03) 0 1px,transparent 1px 32px),
  repeating-linear-gradient(90deg,rgba(202,149,70,.025) 0 1px,transparent 1px 32px),var(--bg);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(115deg,transparent 0 48%,rgba(202,149,70,.018) 48% 49%,transparent 49% 100%);background-size:96px 96px}
a{color:#d8b36c;text-decoration:none}a:hover{color:#f3d79e}button,input,select,textarea{font:inherit}button,.btn{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#152733,#0d1b24);color:var(--text);border-radius:10px;padding:9px 12px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}button:hover,.btn:hover{border-color:#6f5737;background:#172b37;transform:translateY(-1px)}button:active,.btn:active{transform:translateY(0) scale(.985)}button.primary,.btn.primary,.tab.active,.mc-tab.active{background:linear-gradient(135deg,var(--accent),#9b6a31);border-color:#e0b86f;color:#fff;font-weight:750;box-shadow:0 8px 26px rgba(202,149,70,.17)}button.ghost,.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.danger{border-color:#601a20;color:#ff9da4;background:#19090c}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.ripple{position:absolute;width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.18);transform:translate(-50%,-50%) scale(0);animation:ripple .5s ease-out forwards;pointer-events:none}@keyframes ripple{to{transform:translate(-50%,-50%) scale(22);opacity:0}}
input,select,textarea{background:#08141d;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 11px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input:focus,select:focus,textarea:focus{border-color:#a87c43;box-shadow:0 0 0 3px rgba(202,149,70,.11);background:#0a1821}input::placeholder{color:#62626b}select{cursor:pointer}.hidden{display:none!important}.muted,.sub{color:var(--muted)}.error{color:var(--danger)}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#c8c8cd}.eyebrow{font:800 .68rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em;color:#d9ad62;text-transform:uppercase}.meta{font-size:.82rem;color:var(--muted)}h1,h2,h3{letter-spacing:-.02em}h1{font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.08}h2{font-size:1.25rem}h3{font-size:1rem}
/* App shell */
.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.side-nav{position:sticky;top:0;height:100vh;border-right:1px solid var(--line-soft);background:rgba(7,7,9,.88);backdrop-filter:blur(18px);padding:18px 14px;display:flex;flex-direction:column;z-index:40}.side-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 22px}.brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font:900 14px/1 ui-monospace,monospace;background:linear-gradient(145deg,#d2a154,#7b4c20);box-shadow:0 10px 28px rgba(202,149,70,.23);transform:rotate(-3deg)}.brand-copy strong{display:block;font-size:.92rem}.brand-copy span{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}.nav-group{display:grid;gap:5px}.nav-label{padding:16px 10px 7px;color:#55555f;text-transform:uppercase;letter-spacing:.13em;font-size:.64rem;font-weight:800}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 11px;color:#a4a4ac;border:1px solid transparent;border-radius:10px;transition:.16s ease}.nav-link .nav-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#0d1b25;color:#c0c0c5;font-size:.9rem}.nav-link:hover{color:#fff;background:#10202b;border-color:#294250}.nav-link.active{color:#fff;background:linear-gradient(90deg,rgba(202,149,70,.16),rgba(202,149,70,.04));border-color:#5b442b}.nav-link.active .nav-icon{background:var(--accent);color:#fff;box-shadow:0 5px 16px rgba(202,149,70,.19)}.nav-spacer{flex:1}.server-mini{padding:11px;border:1px solid var(--line-soft);border-radius:11px;background:#09151e}.server-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-hi);box-shadow:0 0 12px rgba(239,201,121,.6);margin-right:7px;animation:statusPulse 2.4s ease-in-out infinite}@keyframes statusPulse{50%{opacity:.45;box-shadow:0 0 4px rgba(239,201,121,.1)}}.app-main{min-width:0}.topbar{position:sticky;top:0;height:var(--topbar);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;border-bottom:1px solid rgba(40,40,47,.72);background:rgba(6,6,8,.78);backdrop-filter:blur(18px)}.topbar-title{min-width:0}.topbar-title strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title span{display:block;color:var(--muted);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;gap:8px;align-items:center}.page{max-width:1920px;margin:0 auto;padding:24px clamp(16px,3vw,34px) 54px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px}.page-head h1{margin:0 0 7px}.page-head p{margin:0;max-width:760px;color:var(--muted)}
/* Surfaces */
.card,.surface{background:linear-gradient(180deg,rgba(17,17,21,.96),rgba(12,12,15,.97));border:1px solid var(--line);border-radius:var(--radius);padding:15px;box-shadow:0 1px 0 rgba(255,255,255,.02) inset}.card.hoverable,.surface.hoverable{transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.card.hoverable:hover,.surface.hoverable:hover{transform:translateY(-2px);border-color:#765832;background:#10212b;box-shadow:0 14px 36px rgba(0,0,0,.22)}.accent-card{border-color:#6f522f;background:linear-gradient(120deg,rgba(202,149,70,.12),rgba(15,15,18,.98) 38%)}.glass{background:rgba(13,13,16,.72);backdrop-filter:blur(16px)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-title h2,.section-title h3{margin:0}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #334753;background:#0c1821;border-radius:999px;font-size:.75rem;color:#bcbcc2}.badge.red{border-color:#7b5a31;background:rgba(202,149,70,.09);color:#f1cf8c}.badge.dim{border-color:#25252b;color:#85858d}.badge strong{color:#fff}.notice{border-left:3px solid var(--warn)}.tip{margin-top:9px;padding:9px 10px;background:#111c22;border:1px solid #31414a;border-radius:9px;color:#d8c5c7}.notice-inline{margin-top:8px;padding:8px 10px;border-left:3px solid var(--warn);background:#17130a;color:#d4c79e}
/* Dashboard */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:14px;margin-bottom:18px}.hero{position:relative;min-height:230px;overflow:visible;padding:26px;border:1px solid #6d5130;border-radius:20px;background:linear-gradient(120deg,rgba(202,149,70,.15),rgba(15,15,19,.98) 44%,rgba(10,10,12,.98));box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;right:-50px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(202,149,70,.16),transparent 68%);pointer-events:none}.hero h1{margin:9px 0 10px;max-width:680px}.hero p{margin:0;color:#a7a7af;max-width:680px;font-size:1rem}.command-search{position:relative;margin-top:24px;z-index:5}.command-search input{width:100%;height:50px;padding-left:44px;padding-right:74px;border-radius:13px;background:#08080a;border-color:#334753;font-size:1rem}.command-search:before{content:"⌕";position:absolute;left:16px;top:10px;font-size:1.45rem;color:#8c8c94}.keycap{position:absolute;right:11px;top:12px;padding:3px 7px;border:1px solid #303038;border-bottom-color:#41414a;border-radius:6px;color:#777781;font:700 .72rem ui-monospace,monospace;background:#121216}.command-results{position:absolute;left:0;right:0;top:57px;max-height:420px;overflow:auto;border:1px solid #4b3a25;background:rgba(8,8,10,.99);border-radius:13px;box-shadow:0 22px 60px #000c;padding:8px;z-index:70}.command-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border-radius:9px;color:var(--text);transition:.12s ease}.command-result:hover{background:#10212b}.command-result+.command-result{border-top:1px solid #151519}.quick-stack{display:grid;gap:10px}.quick-action{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.quick-action .q-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;background:#11212c;border:1px solid #5b442b;font-size:1.15rem}.quick-action strong{display:block}.quick-action span{font-size:.8rem;color:var(--muted)}.kpi-grid,.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 20px}.metric{min-height:86px}.metric span{color:var(--muted);font-size:.78rem}.metric strong{display:block;font-size:1.35rem;margin-top:4px;letter-spacing:-.03em}.metric small{display:block;color:#6f6f78;margin-top:3px}.list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.list-card{display:block;color:inherit;text-decoration:none;min-height:120px}.list-card:hover{color:inherit}.list-card h3{margin:0 0 6px}.list-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:15px}.mini-progress{height:5px;background:#0a151f;border-radius:99px;overflow:hidden}.mini-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-lo),var(--accent-hi))}
/* Controls & tabs */
.toolbar,.filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar input[type=search],.filter-bar input[type=search]{min-width:220px;flex:1}.filter-bar{position:sticky;top:calc(var(--topbar) + 10px);z-index:24;padding:10px;border:1px solid rgba(40,40,47,.8);border-radius:13px;background:rgba(8,8,10,.92);backdrop-filter:blur(16px);box-shadow:0 12px 32px rgba(0,0,0,.16);margin:12px 0}.filter-bar select{min-width:150px}.filter-toggle{padding:8px 10px}.filter-toggle.active{background:var(--accent-soft);border-color:#641b22;color:#f3d79e}.segmented,.tabs,.mc-tabs{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);background:#0a0a0c;border-radius:11px;margin:0}.segmented button,.tabs button,.mc-tabs button{border:0;background:transparent;padding:8px 11px;border-radius:8px;color:#9999a2}.segmented button.active,.tabs button.active,.mc-tabs button.active{background:#241013;color:#fff;box-shadow:none}.density-switch{margin-left:auto}.field{display:grid;gap:6px;margin-bottom:12px}.field label{font-size:.78rem;color:#9d9da5}.field textarea{min-height:88px;resize:vertical}
/* Planner */
.list-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;margin-bottom:12px}.list-hero h1{margin:4px 0 5px;font-size:clamp(1.45rem,2.6vw,2rem)}.progress-ring{--p:0;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--p)*1%),#1b1b20 0);position:relative}.progress-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#0c0c0f}.progress-ring strong,.progress-ring span{position:relative;z-index:1}.progress-ring strong{font-size:1.1rem}.progress-ring span{font-size:.65rem;color:var(--muted);display:block;text-align:center}.progress{height:7px;background:#070709;border:1px solid #1c1c21;border-radius:999px;overflow:hidden;margin-top:8px}.progress>span{height:100%;display:block;background:linear-gradient(90deg,var(--accent-lo),var(--accent-hi));transition:width .35s cubic-bezier(.2,.7,.2,1)}.planner-grid{display:grid;gap:7px}.item-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:.15s ease}.item-card:hover{border-color:#4b1a20;background:#131014;transform:translateX(2px)}.item-card.pinned{border-color:#6f5737;background:linear-gradient(90deg,rgba(202,149,70,.11),#10202b 28%)}.item-card.done{opacity:.48}.item-card.done:hover{opacity:.75}.item-head,.raw-name{display:flex;gap:10px;align-items:center;min-width:0}.item-title{min-width:0}.item-title h3{margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-line{display:flex;align-items:center;gap:8px;min-width:0}.qty-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.qty-pill{font-size:.72rem;padding:2px 6px;border-radius:6px;background:#0a0a0c;color:#7f7f88;border:1px solid #1d1d22}.qty-pill.open{color:#e3c080;border-color:#44151a;background:#150a0c}.stepper{display:flex;align-items:center;gap:4px}.stepper input{width:72px;text-align:center;padding:7px 4px}.stepper button{min-width:34px;padding:7px 9px}.stepper .done-btn{min-width:38px}.compact .item-card{padding:7px 10px}.compact .icon{width:32px;height:32px}.compact .item-card .progress{display:none}.compact .item-card .meta{font-size:.76rem}.raw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.raw-card{display:flex;align-items:center;gap:10px}.raw-card .raw-qty{margin-left:auto;font-size:1.15rem;font-weight:800}.station-strip{display:flex;gap:6px;flex-wrap:wrap}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(2px);z-index:70;opacity:0;pointer-events:none;transition:opacity .2s ease}.drawer-backdrop.open{opacity:1;pointer-events:auto}.detail-drawer{position:fixed;right:0;top:0;width:min(500px,100vw);height:100vh;z-index:80;background:#09090c;border-left:1px solid #3b161b;box-shadow:-26px 0 70px #000b;transform:translateX(102%);transition:transform .26s cubic-bezier(.2,.8,.2,1);overflow:auto}.detail-drawer.open{transform:translateX(0)}.drawer-head{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 16px;background:rgba(9,9,12,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.drawer-body{padding:16px 18px 40px}.hover-preview{position:fixed;right:18px;bottom:18px;width:330px;z-index:60;background:rgba(10,10,13,.98);border:1px solid #44171c;border-radius:13px;padding:12px;box-shadow:0 20px 50px #0009;animation:previewIn .15s ease-out}.hover-preview .recipe-grid{grid-template-columns:repeat(3,46px);grid-template-rows:repeat(3,46px)}.hover-preview .slot img,.hover-preview .slot .item-fallback{max-width:34px;max-height:34px}@keyframes previewIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
/* Icons / recipes */
.icon{width:40px;height:40px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3))}.icon.sm{width:27px;height:27px}.icon.lg{width:56px;height:56px}.icon.xl{width:76px;height:76px}.item-fallback{display:grid!important;place-items:center!important;border-radius:9px!important;background:linear-gradient(145deg,#241216,#0d1b25)!important;border:1px solid #4a181e!important;color:#d9b46f!important;font:900 .66rem/1 ui-monospace,monospace!important;letter-spacing:-.04em!important;filter:none!important}.recipe-grid{display:grid;grid-template-columns:repeat(3,58px);grid-template-rows:repeat(3,58px);gap:5px;margin:12px 0}.slot{position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0d1b24,#0a151f);border:1px solid #292930;border-radius:8px;overflow:hidden;transition:.12s ease}.slot:hover{border-color:#5c1c22;background:#171014}.slot.empty{opacity:.32}.slot img,.slot .item-fallback{max-width:42px;max-height:42px}.slot-count{position:absolute;right:3px;bottom:1px;font-weight:850;font-size:.72rem;color:#fff;text-shadow:0 1px 3px #000}.ingredients,.ingredient-line,.station-strip{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:7px}.ingredients-block{display:grid;gap:4px}.chip{display:inline-flex;gap:5px;align-items:center;border:1px solid #2a2024;background:#0c0c0f;border-radius:8px;padding:5px 7px;color:#d7d7db;text-decoration:none;font-size:.78rem;transition:.12s ease}.chip:hover{border-color:#5a1a20;background:#151013;color:#fff}.recipe-stack{display:grid;gap:10px}.recipe-card{padding:12px}.recipe-card h3{margin:0}.recipe-card summary{cursor:pointer;list-style:none}.recipe-card summary::-webkit-details-marker{display:none}.recipe-card summary:after{content:"＋";float:right;color:#777}.recipe-card[open] summary:after{content:"−";color:#e85a64}
/* Wiki */
.wiki-search-hero{padding:22px;margin-bottom:14px}.wiki-search-hero h1{margin:5px 0 8px}.wiki-search{position:relative;max-width:780px}.wiki-search input{width:100%;height:50px;padding-left:42px;font-size:1rem}.wiki-search:before{content:"⌕";position:absolute;left:15px;top:9px;font-size:1.4rem;color:#888}.search-results{display:grid;gap:5px;max-height:460px;overflow:auto;margin-top:8px}.search-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;background:#09151e;border:1px solid var(--line-soft);border-radius:9px;padding:8px;color:inherit}.search-result:hover{border-color:#4b181e;background:#121013;color:inherit}.wiki-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:center;padding:20px}.wiki-detail-head h1{margin:2px 0 5px}.wiki-sections{display:grid;gap:10px;margin-top:12px}.wiki-section{padding:0;overflow:hidden}.wiki-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;cursor:pointer;font-weight:750}.wiki-section>summary:after{content:"＋";color:#7b7b84}.wiki-section[open]>summary:after{content:"−";color:#d9b46f}.wiki-section-body{padding:0 15px 15px}.wiki-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:9px}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px}.usage-card{padding:10px 11px}.usage-card strong{display:block}.usage-card span{font-size:.78rem;color:var(--muted)}
/* MineColonies */
.mc-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px}.mc-sidebar{position:sticky;top:calc(var(--topbar) + 12px);align-self:start;max-height:calc(100vh - var(--topbar) - 28px);overflow:auto}.compact-list{display:grid;gap:6px}.building-card{display:grid;gap:8px;padding:10px}.building-card:hover{border-color:#4b181e}.level-buttons{display:flex;gap:4px;flex-wrap:wrap}.level-buttons button{min-width:36px;padding:6px 8px}.level-buttons button.active{background:var(--accent);border-color:var(--accent)}.blueprint-panel{min-height:480px}.blueprint-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.blueprint-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}.blueprint-item{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--line-soft);border-radius:9px;background:#09151e}.blueprint-item strong{margin-left:auto}.crafter-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:12px}.sidebar-list{display:grid;gap:5px}.sidebar-list button{text-align:left;width:100%}.sidebar-list button.active{border-color:#6d1d24;background:#1d0d10}.food-filters,.research-filters{position:sticky;top:calc(var(--topbar) + 10px);z-index:20}.research-card{min-height:130px}.source-list{display:grid;gap:5px}.source-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 0;border-bottom:1px solid var(--line-soft)}
/* Admin legacy compatibility */
.wrap{max-width:1920px;margin:auto;padding:18px}header.site{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid #251012}.brand h1{margin:0}.brand .eyebrow{margin-bottom:6px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;margin-top:16px}.sidebar{align-self:start;position:sticky;top:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rawtable,.admintable{width:100%;border-collapse:collapse}.rawtable th,.rawtable td,.admintable th,.admintable td{padding:9px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle}.rawtable th:last-child,.rawtable td:last-child{text-align:right}.table-wrap{overflow:auto}.login-shell{max-width:460px;margin:8vh auto 0;padding:18px}.modal-back{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:18px;z-index:100}.modal{width:min(520px,100%);max-height:90vh;overflow:auto}.footer{margin-top:28px;padding:15px 0;color:#5d5d65;font-size:.76rem;border-top:1px solid #17171b}.status{min-height:1.3em;color:var(--muted);font-size:.82rem}
/* Misc */
.skeleton{position:relative;overflow:hidden;background:#0d1b25!important;color:transparent!important;border-color:#1b2c37!important}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),transparent);animation:shimmer 1.25s infinite}@keyframes shimmer{to{transform:translateX(100%)}}.empty-state{text-align:center;padding:32px 18px;color:var(--muted)}.empty-state .empty-icon{font-size:2rem;filter:grayscale(1);opacity:.55}.reveal{opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}.reveal.revealed{opacity:1;transform:none}.toast-root{position:fixed;right:16px;top:16px;display:grid;gap:8px;z-index:120}.toast{display:flex;align-items:center;gap:8px;min-width:240px;max-width:360px;padding:10px 12px;border:1px solid #31414a;border-radius:10px;background:rgba(12,12,15,.98);box-shadow:0 18px 50px #000a;opacity:0;transform:translateY(-8px);transition:.2s ease}.toast.show{opacity:1;transform:none}.toast-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-hi)}.toast-error .toast-dot{background:var(--danger)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){:root{--sidebar:76px}.side-brand{justify-content:center;padding-left:0;padding-right:0}.brand-copy,.nav-link span:not(.nav-icon),.nav-label,.server-mini{display:none}.nav-link{justify-content:center;padding:10px}.nav-link .nav-icon{width:34px;height:34px}.hero-grid{grid-template-columns:1fr}.quick-stack{grid-template-columns:repeat(3,1fr)}.mc-layout,.crafter-layout{grid-template-columns:1fr}.mc-sidebar{position:static;max-height:none}.kpi-grid,.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){:root{--topbar:60px}.app-shell{display:block}.side-nav{position:sticky;top:0;height:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line-soft);flex-direction:row;align-items:center;overflow-x:auto}.side-brand{padding:0 8px 0 0}.brand-mark{width:32px;height:32px}.nav-group{display:flex;gap:4px}.nav-spacer,.nav-label{display:none}.nav-link{padding:5px}.nav-link .nav-icon{width:31px;height:31px}.topbar{top:49px;padding:0 12px}.page{padding:18px 12px 42px}.page-head{display:block}.hero{padding:20px;min-height:210px}.quick-stack{grid-template-columns:1fr}.filter-bar{top:calc(var(--topbar) + 59px);border-radius:11px}.density-switch{margin-left:0}.list-hero{grid-template-columns:1fr}.progress-ring{display:none}.item-card{grid-template-columns:1fr}.stepper{justify-content:flex-end}.hover-preview{display:none!important}.detail-drawer{width:100vw}.mc-tabs,.tabs,.segmented{max-width:100%;overflow-x:auto}.wiki-detail-head{grid-template-columns:1fr}.wiki-detail-head .icon.xl{width:62px;height:62px}}
@media(max-width:480px){.kpi-grid,.stats{grid-template-columns:1fr 1fr}.metric{min-height:74px;padding:11px}.metric strong{font-size:1.12rem}.filter-bar select{min-width:calc(50% - 5px);flex:1}.toolbar input[type=search],.filter-bar input[type=search]{min-width:100%}.recipe-grid{grid-template-columns:repeat(3,52px);grid-template-rows:repeat(3,52px)}.raw-grid{grid-template-columns:1fr}.blueprint-items{grid-template-columns:1fr}.top-actions .hide-mobile{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

/* ================================================================
   V3 Colony Manager
   ================================================================ */
.colony-page{max-width:1480px}.colony-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;overflow:hidden;padding:24px 26px;margin-bottom:14px;border:1px solid #4a161c;border-radius:20px;background:linear-gradient(120deg,rgba(202,149,70,.16),rgba(14,14,17,.98) 40%,rgba(8,8,10,.99));box-shadow:var(--shadow)}.colony-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 70%,rgba(202,149,70,.04)),repeating-linear-gradient(90deg,transparent 0 26px,rgba(202,149,70,.025) 26px 27px)}.colony-hero>div{position:relative}.colony-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.colony-title-row h1{margin:7px 0 5px}.colony-hero p{margin:0;color:var(--muted)}.colony-hero-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.score-ring{--score:0;width:114px;height:114px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--accent) calc(var(--score)*1%),#17171c 0);box-shadow:0 0 0 1px #38151a,0 18px 50px #0007}.score-ring:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#09151e;border:1px solid #2a171b}.score-ring strong,.score-ring span{position:relative;z-index:1;display:block;text-align:center}.score-ring strong{font-size:1.8rem;line-height:1}.score-ring span{font-size:.7rem;color:var(--muted);margin-top:3px}.colony-kpi-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:14px}.colony-kpi{min-height:85px;padding:12px}.colony-kpi span{display:block;font-size:.72rem;color:var(--muted)}.colony-kpi strong{display:block;font-size:1.3rem;margin:4px 0 2px}.colony-kpi small{font-size:.68rem;color:#666670}.colony-tabs{position:sticky;top:calc(var(--topbar) + 8px);z-index:25;display:flex;gap:5px;align-items:center;overflow-x:auto;padding:6px;margin:0 0 14px;border:1px solid var(--line);border-radius:13px;background:rgba(8,8,10,.9);backdrop-filter:blur(18px)}.colony-tabs button{white-space:nowrap;padding:8px 10px;background:transparent;border-color:transparent;color:#9b9ba4}.colony-tabs button span{margin-right:5px;color:#777781}.colony-tabs button.active{background:linear-gradient(135deg,var(--accent),#6f5737);border-color:#c89243;color:#fff;box-shadow:0 8px 22px rgba(202,149,70,.14)}.colony-tabs button.active span{color:#fff}.colony-section{animation:sectionIn .2s ease both}@keyframes sectionIn{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}.colony-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.panel-span-2{grid-column:span 2}.section-head-space{margin:8px 0 12px}.advisor-list{display:grid;gap:6px;margin-top:12px}.advisor-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;padding:9px 10px;text-align:left;background:#09151e;border-color:#1e1e24}.advisor-row:hover{background:#131014;border-color:#48171c}.advisor-row.tone-good{border-left:2px solid #c6c6ca}.advisor-row.tone-warn{border-left:2px solid var(--warn)}.advisor-row.tone-active{border-left:2px solid var(--accent)}.advisor-row.tone-info{border-left:2px solid #6f5737}.advisor-rank{font:800 .68rem/1 ui-monospace,monospace;color:#62626b}.advisor-copy{min-width:0}.advisor-copy strong,.advisor-copy small{display:block}.advisor-copy small{margin-top:2px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advisor-go{color:#6a6a74}.mini-item-list,.compact-feed{display:grid;gap:5px;margin-top:10px}.mini-item-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 7px;border-radius:9px;color:inherit}.mini-item-row:hover{background:#141013;color:inherit}.mini-item-row span strong,.mini-item-row span small{display:block}.mini-item-row span small{color:var(--muted);font-size:.7rem}.mini-item-row b{font-size:.84rem}.feed-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;width:100%;border:0;background:transparent;padding:7px 4px;text-align:left}.feed-row:hover{background:#121014;transform:none}.feed-row.static{cursor:default}.feed-row.static:hover{background:transparent}.feed-row span strong,.feed-row span small{display:block}.feed-row span small{color:var(--muted);font-size:.72rem;margin-top:1px}.status-dot{width:8px;height:8px;border-radius:50%;background:#555}.status-dot.ok{background:#d0d0d4}.status-dot.warn{background:var(--warn)}.status-dot.active{background:var(--accent);box-shadow:0 0 10px rgba(202,149,70,.35)}.quest-mini-stat{display:flex;align-items:baseline;gap:8px;padding:5px 0}.quest-mini-stat strong{font-size:1.25rem}.quest-mini-stat span{color:var(--muted);font-size:.78rem}.stat-chip-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:11px}.stat-chip{padding:9px;border:1px solid var(--line-soft);background:#09151e;border-radius:9px}.stat-chip span,.stat-chip strong,.stat-chip small{display:block}.stat-chip span{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-chip strong{font-size:1.08rem;margin-top:3px}.stat-chip small{color:#66666f;font-size:.67rem}.link-button{padding:4px 6px}.filter-info{margin:0 2px 8px}.colony-master-detail{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:12px}.sticky-detail{position:sticky;top:calc(var(--topbar) + 72px);align-self:start;max-height:calc(100vh - var(--topbar) - 90px);overflow:auto}.building-grid-v3{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.building-tile{position:relative;min-height:166px;padding:12px;cursor:pointer;transition:.15s ease}.building-tile:hover{transform:translateY(-2px);border-color:#4b1a20;background:#141013}.building-tile.selected{border-color:var(--accent);box-shadow:0 0 0 1px rgba(202,149,70,.15) inset;background:linear-gradient(145deg,#1a0d10,#0a1821)}.building-tile.unbuilt{opacity:.55}.building-tile h3{margin:7px 0 2px}.building-symbol{width:38px;height:38px;display:grid;place-items:center;border:1px solid #37151a;background:#160c0f;border-radius:10px;color:#d9b46f}.building-level-badge{position:absolute;right:10px;top:10px;padding:3px 7px;border:1px solid #3a2024;border-radius:999px;font-weight:800;font-size:.7rem}.favorite-star{position:absolute;right:48px;top:7px;border:0;background:transparent;color:#484850;padding:4px;font-size:1rem;z-index:2}.favorite-star:hover,.favorite-star.active{color:#f1d16b;background:transparent;transform:none}.favorite-star.large{position:static;font-size:1.35rem}.building-facts{display:grid;gap:3px;margin-top:9px;color:var(--muted);font-size:.72rem}.building-work{margin-top:8px;padding:5px 7px;border-radius:7px;background:rgba(202,149,70,.09);color:#d9b46f;font-size:.7rem}.building-detail-head{display:flex;justify-content:space-between;gap:10px}.building-detail-head h2{margin:3px 0}.detail-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:11px 0}.detail-stat-grid div{padding:8px;border:1px solid var(--line-soft);border-radius:8px}.detail-stat-grid span,.detail-stat-grid strong{display:block}.detail-stat-grid span{color:var(--muted);font-size:.68rem}.detail-stat-grid strong{font-size:.85rem;margin-top:2px}.callout{display:grid;gap:2px;padding:9px 10px;border-radius:9px;margin:9px 0}.callout span{font-size:.75rem;color:var(--muted)}.active-callout{background:rgba(202,149,70,.095);border:1px solid #4e171d}.warn-callout{background:#171309;border:1px solid #493d19}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#17171c;border:1px solid #303038;color:#d0d0d4;font:800 .65rem/1 ui-monospace,monospace}.avatar.lg{width:44px;height:44px;font-size:.82rem;background:linear-gradient(145deg,#2c1217,#0d1b25);border-color:#512027;color:#d9b46f}.warehouse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:7px}.warehouse-grid.dense{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:5px}.warehouse-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;color:inherit}.warehouse-grid.dense .warehouse-item{padding:6px 8px}.warehouse-item span strong,.warehouse-item span small{display:block}.warehouse-item span small{color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warehouse-item b{font-size:.9rem}.research-grid-v3{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:8px}.research-v3-card{min-height:185px;position:relative}.research-v3-card.state-ready_funded{border-color:#5b2227;background:linear-gradient(145deg,rgba(202,149,70,.08),#0a1821 45%)}.research-v3-card.state-progress{border-color:#533a18}.research-state-line,.quest-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.state-pill{display:inline-flex;padding:3px 7px;border:1px solid #303038;border-radius:999px;font-size:.63rem;font-weight:850;letter-spacing:.05em;color:#94949d}.state-pill.ready_funded,.state-pill.good{border-color:#622129;color:#e3c080;background:#210b0e}.state-pill.ready,.state-pill.warn{border-color:#55451e;color:#d9bd67;background:#171307}.state-pill.progress,.state-pill.active{border-color:#652029;color:#efc979;background:#210a0d}.state-pill.finished{color:#bcbcc3}.state-pill.locked,.state-pill.dim{opacity:.65}.research-v3-card h3{margin:8px 0 2px}.research-costs{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.cost-chip{display:flex;gap:6px;align-items:center;padding:5px 7px;border:1px solid #29292f;border-radius:8px;color:inherit;background:#08141d}.cost-chip span strong,.cost-chip span small,.cost-chip span{display:block}.cost-chip small{font-size:.66rem;color:var(--muted)}.cost-chip.missing{border-color:#51421d;background:#161207}.cost-chip.ok{opacity:.72}.requirement-list{display:grid;gap:5px;color:#aaaab1;font:12px/1.4 ui-monospace,monospace;overflow-wrap:anywhere}.research-parent{margin-top:8px;color:#6f6f78;font-size:.68rem}.quest-grid-v3{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:8px;margin-top:10px}.quest-card-v3 h3{margin:9px 0 3px}.quest-card-v3 p{color:#c5c5ca}.crafter-v3-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:10px}.crafter-v3-list{position:sticky;top:calc(var(--topbar) + 72px);align-self:start;max-height:calc(100vh - var(--topbar) - 90px);overflow:auto}.crafter-v3-list input{width:100%;margin-bottom:8px}.crafter-v3-detail{min-height:540px}.crafter-hero-v3{display:flex;justify-content:space-between;gap:12px;align-items:start}.crafter-hero-v3 h2{margin:3px 0}.crafter-numbers{display:flex;gap:6px}.crafter-numbers div{min-width:74px;text-align:center;padding:7px;border:1px solid var(--line-soft);border-radius:9px;background:#08141d}.crafter-numbers strong,.crafter-numbers span{display:block}.crafter-numbers strong{font-size:1.1rem}.crafter-numbers span{font-size:.63rem;color:var(--muted)}.crafter-recipe-tabs{margin:12px 0 8px}.crafter-recipe-tabs b{margin-left:4px}.inner-filter{position:static!important}.switch-line{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.76rem;white-space:nowrap}.switch-line input{width:auto}.crafter-recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:7px}.recipe-output-tile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px;border:1px solid var(--line-soft);border-radius:9px;background:#08141d;color:inherit}.recipe-output-tile:hover{border-color:#4e1a20;background:#131013;color:inherit}.recipe-output-tile span strong,.recipe-output-tile span small,.recipe-output-tile span em{display:block}.recipe-output-tile span small{color:var(--muted);font-size:.7rem}.recipe-output-tile span em{color:#d8b36c;font-style:normal;font-size:.64rem;margin-top:2px}.recipe-output-tile.needed{border-color:#4b181e}.recipe-card-v3{padding:10px;border:1px solid var(--line-soft);border-radius:10px;background:#08141d}.recipe-card-v3>small{display:block;margin-top:6px}.recipe-mini-v3{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center;margin-top:8px}.recipe-arrow{color:#6d6d76;font-size:1.1rem}.red-chip{border-color:#4a181d!important}.production-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(370px,1fr));gap:8px}.production-card.ready{border-color:#392125}.production-card.blocked{border-color:#4b3a1c}.missing-line{margin-top:8px;padding:7px 8px;border-radius:8px;background:#171307;color:#d9c46f;font-size:.72rem}.citizen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.citizen-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center}.citizen-head h3{margin:0}.citizen-id{color:#5f5f68;font:700 .7rem ui-monospace,monospace}.citizen-bars{display:grid;gap:6px;margin-top:11px}.citizen-bars>div{display:grid;grid-template-columns:74px minmax(0,1fr) 38px;gap:6px;align-items:center;font-size:.68rem;color:var(--muted)}.mini-progress{height:5px;background:#08141d;border-radius:99px;overflow:hidden}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#6f5737,var(--accent))}.citizen-bars b{text-align:right;color:#bbb;font-size:.68rem}.citizen-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;color:var(--muted);font-size:.7rem}.workorder-grid{display:grid;gap:7px;margin-top:10px}.workorder-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line-soft);border-radius:10px;background:#08141d}.workorder-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#1c0c10;border:1px solid #4c171d;color:#d9b46f}.workorder-card h3{margin:2px 0}.history-preview{display:grid;gap:7px;margin-top:10px}.history-bar{display:grid;grid-template-columns:160px minmax(0,1fr) 60px;gap:8px;align-items:center;font-size:.72rem}.history-bar div{height:7px;background:#09151e;border-radius:99px;overflow:hidden}.history-bar i{display:block;height:100%;background:linear-gradient(90deg,#65131a,var(--accent));border-radius:inherit}.history-bar b{text-align:right}.recipe-float{position:fixed;right:18px;bottom:18px;width:min(420px,calc(100vw - 36px));max-height:min(70vh,620px);overflow:auto;z-index:90;padding:13px;border:1px solid #541a20;border-radius:13px;background:rgba(9,9,11,.98);box-shadow:0 22px 70px #000b;animation:previewIn .16s ease}.recipe-float.pinned{border-color:var(--accent)}
@media(max-width:1260px){.colony-kpi-grid{grid-template-columns:repeat(4,1fr)}.colony-dashboard-grid{grid-template-columns:1fr 1fr}.panel-span-2{grid-column:span 2}.stat-chip-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.colony-master-detail,.crafter-v3-layout{grid-template-columns:1fr}.sticky-detail,.crafter-v3-list{position:static;max-height:none}.colony-tabs{top:calc(var(--topbar) + 5px)}.production-grid{grid-template-columns:1fr}}
@media(max-width:720px){.colony-hero{grid-template-columns:1fr;padding:18px}.colony-score{display:none}.colony-kpi-grid{grid-template-columns:repeat(2,1fr)}.colony-dashboard-grid{grid-template-columns:1fr}.panel-span-2{grid-column:auto}.stat-chip-grid{grid-template-columns:1fr 1fr}.colony-tabs{top:calc(var(--topbar) + 57px)}.building-grid-v3,.warehouse-grid,.warehouse-grid.dense,.research-grid-v3,.quest-grid-v3,.citizen-grid{grid-template-columns:1fr}.crafter-hero-v3{display:block}.crafter-numbers{margin-top:9px;overflow-x:auto}.recipe-mini-v3{grid-template-columns:1fr}.recipe-arrow{transform:rotate(90deg);justify-self:center}.workorder-card{grid-template-columns:auto 1fr}.workorder-card .btn{grid-column:1/-1}.history-bar{grid-template-columns:110px minmax(0,1fr) 50px}.recipe-float{left:10px;right:10px;bottom:10px;width:auto;max-height:56vh}}
/* V3 material-list pinning: informational, never modal */
.recipe-pin-panel{position:fixed;right:18px;bottom:18px;width:min(420px,calc(100vw - 36px));max-height:min(72vh,680px);overflow:auto;z-index:85;padding:14px;border:1px solid var(--accent);border-radius:14px;background:rgba(8,8,10,.985);box-shadow:0 20px 70px rgba(0,0,0,.72);animation:previewIn .16s ease}.pin-state{display:flex;align-items:center;gap:7px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--line-soft);font-size:.72rem;color:var(--muted)}.pin-state strong{color:#d9b46f}.pin-state span{flex:1}.pin-state button{padding:4px 6px}.pin-state.preview{margin:-2px 0 6px;padding-bottom:5px}.item-card.pinned{border-color:var(--accent)!important;background:linear-gradient(110deg,rgba(202,149,70,.12),rgba(14,14,17,.98) 36%)!important}.live-warehouse-summary{margin-bottom:10px}.live-raw-card{position:relative;overflow:hidden}.coverage-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:#121216}.coverage-bar i{display:block;height:100%;background:linear-gradient(90deg,#70121a,var(--accent))}
@media(max-width:720px){.recipe-pin-panel{left:10px;right:10px;bottom:10px;width:auto;max-height:55vh}}

/* v0.4 test portal / private colony layer */
.portal-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:980px;margin:4vh auto 0}.stack-form{display:grid;gap:10px}.stack-form label,.stack-form fieldset{display:grid;gap:6px}.stack-form fieldset{border:1px solid var(--line-soft);border-radius:10px;padding:10px}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form>input{flex:1;min-width:170px}.portal-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-tabs{overflow:auto}.toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.warehouse-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.warehouse-summary-card{border:1px solid var(--line-soft);border-radius:10px;padding:10px;display:grid;gap:3px}.warehouse-summary-card span{color:var(--muted);font-size:.8rem}.warehouse-summary-card b{font-size:1.15rem}.container-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:12px;margin-top:12px}.container-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;overflow:hidden}.container-card.unassigned{outline:1px solid rgba(255,174,65,.4)}.container-preview{height:170px;border-radius:10px;background:radial-gradient(circle at 50% 70%,#231b17,#0d1923 72%);overflow:hidden;position:relative}.container-info{min-width:0}.container-tags{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.container-assign{margin-top:10px}.select-mark{font-size:.78rem;color:var(--muted);display:flex;gap:5px;align-items:center}.check-list{display:grid;gap:6px}.check-list label{display:flex;gap:7px;align-items:center}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.copy-line{display:flex;gap:6px;margin-top:7px}.copy-line input{flex:1}.search-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px;margin-top:8px}.search-result-card{display:grid;grid-template-columns:1fr auto;gap:3px;text-align:left}.search-result-card small{grid-column:1;color:var(--muted)}.danger{color:#ff8a8a!important}.preview-empty{display:grid;place-items:center;height:100%;color:var(--muted)}

.colony-map-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px}.colony-map{position:relative;min-height:650px;border:1px solid var(--line-soft);border-radius:12px;background:#0d1110;overflow:hidden}.map-claim{position:absolute;background:rgba(92,129,79,.11);border:1px solid rgba(103,150,88,.28)}.map-marker{position:absolute;transform:translate(-50%,-50%);border:0;border-radius:50%;width:14px;height:14px;cursor:pointer;box-shadow:0 0 0 3px rgba(0,0,0,.45)}.map-marker.building{background:#a77a3d}.map-marker.container{background:#e5b351}.map-marker.container.unassigned{background:#ff7e3e}.map-marker.center{width:20px;height:20px;background:#fff;border:4px solid #a77a3d}.map-label{position:absolute;transform:translate(-50%,7px);font-size:.65rem;white-space:nowrap;color:#ddd;text-shadow:0 1px 3px #000}.map-legend{display:flex;gap:9px;flex-wrap:wrap}.map-legend span{font-size:.78rem;color:var(--muted)}.map-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.map-detail{align-self:start;position:sticky;top:12px}.map-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}

@media(max-width:900px){.portal-auth-grid,.portal-two-col,.colony-map-shell{grid-template-columns:1fr}.container-grid{grid-template-columns:1fr}.container-card{grid-template-columns:1fr}.container-preview{height:210px}.map-detail{position:static}.colony-map{min-height:480px}}

/* Colony Manager: real BlueMap surface + schema fallback */
.map-toolbar-v2{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.bluemap-panel{min-height:680px;border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;background:#07080a}.bluemap-frame{display:block;width:100%;height:680px;border:0;background:#07080a}.bluemap-missing{margin:18px;max-width:680px}.bluemap-missing code{color:#ef7b84}.bluemap-panel.hidden,.colony-map-shell.hidden{display:none!important}

/* Colony Manager: fluid desktop layout + deterministic container symbols */
.page{width:100%;max-width:1920px;margin-inline:auto;padding-inline:clamp(14px,2vw,36px)}
.wrap{width:100%;max-width:1920px;margin-inline:auto;padding:clamp(14px,2vw,28px)}
.lang-switch{min-width:66px;padding:7px 9px;border-radius:9px;background:#08141d;color:var(--text);border:1px solid var(--line)}
.container-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.container-preview{display:grid;place-items:center;background:radial-gradient(circle at 50% 62%,#1b1512,#0c0c0f 68%)}
.chest-visual{display:flex;align-items:center;justify-content:center;min-width:120px;height:100%;filter:drop-shadow(0 16px 18px rgba(0,0,0,.55))}
.chest-visual img{width:96px;height:96px;object-fit:contain;image-rendering:pixelated;position:relative}
.chest-visual.double{min-width:170px}
.chest-visual.double img{width:150px;height:96px}
.dim-condition{border-left-color:#6f6f78!important;background:#0d1b25!important;color:#aaaab3!important}
@media(min-width:1500px){.container-card{grid-template-columns:160px minmax(0,1fr)}.container-preview{height:160px}.colony-dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.page,.wrap{max-width:100%}}
@media(max-width:720px){.lang-switch{min-width:58px}.container-card{grid-template-columns:1fr}.container-preview{height:150px}}
/* Application workspace follows the viewport and is capped at 1920px. */
.app-shell{width:100%;max-width:1920px;margin-inline:auto}

/* Live colony layout and responsive 1920px workspace. */
.colony-page{width:100%;max-width:1920px}
.live-source-card{min-width:112px;min-height:86px;border:1px solid #4b1920;border-radius:16px;background:#09151e;display:grid;place-content:center;text-align:center;padding:14px}.live-source-card strong{font-size:1.35rem;color:#d9b46f;letter-spacing:.1em}.live-source-card span{color:var(--muted);font-size:.7rem;margin-top:3px}
.building-symbol{overflow:hidden}.building-hut-icon{width:30px;height:30px;object-fit:contain;image-rendering:pixelated}.building-inline-icon{display:grid!important;place-items:center;width:30px}.building-icon-fallback{font-size:1.1rem}.unlock-tile{opacity:1!important;cursor:default;border-style:dashed;background:linear-gradient(145deg,#151108,#0a1821)}
.recipe-output-stack{min-width:0}.recipe-output-more{margin-top:5px}.recipe-output-more summary{cursor:pointer;color:var(--muted);font-size:.72rem;padding:4px 6px}.recipe-output-more[open] summary{margin-bottom:5px}.recipe-mini-v3 .ingredients{align-items:flex-start}
.demand-card{min-height:150px}.demand-card.state-self_supply,.demand-card.state-warehouse,.demand-card.state-covered{border-color:#5b442b}.demand-card.state-needs_recipe,.demand-card.state-missing_building,.demand-card.state-chain_missing,.demand-card.state-external{border-color:#5b442b}.demand-main{display:flex;gap:10px;align-items:center;margin-top:10px}.demand-main>div{min-width:0}.demand-main .sub{margin-top:2px}.production-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.workorder-card.workorder-rich{align-items:start;padding:13px}.workorder-body{min-width:0}.workorder-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.workorder-progress-grid>div{border:1px solid var(--line-soft);border-radius:9px;padding:8px}.workorder-progress-grid span,.workorder-progress-grid strong{display:block}.workorder-progress-grid span{font-size:.68rem;color:var(--muted)}.workorder-progress-grid strong{font-size:.82rem;margin:3px 0 5px}.workorder-supply-summary{margin-top:8px}.workorder-resources{margin-top:9px}.demand-resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:5px}.demand-resource-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px;border:1px solid var(--line-soft);border-radius:8px;color:inherit;background:#09090c}.demand-resource-row:hover{color:inherit;background:#131014}.demand-resource-row span strong,.demand-resource-row span small{display:block}.demand-resource-row span small{color:var(--muted);font-size:.66rem}.demand-resource-row b{font-size:.76rem}.demand-resource-row.state-needs_recipe,.demand-resource-row.state-missing_building,.demand-resource-row.state-chain_missing,.demand-resource-row.state-external{border-color:#46381a}
@media(max-width:760px){.workorder-progress-grid{grid-template-columns:1fr}.demand-resource-grid{grid-template-columns:1fr}}
/* Colony Manager: colony-only schema, private storage moved to player area */
.map-building-marker{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;padding:3px;border:1px solid #6d5130;border-radius:8px;background:#0c1821;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px #0009;z-index:3}.map-building-marker:hover{z-index:7;border-color:#d9b46f;transform:translate(-50%,-50%) scale(1.12)}.map-building-marker .icon{width:24px;height:24px;image-rendering:pixelated}.map-building-icon{display:grid;place-items:center}.map-building-level{position:absolute;right:-6px;bottom:-6px;min-width:18px;height:18px;padding:0 3px;border-radius:9px;background:#5b442b;border:1px solid #6d5130;color:#fff;font:700 9px/16px ui-monospace,monospace}.map-marker.center{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#0c1821;border:2px solid #f25c68;color:#fff;z-index:8}.map-marker.center span{font-size:15px}.building-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.building-detail-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid var(--line-soft);border-radius:10px;background:#09151e}.building-detail-icon .icon{width:40px;height:40px;image-rendering:pixelated}

/* ============================================================
   Colony Manager · Die Klötzchenbauer visual system
   Minecraft-like, pixel-edged UI while using the MineColonies gold/navy palette.
   ============================================================ */
:root{
  --pixel:4px;
  --dk-red:#c89243;
  --dk-red-hi:#efc979;
  --dk-ink:#060608;
  --dk-stone:#17171b;
  --dk-line:#303038;
  --mobile-nav-h:70px;
}
body{
  background:
    radial-gradient(circle at 78% -10%,rgba(202,149,70,.13),transparent 32rem),
    linear-gradient(rgba(5,5,6,.955),rgba(5,5,6,.98)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 16px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.014) 0 1px,transparent 1px 16px),#071019;
}
body.ui-ready{animation:dkPageIn .22s steps(4,end) both}
body.page-leaving{opacity:.82;transform:translateY(2px);transition:opacity .12s steps(2,end),transform .12s steps(2,end)}
@keyframes dkPageIn{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
h1,h2,h3,.brand-copy strong,.topbar-title strong,.colony-kpi strong,.metric strong{font-family:ui-monospace,"Cascadia Mono","Segoe UI Mono",Consolas,monospace;font-weight:900;letter-spacing:-.035em}
.eyebrow,.nav-label,.badge,.state-pill,.brand-mark{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace}
.card,.surface,.hero,input,select,textarea,button,.btn,.nav-link,.server-mini,.live-source-card,.warehouse-summary-card,.container-preview,.bluemap-panel,.colony-map,.mobile-sheet-card{
  border-radius:3px!important;
}
.card,.surface,.hero,.bluemap-panel,.colony-map{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),4px 4px 0 rgba(0,0,0,.34);
}
.card:before,.surface:before{border-radius:0}
button,.btn,.nav-link{
  box-shadow:inset 0 2px 0 rgba(255,255,255,.035),inset 0 -2px 0 rgba(0,0,0,.32);
  transition:transform .09s steps(2,end),border-color .09s linear,background .09s linear;
}
button:hover,.btn:hover,.nav-link:hover{transform:translate(-1px,-1px)}
button:active,.btn:active,.nav-link:active{transform:translate(1px,1px);box-shadow:inset 0 2px 0 rgba(0,0,0,.42)}
.brand-mark{
  width:40px;height:40px;border-radius:2px!important;transform:none;
  border:2px solid #c89243;background:linear-gradient(135deg,#c89243 0 48%,#9a101a 48% 100%);
  box-shadow:inset 3px 3px 0 rgba(255,255,255,.12),inset -3px -3px 0 rgba(0,0,0,.32),5px 5px 0 #071019;
  font-size:13px;letter-spacing:-.06em
}
.brand-copy strong{font-size:.87rem;line-height:1.05}.brand-copy span{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em}
.side-nav{background:#08080a;border-right:2px solid #211216;backdrop-filter:none}
.topbar{background:rgba(6,6,8,.94);backdrop-filter:blur(8px);border-bottom:2px solid #1d1114}
.nav-link.active{background:#1a0b0e;border-color:#6b1720;box-shadow:inset 4px 0 0 var(--accent)}
.nav-link .nav-icon{border-radius:2px;background:#131318}
.progress,.mini-progress{overflow:hidden;border-radius:1px!important;background:#08080a;border:1px solid #24242a}
.progress>span,.mini-progress>i{background:repeating-linear-gradient(90deg,var(--accent) 0 12px,#8c632e 12px 14px)!important;transition:width .28s steps(8,end)}
.skeleton{background:repeating-linear-gradient(90deg,#0d1b25 0 16px,#18181e 16px 32px)!important;animation:pixelLoad .8s steps(6,end) infinite!important}
@keyframes pixelLoad{50%{filter:brightness(1.22)}}
.reveal{opacity:0;transform:translateY(8px)}.reveal.revealed{opacity:1;transform:none;transition:opacity .24s steps(5,end),transform .24s steps(5,end)}
.toast{border-radius:2px!important}

/* Animated voxel landing scene */
.hero-grid.dk-home-hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:stretch}
.voxel-hero-card{position:relative;min-height:330px;overflow:hidden;border:1px solid #4a171d;background:#090a0c;padding:0!important}
.voxel-hero-card canvas{display:block;width:100%;height:100%;min-height:330px;image-rendering:pixelated}
.voxel-hero-overlay{position:absolute;left:14px;bottom:14px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.voxel-hero-overlay span{font:700 .66rem ui-monospace,monospace;padding:5px 7px;background:#061019dd;border:1px solid #482028;color:#ddd;box-shadow:2px 2px 0 #000}
.dk-wordmark{display:inline-flex;align-items:center;gap:9px;margin-bottom:4px}.dk-wordmark .cube{width:20px;height:20px;background:#c89243;border:2px solid #edc678;box-shadow:4px 4px 0 #4d0c12}
.hero.dk-landing-copy{min-height:330px;display:flex;flex-direction:column;justify-content:center}

/* BlueMap focus surface */
.map-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.map-actions .meta{max-width:520px}.bluemap-panel{position:relative}.bluemap-frame{height:min(76vh,820px);min-height:520px}.blue-focus-chip{position:absolute;z-index:3;left:12px;bottom:12px;background:#08080be6;border:1px solid #542029;padding:7px 9px;font:700 .7rem ui-monospace,monospace;color:#ddd;pointer-events:none}

/* Freshness / cached-state semantics */
.live-source-card.cached{border-color:#6c541b;background:#141107}.live-source-card.cached strong{color:#e1bb58}.freshness-strip{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.freshness-chip{font-size:.68rem;padding:4px 6px;border:1px solid #292930;background:#08141d;color:#aaa}.freshness-chip.cached{border-color:#5b481b;color:#ddbe67;background:#141107}.freshness-chip.live{border-color:#4d1a20;color:#f07c84;background:#13090c}

/* Mobile app behavior: bottom navigation instead of compressed desktop sidebar */
.mobile-bottom-nav,.mobile-more-sheet{display:none}
@media(max-width:820px){
  :root{--topbar:58px}
  body{padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px))}
  .app-shell{display:block;max-width:100%}
  .side-nav{display:none!important}
  .app-main{width:100%;min-width:0}
  .topbar{height:auto;min-height:58px;padding:8px 12px;gap:8px}
  .topbar-title span{font-size:.68rem}.top-actions{gap:5px}.top-actions .btn{padding:7px 8px}.lang-switch{min-width:52px;padding:7px 6px}
  .page,.wrap{padding:14px 10px 24px;max-width:100%}
  .page-head{display:block}.page-head>.toolbar{margin-top:10px}
  .hero-grid,.hero-grid.dk-home-hero,.portal-two-col,.split,.admin-layout,.colony-master-detail,.crafter-v3-layout,.colony-map-shell{grid-template-columns:1fr!important}
  .hero,.hero.dk-landing-copy{min-height:auto;padding:18px 14px}.hero h1{font-size:clamp(1.7rem,8vw,2.35rem)}
  .voxel-hero-card{min-height:245px;order:-1}.voxel-hero-card canvas{min-height:245px}
  .quick-stack{grid-template-columns:1fr}.kpi-grid,.stats,.colony-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .colony-hero-v3{grid-template-columns:1fr!important;padding:16px}.colony-hero-v3 .hero-score{justify-self:start}
  .colony-tabs{overflow-x:auto;scrollbar-width:none;display:flex;flex-wrap:nowrap!important;position:sticky;top:58px;z-index:21;background:#070709;padding:7px 3px}.colony-tabs::-webkit-scrollbar{display:none}.colony-tabs button{flex:0 0 auto;white-space:nowrap}
  .filter-bar,.colony-filterbar{grid-template-columns:1fr!important;display:grid!important}.filter-bar>*{width:100%}
  .building-grid-v3,.warehouse-grid,.production-grid,.citizen-grid,.research-grid-v3,.quest-grid-v3,.list-grid,.container-grid{grid-template-columns:1fr!important}
  .building-grid-v3 .building-tile,.warehouse-grid>*{min-width:0}
  .sticky-detail,.map-detail,.sidebar{position:static!important;top:auto!important}
  .workorder-card{grid-template-columns:auto minmax(0,1fr)!important}.workorder-card>.btn{grid-column:2}
  .demand-resource-grid{grid-template-columns:1fr!important}.recipe-mini-v3{grid-template-columns:1fr!important}.recipe-arrow{transform:rotate(90deg);justify-self:center}
  .bluemap-frame{height:calc(100vh - 210px);min-height:430px}.bluemap-panel{min-height:430px}.colony-map{min-height:520px}
  .map-toolbar-v2{align-items:stretch}.map-toolbar-v2>.segmented,.map-actions,.map-filterbar{width:100%}.map-actions{justify-content:space-between}.map-actions .meta{font-size:.66rem;flex:1}
  .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .portal-tabs,.segmented{overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}
  .container-card{grid-template-columns:1fr!important}.container-preview{height:140px!important}.container-assign{display:grid!important;grid-template-columns:1fr}.container-assign>*{width:100%}
  .mobile-bottom-nav{display:grid;position:fixed;z-index:200;left:0;right:0;bottom:0;height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));padding:6px 7px env(safe-area-inset-bottom,6px);grid-template-columns:repeat(5,1fr);background:#070709f5;border-top:2px solid #5b442b;box-shadow:0 -8px 30px #000b}
  .mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:transparent;color:#8e8e98;padding:5px 2px;display:grid;place-items:center;gap:1px;box-shadow:none!important;transform:none!important}
  .mobile-bottom-nav span{font-size:1.1rem;line-height:1}.mobile-bottom-nav b{font-size:.61rem;font-weight:700}.mobile-bottom-nav .active{color:#fff;background:#1a0c10;border:1px solid #5b1720}
  .mobile-more-sheet{display:block;position:fixed;inset:0;z-index:260}.mobile-more-sheet.hidden{display:none!important}.mobile-sheet-backdrop{position:absolute;inset:0;background:#000b;border:0;border-radius:0!important}.mobile-sheet-card{position:absolute;left:8px;right:8px;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + 6px);background:#0e0e12;border:2px solid #4b1a20;padding:12px;display:grid;gap:6px;box-shadow:0 -16px 60px #000}
  .mobile-sheet-card>a{color:#ddd;padding:12px;border:1px solid #27272d;background:#0d1b24}.mobile-sheet-card>strong{padding:5px 4px 9px}.mobile-sheet-handle{width:54px;height:4px;background:#444;margin:0 auto 5px}
}
@media(max-width:480px){
  body{font-size:14px}.page,.wrap{padding-inline:8px}.kpi-grid,.stats,.colony-kpi-grid{grid-template-columns:1fr 1fr!important;gap:6px}.colony-kpi,.metric{padding:10px;min-height:78px}.colony-kpi strong,.metric strong{font-size:1.1rem}.hero{border-width:1px}.command-search input{height:46px}.quick-action{padding:11px}.workorder-progress-grid{grid-template-columns:1fr!important}.station-strip{gap:4px}.badge{font-size:.68rem;padding:3px 6px}.bluemap-frame{height:calc(100vh - 225px)}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
.bluemap-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:520px}.bluemap-map-layout>.bluemap-frame{width:100%}.bluemap-companion{border-left:1px solid var(--line-soft);background:#08141d;padding:12px;overflow:auto;max-height:min(76vh,820px)}.bluemap-companion h3{margin:4px 0}.bluemap-marker-list{display:grid;gap:5px;margin-top:10px}.bluemap-marker-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;padding:7px;background:#0e0e12}.bluemap-marker-list button span:nth-child(2){min-width:0}.bluemap-marker-list strong,.bluemap-marker-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bluemap-marker-list small{color:var(--muted);font-size:.65rem}.bluemap-marker-list .icon{width:24px;height:24px;image-rendering:pixelated}
@media(max-width:1100px){.bluemap-map-layout{grid-template-columns:1fr}.bluemap-companion{border-left:0;border-top:1px solid var(--line-soft);max-height:240px}.bluemap-marker-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}
@media(max-width:820px){.bluemap-map-layout{display:block}.bluemap-companion{max-height:180px}.bluemap-marker-list{display:flex;overflow-x:auto;gap:6px}.bluemap-marker-list button{min-width:210px;flex:0 0 auto}.bluemap-map-layout .bluemap-frame{height:calc(100vh - 300px);min-height:380px}}

/* Colony Manager · personal inventory history, MineColonies visuals and grouped demand */
.warehouse-detail{margin-top:14px;border-color:#4b1a20}.warehouse-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.warehouse-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:14px;margin-top:14px}.inventory-history-chart{display:block;width:100%;height:auto;min-height:190px;background:#08080a;border:1px solid #24242a}.inventory-history-chart line{stroke:#393940;stroke-width:1}.inventory-history-chart polyline{fill:none;stroke:var(--accent-hi);stroke-width:3;vector-effect:non-scaling-stroke}.inventory-history-chart text{fill:#8c8c95;font:11px ui-monospace,monospace}.inventory-location-list{display:grid;gap:6px}.inventory-location-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;background:#08141d}.inventory-location-list span{min-width:0}.inventory-location-list strong,.inventory-location-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-location-list small{color:var(--muted);font-size:.72rem}.inventory-range{display:flex}.warehouse-item.selected{border-color:#a87c43;background:#180c10}

.building-hut-icon{object-fit:contain;image-rendering:pixelated}.building-symbol .building-hut-icon{width:44px;height:44px}.building-inline-icon .building-hut-icon{width:28px;height:28px}.building-detail-icon .building-hut-icon{width:52px;height:52px}
.citizen-skin-avatar{position:relative;overflow:hidden;background-image:var(--skin);background-size:800% 800%;background-position:-100% -100%;image-rendering:pixelated;background-repeat:no-repeat;border-radius:2px!important}.citizen-skin-avatar>i{position:absolute;inset:0;background-image:var(--skin);background-size:800% 800%;background-position:-500% -100%;image-rendering:pixelated;background-repeat:no-repeat;pointer-events:none}

.demand-card.grouped{display:flex;flex-direction:column;gap:10px}.demand-total{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.demand-total .icon{width:46px;height:46px}.requester-breakdown{display:grid;gap:5px;border-top:1px solid #24242a;padding-top:9px}.requester-breakdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px 8px;background:#08141d;border:1px solid #1d1d22}.requester-breakdown-row small{display:block;color:var(--muted)}.production-recipe-help,.technical-details{border:1px solid #29292f;background:#0a151f}.production-recipe-help>summary,.technical-details>summary{cursor:pointer;padding:8px 10px;color:#d7d7db}.production-recipe-body{display:grid;gap:8px;padding:10px;border-top:1px solid #25252b}.production-recipe-body small{display:block;color:var(--muted)}.recipe-output-line{padding:7px 9px;border-left:3px solid var(--accent);background:#160a0d}.technical-details pre{white-space:pre-wrap;word-break:break-all;font-size:.68rem;color:#777781;padding:8px;margin:0}.production-grid{align-items:start}

.dashboard-trends{margin-top:12px}.trend-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.trend-item-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid #222228;background:#08141d;color:inherit}.trend-item-row span{min-width:0}.trend-item-row strong,.trend-item-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trend-item-row small{color:var(--muted);font-size:.7rem}.trend-delta{font:800 .76rem ui-monospace,monospace}.trend-delta.up{color:#8dd29d}.trend-delta.down{color:#f08a91}.trend-delta.flat{color:#888}.dashboard-range{display:flex}

/* Landing scene gets more visual weight while remaining local/lightweight. */
.hero-grid.dk-home-hero{grid-template-columns:minmax(0,.95fr) minmax(460px,1.05fr)}.voxel-hero-card{min-height:390px;cursor:crosshair}.voxel-hero-card canvas{min-height:390px}.hero.dk-landing-copy{min-height:390px}

@media(max-width:1100px){.warehouse-detail-grid{grid-template-columns:1fr}.trend-item-grid{grid-template-columns:1fr}.hero-grid.dk-home-hero{grid-template-columns:1fr}.voxel-hero-card{min-height:330px}.voxel-hero-card canvas{min-height:330px}}
@media(max-width:820px){.warehouse-detail-head{display:grid}.warehouse-detail-head>.toolbar{width:100%;display:flex;overflow-x:auto}.warehouse-detail-grid{grid-template-columns:1fr}.inventory-history-chart{min-height:160px}.demand-total{grid-template-columns:auto 1fr}.demand-total>b{grid-column:2}.voxel-hero-card{min-height:280px}.voxel-hero-card canvas{min-height:280px}}

/* item intelligence + explicit partial-state semantics */
.freshness-chip.partial{border-color:#76531b;color:#efc66d;background:#171007}
.warehouse-detail-top{margin:10px 0 16px;scroll-margin-top:96px}
.warehouse-intel-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}
.warehouse-intel-tabs a{padding:6px 9px;border:1px solid #303038;background:#0b0b0f;color:#c8c8cf;font-size:.76rem;text-decoration:none}
.warehouse-intel-tabs a:hover{border-color:#6f5737;color:#fff}
.warehouse-intel-secondary{margin-top:12px}
.inventory-intel-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1px solid #29292f;background:#08141d;margin-bottom:5px}
.inventory-intel-row strong,.inventory-intel-row small{display:block}.inventory-intel-row small{color:var(--muted);font-size:.7rem}.inventory-intel-row b{font-family:ui-monospace,monospace}
.inventory-workorders{margin-top:8px;padding-top:8px;border-top:1px solid #24242a}
@container (max-width:520px){.warehouse-detail-grid{grid-template-columns:1fr}}
@media(max-width:820px){.warehouse-intel-tabs{overflow-x:auto;flex-wrap:nowrap}.warehouse-intel-tabs a{flex:0 0 auto}.warehouse-detail-top{scroll-margin-top:130px}}

/* Colony Manager UI */
.hero-grid.dk-home-hero{grid-template-columns:minmax(0,.98fr) minmax(460px,1.02fr)}
.sky-hero-card{position:relative;min-height:390px;overflow:hidden;border:1px solid #3d171d;background:#080b10;padding:0!important;isolation:isolate}
.sky-hero-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 32%,rgba(0,0,0,.14)),repeating-linear-gradient(90deg,transparent 0 47px,rgba(255,255,255,.009) 48px)}
.sky-hero-card canvas{display:block;width:100%;height:100%;min-height:390px}
.sky-hero-overlay{position:absolute;left:16px;bottom:14px;z-index:2;pointer-events:none}
.sky-hero-overlay span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(7,9,12,.58);backdrop-filter:blur(8px);color:#d8d8dc;font:700 .66rem ui-monospace,monospace;letter-spacing:.03em}
@media(max-width:1100px){.hero-grid.dk-home-hero{grid-template-columns:1fr}.sky-hero-card{min-height:330px}.sky-hero-card canvas{min-height:330px}}
@media(max-width:820px){.sky-hero-card{min-height:280px}.sky-hero-card canvas{min-height:280px}}

/* Colony Manager UI */
.inventory-history-chart{display:block;width:100%;height:auto;min-height:190px;color:var(--accent-hi);background:linear-gradient(180deg,#09090c,#070709);border:1px solid #24242a;border-radius:12px;overflow:hidden}
.inventory-history-chart .history-axis{stroke:#34343b;stroke-width:1}
.inventory-history-chart .history-area{fill:url(#historyFill);color:var(--accent-hi);animation:historyAreaIn .55s ease both}
.inventory-history-chart .history-line{fill:none;stroke:var(--accent-hi);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:historyLineIn .65s cubic-bezier(.2,.8,.2,1) forwards}
.inventory-history-chart text{fill:#8c8c95;font:11px ui-monospace,monospace}
@keyframes historyLineIn{to{stroke-dashoffset:0}}
@keyframes historyAreaIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.inventory-history-chart .history-line,.inventory-history-chart .history-area{animation:none;stroke-dashoffset:0}}

/* Colony Manager UI */
.requester-breakdown{gap:8px;padding-top:11px}
.requester-breakdown-row{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:9px 10px;border-radius:8px}
.requester-breakdown-row span{min-width:0}
.requester-breakdown-row strong{display:block;line-height:1.25;margin-bottom:3px}
.requester-breakdown-row small{display:block;line-height:1.35;color:var(--muted)}
.requester-breakdown-row b{align-self:center;padding-left:8px;white-space:nowrap}

/* Standard 64x64 Minecraft skin: face at 8/8, hat overlay at 40/8.
   With background-size 800%, one 8px cell equals 1/7 of the movable background range. */
.citizen-skin-avatar{background-position:14.2857% 14.2857%!important}
.citizen-skin-avatar>i{background-position:71.4286% 14.2857%!important}

/* Colony Manager UI */
:root{--sidebar:92px;--topbar:62px;--radius:4px;--radius-sm:4px;--panel:#0b0c10;--panel-2:#101116;--line:#252831;--line-soft:#181b22;--accent:#c89243;--accent-hi:#efc979;--accent-lo:#785020}
body{background:radial-gradient(circle at 12% 110%,rgba(202,149,70,.07),transparent 36rem),linear-gradient(180deg,#061019,#08151d 70%,#07131b);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body:before{background:linear-gradient(120deg,transparent 0 48%,rgba(202,149,70,.012) 48% 49%,transparent 49% 100%);background-size:86px 86px}
.card,.surface{border-radius:4px;background:linear-gradient(180deg,rgba(13,14,18,.985),rgba(8,9,12,.99));box-shadow:0 1px 0 rgba(255,255,255,.018) inset}
.side-nav{padding:10px 8px 12px;background:#07131b;border-right:1px solid #20232a;align-items:stretch}.side-brand{justify-content:center;padding:3px 0 14px}.brand-mark{width:35px;height:35px;border-radius:1px;font-size:0;background:linear-gradient(135deg,#d9a653,#6f451c);border:1px solid #efc979;box-shadow:0 0 18px rgba(202,149,70,.24);transform:none}.brand-copy,.nav-label,.server-mini .meta{display:none}.nav-group{gap:8px}.nav-link{min-height:68px;padding:8px 3px;display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center;border-radius:3px;font-size:.7rem;color:#8f95a0}.nav-link .nav-icon{width:28px;height:28px;background:transparent;color:#9ba1ab;font-size:1.05rem}.nav-link.active{background:linear-gradient(180deg,rgba(202,149,70,.16),rgba(202,149,70,.035));border-color:#5f4728;color:#f0cf8e;box-shadow:0 0 24px rgba(202,149,70,.08) inset}.nav-link.active .nav-icon{background:transparent;color:#e7b65f;box-shadow:none}.nav-spacer{min-height:8px}.server-mini{padding:8px;border:0;background:transparent;text-align:center}.server-mini strong{display:none}.server-dot{margin:0;width:8px;height:8px;background:#38d987;box-shadow:0 0 12px rgba(56,217,135,.5)}
.topbar{height:62px;padding:0 18px;border-bottom:1px solid #20232a;background:rgba(7,8,11,.96);backdrop-filter:blur(16px)}.topbar-title strong{font:800 .78rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:#efc979;text-transform:uppercase}.topbar-title span{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:#5e646e}.dk-topnav{display:flex;gap:3px;align-self:stretch;align-items:stretch;min-width:0;overflow:auto}.dk-topnav a{position:relative;display:flex;align-items:center;padding:0 15px;color:#b5bac4;font:700 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.dk-topnav a:hover{color:#fff}.dk-topnav a.active{color:#f1cf8c}.dk-topnav a.active:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:#efc979;box-shadow:0 0 9px #efc979}.top-actions .btn{border-color:#272a31;background:#0b0c10;border-radius:3px;padding:7px 10px}.page{max-width:1920px;padding:20px clamp(14px,1.4vw,26px) 52px}
.hero-grid.dk-home-hero{grid-template-columns:minmax(520px,.92fr) minmax(600px,1.08fr);gap:14px;margin-bottom:14px}.dk-landing-copy{min-height:530px;padding:76px 28px 24px;border-radius:4px;background:radial-gradient(circle at 18% 15%,rgba(202,149,70,.08),transparent 28rem),linear-gradient(135deg,#10080c,#0a1821 45%,#07131b);border-color:#6f522f}.dk-landing-copy:after{border-radius:0;width:260px;height:260px;right:auto;left:-90px;top:-80px;opacity:.28}.dk-landing-copy h1{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(2.35rem,3.2vw,4.05rem);line-height:1.08;letter-spacing:-.055em;max-width:720px;margin:20px 0 18px}.dk-landing-copy p{max-width:720px;font-size:1rem;line-height:1.65;color:#b5b8c0}.dk-wordmark{display:flex;align-items:center;gap:12px}.dk-wordmark .cube{width:20px;height:20px;border:2px solid #e5b25a;background:#b77c31;box-shadow:4px 4px 0 #5c3d1c}.command-search{margin-top:28px}.command-search input{height:52px;border-radius:3px;background:#07080a;border-color:#5f4a31}.dk-feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}.dk-feature-row>div{display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center}.dk-feature-row b{font-size:1.45rem;color:#e6b863;font-weight:500}.dk-feature-row span{font-size:.73rem;line-height:1.35;color:#9ea2ab}.dk-hero-motto{position:absolute;left:28px;bottom:20px;font:700 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.28em;color:#555b65}.sky-hero-card{position:relative;min-height:530px;padding:0;overflow:hidden;border-radius:4px;border-color:#674b2d;background:#0a1821}.sky-hero-card canvas{display:block;width:100%;height:100%;min-height:530px;image-rendering:pixelated}.sky-hero-overlay{position:absolute;left:16px;bottom:14px}.sky-hero-overlay span{display:inline-flex;padding:6px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(7,8,11,.72);font:700 .65rem ui-monospace,monospace;color:#eef0f4;backdrop-filter:blur(8px)}.legacy-quick,.legacy-home-hidden{display:none!important}
.reference-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}.ref-panel{min-height:220px;padding:16px 18px;border-color:#4b3a25}.ref-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.ref-panel-head h3{font:800 .88rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;margin:0}.ref-panel-head a{color:#7d838d;font-size:1.1rem}.ref-status-layout{display:grid;grid-template-columns:135px 1fr;gap:18px;align-items:center}.ref-ring{--p:0;width:126px;height:126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4de3a3 calc(var(--p)*1%),#181c22 0);box-shadow:0 0 18px rgba(77,227,163,.08)}.ref-ring:before{content:"";position:absolute;width:102px;height:102px;border-radius:50%;background:#0b0d10;border:1px solid #20252b}.ref-ring>div{position:relative;text-align:center;z-index:1}.ref-ring strong{display:block;font:800 1.8rem/1 ui-monospace,monospace}.ref-ring span{display:block;margin-top:7px;color:#7fd9b1;font-size:.7rem}.ref-kv{display:grid;gap:12px}.ref-kv>div{display:grid;grid-template-columns:8px 1fr;gap:8px;align-items:center;padding-bottom:8px;border-bottom:1px solid #191c22}.dot{width:7px;height:7px;border-radius:50%;background:#8c9199}.dot.good{background:#45e5a0}.dot.warn{background:#e1b54e}.dot.bad{background:#ef4553}.ref-kv b{font-size:.76rem;font-weight:600}.ref-demand-list{display:grid;gap:9px}.ref-demand-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;color:#dfe2e8}.ref-demand-row>span{display:grid;grid-template-columns:1fr;gap:5px}.ref-demand-row b{font-size:.76rem}.ref-demand-row i{height:5px;background:#191c22;overflow:hidden}.ref-demand-row em{display:block;height:100%;background:linear-gradient(90deg,#d6a34f,#f3d9a2);box-shadow:0 0 8px rgba(202,149,70,.35)}.ref-demand-row strong{font:700 .68rem ui-monospace,monospace;color:#b8bdc5}.ref-upgrade{display:grid;grid-template-columns:115px 1fr;gap:14px}.ref-build-thumb{position:relative;height:116px;background:linear-gradient(#28394d 0 54%,#516b3c 54% 64%,#403a31 64%);border:1px solid #292d34;overflow:hidden}.ref-build-thumb .house{position:absolute;left:30px;bottom:16px;width:58px;height:46px;background:#c6b394;border:5px solid #5d3c27}.ref-build-thumb .roof{position:absolute;left:20px;bottom:59px;width:78px;height:30px;background:#7d3026;clip-path:polygon(50% 0,100% 100%,0 100%)}.ref-build-thumb .door{position:absolute;left:54px;bottom:16px;width:13px;height:25px;background:#4a2b1d}.ref-upgrade>div:last-child{display:grid;align-content:start;gap:6px}.ref-upgrade small{color:#6f7580}.ref-upgrade strong{font-size:.95rem}.ref-progress{height:6px;background:#191c22;margin:4px 0}.ref-progress i{display:block;height:100%;background:#efc979;box-shadow:0 0 10px rgba(202,149,70,.3)}.ref-upgrade ul{list-style:none;margin:5px 0 0;padding:0;display:grid;gap:6px;color:#9297a1;font-size:.72rem}.ref-upgrade li:before{content:"○";margin-right:7px;color:#4bd99c}.ref-server-list{display:grid}.ref-server-list>div{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px;border-bottom:1px solid #191c22;font-size:.73rem}.ref-server-list>div>span{color:#8d939e}.ref-server-list b{font-weight:500;color:#c5c9d0}.ref-server-list strong{font:700 .68rem ui-monospace,monospace;color:#8f959f}.ref-server-list .online{color:#45e3a0}.ref-login{display:grid;gap:10px;color:#8e949e}.ref-login strong{color:#e6e8ec}.ref-login .btn{justify-self:start}
/* deterministic MineColonies visuals */
.building-symbol{width:50px;height:50px;background:#0d1b24;border-color:#3a1a20}.building-symbol .building-hut-icon{width:42px;height:42px;image-rendering:pixelated}.building-tile{min-height:176px;padding:14px}.building-tile h3{margin:10px 0 3px}.building-facts{gap:5px}.citizen-head-avatar{object-fit:cover;image-rendering:pixelated;border-radius:3px!important;background:#15171b}.citizen-avatar-fallback{border-radius:3px!important}.citizen-card{min-height:138px}.citizen-head{gap:12px}
/* BlueMap-backed technical schema */
.schema-map-stack{position:relative;min-height:650px;border:1px solid var(--line-soft);overflow:hidden;background:#07141c}.schema-map-stack .colony-map{position:absolute;inset:0;min-height:0;border:0;border-radius:0;background:transparent}.schema-bluemap-underlay{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;opacity:.58;filter:saturate(.72) brightness(.68) contrast(1.1)}.schema-overlay .map-claim{background:rgba(70,130,78,.10);border-color:rgba(94,156,100,.28)}.schema-overlay .map-grid-lines{background-image:linear-gradient(rgba(202,149,70,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(202,149,70,.05) 1px,transparent 1px)}
/* inventory history — monotone, truthful and animated */
.inventory-history-chart.modern{width:100%;min-height:270px;color:#efc979;overflow:visible}.inventory-history-chart .history-grid line{stroke:#242831;stroke-width:1}.inventory-history-chart .history-grid text,.history-xlabel{fill:#707680;font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.inventory-history-chart .history-area{fill:url(#historyFill)}.inventory-history-chart .history-line{fill:none;stroke:#efc979;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:historyDraw .85s cubic-bezier(.2,.75,.2,1) forwards}.inventory-history-chart .history-point{fill:#0b0d10;stroke:#efc979;stroke-width:1.7;opacity:0;animation:historyPoint .28s ease forwards;animation-delay:calc(.18s + var(--i)*22ms)}@keyframes historyDraw{to{stroke-dashoffset:0}}@keyframes historyPoint{to{opacity:1}}
@media(max-width:1500px){.reference-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid.dk-home-hero{grid-template-columns:1fr 1fr}.dk-landing-copy h1{font-size:clamp(2.2rem,3.1vw,3.3rem)}}
@media(max-width:1100px){:root{--sidebar:82px}.dk-topnav{display:none}.hero-grid.dk-home-hero{grid-template-columns:1fr}.dk-landing-copy,.sky-hero-card,.sky-hero-card canvas{min-height:480px}.reference-overview-grid{grid-template-columns:1fr 1fr}.dk-feature-row{grid-template-columns:1fr 1fr}}
@media(max-width:720px){:root{--sidebar:0px}.side-nav{display:none}.topbar{padding:0 12px}.reference-overview-grid{grid-template-columns:1fr}.dk-landing-copy{min-height:520px;padding:42px 18px 22px}.dk-landing-copy h1{font-size:2.25rem}.dk-feature-row{grid-template-columns:1fr 1fr}.dk-hero-motto{left:18px}.ref-status-layout{grid-template-columns:115px 1fr}.ref-ring{width:108px;height:108px}.ref-ring:before{width:86px;height:86px}.sky-hero-card,.sky-hero-card canvas{min-height:400px}.schema-map-stack{min-height:480px}}

/* Colony Manager UI */
.admin-page{max-width:1800px}.admin-login-card{width:min(520px,calc(100vw - 32px));margin:12vh auto;padding:28px;border-color:#6d5130}.admin-tabs{display:flex;gap:5px;overflow:auto;margin-bottom:16px;background:#08151d;border:1px solid #252831;padding:5px}.admin-tabs button{white-space:nowrap;border-radius:2px}.admin-content{min-height:430px}.admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}.admin-kpi{min-height:112px}.admin-kpi span,.admin-kpi strong,.admin-kpi small{display:block}.admin-kpi span{color:#818792;font-size:.72rem}.admin-kpi strong{font:800 1.8rem/1.2 ui-monospace,monospace;margin:7px 0}.admin-kpi small{color:#626872}.admin-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.admin-action-grid .btn{display:flex;align-items:center;justify-content:center}.admin-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.admin-facts>div{display:flex;justify-content:space-between;gap:10px;padding:9px;border:1px solid #1d2026;background:#08151d}.admin-facts span{color:#737a85;font-size:.75rem}.admin-facts b{font:800 .8rem ui-monospace,monospace}.admin-section-title{margin-bottom:12px}.admin-table-card{padding:0;overflow:hidden}.admintable{width:100%;border-collapse:collapse}.admintable th,.admintable td{padding:11px 12px;border-bottom:1px solid #1a1d23;text-align:left}.admintable th{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#727985;background:#08151d}.admintable tr:hover td{background:#0d1b24}.admin-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.admin-colony-card{text-align:left;min-height:170px}.admin-colony-card h3{font:800 1.05rem ui-monospace,monospace;margin:9px 0}.admin-colony-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.admin-colony-meta span{display:flex;justify-content:space-between;gap:8px;padding:6px;border-bottom:1px solid #1a1d23;color:#747b85;font-size:.72rem}.admin-colony-meta b{color:#c8ccd3}.admin-modal-card{width:min(920px,calc(100vw - 30px));max-height:86vh;overflow:auto}.admin-modal-tabs h3{margin-top:22px}.admin-member-list,.admin-share-list,.admin-mini-list{display:grid;gap:6px;margin:8px 0 12px}.admin-member-list>div,.admin-share-list>div,.admin-mini-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px;border:1px solid #1d2026;background:#08151d}.admin-member-list span strong,.admin-member-list span small,.admin-share-list span strong,.admin-share-list span small,.admin-mini-list span strong,.admin-mini-list span small{display:block}.admin-member-list small,.admin-share-list small,.admin-mini-list small{color:#747a84;font-size:.68rem}.admin-mini-list>div{grid-template-columns:minmax(0,1fr) auto}.admin-modal-tabs .toggle-grid{padding:10px;border:1px solid #1d2026;background:#08151d}
@media(max-width:1300px){.admin-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.admin-kpi-grid,.admin-overview-grid{grid-template-columns:1fr 1fr}.admin-member-list>div,.admin-share-list>div{grid-template-columns:1fr}.admin-action-grid{grid-template-columns:1fr}}@media(max-width:560px){.admin-kpi-grid,.admin-overview-grid{grid-template-columns:1fr}}
/* Colony Manager UI */
:root{--sidebar:102px}
.side-nav{overflow-x:hidden}.nav-link{font-size:.62rem;line-height:1.15}.nav-link>span:last-child{max-width:86px;white-space:normal;overflow-wrap:anywhere}.brand-mark{width:38px;height:38px}.sky-hero-card{box-shadow:0 0 0 1px rgba(202,149,70,.05) inset,0 18px 50px rgba(0,0,0,.18)}
.dk-landing-copy{background:radial-gradient(circle at 18% 15%,rgba(202,149,70,.10),transparent 26rem),linear-gradient(135deg,#11090d,#0b0c10 48%,#07131b)}
@media(max-width:1100px){:root{--sidebar:96px}.nav-link{font-size:.58rem}.nav-link>span:last-child{max-width:80px}}
@media(max-width:720px){:root{--sidebar:0px}}

/* Colony Manager UI */
.reference-scene{--sun-x:72%;--sun-y:35%;--sun-opacity:.3;--moon-x:18%;--moon-y:28%;--moon-opacity:0;--stars-opacity:0;--sky-top:#1f5485;--sky-mid:#7396b5;--sky-bottom:#f0b36f;--scene-brightness:1;position:relative;isolation:isolate;overflow:hidden;background:#10151d}
.reference-sky-base{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 53%,var(--sky-bottom) 100%);transition:background 2s linear}
.reference-stars{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--stars-opacity);transition:opacity 2s ease;background-image:radial-gradient(circle at 8% 14%,rgba(255,255,255,.9) 0 1px,transparent 1.5px),radial-gradient(circle at 24% 8%,rgba(255,255,255,.72) 0 1px,transparent 1.5px),radial-gradient(circle at 40% 19%,rgba(255,255,255,.82) 0 1px,transparent 1.5px),radial-gradient(circle at 58% 9%,rgba(255,255,255,.78) 0 1px,transparent 1.5px),radial-gradient(circle at 74% 22%,rgba(255,255,255,.88) 0 1px,transparent 1.5px),radial-gradient(circle at 91% 11%,rgba(255,255,255,.68) 0 1px,transparent 1.5px),radial-gradient(circle at 14% 34%,rgba(255,255,255,.58) 0 1px,transparent 1.5px),radial-gradient(circle at 52% 36%,rgba(255,255,255,.6) 0 1px,transparent 1.5px),radial-gradient(circle at 84% 39%,rgba(255,255,255,.65) 0 1px,transparent 1.5px)}
.reference-sky-motion{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.reference-sun-glow{position:absolute;left:var(--sun-x);top:var(--sun-y);width:96px;height:96px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff9d6 0 14%,rgba(255,228,142,.95) 15% 24%,rgba(255,191,86,.42) 25% 43%,rgba(255,162,64,.12) 44% 63%,transparent 70%);filter:blur(1px);opacity:var(--sun-opacity);transition:left 18s linear,top 18s linear,opacity 1.5s ease}
.reference-moon{position:absolute;left:var(--moon-x);top:var(--moon-y);width:42px;height:42px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 38% 34%,#fffbe8 0 42%,#d7e2ef 72%,#aab8c9 100%);box-shadow:0 0 26px rgba(196,220,255,.38);opacity:var(--moon-opacity);transition:left 18s linear,top 18s linear,opacity 1.5s ease}
.reference-cloud{position:absolute;width:112px;height:24px;border-radius:2px;background:rgba(247,244,236,.15);box-shadow:24px -10px 0 3px rgba(247,244,236,.12),53px 2px 0 -2px rgba(247,244,236,.1),-25px 4px 0 -5px rgba(247,244,236,.09);image-rendering:pixelated;filter:blur(.25px);opacity:.8}
.reference-cloud.c1{top:11%;left:-18%;animation:referenceCloud 78s linear infinite}.reference-cloud.c2{top:24%;left:-34%;transform:scale(.72);opacity:.58;animation:referenceCloud 112s linear -35s infinite}.reference-cloud.c3{top:7%;left:-25%;transform:scale(.52);opacity:.46;animation:referenceCloud 145s linear -80s infinite}
@keyframes referenceCloud{to{left:116%}}
.reference-scene-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:3;user-select:none;-webkit-user-drag:none;filter:brightness(var(--scene-brightness));transition:filter 2s linear}
.reference-atmosphere{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 46%,rgba(3,8,18,.12));mix-blend-mode:soft-light}
.reference-scene .sky-hero-overlay{z-index:5;left:14px;bottom:12px}.reference-scene .sky-hero-overlay span{min-width:150px;justify-content:center;background:rgba(7,8,11,.92);box-shadow:0 2px 12px rgba(0,0,0,.34)}
@media(prefers-reduced-motion:reduce){.reference-cloud{animation:none}.reference-sun-glow,.reference-moon,.reference-sky-base,.reference-scene-foreground{transition:none}}
@media(max-width:1100px){.reference-scene-foreground{object-position:center}}


.ref-upgrade.modern{display:grid;grid-template-columns:136px minmax(0,1fr);gap:14px;align-items:center}
.ref-build-thumb.modern{position:relative;width:136px;height:96px;border-radius:8px;overflow:hidden;border:1px solid #3a2528;background:#0d1b24;box-shadow:0 14px 24px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.03)}
.ref-build-thumb.modern img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.04) contrast(1.02)}
.ref-build-thumb.modern:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 36%,rgba(0,0,0,.18) 100%)}
.ref-build-glow{position:absolute;inset:auto 10px 10px 10px;height:18px;background:radial-gradient(circle at center,rgba(239,201,121,.28),transparent 70%);filter:blur(8px);pointer-events:none}

/* Truthful history tooltip and full-width continuation */
.inventory-history-wrap{position:relative}
.inventory-history-chart .history-line{stroke-dasharray:none!important;stroke-dashoffset:0!important;animation:historyFade .28s ease both!important}
.inventory-history-chart .history-point{stroke-width:1.55!important;cursor:pointer;outline:none}
.inventory-history-chart .history-point:hover,.inventory-history-chart .history-point:focus{r:4px!important;opacity:1!important;filter:drop-shadow(0 0 4px rgba(239,201,121,.8))}
.history-tooltip{position:absolute;z-index:8;pointer-events:none;min-width:150px;padding:8px 10px;border:1px solid #6d5130;background:#08151def;box-shadow:0 12px 30px #000a;color:#eee;border-radius:6px;font-size:.72rem;backdrop-filter:blur(6px)}
.history-tooltip strong,.history-tooltip span{display:block}.history-tooltip span{margin-top:2px;color:#a8adb6}
@keyframes historyFade{from{opacity:.35}to{opacity:1}}

/* Integrated BlueMap */
.worldmap-main{min-width:0}.worldmap-page{height:calc(100vh - var(--topbar));padding:0}.worldmap-stage{position:relative;width:100%;height:100%;background:#050608;overflow:hidden}.worldmap-frame{width:100%;height:100%;border:0;display:block}.worldmap-missing{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));z-index:3}.worldmap-players{position:absolute;z-index:5;right:14px;top:14px;width:min(340px,calc(100% - 28px));max-height:calc(100% - 28px);overflow:auto;background:#08151ddb;backdrop-filter:blur(10px);border-color:#421820;box-shadow:0 18px 45px #000a}.world-player-list{display:grid;gap:6px}.world-player-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left;background:#0b1922;border:1px solid #242831;padding:9px}.world-player-row span:nth-child(2){min-width:0}.world-player-row strong,.world-player-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-player-row small{color:#858b95;font-size:.68rem}.world-player-dot{width:8px;height:8px;border-radius:50%;background:#46e39f;box-shadow:0 0 10px #46e39f88}
.admin-public-settings{display:grid;gap:8px;margin-top:12px}.admin-public-settings label{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:1px solid #22262d;background:#0a0b0f}.admin-public-settings input{width:18px;height:18px}

/* Mobile-first app shell; desktop rules above remain untouched */
.mobile-section-picker{display:none}
@media(max-width:820px){
  :root{--topbar:54px;--mobile-nav-h:68px}
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));font-size:15px}
  .app-main{min-width:0!important}
  .topbar{position:sticky;top:0;z-index:120;min-height:54px;padding:7px 10px max(7px,env(safe-area-inset-right,0px)) max(7px,env(safe-area-inset-left,0px));background:#061019ec;border-bottom:1px solid #24262d;backdrop-filter:blur(12px)}
  .topbar-title{min-width:0}.topbar-title strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title span{display:none!important}
  .dk-topnav{display:none!important}.top-actions{margin-left:auto;gap:6px}.top-actions>a.btn:not(.lang-switch){display:none}.top-actions button{min-width:44px;min-height:44px}.lang-switch{min-width:58px;min-height:44px}
  #refreshBtn{font-size:0;width:44px;padding:0}#refreshBtn:before{content:'↻';font-size:1.15rem}
  .page,.wrap,.admin-page{padding:10px 10px 20px!important;width:100%;max-width:100%;box-sizing:border-box}
  .card{border-radius:9px}.hero-grid.dk-home-hero{gap:10px}.hero.dk-landing-copy{padding:20px 16px;min-height:auto}.dk-landing-copy h1{font-size:clamp(2rem,10.5vw,2.8rem);line-height:1.05}.dk-feature-row{grid-template-columns:1fr 1fr;gap:9px}.dk-hero-motto{position:static;margin-top:16px;font-size:.6rem;letter-spacing:.15em}
  .sky-hero-card{min-height:280px!important;aspect-ratio:16/10}.reference-scene-foreground{object-fit:cover}.reference-sky-motion{display:block}
  .reference-overview-grid,.colony-dashboard-grid,.admin-overview-grid,.admin-kpi-grid{grid-template-columns:1fr!important}.panel-span-2{grid-column:auto!important}.ref-panel{min-height:auto}.ref-status-layout{grid-template-columns:105px 1fr}.ref-ring{width:100px;height:100px}.ref-ring:before{width:80px;height:80px}.ref-upgrade.modern{grid-template-columns:112px minmax(0,1fr)}.ref-build-thumb.modern{width:112px;height:86px}
  .quick-stack,.legacy-quick{display:none!important}
  .colony-tabs{display:none!important}.mobile-section-picker{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;position:sticky;top:54px;z-index:115;margin:0 0 10px;padding:8px 10px;background:#07131bed;border:1px solid #24272e;backdrop-filter:blur(10px)}.mobile-section-picker span{font-size:.7rem;color:#8e949e;text-transform:uppercase;letter-spacing:.08em}.mobile-section-picker select{width:100%;min-height:44px;background:#0b1922;color:#fff;border:1px solid #343840;padding:0 10px}
  .filter-bar,.colony-filterbar,.map-toolbar-v2{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:8px!important}.filter-bar input,.filter-bar select,.colony-filterbar input,.colony-filterbar select{min-height:44px}.map-toolbar-v2>.segmented,.map-actions,.map-filterbar{width:100%}.map-toolbar-v2 .segmented{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.map-toolbar-v2 .segmented button{min-height:44px;flex:0 0 auto;scroll-snap-align:start}.map-actions{display:grid;grid-template-columns:1fr auto}.map-actions .meta{font-size:.64rem}.map-filterbar{display:flex!important;overflow-x:auto}
  .building-grid-v3,.warehouse-grid,.warehouse-grid.dense,.research-grid-v3,.quest-grid-v3,.citizen-grid,.production-grid,.list-grid,.container-grid{grid-template-columns:1fr!important}.building-tile,.citizen-card,.research-v3-card,.quest-card-v3{min-height:auto}
  .warehouse-detail-head{display:grid!important}.warehouse-detail-head>.toolbar{display:flex;width:100%;overflow-x:auto;padding-bottom:2px}.warehouse-detail-grid,.warehouse-intel-secondary{grid-template-columns:1fr!important;gap:10px}.inventory-location-list button{min-height:54px}.inventory-history-chart.modern{min-height:180px}.history-tooltip{font-size:.74rem}
  .workorder-card,.workorder-card.workorder-rich{grid-template-columns:1fr!important}.workorder-icon{display:none}.workorder-card>.btn{grid-column:auto!important;width:100%}.workorder-progress-grid{grid-template-columns:1fr!important}
  .table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.admintable{min-width:680px}.admin-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.admin-tabs button{min-height:44px;flex:0 0 auto}.admin-card-grid{grid-template-columns:1fr!important}.admin-modal-card{width:100%;max-height:calc(100vh - var(--mobile-nav-h) - 16px);border-radius:14px 14px 0 0;margin-top:auto}
  .mobile-bottom-nav{height:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px));padding:6px 6px max(6px,env(safe-area-inset-bottom,0px));background:#061019f5;border-top:1px solid #2b2e35;box-shadow:0 -10px 28px #000b}.mobile-bottom-nav a,.mobile-bottom-nav button{min-height:54px;border-radius:8px!important}.mobile-bottom-nav .active{border:1px solid #6b1e27;background:#1d0c11;color:#fff}.mobile-bottom-nav span{font-size:1.18rem}.mobile-bottom-nav b{font-size:.64rem}
  .mobile-sheet-card{left:8px;right:8px;padding:12px;border-radius:16px 16px 8px 8px}.mobile-sheet-card>a{min-height:48px;display:flex;align-items:center;font-size:.88rem;border-radius:8px}
  .schema-map-stack{min-height:480px!important;height:min(64vh,600px)}.schema-map-stack .colony-map{min-height:0!important}.map-detail{margin-top:8px}
  .bluemap-map-layout .bluemap-frame{height:58vh;min-height:380px}.bluemap-companion{max-height:190px}
  .worldmap-page{height:calc(100vh - var(--topbar) - var(--mobile-nav-h) - env(safe-area-inset-bottom,0px))}.worldmap-stage{height:100%}.worldmap-players{top:auto;bottom:8px;left:8px;right:8px;width:auto;max-height:34%;padding:10px}.world-player-list{display:flex;overflow-x:auto}.world-player-row{min-width:230px;flex:0 0 auto}.worldmap-frame{height:100%}
  button,.btn,a.btn,select,input[type=button],input[type=submit]{min-height:44px}
}
@media(max-width:430px){
  .page,.wrap,.admin-page{padding-inline:8px!important}.hero.dk-landing-copy{padding:18px 13px}.dk-feature-row{grid-template-columns:1fr 1fr}.dk-feature-row>div{font-size:.68rem}.reference-overview-grid{gap:8px}.ref-upgrade.modern{grid-template-columns:96px minmax(0,1fr)}.ref-build-thumb.modern{width:96px;height:78px}.colony-kpi-grid,.kpi-grid,.stats{grid-template-columns:1fr 1fr!important;gap:7px}.colony-kpi,.metric{padding:9px}.schema-map-stack{height:58vh;min-height:430px!important}.mobile-section-picker{grid-template-columns:1fr}.mobile-section-picker span{display:none}
}

/* project identity */
.project-logo-mark{width:58px;height:58px;object-fit:contain;display:block;filter:drop-shadow(0 0 9px rgba(202,149,70,.30))}.side-brand{min-height:72px}.side-brand .project-logo-mark{margin:auto}.topbar-title.with-project-logo{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center}.topbar-project-logo{grid-row:1/3;width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(202,149,70,.22))}.topbar-title.with-project-logo strong{grid-column:2;grid-row:1}.topbar-title.with-project-logo span{grid-column:2;grid-row:2}

/* Official MineColonies autostart Research nodes are real Research, not Effects. */
.state-pill.auto{border-color:#273947;color:#8fc4e7;background:#0a141b}.research-v3-card.state-auto{border-color:#1d323f;background:linear-gradient(145deg,rgba(58,142,194,.055),#0a1821 48%)}

/* World map player focus: a selected live player is rendered over the focused BlueMap coordinate. */
.world-player-head,.world-focused-head{position:relative;overflow:hidden;display:block;flex:0 0 auto;background:#eef2f5;border:1px solid #fff;box-shadow:0 0 10px #fff4;image-rendering:pixelated}.world-player-head{width:30px;height:30px;border-radius:4px}.world-focused-head{width:46px;height:46px;border-radius:6px;border:2px solid #fff;box-shadow:0 0 0 2px #c89243,0 8px 26px #000b}.world-player-head img,.world-focused-head img{position:absolute;width:800%;height:800%;max-width:none;image-rendering:pixelated;pointer-events:none}.world-player-head .skin-base,.world-focused-head .skin-base{left:-100%;top:-100%}.world-player-head .skin-hat,.world-focused-head .skin-hat{left:-500%;top:-100%}.world-player-head.fallback{display:grid;place-items:center;border-radius:50%;width:12px;height:12px;margin:9px;background:#fff;box-shadow:0 0 12px #fff}.world-player-head.fallback i{display:none}.world-focused-player{position:absolute;z-index:9;left:50%;top:50%;transform:translate(-50%,-100%) scale(.92);display:grid;grid-template-columns:auto auto;align-items:center;gap:8px;padding:7px 10px 7px 7px;border:1px solid #71552f;border-radius:8px;background:#08090eea;box-shadow:0 14px 40px #000d;backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.world-focused-player.visible{opacity:1;transform:translate(-50%,-112%) scale(1)}.world-focused-player.leaving{opacity:0}.world-focused-player:after{content:"";position:absolute;left:50%;bottom:-11px;width:2px;height:11px;background:#fff;box-shadow:0 0 6px #fff}.world-focused-player strong,.world-focused-player small{display:block;white-space:nowrap}.world-focused-player strong{font-size:.78rem}.world-focused-player small{color:#969da8;font-size:.63rem;margin-top:2px}

/* Mobile navigation must stay at the physical viewport edge, regardless of page height. */
@media(max-width:820px){
  html,body{min-height:100%;overflow-x:hidden}
  body{padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px))!important}
  .mobile-bottom-nav{display:grid!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100vw!important;margin:0!important;z-index:10000!important;transform:translate3d(0,0,0)!important;contain:layout paint;isolation:isolate}
  .mobile-more-sheet{position:fixed!important;z-index:10020!important}
  .side-nav{display:none!important}
  .app-shell{display:block!important}
  .topbar{top:0!important}
  .project-logo-mark{width:44px;height:44px}.topbar-project-logo{width:32px;height:32px}
  .world-focused-player{top:46%;max-width:calc(100vw - 24px)}
}

/* Mobile: viewport-fixed navigation must not inherit a transformed body. */
@media(max-width:820px){
  body.ui-ready{animation:none!important}
  body.page-leaving{transform:none!important}
}

.recipe-source-badges{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}

/* Public world-map targets */
.world-colony-list{display:grid;gap:6px;margin-bottom:10px}.worldmap-panel-divider{height:1px;background:#2a2024;margin:10px 0}.world-colony-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid #6d5130;border-radius:4px;background:#0c1821;color:#efc979;font-size:1rem}.world-focused-head.colony-target{display:grid;place-items:center;background:#0c1821;color:#efc979;font-size:1.35rem}.world-colony-row small{color:#9f969a}
@media(max-width:760px){.world-colony-list{display:flex;overflow-x:auto}.world-colony-row{min-width:230px;flex:0 0 auto}.worldmap-panel-divider{margin:7px 0}}

/* ============================================================
   Colony Manager visual system
   Cinematic MineColonies companion UI: deep navy, warm brass, blue utility.
   ============================================================ */
:root{
  --bg:#071019;--bg-elev:#0a151f;--panel:#0d1923;--panel-2:#11212c;--panel-3:#172936;
  --line:#263946;--line-soft:#1b2c37;--line-hot:#9b6b32;
  --text:#f4efe4;--text-2:#d9d2c5;--muted:#93a1aa;--muted-2:#65757f;
  --accent:#c99751;--accent-hi:#f2c878;--accent-lo:#865a27;--accent-soft:rgba(201,151,81,.13);
  --blue:#3f88b9;--blue-hi:#6db7e6;--red:#c89243;--red-hi:#efc979;
  --warn:#e2b45d;--danger:#f06c73;--ok:#5fd19a;
  --radius:12px;--radius-sm:8px;--shadow:0 22px 70px rgba(0,0,0,.32);
  --sidebar:218px;--topbar:64px;
}
html{background:var(--bg)}
body{color:var(--text);background:
  radial-gradient(circle at 82% -12%,rgba(82,139,176,.16),transparent 34rem),
  radial-gradient(circle at 10% 96%,rgba(196,139,66,.08),transparent 32rem),
  linear-gradient(180deg,#071019 0%,#08121a 52%,#060d13 100%)!important}
body:before{background:linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.01) 48% 49%,transparent 49% 100%);background-size:112px 112px}
a{color:#78bce8}a:hover{color:#a9d9f7}
h1,h2,h3,.brand-copy strong,.topbar-title strong,.colony-kpi strong,.metric strong{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:780;letter-spacing:-.025em}
.eyebrow,.nav-label,.badge,.state-pill{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.eyebrow{color:var(--accent-hi);letter-spacing:.16em}
.app-shell{grid-template-columns:var(--sidebar) minmax(0,1fr)}
.side-nav{background:linear-gradient(180deg,rgba(7,15,23,.985),rgba(7,15,22,.97));border-right:1px solid #223440;box-shadow:12px 0 38px rgba(0,0,0,.18);padding:16px 12px}
.side-brand{border-bottom:1px solid #1d303b;margin-bottom:8px;padding-bottom:16px}.project-logo-mark{filter:drop-shadow(0 5px 14px rgba(224,172,91,.24))}
.brand-mark{background:linear-gradient(145deg,#d2a154,#7b4c20);border-color:#e4b866;box-shadow:inset 2px 2px 0 rgba(255,255,255,.14),0 8px 24px rgba(0,0,0,.25)}
.nav-label{color:#566873}.nav-link{color:#a2b0b8;border-radius:8px!important;padding:10px 11px}.nav-link .nav-icon{background:#0d1b25;color:#b9c6cd;border:1px solid #1f3441;border-radius:7px!important}
.nav-link:hover{color:#fff;background:#10202b;border-color:#294250}.nav-link.active{color:#fff;background:linear-gradient(90deg,rgba(202,149,70,.22),rgba(202,149,70,.055));border-color:#6f5737;box-shadow:inset 3px 0 0 var(--red)}.nav-link.active .nav-icon{background:#5c4020;color:#fff;border-color:#a77a3d;box-shadow:none}
.server-mini{background:#09151e;border-color:#203542;border-radius:9px!important}.server-dot{background:#4fd395;box-shadow:0 0 13px rgba(79,211,149,.55)}
.topbar{background:rgba(7,16,24,.92);border-bottom:1px solid #263a47;backdrop-filter:blur(15px);box-shadow:0 8px 30px rgba(0,0,0,.16)}
.top-actions .btn{background:#0d1a24;border-color:#304452}.page{max-width:1880px;padding-top:18px}
.card,.surface,.hero,.bluemap-panel,.colony-map{border-radius:var(--radius)!important;background:linear-gradient(145deg,rgba(15,29,39,.97),rgba(9,19,27,.985));border:1px solid #2a3e4a;box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 12px 32px rgba(0,0,0,.14)}
.card.hoverable:hover,.surface.hoverable:hover{border-color:#765832;background:linear-gradient(145deg,#132531,#0c1b24);box-shadow:0 15px 40px rgba(0,0,0,.2);transform:translateY(-2px)}
.accent-card{border-color:#6f522f;background:linear-gradient(125deg,rgba(201,151,81,.14),rgba(13,25,35,.98) 42%)}
button,.btn{border-radius:8px!important;border:1px solid #344854;background:linear-gradient(180deg,#152733,#0d1b24);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:.16s ease}
button:hover,.btn:hover{transform:translateY(-1px);border-color:#7d633e;background:#172b37}
button.primary,.btn.primary,.tab.active,.mc-tab.active{background:linear-gradient(180deg,#c89a55,#9b6a31);border-color:#e0b86f;color:#fff8e9;box-shadow:0 8px 24px rgba(170,115,48,.2);text-shadow:0 1px 2px #4c341c}
button.secondary,.btn.secondary{background:linear-gradient(180deg,#377fae,#245b80);border-color:#61acd8;color:#fff}
button.ghost,.btn.ghost{color:#9eb0bb;background:rgba(7,15,22,.35)}
input,select,textarea{border-radius:8px!important;background:#08141d;border-color:#2a404d;color:#f2eee5}input:focus,select:focus,textarea:focus{border-color:#a87c43;box-shadow:0 0 0 3px rgba(201,151,81,.1);background:#0a1821}input::placeholder{color:#61727d}
.badge{background:#0c1821;border-color:#334753;color:#b9c4ca;border-radius:999px!important}.badge.red{border-color:#7b5a31;background:rgba(202,149,70,.14);color:#f1cf8c}.badge.dim{border-color:#273943;color:#7e919c}.badge strong{color:#fff2d8}
.notice-inline{background:#211b10;border-left-color:#d4a453;color:#dec99e}.tip{background:#111c22;border-color:#31414a;color:#cbd2d5}
.progress,.mini-progress{background:#07131b;border-color:#263a46}.progress>span,.mini-progress>i{background:linear-gradient(90deg,#c79550,#e8bb6a)!important}
.skeleton{background:linear-gradient(90deg,#0c1922,#152632,#0c1922)!important;background-size:220% 100%!important}

/* Hero: one cinematic surface with truly independent foreground/background layers */
.hero-grid.dk-home-hero{grid-template-columns:minmax(390px,.72fr) minmax(560px,1.28fr);gap:0;margin-bottom:16px;border:1px solid #6d5130;border-radius:14px;overflow:hidden;background:#09131b;box-shadow:0 20px 58px rgba(0,0,0,.26)}
.hero.dk-landing-copy{min-height:510px;border:0!important;border-radius:0!important;padding:64px 38px 34px;background:
  radial-gradient(circle at 12% 14%,rgba(205,153,80,.12),transparent 26rem),
  linear-gradient(110deg,rgba(8,19,28,.99),rgba(10,23,32,.98));box-shadow:none!important;z-index:2}
.hero.dk-landing-copy:after{display:none}.dk-wordmark .cube{background:linear-gradient(145deg,#d8aa5c,#996526);border-color:#edc678;box-shadow:4px 4px 0 #3d2918}.dk-landing-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.55rem,3.4vw,4.35rem);font-weight:700;letter-spacing:-.035em;line-height:1.02;max-width:720px;margin:22px 0 18px}.dk-landing-copy p{color:#c4c9c7;line-height:1.7}.dk-feature-row b{color:#e0b05e}.dk-feature-row span{color:#9baab2}.dk-hero-motto{color:#64747e}.command-search input{border-color:#38505d;background:#07131b}.command-search:before{color:#d7a75a}
.sky-hero-card.reference-scene{min-height:510px;border:0!important;border-radius:0!important;background:#172d41;box-shadow:none!important}
.reference-scene-foreground{object-fit:contain!important;object-position:center bottom!important;transform:scale(1.06) translateY(1.5%);transform-origin:center bottom;filter:brightness(var(--scene-brightness)) saturate(.96) contrast(1.02)!important}
.reference-sky-base{background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 58%,var(--sky-bottom) 100%)}
.reference-atmosphere{position:absolute;inset:auto 0 0;z-index:4;height:35%;background:linear-gradient(180deg,transparent,rgba(217,231,235,.06) 48%,rgba(6,14,20,.2));pointer-events:none}
.reference-sun-glow{width:118px;height:118px}.reference-moon{filter:drop-shadow(0 0 22px rgba(194,221,238,.26))}
.reference-cloud{background:rgba(248,243,230,.12);box-shadow:24px -10px 0 3px rgba(248,243,230,.09),53px 2px 0 -2px rgba(248,243,230,.07),-25px 4px 0 -5px rgba(248,243,230,.07)}
.reference-scene .sky-hero-overlay span{background:rgba(7,16,24,.78);border-color:#6d5434;color:#f0e4cc}

/* Dense data pages */
.page-head{padding-bottom:12px;border-bottom:1px solid #1f323d}.page-head h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.9rem,2.5vw,2.8rem);font-weight:700}.section-title h2,.section-title h3{font-weight:750}.colony-tabs,.portal-tabs,.segmented{gap:5px}.colony-tabs button,.portal-tabs button,.segmented button{background:#0b1821;border-color:#293d49}.colony-tabs button.active,.portal-tabs button.active,.segmented button.active{background:linear-gradient(180deg,#6d4b25,#4c341c);border-color:#b38448;color:#fff0d2}
.crafter-v3-layout,.colony-master-detail{gap:12px}.crafter-v3-layout>aside,.colony-master-detail>aside{background:#08141d;border:1px solid #253945;border-radius:10px;padding:9px}.crafter-v3-layout button[data-crafter],#crafterList button,#jobList button{border-color:#263945;background:#0d1a23;border-radius:8px!important}.crafter-v3-layout button[data-crafter].active,#crafterList button.active,#jobList button.active{border-color:#9d7340;background:linear-gradient(90deg,rgba(201,151,81,.16),rgba(15,28,37,.96));box-shadow:inset 3px 0 0 #d0a05a}.crafter-hero-v3{background:linear-gradient(135deg,rgba(201,151,81,.11),#0b1922 45%);border-color:#55432c}.crafter-numbers>div{background:#09151e;border-color:#2a3e49}.recipe-output-tile,.recipe-card-v3,.blueprint-item{background:#0a1821;border-color:#263b47}.recipe-output-tile:hover,.blueprint-item:hover{border-color:#795d37;background:#10212b}.special-process-card{border-color:#5b4b33;background:linear-gradient(145deg,rgba(201,151,81,.08),#0b1821)}
.table-wrap{border-radius:10px;border-color:#293d49}.admintable th{background:#0c1a23;color:#d5c7ab}.admintable td{border-color:#1f323d}.admintable tr:hover td{background:#0f202a}
.worldmap-players,.worldmap-panel,.bluemap-companion{background:rgba(7,16,24,.9)!important;border-color:#314653!important;backdrop-filter:blur(14px)}.world-colony-icon{background:#251b10;border-color:#765d39;color:#efc16e}

/* responsive release pass */
@media(max-width:1100px){
  :root{--sidebar:82px}.hero-grid.dk-home-hero{grid-template-columns:1fr}.hero.dk-landing-copy{min-height:auto;padding:42px 30px 30px}.sky-hero-card.reference-scene{min-height:460px}.reference-scene-foreground{transform:scale(1.02) translateY(1%)}
}
@media(max-width:820px){
  :root{--topbar:58px}.page,.wrap{padding-inline:10px}.hero-grid.dk-home-hero{border-radius:10px}.hero.dk-landing-copy{padding:28px 18px 24px}.dk-landing-copy h1{font-size:clamp(2rem,10vw,3rem)}.sky-hero-card.reference-scene{min-height:330px;aspect-ratio:16/10}.reference-scene-foreground{object-fit:contain!important;transform:scale(1.08) translateY(2%)}
  .mobile-bottom-nav{background:rgba(7,16,24,.97)!important;border-top-color:#2e4450!important}.mobile-bottom-nav .active{background:#30200f!important;border-color:#9b7441!important;color:#f4d99e!important}
  .mobile-section-picker{background:rgba(7,16,24,.96)!important;border-color:#2b404d!important}.mobile-sheet-card{background:#0b1922!important;border-color:#496071!important}
}
@media(max-width:430px){.hero.dk-landing-copy{padding:24px 14px 20px}.sky-hero-card.reference-scene{min-height:280px}.dk-feature-row{gap:8px}.dk-feature-row>div{grid-template-columns:24px 1fr}}

/* Dashboard art-direction alignment */
.dk-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 18px}.dk-hero-actions .btn{min-width:168px;justify-content:center;padding:11px 16px;font-weight:700}.dk-landing-copy .command-search{margin-top:6px}.support-gap{display:grid;gap:6px;margin:10px 0 14px;border-color:#805f35;background:linear-gradient(90deg,rgba(201,151,81,.12),rgba(10,23,32,.78));color:#e9d9b9}.support-gap>span{font-size:.78rem;color:#b9c3c7}.support-gap details{margin-top:2px}.support-gap summary{cursor:pointer;color:#d5b273;font-size:.72rem}.recipe-output-tile small .badge{margin-left:4px}
@media(max-width:820px){.dk-hero-actions{display:grid;grid-template-columns:1fr 1fr}.dk-hero-actions .btn{min-width:0}.hero.dk-landing-copy .command-search{margin-top:2px}}
@media(max-width:430px){.dk-hero-actions{grid-template-columns:1fr}.dk-hero-actions .btn{width:100%}}

/* Navigation + chart finish */
.topbar-title strong{color:var(--accent-hi)!important}.topbar-title span{color:#71838d}.dk-topnav a{color:#a8b4bb}.dk-topnav a:hover{color:#f5ead5}.dk-topnav a.active{color:var(--accent-hi)!important}.dk-topnav a.active:after{background:linear-gradient(90deg,var(--accent),var(--accent-hi))!important;box-shadow:0 0 12px rgba(230,183,105,.42)!important}.inventory-history-chart.modern{color:var(--accent)!important}.inventory-history-chart .history-line{stroke:var(--accent-hi)!important}.inventory-history-chart .history-point{stroke:var(--accent-hi)!important;fill:#08131b!important}.inventory-history-chart .history-grid line{stroke:#223642!important}.inventory-history-chart .history-grid text,.history-xlabel{fill:#71838d!important}

/* test17: full-width cinematic hero + MineColonies gold identity */
:root{
  --accent:#c89243;--accent-hi:#efc979;--accent-deep:#785020;
  --gold:#c89243;--gold-hi:#efc979;--gold-soft:#9e763f;
  --red:var(--accent);--red-hi:var(--accent-hi);
  --danger:#ef6b73;--danger-hi:#ff9298;
}

/* Generic emphasis was historically called .red; in test17 it is the brand accent.
   Semantic errors/deletes remain on .error/.danger/.bad only. */
.badge.red{border-color:#7b5a31!important;background:rgba(202,149,70,.14)!important;color:#f1cf8c!important}
.nav-link.active{color:#fff7e6!important;background:linear-gradient(90deg,rgba(202,149,70,.22),rgba(202,149,70,.055))!important;border-color:#6f5737!important;box-shadow:inset 3px 0 0 var(--accent)!important}
.nav-link.active .nav-icon{background:#5c4020!important;color:#ffe7ac!important;border-color:#a77a3d!important}
.history-tooltip{border-color:#6d5130!important}
.world-focused-head{box-shadow:0 0 0 2px #c89243,0 8px 26px #000b!important}
.world-focused-player{border-color:#71552f!important}
.admin-login-card{border-color:#6d5130!important}
.sky-hero-card{box-shadow:0 0 0 1px rgba(218,170,90,.08) inset,0 18px 50px rgba(0,0,0,.18)!important}
.dk-landing-copy{background:radial-gradient(circle at 18% 15%,rgba(218,170,90,.10),transparent 26rem),linear-gradient(135deg,#0b151d,#09131b 48%,#071017)!important}

/* One continuous hero canvas: copy overlays the same scene instead of living in a separate panel. */
.dk-home-hero.hero-wide{position:relative;display:block;min-height:560px;margin-bottom:0;border:1px solid #76582f;border-radius:14px 14px 0 0;overflow:hidden;background:#172d41;box-shadow:0 22px 62px rgba(0,0,0,.28)}
.hero-wide .reference-scene-foreground{object-fit:contain!important;object-position:right bottom!important;transform:scale(1.02) translate(1.2%,1.2%);transform-origin:right bottom;filter:brightness(var(--scene-brightness)) saturate(.98) contrast(1.04)!important}
.hero-wide-shade{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(90deg,rgba(5,13,19,.97) 0%,rgba(6,16,23,.93) 24%,rgba(7,18,26,.68) 43%,rgba(7,18,26,.24) 60%,rgba(7,18,26,.02) 78%)}
.hero-wide-copy{position:relative;z-index:6;width:min(690px,52%);min-height:560px;padding:64px 42px 42px;display:flex;flex-direction:column;justify-content:center}
.hero-wide-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,4.2vw,5rem);line-height:.98;letter-spacing:-.04em;margin:18px 0 18px;color:#f7f1e7;text-shadow:0 3px 18px rgba(0,0,0,.48)}
.hero-wide-copy p{max-width:640px;color:#cbd2d2;font-size:1rem;line-height:1.7;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hero-wide-copy .command-search{max-width:610px;margin-top:4px}
.hero-wide-copy .dk-hero-motto{position:static;margin-top:18px;color:#8a9699}
.hero-wide .sky-hero-overlay{z-index:7!important;left:auto!important;right:16px!important;bottom:14px!important}

/* Sun/moon are coordinates derived from local time, not visibly animated across the scene. */
.reference-sun-glow,.reference-moon{transition:opacity .9s ease!important}
.reference-sun-glow{width:124px!important;height:124px!important;background:radial-gradient(circle,#fff9d9 0 12%,#ffe6a7 13% 21%,rgba(255,197,94,.48) 23% 39%,rgba(255,153,55,.18) 42% 59%,transparent 72%)!important;filter:blur(.6px)!important}

/* Volumetric CSS clouds: stronger body, soft lit edges, three depth planes. */
.reference-cloud{width:230px!important;height:70px!important;border-radius:50%!important;opacity:.82!important;filter:blur(1.1px);background:
  radial-gradient(ellipse at 30% 62%,rgba(255,251,240,.94) 0 24%,transparent 25%),
  radial-gradient(ellipse at 48% 42%,rgba(255,252,243,.92) 0 31%,transparent 32%),
  radial-gradient(ellipse at 67% 60%,rgba(245,243,235,.86) 0 28%,transparent 29%),
  linear-gradient(180deg,rgba(255,251,241,.9),rgba(206,218,224,.72) 68%,rgba(123,151,168,.38));
  box-shadow:0 18px 30px rgba(35,57,72,.22),inset 0 12px 18px rgba(255,255,255,.32)!important;image-rendering:auto!important}
.reference-cloud.c1{top:10%!important;left:-24%!important;transform:scale(.78);opacity:.64!important;filter:blur(1.8px);animation-duration:150s!important}
.reference-cloud.c2{top:21%!important;left:-38%!important;transform:scale(.58);opacity:.50!important;filter:blur(2.5px);animation-duration:210s!important}
.reference-cloud.c3{top:4%!important;left:-30%!important;transform:scale(1.04);opacity:.78!important;filter:blur(.8px);animation-duration:118s!important}

/* Six compact stat banners dock directly into the hero. */
.hero-kpi-band{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0 0 18px;border:1px solid #76582f;border-top:0;border-radius:0 0 14px 14px;overflow:hidden;background:#08141d;box-shadow:0 16px 40px rgba(0,0,0,.18)}
.hero-kpi{position:relative;min-height:112px;padding:13px 14px 12px 9px;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:7px;color:#eef0ed;text-decoration:none;border-right:1px solid #2a3941;background:linear-gradient(180deg,#0d1b24,#09151d);transition:.16s ease}
.hero-kpi:last-child{border-right:0}.hero-kpi:hover{background:linear-gradient(180deg,#142633,#0d1b24);box-shadow:inset 0 3px 0 #d1a153}.hero-kpi img{width:58px;height:68px;object-fit:contain;filter:drop-shadow(0 8px 13px rgba(0,0,0,.35))}.hero-kpi span{min-width:0}.hero-kpi strong,.hero-kpi b,.hero-kpi small{display:block}.hero-kpi strong{font:800 1.42rem/1.1 ui-monospace,SFMono-Regular,monospace;color:#fff4dc}.hero-kpi b{font-size:.78rem;margin-top:4px;color:#f1eee8}.hero-kpi small{margin-top:4px;color:#819099;font-size:.65rem;line-height:1.25;white-space:normal}

/* Gold/navy component consistency across the app. */
.eyebrow{color:#d9ad62!important}.q-icon,.nav-icon,.building-inline-icon{color:#e6b863}.tab.active,.mc-tab.active,.segmented button.active{color:#fff3d5!important}.quick-action:hover .q-icon,.list-card:hover .eyebrow{color:#f2cf88}.command-result:hover{border-color:#7c6038!important;background:#10212b!important}.list-card-footer>span:last-child,.ref-panel-head>a{color:#e5b869}.status-dot.warn,.dot.warn{background:#d2a14f!important}.progress>span,.coverage-bar>i{background:linear-gradient(90deg,#b77d32,#efc36d)!important}

@media(max-width:1250px){.hero-kpi-band{grid-template-columns:repeat(3,1fr)}.hero-kpi:nth-child(3){border-right:0}.hero-kpi:nth-child(-n+3){border-bottom:1px solid #2a3941}.hero-wide-copy{width:min(720px,62%)}}
@media(max-width:900px){.dk-home-hero.hero-wide{min-height:620px}.hero-wide-copy{width:100%;min-height:620px;padding:34px 24px 260px;background:linear-gradient(180deg,rgba(5,13,19,.92),rgba(5,13,19,.66) 54%,transparent 78%)}.hero-wide-shade{background:linear-gradient(180deg,rgba(5,13,19,.88),rgba(5,13,19,.48) 53%,rgba(5,13,19,.06) 77%)}.hero-wide .reference-scene-foreground{object-position:center bottom!important;transform:scale(1.04) translateY(1.5%)}.hero-kpi-band{grid-template-columns:repeat(2,1fr)}.hero-kpi:nth-child(n){border-right:1px solid #2a3941;border-bottom:1px solid #2a3941}.hero-kpi:nth-child(2n){border-right:0}.hero-kpi:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:520px){.dk-home-hero.hero-wide{min-height:570px}.hero-wide-copy{min-height:570px;padding:26px 15px 235px}.hero-wide-copy h1{font-size:clamp(2.1rem,12vw,3.1rem)}.hero-wide-copy p{font-size:.86rem}.hero-kpi{min-height:100px;grid-template-columns:50px 1fr;padding:9px 8px 8px 5px}.hero-kpi img{width:48px;height:58px}.hero-kpi strong{font-size:1.15rem}.hero-kpi b{font-size:.7rem}.hero-kpi small{font-size:.59rem}}

/* test17 beta-final patch: colony header cleanup + unified colony-data freshness */
.colony-hero{
  border-color:#6b5432!important;
  background:linear-gradient(120deg,rgba(201,151,81,.11),rgba(10,22,31,.98) 38%,rgba(8,16,23,.99))!important;
  box-shadow:0 18px 44px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.02)!important;
}
.colony-hero:before{
  background:linear-gradient(90deg,transparent 0 68%,rgba(201,151,81,.05)),repeating-linear-gradient(90deg,transparent 0 26px,rgba(201,151,81,.03) 26px 27px)!important;
}
.colony-hero .badge.red{
  border-color:#7b5a31!important;
  background:rgba(202,149,70,.14)!important;
  color:#f1cf8c!important;
}
.colony-title-row h1{color:#fff4dc}
.colony-hero p,#colonyMeta{color:#9eafb8!important}

.live-source-card{
  min-width:136px!important;
  min-height:86px!important;
  padding:14px 16px!important;
  border-color:#5f4a2e!important;
  background:linear-gradient(180deg,#0d1b24,#09151d)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
}
.live-source-card strong{
  font-size:1rem!important;
  line-height:1.15!important;
  letter-spacing:.12em!important;
  color:#f1cb84!important;
}
.live-source-card span{
  display:block!important;
  margin-top:6px!important;
  font-size:.72rem!important;
  line-height:1.35!important;
  color:#a3b3bc!important;
  max-width:180px;
}
.live-source-card.partial{border-color:#7b5d31!important;background:linear-gradient(180deg,#151207,#0d1620)!important}
.live-source-card.cached{border-color:#6d5530!important;background:linear-gradient(180deg,#171107,#0d1620)!important}
.live-source-card.live{border-color:#5b6f4a!important;background:linear-gradient(180deg,#101c16,#09151d)!important}

.freshness-strip{display:none!important}
.freshness-chip{
  border-color:#324551!important;
  background:#0b1821!important;
  color:#aec0c9!important;
}
.freshness-chip.partial{border-color:#7b5d31!important;color:#efc66d!important;background:#171007!important}
.freshness-chip.cached{border-color:#6d5530!important;color:#e1bb58!important;background:#141107!important}
.freshness-chip.live{border-color:#4e6a53!important;color:#cfe4b7!important;background:#0f1712!important}

/* Clouds: a little more visible and softer in depth so the hero does not feel static. */
.reference-cloud{
  opacity:.92!important;
  filter:blur(1.25px)!important;
  box-shadow:0 18px 30px rgba(35,57,72,.24),inset 0 14px 20px rgba(255,255,255,.34)!important;
}
.reference-cloud.c1{top:11%!important;opacity:.74!important;animation-duration:138s!important}
.reference-cloud.c2{top:22%!important;opacity:.58!important;animation-duration:196s!important}
.reference-cloud.c3{top:6%!important;opacity:.84!important;animation-duration:112s!important}

@media(max-width:720px){
  .live-source-card{min-width:unset!important;width:100%!important;place-content:start!important;text-align:left!important}
  .live-source-card span{max-width:none}
}

/* v0.1.0-beta.2: live Breetze weather layer for the landing hero */
.reference-scene{
  --rain-opacity:0;
  --snow-opacity:0;
  --fog-opacity:0;
  --storm-opacity:0;
  --weather-dim:0;
  --rain-slant:0deg;
  --cloud-duration-back:150s;
  --cloud-duration-mid:205s;
  --cloud-duration-front:118s;
  --cloud-direction:normal;
}
.reference-cloud.c1{animation-duration:var(--cloud-duration-back)!important;animation-direction:var(--cloud-direction)!important}
.reference-cloud.c2{animation-duration:var(--cloud-duration-mid)!important;animation-direction:var(--cloud-direction)!important}
.reference-cloud.c3{animation-duration:var(--cloud-duration-front)!important;animation-direction:var(--cloud-direction)!important}
.reference-scene[data-weather="rain"] .reference-cloud,
.reference-scene[data-weather="thunder"] .reference-cloud{filter:blur(1.35px) brightness(.78) saturate(.72)!important}
.reference-scene[data-weather="snow"] .reference-cloud{filter:blur(1.1px) brightness(1.03) saturate(.75)!important}
.reference-scene[data-weather="fog"] .reference-cloud{filter:blur(2.4px) brightness(.92) saturate(.58)!important}

.reference-weather{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.weather-dim,.weather-rain,.weather-snow,.weather-fog,.weather-lightning{position:absolute;inset:-12%;pointer-events:none}
.weather-dim{inset:0;background:rgba(4,10,15,var(--weather-dim));transition:background 1.4s ease}
.weather-rain{
  opacity:var(--rain-opacity);
  transform:skewX(var(--rain-slant));
  transform-origin:center;
  background-image:
    repeating-linear-gradient(112deg,transparent 0 15px,rgba(205,226,239,.50) 16px 17px,transparent 18px 36px),
    repeating-linear-gradient(112deg,transparent 0 31px,rgba(166,202,225,.32) 32px 33px,transparent 34px 67px);
  background-size:48px 92px,77px 138px;
  animation:heroRain .72s linear infinite;
  filter:blur(.15px);
}
.weather-rain:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(110,150,177,.06),transparent 48%,rgba(93,137,164,.10));mix-blend-mode:screen}
@keyframes heroRain{from{background-position:0 -92px,17px -138px}to{background-position:-20px 92px,-12px 138px}}

.weather-snow{
  opacity:var(--snow-opacity);
  background-image:
    radial-gradient(circle,rgba(255,255,255,.96) 0 2px,transparent 2.6px),
    radial-gradient(circle,rgba(230,240,246,.85) 0 1.5px,transparent 2.1px),
    radial-gradient(circle,rgba(255,255,255,.68) 0 1px,transparent 1.7px);
  background-size:74px 82px,112px 126px,46px 55px;
  background-position:8px -40px,40px -90px,24px -20px;
  animation:heroSnow 8.5s linear infinite;
  filter:drop-shadow(0 2px 2px rgba(65,92,110,.25));
}
@keyframes heroSnow{to{background-position:42px 760px,-18px 880px,68px 640px}}

.weather-fog{opacity:var(--fog-opacity);filter:blur(22px);background:linear-gradient(90deg,transparent,rgba(210,222,224,.52) 30%,rgba(194,209,215,.66) 56%,transparent 84%)}
.weather-fog.fog-a{top:22%;bottom:auto;height:30%;animation:heroFogA 44s ease-in-out infinite alternate}
.weather-fog.fog-b{top:52%;bottom:auto;height:24%;opacity:var(--fog-opacity);background:linear-gradient(90deg,transparent,rgba(210,222,224,.34) 30%,rgba(194,209,215,.42) 56%,transparent 84%);animation:heroFogB 58s ease-in-out infinite alternate-reverse}
@keyframes heroFogA{from{transform:translateX(-18%) scaleX(1.05)}to{transform:translateX(14%) scaleX(1.18)}}
@keyframes heroFogB{from{transform:translateX(12%) scaleX(1.14)}to{transform:translateX(-16%) scaleX(1.02)}}

.weather-lightning{inset:0;opacity:0;background:radial-gradient(circle at 64% 10%,rgba(244,249,255,.95),rgba(197,220,242,.28) 19%,transparent 48%),linear-gradient(180deg,rgba(235,245,255,.34),transparent 72%);mix-blend-mode:screen}
.weather-lightning.flash{animation:heroLightning .72s ease-out both}
@keyframes heroLightning{0%{opacity:0}7%{opacity:.96}13%{opacity:.06}19%{opacity:.68}30%,100%{opacity:0}}

.reference-scene[data-weather="rain"] .reference-atmosphere,
.reference-scene[data-weather="thunder"] .reference-atmosphere{background:linear-gradient(180deg,rgba(145,176,193,.08),rgba(8,20,29,.10) 50%,rgba(4,10,17,.23))!important}
.reference-scene[data-weather="snow"] .reference-atmosphere{background:linear-gradient(180deg,rgba(220,232,238,.12),transparent 46%,rgba(160,183,196,.13))!important}
.reference-scene[data-weather="fog"] .reference-atmosphere{background:linear-gradient(180deg,rgba(206,217,219,.16),rgba(162,181,188,.14) 58%,rgba(68,92,104,.12))!important}

@media(prefers-reduced-motion:reduce){
  .weather-rain,.weather-snow,.weather-fog{animation:none!important}
  .weather-lightning{display:none}
}
.sky-hero-overlay{display:grid!important;gap:4px!important;justify-items:end!important}
.weather-credit{font-size:.56rem;color:rgba(225,233,236,.58);background:rgba(5,13,19,.66);padding:2px 6px;border:1px solid rgba(91,112,123,.35);border-radius:999px;text-decoration:none;backdrop-filter:blur(6px)}
.weather-credit:hover{color:#f1cb84;border-color:#76582f}
@media(max-width:520px){.weather-credit{font-size:.5rem}}

/* v0.1.0-beta.3: weather visibility + legal footer */
.footer a{color:#d8b36c;text-decoration:none}.footer a:hover{color:#f3d79e}

/* beta.2 used !important left offsets on the cloud elements while the animation also
   animated left. Important declarations win, leaving the clouds parked off-canvas.
   beta.3 moves the independent CSS translate property instead. */
@keyframes beta3CloudDrift{from{translate:0 0}to{translate:160vw 0}}
.reference-cloud.c1,.reference-cloud.c2,.reference-cloud.c3{
  animation-name:beta3CloudDrift!important;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important;
  animation-direction:var(--cloud-direction)!important;
  will-change:translate,opacity;
}
.reference-cloud.c1{animation-delay:-43s!important}
.reference-cloud.c2{animation-delay:-87s!important}
.reference-cloud.c3{animation-delay:-29s!important}

/* Weather code must remain visually obvious even during light precipitation. */
.reference-weather{z-index:5!important}
.weather-rain{z-index:3!important;display:block!important;mix-blend-mode:screen;will-change:background-position,opacity;
  background-image:
    repeating-linear-gradient(108deg,transparent 0 10px,rgba(225,239,248,.72) 11px 12px,transparent 13px 27px),
    repeating-linear-gradient(110deg,transparent 0 19px,rgba(177,211,231,.52) 20px 21px,transparent 22px 45px),
    repeating-linear-gradient(112deg,transparent 0 33px,rgba(137,185,213,.35) 34px 35px,transparent 36px 70px)!important;
  background-size:36px 76px,61px 112px,91px 154px!important;
  filter:drop-shadow(0 1px 1px rgba(175,210,231,.22)) blur(.1px)!important;
}
.weather-rain:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(177,208,226,.10),transparent 46%,rgba(92,135,159,.16));opacity:.9}
.reference-scene[data-weather="thunder"] .weather-rain{filter:brightness(1.16) drop-shadow(0 1px 1px rgba(207,229,242,.35))!important}
.reference-scene[data-weather="rain"] .reference-cloud{filter:blur(1.5px) brightness(.72) saturate(.68)!important}
.reference-scene[data-weather="thunder"] .reference-cloud{filter:blur(1.7px) brightness(.61) saturate(.56)!important}
.reference-scene[data-weather="rain"] .reference-sky-base{filter:saturate(.72) brightness(.82)}
.reference-scene[data-weather="thunder"] .reference-sky-base{filter:saturate(.58) brightness(.66)}
.reference-sky-base{transition:background 2s linear,filter 1.4s ease}

/* Only compact public weather status remains inside the hero. */
.sky-hero-overlay{display:flex!important;justify-content:flex-end!important;align-items:center!important}
.weather-credit{display:none!important}

/* Small legal/privacy page, styled with the same beta UI language. */
.legal-shell{min-height:100vh;background:radial-gradient(circle at 75% 0,rgba(202,149,70,.10),transparent 34rem),#071019;color:var(--text)}
.legal-topbar{min-height:64px;padding:10px clamp(16px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #253743;background:rgba(6,14,20,.90);backdrop-filter:blur(16px)}
.legal-brand{display:flex;align-items:center;gap:10px;color:inherit}.legal-brand>span:last-child strong,.legal-brand>span:last-child small{display:block}.legal-brand small{color:var(--muted);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.legal-page{max-width:1180px;margin:0 auto;padding:clamp(28px,6vw,72px) clamp(16px,4vw,42px) 48px}.legal-hero{padding:28px 0 24px;border-bottom:1px solid #2a3a45;margin-bottom:24px}.legal-hero h1{margin:8px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,5vw,4rem);color:#fff4dc}.legal-hero p{color:#9fb0ba;max-width:720px}.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.legal-card{background:linear-gradient(180deg,#0d1b24,#09151d)!important;border-color:#354954!important}.legal-card:last-child{grid-column:1/-1}.legal-card h2{margin:7px 0 10px;color:#f4e8d2}.legal-card p,.legal-card li{color:#aebdc5;line-height:1.65}.legal-card ul{padding-left:20px}.legal-note{padding:10px 12px;border-left:3px solid var(--accent);background:rgba(202,149,70,.08);border-radius:6px}
@media(max-width:720px){.legal-grid{grid-template-columns:1fr}.legal-card:last-child{grid-column:auto}.legal-topbar{align-items:flex-start}.legal-brand .brand-mark{flex:0 0 auto}}

/* v0.1.0-beta.4: subtler precipitation + Minecraft-like cloud language */
.reference-cloud{
  width:210px!important;
  height:34px!important;
  border-radius:2px!important;
  background:rgba(239,244,244,.84)!important;
  box-shadow:
    34px -18px 0 2px rgba(247,249,246,.90),
    76px -8px 0 8px rgba(242,246,245,.88),
    126px -20px 0 0 rgba(246,248,245,.82),
    158px -7px 0 7px rgba(233,240,241,.80),
    -30px 5px 0 -1px rgba(230,238,240,.76),
    48px 18px 0 -4px rgba(214,225,230,.58),
    118px 17px 0 -5px rgba(205,219,226,.50)!important;
  image-rendering:pixelated!important;
  filter:drop-shadow(0 12px 14px rgba(32,54,68,.18)) blur(.25px)!important;
}
.reference-cloud:before,.reference-cloud:after{content:"";position:absolute;display:block;border-radius:1px;background:rgba(245,248,247,.86)}
.reference-cloud:before{width:70px;height:22px;left:18px;top:-11px;box-shadow:78px 7px 0 1px rgba(235,242,242,.78)}
.reference-cloud:after{width:54px;height:17px;left:102px;top:-15px;box-shadow:-89px 23px 0 -3px rgba(220,231,235,.62)}
.reference-cloud.c1{opacity:.66!important;filter:drop-shadow(0 13px 17px rgba(32,54,68,.17)) blur(.6px)!important}
.reference-cloud.c2{opacity:.48!important;filter:drop-shadow(0 10px 16px rgba(32,54,68,.13)) blur(1.1px)!important}
.reference-cloud.c3{opacity:.78!important;filter:drop-shadow(0 15px 20px rgba(32,54,68,.20)) blur(.18px)!important}
.reference-scene[data-weather="rain"] .reference-cloud{filter:drop-shadow(0 12px 18px rgba(20,40,54,.23)) brightness(.78) saturate(.62) blur(.5px)!important}
.reference-scene[data-weather="thunder"] .reference-cloud{filter:drop-shadow(0 13px 20px rgba(14,30,44,.28)) brightness(.64) saturate(.52) blur(.75px)!important}
.reference-scene[data-weather="snow"] .reference-cloud{filter:drop-shadow(0 11px 17px rgba(52,73,85,.17)) brightness(1.02) saturate(.62) blur(.35px)!important}
.reference-scene[data-weather="fog"] .reference-cloud{filter:drop-shadow(0 10px 18px rgba(52,73,85,.13)) brightness(.90) saturate(.50) blur(1.4px)!important}

.weather-rain{
  background-image:
    repeating-linear-gradient(108deg,transparent 0 23px,rgba(221,236,245,.40) 24px 25px,transparent 26px 54px),
    repeating-linear-gradient(110deg,transparent 0 41px,rgba(167,202,224,.26) 42px 43px,transparent 44px 86px)!important;
  background-size:72px 142px,118px 208px!important;
  filter:drop-shadow(0 1px 1px rgba(175,210,231,.12)) blur(.12px)!important;
  mix-blend-mode:screen!important;
}
.weather-rain:before{background:linear-gradient(180deg,rgba(177,208,226,.035),transparent 54%,rgba(92,135,159,.07))!important;opacity:.72!important}
.weather-rain:after{background:linear-gradient(180deg,rgba(110,150,177,.025),transparent 52%,rgba(93,137,164,.055))!important}
.reference-scene[data-weather="thunder"] .weather-rain{filter:brightness(1.10) drop-shadow(0 1px 1px rgba(207,229,242,.20))!important}

/* beta.6 profession/recipe rework: authoritative Vanilla vs MineColonies partitions */
.profession-list-meta{display:grid;gap:2px;margin-top:3px}.profession-list-meta span{display:block}.profession-list-meta b{font-size:.66rem;color:var(--accent-hi)}
.profession-model-note{margin-top:7px;color:#82949e;font-size:.7rem;max-width:680px}.profession-numbers{flex-wrap:wrap}.profession-numbers div{min-width:82px}.profession-tabs{display:flex!important;flex-wrap:wrap;gap:4px}.profession-origin{display:inline-flex!important;margin-right:5px;padding:2px 5px!important;font-size:.58rem!important;vertical-align:1px}.profession-origin.vanilla{border-color:#466171!important;background:#0b1b25!important;color:#bcd7e4!important}.profession-origin.mc{border-color:#76582f!important;background:rgba(202,149,70,.12)!important;color:#f0cd8b!important}.recipe-output-tile small>.badge{margin-bottom:2px}
@media(max-width:720px){.profession-numbers{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.profession-numbers div{min-width:0}.profession-tabs{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.profession-tabs button{white-space:normal!important}}

/* Spieler-Avatar-Fallback: bei offline/fehlenden Mojang-Texturen nicht weiß bleiben. */
.world-player-head,.world-focused-head{background:#10232b;color:#efd29b}
.world-player-head.fallback,.world-focused-head.fallback{display:grid;place-items:center;background:#13232e;color:#efc979;font-weight:800;border:1px solid #9d773f;box-shadow:0 0 10px #0007;margin:0;border-radius:5px}
.world-player-head.fallback{width:30px;height:30px;font-size:16px}
.world-focused-head.fallback{width:46px;height:46px;font-size:22px}

/* Berufs-/Rezeptansicht V2: getrennte Herkunft und Live-Nachweis */
.mv2-job-summary{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.mv2-job-summary>span{background:#0d1a25;border:1px solid #6f5737;border-radius:8px;padding:7px 9px;font-size:.78rem}.mv2-job-search{width:100%;margin:6px 0 15px}.mv2-job-section{padding:12px 0;border-top:1px solid var(--line-soft)}.mv2-job-section h3{margin:0}.mv2-job-row{margin:7px 0;padding:9px;border:1px solid var(--line-soft);background:#0b1b24;border-radius:9px}.mv2-job-item{display:flex;align-items:center;gap:10px;color:var(--text)}.mv2-job-item span{min-width:0}.mv2-job-item strong,.mv2-job-item small{display:block}.mv2-job-item small{color:var(--muted);overflow-wrap:anywhere}.mv2-job-badges{margin:7px 0}.mv2-job-row details{font-size:.82rem}.mv2-job-row details summary{cursor:pointer;color:#f0cd85}.mv2-job-detail{margin-top:8px;overflow-wrap:anywhere}.mv2-job-detail p{margin:6px 0}.mv2-job-sections>.mv2-job-section .recipe-card{margin:7px 0}

/* V4 0.4.11: admin navigation is opt-in per account, never public. */
html:not(.dk-can-admin) a[href$="/admin"],html:not(.dk-can-admin) a[href*="/admin?"]{display:none!important}
.dk-profile-section{margin:14px 0;padding:14px 18px}
.dk-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px}
.dk-profile-grid form{display:grid;gap:9px;align-content:start}
.dk-profile-grid label{display:grid;gap:5px}
.dk-profile-grid input,.dk-profile-grid select{min-width:0;width:100%;box-sizing:border-box}
.dk-session-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.12);padding:8px 0}
.dk-personal-dash{margin:18px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px}
.dk-personal-dash .card{padding:18px}
.dk-personal-dash .dk-dash-stat{font-size:1.4em;font-weight:700;margin:9px 0}
.dk-capacity-flag{display:inline-flex;padding:4px 8px;border-radius:9px;background:rgba(224,161,48,.15);color:var(--gold,#ecbb61);font-weight:600}
.dk-capacity-edit{margin:10px 0;padding:9px;border:1px solid rgba(204,165,88,.24);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dk-capacity-edit label{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.dk-capacity-edit select,.dk-capacity-edit input[type=number]{max-width:190px}

.dk-personal-dash[hidden]{display:none!important}

/* 0.4.12: personal stock belongs to the existing dashboard system, not to a
   second Materiallisten card or an unconnected capacity-only alert panel. */
.dk-personal-area{margin:0 0 12px}
.dk-personal-area[hidden]{display:none!important}
.dk-storage-kpi-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #76582f;border-radius:12px;overflow:hidden;background:#0a1720;margin:0 0 12px}
.dk-storage-kpi{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:94px;padding:10px 12px;border-right:1px solid #2a3941;color:#f1eee8;background:linear-gradient(180deg,#10222d,#0b1820);text-decoration:none;transition:background .15s ease}
.dk-storage-kpi:last-child{border-right:0}.dk-storage-kpi:hover{background:#172d3a;color:#f1eee8}
.dk-storage-kpi img{width:46px;height:56px;object-fit:contain;filter:drop-shadow(0 5px 7px #0006)}
.dk-storage-kpi span{min-width:0}.dk-storage-kpi strong,.dk-storage-kpi b,.dk-storage-kpi small{display:block}
.dk-storage-kpi strong{font:800 clamp(1.02rem,1.6vw,1.36rem)/1.2 ui-monospace,monospace;color:#fff4dc;overflow-wrap:anywhere}
.dk-storage-kpi b{font-size:.77rem;margin-top:4px}.dk-storage-kpi small{font-size:.68rem;line-height:1.35;color:#9dabb3;margin-top:3px}
.dk-personal-storage-card{padding:14px 16px!important}.dk-personal-storage-body{margin-top:9px}
.dk-personal-storage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dk-personal-storage-summary>div{padding:10px 12px;border:1px solid #2a3a45;border-radius:8px;background:#0a1821;min-width:0}
.dk-personal-storage-summary span,.dk-personal-storage-summary strong,.dk-personal-storage-summary small{display:block}
.dk-personal-storage-summary span{color:#aeb8c0;font-size:.74rem}.dk-personal-storage-summary strong{font:800 1.12rem/1.3 ui-monospace,monospace;color:#fff4dc;margin:4px 0}
.dk-personal-storage-summary small{color:#899ba6;font-size:.69rem}
.dk-personal-storage-warnings{display:grid;gap:6px;margin-top:9px}
.dk-storage-alert-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.81rem;margin-top:3px}
.dk-storage-alert-title span{color:#f1c86e;border:1px solid #644b26;border-radius:6px;padding:1px 6px}
.dk-personal-warning{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 10px;border:1px solid #64502c;border-left:3px solid #d1a153;border-radius:7px;background:rgba(183,123,40,.075);color:inherit}
.dk-personal-warning:hover{background:rgba(183,123,40,.14);color:inherit}.dk-personal-warning span:nth-child(2){min-width:0}.dk-personal-warning strong,.dk-personal-warning small{display:block}.dk-personal-warning small{font-size:.72rem;color:#bdc0c1;margin-top:2px}.dk-warning-mark{display:grid;place-items:center;border-radius:50%;background:#5b4120;color:#fff4dc;font-weight:900;width:20px;height:20px}
.dk-personal-ok{font-size:.75rem;color:#9cafad;margin:4px 0}.dk-personal-cache{font-size:.73rem;color:#dec390;margin-top:7px}
@media(max-width:1000px){.dk-storage-kpi-band{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-storage-kpi:nth-child(2){border-right:0}.dk-storage-kpi:nth-child(-n+2){border-bottom:1px solid #2a3941}}
@media(max-width:550px){.dk-storage-kpi{grid-template-columns:35px minmax(0,1fr);padding:9px 8px;gap:5px;min-height:79px}.dk-storage-kpi img{width:35px;height:43px}.dk-storage-kpi strong{font-size:1rem}.dk-storage-kpi b{font-size:.69rem}.dk-storage-kpi small{font-size:.62rem}.dk-personal-storage-summary{grid-template-columns:1fr}.dk-personal-storage-summary>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:3px 6px}.dk-personal-storage-summary strong{grid-column:2;grid-row:1/3}.dk-personal-storage-summary small{grid-column:1}}

.dk-personal-storage-card[hidden]{display:none!important}

/* V4 0.4.14 – colony metrics above, personal storage as its own clearly labeled section. */
.dk-personal-section{margin-top:18px;display:block}
.dk-personal-section[hidden]{display:none!important}
.dk-personal-section .dk-personal-section-content{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.dk-personal-section .dk-personal-storage-card{width:100%;max-width:none}
.dk-personal-section-link{display:inline-block;justify-self:end;margin:0 3px 8px;color:#e9bf75;font-size:.79rem}
.dk-personal-storage-summary strong{overflow-wrap:anywhere}

.dk-dashboard-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:18px 2px 9px;flex-wrap:wrap}.dk-dashboard-section-head h2{font-size:1rem;margin:0}.dk-dashboard-section-head span{color:#92a2ae;font-size:.73rem}.dk-colony-activity{grid-column:1/-1}.dk-colony-activity .compact-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dk-colony-activity .compact-feed .feed-row{padding:9px;border:1px solid #28404c;border-radius:8px}@media(max-width:720px){.dk-colony-activity .compact-feed{grid-template-columns:1fr}}

/* 0.4.15 – persönliche Kennzahlen gehören unmittelbar zum Hero, vor den Koloniekennzahlen. */
.dk-hero-dashboard{margin:0 0 18px;border:1px solid #76582f;border-top:0;border-radius:0 0 14px 14px;overflow:hidden;background:#091720;box-shadow:0 16px 40px rgba(0,0,0,.18)}
.dk-hero-dashboard .dk-personal-area{margin:0}
.dk-hero-band-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:9px 16px 7px;background:#0b1922;border-bottom:1px solid #283b45;color:#e5bb73}
.dk-hero-band-label span{font-size:.73rem;letter-spacing:.11em;font-weight:800;text-transform:uppercase}
.dk-hero-band-label small{font-size:.69rem;color:#95a7b1}
.dk-hero-dashboard .dk-storage-kpi-band{margin:0;border:0;border-radius:0;border-bottom:1px solid #76582f;background:#0a1821}
.dk-hero-dashboard .dk-storage-kpi{background:linear-gradient(180deg,#10232c,#0c1b25)}
.dk-hero-dashboard .dk-colony-band-label{border-bottom:1px solid #283b45;color:#e7c380}
.dk-hero-dashboard .hero-kpi-band{margin:0;border:0;border-radius:0;box-shadow:none}
@media(max-width:550px){.dk-hero-band-label{padding:8px 11px 6px}.dk-hero-band-label small{font-size:.62rem}}

/* 0.4.16: Das Desktop-Menü darf beim Hover keine horizontale Scrollbar einblenden. */
@media(min-width:1101px){.dk-topnav{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.dk-topnav::-webkit-scrollbar{display:none}.top-actions{flex:0 0 auto}.dk-topnav a{flex:0 0 auto}}

/* 0.4.24: personal 24h storage delta card */
.dk-personal-trend-card{margin-top:12px;padding:14px 16px!important;border-color:#394b50!important;background:linear-gradient(145deg,#0d1b24,#0a151d)!important}
.dk-personal-trend-card[hidden]{display:none!important}
.dk-personal-trend-card .section-title{margin-bottom:10px}
.dk-personal-trend-card .trend-item-row{border-color:#2b3d46;background:#091720}
/* 0.4.25 custom identity/map assets */
.world-player-head .custom-avatar,.world-focused-head .custom-avatar{width:100%;height:100%;object-fit:cover;border-radius:inherit}.world-colony-icon img{width:100%;height:100%;object-fit:cover;border-radius:8px}
/* 0.4.28 – uploaded avatars/logos are normal images, not skin-sprite sheets. */
.world-player-head .custom-avatar,.world-focused-head .custom-avatar{position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;object-position:center!important;image-rendering:auto!important;border-radius:inherit}

/* 0.4.31: global-search results live in the document body so hero clipping can never hide them. */
.portal-command-results{position:fixed!important;right:auto!important;z-index:10000!important;max-height:min(420px,55vh)!important}

.world-project-progress{display:block;width:100%;height:4px;border-radius:4px;background:#17232b;overflow:hidden;margin-top:4px}.world-project-progress i{display:block;height:100%;background:#d4aa68}.world-project-progress.material i{background:#82bd98}

/* 1.0.3 request graph: provider hops are provenance, not additional demand */
.production-chain{display:grid;gap:4px;margin:8px 0;padding:8px 10px;border-left:3px solid #9d7340;background:rgba(201,151,81,.06);font-size:.72rem}.production-chain strong{color:#d7b36d}.production-chain span{color:var(--muted)}


/* 1.0.6: particle rain is rendered only inside the dashboard hero.
   The old repeating-gradient sheet is disabled to avoid the wallpaper effect. */
.dk-home-hero.reference-scene>.reference-weather{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.dk-home-hero.reference-scene>.reference-weather>.weather-rain{display:none!important;opacity:0!important;animation:none!important}
.dk-home-hero .weather-rain-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:3;pointer-events:none;opacity:1;mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){.dk-home-hero .weather-rain-canvas{display:none!important}}

/* 1.0.7 – hero-only adaptive weather system.
   Weather changes cloud material, density and sky mood; precipitation remains
   clipped to the dashboard hero and never becomes a page-wide overlay. */
.dk-home-hero.reference-scene{
  --weather-sky-saturation:1;
  --weather-sky-brightness:1;
  --cloud-core:rgba(251,250,244,.94);
  --cloud-mid:rgba(230,237,239,.88);
  --cloud-low:rgba(151,170,180,.58);
  --cloud-hi:rgba(255,255,255,.70);
  --cloud-shadow:rgba(31,49,61,.22);
}
.dk-home-hero .reference-sky-base{
  filter:saturate(var(--weather-sky-saturation)) brightness(var(--weather-sky-brightness))!important;
  transition:background 2s linear,filter 1.6s ease!important;
}
.dk-home-hero .reference-cloud{
  background:
    radial-gradient(ellipse at 30% 62%,var(--cloud-core) 0 24%,transparent 25%),
    radial-gradient(ellipse at 48% 42%,var(--cloud-core) 0 31%,transparent 32%),
    radial-gradient(ellipse at 67% 60%,var(--cloud-mid) 0 28%,transparent 29%),
    linear-gradient(180deg,var(--cloud-core),var(--cloud-mid) 62%,var(--cloud-low))!important;
  box-shadow:0 18px 30px var(--cloud-shadow),inset 0 12px 18px var(--cloud-hi)!important;
  transition:opacity 1.5s ease,filter 1.5s ease,background 1.5s ease,box-shadow 1.5s ease!important;
}
.dk-home-hero .reference-cloud:before,.dk-home-hero .reference-cloud:after{background:var(--cloud-core)!important;transition:background 1.5s ease!important}
.dk-home-hero .reference-cloud:before{box-shadow:78px 7px 0 1px var(--cloud-mid)!important}
.dk-home-hero .reference-cloud:after{box-shadow:-89px 23px 0 -3px var(--cloud-low)!important}
.dk-home-hero .reference-cloud.c4{top:16%!important;left:-52%!important;transform:scale(.86);animation-name:beta3CloudDrift!important;animation-delay:-121s!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;will-change:translate,opacity}
.dk-home-hero .reference-cloud.c5{top:28%!important;left:-46%!important;transform:scale(.46);animation-name:beta3CloudDrift!important;animation-delay:-63s!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;will-change:translate,opacity}

/* clear / fair */
.dk-home-hero[data-weather-visual="clear"]{
  --cloud-core:rgba(255,253,246,.96);--cloud-mid:rgba(235,243,246,.88);--cloud-low:rgba(173,194,204,.46);--cloud-hi:rgba(255,255,255,.78);--cloud-shadow:rgba(35,57,72,.16)
}
/* cloudy */
.dk-home-hero[data-weather-visual="cloudy"]{
  --cloud-core:rgba(235,239,238,.94);--cloud-mid:rgba(193,206,211,.90);--cloud-low:rgba(119,139,151,.67);--cloud-hi:rgba(255,255,255,.52);--cloud-shadow:rgba(26,45,58,.25)
}
/* overcast – deliberately gray instead of white */
.dk-home-hero[data-weather-visual="overcast"]{
  --cloud-core:rgba(171,182,187,.96);--cloud-mid:rgba(125,142,151,.94);--cloud-low:rgba(72,91,103,.88);--cloud-hi:rgba(224,231,232,.26);--cloud-shadow:rgba(13,28,39,.40)
}
.dk-home-hero[data-weather-visual="overcast"] .reference-atmosphere{background:linear-gradient(180deg,rgba(117,137,148,.12),rgba(31,48,59,.13) 55%,rgba(5,13,19,.23))!important}
/* rain – blue-gray low clouds */
.dk-home-hero[data-weather-visual="rain"]{
  --cloud-core:rgba(136,153,162,.98);--cloud-mid:rgba(91,111,124,.97);--cloud-low:rgba(47,65,78,.94);--cloud-hi:rgba(204,218,222,.18);--cloud-shadow:rgba(8,22,34,.48)
}
.dk-home-hero[data-weather-visual="rain"] .reference-cloud{filter:drop-shadow(0 15px 22px rgba(10,27,39,.32)) saturate(.78) blur(.45px)!important}
/* thunder – much darker, but still readable as cloud volume */
.dk-home-hero[data-weather-visual="thunder"]{
  --cloud-core:rgba(103,118,127,.99);--cloud-mid:rgba(63,80,92,.98);--cloud-low:rgba(27,42,55,.98);--cloud-hi:rgba(191,211,218,.12);--cloud-shadow:rgba(3,13,23,.62)
}
.dk-home-hero[data-weather-visual="thunder"] .reference-cloud{filter:drop-shadow(0 17px 24px rgba(4,15,25,.44)) saturate(.60) blur(.68px)!important}
/* snow – bright, heavy winter cloud cover */
.dk-home-hero[data-weather-visual="snow"]{
  --cloud-core:rgba(224,231,233,.98);--cloud-mid:rgba(190,204,211,.96);--cloud-low:rgba(131,151,163,.76);--cloud-hi:rgba(255,255,255,.52);--cloud-shadow:rgba(45,65,78,.28)
}
.dk-home-hero[data-weather-visual="snow"] .reference-cloud{filter:drop-shadow(0 13px 20px rgba(42,61,73,.24)) saturate(.68) blur(.35px)!important}
/* fog – low contrast, washed out */
.dk-home-hero[data-weather-visual="fog"]{
  --cloud-core:rgba(198,207,209,.88);--cloud-mid:rgba(164,179,184,.84);--cloud-low:rgba(114,133,143,.65);--cloud-hi:rgba(236,242,242,.30);--cloud-shadow:rgba(47,65,73,.18)
}
.dk-home-hero[data-weather-visual="fog"] .reference-cloud{filter:drop-shadow(0 10px 18px rgba(52,73,85,.13)) saturate(.50) blur(1.35px)!important}

/* Canvas handles both rain and snow now; remove the old tiled snow wallpaper. */
.dk-home-hero.reference-scene>.reference-weather>.weather-snow{display:none!important;opacity:0!important;animation:none!important}
.dk-home-hero .weather-particle-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:3;pointer-events:none;opacity:1;mix-blend-mode:screen}
.dk-home-hero .weather-fog{transition:opacity 1.8s ease!important}
.dk-home-hero[data-weather-visual="overcast"] .reference-sun-glow,
.dk-home-hero[data-weather-visual="rain"] .reference-sun-glow,
.dk-home-hero[data-weather-visual="thunder"] .reference-sun-glow,
.dk-home-hero[data-weather-visual="fog"] .reference-sun-glow{filter:blur(2px)!important}
@media(prefers-reduced-motion:reduce){.dk-home-hero .weather-particle-canvas{display:none!important}}
/* 1.0.8 – shared inventory read model shown in MineColonies item details. */
.inventory-stock-fusion{margin:14px 0;padding:13px;border:1px solid #314653;border-radius:11px;background:linear-gradient(145deg,#0d1b24,#09141b)}
.inventory-stock-fusion .section-title{margin:0 0 10px}.inventory-stock-fusion h3{margin:2px 0}
.inventory-stock-fusion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.inventory-stock-fusion-grid>div{padding:10px 12px;border:1px solid #2b3d46;border-radius:9px;background:#091720}
.inventory-stock-fusion-grid small,.inventory-stock-fusion-grid span{display:block;color:var(--muted)}
.inventory-stock-fusion-grid strong{display:block;margin:2px 0;font-size:1.2rem;color:#efc979}
@media(max-width:720px){.inventory-stock-fusion-grid{grid-template-columns:1fr}}
/* 1.0.8 weather polish: soft state changes, precipitation variants and additive fog. */
.dk-home-hero .reference-atmosphere,.dk-home-hero .weather-fog,.dk-home-hero .reference-sun-glow,.dk-home-hero .reference-moon{transition:opacity 1.8s ease,filter 1.8s ease,background 1.8s ease!important}
.dk-home-hero.weather-transitioning .reference-cloud{transition-duration:1.9s!important}
.dk-home-hero[data-weather-variant="drizzle"] .weather-particle-canvas{filter:brightness(.94) saturate(.84)}
.dk-home-hero[data-weather-variant="heavy-rain"] .weather-particle-canvas{filter:brightness(.88) saturate(.88)}
.dk-home-hero[data-weather-variant="snowstorm"] .weather-particle-canvas{filter:brightness(1.05) blur(.08px)}
.dk-home-hero[data-weather-variant="snowstorm"] .reference-atmosphere{background:linear-gradient(180deg,rgba(201,214,220,.12),rgba(137,157,168,.16) 48%,rgba(225,234,238,.14))!important}
.dk-home-hero[data-fog="1"] .weather-fog{display:block!important;opacity:var(--fog-opacity,.35)!important}
.dk-home-hero[data-fog="1"][data-weather-visual="rain"] .weather-fog,
.dk-home-hero[data-fog="1"][data-weather-visual="thunder"] .weather-fog{mix-blend-mode:screen;filter:saturate(.65) brightness(.82)!important}

/* 1.0.10 BlueMap recovery */
.worldmap-recovery{position:absolute;z-index:25;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));display:grid;gap:10px;padding:18px;background:rgba(13,24,31,.96);box-shadow:0 18px 60px rgba(0,0,0,.35)}
.worldmap-recovery.hidden{display:none!important}.worldmap-recovery>strong{font-size:1.05rem}.worldmap-recovery>span{color:var(--muted,#9fb0b9);line-height:1.45}.worldmap-recovery-actions{display:flex;gap:8px;flex-wrap:wrap}

/* 1.0.14 – live Minecraft access reconciliation in the Admincenter */
.dk-access-flags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.dk-access-flags .pill{font-size:11px}
.dk-server-access-card{margin:14px 0;padding:14px;border:1px solid #314653;border-radius:11px;background:linear-gradient(145deg,#0d1b24,#09141b)}
.dk-access-sync{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dk-access-sync p{margin:3px 0 0;color:var(--muted);font-size:12px}
.dk-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dk-access-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.dk-access-title h3{margin:0}.dk-access-title small{color:var(--muted)}
.dk-access-list{display:grid;gap:7px}.dk-access-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #2b3d46;border-radius:9px;background:#091720}.dk-access-row strong,.dk-access-row small{display:block}.dk-access-row small{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.dk-access-row .actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dk-access-empty{padding:14px;border:1px dashed #344954;border-radius:9px;color:var(--muted);text-align:center}
@media(max-width:820px){.dk-access-grid{grid-template-columns:1fr}.dk-access-sync{align-items:flex-start;flex-direction:column}.dk-access-row{grid-template-columns:1fr}.dk-access-row .actions{justify-content:flex-start}}

/* 1.0.15 Herbert admin */
.dk-herbert-layout{align-items:start}.dk-herbert-coords{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dk-herbert-coords.two{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-herbert-section{margin-top:16px}.dk-herbert-list{display:grid;gap:10px}.dk-herbert-worker,.dk-herbert-favorite{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line-soft);border-radius:12px;background:#0b1820}.dk-herbert-worker h3,.dk-herbert-favorite h3{margin:3px 0 5px}.dk-herbert-runtime{display:grid;justify-items:end;gap:4px;min-width:150px}.dk-herbert-runtime small{color:var(--muted)}.dk-herbert-runtime strong{font-size:18px;color:#f0ca88}.dk-herbert-favorite small{display:block;color:var(--muted);margin-top:5px}
@media(max-width:760px){.dk-herbert-coords,.dk-herbert-coords.two{grid-template-columns:1fr}.dk-herbert-worker,.dk-herbert-favorite{align-items:stretch;flex-direction:column}.dk-herbert-runtime{justify-items:start}.dk-herbert-favorite .toolbar{width:100%}.dk-herbert-favorite .toolbar button{flex:1}}

/* Admincenter 1.0.17 · DKB Server */
.dk-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.dk-compact-input{width:92px;min-width:72px}.dk-tag-input{width:150px;max-width:32vw}.dk-separator{border:0;border-top:1px solid var(--line,#29404d);margin:16px 0}.dk-pre{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit;color:inherit}.dk-access-row>.toolbar{justify-content:flex-end;flex-wrap:wrap}@media(max-width:720px){.dk-access-row{align-items:flex-start;gap:10px;flex-direction:column}.dk-access-row>.toolbar{width:100%;justify-content:flex-start}.dk-tag-input{width:min(100%,220px);max-width:none}.dk-compact-input{width:100px}}


/* 1.0.23 – public server introduction and onboarding */
.dk-about-page{max-width:1500px}.dk-about-hero{padding:clamp(24px,4vw,48px);overflow:hidden;position:relative;background:radial-gradient(circle at 85% 12%,rgba(202,149,70,.18),transparent 30%),linear-gradient(145deg,#0d1b24,#09131a 62%,#10130d)}
.dk-about-hero:after{content:"DK";position:absolute;right:clamp(18px,4vw,54px);bottom:-24px;font:900 clamp(80px,12vw,180px)/1 ui-monospace,monospace;color:rgba(239,201,121,.045);pointer-events:none}.dk-about-hero h1{font-size:clamp(2rem,4vw,4.25rem);line-height:1.02;margin:8px 0 16px;max-width:980px}.dk-about-hero p{max-width:1000px;line-height:1.65}.dk-about-lead{font-size:clamp(1.02rem,1.6vw,1.3rem);color:#e8e4dc}.dk-about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.dk-about-tags span{padding:7px 10px;border:1px solid #5b442b;border-radius:8px;background:rgba(202,149,70,.08);color:#efc979;font-size:.78rem;font-weight:800;letter-spacing:.02em}.dk-about-section{margin-top:24px}.dk-about-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dk-about-feature{min-height:180px;padding:18px}.dk-about-feature h3{margin:9px 0 8px}.dk-about-feature p{margin:0;color:var(--muted);line-height:1.55}.dk-about-feature-icon{font-size:1.45rem;display:block}.dk-about-feature-grid.compact .dk-about-feature{min-height:160px}.dk-about-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dk-about-steps article{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:17px}.dk-about-steps b{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--accent);color:#090807;font:900 1rem/1 ui-monospace,monospace}.dk-about-steps h3{margin:2px 0 7px}.dk-about-steps p{margin:0;color:var(--muted);line-height:1.5}.dk-about-note{margin-top:11px;padding:13px 15px;border:1px solid #4a3b27;border-radius:10px;background:rgba(202,149,70,.07);color:#d7d0c5}.dk-about-link-card,.dk-about-choice{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px}.dk-about-link-card>div,.dk-about-choice>div{max-width:960px}.dk-about-link-card h3,.dk-about-choice h2{margin:0 0 8px}.dk-about-link-card p,.dk-about-choice p{line-height:1.55}.dk-about-link-card code{color:#efc979}.dk-about-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dk-player-access-card{margin-top:14px}.dk-player-access-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:14px}.dk-player-access-state{padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:#091720}.dk-player-access-state h3{margin:4px 0 7px}.dk-player-access-state p{margin:0;color:var(--muted);line-height:1.5}.dk-player-access-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:13px}.dk-player-access-form label{margin:0}.dk-player-server-box{padding:14px;border:1px solid #5b442b;border-radius:10px;background:linear-gradient(145deg,rgba(202,149,70,.11),rgba(9,23,32,.92))}.dk-player-server-box h3{margin:4px 0 10px}.dk-server-connection{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #4a3b27;border-radius:8px;background:#08131a}.dk-server-connection span{display:block;color:var(--muted);font-size:.75rem}.dk-server-connection code{display:block;margin-top:2px;color:#efc979;font-size:.98rem;overflow-wrap:anywhere}.dk-server-connection-values{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.dk-access-flow-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.dk-access-flow-mini span{padding:5px 8px;border:1px solid #2b3d46;border-radius:999px;color:var(--muted);font-size:.72rem}.dk-access-flow-mini span.done{border-color:#5b442b;color:#efc979;background:rgba(202,149,70,.07)}
@media(max-width:980px){.dk-about-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-about-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-player-access-grid{grid-template-columns:1fr}}
@media(max-width:720px){.dk-about-feature-grid,.dk-about-steps{grid-template-columns:1fr}.dk-about-link-card,.dk-about-choice{align-items:stretch;flex-direction:column}.dk-about-actions{justify-content:flex-start}.dk-player-access-form{grid-template-columns:1fr}.dk-about-hero{padding:22px 18px}.dk-about-feature{min-height:0}}

/* 1.0.25 · Client/Modpack administration + public onboarding */
.dk-client-pack-admin{margin-top:18px}.dk-client-pack-admin textarea{width:100%;resize:vertical}.dk-client-mod-list{display:grid;gap:8px;margin-top:10px}.dk-client-mod-row{display:grid;grid-template-columns:100px minmax(150px,1fr) 150px minmax(180px,1.4fr) 42px;gap:8px;align-items:center}.dk-client-mod-row input{min-width:0}.dk-client-mod-required{display:flex!important;align-items:center;gap:7px;margin:0!important}.dk-client-mod-required input{width:auto}.dk-client-mod-row [data-cpm-remove]{padding:7px 10px;font-size:18px;line-height:1}.dk-client-pack-upload{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.dk-client-pack-upload input[type=file]{max-width:320px}.dk-sha{display:block;margin-top:5px;overflow-wrap:anywhere;font-size:11px}.dk-client-pack-public{display:grid;gap:18px}.dk-client-pack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dk-client-pack-head h3{margin:0 0 4px}.dk-client-mod-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dk-client-mod-columns h3{margin:0 0 10px}.dk-public-mod-list{display:grid;gap:8px}.dk-public-mod{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:3px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.dk-public-mod span{font-size:12px;color:var(--muted)}.dk-public-mod small{grid-column:1/-1;color:var(--muted)}
@media(max-width:900px){.dk-client-mod-row{grid-template-columns:90px 1fr}.dk-client-mod-row [data-cpm-side],.dk-client-mod-row [data-cpm-note]{grid-column:2}.dk-client-mod-row [data-cpm-remove]{grid-column:1;grid-row:2}.dk-client-pack-upload,.dk-client-pack-head{align-items:stretch;flex-direction:column}.dk-client-mod-columns{grid-template-columns:1fr}}
