:root{
  color-scheme:dark;
  --coal:#100e0c;--coal-2:#171310;--panel:#1d1814;--panel-2:#241d17;
  --ink:#ede2cc;--muted:#9b8d7d;--line:#4d3f32;--line-soft:#30271f;
  --ember:#d7632f;--ember-bright:#ff9b4d;--gold:#caa45f;--green:#79a47c;--red:#c4584d;
  --display:'Palatino Linotype','Book Antiqua',Georgia,serif;--mono:'Lucida Console','Courier New',monospace;
}
*{box-sizing:border-box}
html{background:var(--coal);scrollbar-color:var(--line) var(--coal)}
body{min-width:320px;margin:0;background:radial-gradient(circle at 50% 20%,#2a1b12 0,#17120f 34%,#0e0c0a 78%);color:var(--ink);font-family:var(--mono);font-size:13px;min-height:100vh}
button,select{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,select:focus-visible{outline:2px solid var(--ember-bright);outline-offset:3px}
button:disabled{cursor:not-allowed;filter:saturate(.25);opacity:.38}
.embers{position:fixed;inset:0;pointer-events:none;opacity:.55;overflow:hidden;background-image:radial-gradient(circle,#ed7436 0 1px,transparent 1.7px),radial-gradient(circle,#e8b15d 0 1px,transparent 1.5px);background-size:81px 137px,129px 103px;background-position:0 30px,30px 0;mask-image:linear-gradient(to top,#000,transparent 75%);animation:embers-rise 18s linear infinite}
@keyframes embers-rise{to{background-position:30px -244px,-20px -206px}}
.game-shell{position:relative;z-index:1;min-height:100vh;padding-bottom:82px}
.topbar{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);padding:0 clamp(16px,3vw,44px);background:rgba(15,13,11,.9);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:38px;height:38px;border:1px solid var(--gold);display:grid;place-items:center;font:700 23px var(--display);transform:rotate(45deg);color:var(--gold)}.brand-mark::first-line{transform:rotate(-45deg)}
.brand h1{font:700 20px/1 var(--display);letter-spacing:.2em;margin:0}.brand p{color:var(--muted);font-size:8px;letter-spacing:.18em;margin:7px 0 0}
.wealth{display:flex;align-items:center;gap:25px}.wealth div{text-align:center;min-width:85px}.wealth span{display:block;color:var(--muted);font-size:8px;letter-spacing:.2em}.wealth strong{display:block;font:600 20px var(--display);color:var(--gold);margin-top:4px}.wealth i{display:block;width:1px;height:27px;background:var(--line)}
.icon-button{justify-self:end;width:39px;height:39px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:19px}.icon-button:hover{border-color:var(--gold);color:var(--gold)}
.workbench{width:min(1500px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(180px,230px) minmax(470px,1fr) minmax(300px,390px);min-height:calc(100vh - 160px)}
.panel{background:linear-gradient(140deg,rgba(35,29,24,.96),rgba(24,20,17,.94));border:1px solid var(--line-soft);position:relative}.panel::before{content:'';position:absolute;inset:5px;pointer-events:none;border:1px solid rgba(202,164,95,.055)}
.left-rail,.right-rail{padding:18px 14px;display:flex;flex-direction:column;gap:14px}.left-rail{border-right:1px solid var(--line-soft)}.right-rail{border-left:1px solid var(--line-soft)}
.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 15px 9px;border-bottom:1px solid var(--line-soft);font:600 10px var(--display);letter-spacing:.16em}.panel-heading small{font:400 8px var(--mono);color:var(--muted);letter-spacing:.06em}
.resource-list{padding:7px 14px 13px}.resource-row{display:grid;grid-template-columns:1fr auto;gap:3px;padding:7px 0;border-bottom:1px dotted #3c3128}.resource-row span{font-size:9px;color:var(--muted);text-transform:uppercase}.resource-row strong{font-size:11px;color:var(--ink)}.resource-row small{grid-column:1/-1;color:#66584b;font-size:7px}.resource-row.active-rate small{color:var(--green)}
.gather-actions{padding:10px;display:grid;gap:7px}.gather-button{position:relative;overflow:hidden;border:1px solid var(--line);background:#181411;text-align:left;padding:10px;color:var(--ink);min-height:43px}.gather-button span{position:relative;z-index:1;display:block;font:600 9px var(--display);letter-spacing:.08em}.gather-button small{position:relative;z-index:1;color:var(--muted);font-size:7px}.gather-button i{position:absolute;left:0;bottom:0;top:0;width:0;background:linear-gradient(90deg,#512515,#8f3b1b);opacity:.75}.gather-button.working i{animation:gather-fill .42s ease-out}.gather-button:hover{border-color:var(--ember);color:var(--ember-bright)}
@keyframes gather-fill{from{width:0}to{width:100%}}
.forge{border-width:0;background:radial-gradient(ellipse at 50% 48%,rgba(101,44,19,.15),transparent 55%);display:flex;flex-direction:column;padding:25px clamp(18px,3vw,48px)}.forge::before{display:none}
.forge-header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line-soft);padding-bottom:13px}.kicker{color:var(--ember);font-size:8px;letter-spacing:.22em;margin:0 0 7px;text-transform:uppercase}.forge-header h2{font:600 clamp(19px,2vw,28px)/1.1 var(--display);letter-spacing:.07em;margin:0}.quality-pip{font-size:8px;letter-spacing:.12em;color:var(--gold);border:1px solid var(--line);padding:7px 9px}
.sword-stage{min-height:350px;flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.sword-stage::before{content:'';position:absolute;width:340px;height:340px;border:1px solid rgba(202,164,95,.09);border-radius:50%;box-shadow:0 0 0 28px rgba(202,164,95,.02),0 0 0 60px rgba(202,164,95,.014)}.sword-stage::after{content:'';position:absolute;top:50%;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,var(--line-soft),transparent)}
.sword-art{position:relative;z-index:2;width:155px;height:335px;filter:drop-shadow(0 18px 18px #000);transition:filter .4s,transform .25s}.sword-art svg{width:100%;height:100%;overflow:visible}.sword-art.working{animation:hammer-nudge .14s ease}.sword-art.finished{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--sword-glow,#ed9f55),transparent 20%)) drop-shadow(0 20px 18px #000)}
@keyframes hammer-nudge{50%{transform:translate(3px,3px) rotate(.5deg)}}
.anvil-shadow{position:absolute;z-index:1;bottom:42px;width:130px;height:18px;border-radius:50%;background:#050403;filter:blur(10px)}
.sword-stage>p{position:absolute;z-index:3;bottom:7px;margin:0;text-align:center;font:italic 11px/1.5 Georgia,serif;color:var(--muted)}
.spark-layer{position:absolute;z-index:4;inset:0;pointer-events:none}.spark{position:absolute;left:50%;top:48%;width:4px;height:4px;border-radius:50%;background:#fff1a8;box-shadow:0 0 8px #ff5c1a;animation:spark-out .55s ease-out forwards}
@keyframes spark-out{to{transform:translate(var(--x),var(--y)) scale(0);opacity:0}}
.design-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding-top:12px;border-top:1px solid var(--line-soft)}.design-panel label{font-size:7px;letter-spacing:.15em;color:var(--muted)}select{display:block;width:100%;margin-top:6px;padding:10px 26px 10px 9px;border:1px solid var(--line);border-radius:0;background:#171310;color:var(--ink);font-size:9px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 12px) 14px,calc(100% - 8px) 14px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}select:disabled{opacity:.4}
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-soft);margin-top:10px}.stat{padding:8px;text-align:center;border-right:1px solid var(--line-soft)}.stat:last-child{border:0}.stat span{display:block;color:var(--muted);font-size:7px;letter-spacing:.12em}.stat strong{font:600 15px var(--display);color:var(--gold)}
.cost-line{min-height:25px;text-align:center;color:var(--muted);font-size:8px;padding:9px}.cost-line .missing{color:var(--red)}.cost-line b{color:var(--ink);font-weight:400}.forge-controls{min-height:58px}.primary-action,.secondary-action{width:100%;border:1px solid #8d4a2b;background:linear-gradient(#913e1d,#6c2b14);color:#fff0d6;padding:12px;box-shadow:inset 0 1px rgba(255,255,255,.13),0 5px 15px #080605;letter-spacing:.08em}.primary-action span{display:block;font:600 10px var(--display)}.primary-action small{display:block;font-size:7px;color:#dfb59b;margin-top:5px}.primary-action:hover{background:linear-gradient(#a94b22,#7c3116);border-color:var(--ember-bright)}.secondary-action{background:transparent;border-color:var(--line);box-shadow:none;color:var(--muted);font:600 8px var(--display)}.secondary-action:hover{color:var(--gold);border-color:var(--gold)}
.forge-progress{border:1px solid var(--line);padding:8px}.forge-progress-head{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;margin-bottom:8px}.forge-progress-head span{color:var(--ember-bright)}.progress-track{height:8px;background:#0c0a09;border:1px solid #3b2c22;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#70280f,#f47a32,#ffcc72);width:0;transition:width .18s}.hammer-button{margin-top:8px}
.customer-panel{padding:15px}.customer-top{display:grid;grid-template-columns:82px 1fr 31px;gap:13px;min-height:112px}.customer-art{width:82px;height:105px;align-self:end}.customer-art svg{width:100%;height:100%;overflow:visible}.customer-copy{padding-top:6px}.customer-copy h2{font:600 14px/1.3 var(--display);letter-spacing:.05em;margin:0}.customer-copy blockquote{font:italic 12px/1.5 Georgia,serif;color:#c5b6a5;margin:12px 0 0}.customer-crest{width:30px;height:30px;opacity:.52}.customer-crest svg{width:100%;height:100%}.eye{transform-box:fill-box;transform-origin:center;animation:blink 5.3s infinite}.eye:nth-of-type(2){animation-delay:.06s}@keyframes blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.06)}}
.requirements{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid var(--line-soft);padding:11px 0}.req{border:1px solid var(--line);padding:5px 7px;font-size:7px;text-transform:uppercase;color:var(--muted)}.req.met{border-color:#49684d;color:#94bd94;background:#19251b}.req.unmet{border-color:#68423b;color:#cf7669;background:#281815}.customer-panel .secondary-action{margin-top:4px}
.milestone-panel{padding-bottom:12px}.milestone-panel h3{font:600 13px/1.4 var(--display);letter-spacing:.06em;padding:4px 15px;margin:11px 0}.milestone-requirements{padding:0 15px}.milestone-row{display:grid;grid-template-columns:15px 1fr auto;gap:7px;align-items:center;padding:6px 0;border-bottom:1px dotted #40342a;font-size:8px;color:var(--muted)}.milestone-row i{width:9px;height:9px;border:1px solid var(--line);transform:rotate(45deg)}.milestone-row.done{color:var(--green)}.milestone-row.done i{background:var(--green);border-color:var(--green)}.milestone-row strong{font-weight:400;color:inherit}.unlocks{color:var(--gold);font-size:7px;line-height:1.5;padding:4px 15px 0;margin:9px 0 0}.unlocks::before{content:'UNLOCKS  ';color:var(--muted)}
.tabs{position:fixed;z-index:12;left:50%;bottom:16px;transform:translateX(-50%);height:52px;display:flex;background:rgba(18,15,13,.96);border:1px solid var(--line);box-shadow:0 8px 26px #000;backdrop-filter:blur(9px)}.tab{position:relative;min-width:125px;border:0;border-right:1px solid var(--line-soft);background:transparent;color:var(--muted);font:500 8px var(--display);letter-spacing:.11em}.tab:last-child{border-right:0}.tab span{display:block;font:16px Georgia,serif;margin-bottom:3px}.tab.active,.tab:hover{color:var(--gold);background:#282017}.tab b{position:absolute;top:6px;right:10px;width:6px;height:6px;border-radius:50%;background:var(--ember);box-shadow:0 0 7px var(--ember)}.tab b:empty{display:none}
.drawer-layer,.reveal-layer,.event-layer{position:fixed;z-index:30;inset:0;background:rgba(5,4,3,.78);backdrop-filter:blur(5px);display:flex;align-items:flex-end;justify-content:center}.drawer-layer[hidden],.reveal-layer[hidden],.event-layer[hidden]{display:none}.drawer{width:min(960px,100%);max-height:88vh;overflow:auto;background:#1a1612;border:1px solid var(--line);border-bottom:0;box-shadow:0 -20px 60px #000;padding:21px}.drawer>header{position:sticky;z-index:3;top:-21px;background:#1a1612;display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding:8px 0 15px}.drawer h2{font:600 25px var(--display);letter-spacing:.08em;margin:0}.drawer-content{padding:17px 0 8px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.ledger-card{position:relative;border:1px solid var(--line);background:linear-gradient(145deg,#241d17,#181411);padding:14px;min-height:170px;display:flex;flex-direction:column}.ledger-card.special{border-color:#7e5931;background:linear-gradient(145deg,#2d2116,#171310)}.ledger-card h3{font:600 13px/1.3 var(--display);margin:2px 0 7px;letter-spacing:.04em}.ledger-card p{font-size:9px;line-height:1.5;color:var(--muted);margin:4px 0}.ledger-card blockquote{font:italic 12px/1.45 Georgia,serif;color:#cdbba5;margin:5px 0 12px}.ledger-card .mini-reqs{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0 12px}.ledger-card button{margin-top:auto}.ledger-card .card-meta{display:flex;justify-content:space-between;color:var(--gold);font-size:7px;letter-spacing:.1em;border-top:1px dotted var(--line);padding-top:8px;margin-top:auto}.ledger-card.locked{opacity:.45}.ledger-card.active-order::after{content:'ON THE ANVIL';position:absolute;right:8px;top:8px;color:var(--ember);font-size:6px;letter-spacing:.12em}
.section-heading{font:600 10px var(--display);letter-spacing:.14em;color:var(--gold);border-bottom:1px solid var(--line);padding:9px 0;margin:17px 0 10px}.section-heading:first-child{margin-top:0}
.building-card{min-height:188px}.building-card .level{color:var(--gold);font-size:8px}.building-card .production{color:var(--green)}.building-card.maxed{border-color:#486049}.building-card.maxed::after{content:'ESTABLISHED';position:absolute;right:8px;top:8px;font-size:6px;color:var(--green);letter-spacing:.1em}
.expedition-card .expedition-progress{font-size:8px;color:var(--ember-bright);border-top:1px dotted var(--line);padding-top:8px;margin-top:auto}.chronicle-list{display:grid;gap:8px}.chronicle-entry{display:grid;grid-template-columns:auto 1fr auto;gap:13px;border-bottom:1px solid var(--line-soft);padding:12px 5px}.chronicle-entry .sigil{color:var(--gold);font:24px var(--display)}.chronicle-entry h3{font:600 12px var(--display);margin:0 0 5px}.chronicle-entry p{font:italic 11px/1.5 Georgia,serif;color:var(--muted);margin:0}.chronicle-entry time{font-size:7px;color:#65584c}.empty-state{text-align:center;color:var(--muted);padding:40px;font:italic 13px Georgia,serif}
.settings{display:grid;gap:9px;max-width:480px}.settings button{border:1px solid var(--line);background:#181411;padding:12px;text-align:left}.settings button:hover{border-color:var(--gold)}.settings .danger{color:var(--red)}.settings p{font-size:9px;color:var(--muted);line-height:1.6}
.reveal-layer,.event-layer{align-items:center;padding:16px;z-index:40}.reveal-card,.event-card{width:min(570px,96vw);max-height:94vh;overflow:auto;text-align:center;background:radial-gradient(circle at 50% 30%,#362216,#171310 65%);border:1px solid #81512e;box-shadow:0 0 0 1px #130e0a,0 0 0 6px #37271b,0 30px 90px #000;padding:25px clamp(20px,5vw,48px)}.reveal-sword{height:365px;margin:0 auto;width:180px;animation:reveal-rise .9s cubic-bezier(.2,.8,.2,1)}.reveal-sword svg{width:100%;height:100%;filter:drop-shadow(0 0 13px var(--sword-glow,#ff9b4d))}.reveal-card h2,.event-card h2{font:700 clamp(23px,5vw,38px)/1.05 var(--display);letter-spacing:.09em;margin:7px 0}.reveal-card>p:not(.kicker),.event-card>p:not(.kicker){font:italic 13px/1.6 Georgia,serif;color:#c9b7a4}.reveal-card .primary-action{margin-top:14px}
@keyframes reveal-rise{from{opacity:0;transform:translateY(70px) scale(.85);filter:brightness(3)}to{opacity:1;transform:none}}
.event-card{width:min(500px,94vw);background:radial-gradient(circle at 50% 28%,#39291a,#171310 70%)}.event-icon{font:50px var(--display);color:var(--gold);margin:10px}.event-card .primary-action{margin-top:22px}.event-card.finale{width:min(800px,96vw);background:#f3ead5;color:#18130f;border-color:#fff;box-shadow:0 0 100px #fff}.event-card.finale .kicker{color:#9e4a25}.event-card.finale .event-icon{font-size:90px;color:#bd7e28;animation:final-pulse 1.6s infinite}.event-card.finale p{color:#57463a}.event-card.finale h2{font-size:clamp(30px,7vw,62px)}
.event-layer.finale-screen{background:rgba(255,250,239,.88);animation:heaven-flash 1.2s ease-out}.event-card.finale .event-icon{height:185px;margin:0 auto;width:120px}.event-card.finale .event-icon svg{width:100%;height:100%;filter:drop-shadow(0 0 12px #d78b27)}
@keyframes final-pulse{50%{transform:scale(1.12);filter:drop-shadow(0 0 18px #e8a33a)}}
@keyframes heaven-flash{0%,14%{background:#fff}35%{background:rgba(255,255,255,.62)}55%{background:#fff}100%{background:rgba(255,250,239,.88)}}
.start-screen{position:fixed;z-index:60;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(circle at 50% 58%,#3b2113 0,#17110d 33%,#090807 73%);padding:22px;transition:opacity .65s}.start-screen[hidden]{display:none}.start-screen.leaving{opacity:0;pointer-events:none}.start-screen h1{font:800 clamp(54px,12vw,128px)/.8 var(--display);letter-spacing:.17em;margin:21px 0 20px;text-indent:.17em;color:#ead9be;text-shadow:0 2px #000,0 0 40px #7d2c0d}.start-subtitle{font:italic clamp(13px,2vw,17px)/1.7 Georgia,serif;color:#b7a28c;margin:0}.start-crest{display:flex;align-items:center;gap:14px;color:var(--gold)}.start-crest span{display:block;width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.start-crest span:last-child{transform:scaleX(-1)}.start-crest b{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--gold);transform:rotate(45deg);font:600 20px var(--display)}.start-sword{width:1px;height:58px;background:linear-gradient(transparent,#d3ad6a,transparent);margin:16px}.start-screen .primary-action{width:min(290px,90vw)}.start-note{color:#61554a;font-size:7px;letter-spacing:.13em;margin-top:18px}
.toast{position:fixed;z-index:80;left:50%;top:92px;transform:translate(-50%,-14px);background:#eadcc3;color:#22160f;padding:10px 15px;border-left:3px solid var(--ember);font-size:9px;box-shadow:0 8px 30px #000;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.sword-svg .rune-line{opacity:0}.sword-svg.enchanted .rune-line{opacity:1;animation:rune-pulse 2s infinite}.sword-svg.celestial .blade-fill{filter:url(#glow)}.sword-svg.shadow .blade-fill{fill:#1e1823}.sword-svg.demon .blade-fill{fill:#381516}.sword-svg.bone .blade-fill{fill:#d9c9a6}.sword-svg.meteor .blade-fill{fill:#43505b}.sword-svg.silver .blade-fill{fill:#e8edf0}.sword-svg.forging{filter:brightness(.52) saturate(.4)}
@keyframes rune-pulse{50%{opacity:.35}}

@media (max-width:1050px){
  .workbench{grid-template-columns:180px minmax(430px,1fr) 320px}.left-rail,.right-rail{padding:12px 9px}.forge{padding-inline:20px}.design-panel{grid-template-columns:1fr 1fr}.sword-stage{min-height:315px}.sword-art{height:295px}
}
@media (max-width:820px){
  .topbar{height:66px;grid-template-columns:1fr auto auto;gap:10px;padding:0 11px}.brand-mark{display:none}.brand h1{font-size:16px}.brand p{font-size:6px}.wealth{gap:9px}.wealth div{min-width:55px}.wealth strong{font-size:15px}.wealth i{height:21px}.workbench{display:flex;flex-direction:column}.forge{order:1;padding:16px 14px 14px;min-height:675px}.right-rail{order:2;border-left:0;padding:8px 10px}.left-rail{order:3;border-right:0;padding:8px 10px;display:grid;grid-template-columns:1fr 1fr}.resource-list{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.sword-stage{min-height:330px}.customer-panel{order:1}.milestone-panel{order:2}.tabs{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px)}.tab{min-width:0;flex:1}.game-shell{padding-bottom:75px}
}
@media (max-width:520px){
  body{font-size:11px}.topbar{grid-template-columns:1fr auto auto}.wealth span{font-size:6px}.wealth strong{font-size:13px}.wealth i{display:none}.wealth{gap:2px}.icon-button{width:34px;height:34px}.forge{min-height:580px}.forge-header h2{font-size:16px}.sword-stage{min-height:250px}.sword-art{height:235px;width:118px}.design-panel{grid-template-columns:1fr 1fr}.stats-strip .stat{padding:7px 3px}.stat span{font-size:6px}.customer-top{grid-template-columns:68px 1fr 24px}.customer-art{width:68px}.left-rail{grid-template-columns:1fr}.resource-list{grid-template-columns:1fr 1fr}.tab{font-size:6px}.tab span{font-size:14px}.drawer{padding:13px}.drawer>header{top:-13px}.card-grid{grid-template-columns:1fr}.reveal-sword{height:310px}.start-screen h1{font-size:51px;letter-spacing:.11em;text-indent:.11em}.event-card.finale .event-icon{height:140px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* V2 — workforce forge */
.v2-shell{padding-bottom:86px}.forge-layout{width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:minmax(650px,1fr) 330px;min-height:calc(100vh - 78px)}.forge-board{padding:15px;display:flex;flex-direction:column;gap:11px}.operations{padding:15px 15px 15px 4px;display:flex;flex-direction:column;gap:11px}.commission-bar{display:grid;grid-template-columns:82px minmax(280px,1fr) 34px 125px;gap:14px;align-items:center;padding:10px 14px;min-height:116px}.commission-bar .customer-art{height:94px}.commission-copy h2{font:600 17px var(--display);letter-spacing:.06em;margin:0}.commission-copy blockquote{display:inline;font:italic 13px/1.55 Georgia,serif;color:#c8b8a4;margin:0 10px 0 0}.commission-copy .requirements{display:inline-flex;border:0;padding:7px 0 0}.commission-bar .secondary-action{align-self:center}.craft-panel{display:grid;grid-template-columns:minmax(300px,42%) 1fr;min-height:540px;overflow:hidden}.blade-column{display:flex;flex-direction:column;border-right:1px solid var(--line-soft);padding:18px 20px;background:radial-gradient(circle at 50% 48%,rgba(133,60,23,.16),transparent 58%)}.blade-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line-soft);padding-bottom:10px}.blade-heading h2{font:600 20px var(--display);letter-spacing:.08em;margin:0}.grade-badge{font-size:8px;letter-spacing:.13em;border:1px solid var(--line);padding:7px;color:var(--muted)}.grade-badge[data-grade=legendary],.grade-badge[data-grade=excellent]{color:var(--gold);border-color:#84633a}.grade-badge[data-grade=partial],.grade-badge[data-grade=failure]{color:var(--red);border-color:#724139}.blade-column .sword-stage{min-height:365px}.blade-column .sword-art{height:330px}.choices-column{padding:15px;overflow:hidden}.choice-section{border-bottom:1px solid var(--line-soft);padding:0 0 12px;margin-bottom:12px}.choice-section>header{display:flex;align-items:center;gap:9px;margin-bottom:9px}.choice-section>header>span{width:23px;height:23px;display:grid;place-items:center;border:1px solid #684429;color:var(--ember);font:600 10px var(--display);transform:rotate(45deg)}.choice-section>header h3{font:600 10px var(--display);letter-spacing:.13em;margin:0}.choice-section>header p{font-size:9px;line-height:1.45;color:var(--muted);margin:3px 0 0}.choice-cards{display:flex;gap:6px;overflow-x:auto;padding:3px 2px 6px;scrollbar-width:thin}.choice-card{flex:0 0 auto;border:1px solid var(--line);background:#16120f;color:var(--muted);min-height:51px;padding:7px 9px;text-align:left}.choice-card:hover,.choice-card.selected{border-color:var(--gold);color:var(--ink);background:#292016;box-shadow:inset 0 -2px var(--ember)}.choice-card b{display:block;font-size:9px}.choice-card small{font-size:7px;line-height:1.4;color:#9b8874}.material-card{min-width:112px}.profile-card{width:75px;text-align:center}.profile-card span{display:block;height:34px}.profile-card svg{width:25px;height:34px;fill:#988f84}.profile-card.selected svg{fill:#e8c98d}.team-slots{display:grid;grid-template-columns:repeat(5,minmax(78px,1fr));gap:6px}.team-slot{position:relative;min-width:0;min-height:90px;border:1px solid var(--line);background:#16120f;color:var(--ink);padding:5px;overflow:hidden}.team-slot.empty{border-style:dashed;color:#5f5043}.team-slot.empty span{font-size:26px;font-weight:200}.team-slot b{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-slot small{display:block;font-size:7px;color:#b09d88;line-height:1.4;margin-top:3px}.team-slot .worker-icon{height:42px}.team-slot:hover{border-color:var(--ember)}.team-slot.tired{filter:saturate(.2);border-color:#724139}.quick-workers{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:4px}.quick-workers>p{font:italic 11px Georgia,serif;color:var(--muted)}.quick-worker{flex:0 0 190px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#211a15;padding:7px;text-align:left}.quick-worker .worker-icon{width:34px;height:39px}.quick-worker b{display:block;font-size:8px}.quick-worker small{display:block;color:#b09d88;font-size:7px;line-height:1.45;margin-top:3px}.quick-worker:hover{border-color:var(--gold)}.worker-icon{fill:#0a0908;stroke:#8e7558;stroke-width:1.2}.worker-icon .eye{fill:#e5ad54;stroke:none}.service-choices{display:grid;gap:7px}.service-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.service-group>b{font-size:8px;color:var(--gold);min-width:100px}.service-chip{border:1px solid var(--line);background:#16120f;padding:7px 9px;color:var(--muted);font-size:8px}.service-chip small{display:block;font-size:7px;line-height:1.4;margin-top:3px;color:#a9957e}.service-chip.selected{border-color:#875332;color:var(--ink);background:#3b2115}.choices-column .cost-line{text-align:left;border-top:1px solid var(--line-soft);padding:9px 0;font-size:9px}.cost-line i{font-style:normal;color:var(--line)}
.work-progress{display:grid;grid-template-columns:145px 1fr 230px;align-items:center;gap:14px;padding:12px 14px}.worker-motion{display:flex;justify-content:center;height:47px}.worker-motion .worker-icon{width:38px;height:44px;animation:worker-bonk 1s ease-in-out infinite}.worker-motion .worker-icon:nth-child(2){animation-delay:.2s}.worker-motion .worker-icon:nth-child(3){animation-delay:.4s}@keyframes worker-bonk{50%{transform:translateY(3px) rotate(3deg)}}.progress-copy{display:flex;justify-content:space-between;margin-bottom:7px;font-size:7px;letter-spacing:.1em}.progress-copy span{color:var(--ember-bright)}.progress-copy b{color:var(--muted);font-weight:400}.progress-main .progress-track{height:12px;position:relative}.progress-main .progress-fill{transition:width .25s linear}.work-progress .primary-action{min-height:50px}.line-summary:empty{display:none}.line-empty{display:grid;grid-template-columns:auto 1fr 145px;align-items:center;gap:14px;padding:10px 14px}.line-empty span{font:600 8px var(--display);letter-spacing:.12em;color:var(--gold)}.line-empty p{font-size:7px;color:var(--muted)}.running-lines{padding:7px}.running-line{width:100%;display:grid;grid-template-columns:210px 1fr 220px;gap:12px;align-items:center;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:var(--ink);padding:9px;text-align:left}.running-line b,.running-line small{display:block}.running-line b{font:600 8px var(--display)}.running-line small{font-size:6px;color:var(--muted);margin-top:4px}.micro-track{height:5px;background:#0b0908}.micro-track i{display:block;height:100%;background:var(--ember)}.bottleneck{font-size:7px;color:var(--ember-bright);text-align:right}.compact-stores .resource-list{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;max-height:292px;overflow:auto}.compact-stores .resource-row{padding:6px 0}.compact-gather .gather-actions{grid-template-columns:1fr 1fr}.compact-gather .gather-button{min-height:48px}.operations .milestone-panel{flex-shrink:0}.v2-tabs .tab{min-width:112px}
.workforce-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-bottom:15px}.workforce-summary div{text-align:center;padding:12px;border-right:1px solid var(--line)}.workforce-summary div:last-child{border:0}.workforce-summary span{display:block;font-size:8px;color:var(--muted);letter-spacing:.13em}.workforce-summary strong{font:600 22px var(--display);color:var(--gold)}.worker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}.worker-card{display:grid;grid-template-columns:68px 1fr;border:1px solid var(--line);background:linear-gradient(145deg,#241d17,#171310);padding:14px;gap:9px}.worker-card>.worker-icon{width:62px;height:68px}.worker-title h3{font:600 14px var(--display);margin:0}.worker-title span{font-size:9px;color:var(--gold)}.worker-bars{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.worker-bars label{position:relative;background:#0e0c0a;border:1px solid var(--line-soft);font-size:7px;padding:6px;overflow:hidden}.worker-bars i{position:absolute;z-index:0;left:0;bottom:0;top:0;width:var(--v);background:#482717;opacity:.8}.worker-card>p,.worker-effects{grid-column:1/-1;font-size:10px;color:#b7a590;line-height:1.55;margin:0}.worker-effects{color:#99c49d;font-weight:600}.hire-row{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px}.hire-row button{border:1px solid var(--line);background:#191411;color:var(--ink);padding:8px;font-size:8px}.hire-row button:hover{border-color:var(--gold)}
.production-card{border:1px solid #6b4b2d;background:#201812;margin:8px 0;padding:13px}.production-card>header{display:flex;justify-content:space-between}.production-card h3{font:600 15px var(--display);margin:0}.production-card>header>strong{color:var(--gold);font:600 14px var(--display)}.line-progress{position:relative;height:23px;background:#0d0b09;border:1px solid var(--line);margin:10px 0;overflow:hidden}.line-progress i{display:block;height:100%;background:linear-gradient(90deg,#6d2a12,#d45e28)}.line-progress span{position:absolute;inset:0;display:grid;place-items:center;font-size:7px}.line-readout{display:flex;gap:16px;font-size:7px;margin-bottom:9px}.line-readout span{color:var(--muted)}.line-readout b{color:var(--ink)}.line-readout .warning{margin-left:auto;color:var(--ember-bright)}.line-workers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:5px}.line-workers>div{display:grid;grid-template-columns:34px 1fr 28px 28px;align-items:center;border:1px solid var(--line-soft);padding:4px}.line-workers .worker-icon{width:31px;height:35px}.line-workers b,.line-workers small{display:block;font-size:6px}.line-workers small{color:var(--muted);margin-top:2px}.line-workers button{height:27px;border:1px solid var(--line);background:#18130f;color:var(--gold)}.contract-card>strong,.facility-card>strong{font-size:8px;color:var(--green)}.reveal-team{font:400 8px var(--mono)!important;letter-spacing:.08em;color:var(--gold)!important}.reveal-grade{border:1px solid var(--line);padding:9px;margin-top:10px}.reveal-grade strong{font:600 13px var(--display);color:var(--gold)}.reveal-grade strong[data-grade=partial],.reveal-grade strong[data-grade=failure]{color:var(--red)}.reveal-grade p{font-size:7px;color:var(--muted);margin:5px 0 0}

@media(max-width:1100px){.forge-layout{grid-template-columns:1fr 290px}.craft-panel{grid-template-columns:330px 1fr}.commission-bar{grid-template-columns:70px 1fr 28px 105px}.team-slots{grid-template-columns:repeat(4,minmax(68px,1fr))}.work-progress{grid-template-columns:100px 1fr 190px}.running-line{grid-template-columns:170px 1fr 170px}}
@media(max-width:850px){.forge-layout{display:flex;flex-direction:column}.forge-board{padding:9px}.operations{padding:0 9px 12px;display:grid;grid-template-columns:1fr 1fr}.compact-gather{display:none}.commission-bar{grid-template-columns:64px 1fr 26px;min-height:105px}.commission-bar>.secondary-action{grid-column:1/-1}.craft-panel{grid-template-columns:1fr}.blade-column{border-right:0;border-bottom:1px solid var(--line-soft)}.blade-column .sword-stage{min-height:300px}.blade-column .sword-art{height:275px}.team-slots{grid-template-columns:repeat(5,minmax(65px,1fr))}.work-progress{grid-template-columns:75px 1fr 190px}.v2-tabs{width:calc(100% - 16px)}.v2-tabs .tab{min-width:0;flex:1}.wealth div:last-child{display:none}.wealth i:last-of-type{display:none}}
@media(max-width:560px){.topbar{height:66px}.forge-board{padding:6px}.commission-bar{grid-template-columns:56px 1fr 22px;padding:8px}.commission-bar .customer-art{width:56px;height:78px}.commission-copy h2{font-size:12px}.commission-copy blockquote{font-size:10px}.commission-copy .requirements{display:flex}.craft-panel{min-height:0}.blade-column{padding:12px}.blade-column .sword-stage{min-height:235px}.blade-column .sword-art{height:215px}.choices-column{padding:11px}.team-slots{grid-template-columns:repeat(3,1fr)}.team-slot{height:76px}.work-progress{grid-template-columns:1fr;padding:10px}.worker-motion{display:none}.work-progress .primary-action{min-height:50px}.operations{grid-template-columns:1fr}.compact-stores .resource-list{max-height:none}.line-empty{grid-template-columns:1fr}.running-line{grid-template-columns:1fr;gap:5px}.bottleneck{text-align:left}.v2-tabs .tab{font-size:5px}.worker-grid{grid-template-columns:1fr}.line-readout{flex-wrap:wrap}.line-readout .warning{width:100%;margin:0}.event-card.finale .event-icon{height:115px}.reveal-sword{height:270px}}
