:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--type-int:#2563eb;--type-float:#0d9488;--type-str:#b45309;--type-bool:#7c3aed;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--type-int:#60a5fa;--type-float:#2dd4bf;--type-str:#fbbf24;--type-bool:#c084fc}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}#root{box-sizing:border-box;flex-direction:column;gap:24px;padding:32px 24px 64px;display:flex}.screen-card{text-align:left;border:1px solid var(--border);max-width:560px;box-shadow:var(--shadow);border-radius:16px;margin:12vh auto 0;padding:32px}.screen-card h1{margin:0 0 8px}.app-logo{object-fit:contain;border-radius:22px;width:140px;height:140px;margin:0 auto 16px;display:block}.lede{margin-bottom:20px;font-size:18px}.rules{margin:0 0 28px;padding-left:20px;line-height:165%}.summary-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.summary-list li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.summary-list__arrow{color:var(--accent)}.summary-mistakes{margin-bottom:20px}.game{text-align:left;width:100%;max-width:760px;margin:0 auto}.game__header{text-align:left;justify-content:center;align-items:center;gap:14px;margin-bottom:24px;display:flex}.game__header h1{margin:0 0 4px}.game__logo{object-fit:contain;border-radius:16px;flex-shrink:0;width:84px;height:84px}.game__progress{color:var(--text-h);font-weight:500}.function-panel{border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:4px;padding:28px;display:flex}.function-panel h2{margin-top:20px}.function-panel__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.function-panel__head h2{margin-top:0}.hint{margin:0 0 12px;font-size:15px}.python-code{background:var(--code-bg);border-radius:8px;margin:0;padding:16px 18px;overflow-x:auto}.python-code code{font-family:var(--mono);white-space:pre;background:0 0;padding:0;font-size:15px}.variable-pool{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.chip{border:2px solid var(--chip-border);background:var(--chip-bg);cursor:grab;font:inherit;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:transform .15s,box-shadow .15s;display:inline-flex}.chip:hover{box-shadow:var(--shadow)}.chip:active{cursor:grabbing}.chip--selected{outline:2px solid var(--accent);outline-offset:2px;transform:translateY(-2px)}.chip__code{font-family:var(--mono);color:var(--text-h);font-size:14px}.chip__type{text-transform:uppercase;letter-spacing:.06em;color:var(--chip-fg);background:var(--chip-tag-bg);border-radius:999px;padding:2px 7px;font-size:11px}.chip--int{--chip-border:var(--type-int);--chip-bg:color-mix(in srgb, var(--type-int) 12%, var(--bg));--chip-fg:var(--type-int);--chip-tag-bg:color-mix(in srgb, var(--type-int) 20%, var(--bg))}.chip--float{--chip-border:var(--type-float);--chip-bg:color-mix(in srgb, var(--type-float) 12%, var(--bg));--chip-fg:var(--type-float);--chip-tag-bg:color-mix(in srgb, var(--type-float) 20%, var(--bg))}.chip--str{--chip-border:var(--type-str);--chip-bg:color-mix(in srgb, var(--type-str) 12%, var(--bg));--chip-fg:var(--type-str);--chip-tag-bg:color-mix(in srgb, var(--type-str) 20%, var(--bg))}.chip--bool{--chip-border:var(--type-bool);--chip-bg:color-mix(in srgb, var(--type-bool) 12%, var(--bg));--chip-fg:var(--type-bool);--chip-tag-bg:color-mix(in srgb, var(--type-bool) 20%, var(--bg))}.call-builder{background:var(--code-bg);border-radius:8px;padding:18px;font-size:17px;line-height:165%;display:block}.call-builder__func{color:var(--accent);font-weight:600}.call-builder__label{color:var(--text);opacity:.75}.call-slot{appearance:none;font:inherit;border:2px dashed var(--border);text-align:center;cursor:pointer;min-width:64px;color:var(--text-h);background:0 0;border-radius:6px;margin:0 2px;padding:2px 10px;transition:border-color .15s,background .15s,transform .1s;display:inline-block}.call-slot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.call-slot--filled{border-style:solid;border-color:var(--accent-border);background:var(--accent-bg)}.call-slot--error{background:#ef44441f;border-color:#ef4444;animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.feedback{border-radius:10px;margin-top:16px;padding:16px 18px;line-height:155%}.feedback code{background:#00000014}.feedback--error{color:#b91c1c;margin-top:8px;padding:4px 0 0}.feedback--success{background:var(--accent-bg);border:1px solid var(--accent-border)}.feedback--success p:first-child{margin-top:0}.feedback--success .btn{margin-top:4px}.mistake-count{opacity:.75;margin-top:14px;font-size:14px}.btn{font:inherit;cursor:pointer;border:2px solid #0000;border-radius:8px;padding:10px 20px;font-weight:600;transition:border-color .2s,background .2s}.btn--primary{color:var(--bg);background:var(--accent)}.btn--primary:hover{background:var(--accent);border-color:var(--text-h)}.btn--ghost{color:var(--accent);border-color:var(--accent-border);background:0 0;padding:6px 14px;font-size:14px}.btn--ghost:hover{background:var(--accent-bg)}@media (width<=640px){.screen-card{margin-top:6vh;padding:24px}.function-panel{padding:20px}.call-builder{font-size:15px}}
