:root{--bg-page:#060913;--bg-page-gradient:radial-gradient(circle at 50% 0%, #111d38 0%, #060913 65%, #03050a 100%);--surface:#0c1427;--surface-card:#0e172dd9;--surface-elevated:#13203c;--border:#38bdf833;--border-subtle:#ffffff14;--border-focus:#06b6d466;--text:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--primary:#0284c7;--primary-cyan:#06b6d4;--primary-cyan-glow:#06b6d459;--primary-soft:#06b6d426;--ok:#10b981;--ok-glow:#10b98159;--warn:#f59e0b;--warn-glow:#f59e0b59;--danger:#ef4444;--danger-glow:#ef444459;--bench-from:#091122;--bench-to:#0f1c35;--bench-grid:#38bdf814;--scope-bg:#030712;--scope-accent:#22d3ee;--scope-glow:#38bdf8;--radius:14px;--shadow:0 8px 32px #0009;--shadow-glow:0 0 20px #06b6d440;--font-ui:"Nunito", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--bg-space:#050811;--bg-base:#0a0f1d;--bg-surface:#10172a;--bg-elevated:#162038;--bg-card:#10182ed9;--border-glow:#06b6d4;--primary-cyan-light:#67e8f9;--laser-red:#ef4444;--laser-red-glow:#ef444466;--arc-amber:#f59e0b;--arc-amber-glow:#f59e0b59;--success-emerald:#10b981;--success-emerald-glow:#10b9814d;--purple-accent:#8b5cf6;--text-primary:#f8fafc;--font-main:var(--font-ui);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 8px 32px 0 #00000073;--shadow-glow-amber:0 0 20px #f59e0b4d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);background:var(--bg-page-gradient,radial-gradient(circle at 50% 0%, #111d38 0%, #060913 65%, #03050a 100%));background-color:var(--bg-page,#060913);color:var(--text,#f1f5f9);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#060913}::-webkit-scrollbar-thumb{background:#1e293b;border:1px solid #38bdf833;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#0284c7;box-shadow:0 0 8px #06b6d480}.app-container{min-height:100vh;display:flex;position:relative}.main-content{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow-y:auto}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.glass-panel-glow{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-glow);border:1px solid #06b6d44d}.badge{text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;font-family:var(--font-mono);border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.badge-cyan{color:var(--primary-cyan-light);background:#06b6d426;border:1px solid #06b6d44d}.badge-emerald{color:#6ee7b7;background:#10b98126;border:1px solid #10b9814d}.badge-amber{color:#fcd34d;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-red{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.btn{border-radius:var(--radius-md);font-family:var(--font-main);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{color:#031525;background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);box-shadow:0 4px 14px #06b6d459}.btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px #06b6d480}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-focus)}.btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 4px 14px #ef444459}.btn-danger:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn-amber{color:#1a0f02;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 4px 14px #f59e0b59}.btn-amber:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}@keyframes pulseGlow{0%{border-color:#38bdf899;transform:scale(1);box-shadow:0 0 8px #38bdf866,inset 0 0 4px #38bdf833}to{border-color:#38bdf8;transform:scale(1.05);box-shadow:0 0 22px #38bdf8f2,inset 0 0 10px #38bdf880}}.pulse-optic{animation:2.5s ease-in-out infinite pulseGlow}.mono-val{font-family:var(--font-mono);letter-spacing:-.02em}input[type=range]{-webkit-appearance:none;background:#1e293b;border-radius:4px;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary-cyan);cursor:pointer;width:18px;height:18px;box-shadow:0 0 10px var(--primary-cyan);border:2px solid #080d1a;border-radius:50%;transition:transform .15s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}#phaser-game-container canvas{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;margin:0 auto;display:block}.workbench-mat{background-color:var(--bench-from,#14232b);background-image:linear-gradient(var(--bench-grid,#ffffff0f) 1px, transparent 1px), linear-gradient(90deg, var(--bench-grid,#ffffff0f) 1px, transparent 1px), linear-gradient(160deg, var(--bench-from,#14232b) 0%, var(--bench-to,#1b2f38) 100%);border-radius:var(--radius,14px);width:100%;height:640px;box-shadow:inset 0 0 60px #0009, var(--shadow,0 6px 24px #0f172a14);-webkit-user-select:none;user-select:none;cursor:crosshair;background-position:-1px -1px,-1px -1px,0 0;background-size:40px 40px,40px 40px,100% 100%;transition:background .35s,box-shadow .35s;position:relative;overflow:hidden}.workbench-mat-texture{display:none}.workbench-svg-overlay{pointer-events:none;z-index:5;opacity:.15;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.cable-stage{z-index:10;pointer-events:auto;filter:drop-shadow(0 14px 12px #00000073);align-items:center;height:130px;display:flex;position:absolute;top:50%;left:90px;right:40px;transform:translateY(-50%)}.patchcord-boot{z-index:12;background:linear-gradient(#0284c7 0%,#38bdf8 20%,#0284c7 45%,#0369a1 70%,#075985 90%,#0c4a6e 100%);border-right:2px solid #0369a1;border-radius:8px 0 0 8px;flex-shrink:0;justify-content:space-around;align-items:center;width:58px;height:64px;padding:0 4px;display:flex;position:relative;box-shadow:0 12px 24px #00000080,inset 0 2px 4px #ffffff80,inset 0 -3px 6px #0009}.patchcord-boot-rib{background:linear-gradient(#0369a1,#38bdf8 30%,#082f49);border-radius:2px;width:4px;height:75%;box-shadow:inset 0 1px 2px #fff6}.cable-outer-jacket{cursor:pointer;background:linear-gradient(#d97706 0%,#f59e0b 14%,#fef08a 28%,#facc15 42%,#eab308 60%,#ca8a04 78%,#a16207 92%,#78350f 100%);flex-shrink:0;justify-content:center;align-items:center;width:460px;height:64px;transition:width .35s cubic-bezier(.16,1,.3,1),filter .2s;display:flex;position:relative;box-shadow:0 16px 28px #0000008c,inset 0 3px 5px #ffffffb3,inset 0 -4px 8px #0009}.cable-outer-jacket:hover{filter:brightness(1.03)}.cable-laser-text{color:#1e293b;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 1px #fff9;pointer-events:none;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:0 20px;font-family:Outfit,sans-serif;font-size:11px;font-weight:800}.cable-right-cut{pointer-events:none;background:radial-gradient(at 40%,#fef08a 0%,#ca8a04 50%,#78350f 100%);border-radius:0 4px 4px 0;width:14px;position:absolute;top:0;bottom:0;right:0;box-shadow:inset -2px 0 4px #0009}.aramid-yarn-bundle{cursor:pointer;z-index:13;flex-direction:column;justify-content:center;gap:2px;width:70px;height:48px;transition:transform .2s,filter .2s;display:flex;position:absolute;top:52%;right:-55px}.aramid-yarn-bundle:hover{filter:brightness(1.15)drop-shadow(0 0 8px #facc15e6);transform:scale(1.06)}.aramid-strand{transform-origin:0;background:linear-gradient(90deg,#fef08a 0%,#fde047 30%,#eab308 70%,#ca8a04 100%);border-radius:2px;height:3px;box-shadow:0 1px 2px #00000059}.aramid-strand:first-child{width:52px;transform:rotate(16deg)}.aramid-strand:nth-child(2){width:66px;transform:rotate(25deg)}.aramid-strand:nth-child(3){width:60px;transform:rotate(33deg)}.aramid-strand:nth-child(4){width:45px;transform:rotate(42deg)}.kevlar-falling-piece{pointer-events:none;z-index:14;flex-direction:column;justify-content:center;gap:2px;width:70px;height:48px;animation:1.2s cubic-bezier(.38,0,.24,1) forwards kevlarFallDown;display:flex;position:absolute;top:52%;right:-55px}@keyframes kevlarFallDown{0%{opacity:1;transform:translate(0)rotate(0)}40%{opacity:.95;transform:translate(20px,70px)rotate(40deg)}to{opacity:0;transform:translate(45px,220px)rotate(85deg)}}.cable-buffer-tube{cursor:pointer;z-index:10;background:linear-gradient(#fff 0%,#f8fafc 25%,#f1f5f9 50%,#e2e8f0 75%,#cbd5e1 100%);border:1.5px solid #cbd5e1;border-radius:0 4px 4px 0;flex-shrink:0;width:85px;height:26px;transition:width .3s;position:relative;box-shadow:0 4px 10px #00000059,inset 0 1px 2px #ffffffe6,inset 0 -1px 2px #00000040}.cable-primary-coating{cursor:pointer;z-index:8;background:linear-gradient(#38bdf8 0%,#bae6fd 30%,#0284c7 65%,#0369a1 100%);border-radius:0 2px 2px 0;flex-shrink:0;width:48px;height:12px;position:relative;box-shadow:0 2px 6px #0000004d,inset 0 1px 1px #fffc}.cable-bare-core{cursor:pointer;z-index:7;background:linear-gradient(#fff 0%,#e0f2fe 35%,#7dd3fc 70%,#0284c7 100%);border-radius:0 1px 1px 0;flex-shrink:0;width:90px;height:5px;position:relative;box-shadow:0 0 10px #38bdf8d9}.cable-bare-core:after{content:"";background:#fff;height:1.2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 0 6px #fff,0 0 12px #38bdf8}.core-sparkle{pointer-events:none;background:radial-gradient(circle,#fff 10%,#38bdf8 60%,#0000 80%);width:14px;height:14px;animation:1.2s ease-in-out infinite alternate sparklePulse;position:absolute}.core-dirt-particle{pointer-events:none;z-index:9;background:radial-gradient(circle,#78350f 20%,#451a03 85%);border-radius:50%;width:5px;height:5px;transition:opacity .3s,transform .3s;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 3px #000c,0 0 4px #eab30880}.core-dirt-particle.particle-speck-light{background:radial-gradient(circle,#a16207 30%,#334155 85%);width:4px;height:4px}.core-dirt-particle.particle-dust{background:#1e293b;width:3px;height:3px}@keyframes sparklePulse{0%{opacity:.4;transform:scale(.6)rotate(0)}to{opacity:1;transform:scale(1.3)rotate(90deg)}}.protection-sleeve-body{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:16;pointer-events:none;background:linear-gradient(#ffffff80 0%,#ffffff38 25%,#cbd5e14d 50%,#94a3b873 75%,#64748b99 100%);border:2px solid #ffffffbf;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:155px;height:82px;transition:left .7s cubic-bezier(.16,1,.3,1),transform .4s;display:flex;position:absolute;box-shadow:0 12px 32px #00000073,inset 0 3px 6px #fffc,inset 0 -3px 6px #00000059}.sleeve-anim-slide-in{animation:1.2s cubic-bezier(.16,1,.3,1) forwards sleeveSlideInFromRight}@keyframes sleeveSlideInFromRight{0%{opacity:.1;left:820px;transform:scale(.92)}30%{opacity:1}to{opacity:1;left:140px;transform:scale(1)}}.protection-sleeve-rod{background:linear-gradient(#94a3b8 0%,#fff 40%,#475569 100%);border-radius:3px;width:92%;height:5.5px;box-shadow:0 2px 4px #00000080}.protection-sleeve-inner-tube{pointer-events:none;border:1px dashed #fff6;border-radius:10px;position:absolute;inset:6px}.sleeve-heated{background:linear-gradient(#f9731699 0%,#ea580c66 50%,#c2410cb3 100%)!important;border-color:#f97316!important;transform:scaleY(.72)!important;box-shadow:0 0 30px #ea580c,inset 0 0 18px #f97316!important}.workbench-center-action-guide{z-index:28;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#0f172af0;border:1.5px solid #0284c7;border-radius:30px;align-items:center;gap:10px;padding:8px 22px;animation:3s ease-in-out infinite guideFloat;display:flex;position:absolute;top:calc(50% - 100px);left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000080,0 0 20px #0284c759}@keyframes guideFloat{0%,to{transform:translate(-50%)translateY(0);box-shadow:0 8px 30px #00000080,0 0 16px #0284c74d}50%{transform:translate(-50%)translateY(-4px);box-shadow:0 12px 36px #0009,0 0 24px #38bdf880}}.floating-tool-cursor{pointer-events:none;z-index:50;filter:drop-shadow(0 8px 16px #00000080);transition:transform 50ms ease-out;position:absolute;transform:translate(-50%,-50%)}.drag-speed-meter{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ae6;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:12px;padding:6px 18px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #0006}.cleaver-workbench-unit{justifyContent:space-between;cursor:pointer;z-index:25;background:#0f172af0;border:2px solid #0284c7;border-radius:18px;flex-direction:column;align-items:center;width:290px;height:235px;padding:10px;transition:all .25s cubic-bezier(.16,1,.3,1);animation:.35s cubic-bezier(.16,1,.3,1) cleaverDropIn;display:flex;position:absolute;top:50%;left:585px;transform:translateY(-50%);box-shadow:0 20px 48px #000000bf,0 0 30px #0284c780}.cleaver-workbench-unit:hover{border-color:#38bdf8;transform:translateY(-53%)scale(1.02);box-shadow:0 24px 55px #000000d9,0 0 40px #38bdf8cc}@keyframes cleaverDropIn{0%{opacity:0;transform:translateY(-40%)scale(.92)}to{opacity:1;transform:translateY(-50%)scale(1)}}.cleaver-topdown-img{object-fit:contain;filter:drop-shadow(0 8px 16px #0009);border-radius:12px;width:100%;height:165px}.cleaver-workbench-badge{color:#fff;letter-spacing:.3px;white-space:nowrap;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border-radius:9999px;align-items:center;gap:6px;padding:5px 14px;font-size:10.5px;font-weight:800;display:flex;box-shadow:0 2px 10px #0284c780}.cleaver-clamp-hero-container{background:radial-gradient(circle at 50% 40%, #0b1220 0%, var(--scope-bg,#05090f) 100%);justifyContent:center;border:1.5px solid #ffffff26;border-radius:16px;align-items:center;width:100%;min-height:240px;padding:10px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #000000e6,0 8px 24px #0006}.cleaver-clamp-hero-container:hover{border-color:#38bdf866;box-shadow:inset 0 0 40px #000000d9,0 8px 28px #0284c740,0 0 15px #06b6d433}.cleaver-clamp-hero-img{object-fit:contain;width:100%;height:100%;transition:transform .3s}.cleaver-ruler-stage-container{background:radial-gradient(circle at 50% 40%, #0b1220 0%, var(--scope-bg,#05090f) 100%);justifyContent:center;border:1.5px solid #ffffff26;border-radius:16px;align-items:center;width:100%;min-height:250px;padding:14px 10px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #000000e6,0 8px 24px #0006}.cleaver-ruler-bed-wrapper{aspect-ratio:1259/832;justifyContent:center;border-radius:12px;align-items:center;width:100%;max-width:520px;display:flex;position:relative;overflow:hidden}.cleaver-ruler-bed-img{object-fit:contain;filter:drop-shadow(0 10px 24px #000000d9);width:100%;height:100%}button,input[type=range],[role=button]{transition:all .18s cubic-bezier(.16,1,.3,1)}button:focus-visible,input:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--primary,#0b7fbf);outline-offset:2px}.tabular-numbers,.metric-number{font-family:var(--font-mono,monospace);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes fiberOffcutDrop{0%{opacity:1;transform:translate(0)rotate(0)}40%{opacity:.9;transform:translate(6px,12px)rotate(12deg)}to{opacity:0;transform:translate(14px,45px)rotate(28deg)}}@keyframes plasmaArcDischarge{0%{opacity:.8;filter:drop-shadow(0 0 12px #38bdf8)drop-shadow(0 0 25px #a855f7);transform:translate(-50%,-50%)scale(.95)}25%{opacity:1;filter:drop-shadow(0 0 22px #60a5fa)drop-shadow(0 0 38px #c084fc);transform:translate(-50%,-50%)scale(1.15)}50%{opacity:.9;filter:drop-shadow(0 0 16px #38bdf8)drop-shadow(0 0 28px #9333ea);transform:translate(-50%,-50%)scale(1.02)}75%{opacity:1;filter:drop-shadow(0 0 26px #93c5fd)drop-shadow(0 0 45px #d8b4fe);transform:translate(-50%,-50%)scale(1.18)}to{opacity:.8;filter:drop-shadow(0 0 12px #38bdf8)drop-shadow(0 0 25px #a855f7);transform:translate(-50%,-50%)scale(.95)}}@keyframes laserPulseThrough{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes cameraScanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}
