.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.compile-errors.svelte-ca25mq{color:#e8ebf0;background:#1d2330;border-radius:6px;padding:12px 16px}.title.svelte-ca25mq{color:#ff8a8a;margin:0 0 6px}pre.svelte-ca25mq{white-space:pre-wrap;margin:0;font-size:14px}.explanation.svelte-ca25mq{color:#1d2330;background:#fff4f4;border-left:4px solid #d93b3b;border-radius:4px;margin-top:12px;padding:10px 12px;line-height:1.5}.explanation.svelte-ca25mq p:where(.svelte-ca25mq):not(.where){margin:0}.explanation.svelte-ca25mq code:where(.svelte-ca25mq){background:#f1dcdc;border-radius:3px;padding:0 4px}.where.svelte-ca25mq{margin-bottom:4px;font-weight:600}.hint.svelte-ca25mq{color:#c9d1dd;margin:12px 0 0}.code-runner.svelte-wxk7jf{flex-direction:column;gap:8px;margin:12px 0;display:flex}.editor.svelte-wxk7jf{background:#fff;border:1px solid #d5d9e0;border-radius:6px;overflow:hidden}.editor.svelte-wxk7jf .cm-editor{font-size:15px}.toolbar.svelte-wxk7jf{flex-wrap:wrap;gap:8px;display:flex}.console.svelte-wxk7jf{background:#000;border-radius:6px;padding:8px;overflow:hidden}.console.hidden.svelte-wxk7jf{display:none}a.svelte-1jrca0i{color:#2f6fde}.card.svelte-1jrca0i{background:#fff;border:1px solid #d5d9e0;border-radius:6px;margin:12px 0;padding:4px 20px 12px}.text.svelte-1jrca0i{line-height:1.6}.text.svelte-1jrca0i code{background:#eef1f5;border-radius:3px;padding:1px 4px}.text.svelte-1jrca0i pre{background:#eef1f5;border-radius:4px;padding:8px 12px;line-height:1.4}.text.svelte-1jrca0i pre code{background:0 0;padding:0}.passed.svelte-1jrca0i{color:#1f8a4c}h2.svelte-1jrca0i .passed:where(.svelte-1jrca0i){margin-left:12px;font-size:1rem}.ai-hint.svelte-1jrca0i{background:#f1f6ff;border-color:#b9cdf3}.hints.svelte-1jrca0i{background:#fffbea;border-color:#ecd98b}.hint.svelte-1jrca0i+.hint:where(.svelte-1jrca0i){border-top:1px dashed #ecd98b}.save-status.svelte-1jrca0i{margin:0 0 8px;font-size:.9rem}.summary.svelte-1jrca0i{font-weight:600}.check.svelte-1jrca0i{border-left:4px solid #1f8a4c;margin:12px 0;padding:0 12px}.check.failed.svelte-1jrca0i{border-left-color:#d93b3b}h4.svelte-1jrca0i{margin:8px 0}pre.svelte-1jrca0i{background:#f1f3f6;border-radius:4px;max-height:240px;margin:4px 0 8px;padding:8px;overflow:auto}.muted.svelte-1jrca0i{color:#8a93a3}.error.svelte-1jrca0i{color:#d93b3b}a.svelte-hsr1le{color:#2f6fde}.card.svelte-hsr1le{background:#fff;border:1px solid #d5d9e0;border-radius:6px;margin-bottom:16px;padding:4px 20px 12px}.text.svelte-hsr1le{line-height:1.6}.text.svelte-hsr1le h2{border-top:1px solid #e3e6eb;margin-top:28px;padding-top:12px}.text.svelte-hsr1le code{background:#eef1f5;border-radius:3px;padding:1px 4px}.text.svelte-hsr1le pre{background:#eef1f5;border-radius:4px;padding:8px 12px;overflow-x:auto}.text.svelte-hsr1le pre code{padding:0}.text.svelte-hsr1le table{border-collapse:collapse;margin:8px 0}.text.svelte-hsr1le th,.text.svelte-hsr1le td{text-align:left;vertical-align:top;border:1px solid #d5d9e0;padding:4px 10px}.text.svelte-hsr1le th{background:#f6f7f9}.muted.svelte-hsr1le{color:#8a93a3}.error.svelte-hsr1le{color:#d93b3b}a.svelte-z9pa32{color:#2f6fde}.card.svelte-z9pa32{background:#fff;border:1px solid #d5d9e0;border-radius:6px;padding:4px 20px 12px;line-height:1.6}form.svelte-z9pa32{gap:8px;margin:8px 0 12px;display:flex}input[type=password].svelte-z9pa32{border:1px solid #c3c9d4;border-radius:6px;flex:1;padding:8px;font-size:1rem}label.svelte-z9pa32{margin:4px 0;display:block}code.svelte-z9pa32{background:#eef1f5;border-radius:3px;padding:1px 4px}h4.svelte-z9pa32{margin:12px 0 4px}.ok.svelte-z9pa32{color:#1f8a4c}.muted.svelte-z9pa32{color:#8a93a3}.error.svelte-z9pa32{color:#d93b3b}ol.svelte-1cansup{font-size:1.15rem;line-height:2}a.svelte-1cansup{color:#2f6fde}.progress.svelte-1cansup{color:#8a93a3;margin-left:12px;font-size:.95rem}.progress.done.svelte-1cansup{color:#1f8a4c}.to-be-continued.svelte-1cansup{color:#8a93a3;font-style:italic}.muted.svelte-1cansup{color:#8a93a3}.error.svelte-1cansup{color:#d93b3b}a.svelte-mjlr64{color:#2f6fde}.card.svelte-mjlr64{background:#fff;border:1px solid #d5d9e0;border-radius:6px;margin-bottom:16px;padding:4px 20px 12px}.text.svelte-mjlr64{line-height:1.6}.text.svelte-mjlr64 code{background:#eef1f5;border-radius:3px;padding:1px 4px}.text.svelte-mjlr64 pre{background:#eef1f5;border-radius:4px;padding:8px 12px;overflow-x:auto}.text.svelte-mjlr64 pre code{padding:0}.text.svelte-mjlr64 table{border-collapse:collapse;margin:8px 0}.text.svelte-mjlr64 th,.text.svelte-mjlr64 td{text-align:left;border:1px solid #d5d9e0;padding:4px 10px}.text.svelte-mjlr64 th{background:#f6f7f9}.warm-ups.svelte-mjlr64{line-height:2}.passed.svelte-mjlr64{color:#1f8a4c;margin-left:8px}.muted.svelte-mjlr64{color:#8a93a3}.error.svelte-mjlr64{color:#d93b3b}.notice.svelte-15b2trl{background:#fff;border:1px solid #d5d9e0;border-radius:6px;margin-bottom:12px;padding:12px 16px}.notice.svelte-15b2trl p:where(.svelte-15b2trl){margin:4px 0}progress.svelte-15b2trl{width:100%}.muted.svelte-15b2trl{color:#8a93a3}.error.svelte-15b2trl{color:#d93b3b}a.svelte-cjlycr{color:#2f6fde}.card.svelte-cjlycr{background:#fff;border:1px solid #d5d9e0;border-radius:6px;padding:4px 20px 12px;line-height:1.6}li.svelte-cjlycr{margin-bottom:6px}.muted.svelte-cjlycr{color:#8a93a3}.backdrop.svelte-br8owj{z-index:10;background:#1d233040;position:fixed;inset:0}.panel.svelte-br8owj{box-sizing:border-box;z-index:11;background:#fff;border-left:1px solid #d5d9e0;width:min(480px,100vw);padding:12px 20px 20px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-4px 0 16px #1d23301f}.top.svelte-br8owj{justify-content:space-between;align-items:center;display:flex}.top.svelte-br8owj h2:where(.svelte-br8owj){margin:8px 0;font-size:1.25rem}.buttons.svelte-br8owj{gap:6px;display:flex}ul.svelte-br8owj{margin:12px 0;padding:0;list-style:none}li.svelte-br8owj{border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}li.selected.svelte-br8owj{background:#eef3fc}.name.svelte-br8owj{text-align:left;word-break:break-all;flex:1;font-family:ui-monospace,monospace}.size.svelte-br8owj{white-space:nowrap;font-size:.85rem}.file.svelte-br8owj h3:where(.svelte-br8owj){margin:16px 0 8px;font-family:ui-monospace,monospace;font-size:1rem}pre.svelte-br8owj{white-space:pre-wrap;word-break:break-word;background:#f4f6f9;border:1px solid #e1e5eb;border-radius:6px;max-height:60vh;padding:10px 12px;font-size:.85rem;overflow-y:auto}.muted.svelte-br8owj{color:#8a93a3}.error.svelte-br8owj{color:#d93b3b}a.svelte-u1ig06{color:#2f6fde}h2.svelte-u1ig06{margin-bottom:4px}.card.svelte-u1ig06{background:#fff;border:1px solid #d5d9e0;border-radius:6px;margin-bottom:16px;padding:4px 20px 12px}.practice.svelte-u1ig06{border-top:1px solid #e3e6eb;padding:8px 0}.summary.svelte-u1ig06{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.title.svelte-u1ig06{flex:1;min-width:200px}.passed.svelte-u1ig06{color:#1f8a4c;margin-left:8px}.editor.svelte-u1ig06{border:1px solid #d5d9e0;border-radius:6px;margin-top:8px;font-size:14px;overflow:hidden}.muted.svelte-u1ig06{color:#8a93a3}.error.svelte-u1ig06{color:#d93b3b}a.svelte-qmfzc9{color:#2f6fde}.card.svelte-qmfzc9{background:#fff;border:1px solid #d5d9e0;border-radius:6px;margin-bottom:16px;padding:4px 20px 12px}.scroll.svelte-qmfzc9{overflow-x:auto}table.svelte-qmfzc9{border-collapse:collapse;width:100%}th.svelte-qmfzc9,td.svelte-qmfzc9{text-align:left;vertical-align:top;border-bottom:1px solid #e3e6eb;padding:6px 10px}th.svelte-qmfzc9{font-size:.9rem;font-weight:600}.progress.svelte-qmfzc9{white-space:nowrap}.actions.svelte-qmfzc9{white-space:nowrap;text-align:right}.actions.svelte-qmfzc9 button:where(.svelte-qmfzc9)+button:where(.svelte-qmfzc9){margin-left:6px}.blocked.svelte-qmfzc9 td:where(.svelte-qmfzc9){color:#8a93a3}.badge.svelte-qmfzc9{color:#d93b3b;margin-left:6px;font-size:.8rem}.muted.svelte-qmfzc9{color:#8a93a3}.error.svelte-qmfzc9{color:#d93b3b}.card.svelte-1c2tf4j{background:#fff;border:1px solid #d5d9e0;border-radius:6px;margin-bottom:16px;padding:4px 20px 12px;line-height:1.6}.dev.svelte-1c2tf4j{border-style:dashed}a.svelte-1c2tf4j{color:#2f6fde}.button.svelte-1c2tf4j{color:#fff;background:#2f6fde;border-radius:8px;padding:10px 22px;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-block}.button.svelte-1c2tf4j:hover{background:#2559b8}.button.svelte-1c2tf4j:focus-visible{outline:none;box-shadow:0 0 0 3px #2f6fde59}.buttons.svelte-1c2tf4j{flex-wrap:wrap;gap:8px;display:flex}.muted.svelte-1c2tf4j{color:#8a93a3}.error.svelte-1c2tf4j{color:#d93b3b}body{color:#1d2330;background:#f4f6f9;margin:0;font-family:system-ui,sans-serif}button{font:inherit;color:#1d2330;cursor:pointer;background:#fff;border:1px solid #c8ced8;border-radius:8px;padding:8px 16px;font-size:.95rem;line-height:1.2;transition:background-color .15s,border-color .15s,box-shadow .15s}button:hover:not(:disabled){background:#f0f3f8;border-color:#aeb6c4}button:active:not(:disabled){background:#e6eaf1}button:focus-visible{outline:none;box-shadow:0 0 0 3px #2f6fde59}button:disabled{opacity:.5;cursor:default}button.primary{color:#fff;background:#2f6fde;border-color:#2f6fde;font-weight:500}button.primary:hover:not(:disabled){background:#2559b8;border-color:#2559b8}button.primary:active:not(:disabled){background:#1f4c9c}button.danger{color:#c23434;border-color:#efc2c2}button.danger:hover:not(:disabled){background:#fdf1f1;border-color:#d93b3b}button.link{color:#2f6fde;background:0 0;border:none;padding:0}button.link:hover:not(:disabled){background:0 0;text-decoration:underline}button.small{border-radius:6px;padding:5px 10px;font-size:.85rem}.card{box-shadow:0 1px 2px #1d23300d}main.svelte-16t12jp{max-width:960px;margin:0 auto;padding:16px}h1.svelte-16t12jp{margin:0;font-size:1.5rem}h1.svelte-16t12jp a:where(.svelte-16t12jp){color:inherit;text-decoration:none}header.svelte-16t12jp{border-bottom:1px solid #e1e5eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;padding-bottom:12px;display:flex}nav.svelte-16t12jp{flex-wrap:wrap;align-items:center;gap:6px 18px;display:flex}nav.svelte-16t12jp a:where(.svelte-16t12jp){color:#2f6fde;text-decoration:none}nav.svelte-16t12jp a:where(.svelte-16t12jp):hover{text-decoration:underline}.name.svelte-16t12jp{color:#5a6475}.notice.svelte-16t12jp{background:#fff;border:1px solid #d5d9e0;border-radius:8px;margin-bottom:12px;padding:12px 16px}.notice.svelte-16t12jp p:where(.svelte-16t12jp){margin:4px 0}.muted.svelte-16t12jp{color:#8a93a3}.error.svelte-16t12jp{color:#d93b3b}
