#playground-layout{display:grid;grid-template-columns:30% 1fr 35%;grid-template-rows:1fr;margin-top:calc(var(--header-h) + var(--nav-h));height:calc(100vh - var(--header-h) - var(--nav-h));gap:0;background:var(--bg);overflow:hidden}#app-panel{grid-column:1;grid-row:1/-1;border-right:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;overflow:hidden;flex:0 0 35%}#app-panel.hidden{display:none!important}.app-header{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.app-header h3{margin:0;font-size:13px;font-weight:600;color:var(--text)}.app-toggle-btn{background:0 0;border:none;color:var(--text2);cursor:pointer;font-size:18px;padding:4px 8px;transition:color .2s}.app-toggle-btn:hover{color:var(--text)}#demo-app-frame{flex:1;border:none;background:#fff;overflow:auto}#editor-panel{grid-column:2;grid-row:1/-1;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;border-right:1px solid var(--border)}#editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0;gap:12px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-center{flex:1;text-align:center}.editor-label{font-size:12px;color:var(--text2);font-weight:500}.app-menu-btn{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.app-menu-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}#examples-panel{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0;position:relative;z-index:10;display:flex;flex-direction:row;gap:8px;align-items:center}#test-cases-dropdown{padding:8px 12px!important;background:var(--bg3)!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:4px!important;font-size:12px!important;cursor:pointer!important;transition:all .2s!important}#test-cases-dropdown:hover{border-color:var(--accent)!important}#test-cases-dropdown:focus{outline:0!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(var(--accent-blue-rgb),.1)!important}#example-selector{padding:8px 12px;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;font-family:var(--font-main)}#example-selector:hover{border-color:var(--accent)}#example-selector:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-blue-rgb),.1)}.example-description{font-size:11px;color:var(--text2);line-height:1.4;max-height:30px;overflow:hidden}.snippet-btn{background:var(--bg3);color:var(--text);border:1px solid var(--border);padding:6px 10px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;transition:all .2s;white-space:nowrap}.snippet-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}.command-reference-panel{position:absolute;top:0;right:-320px;width:300px;height:calc(100vh - var(--header-h) - var(--nav-h) - 12px);background:var(--bg3);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;z-index:100;box-shadow:-4px 8px 20px rgba(0,0,0,.3);animation:slideIn .3s ease}@keyframes slideIn{from{right:-320px;opacity:0}to{right:-320px;opacity:1}}.command-reference-panel[style*="display: block"]{right:-320px;animation:slideOut .3s ease}@keyframes slideOut{from{right:-320px}to{right:-320px}}.command-header{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg2);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.command-header h4{margin:0;font-size:13px;color:var(--text)}.btn-close{background:0 0;border:none;color:var(--text2);cursor:pointer;font-size:16px;padding:4px 8px}.btn-close:hover{color:var(--text)}.command-list{flex:1;overflow-y:auto;padding:12px}.command-item{padding:10px;margin-bottom:8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s}.command-item:hover{background:var(--bg4);border-color:var(--accent);transform:translateX(4px)}.cmd-name{font-size:12px;font-weight:600;color:var(--accent);margin-bottom:2px}.cmd-desc{font-size:10px;color:var(--text2);margin-bottom:6px}.command-item code{display:block;background:var(--bg2);padding:6px;border-radius:3px;font-size:10px;color:#a8c7fa;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.autocomplete-panel{position:absolute;background:var(--bg3);border:1px solid var(--border);border-radius:4px;max-height:200px;overflow-y:auto;z-index:1000;min-width:250px;box-shadow:0 4px 12px rgba(0,0,0,.3)}.autocomplete-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border);transition:all .2s;display:flex;flex-direction:column;gap:2px}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--bg4);color:var(--accent)}.autocomplete-cmd{font-weight:600;font-size:12px;color:var(--accent)}.autocomplete-desc{font-size:10px;color:var(--text2)}#test-editor-wrap{flex:1;display:flex;position:relative;overflow:hidden;min-height:100px;background:#0f1419}#syntax-highlighter{position:absolute;top:12px;left:52px;right:12px;padding:0;margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;pointer-events:none;color:transparent;white-space:pre-wrap;word-wrap:break-word;background:0 0;z-index:1;font-weight:500;letter-spacing:.3px}.hl-keyword{color:var(--accent-cyan);font-weight:600}.hl-string{color:#72f1b8}.hl-punctuation{color:var(--accent-cyan)}.hl-assertion{color:#ffa366;font-weight:600}.hl-comment{color:#4a6fa5}#line-numbers{display:none!important;background:var(--bg2);color:var(--text3);padding:8px 12px;text-align:right;font-family:var(--font-mono);font-size:11px;line-height:1.5;overflow:hidden;user-select:none;border-right:1px solid var(--border);flex-shrink:0;min-width:40px}#test-editor{flex:1;background:#0f1419;color:#fff;border:none;padding:12px 12px;font-family:var(--font-mono);font-size:13px;line-height:1.6;resize:none;outline:0;tab-size:2;-moz-tab-size:2;caret-color:var(--accent-cyan);font-weight:500;letter-spacing:.5px;z-index:2;position:relative}#test-editor::selection{background:rgba(var(--accent-blue-rgb),.6);color:#fff}#test-editor::placeholder{color:#5a7fa5;opacity:.8;font-weight:400}.hint-box{padding:8px 12px;margin:8px 16px;border-radius:4px;font-size:11px;display:flex;align-items:flex-start;gap:8px;border:1px solid;flex-shrink:0}.hint-box.info{background:rgba(var(--accent-blue-rgb),.08);border-color:rgba(var(--accent-blue-rgb),.2);color:var(--text)}.hint-icon{flex-shrink:0;font-size:12px;line-height:1.2}.hint-text{flex:1;line-height:1.4}#editor-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg2);flex-shrink:0;position:sticky;bottom:0;z-index:20}.btn-run{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;transition:all .3s;flex:1;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden;box-shadow:0 0 20px rgba(var(--accent-blue-rgb),.5),0 4px 15px rgba(var(--accent-blue-rgb),.3);animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,100%{box-shadow:0 0 20px rgba(var(--accent-blue-rgb),.5),0 4px 15px rgba(var(--accent-blue-rgb),.3)}50%{box-shadow:0 0 30px rgba(var(--accent-blue-rgb),.8),0 4px 20px rgba(var(--accent-blue-rgb),.5)}}.btn-run:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 0 40px rgba(var(--accent-blue-rgb),.9),0 6px 20px rgba(var(--accent-blue-rgb),.6)}.btn-run:active{transform:translateY(-1px) scale(1.02)}.btn-run::after{content:' (Ctrl+Enter)';font-size:10px;opacity:.9}.theme-vanilla .btn-run{box-shadow:0 0 20px rgba(212,146,106,.4),0 4px 15px rgba(212,146,106,.2)!important;animation:none}.theme-vanilla .btn-run:hover{box-shadow:0 0 40px rgba(212,146,106,.6),0 6px 20px rgba(212,146,106,.4)!important}.btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--border);padding:8px 14px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--bg4);border-color:var(--accent);color:var(--accent)}.resize-handle{display:none}#results-panel{grid-column:3;grid-row:1/-1;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--bg);overflow:hidden}#results-panel.hidden{display:none!important}.results-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0}.results-title{font-size:12px;font-weight:600;color:var(--text);flex:1}.test-status{font-size:10px;padding:3px 8px;border-radius:3px;font-weight:600;white-space:nowrap}.test-status.running{background:rgba(var(--accent-yellow-rgb),.15);color:var(--accent4)}.test-status.passed{background:rgba(var(--accent-green-rgb),.15);color:var(--accent2)}.test-status.failed{background:rgba(var(--accent-orange-rgb),.15);color:var(--accent3)}#results-content{flex:1;overflow-y:auto;padding:4px 8px 0 8px;font-family:var(--font-mono);font-size:10px;line-height:1.4}.results-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text2);text-align:center;padding:0;margin:0}.results-placeholder-icon{font-size:24px;margin-bottom:4px;opacity:.5}.results-placeholder p{margin:0;padding:0;font-size:11px}.log-entry{margin-bottom:2px;margin-top:0;padding:3px 6px;border-left:2px solid;border-radius:2px;word-break:break-all;white-space:pre-wrap}.log-entry:first-child{margin-top:0}.log-entry:last-child{margin-bottom:0}.log-entry.info{border-color:var(--accent);background:rgba(var(--accent-blue-rgb),.05);color:#a0d8ff}.log-entry.success{border-color:var(--accent2);background:rgba(var(--accent-green-rgb),.05);color:var(--accent2)}.log-entry.error{border-color:var(--accent3);background:rgba(var(--accent-orange-rgb),.05);color:#f99}.log-entry.warning{border-color:var(--accent4);background:rgba(var(--accent-yellow-rgb),.05);color:var(--accent4)}@media (max-width:1200px){#playground-layout{grid-template-columns:35% 1fr 25%}}@media (max-width:900px){#playground-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto 250px auto 250px}#app-panel{grid-column:1;grid-row:2;height:250px;border-right:none;border-bottom:1px solid var(--border)}#editor-panel{grid-column:1;grid-row:4;border-right:none;border-bottom:1px solid var(--border)}#results-panel{grid-column:1;grid-row:6;border-left:none;border-top:1px solid var(--border)}.resize-handle{grid-column:1;width:100%;height:4px;cursor:row-resize}#resize-handle{grid-row:3}}@media (max-width:600px){#playground-layout{grid-template-rows:auto 120px auto 1fr auto 200px}#app-panel{grid-row:2;height:120px;overflow-y:auto}#demo-app-frame{min-height:800px}#editor-panel{grid-row:4;height:auto;min-height:300px}#results-panel{grid-row:6;height:200px}#editor-actions,#editor-toolbar,#examples-panel{padding:8px 12px}#test-editor{font-size:10px}.btn-run,.btn-secondary{padding:6px 10px;font-size:11px}#line-numbers{font-size:10px}}#playground-layout{margin-top:0}.start-coding-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:10px;background:var(--accent);color:var(--bg);font-family:var(--font-display);font-weight:700;font-size:14.5px;text-decoration:none;transition:var(--transition)}.start-coding-btn:hover{background:var(--accent-blue-hover);color:var(--bg)}:root.theme-vanilla .start-coding-btn,:root.theme-vanilla .start-coding-btn:hover{color:var(--bg)}:root.theme-vanilla .start-coding-btn:hover{background:var(--accent2)}.editor-expand-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;font-size:16px;color:var(--text);background:var(--bg3);border:1px solid var(--border2);border-radius:8px;cursor:pointer;flex-shrink:0;transition:color .2s ease,border-color .2s ease,background .2s ease}.editor-expand-toggle:hover,.editor-expand-toggle[aria-pressed=true]{color:var(--accent-blue);border-color:var(--accent-blue);background:rgba(var(--accent-blue-rgb),.1)}:root.theme-vanilla .editor-expand-toggle{color:var(--text);background:var(--bg);border-color:var(--border2)}:root.theme-vanilla .editor-expand-toggle:hover,:root.theme-vanilla .editor-expand-toggle[aria-pressed=true]{color:var(--accent2);border-color:var(--accent);background:var(--bg3)}#playground-layout.workspace-expanded{position:fixed;top:calc(var(--header-h) + var(--nav-h));left:0;right:0;bottom:0;z-index:900;height:auto;margin:0}body.workspace-fullscreen-open{overflow:hidden}@media (max-width:900px){#playground-layout.workspace-expanded{overflow-y:auto}}body>section:first-of-type{margin-top:calc(var(--header-h) + var(--nav-h))}