:root{--bg:#eef1f5;--panel:#fff;--ink:#1d2433;--muted:#6b7486;--line:#dde2ea;--accent:#0f8b6c;--accent-ink:#fff;--danger:#c53030;--warn-bg:#fff6e0;--err-bg:#fdeaea;--ok-bg:#e6f6ef;--info-bg:#e9f0fb;--grid:#d9dee6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);background:var(--bg);flex-direction:column;font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}button,select,input{font:inherit;color:inherit}button,select{border:1px solid var(--line);cursor:pointer;background:#f5f7fa;border-radius:6px;padding:5px 10px}button:hover:not(:disabled),select:hover{background:#e9edf3}button:disabled{opacity:.45;cursor:not-allowed}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}button.danger{color:var(--danger)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.muted{color:var(--muted)}.hidden{display:none!important}.topbar{color:#fff;background:#18202e;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;display:flex}.topbar button,.topbar select{color:#fff;background:#2a3446;border-color:#3a465c}.topbar button:hover,.topbar select:hover{background:#36425a}.brand{letter-spacing:.2px;font-size:17px;font-weight:700}.logo{color:#ffd23f}.project-name{color:#fff;background:#232c3d;border:1px solid #3a465c;border-radius:6px;width:200px;padding:5px 10px}.group{gap:6px;display:flex}.spacer{flex:1}.topbar .run{background:var(--accent);border-color:var(--accent);padding:6px 16px;font-weight:600}.topbar .run:hover{background:#12a07d}.topbar .run.stop{background:var(--danger);border-color:var(--danger)}.layout{flex:1;grid-template-columns:170px 1fr minmax(340px,34%);min-height:0;display:grid}.palette{background:var(--panel);border-right:1px solid var(--line);padding:10px;overflow-y:auto}.palette h3{text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:14px 0 6px;font-size:12px}.palette .hint{color:var(--muted);margin:0;font-size:12px}.pal-item{border:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#fafbfd;border-radius:8px;flex-direction:column;align-items:center;gap:4px;margin-bottom:8px;padding:8px 6px;display:flex}.pal-item:hover{border-color:var(--accent);background:#f2fbf8}.pal-item span{font-size:12.5px;font-weight:500}.pal-prev{pointer-events:none;justify-content:center;align-items:center;width:100%;height:54px;display:flex;overflow:hidden}.pal-prev>*{transform-origin:50%}.pal-prev wokwi-arduino-uno{transform:scale(.42)}.pal-prev wokwi-esp32-devkit-v1{transform:scale(.32)rotate(90deg)}.pal-prev iot-breadboard{transform:scale(.3)}.pal-prev wokwi-photoresistor-sensor{transform:scale(.6)}.pal-prev wokwi-potentiometer,.pal-prev wokwi-buzzer{transform:scale(.65)}.pal-prev wokwi-lcd1602{transform:scale(.42)}.pal-prev wokwi-hc-sr04,.pal-prev wokwi-ntc-temperature-sensor{transform:scale(.5)}.pal-prev wokwi-servo,.pal-prev wokwi-dht22,.pal-prev wokwi-pir-motion-sensor{transform:scale(.45)}.pal-prev wokwi-7segment,.pal-prev wokwi-rgb-led{transform:scale(.85)}.props label.check{flex-direction:row;align-items:center;gap:6px}.stage-wrap{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.toolbar .label{color:var(--muted);font-size:12px}.toolbar .sep{background:var(--line);width:1px;height:20px}.toolbar .zoom{text-align:center;font-variant-numeric:tabular-nums;min-width:44px}.mode{color:var(--muted);font-size:12px}body.is-running .mode{color:var(--accent);font-weight:600}.swatches{gap:4px;display:flex}.sw{border:2px solid #fff;border-radius:50%;width:20px;height:20px;padding:0;box-shadow:0 0 0 1px #b9c0cc}.sw.on{box-shadow:0 0 0 2px var(--ink)}.swatches.small{flex-wrap:wrap;margin:8px 0}.stage{cursor:default;background-color:#f7f8fa;background-image:radial-gradient(var(--grid) 1px, transparent 1px);background-size:14px 14px;flex:1;position:relative;overflow:auto}.canvas-size{pointer-events:none;position:absolute;top:0;left:0}.canvas{transform-origin:0 0;width:1600px;height:1100px;position:absolute;top:0;left:0}.comp{position:absolute}.comp .inner{transform-origin:0 0;line-height:0;position:absolute;top:0;left:0}.comp .shield{cursor:move;position:absolute;inset:0}.comp.selected{outline:1.5px dashed var(--accent);outline-offset:3px;border-radius:3px}.canvas.running .shield{display:none}.wires{pointer-events:none;z-index:20;width:1600px;height:1100px;position:absolute;top:0;left:0;overflow:visible}.wires .hit{stroke:#0000;stroke-width:8px;fill:none;pointer-events:stroke;cursor:pointer}.canvas.running .wires .hit{pointer-events:none}.wires .halo{stroke:#0f8b6c;stroke-opacity:.35;stroke-width:8px;fill:none;stroke-linecap:round}.pin-hl{fill:#0f8b6c40;stroke:#0f8b6c;stroke-width:1.2px}.hole-hl{fill:#0f8b6c59}.props{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:240px;padding:12px;position:absolute;top:52px;right:12px;box-shadow:0 6px 24px #141e321f}.props h3{margin:0 0 4px;font-size:15px}.props p{margin:0 0 10px;font-size:12.5px}.props label{flex-direction:column;gap:4px;margin-bottom:10px;font-size:12.5px;display:flex}.props label output{font-variant-numeric:tabular-nums;color:var(--muted)}.props .row,.row{gap:6px;display:flex}.tooltip{z-index:40;pointer-events:none;color:#fff;white-space:nowrap;background:#18202e;border-radius:5px;padding:4px 8px;font-size:12px;position:absolute}.side{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.side-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:8px 12px;display:flex}.side-head h2{margin:0;font-size:15px}.side-head small{color:var(--muted);margin-left:6px;font-weight:400}.editor{flex:1;min-height:160px;overflow:hidden}.editor .cm-editor{height:100%;font-size:13.5px}.editor .cm-scroller{font-family:Cascadia Code,Consolas,monospace}.cm-error-line{background:#ff464638!important}.messages{border-top:1px solid var(--line);max-height:120px;overflow-y:auto}.msg{border-bottom:1px solid #f0f0f0;gap:8px;padding:6px 12px;font-size:13px;display:flex}.msg.error{background:var(--err-bg)}.msg.warn{background:var(--warn-bg)}.msg.ok{background:var(--ok-bg)}.msg.info{background:var(--info-bg)}.msg.clickable{cursor:pointer}.bottom{border-top:1px solid var(--line);flex-direction:column;height:250px;display:flex}.tabs{border-bottom:1px solid var(--line);align-items:center;gap:2px;padding:4px 8px 0;display:flex}.tab{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:6px 12px;font-size:13px;font-weight:600}.tab.on{color:var(--ink);border-bottom-color:var(--accent);background:#f5f7fa}.tabs .link{margin-right:6px;font-size:12.5px}.pane{flex-direction:column;flex:1;min-height:0;display:flex}.serial pre{color:#b9f6c9;white-space:pre-wrap;background:#10151f;flex:1;margin:0;padding:6px 12px;font:12.5px/1.45 Cascadia Code,Consolas,monospace;overflow:auto}.serial-in{gap:6px;padding:6px;display:flex}.serial-in input{border:1px solid var(--line);border-radius:6px;flex:1;padding:5px 8px}.dash{background:#f4f6f9;padding:8px 10px;overflow-y:auto}.dash-head{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:8px;font-size:12.5px;display:flex}.dash-head code{background:#e8ecf2;border-radius:3px;padding:0 4px}.net-dot{background:#c3c9d3;border-radius:50%;width:9px;height:9px;margin-left:6px;display:inline-block}.net-dot.on{background:#22b573;box-shadow:0 0 0 3px #22b57333}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.tile{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;min-height:96px;padding:8px 10px;display:flex}.tile-head{justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.tile-head .edit{color:var(--muted);background:0 0;border:none;padding:0 2px}.tile .topic{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font:11px Cascadia Code,Consolas,monospace;overflow:hidden}.tile .big{font-variant-numeric:tabular-nums;margin-top:auto;font-size:24px;font-weight:700}.tile .big.small{margin-top:2px;font-size:14px}.gauge{width:100%;height:56px}.g-bg,.g-val{fill:none;stroke-width:9px;stroke-linecap:round}.g-bg{stroke:#e3e8ef}.g-val{stroke:var(--accent);stroke-dasharray:0 100;transition:stroke-dasharray .25s}.g-txt{text-anchor:middle;fill:var(--ink);font:700 13px system-ui,sans-serif}.chart{background:linear-gradient(#f8fafc,#eef2f7);border-radius:4px;width:100%;height:44px}.c-line{fill:none;stroke:#1e6fd9;stroke-width:1.6px;vector-effect:non-scaling-stroke}.lamp{background:#d6dbe3;border:3px solid #eef1f5;border-radius:50%;width:34px;height:34px;margin:auto}.lamp.on{background:#ffd23f;box-shadow:0 0 16px 4px #ffc828b3}.toggle{background:#c9cfd8;border:none;border-radius:14px;width:52px;height:28px;margin:auto;padding:0;position:relative}.toggle span{background:#fff;border-radius:50%;width:22px;height:22px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.toggle.on{background:var(--accent)}.toggle.on span{left:27px}.toggle:hover:not(:disabled){background:#b9c0cc}.toggle.on:hover:not(:disabled){background:#12a07d}.push{border-radius:20px;margin:auto;padding:6px 18px;font-weight:600}.push:active{color:#fff;background:var(--accent)!important}.tile input[type=range]{width:100%;margin-top:auto}.dash-add{min-height:96px;color:var(--muted);background:0 0;border:2px dashed #c3cad5;border-radius:10px;font-weight:600}.dash-log{margin-top:10px;font-size:12px}.dash-log summary{cursor:pointer;color:var(--muted)}.dash-log .log{max-height:140px;margin:6px 0 0;padding-left:0;list-style:none;overflow-y:auto}.dash-log li{border-bottom:1px dashed #e2e6ec;padding:2px 0}.task{border-bottom:1px solid var(--line);background:#fbfcf4;flex-shrink:0;height:42%;min-height:90px;position:relative;overflow-y:auto}.task.collapsed{height:auto!important}.task-head{background:#fbfcf4;align-items:center;gap:8px;padding:8px 12px;display:flex;position:sticky;top:0}.task-head .icon{color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.task.collapsed .task-body{display:none}.task-body{padding:0 12px 10px;font-size:13px}.task-body p{margin:0 0 6px}.task-body ol{margin:0 0 8px;padding-left:20px}.task-body .hint{background:#fff7d6;border-radius:6px;padding:5px 8px}.task-body .hint code{white-space:pre-wrap;font-size:12px}.badge{color:#2456a6;text-transform:uppercase;letter-spacing:.3px;background:#e6f0ff;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:700}.b-gevorderd{color:#a65a14;background:#fdeede}.b-iot{color:#0f7a5c;background:#e3f6ee}.b-foutzoeker{color:#a12c2c;background:#fde7e7}.b-les{color:#6a3bb0;background:#efe6fb}.tick{color:#0f8b6c;font-size:12px;font-weight:600}.results{border-radius:8px;margin-top:8px;padding:8px 10px}.results.pass{background:var(--ok-bg)}.results.fail{background:var(--warn-bg)}.results ul{margin:6px 0 0;padding:0;list-style:none}.results li{padding:2px 0}.results li.ok{color:#13734f}.results li.nok{color:#9c2b2b}.row.wrap{flex-wrap:wrap}.row.end{align-items:center;margin-top:14px}.topbar .tasks-btn{color:#18202e;background:#ffd23f;border-color:#ffd23f;font-weight:600}.topbar .tasks-btn:hover{background:#ffdf6b}.task-list h3{margin:14px 0 6px}.task-list{max-height:60vh;overflow-y:auto}.task-item{text-align:left;background:#f7f9fc;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-bottom:6px;padding:10px 12px;display:flex}.task-item.done{background:var(--ok-bg);border-color:#bfe6d4}.form-grid{grid-template-columns:1fr 1fr;gap:10px 14px;display:grid}.form-grid label{flex-direction:column;gap:4px;font-size:13px;display:flex}.form-grid .wide{grid-column:1/-1}.form-grid input{border:1px solid var(--line);border-radius:6px;padding:5px 8px}dialog{border:none;border-radius:12px;width:calc(100% - 32px);max-width:760px;padding:20px 24px;box-shadow:0 20px 60px #0000004d}dialog::backdrop{background:#0f141e73}dialog h2{margin-top:0}.project-list{max-height:50vh;margin:0 0 14px;padding:0;list-style:none;overflow-y:auto}.project-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.help-grid{grid-template-columns:1fr 1fr;gap:6px 24px;display:grid}.help-grid h3,dialog h3{margin:12px 0 6px;font-size:14px}.help-grid code{background:#f1f4f8;border-radius:4px;margin:2px 0;padding:1px 6px;font-size:12.5px;display:inline-block}kbd{border:1px solid var(--line);background:#f1f4f8;border-radius:4px;padding:0 5px;font-size:12px}@media (width<=900px){body{overflow:auto}.layout{grid-template-rows:auto 60vh auto;grid-template-columns:1fr}.palette{border-right:none;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;display:flex}.palette h3,.palette .hint{width:100%}.pal-item{width:110px}.side{min-height:600px}.help-grid{grid-template-columns:1fr}}.share-row{gap:6px;display:flex}.share-row input{border:1px solid var(--line);border-radius:6px;flex:1;padding:6px 8px;font:12px Cascadia Code,Consolas,monospace}.small{font-size:12px}.toolbar .tool.on{color:#0f6e53;background:#e3f6ee;border-color:#8fd3b8}.meter{z-index:30;background:#f6c945;border:3px solid #2b2b2b;border-radius:12px;width:230px;padding:8px 10px;position:absolute;bottom:12px;left:12px;box-shadow:0 6px 18px #0003}.meter-title{color:#3a3216;font-size:11px;font-weight:700}.meter-val{color:#1d2a12;text-align:right;background:#c9d6b4;border:2px solid #8b9a73;border-radius:4px;margin:4px 0;padding:4px 8px;font:700 24px Cascadia Code,Consolas,monospace}.meter-lbl{color:#3a3216;min-height:2.6em;font-size:11px}.plot{background:#fff;position:relative}.plot canvas{flex:1;width:100%;min-height:0}.plot-legend{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;padding:4px 10px;font-size:12px;display:flex}.plot-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.progress{background:#e6e9ef;border-radius:3px;height:6px;margin:4px 0 8px;overflow:hidden}.progress div{background:linear-gradient(90deg,#7c4dce,#0f8b6c);height:100%;transition:width .4s}.steps{list-style:none;padding-left:0!important}.steps li{padding:3px 0}.steps li.done{color:#13734f;opacity:.8}.steps li.current{background:#fff;border:2px solid #7c4dce;border-radius:8px;margin-top:4px;padding:6px 8px;font-weight:600}.steps li.current .hint{margin-top:6px;font-weight:400}.steps li.flash{animation:.9s ease-out flash}@keyframes flash{0%{background:#e3f6ee}to{background:#fff}}.side-head{gap:8px}.side-head h2{flex:1}.seg{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.seg button{background:#f5f7fa;border:none;border-radius:0;padding:4px 10px;font-size:12.5px}.seg button.on{background:var(--accent);color:#fff}.blockly{flex:1.6;min-height:220px;position:relative}.gen-label{color:var(--muted);border-top:1px solid var(--line);background:#f5f7fa;padding:3px 12px;font-size:11.5px}.side.blocks-mode .editor{flex:1;min-height:100px}.blocklyToolboxDiv{font-family:system-ui,sans-serif}#langSel{padding:3px 6px;font-size:12.5px}.seg button:disabled{opacity:.4}.task-body .story{font-size:13.5px}.task-body h4{margin:10px 0 4px;font-size:13.5px}.task-body .learn{background:#eef5ff;border-radius:8px;margin:6px 0;padding:6px 10px}.task-body .learn ul,.task-body .reflect ul{margin:4px 0 2px;padding-left:18px}.task-body details{background:#fff;border:1px solid #e3e1d3;border-radius:8px;margin:8px 0;padding:4px 10px}.task-body details>summary{cursor:pointer;padding:4px 0;font-weight:600}.task-body details.theory h4{color:#2f4a7a}.task-body details.theory p{line-height:1.5}.task-body details.reflect{background:#f6f0ff;border-color:#ddd0f5}.task-body code{background:#eef1f5;border-radius:3px;padding:0 3px;font-size:12px}.task-body pre.snippet{color:#d6e2ff;background:#1f2430;border-radius:6px;margin:4px 0 8px;padding:8px 10px;font:12px/1.45 Cascadia Code,Consolas,monospace;overflow-x:auto}.task-body .goal-title{margin-top:12px}.task-body .why{background:#eef5ff;border-radius:6px;margin:6px 0 0;padding:5px 8px;font-weight:400}.steps li.done{cursor:pointer}.steps li .why-done{color:var(--muted);margin-left:18px;font-size:12px;display:none}.steps li.show-why .why-done{display:block}.task-resize{cursor:ns-resize;background:linear-gradient(#0000 3px,#c9c4ad 3px 4px,#0000 4px 6px,#c9c4ad 6px 7px,#0000 7px) 50%/40px 100% no-repeat;height:9px;margin-top:4px;position:sticky;bottom:0}.task-resize:hover{background-color:#efecdf}.task.collapsed .task-resize{display:none}.task-dialog{width:min(900px,100% - 32px);max-width:none;height:min(88vh,1000px);padding:0}.task-dialog #taskHost{height:100%}.task.in-dialog{border:none;max-height:none;font-size:15px;height:100%!important}.task.in-dialog .task-body{padding:4px 22px 22px;font-size:15px}.task.in-dialog .task-head{padding:12px 22px;font-size:16px}.task.in-dialog .task-body h4{font-size:15.5px}.task.in-dialog .task-resize{display:none}.palette{width:auto}.layout{grid-template-columns:210px 1fr minmax(340px,34%)}.sens-lib h3 small{color:var(--muted);font-weight:400}.sens-search{border:1px solid var(--line);border-radius:6px;width:100%;margin-bottom:6px;padding:5px 8px}.sens-guide{width:100%;margin-bottom:8px;font-size:12.5px}.sens-cat{border-left:3px solid var(--cat);background:#fafbfd;border-radius:0 6px 6px 0;margin-bottom:4px}.sens-cat>summary{cursor:pointer;align-items:baseline;gap:5px;padding:5px 6px;font-size:12px;font-weight:600;list-style:none;display:flex}.sens-cat>summary::-webkit-details-marker{display:none}.sens-cat>summary small{color:var(--muted);margin-left:auto;font-weight:400}.sens-cat[open]>summary{background:#eef1f6}.sens-item{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-top:1px solid #eef0f4;grid-template-columns:1fr auto;padding:4px 6px 4px 10px;display:grid}.sens-item:hover{background:#f2fbf8}.sens-item b{grid-column:1;font-size:12px}.sens-item span{color:var(--muted);grid-column:1;font-size:11px}.sens-item .sens-info{color:#2471a3;cursor:pointer;background:0 0;border:none;grid-area:1/2/3;align-self:center;padding:0 4px;font-size:15px}.sens-tags{flex-wrap:wrap;gap:4px;display:flex;margin:2px 0 6px!important}.tag{background:#eef1f5;border-radius:10px;padding:1px 8px;font-size:11.5px}.tag.iface{color:#1d5a8f;background:#e3f0fb}.props{width:270px;max-height:calc(100% - 70px);overflow-y:auto}.props .sens-more{width:100%;margin-bottom:8px}.sensor-dialog{width:min(820px,100% - 32px);max-height:88vh}.sinfo{overflow-y:auto}.sensor-dialog .sinfo{max-height:calc(88vh - 90px)}.sinfo h3{margin:14px 0 4px;font-size:14.5px}.sinfo p{margin:0 0 6px;line-height:1.5}.sinfo code{background:#eef1f5;border-radius:3px;padding:0 4px}.sinfo pre.snippet{color:#d6e2ff;white-space:pre;background:#1f2430;border-radius:6px;padding:10px 12px;font:12.5px/1.45 Cascadia Code,Consolas,monospace;overflow-x:auto}.sinfo-head{border-left:5px solid var(--cat);align-items:center;gap:12px;padding-left:10px;display:flex}.sinfo-head h2{margin:0}.sinfo-head p{color:var(--muted);margin:0}.sinfo-icon{font-size:30px}.guide-dialog{width:min(1150px,100% - 32px);max-width:none;height:90vh;display:none}.guide-dialog[open]{flex-direction:column;display:flex}.guide{flex:1;grid-template-columns:340px 1fr;gap:18px;min-height:0;display:grid}.guide-left{flex-direction:column;min-height:0;display:flex}#guideSearch{border:1px solid var(--line);border-radius:6px;margin-bottom:8px;padding:6px 8px}#guideList{flex:1;padding-right:4px;overflow-y:auto}#guideList h4{border-left:4px solid var(--cat);margin:12px 0 2px;padding-left:6px}#guideList p{margin:0 0 4px 10px}.g-item{text-align:left;background:0 0;border:none;border-radius:6px;grid-template-columns:1fr auto;width:100%;padding:4px 8px;display:grid}.g-item b{font-size:12.5px}.g-item span{color:var(--muted);grid-column:1;font-size:11.5px}.g-item em{color:#1d5a8f;grid-area:1/2/3;align-self:center;font-size:10.5px;font-style:normal}.g-item.on,.g-item:hover{background:#e9f3ee}#guideInfo{padding-right:6px}@media (width<=900px){.guide,.layout{grid-template-columns:1fr}}.task-body ol.goals{padding-left:0;list-style:none}.task-body ol.goals li{border-radius:6px;align-items:flex-start;gap:8px;padding:3px 4px;display:flex}.tick-box{color:#fff;background:#fff;border:2px solid #b9c0cc;border-radius:4px;flex:0 0 18px;justify-content:center;align-items:center;height:18px;margin-top:1px;font-size:12px;display:inline-flex}.task-body ol.goals li:not(.ok) .tick-box:not(:empty){color:#9aa3b2;background:#f5f7fa;border-color:#d0d5dd;font-size:9px}.task-body ol.goals li.ok .tick-box{background:#0f8b6c;border-color:#0f8b6c}.task-body ol.goals li.ok{color:#13734f}.task-body ol.goals li.flash,.steps li.flash{animation:1.2s ease-out flash}.toast{z-index:45;color:#fff;pointer-events:none;text-align:center;background:#0f8b6c;border-radius:20px;max-width:90%;padding:8px 16px;font-size:13.5px;font-weight:600;position:absolute;top:58px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0f8b6c59}.toast.show{animation:.35s ease-out toastIn}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.topbar .account-btn{background:#2a3446}.topbar .account-btn.logged-in{background:#1f5f4f;border-color:#2d8a72}.acc-dialog{width:min(440px,100% - 32px)}.acc-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:12px;display:flex}.acc-tabs button{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:8px 14px;font-weight:600}.acc-tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.acc-form label{flex-direction:column;gap:4px;margin-bottom:10px;font-size:13.5px;display:flex}.acc-form label.check{flex-direction:row;align-items:flex-start;gap:8px}.acc-form input:not([type=checkbox]){border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:14px}.acc-form small{color:var(--muted);font-weight:400}.acc-error{background:var(--err-bg);color:#8b1e1e;border-radius:6px;padding:6px 10px;font-size:13px}a.btn{border:1px solid var(--line);color:var(--ink);background:#f5f7fa;border-radius:6px;padding:5px 10px;text-decoration:none;display:inline-block}a.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.project-list li.list-head{border-bottom:none;margin-top:8px;padding-bottom:0}
