.gcode-sim-container{--bg:#000;--bg-grad:radial-gradient(1100px 620px at 12% -8%, #0a84ff1a 0%, transparent 55%), radial-gradient(900px 560px at 108% 6%, #bf5af214 0%, transparent 50%), linear-gradient(180deg,#000,#000 50%,#050506);--panel:#1c1c1eb8;--panel-solid:#1c1c1e;--panel-2:#2c2c2e99;--fill:#7878803d;--fill-strong:#7878805c;--border:#ffffff17;--border-strong:#ffffff29;--text:#f5f5f7;--sub:#98989f;--sub2:#6c6c70;--accent:#0a84ff;--accent2:#30d158;--warn:#ff9f0a;--danger:#ff453a;--purple:#bf5af2;--rapid:#ff9f0a;--cut:#30d158;--radius:22px;--radius-sm:14px;--radius-xs:10px;--mono:"JetBrains Mono", "SF Mono", "Menlo", ui-monospace, "Consolas", monospace;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, sans-serif;width:100%;min-height:100vh;position:relative}body.light .gcode-sim-container,[data-theme=light] .gcode-sim-container{--bg:#f2f2f7;--bg-grad:radial-gradient(1100px 620px at 12% -8%, #007aff14 0%, transparent 55%), radial-gradient(900px 560px at 108% 6%, #af52de0f 0%, transparent 50%), linear-gradient(180deg,#f2f2f7,#eeeef3 45%,#e9e9ee);--panel:#ffffffb8;--panel-solid:#fff;--panel-2:#ffffff8c;--fill:#78788024;--fill-strong:#78788033;--border:#3c3c4321;--border-strong:#3c3c4338;--text:#000;--sub:#6d6d72;--sub2:#8e8e93;--accent:#007aff;--accent2:#34c759;--warn:#ff9500;--danger:#ff3b30;--purple:#af52de;--rapid:#ff9500;--cut:#34c759}.gcode-sim-container .bg-fx{z-index:-1;pointer-events:none;background:var(--bg-grad);position:fixed;inset:0}.gcode-sim-container .shell{max-width:1600px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.gcode-sim-container .hero-header-section{text-align:center;padding-bottom:2rem}.gcode-sim-container .status-pill{color:var(--text-2,#b8b8b8);background:var(--card,#ffffff0a);border:1px solid var(--border,#ffffff14);border-radius:999px;align-items:center;gap:7px;margin-bottom:18px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.gcode-sim-container .status-pill .dot{background:#30d158;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite gcPulse;box-shadow:0 0 8px #30d158}@keyframes gcPulse{0%,to{opacity:1}50%{opacity:.4}}.gcode-sim-container .hero-header-section h1{letter-spacing:-.04em;background:linear-gradient(135deg,#fff 0%,#b8b8b8 50%,#bf5af2cc 100%);-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 16px;font-size:clamp(2.6rem,6vw,4rem);font-weight:900;line-height:1.05}.gcode-sim-container .hero-header-section .hero-sub{color:var(--sub);max-width:820px;margin:0 auto;font-size:clamp(1rem,2vw,1.25rem);line-height:1.5}.gcode-sim-container .ad-top-wrapper{justify-content:center;margin-top:1.5rem;display:flex}.gcode-sim-container .tool-layout-body{grid-template-columns:1fr 320px;gap:2rem;display:grid}.gcode-sim-container .tool-main-content{min-width:0}.gcode-sim-container .glass{background:var(--panel);-webkit-backdrop-filter:blur(34px)saturate(190%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 44px #0000004d,inset 0 1px #ffffff0d}body.light .gcode-sim-container .glass,[data-theme=light] .gcode-sim-container .glass{box-shadow:0 14px 34px #1e285017,inset 0 1px #ffffffb3}.gcode-sim-container #app{grid-template:"nav nav nav"56px"editor viewport status"1fr"editor playback status"140px/320px 1fr 300px;gap:10px;width:100%;height:720px;margin-bottom:2rem;padding:10px;display:grid}.gcode-sim-container #navbar{grid-area:nav;justify-content:space-between;align-items:center;padding:0 14px;display:flex}.gcode-sim-container .brand{letter-spacing:-.01em;color:var(--text);align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.gcode-sim-container .brand .dot{background:linear-gradient(160deg,#0a84ff 0%,#5e5ce6 55%,#bf5af2 100%);border-radius:9px;flex-shrink:0;width:28px;height:28px;box-shadow:0 3px 10px #0a84ff59}.gcode-sim-container .brand small{color:var(--sub);margin-left:2px;font-size:12px;font-weight:500}.gcode-sim-container .nav-actions{align-items:center;gap:5px;display:flex}.gcode-sim-container .nav-actions .sep{background:var(--border-strong);width:1px;height:20px;margin:0 5px}.gcode-sim-container button.icon-btn{background:var(--fill);color:var(--text);border-radius:var(--radius-xs);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;transition:all .16s cubic-bezier(.4,0,.2,1);display:flex}.gcode-sim-container button.icon-btn:hover{background:var(--fill-strong);transform:translateY(-1px)}.gcode-sim-container button.icon-btn:active{transform:scale(.92)}.gcode-sim-container button.icon-btn.active{background:var(--accent);color:#fff}.gcode-sim-container button.pill,.gcode-sim-container select.pill{background:var(--fill);color:var(--text);cursor:pointer;border:1px solid #0000;border-radius:100px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .16s cubic-bezier(.4,0,.2,1);display:flex}.gcode-sim-container button.pill:hover{background:var(--fill-strong)}.gcode-sim-container button.pill.primary{background:var(--accent);color:#fff;border:none}.gcode-sim-container #editorPanel{flex-direction:column;grid-area:editor;display:flex;overflow:hidden}.gcode-sim-container .panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.gcode-sim-container .panel-head h2{text-transform:uppercase;color:var(--sub);margin:0;font-size:12px;font-weight:600}.gcode-sim-container .panel-head .tools{gap:4px;display:flex}.gcode-sim-container #editorSearchWrap{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 12px;display:flex}.gcode-sim-container #editorSearchWrap input{background:var(--fill);border-radius:var(--radius-xs);color:var(--text);font-size:12px;font-family:var(--mono);border:1px solid #0000;outline:none;flex:1;padding:6px 10px}.gcode-sim-container #editorSearchWrap span{color:var(--sub);font-size:11px}.gcode-sim-container .editor-wrap{flex:1;position:relative;overflow:auto}.gcode-sim-container .editor-inner{min-height:100%;display:flex;position:relative}.gcode-sim-container #lineNumbers{text-align:right;width:40px;color:var(--sub2);font-family:var(--mono);user-select:none;border-right:1px solid var(--border);background:var(--fill);flex-shrink:0;padding:10px 0;font-size:12px;line-height:20px}.gcode-sim-container #lineNumbers div{cursor:pointer;padding-right:8px}.gcode-sim-container #lineNumbers div.error-line{color:var(--danger);font-weight:700}.gcode-sim-container .code-area{flex:1;position:relative}.gcode-sim-container #highlightLayer{font-family:var(--mono);white-space:pre;pointer-events:none;color:var(--text);z-index:1;margin:0;padding:10px 12px;font-size:12px;line-height:20px;position:absolute;top:0;left:0;right:0}.gcode-sim-container #highlightLayer .cur-line{border-left:3px solid var(--accent);background:#0a84ff24;width:100%;margin-left:-12px;padding-left:9px;display:inline-block}.gcode-sim-container .tok-g{color:var(--accent2);font-weight:700}.gcode-sim-container .tok-m{color:var(--warn);font-weight:700}.gcode-sim-container .tok-t{color:var(--purple)}.gcode-sim-container .tok-f{color:#64d2ff}.gcode-sim-container .tok-s{color:#ff9f7a}.gcode-sim-container .tok-coord{color:#7dd3fc}.gcode-sim-container .tok-comment{color:var(--sub2);font-style:italic}.gcode-sim-container #codeInput{z-index:2;resize:none;color:#0000;width:100%;height:100%;min-height:480px;caret-color:var(--accent);font-family:var(--mono);white-space:pre;background:0 0;border:none;outline:none;padding:10px 12px;font-size:12px;line-height:20px;position:relative;overflow:hidden}.gcode-sim-container #learningBox{border-top:1px solid var(--border);color:var(--sub);max-height:120px;padding:10px 14px;font-size:12px;line-height:1.4;display:none;overflow:auto}.gcode-sim-container #learningBox.show{display:block}.gcode-sim-container #viewportPanel{grid-area:viewport;min-height:350px;position:relative;overflow:hidden}.gcode-sim-container #viewportPanel canvas{border-radius:var(--radius);width:100%;height:100%;display:block}.gcode-sim-container .vp-float{flex-direction:column;gap:6px;display:flex;position:absolute}.gcode-sim-container .vp-top-left{top:12px;left:12px}.gcode-sim-container .vp-top-right{top:12px;right:12px}.gcode-sim-container .vp-controls{border-radius:16px;flex-direction:column;gap:4px;padding:6px;display:flex}.gcode-sim-container .collision-banner{color:#ffb3ac;backdrop-filter:blur(20px);background:#ff453a29;border:1px solid #ff453a80;border-radius:100px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:600;display:none;position:absolute;top:12px;left:50%;transform:translate(-50%)}.gcode-sim-container .collision-banner.show{display:flex}.gcode-sim-container .vp-badge{font-family:var(--mono);color:var(--sub);border-radius:100px;padding:6px 12px;font-size:11px;position:absolute;bottom:12px;left:12px}.gcode-sim-container .vp-hud{font-family:var(--mono);border-radius:16px;min-width:150px;padding:10px 14px;font-size:11px;position:absolute;bottom:12px;right:12px}.gcode-sim-container .vp-hud div{justify-content:space-between;gap:12px;padding:2px 0;display:flex}.gcode-sim-container #playbackPanel{grid-area:playback;align-items:center;gap:14px;padding:0 16px;display:flex}.gcode-sim-container #scrubWrap{flex-direction:column;flex:1;gap:4px;display:flex}.gcode-sim-container #scrub{cursor:pointer;appearance:none;background:var(--fill);border-radius:100px;outline:none;width:100%;height:4px}.gcode-sim-container #scrubMeta{color:var(--sub);font-size:10px;font-family:var(--mono);justify-content:space-between;display:flex}.gcode-sim-container .transport{align-items:center;gap:6px;display:flex}.gcode-sim-container .transport button{background:var(--fill);border-radius:50%;width:36px;height:36px}.gcode-sim-container .transport button.playbtn{background:var(--accent);color:#fff;border:none;width:44px;height:44px;font-size:14px}.gcode-sim-container .speed-wrap{align-items:center;gap:6px;display:flex}.gcode-sim-container .speed-wrap input[type=range]{appearance:none;background:var(--fill);border-radius:100px;outline:none;width:80px;height:4px}.gcode-sim-container .speed-wrap span{font-family:var(--mono);color:var(--sub);font-size:11px}.gcode-sim-container #statusPanel{flex-direction:column;grid-area:status;display:flex;overflow:hidden}.gcode-sim-container .tabbar{background:var(--fill);border-radius:100px;gap:3px;margin:8px 8px 0;padding:8px;display:flex}.gcode-sim-container .tabbar button{color:var(--sub);cursor:pointer;background:0 0;border:none;border-radius:100px;flex:1;padding:6px 3px;font-size:11.5px;font-weight:600;transition:all .16s}.gcode-sim-container .tabbar button.active{color:var(--text);background:var(--panel-solid)}.gcode-sim-container .tabpage{flex:1;padding:12px;display:none;overflow:auto}.gcode-sim-container .tabpage.active{display:block}.gcode-sim-container .stat-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.gcode-sim-container .stat-card{background:var(--fill);border-radius:14px;padding:9px 11px}.gcode-sim-container .stat-card .lab{color:var(--sub);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:9.5px;font-weight:600}.gcode-sim-container .stat-card .val{font-family:var(--mono);font-size:15px;font-weight:700}.gcode-sim-container .stat-card .val.small{font-size:12px}.gcode-sim-container .stat-card.wide{grid-column:1/-1}.gcode-sim-container .chip{border-radius:100px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.gcode-sim-container .chip.on{color:var(--accent2);background:#30d15829}.gcode-sim-container .chip.off{background:var(--fill);color:var(--sub)}.gcode-sim-container .section-title{text-transform:uppercase;letter-spacing:.4px;color:var(--sub);margin:12px 2px 6px;font-size:10.5px;font-weight:600}.gcode-sim-container .section-title:first-child{margin-top:0}.gcode-sim-container canvas.graph{background:var(--fill);border-radius:12px;width:100%;height:80px;margin-bottom:8px}.gcode-sim-container .settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 2px;font-size:12px;display:flex}.gcode-sim-container .settings-row input[type=number]{background:var(--fill);border-radius:var(--radius-xs);width:68px;color:var(--text);font-family:var(--mono);border:1px solid #0000;padding:5px 8px;font-size:11px}.gcode-sim-container .modal-backdrop{z-index:500;backdrop-filter:blur(8px);background:#00000073;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.gcode-sim-container .modal-backdrop.show{display:flex}.gcode-sim-container .modal{width:440px;max-width:92vw;max-height:80vh;padding:20px;overflow:auto}.gcode-sim-container .tool-row{grid-template-columns:36px 1fr 1fr 1fr 1fr;align-items:center;gap:6px;padding:6px 0;font-size:11px;display:grid}.gcode-sim-container .tool-row input{background:var(--fill);border-radius:var(--radius-xs);width:100%;color:var(--text);font-family:var(--mono);border:1px solid #0000;padding:5px 6px;font-size:11px}.gcode-sim-container .modal-close{justify-content:center;width:100%;margin-top:14px}.gcode-sim-container .tool-recs-section{margin-top:3rem;margin-bottom:2rem}.gcode-sim-container .tool-recs-section .section-head h2{margin:0 0 4px;font-size:1.4rem;font-weight:800}.gcode-sim-container .tool-recs-section .section-head p{color:var(--sub);margin:0 0 1.5rem;font-size:.9rem}.gcode-sim-container .tool-recs-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.gcode-sim-container .tool-rec-card{color:inherit;border-radius:var(--radius);align-items:flex-start;gap:1rem;padding:1.25rem;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.gcode-sim-container .tool-rec-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.gcode-sim-container .tool-rec-icon{width:42px;height:42px;color:var(--icon-color,#0a84ff);background:#ffffff0d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gcode-sim-container .tool-rec-icon svg{width:22px;height:22px}.gcode-sim-container .tool-rec-copy{flex:1;min-width:0}.gcode-sim-container .tool-rec-copy h3{align-items:center;gap:8px;margin:0 0 4px;font-size:1rem;font-weight:700;display:flex}.gcode-sim-container .tool-rec-copy p{color:var(--sub);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.gcode-sim-container .badge-current{text-transform:uppercase;color:var(--purple);background:#bf5af22e;border-radius:6px;padding:2px 6px;font-size:.65rem;font-weight:700}.gcode-sim-container .tool-rec-tag{color:var(--sub2);background:var(--fill);border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:600}.gcode-sim-container .tool-rec-arrow{width:18px;height:18px;color:var(--sub2);flex-shrink:0;margin-top:4px}.gcode-sim-container .foot{color:var(--sub2);text-align:center;margin-top:2rem;font-size:.8rem}.gcode-sim-container .tool-sidebar-col{flex-direction:column;gap:1.5rem;display:flex}.gcode-sim-container .sidebar-sticky-wrap{flex-direction:column;gap:1.2rem;display:flex;position:sticky;top:85px}.gcode-sim-container .sidebar-block-title{text-transform:uppercase;letter-spacing:.05em;color:var(--sub2);font-size:.75rem;font-weight:700}@media (width<=1100px){.gcode-sim-container .tool-layout-body{grid-template-columns:1fr}.gcode-sim-container #app{grid-template:"nav""viewport"400px"editor"300px"playback"140px"status"/1fr;height:auto}}.gcode-sim-container .user-guide-section{margin-top:2rem;margin-bottom:2rem}.gcode-sim-container .guide-accordions{flex-direction:column;gap:10px;display:flex}.gcode-sim-container .guide-accordion{border-radius:var(--radius);overflow:hidden}.gcode-sim-container .guide-accordion summary{cursor:pointer;color:var(--text);user-select:none;align-items:center;gap:14px;padding:16px 20px;font-size:15px;font-weight:600;list-style:none;transition:background .2s;display:flex}.gcode-sim-container .guide-accordion summary::-webkit-details-marker{display:none}.gcode-sim-container .guide-accordion summary:hover{background:var(--fill)}.gcode-sim-container .guide-icon{border-radius:var(--radius-xs);width:32px;height:32px;color:var(--accent);background:#0a84ff1f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.gcode-sim-container .guide-icon svg{width:16px;height:16px}.gcode-sim-container .guide-title{flex:1;font-size:.95rem;font-weight:700}.gcode-sim-container .guide-chev{width:16px;height:16px;color:var(--sub2);flex-shrink:0;transition:transform .2s}.gcode-sim-container .guide-accordion[open] .guide-chev{transform:rotate(90deg)}.gcode-sim-container .guide-body{color:var(--sub);padding:0 20px 20px 66px;font-size:14.5px;line-height:1.7}.gcode-sim-container .guide-body p{margin-bottom:.8rem}.gcode-sim-container .guide-body ul{margin:0 0 .8rem 1.2rem}.gcode-sim-container .guide-body li{margin-bottom:.35rem}.gcode-sim-container .guide-body code{font-family:var(--mono);background:var(--fill);color:var(--accent2);border-radius:4px;padding:1px 6px;font-size:13px}.gcode-sim-container .guide-tip{border-left:3px solid var(--accent);border-radius:0 var(--radius-xs) var(--radius-xs) 0;color:var(--sub);background:#0a84ff12;margin-top:10px;padding:10px 14px;font-size:13.5px}.gcode-sim-container .seo-content-section{border-top:1px solid var(--border);color:var(--sub);margin-top:2rem;padding-top:2rem;font-size:15px;line-height:1.75}.gcode-sim-container .author-card{border-radius:var(--radius);align-items:center;gap:18px;margin:1.8rem 0 2.2rem;padding:18px 22px;display:flex}.gcode-sim-container .author-avatar{object-fit:cover;border:2px solid var(--accent);border-radius:50%;flex-shrink:0;width:64px;height:64px;box-shadow:0 4px 14px #0a84ff40}.gcode-sim-container .author-details{flex-direction:column;gap:6px;min-width:0;display:flex}.gcode-sim-container .author-header{flex-direction:column;gap:2px;display:flex}.gcode-sim-container .author-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);font-size:11px;font-weight:700}.gcode-sim-container .author-identity{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gcode-sim-container .author-name{color:var(--text);font-size:17px;font-weight:800;line-height:1.2}.gcode-sim-container .author-role{color:var(--accent);white-space:nowrap;background:#0a84ff1f;border:1px solid #0a84ff40;border-radius:100px;padding:3px 10px;font-size:11.5px;font-weight:700}.gcode-sim-container .author-bio{color:var(--sub);margin:0;font-size:13.5px;line-height:1.55}.gcode-sim-container .seo-content-section h2{color:var(--text);letter-spacing:-.02em;border-bottom:1px solid var(--border);margin:2.5rem 0 1rem;padding-bottom:.5rem;font-size:clamp(20px,2.5vw,26px);font-weight:800}.gcode-sim-container .seo-content-section h2:first-child{margin-top:0}.gcode-sim-container .seo-content-section h3{color:var(--text);letter-spacing:-.01em;margin:1.8rem 0 .7rem;font-size:18px;font-weight:700}.gcode-sim-container .seo-content-section p{margin-bottom:1.1rem}.gcode-sim-container .seo-content-section ul,.gcode-sim-container .seo-content-section ol{margin:0 0 1.4rem 1.5rem;padding:0}.gcode-sim-container .seo-content-section li{margin-bottom:.55rem}.gcode-sim-container .seo-blockquote{border-left:4px solid var(--accent);border-radius:0 var(--radius-xs) var(--radius-xs) 0;color:var(--text);background:#0a84ff0f;margin:1.5rem 0;padding:1rem 1.4rem;font-size:14.5px;font-style:italic;line-height:1.7}.gcode-sim-container .seo-content-section pre{background:var(--fill);border:1px solid var(--border);border-radius:var(--radius-xs);font-family:var(--mono);color:var(--accent2);margin:1.2rem 0;padding:1.1rem 1.3rem;font-size:13px;line-height:1.6;overflow-x:auto}.gcode-sim-container .seo-content-section code{font-family:var(--mono);background:var(--fill);color:var(--accent2);border-radius:4px;padding:2px 6px;font-size:13.5px}.gcode-sim-container .seo-table-wrapper{border-radius:var(--radius-xs);border:1px solid var(--border);margin:1.2rem 0 2rem;overflow-x:auto}.gcode-sim-container .seo-table{border-collapse:collapse;background:var(--panel);width:100%;min-width:580px;font-size:13.5px}.gcode-sim-container .seo-table th,.gcode-sim-container .seo-table td{text-align:left;border-bottom:1px solid var(--border);padding:11px 15px}.gcode-sim-container .seo-table th{background:var(--fill);color:var(--text);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:12px;font-weight:700}.gcode-sim-container .seo-table tbody tr:last-child td{border-bottom:none}.gcode-sim-container .seo-table tbody tr:hover td{background:var(--fill-strong)}.gcode-sim-container .faq-list{flex-direction:column;gap:8px;margin:1rem 0 1.5rem;display:flex}.gcode-sim-container .faq-item{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-xs);transition:border-color .2s;overflow:hidden}.gcode-sim-container .faq-item[open]{border-color:var(--border-strong)}.gcode-sim-container .faq-item summary{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-size:14.5px;font-weight:600;list-style:none;transition:background .2s;display:flex}.gcode-sim-container .faq-item summary::-webkit-details-marker{display:none}.gcode-sim-container .faq-item summary:after{content:"+";color:var(--sub2);flex-shrink:0;font-size:18px;transition:transform .2s,color .2s}.gcode-sim-container .faq-item[open] summary:after{color:var(--accent);transform:rotate(45deg)}.gcode-sim-container .faq-item summary:hover{background:var(--fill)}.gcode-sim-container .faq-item p{color:var(--sub);margin:0;padding:0 18px 16px;font-size:14px;line-height:1.7}.gcode-sim-container .seo-refs{margin:.5rem 0 0 1.2rem}.gcode-sim-container .seo-refs li{margin-bottom:.7rem;font-size:14px}
