:root{--bg: #171209;--bg2: #1f180e;--panel: #241b10;--panel-edge: #46351f;--ink: #e8dcc4;--ink-dim: #a9987b;--ember: #ff8c2e;--ember-hot: #ffc14d;--good: #9fd08a;--bad: #e0705a;--discovery: #86c5d8}*{box-sizing:border-box;margin:0;padding:0;touch-action:manipulation}html,body{height:100%}body{background:radial-gradient(1200px 500px at 50% -10%,#2a1f10 0%,transparent 60%),var(--bg);color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.45}#app{max-width:1180px;margin:0 auto;padding:14px;display:flex;flex-direction:column;gap:12px;min-height:100%}header{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--panel-edge);padding-bottom:10px}header .title{flex:1}header h1{font-size:26px;letter-spacing:2px;color:var(--ember-hot);text-shadow:0 0 18px rgba(255,140,46,.35)}.subtitle{color:var(--ink-dim);font-style:italic;font-size:13px}.coin{font-size:26px;font-variant-numeric:tabular-nums;color:var(--ember-hot)}.coin .unit{font-size:15px;color:var(--ink-dim);margin-left:2px}.sys{display:flex;gap:6px}main{display:grid;grid-template-columns:220px 1fr 320px;gap:12px;align-items:start}@media(max-width:980px),(orientation:portrait){main{display:flex;flex-direction:column}#panel-forge{order:0}#panel-market{order:1}#panel-resources{order:2}}.panel{background:linear-gradient(180deg,var(--panel) 0%,var(--bg2) 100%);border:1px solid var(--panel-edge);border-radius:6px;padding:12px}h2{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-dim);margin:12px 0 6px;border-bottom:1px solid rgba(70,53,31,.6);padding-bottom:3px}h2:first-child{margin-top:0}.counts{list-style:none}.counts li{display:flex;justify-content:space-between;padding:1px 0}.counts .k{color:var(--ink-dim)}.counts .v{font-variant-numeric:tabular-nums}.counts.small{font-size:13px}button{font-family:inherit;font-size:14px;color:var(--ink);background:linear-gradient(180deg,#3a2c19,#2b2010);border:1px solid var(--panel-edge);border-radius:4px;padding:7px 10px;cursor:pointer;transition:filter 80ms,transform 40ms}button:hover:not(:disabled){filter:brightness(1.25)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.38;cursor:default}button small{color:var(--ink-dim);font-size:11px;margin-left:4px}.btncol{display:flex;flex-direction:column;gap:6px}.btnrow{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.btnrow button{flex:1;min-width:90px}#forge-canvas{width:100%;border:1px solid var(--panel-edge);border-radius:4px;background:#0d0a06;display:block}#heat-readout{margin-top:8px;min-height:40px}#heat-words{font-style:italic;color:var(--ink-dim)}.gauge-track{position:relative;height:12px;border:1px solid var(--panel-edge);border-radius:6px;background:linear-gradient(90deg,#241b10,#7a2410 45%,#ff8c2e 72%,#fff0b8);overflow:hidden}.gauge-band{position:absolute;top:0;bottom:0;border-left:1px solid rgba(232,220,196,.9);border-right:1px solid rgba(232,220,196,.9);background:#e8dcc424}.gauge-band.gauge-intuition{border-left:1px dashed rgba(255,193,77,.95);border-right:1px dashed rgba(255,193,77,.95);background:#ffc14d1f}.gauge-band.gauge-weld{border-left-color:#86c5d8cc;border-right-color:#86c5d8cc;background:#86c5d81f}.gauge-band.gauge-guide{border-left:1px solid rgba(255,140,46,.95);border-right:1px solid rgba(255,140,46,.95);background:#ff8c2e1a}.diary-list{display:flex;flex-direction:column;gap:3px;padding:6px 2px}.diary-row{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}.diary-row .dname{min-width:150px;font-weight:700}.diary-row .dmeta{color:var(--ink-dim);font-size:12px}.diary-row.rumored .dname{color:var(--ink-dim);font-style:italic;font-weight:400}.diary-row button{padding:2px 8px;font-size:12px}.diary-row .daywork-on{color:var(--ember-hot)}.gauge-legend{font-size:10px;color:var(--ink-dim);margin-top:2px;min-height:1.3em}.gauge-needle{position:absolute;top:-2px;bottom:-2px;width:2px;background:#fff;box-shadow:0 0 6px #fff}.gauge-label{font-size:12px;color:var(--ink-dim);margin-top:3px;font-variant-numeric:tabular-nums}#chain-box{margin-top:8px;border:1px solid var(--panel-edge);border-radius:4px;background:#00000040;padding:8px 10px;min-height:58px;max-height:96px;overflow-y:auto}.chain-guidance{font-size:12px;color:var(--discovery);letter-spacing:1px}.chain-links{margin-top:4px;font-size:14px}.chain-links .link{color:var(--ink)}.chain-links .link .x{color:var(--ember);font-size:12px}.chain-links .arrow{color:var(--ink-dim);margin:0 4px}.market-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-top:4px}.demand{color:var(--ink-dim);font-size:12px}meter{width:70px;height:12px}.blade-list{list-style:none;font-size:14px}.blade-list li{display:flex;justify-content:space-between;align-items:center;padding:3px 0;gap:6px}.blade-list .empty{color:var(--ink-dim);font-style:italic}.blade-list button{padding:3px 8px;font-size:12px}.tier-masterwork{color:var(--ember-hot);text-shadow:0 0 8px rgba(255,193,77,.5)}.tier-fine{color:var(--good)}.tier-crude{color:var(--ink-dim)}.cap{font-size:10px;letter-spacing:0;text-transform:none;color:var(--ink-dim)}.worker-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.worker{display:grid;grid-template-columns:1fr auto auto;gap:4px 8px;align-items:center;border:1px solid var(--panel-edge);border-radius:4px;padding:6px 8px;background:#0003;font-size:13px}.worker .wname{font-weight:700}.worker .wname .wcount{color:var(--ember);margin-left:6px}.worker .wrate{grid-column:1;color:var(--ink-dim);font-size:12px}.worker button{padding:4px 8px;font-size:12px;white-space:nowrap}.worker .hire1{grid-column:2;grid-row:1 / span 2}.worker .hire5{grid-column:3;grid-row:1 / span 2}.worker .wstatus{grid-column:1 / -1;font-size:12px;line-height:1.35;min-height:1.35em}.worker .wstatus.ok{color:var(--good)}.worker .wstatus.warn{color:var(--bad)}.worker .wroster{grid-column:1 / -1;font-size:11px;color:var(--ink-dim);font-style:italic}.worker .wmentor{grid-column:1 / -1;width:100%;margin-top:2px;font-style:italic}.worker .wmentor:disabled{opacity:.5}.graduation-banner{border:1px solid var(--ember);border-radius:4px;padding:8px;background:#ff8c2e1a;font-size:13px;display:flex;flex-direction:column;gap:6px}.graduation-banner .gtext{color:var(--ink)}.graduation-banner button{align-self:flex-start}@keyframes pulse-ember{0%,to{box-shadow:0 0 3px #ff8c2e59}50%{box-shadow:0 0 14px #ff8c2ed9}}button.attention{animation:pulse-ember 1.6s ease-in-out infinite;border-color:var(--ember)}.project-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.project{border:1px solid var(--panel-edge);border-radius:4px;padding:8px;background:#0003}.project .head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.project .name{font-weight:700}.project .cost{color:var(--ember);font-variant-numeric:tabular-nums;white-space:nowrap}.project .desc{font-size:13px;color:var(--ink-dim);margin:4px 0 6px}.project button{width:100%}.project.owned{opacity:.55}.project.owned .cost{color:var(--good)}.project.rumor,.worker.rumor{opacity:.55;border-style:dashed}.project.rumor .name,.worker.rumor .wname,.project.rumor .desc,.worker.rumor .wrate{font-style:italic}.slate-card{border:1px solid var(--panel-edge);border-radius:4px;background:#00000040;padding:8px}.slate-head{display:flex;gap:8px;align-items:center;margin-bottom:6px}.slate-status{font-size:12px;color:var(--ink-dim);font-style:italic}.slate-tpl-row{display:flex;gap:5px;margin-bottom:6px}.slate-tpl-row select{flex:1;font-family:inherit;font-size:13px;color:var(--ink);background:#2b2010;border:1px solid var(--panel-edge);border-radius:3px;padding:3px 4px}.slate-tpl-row input{flex:1;font-family:inherit;font-size:13px;color:var(--ink);background:#2b2010;border:1px solid var(--panel-edge);border-radius:3px;padding:3px 6px}.slate-tpl-row button{padding:2px 8px}.slate-lines{margin-top:8px;display:flex;flex-direction:column;gap:4px;border-top:1px dashed rgba(70,53,31,.6);padding-top:6px}.slate-line-row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-dim)}.slate-line-row select{flex:1;font-family:inherit;font-size:12px;color:var(--ink);background:#2b2010;border:1px solid var(--panel-edge);border-radius:3px;padding:2px 4px}.slate-line-row.paused{opacity:.55}.slate-line-pause{padding:1px 7px;font-size:12px;line-height:1.4}#slate-steps{display:flex;flex-direction:column;gap:3px}.slate-step{display:flex;gap:5px;align-items:center;padding:3px 5px;border-radius:3px;border:1px solid transparent}.slate-step.active{border-color:var(--ember);background:#ff8c2e14}.slate-step .sidx{width:16px;text-align:right;font-size:11px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.slate-step select.mat{flex:0 0 84px}.slate-step select{flex:1;font-family:inherit;font-size:13px;color:var(--ink);background:#2b2010;border:1px solid var(--panel-edge);border-radius:3px;padding:3px 4px}.slate-step input[type=number]{width:48px;font-family:inherit;font-size:13px;color:var(--ink);background:#2b2010;border:1px solid var(--panel-edge);border-radius:3px;padding:3px 4px}.slate-step button{padding:2px 6px;font-size:11px}.slate-add{margin-top:6px;width:100%;font-size:12px}#owned-projects{margin-top:10px}#owned-projects summary{cursor:pointer;font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;padding:4px 0}#owned-projects summary:hover{color:var(--ink)}#owned-list{list-style:none;font-size:13px;color:var(--ink-dim);padding:4px 0 0 12px;columns:2}#owned-list li{padding:1px 0;break-inside:avoid}#owned-list li:before{content:"✓ ";color:var(--good)}.key-card{border:1px solid var(--discovery);border-radius:4px;padding:10px;background:#86c5d80f;box-shadow:0 0 14px #86c5d81f inset}.key-title{font-weight:700;letter-spacing:2px;color:var(--discovery);text-transform:uppercase;font-size:13px}.key-flavor{font-style:italic;font-size:13px;color:var(--ink-dim);margin:6px 0 8px}.key-reqs{list-style:none;font-size:13px}.key-reqs li{display:flex;gap:8px;padding:2px 0;color:var(--ink-dim)}.key-reqs li .mark{width:14px;text-align:center;color:var(--ink-dim)}.key-reqs li.done,.key-reqs li.done .mark{color:var(--good)}.key-reqs li.locked{opacity:.75}.key-reqs li.locked .mark{color:var(--discovery)}.key-reqs .knote{color:var(--discovery);font-size:11px}.key-done{margin-top:8px;font-size:13px;color:var(--discovery);border-top:1px dashed rgba(134,197,216,.4);padding-top:6px}#charter-banner{margin-top:10px;border:1px solid var(--ember);border-radius:4px;padding:10px;background:#ff8c2e14;color:var(--ember-hot);font-size:14px}footer{border-top:1px solid var(--panel-edge);padding-top:8px}#log{height:130px;overflow-y:auto;font-size:13px;display:flex;flex-direction:column-reverse;gap:2px;padding-right:6px}#log .line{color:var(--ink-dim)}#log .line.good{color:var(--good)}#log .line.bad{color:var(--bad)}#log .line.hand{color:var(--ember-hot)}#log .line.flavor{color:var(--ink);font-style:italic}#log .line.discovery{color:var(--discovery);border-left:2px solid var(--discovery);padding-left:6px}.hidden{display:none!important}#update-banner{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.4rem .8rem;background:color-mix(in srgb,var(--accent, #d08a3e) 20%,transparent);border:1px solid var(--accent, #d08a3e);border-radius:6px;margin:.4rem 0;font-size:.9rem}.market-day-banner{text-align:center;padding:.35rem .6rem;margin:0 0 .5rem;border-radius:6px;font-size:.82rem;background:color-mix(in srgb,var(--accent, #d08a3e) 15%,transparent);border:1px solid var(--accent, #d08a3e)}.market-day-banner.market-day-active{background:color-mix(in srgb,var(--good, #6fae4a) 22%,transparent);border-color:var(--good, #6fae4a);font-weight:600}#master-banner{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}#master-banner button{font-size:.8rem;padding:.2rem .6rem}.rep-row{display:flex;justify-content:space-between;font-size:.85rem;opacity:.85;margin-bottom:.35rem}.market-note{font-size:.82rem;opacity:.6;font-style:italic;margin:.3rem 0 .5rem}.customer-list{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.6rem}.customer{border:1px solid var(--line, #3a3a3a);border-radius:6px;padding:.45rem .55rem;background:color-mix(in srgb,var(--panel, #222) 70%,transparent)}.customer .chead{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.customer .cname{font-weight:600;font-size:.9rem}.customer .cpatience{width:70px;height:8px}.customer .cwant{font-size:.85rem;margin:.15rem 0}.customer .cwords{font-size:.8rem;font-style:italic;opacity:.75;margin-bottom:.3rem}.customer .btnrow{flex-wrap:wrap;align-items:center}.customer button{font-size:.78rem;padding:.2rem .5rem}.customer .cclose{font-weight:700}.customer .ccannot{font-size:.78rem;opacity:.55;font-style:italic}.blade-list .awaits{font-size:.78rem;font-style:italic;opacity:.65}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:40}.modal{background:var(--panel, #222);border:1px solid var(--line, #3a3a3a);border-radius:10px;padding:1rem 1.2rem;max-width:320px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.55rem}.modal h2{margin:0}#sync-qr{background:#fff;border-radius:6px;image-rendering:pixelated}.modal-hint{font-size:.82rem;opacity:.7}#sync-code-text{font-size:.72rem;word-break:break-all;opacity:.8;-webkit-user-select:all;user-select:all}.modal-actions{justify-content:center}.trade-modal{max-width:420px}.trade-cards{display:flex;flex-direction:column;gap:.5rem;width:100%}.trade-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.25rem;padding:.7rem .9rem;border-radius:8px}.trade-card .tname{font-weight:700;font-size:.95rem}.trade-card .tdesc{font-size:.8rem;opacity:.75;white-space:normal}header{position:relative;z-index:50}:root[data-trade=cook]{--bg: #1c1009;--bg2: #251510;--panel: #2b1a11;--panel-edge: #5a3a26;--ink: #f0e2cd;--ink-dim: #b69c84;--ember: #ff9a4d;--ember-hot: #ffcf7a}:root[data-trade=cook] body{background:radial-gradient(1200px 500px at 50% -10%,#38200f 0%,transparent 60%),var(--bg)}:root[data-trade=herbalist]{--bg: #111507;--bg2: #171d0d;--panel: #1b2210;--panel-edge: #3e4d28;--ink: #e6e9d0;--ink-dim: #a4b089;--ember: #c9d06a;--ember-hot: #e8ecad}:root[data-trade=herbalist] body{background:radial-gradient(1200px 500px at 50% -10%,#26330f 0%,transparent 60%),var(--bg)}#toasts{position:fixed;top:12px;right:12px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:340px;pointer-events:none}.toast{background:color-mix(in srgb,var(--panel, #222) 88%,black);border:1px solid var(--panel-edge, #46351f);border-left:4px solid var(--discovery, #86c5d8);border-radius:6px;padding:.5rem .7rem;font-size:.85rem;animation:toast-in .25s ease-out,toast-out .6s ease-in 4.4s forwards}.toast.bad{border-left-color:var(--bad, #e0705a)}#version{position:fixed;bottom:3px;right:6px;font-size:10px;color:var(--ink-dim);opacity:.55;pointer-events:none;z-index:40;font-family:monospace}.toast.hand{border-left-color:var(--ember-hot, #ffc14d);color:var(--ember-hot, #ffc14d);animation:toast-in .25s ease-out,toast-out .6s ease-in 8.2s forwards}@keyframes toast-in{0%{transform:translate(30px);opacity:0}}@keyframes toast-out{to{opacity:0}}.coin-rate{font-size:.7rem;opacity:.65;margin-left:.45rem}#log{max-height:200px;overflow-y:auto}header{flex-wrap:wrap;row-gap:.4rem}#reduce-gauge{margin-top:.35rem}.legacy-card{display:flex;flex-direction:column;gap:.5rem}.legacy-line{font-size:.88rem}.legacy-dim{opacity:.65;font-size:.8rem}.legacy-boon{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem;padding:.25rem 0;border-top:1px solid color-mix(in srgb,var(--panel-edge, #46351f) 50%,transparent)}.legacy-boon .bdesc{opacity:.65;font-size:.78rem}#btn-rebirth{font-weight:700}.corp-tabs{display:flex;gap:6px;padding:6px 14px 0;flex-wrap:wrap}.corp-tabs button{font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:4px 12px;opacity:.7}.corp-tabs button.active{opacity:1;border-color:var(--discovery);color:var(--discovery);font-weight:700}.corp-card{display:flex;flex-direction:column;gap:.5rem}.cmaster{font-style:italic;color:var(--discovery);opacity:.8}.slate-desk{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;align-self:center;white-space:nowrap}.slate-hint{font-size:12px;font-style:italic;color:var(--ink-dim);margin:2px 0 4px}.slate-hint.warn{color:var(--bad)}.slate-hint button{font-size:11px;padding:1px 6px;margin-left:4px;font-style:normal}.bed-lbl{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-dim)}.bed-lbl input{width:44px;font-family:inherit;font-size:12px;color:var(--ink);background:#2b2010;border:1px solid var(--panel-edge);border-radius:3px;padding:3px 4px}.hearth-sel{font-family:inherit;font-size:12px;color:var(--ink);background:#2b2010;border:1px solid var(--panel-edge);border-radius:3px;padding:3px 4px;max-width:110px}.supply-line{font-size:.8rem}.supply-line:before{content:"⇄ ";color:var(--discovery)}.corp-ov{width:100%;border-collapse:collapse;font-size:.82rem}.corp-ov th{text-align:left;font-weight:400;color:var(--ink-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;padding:2px 6px 2px 0}.corp-ov td{padding:3px 6px 3px 0;border-top:1px solid color-mix(in srgb,var(--panel-edge) 50%,transparent)}.corp-ov tr.here td{color:var(--ember-hot)}.corp-ov td button{padding:2px 8px;font-size:11px}#discoveries-drawer{margin-top:10px}#discoveries-drawer summary{cursor:pointer;font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;padding:4px 0}#discoveries-drawer summary:hover{color:var(--ink)}.disc-list{list-style:none;font-size:12px;color:var(--ink-dim);padding:4px 0 0 2px}.disc-list li{padding:2px 0}.disc-list li:before{content:"◆ ";color:var(--discovery)}.disc-list li.disc-section{font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:11px;margin-top:8px;padding-top:6px;border-top:1px solid var(--panel-edge)}.disc-list li.disc-section:first-child{margin-top:0;padding-top:0;border-top:none}.disc-list li.disc-section:before{content:none}.order-card{display:flex;align-items:center;gap:8px;padding:4px 6px;margin:3px 0;background:#ffffff08;border:1px solid var(--panel-edge);border-radius:4px;font-size:13px}.order-card .order-what{flex:1}.order-card .order-meta{color:var(--ink-dim);font-size:12px}.order-card button{padding:2px 10px}.cellar-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.cellar-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:12px;color:var(--ink-dim)}.cellar-row .cellar-label{flex:1 1 100%}.cellar-row button{font-size:11px;padding:2px 8px}.cellar-asking{color:#e8a33d;font-size:11px;flex:1 1 100%}
