:root{
  --bg:#f5f7f2;
  --paper:rgba(255,255,252,.9);
  --ink:#172019;
  --muted:#6d786f;
  --line:rgba(91,111,96,.17);
  --green:#5c925a;
  --shadow:0 12px 34px rgba(41,58,45,.10),0 2px 8px rgba(41,58,45,.05);
  --soft:0 7px 22px rgba(41,58,45,.08)
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.app{position:fixed;inset:0;width:auto;height:auto;min-width:0;min-height:0;overflow:hidden;background:
  radial-gradient(circle at 22% 8%,rgba(255,255,255,.97),transparent 26%),
  radial-gradient(circle at 80% 74%,rgba(255,255,255,.84),transparent 31%),
  var(--bg)}
.app:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;background-image:
  linear-gradient(rgba(78,96,82,.055) 1px,transparent 1px),
  linear-gradient(90deg,rgba(78,96,82,.055) 1px,transparent 1px),
  radial-gradient(circle,rgba(78,96,82,.17) 1px,transparent 1.25px);
  background-size:54px 54px,54px 54px,18px 18px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,.16))}
.topbar{position:absolute;z-index:50;left:18px;right:18px;top:16px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.brand,.top-actions,.search-panel,.detail-panel,.commercial,.legend,.private-chip{background:rgba(255,255,252,.84);border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:var(--soft)}
.brand{pointer-events:auto;display:flex;align-items:center;gap:11px;min-height:50px;padding:7px 14px 7px 9px;border-radius:16px;cursor:pointer;color:inherit;border:1px solid var(--line)}
.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eef5ec;border:1px solid #d8e4d6}
.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:9px}
.brand span:last-child{display:flex;align-items:baseline;gap:10px}
.brand strong{font-size:21px;letter-spacing:-.035em}
.brand small{font-size:11px;color:#788079;border-left:1px solid #dfe4df;padding-left:10px;font-weight:600}
.top-actions{pointer-events:auto;display:flex;gap:4px;padding:5px;border-radius:16px}
.top-button{height:39px;min-width:39px;padding:0 11px;border:0;border-radius:11px;background:transparent;color:#273129;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-size:12px}
.top-button:hover,.top-button:focus-visible{background:#fff;outline:none}
.top-button b{font-size:11px}.top-button.lang{font-weight:900}
.stage{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.scene{position:absolute;inset:0;width:100%;height:100%;transition:filter .22s ease}
.links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.links path{fill:none;stroke-width:1.55;stroke-linecap:round;opacity:.72;transition:opacity .24s,stroke-width .24s}
.links path.trunk{stroke-width:2.1;opacity:.9}
.links path.dim{opacity:.08}
.node{position:absolute;transform:translate(-50%,-50%);border:0;cursor:pointer;color:inherit;transition:left .42s cubic-bezier(.2,.8,.2,1),top .42s cubic-bezier(.2,.8,.2,1),opacity .24s,transform .24s,filter .24s}
.node:focus-visible{outline:3px solid rgba(74,126,74,.25);outline-offset:4px}
.node.dim{opacity:.18;filter:saturate(.35)}
.node.hidden-node{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.82)}
.core{width:176px;height:176px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(circle at 36% 27%,#fff 0,#fbfdf8 37%,#edf5e9 100%);border:1px solid #cad8c8;box-shadow:0 18px 46px rgba(40,57,43,.14),inset 0 0 0 8px rgba(255,255,255,.48);z-index:12}
.core:before,.core:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.core:before{inset:-12px;border:1px solid rgba(86,128,84,.20)}
.core:after{inset:-26px;border:1px dashed rgba(86,128,84,.13)}
.core img{width:44px;height:44px;border-radius:13px;margin-bottom:10px}
.core strong{font-size:27px;letter-spacing:-.045em}.core span{margin-top:7px;max-width:122px;color:var(--muted);font-size:10px;line-height:1.38}
.category{width:116px;height:116px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;background:var(--paper);border:1px solid color-mix(in srgb,var(--accent) 54%,#d9dfda 46%);box-shadow:var(--soft);z-index:8}
.category:before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent)}
.category .icon{font-size:25px;line-height:1;margin-bottom:8px}.category strong{font-size:15px;letter-spacing:-.025em}.category small{font-size:9px;line-height:1.3;color:var(--muted);margin-top:5px;max-width:86px}
.category.focused{width:146px;height:146px;z-index:14;box-shadow:0 18px 44px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 0 0 6px rgba(255,255,255,.42)}
.category.focused strong{font-size:20px}.category.focused small{font-size:10px;max-width:106px}
.product{width:138px;min-height:58px;border-radius:15px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:9px;padding:9px 11px;background:rgba(255,255,252,.93);border:1px solid color-mix(in srgb,var(--accent) 38%,#d8dfd9 62%);box-shadow:var(--soft);text-align:left;z-index:10}
.product .product-icon{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,#fff 88%);font-size:18px}
.product strong{font-size:11px;line-height:1.08;white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere}.product .product-state{font-size:7.5px;font-weight:950;letter-spacing:.08em;color:var(--accent)}
.product.selected{transform:translate(-50%,-50%) scale(1.07);box-shadow:0 16px 34px color-mix(in srgb,var(--accent) 18%,transparent)}
.overview-copy{position:absolute;z-index:7;left:50%;top:82px;transform:translateX(-50%);text-align:center;pointer-events:none;transition:opacity .2s}
.overview-copy span{display:block;font-size:8px;font-weight:950;letter-spacing:.14em;color:#5f8d62}.overview-copy strong{display:block;margin-top:5px;font-size:17px;letter-spacing:-.025em}
.overview-copy.hidden{opacity:0}
.legend{position:absolute;z-index:25;left:18px;bottom:18px;display:flex;gap:12px;padding:10px 12px;border-radius:13px;font-size:8px;font-weight:800;color:#6f7871}
.legend span{display:flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%}.dot.live{background:#5a965d}.dot.test{background:#c58e39}.dot.paused{background:#9b6e78}.dot.seed{background:#9fa69f}
.private-chip{position:absolute;z-index:23;left:18px;bottom:62px;display:grid;grid-template-columns:auto auto;gap:2px 7px;align-items:center;padding:9px 11px;border-radius:13px;border-color:rgba(178,91,82,.18);cursor:pointer;color:#8a4d48}
.private-chip .private-state{grid-row:1/3;padding:4px 6px;border-radius:999px;background:#fff0ed;font-size:7px;font-weight:950;letter-spacing:.08em}.private-chip b{font-size:10px}.private-chip small{font-size:8px;color:#8c7774}
.detail-panel{position:absolute;z-index:60;right:18px;top:84px;bottom:18px;width:min(342px,calc(100vw - 36px));padding:22px;border-radius:20px;transform:translateX(calc(100% + 34px));opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .22s}
.detail-panel.open{transform:translateX(0);opacity:1;pointer-events:auto}
.detail-close{position:absolute;right:13px;top:13px;width:34px;height:34px;border:0;border-radius:10px;background:#f4f6f2;cursor:pointer;font-size:21px;color:#687168}
.detail-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--detail-accent,#5c925a);color:#fff;font-size:8px;font-weight:950;letter-spacing:.09em}
.detail-icon{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;margin-top:24px;background:color-mix(in srgb,var(--detail-accent,#5c925a) 12%,#fff 88%);font-size:34px}
.detail-branch{margin:22px 0 5px;font-size:9px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:var(--detail-accent,#5c925a)}
.detail-panel h1{margin:0;font-size:30px;line-height:1.02;letter-spacing:-.045em}.detail-copy{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.detail-actions{display:grid;gap:8px;margin-top:20px}.detail-actions a,.detail-actions button{min-height:43px;border-radius:12px;display:grid;place-items:center;text-decoration:none;font-size:11px;font-weight:900;cursor:pointer}.detail-actions .primary{background:var(--detail-accent,#5c925a);color:#fff;border:0}.detail-actions .secondary{background:#fff;border:1px solid #dfe5df;color:#4b554d}
.detail-actions .primary.disabled{display:none}.detail-note{margin-top:17px;padding-top:14px;border-top:1px solid #e2e7e2;color:#7b847d;font-size:9px;line-height:1.5}
.commercial{position:absolute;z-index:24;right:18px;bottom:18px;width:250px;padding:14px 16px;border-radius:16px;border-color:rgba(48,124,66,.2);background:rgba(247,253,245,.91)}
.commercial span{display:block;font-size:8px;font-weight:950;letter-spacing:.1em;color:#397b49}.commercial strong{display:block;margin-top:5px;font-size:17px;line-height:1.08}.commercial small{display:block;margin-top:6px;color:#748077;font-size:9px}.commercial a{display:inline-block;margin-top:9px;color:#397b49;font-weight:900;font-size:9px;text-decoration:none;border-bottom:1px dotted currentColor}
.search-panel{position:absolute;z-index:70;left:50%;top:86px;width:min(560px,calc(100vw - 36px));padding:16px;border-radius:17px;transform:translate(-50%,-12px);opacity:0;pointer-events:none;transition:.2s}
.search-panel.open{transform:translate(-50%,0);opacity:1;pointer-events:auto}.search-panel>label{display:block;font-size:11px;font-weight:900;margin-bottom:8px}.search-row{display:grid;grid-template-columns:1fr auto;gap:7px}.search-row input{height:44px;border:1px solid #dbe2db;border-radius:12px;background:#fff;padding:0 13px;outline:none}.search-row button{width:44px;border:0;border-radius:12px;background:#eef2ed;font-size:22px;cursor:pointer}.search-results{display:grid;gap:6px;max-height:260px;overflow:auto;margin-top:10px}.search-result{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:1px solid #e0e5df;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.search-result i{font-style:normal;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#f0f4ef}.search-result b{display:block;font-size:10px}.search-result small{display:block;margin-top:2px;color:#78817a;font-size:8px}
.toast{position:absolute;z-index:80;left:50%;bottom:30px;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#1f2721;color:#fff;padding:10px 13px;border-radius:11px;font-size:10px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.top-button b{display:none}.commercial{width:220px}.overview-copy strong{font-size:15px}}
@media(max-width:900px){.app{display:none}body:after{content:"Для мобильного режима откройте cr20kb.com — там работает отдельный вертикальный Сад.";position:fixed;inset:0;display:grid;place-items:center;padding:34px;text-align:center;color:#4f5c52;background:var(--bg);font:700 16px/1.5 Inter,system-ui,sans-serif}}
