:root{--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:#849396;--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}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--surface);height:100%;color:var(--on-surface);font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}#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(--primary);color:var(--on-primary);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;height:28px;padding:4px 12px;font-size:12px;transition:filter .2s;display:flex}#top-bar-actions button:hover{filter:brightness(1.1)}#top-bar-actions button .material-symbols-outlined{font-size:16px}.top-bar-brand{flex-shrink:0;align-items:center;gap:12px;margin-right:32px;display:flex}.brand-name{color:var(--accent-cyan);letter-spacing:-.5px;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700}.top-nav{gap:2px;height:100%;display:flex}.top-nav-link{color:var(--outline);letter-spacing:.5px;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 16px;font-family:Space Grotesk,sans-serif;font-size:11px;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-1);border-radius:16px;flex-direction:column;margin:12px;padding:16px;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);margin:0;font-family:Space Grotesk,sans-serif;font-size:1.1rem}.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);margin-bottom:20px;font-size:14px;line-height:1.5}.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);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:8px;padding:0 12px;font-family:Inter,sans-serif;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;letter-spacing:.3px;border:none;border-radius:6px;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:all .2s;display:flex}#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);align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:11px;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{display:flex;position:fixed;inset:40px 0 28px}#sidebar{background:var(--surface-low);flex-direction:column;flex-shrink:0;width:240px;transition:width .2s cubic-bezier(.4,0,.2,1);display:flex;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{color:var(--on-surface);font-size:13px;font-weight:500}.project-desc{color:var(--outline);margin-top:1px;font-size:10px}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{color:var(--outline);border-left:3px solid #0000;border-radius:0;align-items:center;gap:12px;padding:10px 12px;font-size: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:Inter,sans-serif}.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{color:var(--on-surface);letter-spacing:-.5px;margin-bottom:8px;font-family:Space Grotesk,sans-serif;font-size:36px;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{letter-spacing:1.5px;text-align:center;color:var(--accent-cyan);z-index:1;padding:0 20px;font-family:Space Grotesk,sans-serif;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{color:var(--on-surface);margin-bottom:8px;font-family:Space Grotesk,sans-serif;font-size:16px;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{letter-spacing:1.5px;text-transform:uppercase;color:var(--outline);justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;font-family:Space Grotesk,sans-serif;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);text-align:left;border-radius:6px;padding:8px 12px;font-family:Space Grotesk,sans-serif;font-size: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);flex-shrink:0;width:5px;transition:background .15s}.splitter.horizontal:hover,.splitter.horizontal.dragging{background:var(--accent-cyan)}.splitter.vertical{cursor:row-resize;background:var(--surface-highest);flex-shrink:0;height:5px;transition:background .15s}.splitter.vertical:hover,.splitter.vertical.dragging{background:var(--accent-cyan)}#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);letter-spacing:1px;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:8px 14px;font-family:Space Grotesk,sans-serif;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;overflow:hidden}#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);margin-bottom:8px;font-family:Space Grotesk,sans-serif;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;border:none;border-radius:4px;padding:6px 16px;font-family:Inter,sans-serif;font-size:13px;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{letter-spacing:1px;color:var(--outline);align-items:center;gap:16px;margin-left:auto;font-family:Space Grotesk,sans-serif;font-size:10px;font-weight:600;display:flex}.drawflow{background:var(--surface-dim)!important;background-image:radial-gradient(circle,#3b494c66 1px,#0000 1px)!important;background-size:20px 20px!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:var(--primary-dim)!important;border:2px solid var(--surface-dim)!important;border-radius:50%!important;flex-shrink:0!important;width:12px!important;height:12px!important;margin:0!important}.drawflow .drawflow-node .input:hover,.drawflow .drawflow-node .output:hover{transform:scale(1.5)}.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.escolha .output{width:12px!important;height:12px!important;margin:0!important;position:absolute!important}.drawflow .connection .main-path{transition:stroke .2s,stroke-width .2s;stroke:var(--primary-dim)!important;stroke-width:2.5px!important;fill:none!important}.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 .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;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;font-family:Space Grotesk,sans-serif;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-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-diamond-wrap{justify-content:center;align-items:center;width:130px;height:130px;display:flex;position:relative}.df-diamond{background:var(--surface-container);border:2px solid var(--accent-amber);filter:drop-shadow(0 0 10px #ffc68759);justify-content:center;align-items:center;width:90px;height:90px;display:flex;transform:rotate(45deg)}.df-diamond>*{transform:rotate(-45deg)}.df-diamond .df-label{color:var(--accent-amber);font-size:10px}.df-diamond .df-preview{max-width:60px;font-size:9px}.df-hex-outer{clip-path:polygon(20% 0%,80% 0%,100% 50%,80% 100%,20% 100%,0% 50%);background:var(--accent-purple);filter:drop-shadow(0 0 8px #cdbdff4d);min-width:140px;min-height:70px;padding:2px}.df-hex-inner{clip-path:polygon(20% 0%,80% 0%,100% 50%,80% 100%,20% 100%,0% 50%);background:var(--surface-container);flex-direction:column;justify-content:center;align-items:center;min-height:66px;padding:16px 30px;display:flex}.df-hex-inner .df-label{color:var(--accent-purple)}.df-predefined{background:var(--surface-container);filter:drop-shadow(0 0 8px #a78bfa4d);border:3px double #a78bfa;min-width:120px;padding:14px 24px}.df-predefined .df-label{color:#a78bfa}.out-label{letter-spacing:.5px;white-space:nowrap;pointer-events:none;z-index:2;font-family:Space Grotesk,sans-serif;font-size:9px;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;letter-spacing:.5px;font-family:Space Grotesk,sans-serif;font-size:8px}.node-outputs-label .out-case{color:var(--accent-purple)}.node-outputs-label .out-false{color:var(--error)}.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{color:var(--on-surface);font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700}.node-modal-body{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.modal-field label{color:var(--outline);letter-spacing:.3px;margin-bottom:4px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;display:block}.modal-input{background:var(--surface-lowest);border:none;border-bottom:2px solid var(--outline-variant);width:100%;color:var(--on-surface);border-radius:4px 4px 0 0;padding:8px 10px;font-family:Cascadia Code,Consolas,monospace;font-size:13px;transition:border-color .15s}select.modal-input{cursor:pointer;font-family:Inter,sans-serif}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);cursor:pointer;background:0 0;border-radius:6px;padding:8px 20px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;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);cursor:pointer;border:none;border-radius:6px;padding:8px 28px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;transition:opacity .15s}.btn-modal-ok:hover{opacity:.85}#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);color:var(--on-surface-variant);letter-spacing:.5px;flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;font-family:Space Grotesk,sans-serif;font-size:11px;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:12px}.debug-table thead th{background:var(--surface-container);text-align:left;letter-spacing:.8px;color:var(--outline);border-bottom:1px solid var(--outline-variant);padding:6px 12px;font-family:Space Grotesk,sans-serif;font-size:10px;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{letter-spacing:.3px;border-radius:3px;padding:1px 6px;font-family:Inter,sans-serif;font-size:10px;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{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{flex:1;padding:40px 40px 60px;overflow-y:auto}.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{color:var(--accent-cyan);font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700}.overview-label{letter-spacing:1px;color:var(--outline);font-family:Space Grotesk,sans-serif;font-size:10px;font-weight:600}.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{color:var(--accent-cyan);font-family:Space Grotesk,sans-serif;font-size:12px;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-header{justify-content:space-between;align-items:center;display:flex}.challenge-number{color:var(--surface-bright);font-family:Space Grotesk,sans-serif;font-size:28px;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:var(--on-tertiary-container);border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:600;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-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-status-icon{color:var(--outline);font-size:20px}.challenge-card.completed .challenge-status-icon{color:#4caf50}.challenge-card-title{color:var(--on-surface);font-family:Space Grotesk,sans-serif;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{color:var(--accent-amber);letter-spacing:.5px;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:700}.challenge-start-btn{background:var(--surface-highest);color:var(--accent-cyan);cursor:pointer;border:1px solid #00e5ff33;border-radius:6px;padding:6px 16px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;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}.help-section-title{color:var(--on-surface);border-bottom:1px solid var(--outline-variant);align-items:center;gap:10px;margin-bottom:20px;padding-bottom:10px;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:700;display:flex}.help-section-title .material-symbols-outlined{color:var(--accent-cyan);font-size:22px}.help-grid{grid-template-columns:repeat(auto-fill,minmax(260px,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{color:var(--on-surface);margin-bottom:6px;font-family:Space Grotesk,sans-serif;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{color:var(--on-surface);margin-bottom:10px;font-family:Space Grotesk,sans-serif;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;color:var(--accent-cyan);background:#00e5ff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;display:flex}.help-tip h4{color:var(--on-surface);margin-bottom:4px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:700}.help-tip p{color:var(--outline);font-size:12px;line-height:1.5}.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}
