/**
 * 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;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-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:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.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{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{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}.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;background:#0000;transition:opacity .1s linear;z-index:11}.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{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{color:#172033;background:#fff8e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;background:linear-gradient(180deg,#fffcf0f5,#edf8f7f0),#fff8e8}.top-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:0 28px;background:#fffcf2eb;border-bottom:1px solid #f1dfb7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-button,.icon-button,.primary-button,.secondary-button,.danger-button,.square-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0}.brand-button{padding:0;color:#48311a;font-weight:900;background:transparent}.brand-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:#fff;background:#ffbf3d;border:2px solid #4f3520;border-radius:8px 8px 14px 14px;box-shadow:inset 0 -5px #ff975347}.brand-mark span{width:10px;height:13px;background:#fff;border-radius:999px 999px 7px 7px;transform:rotate(36deg)}.icon-button,.secondary-button,.square-button{color:#203149;background:#fff;border:1px solid #cfd8e4}.icon-button{height:38px;padding:0 14px;border-radius:8px}.icon-button.active,.icon-button:hover,.secondary-button:hover,.square-button:hover{border-color:#2f6fed}.primary-button,.secondary-button,.danger-button{min-height:42px;padding:0 16px;border-radius:8px;font-weight:700}.primary-button{color:#fff;background:#2a7f74;box-shadow:0 10px 20px #2a7f742e}.primary-button:hover:not(:disabled){background:#226c63}.primary-button:disabled{color:#7b8798;background:#d7dee8}.secondary-button{color:#1d2d44}.danger-button{color:#fff;background:#c23b45}.square-button{width:34px;height:34px;border-radius:8px}.home-shell,.exam-workspace{width:min(1560px,calc(100% - 40px));margin:0 auto;padding:28px 0}.home-shell{display:block;min-height:calc(100vh - 64px)}.panel{background:#fff;border:1px solid #d7e0ea;border-radius:8px;box-shadow:0 12px 32px #1f2d3d14}.token-panel,.status-panel,.grading-panel,.result-panel{padding:22px}.exam-entry{position:relative;overflow:hidden;display:grid;gap:24px;min-height:0;padding:42px;color:#3a2a18;background:linear-gradient(135deg,#fffffff5,#edfaf7eb),linear-gradient(90deg,rgba(255,205,91,.18) 1px,transparent 1px),linear-gradient(0deg,rgba(255,205,91,.18) 1px,transparent 1px),#fff;background-size:auto,34px 34px,34px 34px,auto;border:1px solid #f0d69c;border-radius:8px;box-shadow:0 12px 32px #613f1914}.entry-hero-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(360px,.88fr) minmax(500px,1.12fr);gap:32px;align-items:start}.entry-lab-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(540px,1.35fr) minmax(380px,520px);gap:28px;align-items:stretch}.exam-entry:before{content:"";position:absolute;top:24px;right:28px;width:154px;height:92px;opacity:.22;background:linear-gradient(30deg,transparent 18px,#ffc34a 19px,#ffc34a 21px,transparent 22px),linear-gradient(150deg,transparent 18px,#44b7a8 19px,#44b7a8 21px,transparent 22px);background-size:34px 30px;pointer-events:none}.exam-entry-copy{position:relative;z-index:1;display:grid;gap:14px;max-width:820px}.brand-kicker,.coverage-heading{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:#2a7f74;font-size:13px;font-weight:900;text-transform:uppercase}.beta-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;color:#6a3900;background:#fff1bf;border:1px solid #efbd4f;border-radius:999px;font-size:11px;font-weight:900}.sweet-title{position:relative;display:grid;width:fit-content;gap:0;margin:0;color:#251b14;line-height:.9;letter-spacing:0}.sweet-word{display:flex;align-items:flex-start;gap:22px;min-height:108px;padding:0 12px 0 2px;animation:sweet-word-thump 3.1s ease-in-out infinite}.training-word{align-items:center;flex-wrap:nowrap;gap:clamp(18px,2vw,30px);max-width:none;min-height:116px;padding-right:0;white-space:nowrap}.training-group{display:inline-flex;align-items:center;flex:0 0 auto}.cert-group{gap:clamp(10px,1.4vw,18px)}.yahoo-group{gap:clamp(2px,.45vw,6px)}.sweet-letter{--tx: 0px;--ty: 0px;--rot: 0deg;display:inline-grid;place-items:center;min-width:78px;color:#ffab2d;font-size:98px;font-weight:1000;line-height:.86;text-shadow:0 4px 0 #ffffff,0 10px 22px rgba(106,57,0,.18);transform:translate(var(--tx),var(--ty)) rotate(var(--rot));animation:sweet-letter-bounce 3.1s ease-in-out infinite}.training-letter{min-width:clamp(42px,4vw,62px);color:#ffab2d;font-size:clamp(52px,5vw,84px)}.letter-gae{--tx: -2px;--ty: 26px;--rot: -13deg;color:#f08a24;animation-delay:0s}.letter-kku{--tx: 0px;--ty: -8px;--rot: 1deg;color:#ffc64d;animation-delay:.12s}.letter-reu{--tx: 2px;--ty: 24px;--rot: 13deg;color:#2a7f74;animation-delay:.24s}.letter-cert-1{--tx: -2px;--ty: 6px;--rot: -7deg;color:#f08a24;animation-delay:0s}.letter-cert-2{--tx: 0px;--ty: -5px;--rot: 1deg;color:#ffc64d;animation-delay:.08s}.letter-cert-3{--tx: 1px;--ty: 5px;--rot: 6deg;color:#2a7f74;animation-delay:.16s}.letter-cert-4{--tx: 0px;--ty: -2px;--rot: -5deg;color:#f08a24;animation-delay:.24s}.letter-cert-5{--tx: -2px;--ty: -5px;--rot: 1deg;color:#ffc64d;animation-delay:.32s}.letter-cert-6{--tx: -2px;--ty: 5px;--rot: -7deg;min-width:clamp(28px,2.4vw,40px);color:#5bd7c7;animation-delay:.4s}.letter-cert-7{--tx: -3px;--ty: -4px;--rot: 7deg;min-width:clamp(24px,2vw,34px);color:#f08a24;animation-delay:.48s}.lab-word{justify-self:center;margin-top:-6px;color:#251b14;font-size:62px;font-weight:1000;letter-spacing:.12em;transform:rotate(-1.5deg);text-shadow:0 4px 0 rgba(255,255,255,.9)}.title-sparkles{position:absolute;inset:-18px -34px auto auto;pointer-events:none}.title-sparkles i{position:absolute;display:block;width:10px;height:10px;background:#5bd7c7;border:2px solid #ffffff;border-radius:3px;transform:rotate(45deg);animation:title-sparkle 2.8s ease-in-out infinite}.title-sparkles i:nth-child(1){top:36px;right:4px}.title-sparkles i:nth-child(2){top:78px;right:-18px;width:8px;height:8px;background:#ff9f89;animation-delay:.45s}.title-sparkles i:nth-child(3){top:112px;right:18px;width:7px;height:7px;background:#ffc64d;animation-delay:.9s}.exam-entry-copy p{max-width:560px;margin:0;color:#594632;font-size:18px;line-height:1.6}.mascot-stage{position:relative;display:grid;grid-template-columns:1fr;align-items:center;gap:18px;min-height:430px;margin:0;padding:24px 26px 24px 30px;background:linear-gradient(135deg,#fff6deeb,#e0f9f4e0),#fff9ec;border:1px solid #f0d69c;border-radius:8px}.mascot-copy{display:grid;gap:8px;min-width:0;padding-left:4px}.mascot-copy span{width:fit-content;min-height:26px;padding:4px 10px;color:#704000;background:#ffe9a8;border:1px solid #efbd4f;border-radius:999px;font-size:12px;font-weight:900}.mascot-copy strong{color:#25313f;font-size:36px;line-height:1.15}.mascot-svg{width:min(100%,680px);justify-self:end}.mascot-canvas{width:min(100%,920px);aspect-ratio:17 / 9;justify-self:start;display:block}.mascot-svg-fallback{display:none}.lab-backdrop,.lab-shelf path:first-child,.burst-rays{fill:none;stroke:#92a9ba;stroke-linecap:round;stroke-width:5;opacity:.32}.lab-shelf path:first-child{stroke:#7da093;stroke-width:8;opacity:.55}.tube-glass,.flask-glass,.cup-glass{fill:url(#glassGradient);stroke:#5f7a82;stroke-linejoin:round;stroke-width:5}.tube-liquid,.flask-liquid,.cup-liquid{opacity:.9}.tube-liquid.coral{fill:#ff9f89}.tube-liquid.honey,.cup-liquid{fill:url(#liquidGradient)}.tube-liquid.mint,.idle-liquid{fill:#5bd7c7}.potion-lab{transform-origin:594px 238px}.shadow{fill:#48311a24}.sweet-character{animation:character-potion-recoil 5.8s cubic-bezier(.34,1.56,.64,1) infinite;transform-origin:352px 190px}.body-squish{fill:#ffc64d;stroke:#4f3520;stroke-width:7;animation:body-panic-squash 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 88%}.body-glow{fill:none;stroke:#ffffffb8;stroke-linecap:round;stroke-width:10}.lab-hood{fill:#6fc7ef;stroke:#4f3520;stroke-linejoin:round;stroke-width:6;animation:hood-pop 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}.blast-hair{fill:none;stroke:#4f3520;stroke-linecap:round;stroke-linejoin:round;stroke-width:6;opacity:0;animation:hair-zap 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}.goggles rect{fill:#dff8ff;stroke:#25313f;stroke-width:6}.goggles{animation:goggles-jolt 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.goggles path,.face path,.arm,.flask-lines,.cup-lines{fill:none;stroke-linecap:round}.goggles path,.face path{stroke:#25313f;stroke-width:5}.face circle{fill:#25313f}.face{animation:face-squint 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.arm{stroke:#4f3520;stroke-width:9}.foot{fill:#ef9b3d;stroke:#4f3520;stroke-linejoin:round;stroke-width:5}.pouring-cup{animation:beaker-tilt 5.8s ease-in-out infinite;transform-origin:244px 280px}.cup-lines,.flask-lines{stroke:#5f7a82;stroke-width:4;opacity:.62}.pour-stream{fill:none;stroke:#ffb845;stroke-linecap:round;stroke-width:8;stroke-dasharray:34 26;animation:pour-flow .9s linear infinite,pour-stream-life 5.8s ease-in-out infinite}.burst-rays{stroke:#f4a12d;stroke-width:6;opacity:0;animation:burst-rays 5.8s ease-out infinite;transform-origin:594px 176px}.bubbles circle{fill:#fff;stroke:#2a7f74;stroke-width:4;animation:bubble-rise 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.bubbles circle:nth-child(2){animation-delay:.35s}.bubbles circle:nth-child(3){animation-delay:.7s}.bubbles circle:nth-child(4){animation-delay:1.05s}.sparkles path{fill:#fff3ba;stroke:#efbd4f;stroke-linejoin:round;stroke-width:4;animation:sparkle-pop 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.sparkles path:nth-child(2){animation-delay:.65s}.sparkles circle{fill:#fff;stroke:#8fcac4;stroke-width:4}.cauldron{animation:cauldron-rattle 5.8s ease-in-out infinite;transform-origin:594px 270px}.cauldron-shadow{fill:#48311a29}.cauldron-body,.cauldron-rim{fill:url(#cauldronGradient);stroke:#243133;stroke-linejoin:round;stroke-width:5}.cauldron-rim{fill:#3e4a4a}.cauldron-potion{fill:#5bd7c7;stroke:#fff1a8;stroke-width:4;animation:cauldron-boil 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.cauldron-lip,.cauldron-foot{fill:none;stroke:#1f2a2b;stroke-linecap:round;stroke-width:6}.cauldron-glow{fill:url(#liquidGradient);opacity:0;animation:cauldron-glow 5.8s ease-in-out infinite}.shockwave circle{fill:none;stroke:#fff1a8;stroke-width:7;opacity:0;animation:shockwave-ring 5.8s ease-out infinite;transform-origin:594px 199px}.shockwave circle:nth-child(2){animation-delay:.08s}.magic-burst{opacity:0;animation:magic-burst-cloud 5.8s cubic-bezier(.16,1,.3,1) infinite;transform-origin:594px 198px}.flash-core{fill:url(#flashGradient);opacity:0;animation:flash-pulse 5.8s ease-out infinite;transform-origin:594px 190px}.smoke{fill:url(#smokeGradient);stroke:#c4842373;stroke-linejoin:round;stroke-width:4}.smoke-a{opacity:.95}.smoke-b{opacity:.72}.smoke-c{opacity:.5}.smoke-dot{fill:#fff0a3;opacity:.72}.smoke-wisps{fill:none;stroke:#c6b381;stroke-linecap:round;stroke-width:5;opacity:0;animation:smoke-wisp-drift 5.8s ease-out infinite}.front-smoke{fill:#6a5c3a8a;opacity:0;animation:face-smoke-slap 5.8s ease-out infinite;transform-origin:346px 170px;pointer-events:none}.front-smoke path:first-child{fill:#5f543c8f}.front-smoke path:nth-child(2){fill:#ffd66b57}.front-smoke circle{fill:#48402d75}.scope-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 4px}.scope-panel article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-height:88px;padding:16px;color:#182943;background:#fff;border:1px solid #d5e0ec;border-radius:8px}.scope-panel svg{color:#1763d1}.scope-panel strong,.scope-panel span{display:block}.scope-panel strong{margin-bottom:4px;font-size:14px}.scope-panel span{color:#5d6a7c;font-size:13px;line-height:1.45}.section-heading{margin-bottom:18px}.section-heading.centered{text-align:center}.section-heading p,.result-score p{margin:0 0 4px;color:#5d6a7c;font-size:13px;font-weight:700;text-transform:uppercase}.section-heading h1,.section-heading h2,.problem-viewer h1,.table-panel h2,.result-score h1{margin:0;color:#132036;letter-spacing:0}.section-heading h1{font-size:32px}.section-heading h2,.table-panel h2{font-size:20px}.coverage-panel{align-self:start;display:grid;gap:14px;padding:24px;background:linear-gradient(180deg,#ffffffeb,#fff9ece0),#fff;border:1px solid #f0d69c;border-radius:8px;box-shadow:0 12px 32px #613f190f}.coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.coverage-card{display:grid;gap:10px;min-height:126px;padding:18px;color:#2e251c;text-align:left;background:#ffffffc7;border:1px solid #efdcae;border-radius:8px}.exam-id{color:#25313f;font-size:30px;font-weight:900}.exam-label{min-height:42px;font-size:14px;line-height:1.45}.badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:26px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge.success{color:#085c4d;background:#d8f8ee}.badge.muted{color:#6c5c4a;background:#f1eadc}.badge.info{color:#164f91;background:#e0efff}.badge.danger{color:#9d2531;background:#ffe3e5}.field{display:grid;gap:8px;margin-bottom:14px;color:#27374f;font-weight:700}.field input{width:100%;min-height:44px;padding:0 12px;color:#172033;background:#fffdf6;border:1px solid #e8cf92;border-radius:8px;outline:none}.field input:focus{border-color:#2a7f74;box-shadow:0 0 0 3px #2a7f7424}.entry-token-panel{position:relative;overflow:hidden;align-self:stretch;justify-self:stretch;min-height:0;margin-top:0;padding:28px 30px;border-color:#f0d69c;background:linear-gradient(180deg,#fffffff5,#fff9ecf5),#fff}.entry-token-panel:before{content:"";position:absolute;top:0;right:0;left:0;height:8px;background:repeating-linear-gradient(90deg,#ffc64d 0,#ffc64d 18px,#5bd7c7 18px,#5bd7c7 36px,#ff9f89 36px,#ff9f89 54px)}.entry-token-panel:after{content:"SWEET PASS";position:absolute;top:18px;right:-20px;min-height:28px;padding:5px 30px;color:#704000;background:#fff1bf;border:1px solid #efbd4f;font-size:11px;font-weight:1000;letter-spacing:.08em;transform:rotate(12deg)}.entry-token-panel>*{position:relative;z-index:1}.token-note,.token-guidance{margin:18px 0 0;color:#5d6a7c;font-size:14px;font-weight:700;line-height:1.5}.token-guidance{display:grid;gap:8px;padding-top:2px}.token-guidance p,.token-guidance ul{margin:0}.token-guidance ul{display:grid;gap:5px;padding-left:18px}.token-guidance li{padding-left:2px}.disclaimer{position:fixed;right:18px;bottom:16px;z-index:5;display:grid;gap:4px;width:min(420px,calc(100% - 36px));padding:12px 14px;color:#56657a;background:#ffffffe6;border:1px solid #ead7a9;border-radius:8px;box-shadow:0 8px 24px #1f2d3d14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.disclaimer strong{color:#28384f;font-size:12px}.disclaimer span{font-size:11px;line-height:1.45}.disclaimer ul{display:grid;gap:2px;margin:4px 0 0;padding-left:16px;font-size:11px;line-height:1.45}.button-row{display:flex;flex-wrap:wrap;gap:10px}.button-row.centered{justify-content:center}.center-panel{display:grid;place-items:center;width:min(980px,calc(100% - 40px));min-height:calc(100vh - 64px);margin:0 auto;padding:28px 0}.status-panel,.grading-panel,.result-panel{width:min(760px,100%)}.provisioning-panel{overflow:hidden;color:#3a2a18;background:linear-gradient(135deg,#fffcf0f7,#e5f9f4f0),#fff9ec;border-color:#f0d69c;box-shadow:0 16px 40px #613f191f}.provisioning-panel .status-icon{display:none}.provisioning-panel .section-heading{margin-bottom:12px}.provisioning-panel .section-heading p{color:#2a7f74}.provisioning-panel .section-heading h1{color:#251b14}.status-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%}.status-icon.success,.result-mark.pass{color:#14633f;background:#dff8eb}.status-icon.info{color:#164f91;background:#e0efff}.status-spinner{animation:provisioning-spin .9s linear infinite}.status-icon.danger,.result-mark.fail{color:#9d2531;background:#ffe3e5}.status-copy{margin:0 0 20px;color:#44566f;text-align:center}.provisioning-activity{display:grid;gap:14px;margin:0 auto 22px;width:min(620px,100%)}.provisioning-canvas{display:block;width:min(100%,620px);aspect-ratio:17 / 9;margin:0 auto 2px;overflow:hidden;background:linear-gradient(135deg,#fff6deeb,#e0f9f4e0),#fff9ec;border:1px solid #f0d69c;border-radius:8px}.provisioning-caption{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#2a7f74;font-size:13px;font-weight:900}.provisioning-caption svg{animation:provisioning-spin .9s linear infinite}.provisioning-track{position:relative;height:8px;overflow:hidden;background:#efe2bf;border-radius:999px}.provisioning-track span{position:absolute;inset:0 auto 0 0;width:10%;background:linear-gradient(90deg,#2a7f74,#ffb845);border-radius:inherit;transition:width .45s ease}.provisioning-activity p{margin:0;color:#44566f;font-size:13px;font-weight:700;text-align:center}.exam-workspace{--exam-layout-gap: 14px;width:calc(100% - 16px);max-width:none;min-width:0;min-height:calc(100vh - 64px)}.exam-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;width:calc(75% - 17.5px);margin:0 auto;min-height:62px;padding:0 16px;background:#fff;border:1px solid #d7e0ea;border-radius:8px}.exam-toolbar>div:first-child{display:grid;gap:3px}.exam-toolbar span{color:#66758a;font-size:13px}.timer{display:inline-flex;align-items:center;gap:8px;min-width:126px;color:#16243a;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.exam-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,5fr) minmax(0,7fr) minmax(0,2fr);gap:var(--exam-layout-gap);height:calc(94.444vh - 166px);min-height:520px;margin-top:var(--exam-layout-gap);overflow-x:auto;padding-bottom:2px}.problem-viewer{grid-column:2}.terminal-panel{grid-column:3}.problem-viewer,.terminal-panel{min-width:0;min-height:0;background:#fff;border:1px solid #d7e0ea;border-radius:8px}.question-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:10px;background:#f5f8fb;border:1px solid #dce4ee;border-radius:8px}.question-control>div:first-child{display:grid;gap:2px}.question-control span{color:#66758a;font-size:12px;font-weight:800;text-transform:uppercase}.question-control strong{color:#172033;font-size:20px;font-weight:800}.question-stepper{display:flex;flex-wrap:wrap;gap:8px}.question-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.question-stepper .secondary-button{min-width:112px;justify-content:space-between}.answer-toggle{min-width:112px}.spin-icon{animation:provisioning-spin 1s linear infinite}.exam-workspace.answer-open{width:calc(100% - 16px)}.exam-workspace.answer-open .exam-toolbar{width:100%}.exam-layout.has-answer-drawer{grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,7fr)}.exam-layout.has-answer-drawer .answer-drawer{grid-column:1}.exam-layout.has-answer-drawer .problem-viewer{grid-column:2}.exam-layout.has-answer-drawer .terminal-panel{grid-column:3}.answer-drawer{display:grid;grid-template-rows:auto 1fr;min-width:0;min-height:0;overflow:hidden;background:#f8fbf8;border:1px solid #cfe3d7;border-radius:8px}.answer-drawer-title{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:0 12px 0 14px;color:#1b3b2f;background:#edf7f0;border-bottom:1px solid #cfe3d7;font-weight:900}.answer-drawer-title span{display:inline-flex;align-items:center;gap:8px;min-width:0}.answer-drawer-close{flex:0 0 auto}.answer-drawer-content{min-height:0;overflow:auto;padding:14px}.answer-markdown{display:grid;gap:12px}.answer-markdown h3,.answer-markdown p,.answer-markdown ul,.answer-markdown ol{margin:0}.answer-markdown h3{color:#172033;font-size:16px;line-height:1.35}.answer-markdown p,.answer-markdown li{color:#31445f;font-size:14px;line-height:1.65}.answer-markdown ul,.answer-markdown ol{display:grid;gap:6px;padding-left:20px}.answer-markdown :not(pre)>code{padding:2px 5px;color:#17345e;background:#edf4fb;border:1px solid #d5e1ed;border-radius:6px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.problem-body code,.inline-copy-token code{padding:2px 5px;color:#17345e;background:#edf4fb;border:1px solid #d5e1ed;border-radius:6px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.inline-copy-token{display:inline-flex;align-items:center;gap:3px;max-width:100%;vertical-align:text-bottom}.inline-copy-token code{border-top-right-radius:0;border-bottom-right-radius:0}.inline-copy-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;color:#203149;background:#fff;border:1px solid #cfd8e4;border-radius:0 6px 6px 0}.inline-copy-button:hover{border-color:#2f6fed}.inline-copy-token.copied .inline-copy-button{color:#163b2f;background:#bbf7d0;border-color:#74d99b}.answer-code-block{min-width:0;overflow:hidden;background:#101b2d;border:1px solid #263653;border-radius:8px}.answer-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:0 8px 0 12px;color:#b8c8dd;background:#15233a;border-bottom:1px solid #263653;font-size:12px;font-weight:800}.answer-code-copy{width:30px;height:30px;color:#dce7f7;background:#1e2f4e;border-color:#38506f}.answer-code-copy.copied{color:#163b2f;background:#bbf7d0;border-color:#74d99b}.answer-code-block pre{max-height:420px;margin:0;overflow:auto;padding:12px;color:#dce7f7;white-space:pre;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55}.answer-state{margin:0;color:#40536e;font-weight:700}.problem-viewer{padding:20px;overflow:auto}.command-strip code{padding:7px 9px;color:#203149;background:#edf4fb;border:1px solid #d5e1ed;border-radius:8px;font-size:13px;font-weight:700}.problem-viewer p{color:#31445f;line-height:1.65}.command-strip{display:grid;gap:8px;margin-top:24px}.command-strip code{display:block;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.terminal-panel{display:grid;grid-template-rows:auto 1fr;overflow:hidden}.terminal-title{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;color:#dce7f7;background:#101b2d;font-weight:800}.terminal-title span{margin-left:auto;color:#6ee7b7;font-size:12px}.terminal-host{width:100%;height:100%;min-height:0;padding:10px 10px 18px;background:#08111f;outline:none}.terminal-host .xterm{height:100%}.progress-track{height:10px;overflow:hidden;background:#e8eef5;border-radius:999px}.progress-track span{display:block;height:100%;background:#1763d1;transition:width .26s ease}.score-line,.grading-row{display:grid;align-items:center;gap:12px}.score-line{grid-template-columns:1fr auto;margin:14px 0}.grading-list{display:grid;gap:10px;margin:18px 0}.grading-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 4px;font-size:.78rem;color:var(--color-muted)}.grading-steps span{min-width:0;overflow-wrap:anywhere;text-align:center}.grading-steps span.active{color:#1763d1;font-weight:700}.grading-question{display:grid;gap:8px}.question-accordion{display:grid;grid-template-columns:auto 42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;width:100%;padding:0 14px;border:1px solid #dce4ee;border-radius:8px;background:#f8fafc;color:var(--color-text);cursor:pointer;font:inherit;text-align:left}.question-accordion strong{min-width:0;overflow-wrap:anywhere}.grading-row{grid-template-columns:48px minmax(0,1fr) auto;min-height:52px;padding:0 12px;background:#f8fafc;border:1px solid #dce4ee;border-radius:8px}.check-list{display:grid;gap:6px;padding:6px 0 4px 28px}.check-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:40px;padding:0 10px;border-left:3px solid #dce4ee;background:#fff}.check-row span:last-child{min-width:0;overflow-wrap:anywhere}.check-icon{display:grid;place-items:center}.check-icon.pass{color:#087a3d}.check-icon.fail{color:#a32635}.result-score{display:flex;align-items:center;gap:16px}.result-mark{display:grid;place-items:center;width:70px;height:70px;border-radius:50%}@media(max-width:1100px){.exam-layout{grid-template-columns:1fr}.home-shell,.exam-entry{min-height:0}.entry-hero-row,.entry-lab-row,.mascot-stage{grid-template-columns:1fr}.mascot-svg,.mascot-canvas{justify-self:center}.exam-workspace{width:min(100% - 24px,1440px);min-width:0}.exam-workspace.answer-open{width:min(100% - 24px,1440px)}.exam-toolbar,.exam-workspace.answer-open .exam-toolbar{width:100%}.exam-layout{height:auto}.problem-viewer,.terminal-panel,.exam-layout.has-answer-drawer .answer-drawer,.exam-layout.has-answer-drawer .problem-viewer,.exam-layout.has-answer-drawer .terminal-panel{grid-column:auto}.exam-layout.has-answer-drawer{grid-template-columns:1fr}.answer-drawer{position:fixed;z-index:30;top:80px;bottom:12px;left:12px;width:min(520px,calc(100vw - 24px));box-shadow:0 24px 60px #12203447}.terminal-panel{min-height:360px}.coverage-grid,.scope-panel,.status-meta{grid-template-columns:1fr}}@media(max-width:760px){.top-bar{align-items:flex-start;flex-direction:column;padding:14px 18px}.home-shell,.exam-workspace,.center-panel{width:min(100% - 24px,1440px)}.exam-entry{padding:24px}.entry-token-panel{min-height:0;padding:22px}.sweet-word{gap:12px;min-height:82px}.training-word{flex-wrap:nowrap;gap:12px;max-width:100%;min-height:74px;padding-right:0}.cert-group{gap:6px}.yahoo-group{gap:1px}.sweet-letter{min-width:54px;font-size:70px}.training-letter{min-width:28px;font-size:clamp(32px,8.8vw,46px)}.letter-cert-6{min-width:20px}.letter-cert-7{min-width:18px}.letter-gae{--ty: 18px}.letter-kku{--ty: -6px}.letter-reu{--ty: 17px}.lab-word{margin-top:-2px;font-size:44px}.mascot-stage{min-height:0;padding:16px}.mascot-copy strong{font-size:22px}.exam-toolbar,.grading-row,.question-accordion{grid-template-columns:1fr}.grading-steps{grid-template-columns:1fr;text-align:left}.check-list{padding-left:0}}.error-text{color:var(--color-danger);font-size:.85rem;margin:4px 0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes provisioning-spin{to{transform:rotate(360deg)}}@keyframes sweet-word-thump{0%,to{transform:scale(1)}10%{transform:scale(1.035)}18%{transform:scale(.992)}28%{transform:scale(1.018)}}@keyframes sweet-letter-bounce{0%,to{transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(1)}12%{transform:translate(var(--tx),calc(var(--ty) - 8px)) rotate(var(--rot)) scale(1.12)}22%{transform:translate(var(--tx),calc(var(--ty) + 2px)) rotate(var(--rot)) scale(.98)}36%{transform:translate(var(--tx),var(--ty)) rotate(var(--rot)) scale(1.04)}}@keyframes title-sparkle{0%,to{transform:rotate(45deg) scale(.72);opacity:.45}50%{transform:rotate(65deg) scale(1.16);opacity:1}}@keyframes character-potion-recoil{0%,16%,to{transform:translate(0) rotate(0) scale(1)}24%{transform:translate(8px,-8px) rotate(2deg) scale(1.01)}36%{transform:translate(12px,-5px) rotate(3deg) scale(1.02)}43%{transform:translate(-16px,7px) rotate(-7deg) scale(.98)}51%{transform:translate(-48px,13px) rotate(-15deg) scale(1.03)}60%{transform:translate(-24px,1px) rotate(7deg) scale(.99)}74%{transform:translate(2px,-7px) rotate(-2deg) scale(1)}86%{transform:translate(0) rotate(0) scale(1)}}@keyframes body-panic-squash{0%,30%,to{transform:scale(1)}38%{transform:scale(1.04,.96)}47%{transform:scale(.92,1.1)}55%{transform:scale(1.1,.9)}68%{transform:scale(.98,1.02)}}@keyframes hood-pop{0%,37%,to{transform:translate(0) rotate(0)}47%{transform:translate(-6px,-12px) rotate(-7deg) scale(1.05)}56%{transform:translate(5px,-17px) rotate(7deg) scale(1.02)}70%{transform:translateY(-5px) rotate(-2deg)}}@keyframes hair-zap{0%,39%,to{transform:translateY(8px) scale(.76);opacity:0}46%{transform:translateY(-12px) scale(1.12);opacity:1}64%{transform:translateY(-8px) scale(1);opacity:.9}78%{transform:translateY(2px) scale(.86);opacity:0}}@keyframes goggles-jolt{0%,39%,to{transform:translate(0) rotate(0)}48%{transform:translate(-4px,-3px) rotate(-3deg)}55%{transform:translate(6px,2px) rotate(4deg)}66%{transform:translate(-2px) rotate(-1deg)}}@keyframes face-squint{0%,38%,to{transform:translate(0) scale(1);opacity:1}48%{transform:translate(-2px,3px) scale(.96,.82);opacity:.72}62%{transform:translate(2px,1px) scale(1.02,.92);opacity:.9}76%{transform:translate(0) scale(1);opacity:1}}@keyframes beaker-tilt{0%,15%,to{transform:rotate(0) translate(0)}23%{transform:rotate(-11deg) translate(-4px,-2px)}34%{transform:rotate(-25deg) translate(-14px,-6px)}41%{transform:rotate(14deg) translate(-12px,-9px)}55%{transform:rotate(-7deg) translate(-4px,7px)}70%{transform:rotate(0) translate(0)}}@keyframes pour-flow{to{stroke-dashoffset:-60}}@keyframes pour-stream-life{0%,17%,41%,to{opacity:0;stroke-width:5}23%,36%{opacity:1;stroke-width:9}39%{opacity:.58;stroke-width:12}}@keyframes bubble-rise{0%,13%,to{transform:translateY(12px) scale(.7);opacity:0}26%{opacity:1}42%{transform:translateY(-24px) scale(1.1);opacity:0}}@keyframes cauldron-rattle{0%,21%,58%,to{transform:translate(0) rotate(0)}28%{transform:translate(2px) rotate(1.5deg)}32%{transform:translate(-4px,1px) rotate(-2deg)}36%{transform:translate(5px,-1px) rotate(2.5deg)}40%{transform:translate(-6px,1px) rotate(-3deg)}44%{transform:translate(4px,-2px) rotate(2deg)}50%{transform:translate(-2px) rotate(-1deg)}}@keyframes cauldron-boil{0%,18%,to{transform:scale(1);opacity:.86;fill:#5bd7c7}28%{transform:scale(1.06,.92);opacity:1;fill:#8eead9}37%{transform:scale(1.18,.78);opacity:1;fill:#ffd35a}44%{transform:scale(1.35,.58);opacity:.72;fill:#fff1a8}60%{transform:scale(.95,1.1);opacity:.9;fill:#5bd7c7}}@keyframes cauldron-glow{0%,23%,62%,to{opacity:0}31%{opacity:.34}39%{opacity:.82}47%{opacity:.28}}@keyframes shockwave-ring{0%,38%,to{transform:scale(.2);opacity:0}43%{transform:scale(.35);opacity:.8}56%{transform:scale(1.75);opacity:0}}@keyframes magic-burst-cloud{0%,37%,to{transform:translateY(18px) scale(.18) rotate(-4deg);opacity:0}43%{transform:translate(0) scale(.62) rotate(3deg);opacity:1}51%{transform:translate(-8px,-28px) scale(1.18) rotate(-2deg);opacity:1}67%{transform:translate(-18px,-48px) scale(1.34) rotate(4deg);opacity:.74}84%{transform:translate(-26px,-66px) scale(1.5) rotate(8deg);opacity:0}}@keyframes flash-pulse{0%,39%,to{transform:scale(.12);opacity:0}43%{transform:scale(.75);opacity:.95}49%{transform:scale(1.45);opacity:.2}55%{transform:scale(1.8);opacity:0}}@keyframes burst-rays{0%,38%,to{transform:scale(.55) rotate(-8deg);opacity:0}44%{transform:scale(1.08) rotate(3deg);opacity:.92}59%{transform:scale(1.42) rotate(12deg);opacity:0}}@keyframes smoke-wisp-drift{0%,42%,to{transform:translateY(16px);opacity:0}54%{transform:translate(-8px,-8px);opacity:.6}80%{transform:translate(-22px,-42px);opacity:.2}}@keyframes face-smoke-slap{0%,41%,to{transform:translate(150px,-18px) scale(.35);opacity:0}49%{transform:translate(38px,-4px) scale(.92);opacity:.86}58%{transform:translate(-3px,-12px) scale(1.05);opacity:.68}76%{transform:translate(-25px,-38px) scale(1.16);opacity:.18}90%{transform:translate(-36px,-52px) scale(1.24);opacity:0}}@keyframes sparkle-pop{0%,to{transform:scale(.82) rotate(0);opacity:.55}50%{transform:scale(1.08) rotate(12deg);opacity:1}}@media(prefers-reduced-motion:reduce){.status-spinner,.provisioning-caption svg,.sweet-word,.sweet-letter,.title-sparkles i,.sweet-character,.body-squish,.lab-hood,.blast-hair,.goggles,.face,.pouring-cup,.pour-stream,.cauldron,.cauldron-potion,.cauldron-glow,.shockwave circle,.magic-burst,.flash-core,.smoke-wisps,.front-smoke,.bubbles circle,.burst-rays,.sparkles path{animation:none}.provisioning-track span{transition:none}}
