:root {
  --burn:    #c84a1a;
  --burn2:   #e05a20;
  --rust:    #a83010;
  --wood1:   #3a1f0e;
  --wood2:   #2a1508;
  --wood3:   #4a2810;
  --warm:    #c87840;
  --faded:   #c86858;
  --chain:   #1e1e1e;
  --metal:   #2a2a2a;
  --aged:    #383028;
  --text:    #e8d8c0;
  --dim:     #8a7060;
  --white:   #f4ece0;
  --pink:    #c86868;
  --status-live: #7dcc90;
  --status-warn: #febc2e;
  --status-dead: #ff5f57;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  background:var(--wood2);
  color:var(--text);
  font-family:'Barlow',sans-serif;
  font-size:17px;
  line-height:1.7;
  overflow-x:hidden;
  padding-bottom:70px;
}

body::before{
  content:'';position:fixed;inset:0;
  background:
    repeating-linear-gradient(92deg,transparent 0px,transparent 3px,rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px,transparent 4px,transparent 12px,rgba(0,0,0,.04) 12px,rgba(0,0,0,.04) 13px),
    repeating-linear-gradient(88deg,transparent 0px,transparent 8px,rgba(200,120,60,.04) 8px,rgba(200,120,60,.04) 9px),
    radial-gradient(ellipse 120% 80% at 30% 20%,rgba(200,74,26,.15) 0%,transparent 60%),
    radial-gradient(ellipse 80% 60% at 80% 70%,rgba(168,48,16,.1) 0%,transparent 50%);
  pointer-events:none;z-index:0;
}

body::after{
  content:'';position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  pointer-events:none;z-index:1;opacity:.5;
}

nav,.factory-header,.factory-tabs,.panel,footer,.music-bar,.toast-container{position:relative;z-index:2;}

.chain-bar{
  position:relative;z-index:2;
  height:14px;
  background:repeating-linear-gradient(90deg,var(--chain) 0,var(--chain) 14px,var(--warm) 14px,var(--warm) 16px,var(--chain) 16px,var(--chain) 30px,var(--burn) 30px,var(--burn) 32px);
  border-top:1px solid var(--aged);border-bottom:1px solid var(--aged);opacity:.8;
}

nav{
  background:rgba(20,8,2,.95);backdrop-filter:blur(10px);
  border-bottom:2px solid var(--burn);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:62px;
  position:sticky;top:0;z-index:200;
}
.nav-logo{display:flex;align-items:center;gap:.8rem;text-decoration:none;}
.nav-logo img{height:40px;width:40px;border-radius:50%;object-fit:cover;border:2px solid var(--burn);box-shadow:0 0 14px rgba(200,74,26,.5);}
.nav-logo-text{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:.14em;color:var(--warm);text-shadow:0 0 20px rgba(200,120,60,.4);}
.nav-logo-text span{color:var(--burn);}
.nav-links{display:flex;gap:1.6rem;list-style:none;}
.nav-links a{font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--warm);}
.nav-hire{font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem 1.4rem;background:var(--burn);border:none;color:var(--white);text-decoration:none;transition:all .2s;box-shadow:0 0 12px rgba(200,74,26,.4);}
.nav-hire:hover{background:var(--burn2);box-shadow:0 0 20px rgba(200,74,26,.7);}

.factory-header{
  background:radial-gradient(ellipse 100% 100% at 50% 0%,rgba(200,74,26,.2) 0%,transparent 60%),linear-gradient(180deg,rgba(20,8,2,.7) 0%,transparent 100%);
  padding:4rem 2.5rem 3rem;
}
.factory-header-inner{max-width:1200px;margin:0 auto;}
.factory-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.5rem,8vw,7rem);line-height:.9;letter-spacing:.04em;color:var(--white);text-shadow:3px 3px 0 var(--rust),0 0 40px rgba(200,74,26,.3);margin-bottom:.5rem;}
.factory-title .g{color:var(--warm);text-shadow:3px 3px 0 var(--burn),0 0 40px rgba(200,120,60,.4);}
.factory-subtitle{font-family:'Share Tech Mono',monospace;font-size:.9rem;letter-spacing:.12em;color:var(--warm);font-style:italic;margin-top:.5rem;}

.sec-label{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--burn2);margin-bottom:.5rem;}

.stat-strip{display:flex;gap:2px;background:var(--aged);border:2px solid var(--aged);margin-top:2rem;}
.stat-chip{background:rgba(20,8,2,.9);padding:1.2rem 2rem;flex:1;display:flex;flex-direction:column;gap:.3rem;transition:background .2s;}
.stat-chip:hover{background:rgba(40,16,4,.95);}
.stat-num{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:var(--warm);line-height:1;}
.stat-label{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);}

.factory-tabs{
  display:flex;gap:2px;background:rgba(8,4,2,.97);
  border-bottom:2px solid var(--burn);
  position:sticky;top:62px;z-index:100;
  padding:0 2.5rem;overflow-x:auto;
}
.ftab{
  font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;background:transparent;border:none;color:var(--dim);
  padding:.9rem 1.5rem;cursor:pointer;border-bottom:2px solid transparent;
  transition:all .2s;margin-bottom:-2px;white-space:nowrap;flex-shrink:0;
}
.ftab:hover{color:var(--warm);}
.ftab.active{color:var(--burn2);border-bottom-color:var(--burn2);}

.panel{display:none;max-width:1200px;margin:0 auto;padding:3rem 2.5rem;}
.panel.active{display:block;}

h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,5vw,4rem);letter-spacing:.05em;line-height:1;color:var(--white);margin-bottom:1.5rem;text-shadow:2px 2px 0 var(--rust);}
h2 .g{color:var(--warm);text-shadow:2px 2px 0 var(--burn);}
h2 .r{color:var(--burn2);text-shadow:2px 2px 0 var(--rust);}

.forge-form{background:rgba(8,4,2,.95);border:2px solid var(--aged);margin-bottom:2.5rem;overflow:hidden;}
.term-bar{background:var(--aged);padding:.6rem 1rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--metal);}
.dot{width:10px;height:10px;border-radius:50%;}
.dot-r{background:#ff5f57;} .dot-y{background:#febc2e;} .dot-g{background:#28c840;}
.term-title{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.15em;color:var(--dim);text-transform:uppercase;margin-left:.4rem;}
.forge-body{padding:1.8rem 2rem;display:flex;flex-direction:column;gap:1.2rem;}
.field-row{display:flex;flex-direction:column;gap:.4rem;}
.field-label{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--burn2);}
.forge-input{background:rgba(20,8,2,.8);border:1px solid var(--aged);color:var(--text);font-family:'Share Tech Mono',monospace;font-size:.82rem;padding:.7rem 1rem;outline:none;transition:border-color .2s;width:100%;resize:vertical;}
.forge-input:focus{border-color:var(--burn);}
.forge-input::placeholder{color:var(--dim);}
select.forge-input{cursor:pointer;}

.tag-checks{display:flex;flex-wrap:wrap;gap:.6rem;}
.tag-check{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .8rem;border:1px solid var(--aged);color:var(--dim);cursor:pointer;user-select:none;transition:all .2s;}
.tag-check:has(input:checked){border-color:var(--burn);color:var(--burn2);background:rgba(200,74,26,.1);}
.tag-check input{display:none;}

.btn{font-family:'Share Tech Mono',monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.9rem 2rem;text-decoration:none;border:1px solid;transition:all .22s;display:inline-block;cursor:pointer;}
.btn-fire{background:var(--burn);border-color:var(--burn);color:var(--white);box-shadow:0 0 16px rgba(200,74,26,.4);}
.btn-fire:hover{background:var(--burn2);box-shadow:0 0 28px rgba(200,74,26,.7);}
.btn-fire:disabled{opacity:.5;cursor:not-allowed;}
.btn-warm{background:transparent;border-color:var(--warm);color:var(--warm);}
.btn-warm:hover{background:var(--warm);color:var(--wood2);}
.btn-ghost{background:transparent;border-color:var(--aged);color:var(--dim);}
.btn-ghost:hover{border-color:var(--dim);color:var(--text);}

.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px;background:var(--aged);border:2px solid var(--aged);}
.pack-card{background:rgba(20,8,2,.9);padding:2rem;position:relative;overflow:hidden;transition:background .25s;border-left:3px solid transparent;}
.pack-card:hover{background:rgba(40,16,4,.95);border-left-color:var(--burn2);}
.pack-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;}
.pack-name{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:.07em;color:var(--warm);margin-bottom:.4rem;}
.pack-desc{font-size:.88rem;color:var(--dim);margin-bottom:.8rem;line-height:1.5;}
.pack-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;}
.pack-tag{font-family:'Share Tech Mono',monospace;font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid var(--burn);color:var(--burn2);background:rgba(200,74,26,.08);}
.pack-actions{display:flex;gap:.5rem;flex-wrap:wrap;}
.pack-actions .btn{padding:.45rem .9rem;font-size:.62rem;}
.pack-asset-count{font-family:'Share Tech Mono',monospace;font-size:.6rem;color:var(--dim);}

.sheet-controls{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;}
.sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px;background:var(--aged);border:2px solid var(--aged);}
.sheet-cell{background:rgba(8,4,2,.9);aspect-ratio:1;position:relative;overflow:hidden;cursor:pointer;transition:all .2s;}
.sheet-cell:hover{outline:2px solid var(--burn2);}
.sheet-cell img{width:100%;height:100%;object-fit:cover;display:block;}
.sheet-cell-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;text-align:center;padding:.5rem;}
.sheet-cell-info{position:absolute;bottom:0;left:0;right:0;background:rgba(8,4,2,.9);padding:.4rem .6rem;transform:translateY(100%);transition:transform .2s;font-family:'Share Tech Mono',monospace;font-size:.55rem;color:var(--text);line-height:1.4;}
.sheet-cell:hover .sheet-cell-info{transform:translateY(0);}

.asset-drawer{position:fixed;right:0;top:62px;bottom:58px;width:340px;background:rgba(8,4,2,.98);border-left:2px solid var(--burn);transform:translateX(100%);transition:transform .3s;z-index:150;overflow-y:auto;padding:1.5rem;}
.asset-drawer.open{transform:translateX(0);}
.drawer-close{background:transparent;border:1px solid var(--aged);color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .8rem;cursor:pointer;margin-bottom:1.2rem;transition:all .2s;display:block;}
.drawer-close:hover{border-color:var(--burn2);color:var(--burn2);}
.drawer-preview{margin-bottom:1.2rem;}
.drawer-meta p{font-size:.85rem;color:var(--text);margin-bottom:.2rem;}

.workers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px;background:var(--aged);border:2px solid var(--aged);margin-bottom:2rem;}
.worker-card{background:rgba(20,8,2,.9);padding:1.8rem;transition:background .25s;}
.worker-card:hover{background:rgba(40,16,4,.95);}
.worker-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:.5rem;flex-shrink:0;}
.wdot-online{background:var(--status-live);box-shadow:0 0 8px var(--status-live);}
.wdot-idle{background:var(--status-warn);}
.wdot-offline{background:var(--status-dead);}
.worker-name{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--warm);}
.worker-type{font-family:'Share Tech Mono',monospace;font-size:.62rem;color:var(--burn2);text-transform:uppercase;letter-spacing:.12em;margin-top:.2rem;}
.worker-last-seen{font-family:'Share Tech Mono',monospace;font-size:.6rem;color:var(--dim);margin-top:.4rem;}
.worker-actions{display:flex;gap:.5rem;margin-top:1rem;}
.worker-actions .btn{padding:.4rem .9rem;font-size:.6rem;}

.terminal{background:rgba(8,4,2,.95);border:2px solid var(--aged);overflow:hidden;}
.term-body{padding:1.8rem 2rem;font-family:'Share Tech Mono',monospace;font-size:.8rem;line-height:2.1;}
.tc{color:var(--dim);} .tg{color:var(--warm);} .tr{color:var(--burn2);}
.tw{color:var(--text);} .tgreen{color:#7dcc90;}

.export-queue{display:flex;flex-direction:column;gap:2px;background:var(--aged);border:2px solid var(--aged);margin-bottom:2rem;}
.export-job{background:rgba(20,8,2,.9);padding:1.6rem 2rem;display:grid;grid-template-columns:1fr auto auto;gap:1.5rem;align-items:center;border-left:3px solid transparent;transition:all .2s;}
.export-job:hover{background:rgba(40,16,4,.95);}
.export-job.running{border-left-color:var(--status-warn);}
.export-job.done{border-left-color:var(--status-live);}
.export-job.failed,.export-job.cancelled{border-left-color:var(--status-dead);}
.export-job-actions{display:flex;gap:.5rem;}
.export-job-actions .btn{padding:.4rem .9rem;font-size:.6rem;}

.format-table{width:100%;border-collapse:collapse;background:rgba(8,4,2,.9);border:2px solid var(--aged);}
.format-table th{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--burn2);padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--aged);}
.format-table td{font-family:'Share Tech Mono',monospace;font-size:.72rem;color:var(--dim);padding:.8rem 1rem;border-bottom:1px solid rgba(56,48,40,.5);}
.format-table tr:last-child td{border-bottom:none;}
.format-table tr:hover td{color:var(--text);background:rgba(40,16,4,.5);}

.ttag{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .7rem;border:1px solid;white-space:nowrap;}
.t-live{color:#7dcc90;border-color:#7dcc90;}
.t-build{color:var(--warm);border-color:var(--warm);}
.t-soon{color:var(--dim);border-color:var(--aged);}
.t-error{color:var(--status-dead);border-color:var(--status-dead);}
.pstatus{font-family:'Share Tech Mono',monospace;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .6rem;border:1px solid;display:inline-block;}

.toast-container{position:fixed;bottom:70px;right:1.5rem;z-index:400;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;}
.toast{font-family:'Share Tech Mono',monospace;font-size:.68rem;letter-spacing:.08em;padding:.8rem 1.2rem;border-left:3px solid var(--burn2);background:rgba(8,4,2,.97);color:var(--text);animation:slideIn .3s ease;min-width:220px;pointer-events:auto;}
.toast.success{border-left-color:var(--status-live);}
.toast.error{border-left-color:var(--status-dead);}
@keyframes slideIn{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}

.skeleton{background:linear-gradient(90deg,var(--aged) 25%,var(--metal) 50%,var(--aged) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:2px;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}

.empty-state{padding:4rem 2rem;text-align:center;color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:.75rem;letter-spacing:.1em;}

footer{background:rgba(8,4,2,.97);border-top:2px solid var(--burn);padding:3rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center;position:relative;z-index:2;}
.foot-logo{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;letter-spacing:.15em;color:var(--warm);text-shadow:2px 2px 0 var(--rust),0 0 30px rgba(200,120,60,.3);}
.foot-logo span{color:var(--burn2);}
footer p{font-family:'Share Tech Mono',monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);}

.music-bar{position:fixed;bottom:0;left:0;right:0;z-index:500;background:rgba(8,4,2,.97);border-top:2px solid var(--burn);padding:.6rem 1.5rem;display:flex;align-items:center;gap:1rem;height:58px;}
.music-btn{background:var(--burn);border:none;color:var(--white);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:.9rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.music-btn:hover{background:var(--burn2);}
.music-info{flex:1;min-width:0;}
.music-title{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:.1em;color:var(--warm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.music-progress-wrap{flex:1;height:3px;background:var(--aged);cursor:pointer;position:relative;border-radius:2px;max-width:300px;}
.music-progress-fill{height:100%;background:linear-gradient(90deg,var(--burn),var(--warm));border-radius:2px;width:0%;transition:width .1s;}
.music-vol{display:flex;align-items:center;gap:.5rem;}
.music-vol span{font-family:'Share Tech Mono',monospace;font-size:.58rem;color:var(--dim);}
.music-vol input{width:60px;accent-color:var(--burn);}
.music-tag{font-family:'Share Tech Mono',monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);display:none;}
@media(min-width:600px){.music-tag{display:block;}}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease;}
.reveal.on{opacity:1;transform:none;}

@media(max-width:768px){
  .stat-strip{flex-wrap:wrap;}
  .stat-chip{flex:1 1 calc(50% - 1px);}
  .sheet-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
  .asset-drawer{width:100%;top:auto;bottom:58px;height:65vh;transform:translateY(100%);}
  .asset-drawer.open{transform:translateY(0);}
  .export-job{grid-template-columns:1fr;gap:.8rem;}
  .nav-links,.nav-hire{display:none;}
  .factory-tabs{padding:0 1rem;}
  .panel{padding:2rem 1.2rem;}
}
