/* FORGE — Mahsulot quruvchi + Command palette */
.fg{--fa:var(--accent,#d77d59);--fb:var(--violet,#C15F3C);--fc:var(--lime,#f1c9a5)}
.fg-wrap{display:grid;grid-template-columns:340px 1fr;gap:18px;margin-top:44px}
.fg-panel,.fg-stage{border:1px solid var(--line);border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.01));box-shadow:var(--shadow);position:relative;overflow:hidden}
.fg-panel{padding:22px;display:flex;flex-direction:column;gap:10px}
.fg-panel h3{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.fg-mod{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02);color:inherit;cursor:pointer;transition:.3s var(--ease);position:relative}
.fg-mod:hover{transform:translateX(4px);border-color:rgba(215,125,89,.4)}
.fg-mod b{font-size:13px;display:block}.fg-mod small{font-size:11px;color:var(--muted)}
.fg-mod .ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:15px;transition:.3s}
.fg-mod .d{margin-left:auto;font-size:11px;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}
.fg-mod.on{border-color:var(--fa);background:linear-gradient(90deg,rgba(215,125,89,.14),rgba(193,95,60,.08));box-shadow:0 10px 36px -10px rgba(215,125,89,.45)}
.fg-mod.on .ic{background:var(--fa);color:#06080c}.fg-mod.on .d{color:var(--fa)}
.fg-stage{min-height:560px;display:flex;flex-direction:column}
.fg-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--px,50%) var(--py,40%),rgba(215,125,89,.12),transparent 45%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/44px 44px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/44px 44px;pointer-events:none}
.fg-svg{width:100%;flex:1;min-height:360px;position:relative}
.fg-core{fill:#0d121a;stroke:var(--fa);stroke-width:1.5}
.fg-ring{fill:none;stroke:var(--fa);stroke-opacity:.35;stroke-dasharray:4 8;transform-origin:350px 190px;animation:fgs 24s linear infinite}
@keyframes fgs{to{transform:rotate(360deg)}}
.fg-node{transition:opacity .5s var(--ease),transform .6s var(--ease);opacity:0;transform:scale(.4);transform-box:fill-box;transform-origin:center}
.fg-node.on{opacity:1;transform:scale(1)}
.fg-node rect{fill:#0d121a;stroke:rgba(215,125,89,.55);stroke-width:1.2}
.fg-node text{fill:#f4f7fb;font:700 12px system-ui,sans-serif;text-anchor:middle}
.fg-node .e{font-size:17px}
.fg-link{stroke:var(--fa);stroke-width:1.3;stroke-opacity:0;fill:none;stroke-dasharray:6 6;transition:stroke-opacity .5s}
.fg-link.on{stroke-opacity:.6;animation:fgd 1.2s linear infinite}
@keyframes fgd{to{stroke-dashoffset:-24}}
.fg-pk{fill:var(--fc);opacity:0}.fg-pk.on{opacity:1;filter:drop-shadow(0 0 6px var(--fc))}
.fg-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);position:relative;background:rgba(6,8,12,.5);backdrop-filter:blur(10px)}
.fg-stats div{padding:16px 18px;border-right:1px solid var(--line)}.fg-stats div:last-child{border:0}
.fg-stats small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.fg-stats b{font-size:24px;font-variant-numeric:tabular-nums}.fg-stats em{font-style:normal;font-size:12px;color:var(--muted);margin-left:3px}
.fg-bar{height:4px;background:rgba(255,255,255,.08);border-radius:4px;margin-top:8px;overflow:hidden}.fg-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--fa),var(--fb));transition:width .8s var(--ease)}
.fg-cta{display:flex;gap:10px;margin-top:auto;padding-top:10px}
.fg-btn{flex:1;min-height:46px;border-radius:999px;border:0;background:linear-gradient(90deg,var(--fa),var(--fb));color:#06080c;font-weight:800;font-size:12px;letter-spacing:.06em;cursor:pointer;transition:.3s var(--ease)}
.fg-btn:hover{transform:translateY(-2px);box-shadow:0 14px 40px -8px rgba(215,125,89,.6)}
.fg-btn.ghost{background:transparent;border:1px solid var(--line);color:inherit;flex:0 0 auto;padding:0 18px}
.fg-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,40px);opacity:0;background:#0d121a;color:#f4f7fb;border:1px solid var(--fa);padding:12px 20px;border-radius:999px;font-size:13px;z-index:999;transition:.4s var(--ease);pointer-events:none}
.fg-toast.on{opacity:1;transform:translate(-50%,0)}
/* progress + palette */
.fg-prog{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#d77d59,#C15F3C,#f1c9a5);z-index:1000}
.fg-k{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(13,18,26,.8);backdrop-filter:blur(14px);color:#f4f7fb;font-size:12px;font-weight:700;cursor:pointer;transition:.3s}
.fg-k:hover{border-color:var(--fa);transform:translateY(-2px)}
.fg-k kbd{font:700 11px ui-monospace,monospace;padding:2px 7px;border-radius:6px;background:rgba(255,255,255,.1)}
.fg-pal{position:fixed;inset:0;z-index:1001;display:none;align-items:flex-start;justify-content:center;padding-top:14vh;background:rgba(3,5,8,.65);backdrop-filter:blur(8px)}
.fg-pal.on{display:flex}
.fg-box{width:min(580px,92vw);border:1px solid rgba(215,125,89,.3);border-radius:22px;background:#0b1017;box-shadow:0 40px 120px rgba(0,0,0,.6);overflow:hidden;animation:fgp .3s var(--ease)}
@keyframes fgp{from{opacity:0;transform:translateY(14px) scale(.97)}}
.fg-box input{width:100%;padding:20px 22px;background:none;border:0;border-bottom:1px solid var(--line);color:#f4f7fb;font-size:16px;outline:0}
.fg-box ul{list-style:none;margin:0;padding:8px;max-height:340px;overflow:auto}
.fg-box li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;cursor:pointer;color:#c9d2e0;font-size:14px}
.fg-box li small{margin-left:auto;color:#6d7a8f;font-size:11px}
.fg-box li.sel{background:rgba(215,125,89,.12);color:#fff}
@media(max-width:900px){.fg-wrap{grid-template-columns:1fr}.fg-stats{grid-template-columns:repeat(2,1fr)}.fg-stats div:nth-child(2){border-right:0}.fg-k kbd{display:none}}
@media(prefers-reduced-motion:reduce){.fg-ring,.fg-link.on{animation:none}}
