/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.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,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.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;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}body:has(.exam-launcher) footer{display:none}.exam-launcher.svelte-193npg9{position:relative;display:grid;place-items:center;min-height:calc(100vh - 56px);padding:48px 24px;background:var(--color-canvas);color:var(--color-text)}.launcher-spinner.svelte-193npg9{width:26px;height:26px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:svelte-193npg9-launcher-spin .7s linear infinite}@keyframes svelte-193npg9-launcher-spin{to{transform:rotate(360deg)}}.launcher-content.svelte-193npg9{width:min(650px,100%)}.launcher-brand.svelte-193npg9{text-align:center;margin-bottom:32px}.launcher-brand.svelte-193npg9 img:where(.svelte-193npg9){display:block;width:171px;height:auto;margin:0 auto 6px;filter:invert(49%) sepia(93%) saturate(2528%) hue-rotate(202deg) brightness(101%) contrast(94%)}.launcher-brand.svelte-193npg9 p:where(.svelte-193npg9){margin:0;color:var(--color-text-muted);font-size:16.8px;font-weight:500;letter-spacing:.18em}.launcher-panel.svelte-193npg9{padding:25px 24px 29px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);box-shadow:0 20px 56px #0e1f312e}.launcher-panel.svelte-193npg9 h1:where(.svelte-193npg9),.launcher-panel.svelte-193npg9 h2:where(.svelte-193npg9){margin:0 0 10px;color:var(--color-text-muted);font-size:15.4px;font-weight:500;letter-spacing:.08em}.launcher-panel.svelte-193npg9 h2:where(.svelte-193npg9){margin-top:24px}.exam-families.svelte-193npg9{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.exam-family.svelte-193npg9{min-width:0;margin:0;padding:8px;border:1px solid var(--color-border);border-radius:6px}.exam-family.svelte-193npg9 legend:where(.svelte-193npg9){float:left;width:100%;padding:0 0 8px;text-align:center;color:var(--color-text-muted);font-size:14px;letter-spacing:.06em}.exam-options.svelte-193npg9{clear:both;display:grid;grid-template-columns:1fr;gap:7px}.cka-options.svelte-193npg9{grid-template-columns:repeat(4,minmax(0,1fr))}.cks-family.svelte-193npg9 .exam-options:where(.svelte-193npg9){grid-template-columns:repeat(4,minmax(0,1fr))}.exam-options.svelte-193npg9 button:where(.svelte-193npg9),.duration-options.svelte-193npg9 button:where(.svelte-193npg9){min-height:39px;border:1px solid transparent;border-radius:5px;background:var(--color-surface-raised);color:var(--color-text-soft);font-size:15.4px;font-weight:500;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.exam-options.svelte-193npg9 button:where(.svelte-193npg9):hover,.duration-options.svelte-193npg9 button:where(.svelte-193npg9):hover{border-color:#829ab1;color:var(--color-text);transform:translateY(-1px)}.exam-options.svelte-193npg9 button:where(.svelte-193npg9):focus-visible,.duration-options.svelte-193npg9 button:where(.svelte-193npg9):focus-visible,.start-exam-btn.svelte-193npg9:focus-visible{outline:2px solid #8ab4ff;outline-offset:2px}.exam-options.svelte-193npg9 button.selected:where(.svelte-193npg9),.duration-options.svelte-193npg9 button.selected:where(.svelte-193npg9){background:var(--color-accent);border-color:#7ba9ff;color:#fff}.duration-options.svelte-193npg9{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.start-exam-btn.svelte-193npg9{width:100%;min-height:45px;margin-top:24px;border:1px solid #7ba9ff;border-radius:5px;background:var(--color-accent);color:#fff;font-size:18.2px;font-weight:650;letter-spacing:.01em;transition:background .15s ease,transform .15s ease}.start-exam-btn.svelte-193npg9:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.start-exam-btn.svelte-193npg9:disabled{opacity:.65;cursor:wait}.launcher-error.svelte-193npg9{margin:18px 0 -16px;color:#f47067;font-size:13px;text-align:center}body:has(.simulator-root) header,body:has(.simulator-root) footer{display:none}.simulator-root.svelte-193npg9{display:flex;flex-direction:column;height:100vh;background:var(--color-canvas);overflow:hidden}.sim-topbar.svelte-193npg9{display:grid;grid-template-columns:38fr 62fr;height:48px;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);flex-shrink:0}.sim-topbar-left.svelte-193npg9{display:flex;align-items:center;gap:12px;padding:0 16px;border-right:1px solid var(--color-border);min-width:0}.sim-topbar-right.svelte-193npg9{display:flex;align-items:center;gap:8px;padding:0 12px 0 0;min-width:0}.locked-exam.svelte-193npg9{display:inline-flex;align-items:center;gap:6px;color:var(--color-text);font-size:12px;font-weight:600;white-space:nowrap}.locked-exam.svelte-193npg9 svg:where(.svelte-193npg9){width:13px;height:13px;fill:none;stroke:var(--color-text-muted);stroke-width:1.8}.terminate-btn.svelte-193npg9{padding:4px 8px;border:1px solid #70413f;border-radius:5px;background:transparent;color:#f09089;font-size:11px;white-space:nowrap;transition:border-color .15s,background .15s}.terminate-btn.svelte-193npg9:hover{border-color:#f47067;background:#f4706714}.terminate-backdrop.svelte-193npg9{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#070a0fc2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.terminate-dialog.svelte-193npg9{width:min(420px,100%);padding:28px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);box-shadow:0 28px 80px #00000059;text-align:center}.terminate-icon.svelte-193npg9{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 14px;border-radius:50%;background:#f470671f;color:#f47067}.terminate-icon.svelte-193npg9 svg:where(.svelte-193npg9){width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.terminate-dialog.svelte-193npg9 h2:where(.svelte-193npg9){margin:0 0 8px;color:var(--color-text);font-size:18px;font-weight:650}.terminate-dialog.svelte-193npg9 p:where(.svelte-193npg9){margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.55}.terminate-actions.svelte-193npg9{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.terminate-actions.svelte-193npg9 button:where(.svelte-193npg9){min-height:40px;border-radius:6px;font-size:13px;font-weight:600}.cancel-terminate.svelte-193npg9{border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text)}.confirm-terminate.svelte-193npg9{border:1px solid #f47067;background:#b6423b;color:#fff}.confirm-terminate.svelte-193npg9:disabled{opacity:.6}.sim-panels.svelte-193npg9{display:grid;grid-template-columns:38fr 62fr;flex:1;overflow:hidden}.sim-task-panel.svelte-193npg9{overflow-y:auto;padding:20px 18px;background:var(--color-surface);border-right:1px solid var(--color-border);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.sim-right-panel.svelte-193npg9{display:flex;flex-direction:column;background:var(--color-code-surface);overflow:hidden}.task-nav-group.svelte-193npg9{display:flex;align-items:stretch;min-width:0;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);overflow:hidden}.task-nav-arrow.svelte-193npg9{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;border:none;background:transparent;color:var(--color-text-muted);font-size:15px;line-height:1;cursor:pointer;transition:color .15s,background .15s}.task-nav-arrow.svelte-193npg9:first-child{border-right:1px solid var(--color-border)}.task-nav-arrow.svelte-193npg9:last-child{border-left:1px solid var(--color-border)}.task-nav-arrow.svelte-193npg9:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-raised)}.task-nav-arrow.svelte-193npg9:disabled{opacity:.35;cursor:default}.topbar-select.svelte-193npg9{background:transparent;border:none;border-radius:0;color:var(--color-text);font-size:13px;padding:3px 6px;cursor:pointer;flex-shrink:1;min-width:0;outline:none;max-width:260px}.topbar-select.svelte-193npg9:focus{background:var(--color-surface-raised)}.topbar-select.svelte-193npg9 option:where(.svelte-193npg9){background:var(--color-surface);color:var(--color-text)}.sim-tab.svelte-193npg9{display:flex;align-items:center;height:100%;padding:0 14px;font-size:12px;color:var(--color-text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap;flex-shrink:0}.sim-tab.svelte-193npg9:hover{color:var(--color-text-soft)}.sim-tab.active.svelte-193npg9{color:var(--color-text);border-bottom-color:var(--color-accent)}.sim-tab-content-area.svelte-193npg9{flex:1;overflow:hidden;position:relative}.sim-tab-content.svelte-193npg9{position:absolute;top:0;right:0;bottom:0;left:0;padding:8px}.sim-tab-content.hidden.svelte-193npg9{display:none}.sim-tab-content.svelte-193npg9 iframe:where(.svelte-193npg9){width:100%;height:100%;border:none}.session-badge.svelte-193npg9{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.session-badge.svelte-193npg9 code:where(.svelte-193npg9){font-family:JetBrains Mono,monospace;color:var(--color-code-text);font-size:11px}.sim-timer.svelte-193npg9{display:flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:14px;color:#539bf5;font-weight:600;letter-spacing:.03em}.sim-timer.urgent.svelte-193npg9{color:#f47067}.task-num.svelte-193npg9{display:inline-block;background:var(--color-accent);color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;margin-top:2px}.task-meta.svelte-193npg9{margin:4px 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.5}.task-meta.svelte-193npg9 code:where(.svelte-193npg9){font-family:JetBrains Mono,monospace;font-size:11px;color:var(--color-text-soft)}.task-competencies.svelte-193npg9{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.task-competencies.svelte-193npg9 span:where(.svelte-193npg9){border-left:2px solid var(--color-accent);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:11px;line-height:1.35;padding:3px 7px;border-radius:0 4px 4px 0}.btn-sim-secondary.svelte-193npg9{font-size:12px;padding:4px 10px;background:var(--color-code-surface);border:1px solid var(--color-code-border);color:var(--color-text-muted);border-radius:6px;cursor:pointer;transition:all .15s}.btn-sim-secondary.svelte-193npg9:hover:not(:disabled){border-color:#539bf5;color:#539bf5}.btn-sim-secondary.svelte-193npg9:disabled{opacity:.4;cursor:default}.prose-sim p{color:var(--color-text);font-size:16px;line-height:1.65;margin:0 0 12px}.prose-sim ul,.prose-sim ol{color:var(--color-text);font-size:16px;padding-left:24px;margin:0 0 12px}.prose-sim li{margin-bottom:6px;line-height:1.65}.prose-sim code{background:var(--color-code-surface);border:1px solid var(--color-code-border);color:var(--color-code-text);font-family:JetBrains Mono,Fira Code,monospace;font-size:.9em;padding:1px 5px;border-radius:4px}.prose-sim pre{background:var(--color-code-surface);border:1px solid var(--color-code-border);color:var(--color-text);font-family:JetBrains Mono,Fira Code,monospace;font-size:15px;padding:10px 12px;border-radius:6px;overflow-x:auto;margin:8px 0;line-height:1.6}.prose-sim pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}.prose-sim strong{color:var(--color-text);font-weight:600}.prose-sim em{color:var(--color-text);font-style:italic}.task-hint.svelte-193npg9{background:var(--color-code-surface);border:1px solid var(--color-code-border);border-left:3px solid var(--color-accent);padding:10px 12px;border-radius:6px}.btn-sim-check.svelte-193npg9{font-size:12px;padding:4px 10px;background:#1b3a1b;border:1px solid #2d5a2d;color:#57ab5a;border-radius:6px;cursor:pointer;transition:all .15s}.btn-sim-check.svelte-193npg9:hover:not(:disabled){background:#22472e;border-color:#57ab5a;color:#6fbe72}.btn-sim-check.svelte-193npg9:disabled{opacity:.5;cursor:default}.check-error.svelte-193npg9{font-size:12px;color:#f47067;background:#2d1b1b;border:1px solid #5a2d2d;border-radius:6px;padding:8px 10px}.check-results.svelte-193npg9{display:flex;flex-direction:column;gap:6px}.check-score.svelte-193npg9{font-size:12px;font-weight:600;color:var(--color-text-soft);margin-bottom:4px}.check-item.svelte-193npg9{border-radius:6px;border:1px solid var(--color-border);overflow:hidden}.check-pass.svelte-193npg9{border-color:#2d5a2d}.check-fail.svelte-193npg9{border-color:#5a2d2d}.check-item-header.svelte-193npg9{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px}.check-pass.svelte-193npg9 .check-item-header:where(.svelte-193npg9){background:#1b2e1b}.check-fail.svelte-193npg9 .check-item-header:where(.svelte-193npg9){background:#2e1b1b}.check-icon.svelte-193npg9{flex-shrink:0;font-size:13px}.check-desc.svelte-193npg9{flex:1;color:var(--color-text-soft)}.check-weight.svelte-193npg9{flex-shrink:0;color:var(--color-text-muted);font-size:11px}.check-output.svelte-193npg9{padding:4px 10px 6px 28px;font-size:11px;font-family:JetBrains Mono,monospace;color:var(--color-text-muted);background:var(--color-code-surface);border-top:1px solid var(--color-border)}html[data-theme=light] .btn-sim-check.svelte-193npg9{color:#246b38;background:#edf8ef;border-color:#99c9a4}html[data-theme=light] .btn-sim-check.svelte-193npg9:hover:not(:disabled){color:#174d27;background:#e1f3e5;border-color:#69a879}html[data-theme=light] .check-error.svelte-193npg9{color:#a92e2e;background:#fff0ef;border-color:#e8aaaa}html[data-theme=light] .check-pass.svelte-193npg9{border-color:#99c9a4}html[data-theme=light] .check-fail.svelte-193npg9{border-color:#e8aaaa}html[data-theme=light] .check-pass.svelte-193npg9 .check-item-header:where(.svelte-193npg9){background:#edf8ef}html[data-theme=light] .check-fail.svelte-193npg9 .check-item-header:where(.svelte-193npg9){background:#fff0ef}@media (max-width: 760px){.exam-launcher.svelte-193npg9{align-items:start;padding:82px 16px 36px}.launcher-brand.svelte-193npg9{margin-bottom:30px}.launcher-brand.svelte-193npg9 img:where(.svelte-193npg9){width:190px}.launcher-brand.svelte-193npg9 p:where(.svelte-193npg9){font-size:16.8px}.launcher-panel.svelte-193npg9{padding:26px 18px 28px}.exam-families.svelte-193npg9{grid-template-columns:1fr}.cka-options.svelte-193npg9{grid-template-columns:repeat(2,minmax(0,1fr))}.cks-family.svelte-193npg9 .exam-options:where(.svelte-193npg9){grid-template-columns:repeat(2,minmax(0,1fr))}.duration-options.svelte-193npg9{gap:8px}.exam-options.svelte-193npg9 button:where(.svelte-193npg9),.duration-options.svelte-193npg9 button:where(.svelte-193npg9){min-height:50px;font-size:19.6px}.start-exam-btn.svelte-193npg9{min-height:56px}}
