@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap";.bottom-panel{position:relative;z-index:200}.bottom-panel__bar-wrap{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:200;display:flex;justify-content:center;animation:panelSlideUp .35s cubic-bezier(.22,1,.36,1) both}@keyframes panelSlideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bottom-panel__bar{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid rgba(80,150,255,.12);background:#0a1223d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -4px 20px #0000004d,0 0 30px #1e46960f}.bottom-panel__btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid rgba(80,150,255,.12);border-radius:7px;background:#14234180;color:#96c3ffb3;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;font-weight:500;letter-spacing:.5px;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease}.bottom-panel__btn:hover:not(:disabled){background:#1e325ab3;border-color:#64b4ff4d;color:#b4dcfff2;transform:translateY(-1px)}.bottom-panel__btn--active{background:#28468c99!important;border-color:#64b4ff73!important;color:#c8e6ff!important;box-shadow:0 0 15px #3c8cff26}.bottom-panel__btn--disabled{opacity:.35;cursor:not-allowed}.bottom-panel__btn--demolish{background:#8c282899!important;border-color:#ff646473!important;color:#ffc8c8!important;box-shadow:0 0 15px #ff3c3c26}.bottom-panel__btn--demolish:hover{background:#a03232b3!important;border-color:#ff787880!important}.bottom-panel__btn-icon{font-size:14px}.bottom-panel__btn-label{font-size:11px;text-transform:uppercase;letter-spacing:1px}.bottom-panel__submenu-wrap{position:fixed;top:50%;right:20px;transform:translateY(-50%);z-index:200;animation:panelSlideInRight .28s cubic-bezier(.22,1,.36,1) both}@keyframes panelSlideInRight{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.bottom-panel__submenu{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;padding:10px;border-radius:10px;border:1px solid rgba(80,150,255,.1);background:#0a1223e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -2px 15px #00000040;animation:submenuAppear .25s cubic-bezier(.22,1,.36,1) both;width:min(34vw,340px);max-height:calc(100vh - 120px)}.bottom-panel__tool-group{display:grid;gap:6px;padding:8px;border:1px solid rgba(80,150,255,.08);border-radius:10px;background:linear-gradient(180deg,#13213cb8,#0b152ab8);box-shadow:inset 0 0 18px #285ab40a}.bottom-panel__tool-group--primary{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-content:start}.bottom-panel__tool-group--vertical{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;align-content:start}.bottom-panel__tool-group-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bottom-panel__tool-group-title{font-size:10px;font-weight:700;letter-spacing:.8px;color:#aad2ffd1;text-align:center;padding:3px 6px 1px}.bottom-panel__tool-group--primary .bottom-panel__tool-group-title{grid-column:1 / -1}@keyframes submenuAppear{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bottom-panel__tool{display:flex;flex-direction:column;align-items:center;gap:4px;justify-content:center;min-height:92px;padding:10px 8px;border:1px solid rgba(80,150,255,.1);border-radius:8px;background:#121e3780;color:#96c3ffa6;cursor:pointer;font-family:Inter,sans-serif;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease;width:100%}.bottom-panel__tool:hover{background:#192a4eb3;border-color:#64b4ff40;color:#b4dcffe6;transform:translateY(-2px)}.bottom-panel__tool--selected{background:#233c78a6!important;border-color:#64c8ff80!important;color:#c8ebff!important;box-shadow:0 0 18px #3c96ff33,inset 0 0 12px #3c96ff0f}.bottom-panel__tool-preview{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid rgba(80,150,255,.15);background:#0f193299}.bottom-panel__tool-preview--conveyor{color:#50dc8ccc;font-size:18px;font-weight:700}.bottom-panel__tool-preview--machine,.bottom-panel__tool-preview--processor{padding:4px}.bottom-panel__machine-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;width:100%;height:100%}.bottom-panel__machine-cell{background:#7850c84d;border:1px solid rgba(140,100,220,.3);border-radius:1px}.bottom-panel__machine-cell--center{background:#a078ff8c;border-color:#b496ff80}.bottom-panel__processor-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:2px;width:100%;height:100%}.bottom-panel__processor-cell{background:#d278284d;border:1px solid rgba(235,150,70,.3);border-radius:1px}.bottom-panel__processor-cell--core{background:#ffaa4694;border-color:#ffcd788c}.bottom-panel__tool-name{font-size:10px;font-weight:600;letter-spacing:.3px;text-align:center}.bottom-panel__tool-hint{font-size:8px;color:#78a0dc66;letter-spacing:.3px;text-align:center}.bottom-panel__tool-slot--empty{border-radius:8px;border:1px dashed rgba(80,150,255,.12);background:linear-gradient(135deg,#0f182a99,#090f1d61);min-height:92px}.bottom-panel__btn--warehouse{position:relative;background:#142d2380;border-color:#50c89633;color:#96e6bed9}.bottom-panel__btn--warehouse:hover{background:#19372ab3!important;border-color:#64dcaa66!important;color:#b4ffd2f2!important}.bottom-panel__warehouse-badge{font-size:10px;font-weight:700;background:#50c89640;padding:1px 5px;border-radius:8px;color:#96ffc8f2;letter-spacing:0}.bottom-panel__warehouse-rate{font-size:9px;color:#64dca0a6;letter-spacing:0}.bottom-panel__tool-preview--storage{font-size:18px;display:flex;align-items:center;justify-content:center}.bottom-panel__tool-preview--generator{padding:4px}.bottom-panel__generator-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:2px;width:100%;height:100%}.bottom-panel__generator-cell{background:#28a08c4d;border:1px solid rgba(60,200,170,.3);border-radius:1px}.bottom-panel__generator-cell--core{background:#3cc8b48c;border-color:#50e6c880}.bottom-panel__tool-preview--assembler{padding:4px}.bottom-panel__assembler-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:2px;width:100%;height:100%}.bottom-panel__assembler-cell{background:#c8466e4d;border:1px solid rgba(230,100,140,.3);border-radius:1px}.bottom-panel__assembler-cell--core{background:#ff64968c;border-color:#ff8cb480}.bottom-panel__tool-preview--painter{padding:4px;width:28px;height:42px}.bottom-panel__painter-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,1fr);gap:2px;width:100%;height:100%}.bottom-panel__painter-cell{background:#8c50c84d;border:1px solid rgba(170,110,230,.3);border-radius:1px}.bottom-panel__painter-cell--core{background:#b464ff8c;border-color:#c88cff80}@media (max-width: 760px){.bottom-panel__submenu-wrap{top:auto;bottom:74px;right:16px;left:16px;transform:none}@keyframes panelSlideInRight{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bottom-panel__submenu{width:100%;max-height:none}.bottom-panel__bar{flex-wrap:wrap;justify-content:center}}@media (max-width: 560px){.bottom-panel__tool-group-row{grid-template-columns:minmax(0,1fr)}}.bip-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:bipOverlayIn .2s ease both}@keyframes bipOverlayIn{0%{opacity:0}to{opacity:1}}.bip-panel{width:360px;max-width:90vw;max-height:80vh;overflow-y:auto;background:#0a1224f0;border:1px solid rgba(80,150,255,.2);border-radius:14px;box-shadow:0 8px 40px #00000080,0 0 60px #1e50b414,inset 0 0 30px #1432780a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:bipPanelIn .25s cubic-bezier(.22,1,.36,1) both;font-family:Inter,-apple-system,sans-serif}@keyframes bipPanelIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.bip-panel::-webkit-scrollbar{width:4px}.bip-panel::-webkit-scrollbar-track{background:transparent}.bip-panel::-webkit-scrollbar-thumb{background:#5096ff33;border-radius:2px}.bip-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(80,150,255,.1)}.bip-header__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#1e376466;border:1px solid rgba(80,150,255,.2);border-radius:10px}.bip-header__info{flex:1}.bip-header__name{font-size:15px;font-weight:600;color:#c8e1fff2;letter-spacing:.3px}.bip-header__desc{font-size:11px;color:#82aadc8c;margin-top:2px}.bip-header__close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ff50501a;border:1px solid rgba(255,80,80,.2);border-radius:6px;color:#ff9696b3;cursor:pointer;font-size:12px;transition:background .15s,color .15s,border-color .15s}.bip-header__close:hover{background:#ff3c3c33;border-color:#ff646466;color:#ffb4b4f2}.bip-section{padding:14px 18px}.bip-section__title{font-size:11px;font-weight:600;color:#78aaf0b3;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px}.bip-stat{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(60,120,200,.06)}.bip-stat:last-child{border-bottom:none}.bip-stat__label{font-size:12px;color:#a0c3f0b3;display:flex;align-items:center;gap:6px}.bip-stat__value{font-size:13px;font-weight:600;color:#c8e6ffe6;font-variant-numeric:tabular-nums}.bip-product-dot{display:inline-block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 6px currentColor}.bip-product-dot--small{width:6px;height:6px}.bip-connections{margin-top:10px;padding-top:8px;border-top:1px solid rgba(60,120,200,.08)}.bip-connections__title{font-size:10px;color:#78aaf080;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.bip-connection{display:flex;align-items:center;gap:8px;padding:3px 0}.bip-connection__dir{font-size:11px;color:#96bef099;width:24px;text-align:center}.bip-connection__state{font-size:11px;font-weight:500;padding:1px 8px;border-radius:3px}.bip-connection__state--in{color:#64dca0d9;background:#3cb4781f}.bip-connection__state--out{color:#64b4ffd9;background:#3c8cff1f}.bip-flow-box{background:#0f193080;border:1px solid rgba(60,120,200,.1);border-radius:8px;padding:10px 12px;margin-bottom:10px}.bip-flow-box--input{border-left:3px solid rgba(100,220,160,.4)}.bip-flow-box--output{border-left:3px solid rgba(100,180,255,.4)}.bip-flow-box__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.bip-flow-box__label{font-size:12px;font-weight:600;color:#b4d2ffd9}.bip-flow-box__total{font-size:12px;font-weight:600;color:#c8e6fff2;font-variant-numeric:tabular-nums}.bip-flow-box__product{display:flex;align-items:center;gap:6px;font-size:11px;color:#96bef0a6;margin-bottom:4px}.bip-flow-box__ports{display:flex;justify-content:space-between;font-size:10px;color:#78a0dc80;padding-top:4px;border-top:1px solid rgba(60,120,200,.06)}.bip-port-list{margin-top:6px;padding-top:6px;border-top:1px solid rgba(60,120,200,.06);display:flex;flex-wrap:wrap;gap:4px}.bip-port{display:flex;align-items:center;gap:4px;padding:2px 8px;background:#14233c66;border-radius:4px;font-size:10px}.bip-port__dir{color:#96bef08c;font-weight:500}.bip-port__rate{color:#b4d2ffbf;font-variant-numeric:tabular-nums}.bip-recipe-selector{margin-bottom:12px}.bip-recipe-selector__label{font-size:11px;color:#78aaf099;margin-bottom:6px;letter-spacing:.5px}.bip-recipe-selector__list{display:flex;flex-direction:column;gap:4px}.bip-recipe-selector__btn{display:flex;flex-direction:column;gap:4px;width:100%;padding:8px 10px;background:#0f193080;border:1px solid rgba(60,120,200,.12);border-radius:6px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.bip-recipe-selector__btn:hover{background:#19284699;border-color:#5096ff40}.bip-recipe-selector__btn--active{background:#1e376480;border-color:#64b4ff66;box-shadow:0 0 8px #64b4ff1a}.bip-recipe-selector__btn-name{font-size:12px;font-weight:600;color:#c8e1ffe6}.bip-recipe-selector__btn-preview{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:10px;color:#96bef099}.bip-recipe-selector__arrow{font-size:12px;color:#78b4ff80;margin:0 2px}.bip-recipe{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;margin-bottom:10px;background:#0f193066;border:1px solid rgba(60,120,200,.08);border-radius:8px}.bip-recipe__input,.bip-recipe__output{display:flex;align-items:center;gap:6px;font-size:12px;color:#b4d2ffcc}.bip-recipe__arrow{font-size:18px;color:#78b4ff80}.bip-craft-rate{display:flex;align-items:baseline;gap:8px;padding:8px 12px;margin-bottom:10px;background:#14233c4d;border-radius:6px}.bip-craft-rate__label{font-size:11px;color:#96bef099}.bip-craft-rate__value{font-size:15px;font-weight:700;color:#64dcfff2;font-variant-numeric:tabular-nums}.bip-craft-rate__max{font-size:10px;color:#78a0dc66}.bip-empty{text-align:center;padding:16px;font-size:12px;color:#78a0dc66;font-style:italic}.bp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:bipOverlayIn .2s ease both}.bp-panel{width:380px;max-width:90vw;max-height:80vh;overflow-y:auto;background:#0a1224f0;border:1px solid rgba(80,150,255,.2);border-radius:14px;box-shadow:0 8px 40px #00000080,0 0 60px #1e50b414,inset 0 0 30px #1432780a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:bipPanelIn .25s cubic-bezier(.22,1,.36,1) both;font-family:Inter,-apple-system,sans-serif}.bp-panel::-webkit-scrollbar{width:4px}.bp-panel::-webkit-scrollbar-track{background:transparent}.bp-panel::-webkit-scrollbar-thumb{background:#5096ff33;border-radius:2px}.bp-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgba(80,150,255,.1)}.bp-header__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#1e376466;border:1px solid rgba(80,150,255,.2);border-radius:10px}.bp-header__info{flex:1}.bp-header__name{font-size:15px;font-weight:600;color:#c8e1fff2}.bp-header__desc{font-size:11px;color:#82aadc8c;margin-top:2px}.bp-header__close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ff50501a;border:1px solid rgba(255,80,80,.2);border-radius:6px;color:#ff9696b3;cursor:pointer;font-size:12px;transition:background .15s,color .15s}.bp-header__close:hover{background:#ff3c3c33;color:#ffb4b4f2}.bp-actions{padding:12px 18px;border-bottom:1px solid rgba(60,120,200,.08)}.bp-action-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:#1e37644d;border:1px solid rgba(80,150,255,.2);border-radius:8px;color:#b4d7ffe6;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}.bp-action-btn:hover{background:#28467866;border-color:#64b4ff59}.bp-action-btn__icon{font-size:16px}.bp-mode-hint{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#3c8cff1a;border:1px solid rgba(80,150,255,.3);border-radius:8px;font-size:12px;color:#96c8ffd9;animation:bpPulse 2s ease-in-out infinite}.bp-mode-hint--paste{background:#64dca014;border-color:#64dca04d;color:#96f0bed9}@keyframes bpPulse{0%,to{opacity:1}50%{opacity:.7}}.bp-mode-hint__icon{font-size:16px}.bp-mode-hint__cancel{margin-left:auto;padding:4px 10px;background:#ff505026;border:1px solid rgba(255,80,80,.25);border-radius:4px;color:#ffa0a0cc;cursor:pointer;font-size:11px;transition:background .15s}.bp-mode-hint__cancel:hover{background:#ff3c3c40}.bp-section{padding:14px 18px}.bp-section__title{font-size:11px;font-weight:600;color:#78aaf0b3;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px}.bp-list{display:flex;flex-direction:column;gap:6px}.bp-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#0f193080;border:1px solid rgba(60,120,200,.1);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.bp-item:hover{background:#19284680;border-color:#5096ff33}.bp-item--selected{background:#1e376466;border-color:#64b4ff59}.bp-item__info{flex:1}.bp-item__name{font-size:13px;font-weight:600;color:#c8e1ffe6}.bp-item__meta{font-size:10px;color:#82aadc80;margin-top:2px}.bp-item__actions{display:flex;align-items:center;gap:6px}.bp-item__paste-btn{padding:4px 10px;background:#64dca026;border:1px solid rgba(100,220,160,.3);border-radius:4px;color:#96f0bee6;cursor:pointer;font-size:11px;font-weight:500;transition:background .15s}.bp-item__paste-btn:hover{background:#64dca040}.bp-item__delete-btn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#ff505014;border:1px solid rgba(255,80,80,.15);border-radius:4px;color:#ff787899;cursor:pointer;font-size:10px;transition:background .15s,color .15s}.bp-item__delete-btn:hover{background:#ff3c3c33;color:#ffa0a0e6}.bp-empty{text-align:center;padding:20px;font-size:12px;color:#78a0dc66;font-style:italic}.codex-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:codexFadeIn .2s ease}@keyframes codexFadeIn{0%{opacity:0}to{opacity:1}}.codex-panel{width:min(640px,90vw);max-height:80vh;display:flex;flex-direction:column;border-radius:16px;border:1px solid rgba(90,155,255,.18);background:linear-gradient(180deg,#0d162afa,#080e1cfa);box-shadow:0 20px 60px #00000080,inset 0 0 30px #2c5ab40d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:codexSlideUp .3s ease}@keyframes codexSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.codex-panel__header{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid rgba(80,150,255,.1)}.codex-panel__title{font-size:20px;font-weight:700;color:#dceefff2;flex:1}.codex-panel__stats{font-size:12px;color:#96bef0b3}.codex-panel__close{width:32px;height:32px;border:1px solid rgba(90,155,255,.15);border-radius:8px;background:#12203ab3;color:#b4d2ffcc;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.codex-panel__close:hover{background:#1e3255e6;border-color:#6eb4ff4d}.codex-panel__tabs{display:flex;gap:4px;padding:10px 16px;border-bottom:1px solid rgba(80,150,255,.08)}.codex-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:1px solid transparent;border-radius:10px;background:#0f193080;color:#96bef0b3;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s ease}.codex-tab:hover{background:#162646b3;color:#bedcffe6}.codex-tab--active{background:#1e3764b3;border-color:#64b4ff4d;color:#dcf0fff2;box-shadow:0 0 12px #50a0ff1a}.codex-tab__count{font-size:10px;opacity:.6}.codex-panel__content{flex:1;overflow-y:auto;padding:16px}.codex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.codex-grid--painted{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.codex-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:12px;border:1px solid transparent;transition:all .2s ease}.codex-item--unlocked{background:#14244199;border-color:#5096ff26}.codex-item--unlocked:hover{border-color:#64b4ff4d;background:#192d50b3;transform:translateY(-2px)}.codex-item--locked{background:#0c122066;opacity:.5}.codex-item__swatch{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;transition:all .2s ease}.codex-item__swatch--shape{background:#1e2d4b99!important;font-size:24px}.codex-item__name{font-size:11px;color:#a0c8f0cc;text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.codex-item--locked .codex-item__name{color:#6482aa66}.codex-item{cursor:pointer}.codex-panel__hint{padding:10px 16px 14px;text-align:center;font-size:11px;color:#8cb4e680;border-top:1px solid rgba(80,150,255,.06)}.codex-panel__content--detail{flex:1;overflow-y:auto;padding:0}.codex-detail{display:flex;flex-direction:column;height:100%}.codex-detail__header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(80,150,255,.1)}.codex-detail__back{padding:6px 12px;border:1px solid rgba(90,155,255,.2);border-radius:8px;background:#12203ab3;color:#b4d7ffd9;cursor:pointer;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.codex-detail__back:hover{background:#1c3055d9;border-color:#6eb4ff59}.codex-detail__title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#dceefff2}.codex-detail__dot{display:inline-block;width:16px;height:16px;border-radius:4px;flex-shrink:0}.codex-detail__empty{padding:40px 20px;text-align:center;color:#78a0d280;font-size:14px}.codex-detail__path{padding:16px;display:flex;flex-direction:column;gap:0}.codex-detail__path-title{font-size:14px;font-weight:600;color:#b4d7ffe6;margin-bottom:12px}.codex-step{position:relative;padding-left:24px}.codex-step__connector{position:absolute;left:10px;top:-8px;width:2px;height:16px;background:linear-gradient(to bottom,#64b4ff66,#64b4ff26);border-radius:1px}.codex-step__card{margin-bottom:8px;padding:12px 14px;border-radius:12px;border:1px solid rgba(80,150,255,.12);background:linear-gradient(180deg,#121e37b3,#0c162ab3);transition:border-color .2s,background .2s}.codex-step--final .codex-step__card{border-color:#64ffb440;background:linear-gradient(180deg,#0e231cb3,#0a1916b3)}.codex-step:before{content:"";position:absolute;left:5px;top:16px;width:12px;height:12px;border-radius:50%;background:#50a0ff4d;border:2px solid rgba(100,180,255,.5)}.codex-step--final:before{background:#50ffa04d;border-color:#64ffb499}.codex-step__machine{display:flex;align-items:center;gap:6px;margin-bottom:8px}.codex-step__machine-icon{font-size:16px}.codex-step__machine-name{font-size:13px;font-weight:600;color:#c8e1ffe6}.codex-step__recipe-name{font-size:11px;color:#96beeb99}.codex-step__flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.codex-step__raw{padding:3px 8px;border-radius:6px;background:#3cb47826;border:1px solid rgba(80,200,140,.2);color:#8ce6b4d9;font-size:11px;font-weight:500}.codex-step__inputs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.codex-step__product{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;background:#14233c99;border:1px solid rgba(80,140,220,.15);color:#aacdf5d9;font-size:11px;white-space:nowrap}.codex-step__product-dot{display:inline-block;width:8px;height:8px;border-radius:3px;flex-shrink:0}.codex-step__product-dot--lg{width:12px;height:12px;border-radius:4px}.codex-step__arrow{color:#82b4f099;font-size:14px;font-weight:700;flex-shrink:0}.codex-step__output{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:#19322880;border:1px solid rgba(80,200,150,.2)}.codex-step--final .codex-step__output{background:#19372899;border-color:#50ffa040;box-shadow:0 0 10px #50ffa014}.codex-step__output-name{font-size:12px;font-weight:600;color:#96f0c8e6}.grid-view-wrapper{display:flex;align-items:center;justify-content:center;flex:1;perspective:1000px;overflow:hidden}.grid-view{display:grid;gap:0px;padding:2px;border:1px solid rgba(80,150,255,.1);border-radius:10px;background:#080f1e80;box-shadow:0 0 40px #1e50a00d,inset 0 0 40px #14327808;will-change:transform,opacity,filter}.grid-view--level-0{width:min(90vh,90vw,780px);height:min(90vh,90vw,780px);gap:0px;padding:1px}.grid-view--canvas{display:block;position:relative;padding:0;border-radius:10px;overflow:hidden}.gv-canvas{display:block;width:100%;height:100%;border-radius:10px}.gv-canvas-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:auto}.gv-canvas-block{cursor:pointer;border:none;background:transparent;transition:background-color .15s ease}.gv-canvas-block--hover{background:#19325a2e;box-shadow:inset 0 0 15px #5096ff14}.gv-canvas-block--tutorial-target{background:#58a4ff24;box-shadow:inset 0 0 0 2px #96d8ff80,inset 0 0 28px #68b8ff29;animation:tutorialBlockGlow 1.8s ease-in-out infinite}.gv-canvas-block--tutorial-dim{background:#03081261}.grid-view--level-1{width:min(82vh,82vw,700px);height:min(82vh,82vw,700px);gap:0px;padding:2px}.grid-view--dense{gap:1px;padding:4px;width:min(75vh,75vw,640px);height:min(75vh,75vw,640px)}.grid-view--idle{transform:scale(1);opacity:1;filter:blur(0);transition:none}.grid-view--zoom-in-old{animation:zoomInOld .5s cubic-bezier(.32,0,.67,0) forwards}@keyframes zoomInOld{0%{transform:scale(1);opacity:1;filter:blur(0)}to{transform:scale(3.5);opacity:0;filter:blur(8px)}}.grid-view--zoom-in-new{animation:zoomInNew .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes zoomInNew{0%{transform:scale(.3);opacity:0;filter:blur(6px)}to{transform:scale(1);opacity:1;filter:blur(0)}}.grid-view--zoom-out-old{animation:zoomOutOld .45s cubic-bezier(.32,0,.67,0) forwards}@keyframes zoomOutOld{0%{transform:scale(1);opacity:1;filter:blur(0)}to{transform:scale(.2);opacity:0;filter:blur(8px)}}.grid-view--zoom-out-new{animation:zoomOutNew .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes zoomOutNew{0%{transform:scale(3);opacity:0;filter:blur(6px)}to{transform:scale(1);opacity:1;filter:blur(0)}}.gv-cell{position:relative;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0c162a8c;-webkit-user-select:none;user-select:none;contain:strict;content-visibility:auto}.grid-view--dense .gv-cell{transition:background-color .15s ease,box-shadow .15s ease}.gv-cell--unified{border:none;border-radius:0;border-right:1px solid rgba(60,120,200,.04);border-bottom:1px solid rgba(60,120,200,.04)}.gv-cell--deepest{border-radius:1px;border-right:1px solid rgba(80,150,255,.08);border-bottom:1px solid rgba(80,150,255,.08);background:#0a122380}.gv-cell--deepest:hover{background:#121e3abf;box-shadow:inset 0 0 6px #3c8cff14}.gv-cell--border-right{border-right:1px solid rgba(100,180,255,.18)!important}.gv-cell--border-bottom{border-bottom:1px solid rgba(100,180,255,.18)!important}.gv-cell--block-hover{background:#192d50a6!important}.gv-cell--tutorial-block-target{background:#1c3058b8!important;box-shadow:inset 0 0 0 1px #9adeff61,inset 0 0 18px #70bcff29;animation:tutorialBlockGlow 1.8s ease-in-out infinite}.gv-cell--tutorial-block-dim{filter:brightness(.52)}.gv-cell--tutorial-build-area{background:#18284ad1!important;box-shadow:inset 0 0 0 1px #84c6ff29}.gv-cell--tutorial-neighbor-area{background:#070c16ad!important;opacity:.75}@keyframes tutorialBlockGlow{0%,to{filter:brightness(.82);box-shadow:inset 0 0 0 1px #90d6ff47,inset 0 0 14px #6ebeff1f,0 0 8px #6ebeff14}50%{filter:brightness(1.18);box-shadow:inset 0 0 0 1px #b0e8ffa8,inset 0 0 26px #84cdff38,0 0 16px #7ecaff33}}.gv-cell--neighbor{background:#060a1480!important;opacity:.45;cursor:default}.gv-cell--neighbor:hover{background:#060a1480!important;box-shadow:none!important}.gv-cell--neighbor-interactive{background:#060a1480!important;opacity:.55;cursor:crosshair}.gv-cell--neighbor-interactive:hover{background:#0c1426a6!important;box-shadow:inset 0 0 4px #50c88c1a!important}.gv-cell--occupied{background:#1e0f0f80!important}.gv-cell--zoom-target{z-index:10;background:#142850cc!important;box-shadow:inset 0 0 12px #3c8cff26!important}.gv-cell--fade-sibling{opacity:.12;filter:blur(1px);pointer-events:none;transition:all .3s ease}.gv-cell--has-conveyor{background:#101c30b3!important}.conv-node{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.conv-node__hub{position:absolute;width:28%;height:28%;top:50%;left:50%;transform:translate(-50%,-50%);background:#3cb4784d;border:1px solid rgba(80,200,140,.45);border-radius:50%;z-index:2}.conv-node--merge .conv-node__hub,.conv-node--split .conv-node__hub,.conv-node--cross .conv-node__hub{width:32%;height:32%;background:#3cc88266;border-color:#50dc968c}.conv-node--single .conv-node__dot{position:absolute;width:20%;height:20%;top:50%;left:50%;transform:translate(-50%,-50%);background:#3cb47840;border:1px solid rgba(80,200,140,.35);border-radius:50%}.conv-arm{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;transform-origin:center center}.conv-arm__track{position:absolute;width:50%;height:28%;right:0;background:#3cb4782e;border:1px solid rgba(80,200,140,.3);border-left:none;border-radius:0 2px 2px 0}.conv-arm--out .conv-arm__track{background:#3cb47838;border-color:#50c88c66}.conv-arm--in .conv-arm__track{background:#3cb4781f;border-color:#50c88c40}.conv-arm__arrow{position:absolute;z-index:3;font-size:10px;font-weight:700;color:#50dc8cd9;text-shadow:0 0 4px rgba(80,220,140,.3);line-height:1}.conv-arm--out .conv-arm__arrow{right:4%}.conv-arm--in .conv-arm__arrow--in{right:30%;transform:rotate(180deg);color:#50c88c99}.grid-view--level-0 .conv-arm__arrow,.grid-view--level-1 .conv-arm__arrow{display:none}.grid-view--level-0 .conv-node__hub,.grid-view--level-1 .conv-node__hub{width:50%;height:50%;border-width:0;border-radius:0}.grid-view--level-0 .conv-arm__track,.grid-view--level-1 .conv-arm__track{height:40%;border-width:0;border-radius:0}.conveyor-belt{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.conveyor-belt__track{position:absolute;width:70%;height:30%;background:#3cb47833;border:1px solid rgba(80,200,140,.35);border-radius:2px}.conveyor-belt__arrow{position:relative;z-index:2;font-size:10px;font-weight:700;color:#50dc8cd9;text-shadow:0 0 4px rgba(80,220,140,.3);margin-left:1px}.grid-view--level-0 .conveyor-belt__track,.grid-view--level-1 .conveyor-belt__track{width:80%;height:40%;border-width:0;border-radius:0}.grid-view--level-0 .conveyor-belt__arrow,.grid-view--level-1 .conveyor-belt__arrow{display:none}.conveyor-belt--bend{position:absolute;top:0;right:0;bottom:0;left:0}.conveyor-belt__half{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.conveyor-belt__half--in{opacity:.5}.conveyor-belt__half--in:before{content:"";width:35%;height:28%;background:#3cb47826;border:1px solid rgba(80,200,140,.25);border-radius:2px;position:absolute;left:4%}.conveyor-belt__half--out:before{content:"";width:35%;height:28%;background:#3cb47826;border:1px solid rgba(80,200,140,.25);border-radius:2px;position:absolute;right:4%}.conveyor-belt__arc{position:absolute;width:40%;height:40%;border:2px solid rgba(80,200,140,.3);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.conveyor-belt__arc--cw,.conveyor-belt__arc--ccw{border-color:#50c88c4d}.grid-view--level-0 .conveyor-belt__half--in:before,.grid-view--level-0 .conveyor-belt__half--out:before,.grid-view--level-1 .conveyor-belt__half--in:before,.grid-view--level-1 .conveyor-belt__half--out:before{border-width:0}.grid-view--level-0 .conveyor-belt__arc,.grid-view--level-1 .conveyor-belt__arc{border-width:1px;width:50%;height:50%}.gv-cell--conveyor-preview{background:#14283c99!important;box-shadow:inset 0 0 8px #50c88c14}.gv-cell--conveyor-start{box-shadow:0 0 8px #50dc8c33!important}.gv-cell__conveyor-start-marker{position:absolute;width:5px;height:5px;border-radius:50%;background:#64ffa0b3;box-shadow:0 0 6px #50dc8c66;z-index:5;animation:startPulse 1.5s ease-in-out infinite}.gv-cell__item{position:absolute;top:50%;left:50%;width:22%;height:22%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d2ffdcf2,#5cff72f2 45%,#1a8c2af2);box-shadow:0 0 10px #5cff7273,inset 0 0 4px #ffffff47;pointer-events:none;z-index:7}.gv-cell__item--blue{background:radial-gradient(circle at 35% 35%,#ebf8fffa,#58c0fff5 45%,#1a5cb4f2);box-shadow:0 0 10px #58c0ff6b,inset 0 0 4px #ffffff4d}.gv-cell__item--dynamic-color{background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.75),var(--item-color, rgba(200, 200, 200, .95)) 50%,color-mix(in srgb,var(--item-color, #ccc),#000 45%) 100%);box-shadow:0 0 10px var(--item-glow, rgba(200, 200, 200, .4)),inset 0 0 4px #ffffff47}@keyframes startPulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.4);opacity:1}}.gv-cell--machine-center{background:#3c286499!important}.gv-cell--machine-part{background:#2d1e5080!important}.gv-cell--machine-outer{background:#2d1e5080!important;cursor:crosshair;position:relative}.gv-cell--machine-outer:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border:1px solid rgba(80,220,140,.35);border-radius:1px;pointer-events:none;animation:outerRingPulse 2s ease-in-out infinite}@keyframes outerRingPulse{0%,to{border-color:#50dc8c33;box-shadow:none}50%{border-color:#50dc8c80;box-shadow:inset 0 0 4px #50dc8c26}}.gv-cell--machine-outer:hover{background:#37285fa6!important}.gv-cell--machine-outer:hover:after{border-color:#64ffa099;box-shadow:inset 0 0 8px #50dc8c33}.gv-cell--processor-core{background:#b56826b8!important}.gv-cell--processor-part{background:#6e3d1494!important}.gv-cell--processor-port{background:#7d46189e!important;cursor:crosshair;position:relative}.gv-cell--processor-port:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border:1px solid rgba(255,186,92,.4);border-radius:1px;pointer-events:none;animation:processorPortPulse 2s ease-in-out infinite}@keyframes processorPortPulse{0%,to{border-color:#ffba5c3d;box-shadow:none}50%{border-color:#ffd07899;box-shadow:inset 0 0 5px #ffaa482e}}.gv-cell--processor-port:hover{background:#8e511eb3!important}.gv-cell--processor-port:hover:after{border-color:#ffdc8cb8;box-shadow:inset 0 0 8px #ffae5438}.gv-cell--conveyor-linkable{cursor:crosshair}.gv-cell--conveyor-linkable:hover{background:#14233ccc!important;box-shadow:inset 0 0 6px #50c88c26!important}.gv-cell--tutorial-port-focus{box-shadow:inset 0 0 0 1px #6ee1be8c,inset 0 0 12px #6ee1be33,0 0 10px #6ee1be2e;animation:tutorialPortPulse 1.6s ease-in-out infinite}@keyframes tutorialPortPulse{0%,to{box-shadow:inset 0 0 0 1px #6ee1be6b,inset 0 0 10px #6ee1be24,0 0 8px #6ee1be1f}50%{box-shadow:inset 0 0 0 1px #8cf5d2bf,inset 0 0 16px #6ee1be3d,0 0 14px #6ee1be38}}.gv-cell__machine-icon{position:absolute;top:15%;right:15%;bottom:15%;left:15%;display:flex;align-items:center;justify-content:center;pointer-events:none}.gv-cell__machine-block{width:60%;height:60%;background:#a078ff80;border:1px solid rgba(180,150,255,.6);border-radius:2px;box-shadow:0 0 8px #8c64f04d}.gv-cell__processor-block{width:66%;height:66%;background:#ffae4c94;border:1px solid rgba(255,214,158,.68);border-radius:2px;box-shadow:0 0 10px #ff9b3047}.grid-view--level-0 .gv-cell__machine-block,.grid-view--level-1 .gv-cell__machine-block,.grid-view--level-0 .gv-cell__processor-block,.grid-view--level-1 .gv-cell__processor-block{border-width:0;border-radius:0;width:80%;height:80%}.gv-cell--storage{background:#372a0cb3!important;border-color:#dcb43c40!important}.gv-cell__storage-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.7em;pointer-events:none;filter:drop-shadow(0 0 4px rgba(220,180,60,.4))}.gv-cell--generator-core{background:#28a08ca6!important}.gv-cell--generator-part{background:#1e786980!important}.gv-cell--generator-port{background:#238c788c!important;cursor:crosshair;position:relative}.gv-cell--generator-port:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border:1px solid rgba(80,230,200,.4);border-radius:1px;pointer-events:none;animation:generatorPortPulse 2s ease-in-out infinite}@keyframes generatorPortPulse{0%,to{border-color:#50e6c838;box-shadow:none}50%{border-color:#64ffdc94;box-shadow:inset 0 0 5px #40e8c82e}}.gv-cell--generator-port:hover{background:#2da58ca6!important}.gv-cell--generator-port:hover:after{border-color:#78ffe6b3;box-shadow:inset 0 0 8px #40e8c838}.gv-cell--assembler-core{background:#c8466ea6!important}.gv-cell--assembler-part{background:#96325580!important}.gv-cell--assembler-port{background:#aa3c5f8c!important;cursor:crosshair;position:relative}.gv-cell--assembler-port:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border:1px solid rgba(255,140,180,.4);border-radius:1px;pointer-events:none;animation:assemblerPortPulse 2s ease-in-out infinite}@keyframes assemblerPortPulse{0%,to{border-color:#ff8cb438;box-shadow:none}50%{border-color:#ffb4d299;box-shadow:inset 0 0 5px #ff64962e}}.gv-cell--assembler-port:hover{background:#be466ea6!important}.gv-cell--assembler-port:hover:after{border-color:#ffc8dcb8;box-shadow:inset 0 0 8px #ff78a038}.gv-cell__building-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.75em;font-weight:700;pointer-events:none;z-index:3}.gv-cell__building-icon--generator{color:#96ffe6e6;text-shadow:0 0 6px rgba(64,232,200,.5)}.gv-cell__building-icon--assembler{color:#ffb4c8e6;text-shadow:0 0 6px rgba(255,100,150,.5)}.gv-cell--painter-core{background:#8c50c8a6!important}.gv-cell--painter-part{background:#693ca080!important}.gv-cell--painter-port{background:#7846b48c!important;cursor:crosshair;position:relative}.gv-cell--painter-port:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border:1px solid rgba(200,140,255,.4);border-radius:1px;pointer-events:none;animation:painterPortPulse 2s ease-in-out infinite}@keyframes painterPortPulse{0%,to{border-color:#c88cff38;box-shadow:none}50%{border-color:#dcaaff99;box-shadow:inset 0 0 5px #b464ff2e}}.gv-cell--painter-port:hover{background:#9155c8a6!important}.gv-cell--painter-port:hover:after{border-color:#e6beffb8;box-shadow:inset 0 0 8px #b464ff38}.gv-cell__building-icon--painter{color:#dcaaffe6;text-shadow:0 0 6px rgba(180,100,255,.5)}.gv-cell__item--triangle,.gv-cell__item--square{background:transparent;box-shadow:none}.gv-cell__item--shape-triangle{border-radius:0;width:28%;height:28%;clip-path:polygon(50% 5%,5% 95%,95% 95%);background:#fffffffa;box-shadow:none;filter:drop-shadow(0 0 2px rgba(255,255,255,.96)) drop-shadow(0 0 6px rgba(255,255,255,.35))}.gv-cell__item--shape-triangle:after{content:none}.gv-cell__item--shape-square{border-radius:0;width:20%;height:20%;background:#fffffffa;border:1.5px solid rgba(225,240,255,.95);box-shadow:0 0 8px #ffffff52,inset 0 0 2px #d2e6ff38}.gv-cell__item--shape-star{border-radius:0;width:24%;height:24%;background:transparent;border:none;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);box-shadow:0 0 8px #ffffff57;background:#fffffffa}.gv-cell__item--painted.gv-cell__item--shape-triangle{background:var(--paint-color, rgba(92, 255, 114, .85));filter:drop-shadow(0 0 1.5px var(--paint-color, rgba(92, 255, 114, .95))) drop-shadow(0 0 4px var(--paint-glow, rgba(92, 255, 114, .45)))}.gv-cell__item--painted.gv-cell__item--shape-triangle:after{content:none}.gv-cell__item--painted.gv-cell__item--shape-square{background:var(--paint-color, rgba(92, 255, 114, .85));border:1.5px solid var(--paint-color, rgba(140, 255, 160, .9));box-shadow:0 0 6px var(--paint-glow, rgba(92, 255, 114, .45)),inset 0 0 2px #fff3}.gv-cell__item--painted.gv-cell__item--shape-star{background:var(--paint-color, rgba(92, 255, 114, .85));box-shadow:none;filter:drop-shadow(0 0 4px var(--paint-glow, rgba(92, 255, 114, .45)))}.gv-cell__ghost{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:1px;z-index:5}.gv-cell__ghost--valid{background:#64b4ff1f;border:1px solid rgba(100,180,255,.3)}.gv-cell__ghost--invalid{background:#ff505026;border:1px solid rgba(255,80,80,.4)}.gv-cell--ghost-valid{box-shadow:inset 0 0 8px #64b4ff14}.gv-cell--ghost-invalid{box-shadow:inset 0 0 8px #ff3c3c14}.gv-cell--demolish-preview{background:#b4282873!important;box-shadow:inset 0 0 10px #ff3c3c33!important;cursor:pointer}.gv-cell--demolish-preview:after{content:"✕";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:#ff7878b3;pointer-events:none;z-index:6}.grid-view:hover{border-color:#5096ff24}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid rgba(80,150,255,.08);background:#080c19b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;flex-shrink:0}.header__left{display:flex;flex-direction:column;gap:2px}.header__title{font-size:16px;font-weight:600;color:#b4d2ffe6;margin:0;letter-spacing:.5px}.header__subtitle{font-size:10px;color:#78a0dc66;text-transform:uppercase;letter-spacing:2px}.header__center{display:flex;align-items:center}.header__breadcrumb{display:flex;align-items:center;gap:6px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px}.header__breadcrumb-segment{color:#8cb4f080;transition:color .25s ease;padding:2px 8px;border-radius:4px}.header__breadcrumb-segment--active{color:#a0d2fff2;background:#3c78dc1f;border:1px solid rgba(80,150,255,.15)}.header__breadcrumb-sep{color:#6496dc4d;font-size:16px}.header__right{display:flex;align-items:center;gap:12px}.header__level-badge{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:6px;border:1px solid rgba(80,150,255,.15);background:#1e3c7826}.header__level-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#78aaf080}.header__level-number{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:16px;font-weight:700;color:#8cc8ffe6}.header__deepest-badge{font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:4px 10px;border-radius:4px;border:1px solid rgba(100,255,180,.2);color:#64ffb4b3;background:#28645026;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.header__hint{font-size:10px;color:#8cb4e659;letter-spacing:.5px}.header__codex-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:6px;border:1px solid rgba(255,200,80,.2);background:#3c280a40;color:#ffdc8cd9;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;letter-spacing:.5px}.header__codex-btn:hover{border-color:#ffc85066;background:#503c1459;color:#ffe6a0;box-shadow:0 0 12px #ffc85026}.header__codex-icon{font-size:14px}.header__codex-label{font-size:12px}.header__codex-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#ffb4324d;color:#ffdc8cf2;font-size:10px;font-weight:700;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.tutorial-panel{position:fixed;top:92px;left:20px;z-index:220;width:min(420px,34vw);max-height:calc(100vh - 120px);overflow-y:auto;padding:16px;border:1px solid rgba(90,155,255,.16);border-radius:14px;background:linear-gradient(180deg,#0d162af5,#080e1cf0);box-shadow:0 12px 32px #00000047,inset 0 0 24px #2c5ab40d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tutorial-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tutorial-panel__eyebrow{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#73a5f0b8}.tutorial-panel__title{margin-top:2px;font-size:19px;font-weight:700;color:#daecfff2}.tutorial-panel__hide,.tutorial-panel__action,.tutorial-reopen{border:1px solid rgba(90,155,255,.16);border-radius:9px;background:#12203ab8;color:#b0d2ffe6;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.tutorial-panel__hide:hover,.tutorial-panel__action:hover,.tutorial-reopen:hover{background:#1a2e54db;border-color:#6eb4ff4d;color:#d2e6fff5;transform:translateY(-1px)}.tutorial-panel__hide{padding:6px 10px;font-size:12px}.tutorial-panel__progress{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 12px;border-radius:10px;background:#0f1b32b8;color:#98beecd6;font-size:12px}.tutorial-panel__progress-bar{height:6px;margin-top:8px;border-radius:999px;background:#132039e6;overflow:hidden}.tutorial-panel__progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#57abffe6,#63e6b6e6);transition:width .22s ease}.tutorial-panel__step-list{display:grid;gap:3px;margin-top:12px}.tutorial-panel__step-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;font-size:12px;transition:background .15s,border-color .15s;border:1px solid transparent}.tutorial-panel__step-item--done{background:#18403873;border-color:#58c4901a;color:#96dcbeb3}.tutorial-panel__step-item--current{background:#1e376499;border-color:#64b4ff4d;color:#d2ebfff2;box-shadow:0 0 12px #50a0ff1a}.tutorial-panel__step-item--pending{background:#0f182c66;color:#789bc880}.tutorial-panel__step-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}.tutorial-panel__step-item--done .tutorial-panel__step-num{background:#58c49033;color:#96ebc8e6}.tutorial-panel__step-item--current .tutorial-panel__step-num{background:#64b4ff40;color:#c8e6ff}.tutorial-panel__step-item--pending .tutorial-panel__step-num{background:#3c5a8c33;color:#789bc880}.tutorial-panel__step-icon{font-size:14px;flex-shrink:0}.tutorial-panel__step-name{flex:1;font-weight:500}.tutorial-panel__step-item--done .tutorial-panel__step-name{text-decoration:line-through;opacity:.7}.tutorial-panel__step-status{font-size:12px;flex-shrink:0}.tutorial-panel__focus{margin-top:12px;padding:14px;border-radius:12px;border:1px solid rgba(95,160,255,.14);background:linear-gradient(180deg,#16243fb8,#0d172ab8)}.tutorial-panel__focus-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#487ee12e;color:#b8dbffeb;font-size:11px;font-weight:700;letter-spacing:.5px}.tutorial-panel__focus-title{font-size:16px;font-weight:700;color:#e0eefff2}.tutorial-panel__focus-summary{margin-top:8px;font-size:13px;line-height:1.5;color:#bcd7f7eb}.tutorial-panel__focus-detail{margin-top:8px;font-size:12px;line-height:1.55;color:#80a6d6c7}.tutorial-panel__visual{margin-top:12px;padding:12px;border-radius:12px;background:linear-gradient(180deg,#101c32e0,#0a1222e6);border:1px solid rgba(88,147,236,.12)}.tutorial-panel__visual-title{font-size:14px;font-weight:700;color:#e1effff2}.tutorial-panel__visual-list{display:grid;gap:8px;margin-top:10px}.tutorial-panel__visual-line{padding:8px 10px;border-radius:10px;background:#111f38d6;border:1px solid rgba(84,142,230,.1);color:#aacbf2db;font-size:12px;line-height:1.45}.tutorial-panel__focus-hint{margin-top:10px;padding:10px 12px;border-radius:10px;background:#081c248c;border:1px solid rgba(86,207,181,.12);color:#99e2ced6;font-size:12px;line-height:1.5}.tutorial-panel__primary-action{width:100%;margin-top:12px;padding:11px 12px;border:1px solid rgba(98,176,255,.22);border-radius:10px;background:linear-gradient(180deg,#22549bf5,#163c76f5);color:#ebf5fffa;font-size:13px;font-weight:700;cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.tutorial-panel__primary-action:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 10px 24px #2a6ac03d}.tutorial-panel__actions{display:flex;justify-content:flex-end;margin-top:12px}.tutorial-panel__action{padding:7px 10px;font-size:12px}.tutorial-reopen{position:fixed;top:92px;left:20px;z-index:220;padding:10px 12px;font-size:13px;font-weight:600;box-shadow:0 8px 24px #00000038}@media (max-width: 860px){.tutorial-panel{width:min(420px,calc(100vw - 32px))}}@media (max-width: 640px){.tutorial-panel{top:auto;right:16px;bottom:86px;left:16px;width:auto}.tutorial-reopen{top:auto;bottom:86px;left:16px}}.unlock-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:600;display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 40px;border-radius:18px;border:1px solid rgba(255,220,100,.3);background:#0a101ef2;box-shadow:0 0 40px #ffc85026,0 0 80px #ffc85014,inset 0 0 30px #ffc85008;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;opacity:0;transition:opacity .35s ease,transform .35s ease}.unlock-notification--visible{opacity:1;transform:translate(-50%,-50%) scale(1);animation:unlockBounce .5s ease}.unlock-notification--hiding{opacity:0;transform:translate(-50%,-55%) scale(.95)}@keyframes unlockBounce{0%{opacity:0;transform:translate(-50%,-45%) scale(.8)}50%{transform:translate(-50%,-52%) scale(1.05)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.unlock-notification__glow{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:50%;opacity:.12;filter:blur(40px);pointer-events:none}.unlock-notification__category{font-size:14px;font-weight:600;color:#ffdc78e6;letter-spacing:.5px;text-shadow:0 0 12px rgba(255,200,80,.3)}.unlock-notification__product{font-size:26px;font-weight:800;letter-spacing:1px;text-shadow:0 0 20px currentColor;animation:unlockPulseText 1.5s ease-in-out infinite}@keyframes unlockPulseText{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.unlock-notification__hint{font-size:11px;color:#b4c8e680;letter-spacing:.5px}.warehouse-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:warehouseOverlayIn .2s ease both}@keyframes warehouseOverlayIn{0%{opacity:0}to{opacity:1}}.warehouse-panel{width:340px;max-height:80vh;overflow-y:auto;border-radius:14px;border:1px solid rgba(80,200,150,.2);background:#08121cf2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 40px #00000080,0 0 60px #32b4820f;animation:warehousePanelIn .3s cubic-bezier(.22,1,.36,1) both}@keyframes warehousePanelIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.warehouse-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid rgba(80,200,150,.1)}.warehouse-panel__title{font-size:15px;font-weight:700;color:#a0f0c8f2;letter-spacing:.5px}.warehouse-panel__close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(200,200,200,.15);border-radius:6px;background:#28283c66;color:#b4c8dcb3;cursor:pointer;font-size:12px;transition:all .15s ease}.warehouse-panel__close:hover{background:#3c1e1e99;border-color:#ff64644d;color:#ffb4b4e6}.warehouse-panel__summary{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(80,200,150,.08)}.warehouse-panel__summary-item{flex:1;display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:8px;background:#1e372d4d;border:1px solid rgba(80,200,150,.1)}.warehouse-panel__summary-label{font-size:10px;color:#8cbeaa80;text-transform:uppercase;letter-spacing:.5px}.warehouse-panel__summary-value{font-size:18px;font-weight:700;color:#b4ffd2f2}.warehouse-panel__summary-value--rate{color:#64dca0d9;font-size:14px}.warehouse-panel__items{padding:12px 16px;display:flex;flex-direction:column;gap:10px}.warehouse-panel__item{padding:10px 12px;border-radius:8px;background:#0f192880;border:1px solid rgba(80,150,200,.1)}.warehouse-panel__item-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.warehouse-panel__item-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 6px currentColor}.warehouse-panel__item-label{font-size:12px;font-weight:600;color:#b4d2f0d9}.warehouse-panel__item-stats{display:flex;gap:16px}.warehouse-panel__item-amount,.warehouse-panel__item-rate{display:flex;flex-direction:column;gap:2px}.warehouse-panel__stat-value{font-size:16px;font-weight:700;color:#c8e6ffe6;font-variant-numeric:tabular-nums}.warehouse-panel__stat-value--active{color:#64dca0f2}.warehouse-panel__stat-label{font-size:9px;color:#8cafdc66;text-transform:uppercase;letter-spacing:.5px}.warehouse-panel__item-bar-track{margin-top:8px;height:4px;border-radius:2px;background:#283c5a4d;overflow:hidden}.warehouse-panel__item-bar-fill{height:100%;border-radius:2px;opacity:.6;transition:width .5s ease}.warehouse-panel__footer{padding:10px 16px 12px;border-top:1px solid rgba(80,200,150,.08)}.warehouse-panel__footer-note{font-size:10px;color:#78a0c859;font-style:italic}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#060a14;color:#b4d2ffd9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(40,80,160,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(40,80,160,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(3,6,12,.6) 100%);pointer-events:none;z-index:0}.app{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;height:100%}.app__main{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.app__depth-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;flex-shrink:0}.app__depth-dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(100,170,255,.2);background:transparent;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.app__depth-dot--active{background:#64b4ff99;border-color:#64b4ff80;box-shadow:0 0 8px #50a0ff4d}.app__depth-dot--filled{background:#508cdc40;border-color:#508cdc4d}.app__toast{position:fixed;bottom:120px;left:50%;transform:translate(-50%);padding:8px 20px;border-radius:6px;background:#142850d9;border:1px solid rgba(80,150,255,.2);color:#a0c8ffcc;font-size:12px;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:toastIn .3s ease,toastOut .3s ease 1.5s forwards;z-index:1000}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#508cdc33;border-radius:3px}.app__blueprint-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;z-index:200}.app__blueprint-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:#0f1c37e6;border:1px solid rgba(80,150,255,.25);border-radius:10px;color:#b4d7ffe6;cursor:pointer;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;transition:background .15s,border-color .15s,box-shadow .15s}.app__blueprint-btn:hover{background:#192d50e6;border-color:#64b4ff66;box-shadow:0 4px 24px #0006,0 0 12px #5096ff1a}.app__blueprint-btn--active{background:#1e3764e6;border-color:#64b4ff80;box-shadow:0 0 16px #5096ff26}.app__blueprint-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#64b4ff33;border-radius:9px;font-size:10px;font-weight:600;color:#96d2ffe6}.app__blueprint-hint{padding:6px 12px;background:#3c8cff26;border:1px solid rgba(80,150,255,.25);border-radius:6px;font-size:11px;color:#96c8ffcc;white-space:nowrap;animation:bpHintPulse 2s ease-in-out infinite}.app__blueprint-hint--paste{background:#64dca01f;border-color:#64dca040;color:#96f0becc}@keyframes bpHintPulse{0%,to{opacity:1}50%{opacity:.6}}.tutorial-focus-ring{position:relative}.tutorial-focus-ring:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;border:1.5px solid rgba(150,220,255,.88);background:#78c8ff14;box-shadow:0 0 0 1px #6ebeff42,0 0 18px #82d2ff4d;pointer-events:none;animation:tutorialOverlayBlink 1.8s ease-in-out infinite}@keyframes tutorialOverlayBlink{0%,to{opacity:.16;filter:brightness(.8)}50%{opacity:.95;filter:brightness(1.35)}}.tutorial-refresh-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#060a14f2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;pointer-events:none;animation:tutorialRefreshFlash .8s ease-in-out}@keyframes tutorialRefreshFlash{0%{opacity:0}15%{opacity:1}70%{opacity:1}to{opacity:0}}.tutorial-refresh-overlay__icon{font-size:48px;animation:tutorialRefreshSpin .6s ease}@keyframes tutorialRefreshSpin{0%{transform:rotate(0) scale(.5);opacity:0}50%{transform:rotate(180deg) scale(1.1);opacity:1}to{transform:rotate(360deg) scale(1);opacity:1}}.tutorial-refresh-overlay__text{font-size:16px;font-weight:600;color:#b4dcffe6;letter-spacing:1px;animation:tutorialRefreshTextIn .4s ease .1s both}@keyframes tutorialRefreshTextIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tutorial-celebration-tip{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:450;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 28px;border-radius:14px;border:1px solid rgba(100,255,160,.3);background:#0a1e14eb;box-shadow:0 0 30px #50ff8c1f,0 0 60px #50ff8c0f,inset 0 0 20px #50ff8c08;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;animation:celebrationSlideIn .5s ease forwards,celebrationSlideOut .5s ease 4.2s forwards}@keyframes celebrationSlideIn{0%{opacity:0;transform:translateY(-50%) translate(40px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@keyframes celebrationSlideOut{0%{opacity:1;transform:translateY(-50%) translate(0)}to{opacity:0;transform:translateY(-50%) translate(40px)}}.tutorial-celebration-tip__emoji{font-size:36px;animation:celebrationBounce .6s ease}@keyframes celebrationBounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.tutorial-celebration-tip__text{font-size:18px;font-weight:700;color:#78ffb4f2;letter-spacing:.5px;text-shadow:0 0 12px rgba(80,255,140,.3)}.tutorial-celebration-tip__sub{font-size:12px;color:#96dcbe99;letter-spacing:.3px}.tutorial-completion-tip{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 36px;border-radius:18px;border:1px solid rgba(200,118,255,.35);background:#0c0e1ef2;box-shadow:0 0 40px #a050ff1f,0 0 80px #a050ff0f,inset 0 0 30px #a050ff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;max-width:380px;text-align:center;animation:completionTipIn .55s cubic-bezier(.16,1,.3,1) forwards,completionTipOut .5s ease 7s forwards}@keyframes completionTipIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes completionTipOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9);pointer-events:none}}.tutorial-completion-tip__icon{font-size:40px;animation:completionIconPop .6s ease}@keyframes completionIconPop{0%{transform:scale(.2) rotate(-20deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.tutorial-completion-tip__title{font-size:18px;font-weight:700;color:#e6c8fff2;letter-spacing:.5px;text-shadow:0 0 12px rgba(180,100,255,.25)}.tutorial-completion-tip__body{font-size:14px;line-height:1.65;color:#b4c8e6d9}.tutorial-completion-tip__body strong{color:#ffbe50f2;font-weight:600}.tutorial-completion-tip__purple{color:#c876ff;font-weight:600;text-shadow:0 0 6px rgba(200,118,255,.35)}.tutorial-completion-tip__star{color:#fffffff2;font-weight:600;text-shadow:0 0 6px rgba(255,255,255,.3)}.tutorial-completion-tip__hint{margin-top:4px;font-size:11px;color:#8ca0c873}
