:root{--base-font-size:14px;--font-sans:system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Ubuntu, sans-serif;--font-display:system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Ubuntu, sans-serif;--font-mono:"Cascadia Code", "Fira Code", "Consolas", "Courier New", monospace;--surface:#10141a;--surface-dim:#10141a;--surface-low:#181c22;--surface-container:#1c2026;--surface-container-hi:#262a31;--surface-bright:#353940;--surface-highest:#31353c;--surface-lowest:#0a0e14;--primary:#c3f5ff;--primary-container:#00e5ff;--primary-dim:#00daf3;--on-primary:#00363d;--secondary:#cdbdff;--secondary-container:#5203d5;--on-secondary:#370096;--tertiary:#ffe9d5;--tertiary-container:#ffc687;--outline:#a3b1b3;--outline-variant:#3b494c;--on-surface:#dfe2eb;--on-surface-variant:#bac9cc;--error:#ffb4ab;--error-container:#93000a;--surface-tint:#00daf3;--accent-cyan:#00e5ff;--accent-amber:#ffc687;--accent-purple:#cdbdff;--accent-violet:#c0acff;--accent-indigo:#4f00d0}:root.light-theme{--surface:#fbfaf8;--surface-dim:#f3f0ec;--surface-low:#f5f2f0;--surface-container:#edeae6;--surface-container-hi:#e5e2de;--surface-bright:#fff;--surface-highest:#dbd8d4;--surface-lowest:#fdfdfc;--primary:#5203d5;--primary-container:#cdbdff;--primary-dim:#4f00d0;--on-primary:#fff;--secondary:#6750a4;--on-secondary:#fff;--on-surface:#2d2a26;--on-surface-variant:#5c5852;--outline:#89857d;--outline-variant:#ccc8c0;--accent-cyan:#006064;--shadow-1:0 4px 12px #0000000d;--shadow-2:0 12px 32px #0000001a}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/fonts/font.woff2)format("woff2")}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}body.font-small{--base-font-size:12px}body.font-medium{--base-font-size:14px}body.font-large{--base-font-size:16px}body{font-size:var(--base-font-size)}.monaco-editor,#terminal,.code-block .line{font-size:var(--base-font-size)!important}body.font-small #editor,body.font-small #terminal,body.font-small .typing-content{font-size:11px!important}body.font-medium #editor,body.font-medium #terminal,body.font-medium .typing-content{font-size:14px!important}body.font-large #editor,body.font-large #terminal,body.font-large .typing-content{font-size:18px!important}body.font-small p,body.font-small li{font-size:13px}body.font-medium p,body.font-medium li{font-size:15px}body.font-large p,body.font-large li{font-size:18px}.settings-group{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:20px;padding:32px}.settings-input{background:var(--surface-highest);border:1px solid var(--outline-variant);color:var(--on-surface);cursor:pointer;border-radius:10px;outline:none;padding:10px 16px;font-weight:700}.settings-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-row-label{flex:1;min-width:120px}.theme-switch{background:var(--surface-highest);border-radius:12px;flex-shrink:0;padding:4px;display:flex}.btn-theme{cursor:pointer;color:var(--outline);background:0 0;border:none;border-radius:8px;padding:8px 16px;font-weight:700;transition:all .2s}.btn-theme.active{background:var(--accent-cyan);color:#000}.light-theme .stat-card,.light-theme .settings-group,.light-theme .dashboard-header{box-shadow:0 4px 12px #00000005;background:var(--surface-low)!important;border:1px solid var(--outline-variant)!important}.light-theme .sidebar-link:hover{background:#ebf0f4}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);background:var(--surface);color:var(--on-surface);overflow:hidden}#loading-screen{z-index:99999;opacity:0;pointer-events:none;background:#0a0e14f7;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0}#loading-screen.visible{opacity:1;pointer-events:all}#loading-screen.hiding{opacity:0;pointer-events:none}.ls-wrap{flex-direction:column;align-items:center;gap:20px;width:min(520px,92vw);display:flex}.ls-logo{align-items:center;gap:12px;display:flex}.ls-logo-icon{filter:drop-shadow(0 0 16px var(--accent-cyan));font-size:42px;animation:2s ease-in-out infinite ls-pulse}.ls-logo-text{font-family:var(--font-display);background:linear-gradient(90deg, var(--accent-cyan), var(--accent-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.ls-terminal{background:#05080de6;border:1px solid #00e5ff40;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 0 30px #00e5ff12,0 8px 32px #0009}.ls-terminal-bar{background:#ffffff08;border-bottom:1px solid #00e5ff1a;align-items:center;gap:6px;padding:8px 14px;display:flex}.ls-dot{border-radius:50%;width:10px;height:10px}.ls-dot-r{background:#ff5f57}.ls-dot-y{background:#febc2e}.ls-dot-g{background:#28c840}.ls-terminal-name{color:var(--outline);letter-spacing:.4px;font-size:11px;font-family:var(--font-mono);margin-left:8px}.ls-code-area{font-family:var(--font-mono);white-space:pre;min-height:280px;padding:20px 24px 24px;font-size:15px;line-height:1.85}.ls-code-k{color:var(--accent-purple);font-weight:600}.ls-code-f{color:var(--accent-cyan)}.ls-code-s{color:#f1fa8c}.ls-code-c{color:var(--outline);font-style:italic}.ls-code-v{color:#f8f8f2}.ls-code-p{color:#9aa7d1}.ls-code-n{color:#ffb86c}.ls-code-success{color:#50fa7b;text-shadow:0 0 8px #50fa7b66;font-weight:700}.ls-cursor{color:var(--accent-cyan);animation:.85s step-end infinite ls-blink}.ls-status{color:var(--outline);letter-spacing:1px;text-transform:uppercase;font-size:11px}.ls-status.ls-status-ok{color:#50fa7b}@keyframes ls-pulse{0%,to{filter:drop-shadow(0 0 10px var(--accent-cyan))}50%{filter:drop-shadow(0 0 26px var(--accent-cyan))}}@keyframes ls-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes ls-fade{0%{opacity:0}to{opacity:1}}#top-bar{z-index:100;height:var(--top-bar-height);background:var(--surface-container-low);border-bottom:1px solid var(--outline-variant);grid-template-columns:1fr auto 1fr;align-items:center;padding:0 16px;display:grid;position:fixed;top:0;left:0;right:0}.top-bar-brand{justify-self:start;align-items:center;gap:12px;display:flex}.top-nav{justify-self:center;align-items:center;gap:8px;height:100%;display:flex}#top-bar-actions{justify-self:end;align-items:center;gap:12px;display:flex}#top-bar-actions button{background:var(--surface-container-hi);color:var(--on-surface-variant);border:1px solid var(--outline-variant);font-size:12px;font-family:var(--font-sans);cursor:pointer;border-radius:6px;align-items:center;gap:6px;height:28px;padding:4px 12px;transition:background .15s,border-color .15s,color .15s;display:flex}#top-bar-actions button:hover{background:var(--surface-highest);color:var(--on-surface)}#top-bar-actions button .material-symbols-outlined{font-size:16px}#top-bar-actions .btn-open{color:var(--accent-cyan);background:#00e5ff12;border-color:#00e5ff33}#top-bar-actions .btn-open:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);background:#00e5ff26}#top-bar-actions .btn-save{color:var(--accent-amber);background:#ffc68712;border-color:#ffc68733}#top-bar-actions .btn-save:hover{border-color:var(--accent-amber);color:var(--accent-amber);background:#ffc68726}#top-bar-actions .btn-install{color:var(--accent-purple);background:#cdbdff12;border-color:#cdbdff38}#top-bar-actions .btn-install:hover{border-color:var(--accent-purple);color:var(--accent-purple);background:#cdbdff26}.top-bar-brand{flex-shrink:0;align-items:center;gap:12px;margin-right:32px;display:flex}.brand-name{font-family:var(--font-display);font-size:calc(var(--base-font-size) * 1.3);color:var(--accent-cyan);letter-spacing:-.5px;font-weight:700}.top-nav{gap:2px;height:100%;display:flex}.top-nav-link{color:var(--outline);font-family:var(--font-display);font-size:calc(var(--base-font-size) * .85);letter-spacing:.5px;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 16px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.top-nav-link .material-symbols-outlined{font-size:16px}.top-nav-link:hover{color:var(--on-surface)}.top-nav-link.active{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}#tabs-bar{background:var(--surface-container-low,#181c22);border-bottom:1px solid var(--outline-variant);align-items:center;gap:8px;height:36px;padding:0 8px;display:flex}#challenge-area{background:var(--surface-container-high);border:1px solid var(--outline-variant);box-shadow:var(--shadow-2);border-radius:12px;flex-direction:column;max-height:100%;margin:12px;padding:12px;display:none}#challenge-area.active{display:flex}.challenge-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.challenge-title-group{flex-direction:column;gap:4px;display:flex}.challenge-title-group h3{color:var(--primary);font-size:1.1rem;font-family:var(--font-display);margin:0}.challenge-progress-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--outline);font-size:11px;font-weight:700}.challenge-body{color:var(--on-surface-variant);max-height:240px;margin-bottom:12px;padding-right:4px;font-size:13px;line-height:1.5;overflow-y:auto}.challenge-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.challenge-actions{align-items:center;gap:12px;display:flex}.btn-submit-challenge{background:var(--primary);color:var(--on-primary);cursor:pointer;border:none;border-radius:20px;align-items:center;gap:8px;padding:8px 20px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn-submit-challenge:hover{background:var(--primary-fixed-dim);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.btn-submit-challenge:active{transform:scale(.98)}.btn-close-challenge{color:var(--outline);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background .2s;display:flex}.btn-close-challenge:hover{background:var(--surface-container-highest);color:var(--error)}.result-msg{font-size:13px;font-weight:500}.tabs-list{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs-list::-webkit-scrollbar{display:none}.tab-item{background:var(--surface-container);border:1px solid var(--outline-variant);height:28px;color:var(--outline);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:0 12px;font-size:11px;transition:all .15s;display:flex}.tab-item:hover{background:var(--surface-bright);color:var(--on-surface)}.tab-item.active{background:var(--surface-highest);color:var(--accent-cyan);border-color:var(--accent-cyan);font-weight:600}.tab-close{opacity:.5;transition:opacity .15s,color .15s;font-size:14px!important}.tab-close:hover{opacity:1;color:var(--error)}.btn-add-tab{color:var(--outline);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:background .15s,color .15s;display:flex}.btn-add-tab:hover{background:var(--surface-container);color:var(--accent-cyan)}.btn-add-tab .material-symbols-outlined{font-size:18px}.tab-rename-input{background:var(--surface-lowest);border:1px solid var(--accent-cyan);color:var(--on-surface);font-family:inherit;font-size:inherit;border-radius:4px;outline:none;width:80px;padding:2px 4px}.sidebar-actions{border-top:1px solid #3b494c33;flex-direction:column;gap:8px;padding:12px;display:flex}#toolbar{flex-direction:column;gap:6px;display:flex}#toolbar button{cursor:pointer;font-family:var(--font-sans);letter-spacing:.3px;border:none;border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 14px;transition:all .2s;display:flex}.btn-content{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.btn-content span{font-size:13px;font-weight:700}.btn-shortcut{opacity:.9;text-transform:uppercase;margin-top:2px;font-size:9px;font-weight:500}#toolbar button svg{flex-shrink:0;width:16px;height:16px}#toolbar .btn-run{background:var(--surface-highest);color:var(--accent-cyan);border:1px solid #00e5ff33}#toolbar .btn-run:hover{background:var(--surface-bright);border-color:var(--accent-cyan)}#toolbar .btn-stop{background:var(--error-container);color:var(--error)}#toolbar .btn-stop:hover{opacity:.85}#toolbar .btn-clear{background:var(--surface-container);color:var(--on-surface-variant);border:1px solid var(--outline-variant)}#toolbar .btn-clear:hover{background:var(--surface-highest);color:var(--on-surface)}#toolbar .btn-mode{background:var(--secondary-container);color:var(--secondary);margin-left:0}#toolbar .btn-mode:hover{opacity:.85}#toolbar .btn-save{color:var(--accent-amber);background:#ffc6871a;border:1px solid #ffc68733}#toolbar .btn-save:hover{border-color:var(--accent-amber);background:#ffc68733}#toolbar .btn-open{color:#64b5f6;background:#64b5f61a;border:1px solid #64b5f633}#toolbar .btn-open:hover{background:#64b5f633;border-color:#64b5f6}#xp-bar{color:var(--outline);font-size:11px;font-family:var(--font-sans);align-items:center;gap:8px;display:flex}#xp-bar .xp-track{background:var(--surface-bright);border-radius:2px;width:80px;height:4px;overflow:hidden}#xp-bar .xp-fill{background:linear-gradient(90deg, var(--primary-dim), var(--accent-cyan));border-radius:2px;height:4px;transition:width .3s}#ide-shell{transition:left .2s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:40px 0 28px 240px}#sidebar.collapsed+#ide-shell{left:0}#sidebar{z-index:110;background:var(--surface-low);border-right:1px solid var(--outline-variant);flex-direction:column;width:240px;transition:width .2s cubic-bezier(.4,0,.2,1),transform .2s;display:flex;position:fixed;top:40px;bottom:28px;left:0;overflow:hidden}#sidebar.collapsed{width:0}.btn-icon{color:var(--outline);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.btn-icon:hover{background:var(--surface-container);color:var(--on-surface)}.splitter.vertical{cursor:row-resize;background:var(--outline-variant);opacity:.3;z-index:10;height:4px;margin:0;transition:opacity .2s,background .2s}.splitter.vertical:hover,.splitter.vertical.dragging{opacity:1;background:var(--accent-cyan)}.sidebar-top{flex-direction:column;flex:1;gap:8px;padding:16px 12px 0;display:flex}.project-card{align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.project-icon{background:var(--primary-container);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.project-icon .material-symbols-outlined{color:var(--on-primary);font-size:20px}.project-meta{flex-direction:column;display:flex}.project-name{font-size:calc(var(--base-font-size) * .95);color:var(--on-surface);font-weight:500}.project-desc{font-size:calc(var(--base-font-size) * .7);color:var(--outline);margin-top:1px}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{color:var(--outline);font-size:calc(var(--base-font-size) * .85);border-left:3px solid #0000;border-radius:0;align-items:center;gap:12px;padding:10px 12px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:flex}.sidebar-link:hover{color:var(--on-surface);background:var(--surface-highest)}.sidebar-link.active{color:var(--accent-cyan);background:var(--surface-container);border-left-color:var(--accent-cyan)}.sidebar-link .material-symbols-outlined{flex-shrink:0;font-size:20px}.sidebar-label{font-family:var(--font-sans)}.sidebar-bottom{border-top:1px solid #3b494c4d;flex-direction:column;gap:2px;padding:12px;display:flex}#main-content{background:var(--surface);flex-direction:column;flex:1;display:flex;overflow:hidden}.ide-panel{flex:1;display:none;overflow:hidden}.ide-panel.active{flex-direction:column;display:flex}#panel-logic-explorer{padding:40px 40px 60px;overflow-y:auto}.gallery-header{margin-bottom:36px}.gallery-title{font-family:var(--font-display);font-size:calc(var(--base-font-size) * 2.5);color:var(--on-surface);letter-spacing:-.5px;margin-bottom:8px;font-weight:700}.module-title,.help-section-title{font-family:var(--font-display);font-size:calc(var(--base-font-size) * 1.5);color:var(--on-surface);margin-bottom:24px;font-weight:700}.gallery-desc{color:var(--on-surface-variant);max-width:600px;font-size:14px;line-height:1.6}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.gallery-card{border-radius:12px;position:relative;overflow:hidden}.gallery-card--wide{grid-column:span 2}.card-glow{opacity:0;pointer-events:none;filter:blur(32px);border-radius:12px;transition:opacity .3s;position:absolute;inset:0}.gallery-card:hover .card-glow{opacity:1}.glow-cyan{background:#00e5ff1f}.glow-amber{background:#ffc6871f}.glow-purple{background:#cdbdff1f}.glow-violet{background:#c0acff1f}.glow-indigo{background:#4f00d026}.card-inner{background:var(--surface-container);border:1px solid #3b494c4d;border-radius:12px;flex-direction:column;gap:0;height:100%;padding:24px;display:flex;position:relative}.card-inner--wide{gap:0}.shape-wrap{justify-content:center;margin-bottom:20px;display:flex}.shape-wrap--wide{justify-content:flex-start;margin-bottom:16px}.shape-parallelogram{clip-path:polygon(10% 0%,100% 0%,90% 100%,0% 100%);background:var(--accent-cyan);filter:drop-shadow(0 0 10px #00e5ff8c);justify-content:center;align-items:center;width:200px;height:48px;padding:2px 12px;display:flex}.shape-parallelogram:after{content:"";clip-path:polygon(10% 0%,100% 0%,90% 100%,0% 100%);background:var(--surface-lowest);z-index:0;position:absolute;inset:2px}.shape-parallelogram .shape-label{z-index:1;position:relative}.shape-diamond-wrap{background:var(--accent-amber);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);filter:drop-shadow(0 0 12px #ffc68799);justify-content:center;align-items:center;width:128px;height:128px;display:flex;position:relative}.shape-diamond{background:var(--surface-lowest);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);justify-content:center;align-items:center;display:flex;position:absolute;inset:3px}.shape-oval{background:var(--surface-lowest);border:2px solid var(--accent-purple);filter:drop-shadow(0 0 8px #cdbdff66);border-radius:999px;justify-content:center;align-items:center;width:100%;height:48px;display:flex}.shape-switch{background:var(--surface-lowest);border:2px solid var(--accent-violet);filter:drop-shadow(0 0 6px #c0acff4d);flex-direction:column;gap:8px;width:100%;padding:12px 16px;display:flex}.switch-bars{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.sbar{background:var(--accent-violet);border-radius:2px;height:3px}.sbar.dim{opacity:.3}.shape-function{background:var(--surface-lowest);filter:drop-shadow(0 0 10px #a78bfa59);border:4px double #a78bfa;justify-content:center;align-items:center;width:100%;height:56px;display:flex}.shape-label{font-family:var(--font-display);letter-spacing:1.5px;text-align:center;color:var(--accent-cyan);z-index:1;padding:0 20px;font-size:10px;font-weight:700;line-height:1.4;position:relative}.shape-label.amber{color:var(--accent-amber)}.shape-label.purple{color:var(--accent-purple)}.shape-label.violet{color:var(--accent-violet)}.shape-label.indigo{color:#a78bfa}.card-title{font-family:var(--font-display);font-size:calc(var(--base-font-size) * 1.15);color:var(--on-surface);margin-bottom:8px;font-weight:700}.card-desc{color:var(--outline);margin-bottom:16px;font-size:13px;line-height:1.55}.code-block{background:var(--surface-lowest);border-left:2px solid var(--accent-cyan);border-radius:4px;flex-direction:column;flex:1;gap:2px;padding:12px 14px;display:flex}.code-block.accent-amber{border-left-color:var(--accent-amber)}.code-block.accent-purple{border-left-color:var(--accent-purple)}.code-block.accent-violet{border-left-color:var(--accent-violet)}.code-block.accent-indigo{border-left-color:#a78bfa}.code-block .line{color:var(--on-surface);font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:12px;display:block}.code-block .line.accent{color:var(--accent-cyan)}.code-block .line.accent.amber{color:var(--accent-amber)}.code-block .line.accent.purple{color:var(--accent-purple)}.code-block .line.accent.violet{color:var(--accent-violet)}.code-block .line.accent.indigo{color:#a78bfa}.code-block .line.indent{margin-left:16px}.card-wide-body{flex:1;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:16px;display:grid}.card-footer{font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--outline);justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;font-size:10px;display:flex}.card-footer .material-symbols-outlined{font-size:16px}#panel-workspace{flex-direction:column}#panel-workspace.active{display:flex}#node-palette{background:var(--surface-low);border-top:1px solid #3b494c33;flex-direction:column;flex-shrink:0;gap:6px;padding:12px;display:none;overflow-y:auto}#node-palette.active{display:flex}.palette-node{background:var(--surface-container);border:1px solid var(--outline-variant);cursor:grab;color:var(--on-surface-variant);font-size:12px;font-family:var(--font-display);text-align:left;border-radius:6px;padding:8px 12px;font-weight:500;transition:all .15s}.palette-node:hover{border-color:var(--accent-cyan);color:var(--on-surface);background:var(--surface-highest)}#workspace{flex:1;display:flex;overflow:hidden}#left-panel{flex-direction:column;flex:1;min-width:200px;display:flex}.splitter.horizontal{cursor:col-resize;background:var(--surface-highest);z-index:10;flex-shrink:0;width:6px;transition:background .15s;position:relative}.splitter.horizontal:hover,.splitter.horizontal.dragging{background:var(--accent-cyan)}.splitter.horizontal:after{content:"⋮";color:var(--outline);font-size:14px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.splitter.vertical{cursor:row-resize;background:var(--surface-highest);flex-shrink:0;height:6px;transition:background .15s;position:relative}.splitter.vertical:hover,.splitter.vertical.dragging{background:var(--accent-cyan)}.splitter.vertical:after{content:"⋯";color:var(--outline);font-size:18px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#right-panel{flex-direction:column;flex:1;min-width:200px;display:flex}.right-panel-tabs{background:var(--surface-container);border-bottom:1px solid var(--outline-variant);flex-shrink:0;display:flex}.rp-tab{color:var(--outline);font-family:var(--font-display);letter-spacing:1px;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:8px 14px;font-size:10px;font-weight:600;transition:color .15s,border-color .15s;display:flex}.rp-tab .material-symbols-outlined{font-size:14px}.rp-tab:hover{color:var(--on-surface)}.rp-tab.active{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}.rp-pane{flex-direction:column;flex:1;display:none;overflow:hidden}.rp-pane.active{display:flex}#challenge-area{flex-shrink:0}#editor{flex:1;position:relative;overflow:hidden}.editor-loading{background:var(--surface);color:var(--outline);font-family:var(--font-display);justify-content:center;align-items:center;font-size:13px;animation:2s ease-in-out infinite editor-pulse;display:flex;position:absolute;inset:0}@keyframes editor-pulse{0%,to{opacity:.5}50%{opacity:.8}}#flowchart-container{flex:1;display:none;overflow:hidden}#flowchart-container.active{display:block}#terminal-wrapper{flex-direction:column;flex:1;min-height:100px;display:flex;overflow:hidden}#terminal{background:var(--surface-lowest);flex-direction:column;flex:1;font-family:Cascadia Code,Consolas,Courier New,monospace;font-size:13px;display:flex}.terminal-output{flex:1;padding:12px 16px;overflow-y:auto}.terminal-output .line{white-space:pre-wrap;word-break:break-all;line-height:1.6}.terminal-output .line.stdout{color:var(--on-surface)}.terminal-output .line.stderr{color:var(--error)}.terminal-output .line.warning{color:#f0ad4e;font-style:italic}.terminal-output .line.system{color:var(--outline);font-style:italic}.terminal-output .line.input-echo{color:var(--accent-cyan)}.terminal-input-row{background:var(--surface-lowest);border-top:1px solid #3b494c66;flex-shrink:0;align-items:center;padding:8px 16px;display:flex}.terminal-input-row input:disabled{opacity:.4}.terminal-input-row input::placeholder{color:var(--outline);opacity:.5}.terminal-input-row .prompt-text{color:var(--primary-dim);white-space:nowrap;margin-right:8px}.terminal-input-row input{color:var(--on-surface);font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none;flex:1}#challenge-panel{background:var(--surface-container);flex-shrink:0;height:120px;padding:16px;display:none;overflow-y:auto}#challenge-panel.active{display:block}#challenge-panel h3{color:var(--primary-dim);font-family:var(--font-display);margin-bottom:8px;font-size:14px}#challenge-panel p{color:var(--on-surface-variant);margin-bottom:12px;font-size:13px}#challenge-panel .btn-submit{background:var(--tertiary-container);color:#1a0a00;cursor:pointer;font-size:13px;font-family:var(--font-sans);border:none;border-radius:4px;padding:6px 16px;font-weight:600}#challenge-panel .btn-submit:hover{opacity:.85}#status-bar{z-index:100;background:var(--surface-lowest);border-top:1px solid var(--outline-variant);align-items:center;height:28px;padding:0 16px 0 240px;display:flex;position:fixed;bottom:0;left:0;right:0}.status-info{font-family:var(--font-display);font-size:calc(var(--base-font-size) * .7);letter-spacing:1px;color:var(--outline);align-items:center;gap:16px;margin-left:auto;font-weight:600;display:flex}.drawflow{background:var(--surface-dim)!important;cursor:grab!important;background-image:radial-gradient(circle,#3b494c66 1px,#0000 1px)!important;background-size:20px 20px!important}.drawflow:active{cursor:grabbing!important}.drawflow .drawflow-node{cursor:pointer;position:absolute;box-shadow:none!important;color:var(--on-surface)!important;background:0 0!important;border:none!important;border-radius:0!important;flex-direction:column!important;min-width:auto!important;padding:0!important;display:flex!important}.drawflow .drawflow-node.selected{box-shadow:none!important}.drawflow .drawflow-node:hover{border:none!important}.drawflow .drawflow_content_node{position:relative}.drawflow .drawflow-node .inputs,.drawflow .drawflow-node .outputs{pointer-events:none;justify-content:center;align-items:center;z-index:5!important;gap:20px!important;height:0!important;display:flex!important;position:absolute!important;left:50%!important;overflow:visible!important;transform:translate(-50%)!important}.drawflow .drawflow-node .inputs{top:0!important;bottom:auto!important;transform:translate(-50%,-50%)!important}.drawflow .drawflow-node .outputs{top:auto!important;bottom:0!important;transform:translate(-50%,50%)!important}.drawflow .drawflow-node .input,.drawflow .drawflow-node .output{pointer-events:all;cursor:crosshair;transition:transform .15s;background:0 0!important;border:none!important;border-radius:50%!important;flex-shrink:0!important;width:24px!important;height:24px!important;margin:0!important;position:relative!important}.drawflow .drawflow-node .input:after,.drawflow .drawflow-node .output:after{content:"";pointer-events:none;z-index:10;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;position:absolute}.drawflow .drawflow-node .input:after{border-top:9px solid var(--primary-dim);top:3px;left:50%;transform:translate(-50%)}.drawflow .drawflow-node .output:after{border-top:9px solid var(--primary-dim);bottom:2px;left:50%;transform:translate(-50%)}.drawflow .drawflow-node .input:hover,.drawflow .drawflow-node .output:hover{transform:scale(1.3)}.drawflow .drawflow-node.se .inputs,.drawflow .drawflow-node.enquanto .inputs,.drawflow .drawflow-node.para .inputs,.drawflow .drawflow-node.escolha .inputs,.drawflow .drawflow-node.se .outputs,.drawflow .drawflow-node.enquanto .outputs,.drawflow .drawflow-node.para .outputs,.drawflow .drawflow-node.escolha .outputs{gap:0!important;width:100%!important;height:100%!important;display:block!important;position:absolute!important;inset:0!important;overflow:visible!important;transform:none!important}.drawflow .drawflow-node.se .output,.drawflow .drawflow-node.enquanto .output,.drawflow .drawflow-node.para .output{position:absolute!important}.drawflow .drawflow-node.se .output.output_1,.drawflow .drawflow-node.enquanto .output.output_1,.drawflow .drawflow-node.para .output.output_1{background:var(--primary-dim)!important;width:14px!important;height:14px!important;top:50%!important;transform:translateY(-50%)!important}.drawflow .drawflow-node.se .output.output_2,.drawflow .drawflow-node.enquanto .output.output_2,.drawflow .drawflow-node.para .output.output_2{background:var(--error)!important;width:14px!important;height:14px!important;top:50%!important;transform:translateY(-50%)!important}.drawflow .drawflow-node.se .output.output_2:after,.drawflow .drawflow-node.enquanto .output.output_2:after,.drawflow .drawflow-node.para .output.output_2:after{border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:8px solid var(--error);border-left:none;top:50%;left:-6px;transform:translateY(-50%)}.drawflow .drawflow-node.se .output.output_1:after,.drawflow .drawflow-node.enquanto .output.output_1:after,.drawflow .drawflow-node.para .output.output_1:after{border-top:6px solid #0000;border-bottom:6px solid #0000;border-left:8px solid var(--primary-dim);border-right:none;top:50%;left:auto;right:-6px;transform:translateY(-50%)}.drawflow .drawflow-node.escolha .output{width:12px!important;height:12px!important;margin:0!important;position:absolute!important}.drawflow .connection .main-path{stroke-dasharray:15 5;stroke-linecap:round;filter:drop-shadow(0 0 3px #fff);transition:stroke .2s,stroke-width .2s;animation:1s linear infinite drawflow-pulse;stroke:var(--primary-dim)!important;stroke-width:3px!important;fill:none!important}@keyframes drawflow-pulse{0%{stroke-dashoffset:36px}to{stroke-dashoffset:0}}.drawflow .connection .main-path:hover{cursor:pointer;stroke:var(--accent-cyan)!important;stroke-width:4px!important}.drawflow .connection.selected .main-path{filter:drop-shadow(0 0 5px var(--accent-cyan));stroke:var(--accent-cyan)!important;stroke-width:5px!important}.drawflow .connection.line-red .main-path{stroke:var(--error)!important;filter:drop-shadow(0 0 5px var(--error))!important}.drawflow .drawflow-delete{background:var(--error-container)!important;color:var(--error)!important;border:none!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:18px!important;height:18px!important;font-size:11px!important;display:flex!important}.df-shape{text-align:center;font-family:var(--font-display);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;transition:filter .2s;display:flex;position:relative}.df-label{letter-spacing:.8px;font-size:11px;font-weight:700;display:block}.df-preview{color:var(--on-surface-variant);text-overflow:ellipsis;white-space:nowrap;max-width:100px;margin-top:2px;font-family:Cascadia Code,Consolas,monospace;font-size:10px;font-weight:400;display:block;overflow:hidden}.drawflow .drawflow-node:hover .df-shape{filter:brightness(1.15)}.drawflow .drawflow-node.selected .df-shape{filter:brightness(1.25)}.df-terminal{background:var(--surface-container);border-radius:999px;min-width:100px;padding:14px 36px}.df-start{filter:drop-shadow(0 0 8px #00daf34d);border:2px solid #00daf380}.df-start .df-label{color:var(--primary-dim)}.df-end{filter:drop-shadow(0 0 8px #ffb4ab4d);border:2px solid #ffb4ab80}.df-end .df-label{color:var(--error)}.df-return{filter:drop-shadow(0 0 8px #ffc6874d)!important;border-color:#ffc68780!important}.df-return .df-label{color:var(--accent-amber)!important}.df-diamond-wrap{background:var(--accent-amber);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);filter:drop-shadow(0 0 12px #ffc68773);justify-content:center;align-items:center;width:130px;height:130px;display:flex;position:relative}.df-diamond{background:var(--surface-container);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:4px}.df-diamond .df-label{color:var(--accent-amber)}.df-diamond-escolha .df-label{color:var(--primary-dim)}.df-hex-outer{background:var(--accent-purple);clip-path:polygon(20% 0%,80% 0%,100% 50%,80% 100%,20% 100%,0% 50%);filter:drop-shadow(0 0 10px #cdbdff73);justify-content:center;align-items:center;min-width:140px;padding:3px 10px;display:flex;position:relative}.df-hex-inner{background:var(--surface-container);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:14px 30px;display:flex}.df-hex-inner .df-label{color:var(--accent-purple)}.df-process{background:var(--surface-container);border:2px solid var(--outline-variant);min-width:120px;padding:14px 24px}.df-process .df-label{color:var(--on-surface-variant)}.df-declare{border-color:#a5d6a780}.df-declare .df-label{color:#a5d6a7}.df-io{background:var(--surface-container);border:2px solid var(--accent-cyan);filter:drop-shadow(0 0 8px #00e5ff40);min-width:120px;padding:14px 32px;transform:skew(-16deg)}.df-io>*{transform:skew(16deg)}.df-io .df-label{color:var(--accent-cyan)}.df-io-out{filter:drop-shadow(0 0 8px #64b5f640);border-color:#64b5f6}.df-io-out .df-label{color:#64b5f6}.df-shape-svg-container{pointer-events:none;justify-content:center;align-items:center;display:flex;position:relative}.df-diamond-svg,.df-hex-svg{filter:drop-shadow(0 0 8px #ffc68733);transition:transform .2s}.df-diamond-svg polygon{fill:var(--surface-container);stroke:var(--accent-amber);stroke-width:2.5px}.df-hex-svg{filter:drop-shadow(0 0 8px #cdbdff33)}.df-hex-svg polygon{fill:var(--surface-container);stroke:var(--accent-purple);stroke-width:2.5px}.df-diamond-content,.df-hex-content{text-align:center;pointer-events:none;z-index:2;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.df-diamond-content .df-label{color:var(--accent-amber);font-size:11px;font-weight:700}.df-hex-content .df-label{color:var(--accent-purple);font-size:11px;font-weight:700}.drawflow-node:hover .df-diamond-svg,.drawflow-node:hover .df-hex-svg{transform:scale(1.02)}.df-diamond-escolha-svg polygon{stroke:var(--primary-dim)}.df-predefined{background:var(--surface-container);filter:drop-shadow(0 0 8px #a78bfa4d);border:2px solid #a78bfa;min-width:120px;padding:14px 24px;position:relative}.df-predefined:before,.df-predefined:after{content:"";background:#a78bfa;width:2px;position:absolute;top:0;bottom:0}.df-predefined:before{left:8px}.df-predefined:after{right:8px}.df-predefined .df-label{color:#a78bfa}.out-label{font-size:9px;font-family:var(--font-display);letter-spacing:.5px;white-space:nowrap;pointer-events:none;z-index:2;position:absolute}.out-label.out-true{color:var(--primary-dim)}.out-label.out-false{color:var(--error)}.out-label-right{top:50%;transform:translate(calc(100% + 4px),-50%)}.out-label-left{top:50%;transform:translate(calc(-100% - 4px),-50%)}.node-outputs-label{pointer-events:none;font-size:calc(var(--base-font-size) * .6);font-family:var(--font-display);letter-spacing:.5px}.node-outputs-label .out-case{color:var(--accent-purple)}.node-outputs-label .out-false{color:var(--error)}.quick-connect-menu{z-index:1000;-webkit-backdrop-filter:blur(16px);border:1px solid var(--outline-variant);pointer-events:all;background:#1c2026e6;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:12px;min-width:340px;padding:12px;animation:.2s cubic-bezier(.18,.89,.32,1.28) qcm-pop;display:grid;position:fixed;box-shadow:0 12px 48px #00000080}@keyframes qcm-pop{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.qcm-item{background:var(--surface-container-high);cursor:pointer;color:var(--on-surface-variant);border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px;transition:all .2s;display:flex}.qcm-item:hover{background:var(--surface-highest);border-color:var(--accent-cyan);color:var(--on-surface);transform:translateY(-2px)}.qcm-icon{background:var(--surface-low);border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:2px;display:flex}.qcm-item span{font-size:10px;font-weight:600;font-family:var(--font-display);text-align:center}.qcm-item[data-type=saida] .qcm-icon,.qcm-item[data-type=entrada] .qcm-icon{color:var(--accent-cyan)}.qcm-item[data-type=se] .qcm-icon,.qcm-item[data-type=escolha] .qcm-icon{color:var(--accent-amber)}.qcm-item[data-type=enquanto] .qcm-icon,.qcm-item[data-type=para] .qcm-icon{color:var(--accent-purple)}.qcm-item[data-type=fim] .qcm-icon{color:var(--error)}.qcm-item[data-type=declaracao] .qcm-icon,.qcm-item[data-type=atribuicao] .qcm-icon{color:var(--on-surface)}.qcm-shape{background:rgba(var(--primary-rgb), .05);border:2px solid;justify-content:center;align-items:center;width:32px;height:20px;transition:all .2s;display:flex;position:relative}.qcm-item:hover .qcm-shape{background:rgba(var(--primary-rgb), .15);box-shadow:0 0 10px rgba(currentColor, .3);transform:scale(1.15)}.qcm-item[data-type=se] .qcm-shape,.qcm-item[data-type=escolha] .qcm-shape{background:#ffc6871a}.qcm-item[data-type=enquanto] .qcm-shape,.qcm-item[data-type=para] .qcm-shape{background:#cdbdff1a}.qcm-shape.parallelogram{clip-path:polygon(15% 0%,100% 0%,85% 100%,0% 100%)}.qcm-shape.diamond{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);width:20px;height:20px}.qcm-shape.hexagon{clip-path:polygon(20% 0%,80% 0%,100% 50%,80% 100%,20% 100%,0% 50%);width:30px;height:20px}.qcm-shape.capsule{border-radius:999px;width:30px;height:16px}.qcm-shape.rectangle{width:30px;height:20px}.qcm-shape.declaracao:before{content:"";background:currentColor;width:2px;position:absolute;top:0;bottom:0;left:6px}.node-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0e14b3;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.node-modal-overlay.open{display:flex}.node-modal{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:12px;min-width:340px;max-width:440px;animation:.15s ease-out modalIn;box-shadow:0 16px 64px #0009}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.node-modal-header{border-bottom:1px solid #3b494c4d;padding:16px 20px 12px}.node-modal-title{font-family:var(--font-display);font-size:calc(var(--base-font-size) * 1.15);color:var(--on-surface);font-weight:700}.node-modal-body{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.modal-field label{font-size:calc(var(--base-font-size) * .8);color:var(--outline);font-weight:500;font-family:var(--font-sans);letter-spacing:.3px;margin-bottom:4px;display:block}.modal-input{background:var(--surface-lowest);border:none;border-bottom:2px solid var(--outline-variant);width:100%;color:var(--on-surface);font-size:calc(var(--base-font-size) * .9);border-radius:4px 4px 0 0;padding:8px 10px;font-family:Cascadia Code,Consolas,monospace;transition:border-color .15s}select.modal-input{cursor:pointer;font-family:var(--font-sans)}textarea.modal-input{resize:vertical;min-height:80px;line-height:1.5}.modal-input:focus{border-bottom-color:var(--accent-cyan);outline:none}.node-modal-footer{border-top:1px solid #3b494c33;justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.btn-modal-cancel{border:1px solid var(--outline-variant);color:var(--on-surface-variant);font-size:calc(var(--base-font-size) * .85);font-weight:600;font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:6px;padding:8px 20px;transition:all .15s}.btn-modal-cancel:hover{background:var(--surface-highest);color:var(--on-surface)}.btn-modal-ok{background:linear-gradient(135deg, var(--primary-dim), var(--accent-cyan));color:var(--on-primary);font-size:12px;font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:6px;padding:8px 28px;transition:opacity .15s}.btn-modal-ok:hover{opacity:.85}.modal-input-quote-wrapper{align-items:center;width:100%;position:relative;display:flex!important}.modal-input-quote-wrapper:before,.modal-input-quote-wrapper:after{content:"\"";color:var(--accent-cyan);pointer-events:none;font-size:28px;font-weight:700;font-family:var(--font-display);opacity:.8;z-index:5;position:absolute;top:50%;transform:translateY(-50%)}.modal-input-quote-wrapper:before{left:12px}.modal-input-quote-wrapper:after{right:12px}.modal-input-quote-wrapper .modal-input{flex:1;padding-left:32px!important;padding-right:32px!important}#debug-panel{background:var(--surface-lowest);flex-direction:column;height:100%;display:flex}.debug-header{background:var(--surface-container);border-bottom:1px solid var(--outline-variant);font-family:var(--font-display);font-size:calc(var(--base-font-size) * .8);color:var(--on-surface-variant);letter-spacing:.5px;flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;font-weight:600;display:flex}.debug-header .material-symbols-outlined{color:var(--accent-cyan);font-size:16px}.debug-clear-btn{color:var(--outline);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px;transition:color .15s}.debug-clear-btn:hover{color:var(--error)}.debug-clear-btn .material-symbols-outlined{font-size:16px}.debug-table-wrap{flex:1;padding:4px 0;overflow-y:auto}.debug-table{border-collapse:collapse;width:100%;font-family:Cascadia Code,Consolas,monospace;font-size:calc(var(--base-font-size) * .85)}.debug-table thead th{background:var(--surface-container);text-align:left;font-family:var(--font-display);font-size:calc(var(--base-font-size) * .7);letter-spacing:.8px;color:var(--outline);border-bottom:1px solid var(--outline-variant);padding:6px 12px;font-weight:600;position:sticky;top:0}.debug-table td{color:var(--on-surface);border-bottom:1px solid #3b494c26;padding:6px 12px}.debug-var-name{font-weight:600;color:var(--accent-cyan)!important}.debug-var-value{color:var(--on-surface)!important}.debug-type-badge{font-size:10px;font-family:var(--font-sans);letter-spacing:.3px;border-radius:3px;padding:1px 6px;font-weight:600;display:inline-block}.debug-type-numero,.debug-type-moeda{color:var(--accent-cyan);background:#00e5ff26}.debug-type-texto,.debug-type-caracter{color:var(--accent-amber);background:#ffc68726}.debug-type-logico{color:var(--accent-purple);background:#cdbdff26}.debug-type-vetor,.debug-type-matriz{color:var(--accent-violet);background:#c0acff26}.debug-type-auto{color:var(--outline);background:#84939626}.debug-active-update{border-left:3px solid var(--primary);background:rgba(var(--primary-rgb), .1)!important}.debug-var-line{color:var(--on-surface-variant);font-family:var(--font-mono);text-align:center;font-size:11px}@keyframes debug-flash{0%{background:var(--tertiary-container)}to{background:0 0}}.debug-flash{animation:1s ease-out debug-flash}.debug-empty{color:var(--outline);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex}.debug-empty .material-symbols-outlined{opacity:.4;font-size:32px}.debug-empty p{font-size:12px;line-height:1.5}.debug-hint{opacity:.6;font-size:11px!important}.page-scroll{scrollbar-width:thin;scrollbar-color:var(--outline-variant) transparent;flex:1;height:100%;padding:40px 40px 60px;overflow-y:auto}.page-scroll::-webkit-scrollbar{width:6px}.page-scroll::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:3px}.challenges-content{max-width:900px;margin:0 auto}.challenges-overview{background:var(--surface-container);border:1px solid #3b494c4d;border-radius:12px;align-items:center;gap:24px;margin-bottom:32px;padding:20px 24px;display:flex}.overview-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.overview-number{font-family:var(--font-display);font-size:calc(var(--base-font-size) * 1.7);color:var(--accent-cyan);font-weight:700}.overview-label{font-size:calc(var(--base-font-size) * .7);letter-spacing:1px;color:var(--outline);font-weight:600;font-family:var(--font-display)}.overview-progress{flex:1;align-items:center;gap:12px;margin-left:16px;display:flex}.overview-bar{background:var(--surface-bright);border-radius:3px;flex:1;height:6px;overflow:hidden}.overview-fill{background:linear-gradient(90deg, var(--primary-dim), var(--accent-cyan));border-radius:3px;height:100%;transition:width .4s}.overview-pct{font-family:var(--font-display);font-size:calc(var(--base-font-size) * .85);color:var(--accent-cyan);font-weight:700}.challenges-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.challenge-card{background:var(--surface-container);border:1px solid #3b494c4d;border-radius:10px;flex-direction:column;gap:10px;padding:20px;transition:border-color .2s,transform .15s;display:flex}.challenge-card:hover{border-color:var(--accent-cyan);transform:translateY(-2px)}.challenge-card.completed{border-color:#4caf504d}.challenge-card.locked{opacity:.7;filter:grayscale(.8);cursor:not-allowed;border-style:dashed}.challenge-card.locked .challenge-card-title,.challenge-card.locked .challenge-card-desc,.challenge-card.locked .challenge-xp{color:var(--outline)}.challenge-card.locked .challenge-start-btn{background:var(--surface-container-high);color:var(--outline);cursor:not-allowed}.challenge-card-header{justify-content:space-between;align-items:center;display:flex}.challenge-number{font-family:var(--font-display);font-size:calc(var(--base-font-size) * 2);color:var(--surface-bright);font-weight:700}.awards-row{background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:12px;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:16px;display:flex}.gadget-badge{background:var(--tertiary-container);color:#1a0a00;border:1px solid #1a0a001a;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000001a}.challenge-module{margin-bottom:40px}.module-title{color:var(--secondary);border-bottom:2px solid var(--outline-variant);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:8px;font-size:1.25rem;display:flex}.challenge-status-icon{color:var(--outline);font-size:20px}.challenge-card.completed .challenge-status-icon{color:#4caf50}.challenge-card-title{font-family:var(--font-display);color:var(--on-surface);font-size:15px;font-weight:700}.challenge-card-desc{color:var(--outline);flex:1;font-size:12px;line-height:1.5}.challenge-card-footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.challenge-xp{font-family:var(--font-display);color:var(--accent-amber);letter-spacing:.5px;font-size:11px;font-weight:700}.challenge-start-btn{background:var(--surface-highest);color:var(--accent-cyan);font-size:11px;font-weight:600;font-family:var(--font-sans);cursor:pointer;border:1px solid #00e5ff33;border-radius:6px;padding:6px 16px;transition:all .15s}.challenge-start-btn:hover{background:var(--surface-bright);border-color:var(--accent-cyan)}.help-content{max-width:900px;margin:0 auto}.help-section{margin-bottom:48px;animation:.3s ease-out fadeIn;display:none}.help-section.active{display:block}.help-section-title{font-family:var(--font-display);color:var(--on-surface);border-bottom:1px solid var(--outline-variant);align-items:center;gap:10px;margin-bottom:20px;padding-bottom:10px;font-size:20px;font-weight:700;display:flex}.help-section-title .material-symbols-outlined{color:var(--accent-cyan);font-size:22px}.help-tabs{border-bottom:1px solid #ffffff0d;flex-wrap:wrap;gap:16px 32px;margin-bottom:40px;padding-bottom:2px;display:flex}.help-tab-btn{color:var(--outline);font-family:var(--font-display);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:12px 4px;font-size:15px;font-weight:600;transition:color .2s;display:flex;position:relative}.help-tab-btn:hover{color:#fff}.help-tab-btn.active{color:var(--accent-cyan)}.help-tab-btn.active:after{content:"";background:var(--accent-cyan);height:2px;box-shadow:0 0 10px var(--accent-cyan);border-radius:4px;position:absolute;bottom:-2px;left:0;right:0}.help-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.help-card{background:var(--surface-container);border:1px solid #3b494c4d;border-radius:10px;flex-direction:column;gap:12px;padding:20px;display:flex}.help-card-shape{justify-content:center;align-items:center;min-height:60px;display:flex}.help-card-body h3{font-family:var(--font-display);color:var(--on-surface);margin-bottom:6px;font-size:14px;font-weight:700}.help-card-body p{color:var(--outline);font-size:12px;line-height:1.55}.help-card-body code{background:var(--surface-lowest);color:var(--accent-cyan);border-radius:4px;margin-top:8px;padding:4px 8px;font-family:Cascadia Code,Consolas,monospace;font-size:11px;display:inline-block}.help-card-syntax h3{font-family:var(--font-display);color:var(--on-surface);margin-bottom:10px;font-size:14px;font-weight:700}.syntax-table{border-collapse:collapse;width:100%}.syntax-table td{border-bottom:1px solid #3b494c26;padding:5px 8px;font-size:12px}.syntax-table td:first-child{color:var(--accent-cyan);white-space:nowrap;width:40%;font-family:Cascadia Code,Consolas,monospace}.syntax-table td:last-child{color:var(--outline)}.help-tips{flex-direction:column;gap:12px;display:flex}.help-tip{background:var(--surface-container);border:1px solid #3b494c4d;border-radius:10px;align-items:flex-start;gap:16px;padding:16px;display:flex}.tip-number{width:32px;height:32px;font-family:var(--font-display);color:var(--accent-cyan);background:#00e5ff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.help-tip h4{font-family:var(--font-display);color:var(--on-surface);margin-bottom:4px;font-size:13px;font-weight:700}.help-tip p{color:var(--outline);font-size:12px;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.glass-overlay{animation:.3s ease-out fadeIn}.dashboard-wrapper,.typing-wrapper{color:var(--on-surface);font-family:var(--font-sans)}.stat-card{cursor:default;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s}.stat-card:hover{border-color:#ffffff1a;transform:translateY(-5px);box-shadow:0 10px 20px #00000080}.medal-slot{transition:transform .2s}.medal-slot:hover{transform:scale(1.05)}.medal-icon{transition:background .2s;box-shadow:inset 0 0 15px #ffffff05}.medal-slot:hover .medal-icon{background:#ffffff14}#typing-box{transition:border-color .2s,box-shadow .2s}#typing-box:focus-within{border-color:var(--accent-cyan);box-shadow:0 0 20px #00e5ff1a}.material-symbols-outlined{vertical-align:middle}#tour-overlay{z-index:90000;pointer-events:none;background:0 0;transition:background .4s;position:fixed;inset:0}#tour-overlay.visible{pointer-events:all;background:#000000a6}#tour-overlay.hiding{pointer-events:none;background:0 0}#tour-spotlight{pointer-events:none;z-index:90001;background:0 0;border-radius:12px;outline:2px solid #00e5ff99;transition:all .4s cubic-bezier(.4,0,.2,1);display:none;position:fixed;box-shadow:0 0 0 9999px #000000a6}#tour-card{background:var(--surface-container);z-index:90002;border:1px solid #00e5ff33;border-radius:20px;width:340px;padding:28px;animation:.35s cubic-bezier(.34,1.56,.64,1) tour-pop;position:fixed;box-shadow:0 20px 60px #0009,0 0 30px #00e5ff1a}@keyframes tour-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}#tour-card.tour-pos-bottom,#tour-card.tour-pos-top,#tour-card.tour-pos-left{animation:.35s cubic-bezier(.34,1.56,.64,1) tour-slide}@keyframes tour-slide{0%{opacity:0;transform:translateY(12px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.tour-card-icon{text-align:center;margin-bottom:12px;font-size:40px}.tour-step-count{color:var(--outline);letter-spacing:1px;text-align:center;text-transform:uppercase;margin-bottom:8px;font-size:11px}.tour-card-title{font-family:var(--font-display);color:#fff;text-align:center;margin:0 0 12px;font-size:20px;font-weight:700}.tour-card-body{color:var(--outline);text-align:center;margin:0 0 20px;font-size:14px;line-height:1.6}.tour-card-body code{background:var(--surface-container-hi);color:var(--accent-cyan);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:13px}.tour-progress-bar{background:var(--outline-variant);border-radius:2px;height:4px;margin-bottom:20px;overflow:hidden}.tour-progress-fill{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-purple));border-radius:2px;height:100%;transition:width .4s}.tour-card-actions{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.tour-left-actions{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.tour-right-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.tour-btn-skip{color:var(--outline);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:12px;transition:color .2s}.tour-btn-skip:hover{color:var(--on-surface)}.tour-btn-prev{background:var(--surface-container-hi);border:1px solid var(--outline-variant);color:var(--on-surface);cursor:pointer;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:600;transition:background .2s}.tour-btn-prev:hover{background:var(--surface-bright)}.tour-btn-next{background:var(--accent-cyan);color:#000;cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:700;transition:box-shadow .2s,transform .1s}.tour-btn-next:hover{transform:translateY(-1px);box-shadow:0 0 16px #00e5ff80}.tour-btn-finish{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-purple))}#mobile-run-btn,#nav-toggle-btn,.nav-overlay,#nav-mobile-actions{display:none}@media (width<=767px){#top-bar{justify-content:space-between;align-items:center;padding:0 10px;display:flex}.brand-name{display:none}#top-bar-actions{gap:4px}#mobile-run-btn{color:var(--accent-cyan);font-size:12px;font-family:var(--font-sans);cursor:pointer;background:#00e5ff1a;border:1px solid #00e5ff40;border-radius:6px;align-items:center;gap:4px;width:80px;height:28px;padding:4px 10px;font-weight:500;display:flex}#mobile-run-btn:active{background:#00e5ff40;transform:translateY(3px)}#mobile-run-btn .material-symbols-outlined{font-size:16px}#nav-toggle-btn{display:flex}.top-nav{background:var(--surface-low);border-left:1px solid var(--outline-variant);z-index:200;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;width:220px;height:100dvh;padding:56px 12px 32px;transition:right .25s cubic-bezier(.4,0,.2,1);position:fixed;top:0;right:-240px;overflow-y:auto}.top-nav.nav-open{right:0}.top-nav-link{border-radius:8px;justify-content:flex-start;gap:10px;width:100%;padding:12px 14px;font-size:13px}.top-nav-link.active{background:var(--surface-container-hi);color:var(--accent-cyan)}.nav-overlay{z-index:99;background:#00000059;position:fixed;inset:0}.nav-overlay.visible{display:block}#workspace{flex-direction:column}.splitter.horizontal{display:none}#left-panel{min-width:0;flex:none!important;width:100%!important;height:55%!important}#right-panel{border-top:1px solid var(--outline-variant);min-width:0;flex:none!important;width:100%!important;height:calc(45% - 6px)!important}.splitter.vertical{height:4px}.settings-wrapper,.settings-group{padding:20px!important}#ide-shell{left:0!important}#sidebar{z-index:150;background:var(--surface-low);width:250px;position:absolute;top:0;bottom:0;left:0;box-shadow:4px 0 16px #0006}#sidebar.collapsed{width:0;box-shadow:none;border-right:none}#nav-mobile-actions{border-top:1px solid var(--outline-variant);flex-direction:column;gap:4px;margin-top:12px;padding-top:12px;display:flex}#nav-mobile-actions .nav-action-btn{font-size:13px;font-family:var(--font-sans);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}#nav-mobile-actions .nav-action-btn.btn-open{color:var(--accent-cyan);background:#00e5ff0f;border-color:#00e5ff33}#nav-mobile-actions .nav-action-btn.btn-save{color:var(--accent-amber);background:#ffc6870f;border-color:#ffc68733}#top-bar-actions .btn-open,#top-bar-actions .btn-save,#top-bar-actions .btn-install{display:none}}.drawflow,.drawflow .parent-node{position:relative}.parent-drawflow{touch-action:none;outline:0;display:flex;overflow:hidden}.drawflow{-webkit-user-select:none;user-select:none;perspective:0;width:100%;height:100%}.drawflow .drawflow-node{color:#000;z-index:2;background:#0ff;border:2px solid #000;border-radius:4px;align-items:center;width:160px;min-height:40px;padding:15px;display:flex;position:absolute}.drawflow .drawflow-node.selected{background:red}.drawflow .drawflow-node:hover{cursor:move}.drawflow .drawflow-node .inputs,.drawflow .drawflow-node .outputs{width:0}.drawflow .drawflow-node .drawflow_content_node{width:100%;display:block}.drawflow .drawflow-node .input,.drawflow .drawflow-node .output{cursor:crosshair;z-index:1;background:#fff;border:2px solid #000;border-radius:50%;width:20px;height:20px;margin-bottom:5px;position:relative}.drawflow .drawflow-node .input{background:#ff0;top:2px;left:-27px}.drawflow .drawflow-node .output{top:2px;right:-3px}.drawflow svg{z-index:0;position:absolute;overflow:visible!important}.drawflow .connection{pointer-events:none;aspect-ratio:1;position:absolute}.drawflow .connection .main-path{fill:none;stroke-width:5px;stroke:#4682b4;pointer-events:all}.drawflow .connection .main-path:hover{stroke:#1266ab;cursor:pointer}.drawflow .connection .main-path.selected{stroke:#43b993}.drawflow .connection .point{cursor:move;stroke:#000;stroke-width:2px;fill:#fff;pointer-events:all}.drawflow .connection .point.selected,.drawflow .connection .point:hover{fill:#1266ab}.drawflow .main-path{fill:none;stroke-width:5px;stroke:#4682b4}.drawflow-delete{color:#fff;z-index:4;text-align:center;cursor:pointer;background:#000;border:2px solid #fff;border-radius:50%;width:30px;height:30px;font-family:monospace;font-weight:700;line-height:30px;display:block;position:absolute}.drawflow>.drawflow-delete{margin-top:15px;margin-left:-15px}.parent-node .drawflow-delete{top:-15px;right:-15px}
