codelix-ide{margin:1.6em 0;display:block}.ide-fallback{border-radius:var(--radius);background:var(--flaeche-code);border:1px solid var(--rand);margin:0;padding:18px 20px;overflow-x:auto}.ide{border-radius:var(--radius);border:1px solid var(--rand);background:var(--flaeche-code);box-shadow:var(--glanz), var(--schatten);-webkit-backdrop-filter:blur(18px)saturate(150%);transition:border-color var(--uebergang), box-shadow var(--uebergang);overflow:hidden;container:ide/inline-size}codelix-ide:focus-within .ide{border-color:color-mix(in srgb, var(--akzent) 55%, transparent)}codelix-ide.laeuft .ide{border-color:color-mix(in srgb, var(--cyan) 60%, transparent)}.ide-leiste{border-bottom:1px solid var(--rand);background:var(--flaeche);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 16px;display:flex}.ide-titel{font-family:var(--schrift-code);color:var(--text-leise);align-items:center;gap:12px;font-size:.85rem;display:flex}.ide-punkte{gap:6px;display:flex}.ide-punkte i{background:var(--rand-hell);border-radius:50%;width:10px;height:10px}.ide-punkte i:first-child{background:#f87171aa}.ide-punkte i:nth-child(2){background:#fbbf24aa}.ide-punkte i:last-child{background:#34d399aa}.ide-knoepfe{flex-wrap:wrap;gap:6px;display:flex}.ide-knopf{border:1px solid var(--rand);background:var(--flaeche);min-height:36px;color:var(--text);font:600 .88rem var(--schrift-text);cursor:pointer;transition:background var(--uebergang), transform var(--uebergang), opacity var(--uebergang);border-radius:10px;align-items:center;gap:7px;padding:6px 13px;display:inline-flex}.ide-knopf:hover:not(:disabled){background:var(--flaeche-hover)}.ide-knopf:active:not(:disabled){transform:scale(.97)}.ide-knopf:disabled{opacity:.45;cursor:not-allowed}.ide-knopf.ide-haupt{background:var(--akzent-verlauf);color:#fff;border-color:#0000}.ide-knopf.ide-pruefen{background:color-mix(in srgb, var(--gruen) 22%, transparent);border-color:color-mix(in srgb, var(--gruen) 50%, transparent)}.ide-knopf.ide-stopp{background:color-mix(in srgb, var(--rot) 22%, transparent);border-color:color-mix(in srgb, var(--rot) 50%, transparent)}.ide-knopf.ide-leise{color:var(--text-mittel)}.ide-knopf.ide-haupt:hover:not(:disabled){background:var(--akzent-verlauf);filter:brightness(1.12)}.ide-knopf.ide-pruefen:hover:not(:disabled){background:color-mix(in srgb, var(--gruen) 34%, transparent)}.ide-knopf.ide-stopp:hover:not(:disabled){background:color-mix(in srgb, var(--rot) 34%, transparent)}.ide-knopf[hidden]{display:none}@container ide (width<=600px){.ide-knopf:not(.ide-haupt):not(.ide-stopp){padding:6px 10px}.ide-knopf:not(.ide-haupt):not(.ide-stopp) span:last-child{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.ide-editor .cm-editor{max-height:460px}.ide-editor .cm-scroller{line-height:1.6}.ide-vorschau{max-height:460px;font:.95rem/1.6 var(--schrift-code);font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0, "dlig" 0;color:var(--code-standard);tab-size:4;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:14px 16px 14px 46px;overflow:auto}.ide-konsole-rahmen{border-top:1px solid var(--rand)}.ide-konsole-kopf{letter-spacing:.08em;text-transform:uppercase;color:var(--text-leise);flex-wrap:wrap;justify-content:space-between;gap:2px 12px;padding:8px 16px 0;font-size:.75rem;font-weight:600;display:flex}.ide-status{text-transform:none;letter-spacing:0;font-weight:500}.laeuft .ide-status:before{content:"";background:var(--cyan);border-radius:50%;width:8px;height:8px;margin-right:8px;animation:1s ease-in-out infinite pulsieren;display:inline-block}@keyframes pulsieren{50%{opacity:.25}}.ide-konsole{min-height:64px;max-height:300px;font-family:var(--schrift-code);white-space:pre-wrap;word-break:break-word;padding:8px 16px 16px;font-size:.9rem;overflow:auto}.ausgabe-err{color:var(--rot)}.ausgabe-echo{color:var(--cyan-text);font-weight:600}.ide-platzhalter{color:var(--text-leise);font-style:italic;font-family:var(--schrift-text)}.ide-hinweis{color:var(--gelb);font-family:var(--schrift-text)}.ide-fehler{border-radius:var(--radius-klein);border:1px solid color-mix(in srgb, var(--rot) 45%, transparent);background:color-mix(in srgb, var(--rot) 12%, transparent);font-family:var(--schrift-text);white-space:normal;margin-top:8px;padding:12px 14px}.ide-fehler strong{color:var(--rot)}.ide-fehler p{margin:4px 0 6px}.ide-fehler-original{color:var(--text-leise);font-size:.8rem;display:block}.ide-eingabe{gap:8px;margin-top:6px;display:flex}.ide-eingabe input{border:1px solid color-mix(in srgb, var(--cyan) 60%, transparent);background:var(--flaeche);min-width:0;color:var(--text);font:.95rem var(--schrift-code);font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0, "dlig" 0;border-radius:10px;flex:1;padding:8px 12px}.ide-schritte{border-top:1px solid var(--rand);background:color-mix(in srgb, var(--cyan) 5%, transparent);padding:14px 16px;animation:.26s both einblenden}.schritt-steuerung{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.schritt-regler{accent-color:var(--cyan);flex:160px}.schritt-anzeige{color:var(--text-mittel);min-width:15ch;font-size:.88rem}.schritt-speicher{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px;display:grid}.speicher-box{border-radius:var(--radius-klein);border:1px solid var(--rand);background:var(--flaeche);padding:12px}.speicher-box h4{text-transform:uppercase;letter-spacing:.08em;color:var(--text-leise);margin:0 0 8px;font-size:.8rem}.speicher-leer{color:var(--text-leise);margin:0;font-style:italic}.speicher-liste{gap:6px;margin:0;display:grid}.speicher-zeile{background:var(--flaeche);border-radius:8px;grid-template-columns:minmax(70px,auto) 1fr;align-items:center;gap:10px;padding:6px 10px;transition:background .4s;display:grid}.speicher-zeile.geaendert{background:color-mix(in srgb, var(--cyan) 18%, transparent);animation:.6s aufleuchten}@keyframes aufleuchten{0%{background:color-mix(in srgb, var(--cyan) 45%, transparent)}}.speicher-zeile dt{font-family:var(--schrift-code);font-weight:600}.speicher-zeile dd{justify-content:space-between;gap:8px;min-width:0;margin:0;display:flex}.speicher-zeile dd code{text-overflow:ellipsis;white-space:nowrap;color:var(--cyan-text);overflow:hidden}.speicher-typ{border:1px solid var(--rand);color:var(--text-leise);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.75rem}.schritt-fehlerhinweis{color:var(--rot);margin:10px 0 0;font-size:.9rem}.ide-pruefung{border-top:1px solid var(--rand);padding:16px;animation:.26s both einblenden}.pruef-kopf{align-items:center;gap:14px;margin-bottom:12px;display:flex}.pruef-kopf div{flex-direction:column;display:flex}.pruef-kopf span:not(.pruef-symbol){color:var(--text-mittel);font-size:.92rem}.pruef-symbol{width:48px;height:48px;font:700 1rem var(--schrift-titel);background:var(--flaeche-hover);border-radius:14px;place-items:center;display:grid}.pruef-kopf.ok .pruef-symbol{background:linear-gradient(135deg, var(--gruen), var(--cyan));color:#04120c;font-size:1.5rem}.pruef-liste{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pruef-liste li{background:var(--flaeche);border-radius:10px;gap:12px;padding:10px 12px;display:flex}.pruef-liste p{color:var(--text-mittel);margin:4px 0 0;font-size:.93rem}.pruef-icon{font-weight:700}.pruef-liste .ok .pruef-icon{color:var(--gruen)}.pruef-liste .falsch .pruef-icon{color:var(--rot)}codelix-ide.feier .ide{animation:.9s feiern}@keyframes feiern{30%{box-shadow:0 0 0 4px color-mix(in srgb, var(--gruen) 50%, transparent), 0 0 60px color-mix(in srgb, var(--gruen) 45%, transparent)}}@keyframes einblenden{0%{opacity:0;transform:translateY(-4px)}}.sim{border-top:1px solid var(--rand);background:color-mix(in srgb, var(--cyan) 4%, transparent);grid-template-columns:minmax(0,1fr) 190px;gap:14px;padding:14px;display:grid}.sim-feld{border-radius:var(--radius-klein);width:100%;overflow:hidden;box-shadow:0 10px 30px -14px #0009}.sim-feld canvas{width:100%;height:100%;display:block}.sim-hub{border-radius:var(--radius-klein);border:1px solid var(--rand);background:var(--flaeche);flex-direction:column;align-items:center;gap:10px;padding:14px 12px;display:flex}.sim-hub-titel{letter-spacing:.1em;text-transform:uppercase;color:var(--text-leise);margin:0;font-size:.72rem;font-weight:600}.sim-matrix{background:#1b1730;border-radius:12px;grid-template-columns:repeat(5,18px);gap:5px;padding:10px;display:grid}.sim-matrix span{background:color-mix(in srgb, #facc15 calc(var(--hell,0) * 100%), #2e2850);width:18px;height:18px;box-shadow:0 0 calc(var(--hell,0) * 12px) color-mix(in srgb, #facc15 calc(var(--hell,0) * 80%), transparent);border-radius:4px;transition:background 80ms}.sim-tasten{align-items:center;gap:8px;display:flex}.sim-taste{border:1px solid var(--rand-hell);background:var(--flaeche-hover);width:34px;height:34px;color:var(--text);cursor:pointer;user-select:none;touch-action:none;border-radius:50%;place-items:center;display:grid}.sim-taste-mitte{background:#e9e6f5;width:44px;height:44px}.sim-taste.aktiv,.sim-kraft.aktiv{background:var(--akzent-stark);color:#fff;transform:scale(.92)}.sim-licht{border:2px solid #c9c3df;border-radius:50%;width:26px;height:26px}.sim-licht.an{border-color:#0000;box-shadow:0 0 14px}.sim-kraft{width:100%;color:var(--text);font:600 .82rem var(--schrift-text);cursor:pointer;user-select:none;touch-action:none;background:#f9731624;border:1px solid #f9731680;border-radius:10px;padding:8px 10px}.sim-tempo-gruppe{flex-direction:column;align-items:center;gap:6px;display:flex}.sim-tempo{background:var(--flaeche-hover);border-radius:10px;gap:2px;padding:3px;display:flex}.sim-tempo-knopf{color:var(--text-mittel);font:600 .8rem var(--schrift-text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px}.sim-tempo-knopf[aria-pressed=true]{background:var(--akzent-stark);color:#fff}.sim-info{font:.78rem var(--schrift-code);font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0, "dlig" 0;color:var(--text-mittel);text-align:center;margin:0}@media (width<=640px){.sim{grid-template-columns:1fr}.sim-hub{flex-flow:wrap;justify-content:center}.sim-kraft{width:auto}}.messwerte{grid-column:1/-1;gap:6px;display:grid}.messwerte[hidden]{display:none}.messwerte-kopf{flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.85rem;display:flex}.messwerte-legende{font:.8rem var(--schrift-code);font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0, "dlig" 0;color:var(--text-mittel);flex-wrap:wrap;gap:4px 12px;margin-right:auto;display:flex}.messwerte-legende span:before{content:"";vertical-align:middle;background:var(--farbe);border-radius:2px;width:14px;height:3px;margin-right:6px;display:inline-block}.messwerte canvas{border-radius:var(--radius-klein);background:var(--flaeche-code);border:1px solid var(--rand);width:100%;height:150px}.ide-mit-sim{overflow:clip;container-type:inline-size}@container (width>=700px){.ide-arbeit{grid-template-columns:minmax(0,1fr) minmax(240px,.5fr);align-items:start;display:grid}.ide-links{min-width:0}.ide-rechts{border-left:1px solid var(--rand);position:sticky;top:84px}.ide-rechts .sim{border-top:none;grid-template-columns:1fr}.ide-rechts .sim-hub{flex-flow:wrap;justify-content:center}.ide-rechts .sim-kraft{width:auto}}.turtle{border-top:1px solid var(--rand);background:color-mix(in srgb, var(--akzent) 5%, transparent);gap:10px;padding:14px;display:grid}.turtle[hidden]{display:none}.turtle-flaeche{aspect-ratio:4/3;border-radius:var(--radius-klein);background:#fff;width:100%;position:relative;overflow:hidden;box-shadow:0 10px 30px -14px #0009}.turtle-flaeche canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.turtle-leiste{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.turtle-info{font:600 .82rem var(--schrift-text);color:var(--text-mittel);margin-right:auto}.turtle-knopf{border:1px solid var(--rand);background:var(--flaeche-hover);color:var(--text);font:600 .82rem var(--schrift-text);cursor:pointer;border-radius:10px;padding:6px 12px}.turtle-knopf:hover{border-color:var(--rand-hell)}.turtle-knopf[hidden]{display:none}codelix-ide.laedt .ide-leiste{position:relative}codelix-ide.laedt .ide-leiste:after{content:"";background:linear-gradient(90deg, transparent, var(--cyan), var(--akzent), transparent);border-radius:999px;width:35%;height:3px;animation:1.2s ease-in-out infinite laden;position:absolute;bottom:-1px;left:0}@keyframes laden{0%{transform:translate(-100%)}to{transform:translate(300%)}}.ide-warnung{border-top:1px solid var(--rand);background:color-mix(in srgb, var(--gelb) 12%, transparent);margin:0;padding:10px 16px;font-size:.88rem}.fehler-tipp{border:1px solid color-mix(in srgb, var(--gelb) 40%, transparent);background:color-mix(in srgb, var(--gelb) 8%, transparent);border-radius:10px;margin-top:10px}.fehler-tipp summary{cursor:pointer;color:var(--text);padding:8px 12px;font-weight:600}.fehler-tipp-inhalt{color:var(--text);padding:0 12px 12px}.fehler-tipp-inhalt p{margin:6px 0}.fehler-tipp-inhalt code{background:var(--flaeche-hover);font-family:var(--schrift-code);border-radius:6px;padding:1px 6px}.fehler-tipp-inhalt ul{margin:4px 0 10px;padding-left:20px}.fehler-tipp-klein{font-size:.88rem;font-weight:600}.fehler-tipp-vergleich{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.fehler-tipp-vergleich>div{background:var(--flaeche-code);border-radius:8px;padding:8px 10px}.fehler-tipp-vergleich span{font-size:.8rem;font-weight:700}.fehler-tipp-vergleich .falsch span{color:var(--rot)}.fehler-tipp-vergleich .richtig span{color:var(--gruen)}.fehler-tipp-vergleich pre{white-space:pre-wrap;margin:4px 0 0;font-size:.85rem}.ide-teilen,.ide-challenge{font-family:var(--schrift-text);white-space:normal;gap:6px;display:grid}.ide-challenge{border:1px solid color-mix(in srgb, var(--cyan) 40%, transparent);background:color-mix(in srgb, var(--cyan) 8%, transparent);border-radius:10px;justify-items:start;margin-top:8px;padding:10px 12px}.ide-challenge strong{color:var(--cyan-text)}.ide-teilen input,.ide-challenge input{border:1px solid var(--rand-hell);background:var(--flaeche);width:100%;color:var(--text);font:.85rem var(--schrift-code);font-variant-ligatures:none;font-feature-settings:"calt" 0, "liga" 0, "dlig" 0;border-radius:8px;padding:8px 10px}.pruef-golf{background:color-mix(in srgb, var(--gruen) 10%, transparent);border-radius:10px;margin:10px 0 0;padding:8px 12px;font-size:.9rem}@media (pointer:coarse){.sim-tempo-knopf{min-width:44px;min-height:44px}}.ide-knopf.ide-pfeil{padding:6px 10px;font-size:1.05rem}.spiel{border-top:1px solid var(--rand);background:color-mix(in srgb, var(--akzent) 5%, transparent);justify-items:center;gap:10px;padding:14px;display:grid}.spiel[hidden]{display:none}.spiel-flaeche{border-radius:var(--radius-klein);touch-action:none;background:#0b1020;width:100%;height:auto;display:block}.spiel-flaeche:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.spiel-knoepfe{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.spiel-knopf{border:1px solid var(--rand);background:var(--flaeche-hover);min-width:48px;min-height:44px;color:var(--text);font:700 1.1rem var(--schrift-text);touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:10px;padding:6px 12px}.spiel-knopf.aktiv{background:color-mix(in srgb, var(--cyan) 30%, transparent)}.web-vorschau{border-top:1px solid var(--rand);background:color-mix(in srgb, var(--akzent) 5%, transparent);padding:14px}.web-rahmen{border-radius:var(--radius-klein);background:#fff;border:0;width:100%;height:320px;display:block}.ft{border-top:1px solid var(--rand);background:color-mix(in srgb, var(--cyan) 6%, transparent);gap:12px;padding:14px;display:grid}.ft[hidden]{display:none}.ft-kopf{font:600 .9rem var(--schrift-text);justify-content:space-between;align-items:baseline;display:flex}.ft-zeit{color:var(--text-mittel);font:600 .82rem var(--schrift-code)}.ft-leer{color:var(--text-mittel);margin:0;font-size:.88rem}.ft-leer[hidden],.ft-reihe:empty{display:none}.ft-reihe{flex-wrap:wrap;gap:10px;display:flex}.ft-motor,.ft-lampe,.ft-eingang{border:1px solid var(--rand);background:var(--flaeche-hover);border-radius:12px;justify-items:center;gap:4px;min-width:76px;padding:10px;display:grid}.ft-name{font:700 .8rem var(--schrift-text)}.ft-wert{color:var(--text-mittel);font:600 .78rem var(--schrift-code)}.ft-rad{background:repeating-conic-gradient(#3a4354 0 15deg, #556074 15deg 30deg);border:4px solid #8a94a6;border-radius:50%;width:44px;height:44px;position:relative}.ft-rad i{background:#ff3b30;border-radius:2px;width:4px;height:16px;margin-left:-2px;position:absolute;top:2px;left:50%}.ft-motor.laeuft .ft-rad{border-color:var(--cyan)}.ft-birne{background:color-mix(in srgb, var(--farbe) calc(var(--hell,0) * 100%), #2a2f3a);width:34px;height:34px;box-shadow:0 0 calc(var(--hell,0) * 22px) var(--farbe);border:2px solid #11151c;border-radius:50%}.ft-eingaenge .ft-eingang{justify-items:stretch;min-width:180px}.ft-taster,.ft-spur,.ft-klein{border:1px solid var(--rand);background:var(--flaeche);color:var(--text);font:600 .85rem var(--schrift-text);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;padding:8px 12px}.ft-taster.aktiv,.ft-spur.linie{background:color-mix(in srgb, var(--cyan) 30%, transparent);border-color:var(--cyan)}.ft-regler{width:100%;accent-color:var(--cyan)}.ft-schnell{gap:6px;display:flex}.ft-klein{padding:4px 10px;font-size:.78rem}.wettbewerb-liste{color:var(--text-mittel);margin:4px 0;padding:0;font-size:.88rem;list-style:none}.wettbewerb-liste li.ok{color:var(--text);font-weight:600}.cm-tooltip .editor-tipp{max-width:300px;font:.85rem/1.45 var(--schrift-text);padding:8px 10px}.editor-tipp code{font:700 .85rem var(--schrift-code);color:var(--cyan-text,var(--cyan))}.editor-tipp p{margin:4px 0}.editor-tipp a{font-weight:600}.cm-tooltip.cm-completionInfo{max-width:260px;font:.82rem/1.4 var(--schrift-text);padding:6px 10px}
