/* Private factory workspace; inherits Lufox light/dark tokens and motion preferences. */
.lf-factory{--li-purple:#7955ff;--li-teal:#19afa8;max-width:1280px}.lf-factory *{box-sizing:border-box}.lf-factory [hidden]{display:none!important}.li-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:2rem;align-items:center;padding:2.8rem;border:1px solid var(--line);border-radius:28px;background:radial-gradient(ellipse at 90% 40%,#7955ff18,transparent 65%),linear-gradient(140deg,#19afa808,transparent)}.li-hero h1{font-size:clamp(2rem,4vw,3.2rem);margin:.6rem 0 1rem}.li-hero p{max-width:680px;line-height:1.8;color:var(--text-muted)}.li-hero>img{object-fit:contain;filter:drop-shadow(0 18px 22px #7955ff20);animation:li-float 7s ease-in-out infinite}.li-chips{display:flex;flex-wrap:wrap;gap:.5rem}.li-chips>span,.li-state{display:inline-flex;padding:.4rem .7rem;border:1px solid #7955ff30;border-radius:99px;font-size:.76rem;color:var(--text-muted);line-height:1.5}.li-tabs{display:flex;gap:.35rem;overflow:auto;padding:.6rem;margin:1.5rem 0 2rem;border:1px solid var(--line);border-radius:16px;scrollbar-width:thin}.li-tabs a{white-space:nowrap;min-height:44px;display:flex;align-items:center;padding:.65rem 1rem;border-radius:11px;color:var(--text-muted)}.li-tabs a[aria-current]{background:#7955ff18;color:var(--li-purple);font-weight:700}.li-tabs a:hover{background:#7955ff0c}.li-notice{margin:1rem 0;padding:1rem;border:1px solid #19afa850;background:#19afa810;border-radius:14px}.li-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.4rem}.li-metrics article,.li-panel,.li-worker,.li-research,.li-stock,.li-ledger>article{min-width:0;background:var(--bg-elevated);border:1px solid var(--line);border-radius:20px;padding:1.5rem}.li-metrics article{display:flex;flex-direction:column;gap:.6rem}.li-metrics strong{font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.5}.li-metrics span,.li-muted,.li-metrics small{font-size:.82rem;color:var(--text-muted)}.li-metrics strong small{font-size:.8rem;font-weight:400}.lf-factory progress{display:block;width:100%;height:7px;border:0;border-radius:10px;accent-color:var(--li-purple);overflow:hidden;background:#7955ff12}.lf-factory progress::-webkit-progress-bar{background:#7955ff12}.lf-factory progress::-webkit-progress-value{background:linear-gradient(90deg,var(--li-purple),var(--li-teal));border-radius:10px}.li-two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.25rem;margin:1.4rem 0}.li-panel{margin-bottom:1.25rem}.li-two .li-panel{margin:0}.li-panel h2,.li-panel h3,.li-worker h3,.li-research h3{margin:.35rem 0 1rem}.li-panel p,.li-worker p,.li-research p{line-height:1.75;font-size:.92rem}.li-welcome{display:grid;grid-template-columns:1fr 180px;align-items:center;gap:2rem;background:linear-gradient(130deg,#7955ff14,#19afa808);padding:2rem;border:1px solid #7955ff28;border-radius:22px}.li-welcome li{margin:.85rem 0;line-height:1.65}.li-welcome img{max-width:100%;object-fit:contain}.li-section-title{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;margin:1.5rem 0}.li-section-title h2{margin:0 0 .75rem}.li-section-title p{line-height:1.75;color:var(--text-muted);max-width:740px}.li-section-title>a{flex-shrink:0}.li-worker-grid,.li-research-grid,.li-stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.li-worker-head{display:flex;align-items:center;gap:1rem}.li-worker-head>img{object-fit:contain;flex-shrink:0}.li-worker-head>div{min-width:0}.li-worker h3{overflow-wrap:anywhere;margin:.5rem 0}.li-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.li-form-grid label{display:flex;flex-direction:column;gap:.45rem;font-size:.8rem;font-weight:600;min-width:0}.li-form-grid input,.li-form-grid select{width:100%;min-width:0;min-height:46px;padding:.75rem;border:1px solid var(--line);border-radius:11px;color:var(--text);background:var(--bg);font:inherit}.li-form-grid input:focus-visible,.li-form-grid select:focus-visible,.lf-factory a:focus-visible,.lf-factory button:focus-visible,.lf-factory summary:focus-visible{outline:3px solid #7955ff88;outline-offset:3px}.li-form-grid .li-check{flex-direction:row;align-items:center;line-height:1.6}.li-check input{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--li-purple)}.lf-factory summary{cursor:pointer;min-height:44px;padding:.85rem 0;font-weight:600;line-height:1.6}.li-worker details{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:.35rem}.li-actions{display:flex;gap:.5rem;flex-wrap:wrap}.li-actions .li-form{display:inline-flex}.li-actions .lf-button{font-size:.8rem;min-height:44px;padding:.6rem .85rem}.li-research{display:flex;flex-direction:column;align-items:flex-start;position:relative;scroll-margin-top:130px}.li-research .li-form{margin-top:auto;padding-top:1rem}.li-research .li-cost{margin-top:auto}.li-research.is-owned{border-color:#19afa850;background:linear-gradient(140deg,#19afa807,var(--bg-elevated))}.li-research.is-ready{border-color:#7955ff80;box-shadow:0 0 0 3px #7955ff06}.li-research.is-locked{border-style:dashed}.li-cost{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--line);padding-top:1rem;font-size:.85rem;width:100%}.li-cost span{color:var(--text-muted);line-height:1.6}.li-prereq{font-size:.8rem!important}.li-stock>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:.7rem}.li-stock h3{flex:1}.li-stock strong{font-size:1.8rem}.li-stock small{font-size:.75rem}.li-empty{padding:2rem;border:1px dashed var(--line);border-radius:16px;color:var(--text-muted)}.li-rules{margin-top:2.5rem;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:16px;color:var(--text-muted)}.li-rules p{font-size:.85rem;line-height:1.8}.li-ledger{display:flex;flex-direction:column;gap:.65rem;margin:1rem 0}.li-ledger>article{padding:1rem 1.25rem}.li-ledger>article>div{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.li-ledger time{display:block;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.li-ledger p{font-size:.85rem;line-height:1.7;overflow-wrap:anywhere}.li-chain{display:grid;gap:.6rem;position:relative}.li-chain-node{position:relative;border:1px solid #7955ff40;border-radius:12px;padding:.9rem;background:var(--bg);min-width:0}.li-chain-node strong{display:block;margin-bottom:.3rem}.li-chain-node p{margin:.35rem 0;font-size:.8rem}.li-chain-node.is-blocked{border-color:#d8a44180}.li-chain-node+.li-chain-node:before{content:'↓';position:absolute;left:50%;top:-20px;background:var(--bg-elevated);color:var(--li-teal);width:24px;text-align:center}.li-chart{min-height:170px;position:relative}.li-chart svg{display:block;width:100%;height:auto;min-height:160px;max-height:240px;overflow:visible}.li-chart-labels,.li-chart-legend{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-muted)}.li-chart-legend{justify-content:flex-start;gap:1.5rem;margin-top:1rem}.li-chart-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--li-purple);margin-right:.4rem}.li-chart-legend span+span:before{background:var(--li-teal)}.li-plan-list{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.li-plan-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px}.li-plan-row button{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;min-height:44px;min-width:44px;cursor:pointer}.li-plan-result{margin-top:1rem}.li-plan-result:empty{display:none}.li-plan-result ul{padding-left:1.2rem}.li-plan-result li{margin:.6rem 0;line-height:1.65}.li-plan-result strong{color:var(--li-purple)}.lf-factory button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
@keyframes li-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@media(max-width:900px){.li-hero{grid-template-columns:minmax(0,1fr) 110px;padding:1.8rem;gap:1rem}.li-hero>img{width:110px}.li-metrics{grid-template-columns:1fr 1fr}.li-metrics article:last-child{grid-column:1/-1}.li-two{grid-template-columns:1fr}.li-section-title{align-items:flex-start;flex-direction:column}.li-welcome{grid-template-columns:1fr}.li-welcome img{display:none}}
@media(max-width:620px){.li-hero{padding:1.3rem;grid-template-columns:1fr;position:relative;overflow:hidden}.li-hero>img{position:absolute;right:-15px;bottom:-20px;opacity:.08;width:150px;height:180px;pointer-events:none}.li-hero>div{position:relative;z-index:1}.li-metrics{grid-template-columns:1fr}.li-metrics article:last-child{grid-column:auto}.li-worker-grid,.li-research-grid,.li-stock-grid{grid-template-columns:1fr}.li-panel,.li-worker,.li-research,.li-stock{padding:1.1rem}.li-form-grid{grid-template-columns:1fr}.li-tabs{margin-inline:-.3rem;padding:.4rem;gap:.1rem}.li-tabs a{font-size:.85rem;padding:.6rem .8rem}.li-worker-head{gap:.6rem}.li-worker-head>img{width:75px;height:90px}.li-welcome{padding:1.3rem}.li-chips>span{font-size:.7rem}.li-section-title .lf-button{width:100%}}
@media(prefers-reduced-motion:reduce){.li-hero>img{animation:none!important}}html.lf-reduce-motion .li-hero>img,html[data-lufox-motion="off"] .li-hero>img{animation:none!important}

.li-two{align-items:start}.li-chain-node+.li-chain-node:before{display:none}.li-chain.has-links{padding-right:34px}.li-chain-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.li-chain-edges path{fill:none;stroke:#19afa870;stroke-width:1.5;transition:stroke .2s,stroke-width .2s}.li-chain-edges path.is-selected{stroke:#7955ff;stroke-width:2.5}.li-chain-node:focus-visible{outline:2px solid #7955ff;outline-offset:2px}.li-mobile-nav{display:none}
@media(max-width:620px){.lf-factory[data-view]:not([data-view="uebersicht"]) .li-hero p{display:none}.lf-factory[data-view]:not([data-view="uebersicht"]) .li-hero h1{font-size:1.7rem}.li-tabs{display:none}.li-mobile-nav{display:flex;flex-direction:column;gap:.5rem;margin:1.2rem 0 1.5rem;color:var(--text-muted);font-size:.8rem}.li-mobile-nav select{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--bg-elevated);color:var(--text);font:inherit;font-size:.95rem;padding:.7rem 1rem;width:100%}}

[data-factory-chart].is-empty{min-height:0;height:auto}.li-form-grid select{max-width:100%}
