*{box-sizing:border-box}html,body{color:#000;height:100%;margin:0;font-family:Tahoma,Verdana,MS Sans Serif,sans-serif;font-size:12px;overflow:hidden}.desktop{background-color:teal;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:14px 14px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex-direction:column;height:100vh;display:flex;overflow:hidden}.desktop-main{flex:1;gap:10px;min-height:0;padding:10px 12px 6px;display:flex}.desktop-icons{flex-direction:column;gap:16px;width:74px;padding-top:4px;display:flex}.icon{flex-direction:column;align-items:center;gap:4px;display:flex}.icon-label{color:#fff;text-align:center;text-shadow:1px 1px #000;font-size:10px}.icon-glyph{background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;justify-content:center;align-items:center;width:32px;height:28px;display:flex}.icon-glyph:after{content:"";background:navy;border:1px solid #404040;width:18px;height:12px}.icon-glyph.doc{background:#fff;border:1px solid #404040;flex-direction:column;gap:3px;width:26px;height:30px;padding:5px 4px;box-shadow:2px 2px #0000004d}.icon-glyph.doc:after{content:none}.icon-glyph.doc span{background:gray;height:2px;display:block}.icon-glyph.doc span:last-child{background:silver}.raised{background:silver;border:1px solid #000;border-color:#dfdfdf #000 #000 #dfdfdf;box-shadow:inset 1px 1px #fff,inset -1px -1px gray}.raised:active{box-shadow:inset -1px -1px #fff,inset 1px 1px gray}.sunken{background:#fff;border:1px solid #fff;border-color:gray #fff #fff gray;box-shadow:inset 1px 1px #000,inset -1px -1px #dfdfdf}.well{background:silver;border:1px solid #fff;border-color:gray #fff #fff gray;padding:3px 6px;font-size:11px}.window{flex-direction:column;flex:1;min-width:0;padding:3px;display:flex}.titlebar{background:linear-gradient(90deg,navy,#1084d0);align-items:center;gap:6px;padding:2px 3px;display:flex}.titlebar-icon{color:navy;background:silver;border:1px solid #404040;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;display:flex}.titlebar-text{color:#fff;letter-spacing:.2px;flex:1;font-size:12px;font-weight:700}.titlebar-buttons{gap:2px;display:flex}.tb-btn{cursor:pointer;background:silver;border:1px solid #000;border-color:#fff #000 #000 #fff;justify-content:center;align-items:center;width:18px;height:16px;font-size:10px;font-weight:700;display:flex}.tb-btn.minimize{align-items:flex-end;line-height:8px}.tb-btn.maximize:after{content:"";border:1px solid #000;border-top-width:2px;width:8px;height:7px}.menubar{border-bottom:1px solid gray;gap:2px;padding:2px 2px 3px;display:flex}.menu-item{cursor:default;color:inherit;background:0 0;border:0;padding:2px 7px;font-family:inherit;font-size:12px}.menu-item:hover,.menu-item.menu-open{color:#fff;background:navy}.menu-item u{text-decoration:underline}.menu-item-wrap{position:relative}.menu-dropdown{z-index:20;background:silver;border:1px solid #000;border-color:#dfdfdf #000 #000 #dfdfdf;min-width:160px;padding:2px;position:absolute;top:100%;left:0;box-shadow:inset 1px 1px #fff,inset -1px -1px gray,2px 2px #00000059}.menu-dropdown-item{width:100%;font:inherit;text-align:left;color:#000;cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:12px;text-decoration:none;display:block}.menu-dropdown-item:hover:not(:disabled){color:#fff;background:navy}.menu-dropdown-item:disabled{color:gray;cursor:default}.toolbar{border-bottom:1px solid #fff;align-items:center;gap:8px;padding:4px;display:flex}.toolbar-btn{cursor:pointer;align-items:center;gap:6px;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:700;display:flex}.toolbar-btn:active{padding:5px 11px 3px 13px}.toolbar-btn[hidden]{display:none}.play-icon{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:9px solid #007000;width:0;height:0}.toolbar-sep{border-left:1px solid gray;border-right:1px solid #fff;align-self:stretch;width:2px;margin:0 2px}.error-banner{white-space:pre-wrap;background:#ffffe1;border:1px solid gray;align-items:flex-start;gap:8px;margin:4px 4px 0;padding:7px 9px;font-size:11px;line-height:1.45;display:flex;box-shadow:2px 2px #0003}.error-banner[hidden]{display:none}.error-banner:before{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);background:#ffd800;flex:none;width:18px;height:16px;margin-top:1px}.panes{flex:1;gap:4px;min-height:0;padding:4px;display:flex}.pane{flex-direction:column;min-width:0;min-height:0;display:flex}.pane[hidden]{display:none}.editor-pane{flex:0 0 46%}#editor{flex:1;min-height:0;overflow:hidden}#editor .cm-editor{background:#fff;height:100%}.output-pane{flex:1}.pane-header{justify-content:space-between;align-items:center;padding:2px 4px 4px;font-size:11px;display:flex}.pane-header strong{font-weight:700}.pane-header-sub{color:#404040}.pane-header-right{align-items:center;gap:6px;display:flex}.pane-header-right .tb-btn{cursor:pointer}.pane-resizer{cursor:col-resize;flex:0 0 4px;position:relative}.pane-resizer:after{content:"";background:gray;width:2px;position:absolute;top:0;bottom:0;left:1px}.pane-resizer:hover:after,.pane-resizer.dragging:after{background:navy}.pane-resizer[hidden]{display:none}.editor-textarea{resize:none;border:0;outline:none;flex:1;min-height:0;padding:6px 8px;font:400 13px/18px ui-monospace,Courier New,monospace}.tabs{align-items:flex-end;gap:2px;padding-left:2px;display:flex}.tabs button{cursor:pointer;color:#404040;background:silver;border-top:1px solid #fff;border-bottom:0;border-left:1px solid #fff;border-right:1px solid #000;border-radius:3px 3px 0 0;margin-bottom:2px;padding:4px 10px;font-family:inherit;font-size:11px;box-shadow:inset 1px 1px #fff,inset 0 -2px #a8a8a8}.tabs button.tab-active{color:#000;margin-bottom:0;font-weight:700;box-shadow:inset 1px 1px #fff}.tabs button .tab-close{color:gray;margin-left:6px}.tabs button .tab-close:hover{color:#000}.tabs .tab-add-btn{padding:4px 8px;font-weight:700}.output-code{white-space:pre-wrap;word-break:break-word;flex:1;min-height:0;margin:-1px 0 0;padding:6px 10px;font:400 12.5px/17px ui-monospace,Courier New,monospace;overflow:auto}.output-code:empty{color:gray;text-align:center;justify-content:center;align-items:center;display:flex}.output-code:empty:before{content:"No output yet. Press Build to generate the package.";font-family:Tahoma,Verdana,MS Sans Serif,sans-serif;font-size:11px}.statusbar{gap:3px;padding:3px 2px 2px;display:flex}.statusbar .well:first-child{flex:1}.modal-overlay{z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal{width:340px;padding:3px;box-shadow:inset 1px 1px #fff,inset -1px -1px gray,4px 4px #00000059}.modal-body{padding:14px 14px 12px}.modal-step{margin-bottom:9px;font-size:11px}.progress-track{height:20px;padding:2px;overflow:hidden}.progress-fill{background:repeating-linear-gradient(90deg,navy 0 10px,silver 10px 12px);width:0%;height:100%;animation:1.6s ease-in-out infinite fill-loop}.progress-fill.complete{width:100%;transition:width .3s ease-out;animation:none}@keyframes fill-loop{0%{width:0%}to{width:100%}}.taskbar{background:silver;border-top:1px solid #fff;flex:none;align-items:center;gap:5px;padding:3px 4px;display:flex;box-shadow:0 -1px gray}.taskbar-app{align-items:center;gap:5px;min-width:190px;font-weight:700;display:flex;box-shadow:inset 1px 1px #000}.taskbar-app-icon{background:navy;border:1px solid #404040;width:12px;height:12px}.taskbar-spacer{flex:1}.guide-window{z-index:40;width:480px;height:360px;position:fixed;top:60px;left:140px}.guide-window[hidden]{display:none}#guide-titlebar{cursor:move}.guide-body{flex:1;min-height:0;padding:10px 12px;font-size:11px;overflow-y:auto}.guide-body h3{margin:12px 0 6px;font-size:12px}.guide-body h3:first-child{margin-top:0}.guide-table{border-collapse:collapse;width:100%;font-size:11px}.guide-table th,.guide-table td{text-align:left;border:1px solid gray;padding:3px 6px}.guide-example{white-space:pre;background:#fff;border:1px solid gray;margin:0;padding:6px 8px;font:400 11px/16px ui-monospace,Courier New,monospace;overflow-x:auto}.guide-body ul{margin:6px 0 0;padding-left:18px}.guide-body li{margin-bottom:4px}.guide-resizer{cursor:nwse-resize;width:14px;height:14px;position:absolute;bottom:0;right:0}.guide-resizer:after{content:"";border-bottom:2px solid gray;border-right:2px solid gray;width:8px;height:8px;position:absolute;bottom:2px;right:2px}
