.keyboard-module__U5gz5G__keyboard{background-color:var(--bs-secondary-bg);border:2px solid var(--bs-border-color);-webkit-user-select:none;user-select:none;border-radius:8px;gap:1rem;padding:1rem;display:inline-flex}.keyboard-module__U5gz5G__keyboard-main{display:inline-block}.keyboard-module__U5gz5G__keyboard-sections{align-items:flex-start;gap:1rem;display:flex}.keyboard-module__U5gz5G__keyboard-section{display:inline-block}.keyboard-module__U5gz5G__keyboard-section-group{flex-direction:column;gap:.5rem;margin-top:3.25rem;display:flex}.keyboard-module__U5gz5G__keyboard-section-arrows{margin-top:3rem}.keyboard-module__U5gz5G__keyboard-section-numpad{margin-top:3.25rem}.keyboard-module__U5gz5G__keyboard-row{align-items:flex-start;gap:.25rem;margin-bottom:.25rem;display:flex;position:relative}.keyboard-module__U5gz5G__keyboard-row:last-child{margin-bottom:0}.keyboard-module__U5gz5G__keyboard-key{background:linear-gradient(180deg, var(--bs-secondary-bg) 0%, var(--bs-tertiary-bg) 100%);border:2px solid var(--bs-border-color);min-height:3rem;color:var(--bs-body-color);cursor:pointer;border-radius:.375rem;flex-direction:column;grid-area:span 1/span 1;justify-content:center;align-items:center;padding:.5rem;font-size:.875rem;font-weight:600;transition:all .15s;display:flex;position:relative;box-shadow:0 2px 4px #0000001a}.keyboard-module__U5gz5G__keyboard-key-auto{flex:1;min-width:3.5rem}.keyboard-module__U5gz5G__keyboard-key-multirow{z-index:10;align-self:flex-start}.keyboard-module__U5gz5G__keyboard-key-spacer{pointer-events:none;box-shadow:none!important;cursor:default!important;background:0 0!important;border:none!important}.keyboard-module__U5gz5G__keyboard-key:hover{background:linear-gradient(180deg, var(--bs-tertiary-bg) 0%, var(--bs-secondary-bg) 100%);border-color:var(--bs-primary);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.keyboard-module__U5gz5G__keyboard-key:active{transform:translateY(1px);box-shadow:0 1px 2px #0000001a}.keyboard-module__U5gz5G__keyboard-key.keyboard-module__U5gz5G__pressed{background:linear-gradient(180deg, var(--bs-primary) 0%, var(--bs-primary-dark,#0056b3) 100%);border-color:var(--bs-primary);color:#fff;transform:translateY(2px);box-shadow:inset 0 1px 2px #0003}.keyboard-module__U5gz5G__keyboard-key-with-shift{flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:.4rem .6rem .5rem}.keyboard-module__U5gz5G__keyboard-key-shift-label{color:var(--bs-secondary-color);opacity:.8;font-size:.7rem;line-height:1;position:absolute;top:.4rem;left:.6rem}.keyboard-module__U5gz5G__keyboard-key.keyboard-module__U5gz5G__pressed .keyboard-module__U5gz5G__keyboard-key-shift-label{color:#ffffffb3}.keyboard-module__U5gz5G__keyboard-key-label{font-size:1rem;line-height:1}.keyboard-module__U5gz5G__keyboard-key-with-shift .keyboard-module__U5gz5G__keyboard-key-label{font-size:.9rem}.keyboard-module__U5gz5G__keyboard-key-code{color:var(--bs-secondary-color);opacity:.7;margin-top:.25rem;font-size:.625rem}.keyboard-module__U5gz5G__keyboard-key.keyboard-module__U5gz5G__pressed .keyboard-module__U5gz5G__keyboard-key-code{color:#fffc}
.skeleton-module__MJzota__skeleton{background-color:var(--bs-secondary-bg);position:relative;overflow:hidden}.skeleton-module__MJzota__animate:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--bs-tertiary-bg) 50%, transparent 100%);animation:1.5s ease-in-out infinite skeleton-module__MJzota__shimmer;position:absolute;inset:0}@keyframes skeleton-module__MJzota__shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}
.progress-bar-module__IQ1b6q__wrapper{flex-direction:column;gap:.75rem;width:100%;display:flex!important}.progress-bar-module__IQ1b6q__header{color:var(--bs-body-color);justify-content:space-between;align-items:baseline;gap:.75rem;line-height:1.2;display:flex}.progress-bar-module__IQ1b6q__label{color:var(--bs-body-color);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.progress-bar-module__IQ1b6q__value{font-variant-numeric:tabular-nums;color:var(--bs-secondary-color);flex-shrink:0;font-weight:600}.progress-bar-module__IQ1b6q__track{background-color:var(--bs-tertiary-bg);width:100%;box-shadow:inset 0 0 0 1px rgba(var(--bs-body-color-rgb), .04);border-radius:.25rem;position:relative;overflow:hidden}.progress-bar-module__IQ1b6q__bar{background-color:rgba(var(--bs-body-color-rgb), .55);min-width:0;height:100%;box-shadow:0 0 0 1px rgba(var(--bs-body-color-rgb), .15);border-radius:.25rem;transition:width .4s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-module__IQ1b6q__striped{background-image:linear-gradient(135deg,#ffffff2e 25%,#0000 25% 50%,#ffffff2e 50% 75%,#0000 75%,#0000);background-size:1rem 1rem}.progress-bar-module__IQ1b6q__animated{animation:1s linear infinite progress-bar-module__IQ1b6q__rt-progress-stripes}@keyframes progress-bar-module__IQ1b6q__rt-progress-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress-bar-module__IQ1b6q__indeterminate{animation:1.4s ease-in-out infinite progress-bar-module__IQ1b6q__rt-progress-indeterminate;width:40%!important}@keyframes progress-bar-module__IQ1b6q__rt-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}[data-bs-theme=dark] .progress-bar-module__IQ1b6q__track{background-color:rgba(var(--bs-body-color-rgb), .08);box-shadow:inset 0 0 0 1px #ffffff0a}@media (prefers-reduced-motion:reduce){.progress-bar-module__IQ1b6q__bar{transition:none}.progress-bar-module__IQ1b6q__animated,.progress-bar-module__IQ1b6q__indeterminate{animation:none}}
.markdown-module__5gKubW__markdown{color:inherit;word-wrap:break-word;overflow-wrap:anywhere;font-size:.95rem;line-height:1.5}.markdown-module__5gKubW__markdown>*{margin-top:0;margin-bottom:0}.markdown-module__5gKubW__markdown>*+*{margin-top:.75rem}:is(.markdown-module__5gKubW__markdown [data-streamdown=heading-1],.markdown-module__5gKubW__markdown [data-streamdown=heading-2],.markdown-module__5gKubW__markdown [data-streamdown=heading-3],.markdown-module__5gKubW__markdown [data-streamdown=heading-4],.markdown-module__5gKubW__markdown [data-streamdown=heading-5],.markdown-module__5gKubW__markdown [data-streamdown=heading-6]){color:var(--bs-body-color);margin-top:1.25rem;margin-bottom:.5rem;font-weight:600;line-height:1.25}.markdown-module__5gKubW__markdown [data-streamdown=heading-1]{font-size:1.75rem}.markdown-module__5gKubW__markdown [data-streamdown=heading-2]{font-size:1.5rem}.markdown-module__5gKubW__markdown [data-streamdown=heading-3]{font-size:1.25rem}.markdown-module__5gKubW__markdown [data-streamdown=heading-4]{font-size:1.1rem}.markdown-module__5gKubW__markdown [data-streamdown=heading-5]{font-size:1rem}.markdown-module__5gKubW__markdown [data-streamdown=heading-6]{font-size:.9rem}.markdown-module__5gKubW__markdown p{margin:0}.markdown-module__5gKubW__markdown [data-streamdown=strong]{font-weight:600}.markdown-module__5gKubW__markdown em{font-style:italic}.markdown-module__5gKubW__markdown [data-streamdown=link]{color:var(--bs-link-color);word-break:break-word;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.markdown-module__5gKubW__markdown [data-streamdown=link]:hover{color:var(--bs-link-hover-color)}:is(.markdown-module__5gKubW__markdown [data-streamdown=ordered-list],.markdown-module__5gKubW__markdown [data-streamdown=unordered-list]){margin:0;padding-left:1.5rem}.markdown-module__5gKubW__markdown [data-streamdown=ordered-list]{list-style:decimal}.markdown-module__5gKubW__markdown [data-streamdown=unordered-list]{list-style:outside}.markdown-module__5gKubW__markdown [data-streamdown=list-item]{margin:.15rem 0}.markdown-module__5gKubW__markdown [data-streamdown=list-item]>p{display:inline}.markdown-module__5gKubW__markdown [data-streamdown=horizontal-rule]{border:0;border-top:1px solid var(--bs-border-color);margin:1.25rem 0}.markdown-module__5gKubW__markdown [data-streamdown=blockquote]{border-left:4px solid var(--bs-border-color);color:var(--bs-secondary-color);margin:.75rem 0;padding:.25rem 0 .25rem 1rem;font-style:italic}.markdown-module__5gKubW__markdown [data-streamdown=inline-code]{border-radius:var(--bs-border-radius-sm,.25rem);background-color:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);font-family:var(--bs-font-monospace);color:var(--bs-code-color,var(--bs-body-color));padding:.125rem .375rem;font-size:.875em}.markdown-module__5gKubW__codeBlock{background-color:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius,.375rem);margin:.75rem 0;font-size:.85rem;overflow:hidden}.markdown-module__5gKubW__codeBlockHeader{background-color:var(--bs-secondary-bg);border-bottom:1px solid var(--bs-border-color);font-size:.75rem;font-family:var(--bs-font-monospace);color:var(--bs-secondary-color);text-transform:lowercase;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.markdown-module__5gKubW__codeBlockLang{letter-spacing:.02em}.markdown-module__5gKubW__codeBlockCopy{border-radius:var(--bs-border-radius-sm,.25rem);color:var(--bs-secondary-color);cursor:pointer;background:0 0;border:1px solid #0000;padding:.15rem .5rem;font-size:.75rem;transition:all .15s}.markdown-module__5gKubW__codeBlockCopy:hover{color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);border-color:var(--bs-border-color)}.markdown-module__5gKubW__codeBlockPre{color:var(--bs-body-color);font-family:var(--bs-font-monospace);white-space:pre;background-color:#0000;margin:0;padding:.75rem .875rem;font-size:.85rem;line-height:1.5;overflow-x:auto}.markdown-module__5gKubW__codeBlockPre code{font:inherit;color:inherit;white-space:pre;background:0 0;border:0;padding:0}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper]{border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius,.375rem);background-color:var(--bs-secondary-bg);flex-direction:column;gap:.5rem;margin:.75rem 0;padding:.5rem;display:flex}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper]>div:first-child:not(:last-child){justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper]>div:first-child:not(:last-child)>div{position:relative}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper]>div:last-child{border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius-sm,.25rem);background-color:var(--bs-body-bg);overflow-x:auto}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper] button{border-radius:var(--bs-border-radius-sm,.25rem);color:var(--bs-secondary-color);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:.25rem .4rem;line-height:1;transition:all .15s;display:inline-flex}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper] button:hover{color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);border-color:var(--bs-border-color)}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper] button:disabled{opacity:.5;cursor:not-allowed}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper] button svg{width:14px;height:14px;display:block}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper] [class*=absolute]{z-index:10;background-color:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius,.375rem);min-width:140px;box-shadow:var(--bs-box-shadow,0 .5rem 1rem #00000026);margin-top:.25rem;position:absolute;top:100%;right:0;overflow:hidden}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper] [class*=absolute] button{text-align:left;width:100%;color:var(--bs-body-color);border:0;border-radius:0;padding:.4rem .75rem;font-size:.85rem;display:block}.markdown-module__5gKubW__markdown [data-streamdown=table-wrapper] [class*=absolute] button:hover{background-color:var(--bs-tertiary-bg);color:var(--bs-body-color);border:0}.markdown-module__5gKubW__markdown [data-streamdown=table]{border-collapse:collapse;width:100%;font-size:.875rem}.markdown-module__5gKubW__markdown [data-streamdown=table-header]{background-color:var(--bs-tertiary-bg)}.markdown-module__5gKubW__markdown [data-streamdown=table-row]{border-top:1px solid var(--bs-border-color)}.markdown-module__5gKubW__markdown [data-streamdown=table-header] [data-streamdown=table-row]:first-child{border-top:0}.markdown-module__5gKubW__markdown [data-streamdown=table-header-cell]{text-align:left;white-space:nowrap;color:var(--bs-body-color);padding:.5rem .75rem;font-weight:600}.markdown-module__5gKubW__markdown [data-streamdown=table-cell]{vertical-align:top;color:var(--bs-body-color);padding:.5rem .75rem}.markdown-module__5gKubW__markdown img{border-radius:var(--bs-border-radius,.375rem);border:1px solid var(--bs-border-color);max-width:100%;height:auto}.markdown-module__5gKubW__markdown .katex{font-size:1em}.markdown-module__5gKubW__markdown .katex-display{margin:.75rem 0;padding:.5rem 0;overflow:auto hidden}
.canvas-module__mL1IPa__canvasWrapper{border:1px solid var(--bs-border-color,#dee2e6);border-radius:var(--bs-border-radius,.375rem);flex-direction:column;width:100%;display:flex;overflow:hidden}.canvas-module__mL1IPa__canvas{background-color:#fff;background-image:linear-gradient(45deg,#f0f0f0 25%,#0000 25%),linear-gradient(-45deg,#f0f0f0 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#f0f0f0 75%),linear-gradient(-45deg,#0000 75%,#f0f0f0 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.canvas-module__mL1IPa__canvasDark{background-color:#1a1a1a;background-image:linear-gradient(45deg,#2a2a2a 25%,#0000 25%),linear-gradient(-45deg,#2a2a2a 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#2a2a2a 75%),linear-gradient(-45deg,#0000 75%,#2a2a2a 75%)}.canvas-module__mL1IPa__canvasContentInteractive{will-change:transform;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.canvas-module__mL1IPa__canvasContent{box-sizing:border-box;justify-content:center;align-items:center;width:fit-content;margin:0;padding:0;display:flex}.canvas-module__mL1IPa__canvasControls{background-color:var(--bs-secondary-bg);border-bottom:1px solid var(--bs-border-color,#dee2e6);flex-wrap:wrap;align-items:center;gap:.625rem;padding:.625rem;font-size:.9375rem;display:flex}.canvas-module__mL1IPa__controlButton{border-radius:var(--bs-border-radius-sm,.25rem);width:34px;height:34px;color:var(--bs-secondary-color);cursor:pointer;background-color:#0000;border:none;justify-content:center;align-items:center;padding:0;font-size:1rem;transition:background-color .15s ease-in-out,color .15s ease-in-out;display:flex}.canvas-module__mL1IPa__controlButton:hover:not(:disabled){background-color:var(--bs-tertiary-bg);color:var(--bs-body-color)}.canvas-module__mL1IPa__controlButton:disabled{opacity:.4;cursor:not-allowed}.canvas-module__mL1IPa__controlButtonActive,.canvas-module__mL1IPa__controlButtonActive:hover:not(:disabled){background-color:var(--bs-primary);color:#fff}.canvas-module__mL1IPa__zoomLabel{text-align:center;min-width:52px;height:34px;color:var(--bs-secondary-color);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.9375rem;display:flex}.canvas-module__mL1IPa__controlDivider{background-color:var(--bs-border-color,#dee2e6);width:1px;height:22px;margin:0 .375rem}.canvas-module__mL1IPa__canvasExportBar{background-color:var(--bs-secondary-bg);border-top:1px solid var(--bs-border-color,#dee2e6);flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;display:flex}.canvas-module__mL1IPa__exportFormatButton{gap:.375rem;background-color:var(--bs-tertiary-bg)!important;width:auto!important;color:var(--bs-body-color)!important;padding:0 .5rem!important}.canvas-module__mL1IPa__exportFormatLabel{letter-spacing:.02em;font-size:.8125rem;font-weight:600}
.snake-game-module__XNY0CW__wrapper{width:100%;max-width:480px;margin:0 auto}.snake-game-module__XNY0CW__board{aspect-ratio:1;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius-lg,.5rem);background-color:var(--bs-body-bg);touch-action:none;width:100%;position:relative;overflow:hidden}.snake-game-module__XNY0CW__canvas{width:100%;height:100%;display:block}.snake-game-module__XNY0CW__overlay{text-align:center;background-color:color-mix(in srgb, var(--bs-body-bg) 78%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex;position:absolute;inset:0}
