:root{--text-col: #ffffff;--menu-bg: rgba(20, 25, 30, .3);--glass-blur: blur(20px);--border-col: rgba(255, 255, 255, .1);--title-col: #00d4ff}body.light-theme{--text-col: #000000;--menu-bg: rgba(240, 245, 255, .4);--border-col: rgba(0, 0, 0, .15);--title-col: #0055ff;background:#f5f7fa}body{margin:0;display:flex;overflow:hidden;background:#0b0f14;font-family:sans-serif;color:var(--text-col)}#app{width:100vw;height:100vh;position:absolute}canvas{width:100%;height:100%;display:block}#sidebar-tabs{position:fixed;left:0;top:0;width:60px;height:100vh;background:#0a0f14f2;border-right:1px solid var(--border-col);z-index:1100;display:flex;flex-direction:column;align-items:center;padding-top:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.light-theme #sidebar-tabs{background:#e6ebf0e6}.theme-toggle-btn{margin-top:auto!important;margin-bottom:10px!important}.logo-link{background:none;border:0;padding:0;margin-bottom:30px;width:45px;height:45px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease;cursor:pointer}.logo-link:hover{transform:scale(1.1)}.logo-link img{width:100%;height:100%;object-fit:contain;border-radius:8px}.tab-btn{width:45px;height:45px;margin-bottom:15px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-col);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.tab-btn .material-icons{font-size:24px}.tab-btn .tab-label{font-size:8px;font-weight:700;margin-top:2px;text-transform:uppercase}.tab-btn:hover{background:#00d4ff26;border-color:var(--title-col)}.tab-btn.active{background:#00d4ff40;border-color:var(--title-col);color:var(--title-col);box-shadow:0 0 15px #00d4ff4d}.gui-container{position:fixed;top:0;left:60px;z-index:1000;background:var(--menu-bg)!important;width:320px;height:100vh;display:flex;flex-direction:column;backdrop-filter:var(--glass-blur) saturate(180%);-webkit-backdrop-filter:var(--glass-blur) saturate(180%);border-right:1px solid var(--border-col);transition:all .4s cubic-bezier(.4,0,.2,1);transform:translate(-380px);opacity:0;pointer-events:none}.gui-container.active{transform:translate(0);opacity:1;pointer-events:all}.gui-header-main{height:50px;display:flex;align-items:center;border-bottom:1px solid var(--border-col);background:#0003;padding:0 15px}.gui-close-btn{margin-left:auto;background:none;border:none;color:var(--text-col);cursor:pointer;opacity:.6;transition:opacity .2s}.gui-close-btn:hover{opacity:1}.gui-toggle-btn{width:50px;height:50px;cursor:pointer;background:none;border:none;color:var(--text-col);margin-left:auto;display:flex;align-items:center;justify-content:center}.gui-content-wrapper{flex-grow:1;overflow-y:auto;overflow-x:hidden}.gui-content-wrapper::-webkit-scrollbar{width:6px}.gui-content-wrapper::-webkit-scrollbar-track{background:#0000001a}.gui-content-wrapper::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.gui-content-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.lil-gui,.lil-gui *{background:transparent!important;color:var(--text-col)!important;box-shadow:none!important}.lil-gui.root{width:100%!important}.lil-gui.root>.title{color:var(--title-col)!important;font-weight:900!important;font-size:14px!important;text-transform:uppercase;padding:15px!important;border-bottom:2px solid var(--title-col)!important;background:#8080800d!important}.lil-gui .folder>.title{padding:12px!important;font-weight:700!important;border-bottom:1px solid var(--border-col)!important;font-size:12px!important;transition:all .2s ease;background:#00285066!important;border-left:8px solid #0055aa!important}.lil-gui .folder>.title:hover{background:#003c7880!important}.lil-gui .folder{border-bottom:2px solid rgba(0,0,0,.3)!important}.gui-row-2,.gui-row-3{display:grid!important;width:100%!important;gap:5px;padding:4px 10px!important;box-sizing:border-box!important}.gui-row-2{grid-template-columns:1fr 1fr!important}.gui-row-3{grid-template-columns:1fr 1fr 1fr!important}.gui-row-2>*>.name,.gui-row-3>*>.name{display:none!important}.gui-row-2>*>.widget,.gui-row-3>*>.widget{width:100%!important;margin:0!important}.gui-row-2>*,.gui-row-3>*{border:none!important;width:100%!important;padding:0!important}.gui-row-3 button{font-size:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:4px 0!important;min-height:36px!important;margin:0!important;width:100%!important}#gui-container .folder-geometry>.title,#gui-container .folder-stl>.title,#gui-container .folder-laser>.title,#gui-container .folder-settings>.title,#gui-container .folder-traj>.title,#gui-container .folder-path>.title,#gui-container .folder-io>.title{border-left:8px solid #0066cc!important;background:#001e3c80!important}.lil-gui input,.lil-gui select,.lil-gui button{background:#80808033!important;border:1px solid var(--border-col)!important;border-radius:4px!important;font-weight:600!important}.lil-gui button{background:#00d4ff40!important;border:1px solid rgba(0,212,255,.5)!important;text-transform:uppercase;font-size:11px!important;letter-spacing:.5px;color:#fff!important;margin:5px 10px!important;width:calc(100% - 20px)!important;transition:all .2s ease!important}.lil-gui button:hover{background:#00d4ff73!important;border-color:#00d4ff!important;box-shadow:0 0 10px #00d4ff4d!important;transform:translateY(-1px)}.lil-gui button:active{transform:translateY(0);filter:brightness(1.2)}.gui-row-2 button{height:32px!important}.lil-gui .slider{background:#8080801a!important}.lil-gui .slider .fill{background:var(--title-col)!important;opacity:.6}#process-log{position:fixed;top:20px;right:20px;width:300px;max-height:250px;background:#0a0f14d9;color:#0f0;font-family:Courier New,monospace;font-size:11px;padding:0;border-radius:8px;border:1px solid rgba(0,255,0,.2);overflow:hidden;z-index:2000;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000080;transition:all .3s ease}#process-log.minimized{height:30px;width:150px}.log-header{padding:8px 12px;background:#00ff001a;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border-bottom:1px solid rgba(0,255,0,.1);-webkit-user-select:none;user-select:none}.log-body{padding:10px;overflow-y:auto;flex-grow:1;display:flex;flex-direction:column-reverse}.log-entry{margin-bottom:4px;border-left:2px solid #00ff00;padding-left:8px;opacity:.9}.log-error{color:#f44;border-left-color:#f44}.log-warning{color:#fc0;border-left-color:#fc0}#history-bar{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1150;display:flex;gap:4px;padding:4px;background:var(--menu-bg);border:1px solid var(--border-col);border-radius:10px;backdrop-filter:var(--glass-blur) saturate(180%);-webkit-backdrop-filter:var(--glass-blur) saturate(180%);box-shadow:0 4px 16px #00000040}#history-bar .history-btn{width:36px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid transparent;border-radius:7px;color:var(--text-col);cursor:pointer;transition:background .2s,border-color .2s,color .2s,opacity .2s}#history-bar .history-btn .material-icons{font-size:20px}#history-bar .history-btn:hover:not(:disabled){background:#00d4ff26;border-color:var(--title-col);color:var(--title-col)}#history-bar .history-btn:active:not(:disabled){transform:translateY(1px)}#history-bar .history-btn:disabled{opacity:.3;cursor:default;background:transparent}.report-btn{width:100%;margin-top:10px;padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:7px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.35);border-radius:6px;color:var(--text-col);font:600 11px system-ui,sans-serif;letter-spacing:.02em;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.report-btn .material-icons{font-size:16px}.report-btn:hover{background:#00d4ff33;border-color:var(--title-col);color:var(--title-col)}.report-btn:active{transform:translateY(1px)}.report-row{display:flex;align-items:stretch;gap:6px;margin-top:10px}.report-row .report-btn{margin-top:0;flex:1}.report-select{flex:0 0 auto;padding:0 6px;background:#00000047;border:1px solid rgba(255,255,255,.16);border-radius:6px;color:var(--text-col);font:600 11px system-ui,sans-serif;cursor:pointer;transition:border-color .2s,color .2s}.report-select:hover{border-color:var(--title-col);color:var(--title-col)}.report-select:focus{outline:none;border-color:var(--title-col)}.report-select option{background:#14181d;color:var(--text-col)}.notice-backdrop{position:fixed;inset:0;z-index:10000;background:#06090d9e;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.notice-box{width:min(560px,calc(100vw - 48px));max-height:calc(100vh - 96px);overflow-y:auto;background:#171b21;border:1px solid rgba(255,255,255,.14);border-radius:8px;box-shadow:0 18px 60px #0000008c;padding:20px 22px 16px;color:var(--text-col);font:12.5px/1.6 system-ui,sans-serif}.notice-title{font:600 15px system-ui,sans-serif;color:var(--title-col);margin-bottom:8px}.notice-intro{margin:0 0 12px;opacity:.88}.notice-list{margin:0 0 16px;padding-left:0;list-style:none}.notice-list li{position:relative;padding:7px 10px 7px 30px;margin-bottom:6px;border-radius:5px;background:#ffffff09;border-left:3px solid transparent}.notice-list li:before{position:absolute;left:9px;top:7px;font-size:12px}.notice-stop{border-left-color:#ff6b6b}.notice-stop:before{content:"✕";color:#ff6b6b}.notice-warn{border-left-color:#ffb454}.notice-warn:before{content:"!";color:#ffb454;font-weight:700}.notice-info{border-left-color:#4fc3f7}.notice-info:before{content:"i";color:#4fc3f7;font-style:italic;font-weight:700}.notice-actions{display:flex;justify-content:flex-end;gap:8px}.notice-btn{padding:7px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:var(--text-col);font:600 12px system-ui,sans-serif;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.notice-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.notice-btn-primary{background:#00d4ff24;border-color:#00d4ff66;color:var(--title-col)}.notice-btn-primary:hover{background:#00d4ff3d;border-color:var(--title-col)}body.light-theme .notice-box{background:#fff;border-color:#00000029;box-shadow:0 18px 60px #141e2d47}body.light-theme .notice-list li{background:#00000009}body.light-theme .notice-btn{border-color:#0000002e;background:#0000000a}body.light-theme .notice-btn:hover{background:#00000014;border-color:#00000057}.feedback-box{width:min(520px,calc(100vw - 48px))}.fb-form{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.fb-field{display:flex;flex-direction:column;gap:4px}.fb-label{font:600 11px system-ui,sans-serif;letter-spacing:.03em;text-transform:uppercase;opacity:.72}.fb-input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:var(--text-col);font:12.5px/1.5 system-ui,sans-serif;transition:border-color .15s,background .15s}.fb-input:focus{outline:none;border-color:var(--title-col);background:#ffffff14}.fb-input option{background:#171b21;color:#fff}.fb-textarea{resize:vertical;min-height:92px;font-family:system-ui,sans-serif}.fb-input.fb-invalid{border-color:#ff6b6b}.fb-error{min-height:14px;font:11px system-ui,sans-serif;color:#ff8b8b}.fb-status{min-height:18px;margin-bottom:6px;font:12px system-ui,sans-serif}.fb-status.fb-ok{color:#5ad19a}.fb-status.fb-bad{color:#ff8b8b}body.light-theme .fb-input{border-color:#0003;background:#00000008}body.light-theme .fb-input:focus{background:#0000000d}body.light-theme .fb-input option{background:#fff;color:#000}body.light-theme .fb-error,body.light-theme .fb-status.fb-bad{color:#c0392b}body.light-theme .fb-status.fb-ok{color:#1e8e5a}.feedback-btn{margin-top:0!important;margin-bottom:10px!important}.fb-privacy{margin:0 0 12px;padding:8px 10px;border-radius:5px;border-left:3px solid #e0a33a;background:#e0a33a1a;font:11.5px/1.5 system-ui,sans-serif;opacity:.95}body.light-theme .fb-privacy{background:#e0a33a24}.build-tag{font:9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-col);opacity:.35;letter-spacing:.02em;margin-bottom:6px;cursor:help;-webkit-user-select:all;user-select:all}.build-tag:hover{opacity:.85}
