@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";:root{--neon-green: #00ff41;--dark-green: #008f11;--bg-color: #0d0208;--alert-red: #ff003c;--hack-blue: #0ff;--warning: #f59e0b;--m2-primary: #b026ff;--m2-secondary: #ff7300;--m2-bg: #1a0b2e}.cyberpunk-exam{font-family:Share Tech Mono,monospace;background-color:var(--bg-color);color:var(--neon-green);overflow-x:hidden;height:100vh;width:100vw}.cyberpunk-exam *{box-sizing:border-box;margin:0;padding:0}.cyberpunk-exam .crt:before{content:" ";display:block;position:absolute;inset:0;background:linear-gradient(#12101000 50%,#0003 50%),linear-gradient(90deg,#ff00000a,#00ff0004,#0000ff0a);z-index:2;background-size:100% 2px,3px 100%;pointer-events:none}.cyberpunk-exam .crt:after{content:" ";display:block;position:absolute;inset:0;background:#00ff4105;z-index:2;pointer-events:none;animation:flicker .15s infinite}@keyframes flicker{0%{opacity:.95}5%{opacity:.88}10%{opacity:.95}15%{opacity:1}to{opacity:1}}.cyberpunk-exam ::-webkit-scrollbar{width:6px}.cyberpunk-exam ::-webkit-scrollbar-track{background:#0000004d}.cyberpunk-exam ::-webkit-scrollbar-thumb{background:var(--dark-green);border-radius:3px}.cyberpunk-exam ::-webkit-scrollbar-thumb:hover{background:var(--neon-green)}.glitch-text{position:relative;display:inline-block}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-color)}.glitch-text:before{left:2px;text-shadow:-2px 0 red;clip:rect(24px,550px,90px,0);animation:glitch-anim 3s infinite linear alternate-reverse}.glitch-text:after{left:-2px;text-shadow:-2px 0 blue;clip:rect(85px,550px,140px,0);animation:glitch-anim 2.5s infinite linear alternate-reverse}@keyframes glitch-anim{0%{clip:rect(32px,9999px,28px,0)}20%{clip:rect(13px,9999px,94px,0)}40%{clip:rect(42px,9999px,14px,0)}60%{clip:rect(85px,9999px,59px,0)}80%{clip:rect(6px,9999px,32px,0)}to{clip:rect(56px,9999px,81px,0)}}.text-neon{color:var(--neon-green);text-shadow:0 0 5px var(--neon-green)}.text-alert{color:var(--alert-red);text-shadow:0 0 5px var(--alert-red)}.text-hack{color:var(--hack-blue);text-shadow:0 0 5px var(--hack-blue)}.text-warning{color:var(--warning);text-shadow:0 0 5px var(--warning)}.border-neon{border:1px solid var(--neon-green);box-shadow:0 0 5px var(--dark-green)}.border-alert{border:1px solid var(--alert-red);box-shadow:0 0 5px #8b0000}.border-warning{border:1px solid var(--warning);box-shadow:0 0 5px var(--warning)}.cyberpunk-exam button{font-family:inherit;cursor:pointer;background:none;border:1px solid var(--neon-green);color:var(--neon-green);padding:.5rem 1rem;transition:all .2s cubic-bezier(.16,1,.3,1);text-transform:uppercase;letter-spacing:.05em;position:relative;overflow:hidden}.cyberpunk-exam button:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.05) 0%,transparent 50%);pointer-events:none;opacity:0;transition:opacity .2s}.cyberpunk-exam button:hover:after{opacity:1}.cyberpunk-exam button:hover{background:var(--neon-green);color:var(--bg-color);box-shadow:0 0 15px #00ff414d,0 0 40px #00ff411a}.cyberpunk-exam button:disabled{border-color:#222;color:#444;cursor:not-allowed;box-shadow:none}.cyberpunk-exam button:disabled:hover{background:none;color:#444}.cyberpunk-exam button:disabled:after{opacity:0}.btn-warning{border:1px solid var(--warning);color:var(--warning)}.btn-warning:hover{background:var(--warning);color:var(--bg-color);box-shadow:0 0 15px #f59e0b4d,0 0 40px #f59e0b1a}.bg-defense{background-color:#000f1ecc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.text-defense{color:var(--hack-blue);text-shadow:0 0 5px var(--hack-blue)}.border-defense{border:1px solid var(--hack-blue);box-shadow:0 0 5px var(--hack-blue)}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-8px)}50%{transform:translate(8px)}75%{transform:translate(-8px)}to{transform:translate(0)}}.shake-animation{animation:shake .3s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake-hard{0%{transform:rotate(0) translate(0);filter:hue-rotate(0deg)}25%{transform:rotate(-2deg) translate(-15px);filter:hue-rotate(90deg)}50%{transform:rotate(2deg) translate(15px);filter:hue-rotate(-90deg)}75%{transform:rotate(-2deg) translate(-15px);filter:hue-rotate(90deg)}to{transform:rotate(0) translate(0);filter:hue-rotate(0deg)}}.shake-hard{animation:shake-hard .3s cubic-bezier(.36,.07,.19,.97) both}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{animation:blink 1s step-end infinite}@keyframes flashGreen{0%{background-color:#00ff414d}to{background-color:transparent}}.flash-green-bg{animation:flashGreen 1s ease-out}.btn-retro{font-family:inherit;cursor:pointer;background:none;padding:.5rem 1rem;transition:all .2s cubic-bezier(.16,1,.3,1);text-transform:uppercase;border:1px solid var(--neon-green);color:var(--neon-green);letter-spacing:.05em}.btn-retro:hover{background:#ffffff14;box-shadow:0 0 12px currentColor}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.dbg-module{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(145deg,#070709,#0d0d14,#0a0a10);color:#e2e8f0;font-family:Inter,system-ui,sans-serif;overflow:hidden}.dbg-topbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;background:#070709cc;border-bottom:1px solid rgba(248,113,113,.1);flex-shrink:0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 20px #0000004d;position:relative}.dbg-topbar:after{content:"";position:absolute;bottom:-1px;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,rgba(248,113,113,.12),transparent);pointer-events:none}.dbg-back-btn{display:flex;align-items:center;gap:.35rem;background:#ffffff08;border:1px solid rgba(255,255,255,.06);color:#64748b;padding:.35rem .8rem;border-radius:.4rem;font-size:.78rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);font-family:inherit}.dbg-back-btn:hover{background:#ffffff0f;color:#cbd5e1;transform:translate(-2px)}.dbg-topbar-title{font-weight:800;font-size:1rem;color:#f87171;letter-spacing:.5px}.dbg-topbar-case{font-size:.8rem;color:#475569;margin-left:auto;margin-right:.5rem}.dbg-main-layout{display:flex;flex:1;overflow:hidden}.dbg-sidebar{width:220px;flex-shrink:0;background:#07070980;border-right:1px solid rgba(248,113,113,.06);overflow-y:auto;padding:.5rem 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dbg-sidebar::-webkit-scrollbar{width:4px}.dbg-sidebar::-webkit-scrollbar-thumb{background:#f8717126;border-radius:4px}.dbg-unit-group{margin-bottom:.25rem}.dbg-unit-header{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.65rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.08em}.dbg-case-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .75rem;background:none;border:none;color:#64748b;font-size:.78rem;text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border-left:3px solid transparent;font-family:inherit}.dbg-case-btn:hover{background:#f871710a;color:#cbd5e1;transform:translate(2px)}.dbg-case-btn.active{background:#f8717114;color:#f87171;border-left-color:#ef4444;box-shadow:inset 3px 0 8px #f871710f}.dbg-case-btn.solved{color:#34d399}.dbg-case-btn.locked{opacity:.25;cursor:not-allowed}.dbg-case-num{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;background:#f871710f;border:1px solid rgba(248,113,113,.15);color:#f87171;flex-shrink:0;transition:all .2s}.dbg-case-btn.solved .dbg-case-num{background:#34d3991a;border-color:#34d39940;color:#34d399}.dbg-terminal{flex:1;display:flex;flex-direction:column;overflow:hidden}.dbg-briefing-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem 1rem;background:#f8717105;border-bottom:1px solid rgba(248,113,113,.06);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dbg-status-badge{font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;display:flex;align-items:center;gap:.3rem}.dbg-status-badge.pass{background:#34d39914;color:#34d399;border:1px solid rgba(52,211,153,.15)}.dbg-status-badge.fail{background:#f8717114;color:#f87171;border:1px solid rgba(248,113,113,.15)}.dbg-next-btn{display:flex;align-items:center;gap:.3rem;background:linear-gradient(135deg,#34d399,#10b981);border:none;color:#fff;padding:.35rem .8rem;border-radius:.4rem;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 10px #34d39933;font-family:inherit}.dbg-next-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #34d3994d;filter:brightness(1.1)}.dbg-briefing-panel{padding:.75rem 1rem;background:#fbbf2405;border-bottom:1px solid rgba(251,191,36,.06)}.dbg-layout{display:flex;flex:1;overflow:hidden}.dbg-editor-panel{flex:1;display:flex;flex-direction:column;border-right:1px solid rgba(248,113,113,.05)}.dbg-editor-header{display:flex;justify-content:space-between;align-items:center;padding:.45rem .85rem;background:#04040899;border-bottom:1px solid rgba(255,255,255,.03);font-size:.72rem;color:#475569;font-weight:600;letter-spacing:.03em}.dbg-editor-textarea{flex:1;resize:none;padding:1rem;background:#04040866;border:none;outline:none;font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.88rem;line-height:1.7;color:#e2e8f0;tab-size:4}.dbg-editor-textarea::placeholder{color:#1e293b}.dbg-editor-textarea::-webkit-scrollbar{width:4px}.dbg-editor-textarea::-webkit-scrollbar-thumb{background:#f8717126;border-radius:4px}.dbg-editor-actions{display:flex;gap:.5rem;align-items:center;padding:.5rem .85rem;background:#04040899;border-top:1px solid rgba(255,255,255,.03)}.dbg-submit-btn{display:flex;align-items:center;gap:.35rem;background:linear-gradient(135deg,#f87171,#ef4444);border:none;color:#fff;padding:.4rem 1rem;border-radius:.4rem;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 10px #f8717133;font-family:inherit}.dbg-submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f871714d;filter:brightness(1.1)}.dbg-hint-btn{display:flex;align-items:center;gap:.3rem;background:#fbbf240d;border:1px solid rgba(251,191,36,.15);color:#fbbf24;padding:.35rem .7rem;border-radius:.4rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.dbg-hint-btn:hover{background:#fbbf241a}.dbg-hint-btn:disabled{opacity:.25;cursor:not-allowed}.dbg-evidence-panel{width:340px;flex-shrink:0;display:flex;flex-direction:column;background:#0404084d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dbg-evidence-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .85rem;background:#04040899;border-bottom:1px solid rgba(255,255,255,.03);font-size:.72rem;color:#475569;font-weight:600;letter-spacing:.03em}.dbg-evidence-body{flex:1;overflow-y:auto;padding:.75rem}.dbg-evidence-body::-webkit-scrollbar{width:4px}.dbg-evidence-body::-webkit-scrollbar-thumb{background:#f8717126;border-radius:4px}.dbg-evidence-section{margin-bottom:.75rem}.dbg-evidence-title{display:flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;color:#64748b;margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}.dbg-hint-card{padding:.6rem;margin-bottom:.4rem;background:#fbbf240a;border-left:3px solid rgba(251,191,36,.25);border-radius:0 .3rem .3rem 0;font-size:.82rem;color:#cbd5e1;line-height:1.5}.dbg-hint-num{display:inline-block;font-size:.65rem;font-weight:700;color:#fbbf24;margin-right:.4rem;text-transform:uppercase}.dbg-fail-card{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem;background:#f871710d;border:1px solid rgba(248,113,113,.12);border-radius:.4rem}.dbg-fail-card strong{color:#f87171;font-size:.85rem}.dbg-fail-card p{margin:.2rem 0 0;font-size:.78rem;color:#94a3b8}.dbg-success-card{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem;margin-bottom:.5rem;background:#34d3990d;border:1px solid rgba(52,211,153,.12);border-radius:.4rem}.dbg-success-card strong{color:#34d399;font-size:.85rem}.dbg-success-card p{margin:.2rem 0 0;font-size:.78rem;color:#94a3b8}.dbg-diff-container{padding:.6rem;background:#00000040;border:1px solid rgba(255,255,255,.04);border-radius:.4rem;margin-bottom:.5rem}.dbg-diff-block{display:flex;gap:.5rem;margin-bottom:.3rem;font-family:Fira Code,monospace;font-size:.75rem}.dbg-diff-line-num{color:#334155;font-weight:700;min-width:28px;flex-shrink:0}.dbg-diff-removed{color:#fca5a5;background:#f871710f;padding:.1rem .3rem;border-radius:.2rem;margin-bottom:.15rem;text-decoration:line-through;opacity:.7}.dbg-diff-added{color:#6ee7b7;background:#34d3990f;padding:.1rem .3rem;border-radius:.2rem}.dbg-explain-btn{width:100%;padding:.5rem;margin-bottom:.5rem;background:#818cf80d;border:1px solid rgba(129,140,248,.12);color:#818cf8;border-radius:.4rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.dbg-explain-btn:hover{background:#818cf81a}.dbg-explanation-card{padding:.75rem;background:#818cf808;border-left:3px solid rgba(129,140,248,.2);border-radius:0 .3rem .3rem 0;font-size:.82rem;color:#cbd5e1;line-height:1.5}.dbg-explanation-card strong{color:#a5b4fc;display:block;margin-bottom:.3rem}.dbg-explanation-card p{margin:0}.dbg-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#1e293b;gap:.5rem;padding:2rem;text-align:center}.dbg-empty-state span{font-size:.85rem}@media(max-width:900px){.dbg-sidebar{display:none}.dbg-layout{flex-direction:column}.dbg-editor-panel{border-right:none;border-bottom:1px solid rgba(248,113,113,.06);min-height:40vh}.dbg-evidence-panel{width:100%;max-height:40vh}}:root{--game-dark: #0f0f1e;--game-stone: #2d2d2d;--game-torch: #e65100;--game-gold: #ffd700;--game-blood: #b71c1c;--game-parchment: #f5e6c8;--game-border: #3a3a4a}.game-module{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0f0f1e,#1a1a2e,#16213e);color:#cbd5e1;font-family:Inter,system-ui,sans-serif;overflow:hidden;position:relative}@keyframes torch-flicker{0%,to{box-shadow:0 0 20px #e6510080,inset 0 0 10px #e651001a}25%{box-shadow:0 0 30px #e65100b3,inset 0 0 15px #e6510026}50%{box-shadow:0 0 25px #e6510066,inset 0 0 8px #e6510014}75%{box-shadow:0 0 35px #e6510099,inset 0 0 12px #e651001f}}.game-topbar{display:flex;align-items:center;gap:.75rem;padding:.8rem 1.25rem;background:linear-gradient(90deg,#2d2d4ae6,#1a1a2ee6);border-bottom:2px solid #e65100;flex-shrink:0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px #e6510026,inset 0 1px #ffffff0d;position:relative}.game-topbar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.2),transparent);pointer-events:none}.game-topbar-title{font-weight:900;font-size:1.05rem;color:gold;letter-spacing:.75px;text-shadow:0 2px 4px rgba(230,81,0,.3)}.game-topbar-lesson{font-size:.8rem;color:#9ca3af;margin-left:auto;margin-right:.8rem;font-weight:500}.game-btn-outline{display:flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:#e6510014;border:1px solid rgba(230,81,0,.3);color:gold;border-radius:.4rem;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .2s ease}.game-btn-outline:hover{background:#e6510026;box-shadow:0 0 12px #e6510040;transform:translateY(-1px)}.game-main-layout{display:flex;flex:1;overflow:hidden;gap:0}.game-sidebar{width:240px;flex-shrink:0;background:linear-gradient(180deg,#2d2d4a66,#1a1a2e66);border-right:2px solid rgba(230,81,0,.2);overflow-y:auto;padding:.5rem 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-sidebar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(230,81,0,.2),transparent);pointer-events:none}.game-sidebar::-webkit-scrollbar{width:6px}.game-sidebar::-webkit-scrollbar-track{background:#0003}.game-sidebar::-webkit-scrollbar-thumb{background:#e651004d;border-radius:3px}.game-sidebar::-webkit-scrollbar-thumb:hover{background:#e6510080}.game-chapter-group{margin-bottom:.75rem}.game-chapter-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.7rem;font-weight:800;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid rgba(230,81,0,.1);margin-bottom:.3rem}.game-chapter-header span:first-child{font-size:1rem;filter:drop-shadow(0 0 3px rgba(230,81,0,.3))}.game-quest-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .85rem;background:none;border:none;color:#94a3b8;font-size:.78rem;text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border-left:3px solid transparent;font-family:inherit;font-weight:500}.game-quest-btn:hover{background:#e651000f;color:#cbd5e1;transform:translate(2px)}.game-quest-btn.active{background:#e651001f;color:gold;border-left-color:#e65100;box-shadow:inset 3px 0 12px #e651001a;font-weight:700}.game-quest-btn.completed{color:#34d399}.game-quest-btn.locked{opacity:.3;cursor:not-allowed}.game-quest-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:800;background:#e651001a;border:1.5px solid rgba(230,81,0,.25);color:#e65100;flex-shrink:0;transition:all .2s;text-shadow:0 0 4px rgba(230,81,0,.4)}.game-quest-btn.completed .game-quest-num{background:#34d39926;border-color:#34d3994d;color:#34d399}.game-quest-btn.active .game-quest-num{background:#e6510040;border-color:#e6510080;box-shadow:0 0 8px #e6510066}.game-ide{flex:1;display:flex;flex-direction:column;overflow:hidden}.game-description-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.6rem 1rem;background:#e651000a;border-bottom:1px solid rgba(230,81,0,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-tutorial-toggle{display:flex;align-items:center;gap:.3rem;background:#e651001a;border:1px solid rgba(230,81,0,.25);color:gold;padding:.25rem .6rem;border-radius:.4rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.game-tutorial-toggle:hover{background:#e6510033;box-shadow:0 0 12px #e651004d}.game-tutorial-modal{position:fixed;inset:0;background:#0f0f1ed9;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.game-tutorial-content{background:linear-gradient(135deg,#2d2d3d,#1a1a2e);border:2px solid #e65100;border-radius:.8rem;padding:1.5rem;max-width:600px;max-height:70vh;overflow-y:auto;box-shadow:0 20px 60px #e651004d;position:relative}.game-tutorial-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.3),transparent);pointer-events:none}.game-tutorial-close{position:absolute;top:1rem;right:1rem;background:#e651001a;border:1px solid rgba(230,81,0,.25);color:gold;width:32px;height:32px;border-radius:.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.game-tutorial-close:hover{background:#e6510033;box-shadow:0 0 12px #e651004d}.game-tutorial-body{color:#cbd5e1;line-height:1.6;font-size:.9rem;padding-right:.8rem}.game-tutorial-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(230,81,0,.15)}.game-tutorial-nav button{background:#e651001a;border:1px solid rgba(230,81,0,.25);color:gold;padding:.4rem .8rem;border-radius:.3rem;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .2s}.game-tutorial-nav button:hover:not(:disabled){background:#e6510033;box-shadow:0 0 12px #e651004d}.game-tutorial-nav button:disabled{opacity:.4;cursor:not-allowed}.game-split-pane{display:flex;flex:1;overflow:hidden;gap:0}.game-editor-pane{flex:1;display:flex;flex-direction:column;border-right:2px solid rgba(230,81,0,.15);background:#0f0f1e99}.game-code-editor{flex:1;background:#1a1a2e;color:#e2e8f0;border:none;padding:1rem;font-family:Fira Code,monospace;font-size:.9rem;line-height:1.6;resize:none;outline:none;tab-size:2}.game-code-editor::selection{background:#e651004d}.game-editor-footer{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;background:#2d2d4a80;border-top:1px solid rgba(230,81,0,.1);flex-wrap:wrap}.game-run-btn{display:flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#e65100,#c23f00);border:none;color:#fff;padding:.5rem 1rem;border-radius:.4rem;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #e651004d;animation:torch-flicker 4s infinite}.game-run-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e6510080}.game-run-btn:active{transform:translateY(0)}.game-hint-btn{display:flex;align-items:center;gap:.3rem;background:#ffd7001a;border:1px solid rgba(255,215,0,.25);color:gold;padding:.35rem .7rem;border-radius:.3rem;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600;transition:all .2s}.game-hint-btn:hover{background:#ffd70033;box-shadow:0 0 12px #ffd70033}.game-hint-box{background:#ffd7000d;border:1px solid rgba(255,215,0,.15);padding:.8rem;border-radius:.4rem;margin-top:.5rem;font-family:Fira Code,monospace;font-size:.78rem;color:gold;max-height:150px;overflow-y:auto}.game-hint-box pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.game-preview-pane{flex:1;display:flex;flex-direction:column;background:#1a1a2ecc;overflow:hidden}.game-canvas-container{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto;background:#0a0a1480}.game-canvas-container canvas{box-shadow:0 0 30px #e6510040;animation:torch-flicker 3s infinite}.game-console-output{flex:1;display:flex;flex-direction:column;background:#0a0a1480;border-left:2px solid rgba(230,81,0,.1)}.game-console-header{padding:.6rem .8rem;background:#2d2d4a66;border-bottom:1px solid rgba(230,81,0,.1);font-size:.78rem;font-weight:700;color:gold}.game-console-body{flex:1;padding:.8rem;overflow-y:auto;font-family:Fira Code,monospace;font-size:.8rem;color:#cbd5e1;line-height:1.5}.game-console-body::-webkit-scrollbar{width:6px}.game-console-body::-webkit-scrollbar-thumb{background:#e651004d;border-radius:3px}.game-status-area{padding:.8rem 1rem;background:#2d2d4a66;border-top:1px solid rgba(230,81,0,.1);min-height:60px;display:flex;flex-direction:column;gap:.6rem}.game-status-badge{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;padding:.5rem .8rem;border-radius:.4rem;width:fit-content}.game-status-badge.pass{background:#34d3991f;color:#34d399;border:1px solid rgba(52,211,153,.25)}.game-status-badge.fail{background:#f871711f;color:#f87171;border:1px solid rgba(248,113,113,.25)}.game-next-btn{display:flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#34d399,#10b981);border:none;color:#000;padding:.5rem 1rem;border-radius:.4rem;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:700;transition:all .2s;width:fit-content}.game-next-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #34d39966}.game-final-badge{display:flex;align-items:center;gap:.6rem;padding:1rem;background:linear-gradient(135deg,#ffd7001a,#e651001a);border:2px solid #ffd700;border-radius:.6rem;color:gold;font-size:.9rem;font-weight:700;text-align:center;text-shadow:0 0 8px rgba(255,215,0,.3);animation:torch-flicker 2s infinite}@media(max-width:768px){.game-sidebar{width:180px}.game-split-pane{flex-direction:column}.game-editor-pane{flex:0 0 40%;border-right:none;border-bottom:2px solid rgba(230,81,0,.15)}.game-preview-pane{flex:1}.game-code-editor{font-size:.8rem}.game-topbar{flex-direction:column;gap:.4rem;align-items:flex-start}.game-topbar-lesson{margin-left:0;order:3;width:100%}}@media(max-width:600px){.game-sidebar{display:none}.game-main-layout{width:100%}.game-editor-pane{flex:0 0 50%}.game-tutorial-content{max-width:90vw;max-height:80vh}}:root{--ctf-blueprint-dark: #1a237e;--ctf-blueprint-light: #3949ab;--ctf-vault-steel: #37474f;--ctf-laser-red: #ff1744;--ctf-gold-vault: #ffd700;--ctf-smoke-gray: #90a4ae;--ctf-dark-bg: #0a0e27;--ctf-accent-blue: #00bcd4;--ctf-success-green: #00e676}.ctf-container{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#0a0e27,#1a237e,#0f1545 50%,#0a0e27);background-attachment:fixed;color:#e0e0e0;font-family:Inter,Courier New,monospace;overflow:hidden;position:relative}.ctf-container:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,188,212,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,188,212,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.ctf-topbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:linear-gradient(90deg,#1a237ecc,#37474f99);border-bottom:2px solid var(--ctf-laser-red);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px #ff174426;position:relative;z-index:10;flex-shrink:0}.ctf-topbar:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--ctf-laser-red),transparent);filter:blur(1px)}.ctf-btn-outline{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--ctf-accent-blue);color:var(--ctf-accent-blue);padding:.5rem 1rem;border-radius:.4rem;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);font-family:inherit}.ctf-btn-outline:hover{background:#00bcd41a;box-shadow:0 0 15px #00bcd44d;transform:translateY(-2px)}.ctf-topbar-title{display:flex;align-items:center;gap:.8rem;margin-left:auto;margin-right:auto}.ctf-heist-icon{font-size:1.5rem;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.ctf-topbar-title h1{margin:0;font-size:1.2rem;font-weight:900;background:linear-gradient(45deg,var(--ctf-gold-vault),var(--ctf-laser-red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.15em;text-shadow:0 0 20px rgba(255,23,68,.3)}.ctf-topbar-flags{display:flex;align-items:center;gap:.5rem;background:#00e6761a;border:1px solid rgba(0,230,118,.3);color:var(--ctf-success-green);padding:.4rem .8rem;border-radius:999px;font-size:.85rem;font-weight:700}.ctf-main-layout{display:flex;flex:1;overflow:hidden;position:relative;z-index:1}.ctf-sidebar{width:280px;flex-shrink:0;background:#1a237e66;border-right:1px solid rgba(0,188,212,.1);overflow-y:auto;padding:1rem 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ctf-sidebar::-webkit-scrollbar{width:6px}.ctf-sidebar::-webkit-scrollbar-thumb{background:#00bcd433;border-radius:3px}.ctf-sidebar::-webkit-scrollbar-thumb:hover{background:#00bcd466}.ctf-sidebar-header{padding:1rem 1.25rem;border-bottom:1px solid rgba(255,215,0,.2);margin-bottom:.5rem}.ctf-sidebar-header h3{margin:0;font-size:.85rem;font-weight:900;color:var(--ctf-gold-vault);text-transform:uppercase;letter-spacing:.12em}.ctf-role-group{margin-bottom:.5rem;border-left:2px solid transparent;transition:all .3s}.ctf-role-group.active{border-left-color:var(--ctf-laser-red);background:#ff17440d}.ctf-role-header-btn{width:100%;display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;background:none;border:none;color:#ccc;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;text-align:left}.ctf-role-header-btn:hover{background:#00bcd414;color:var(--ctf-accent-blue);padding-left:1.2rem}.ctf-role-group.active .ctf-role-header-btn{color:var(--ctf-laser-red);background:#ff17441a}.ctf-role-emoji{font-size:1.2rem;min-width:1.5rem}.ctf-role-counter{margin-left:auto;background:#ffd70026;color:var(--ctf-gold-vault);padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700}.ctf-challenges-list{display:flex;flex-direction:column;gap:.3rem;padding:.5rem}.ctf-challenge-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;background:#00bcd40d;border:1px solid rgba(0,188,212,.2);color:#aaa;font-size:.8rem;border-radius:.3rem;cursor:pointer;transition:all .2s;font-family:inherit;text-align:left;font-weight:500}.ctf-challenge-btn:hover:not(:disabled){background:#00bcd426;color:var(--ctf-accent-blue);border-color:var(--ctf-accent-blue);transform:translate(2px)}.ctf-challenge-btn.captured{background:#00e6761a;border-color:#00e6764d;color:var(--ctf-success-green);cursor:default}.ctf-challenge-num{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.ctf-challenge-title{flex:1}.ctf-challenge-diff{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.15rem .35rem;border-radius:2px;background:#ff174426;color:var(--ctf-laser-red)}.ctf-main-area{flex:1;overflow-y:auto;background:#0a0e274d}.ctf-main-area::-webkit-scrollbar{width:8px}.ctf-main-area::-webkit-scrollbar-thumb{background:#00bcd433;border-radius:4px}.ctf-main-area::-webkit-scrollbar-thumb:hover{background:#00bcd466}.ctf-intro-screen{display:flex;align-items:center;justify-content:center;min-height:100%;padding:2rem}.ctf-intro-content{max-width:600px;text-align:center;background:linear-gradient(135deg,#1a237e4d,#37474f33);border:2px solid rgba(255,215,0,.3);border-radius:.8rem;padding:3rem 2.5rem;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 60px #0006,inset 0 0 40px #ffd7000d}.ctf-logo{font-size:3rem;margin-bottom:1.5rem;animation:bounce 3s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.ctf-intro-content h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:900;background:linear-gradient(45deg,var(--ctf-gold-vault),var(--ctf-laser-red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.1em}.ctf-intro-content h2{margin:0 0 2rem;font-size:1.2rem;color:var(--ctf-accent-blue);font-weight:400;letter-spacing:.05em}.ctf-progress-board{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.ctf-progress-stat{display:flex;flex-direction:column;align-items:center;padding:1.2rem;background:#00bcd40d;border:1px solid rgba(0,188,212,.2);border-radius:.5rem;transition:all .3s}.ctf-progress-stat:hover{background:#00bcd41a;transform:translateY(-4px)}.ctf-progress-label{font-size:.8rem;color:var(--ctf-smoke-gray);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:.5rem}.ctf-progress-value{font-size:2rem;font-weight:900;color:var(--ctf-gold-vault)}.ctf-progress-bar{width:100%;height:6px;background:#0000004d;border-radius:3px;overflow:hidden;margin:1.5rem 0 2rem;border:1px solid rgba(0,188,212,.2)}.ctf-progress-fill{height:100%;background:linear-gradient(90deg,var(--ctf-accent-blue),var(--ctf-gold-vault));border-radius:3px;transition:width .5s cubic-bezier(.16,1,.3,1);box-shadow:0 0 10px #00bcd480}.ctf-instructions{text-align:left;margin:2rem 0;padding:1.5rem;background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:.5rem}.ctf-instructions h3{margin:0 0 1rem;color:var(--ctf-gold-vault);font-size:1rem}.ctf-instructions p{margin:.5rem 0;color:#ccc;line-height:1.6}.ctf-instructions ul{list-style:none;padding:0;margin:1rem 0}.ctf-instructions li{padding:.6rem 0 .6rem 2rem;position:relative;color:#ccc;line-height:1.5}.ctf-instructions li:before{content:"→";position:absolute;left:.5rem;color:var(--ctf-accent-blue);font-weight:700}.ctf-completion-banner{margin-top:2rem;padding:2rem;background:linear-gradient(135deg,#00e67626,#00bcd41a);border:2px solid var(--ctf-success-green);border-radius:.8rem;box-shadow:0 0 30px #00e67633}.ctf-completion-banner h2{margin:0 0 .5rem;color:var(--ctf-success-green);font-size:1.8rem}.ctf-completion-banner p{margin:.5rem 0;color:#ccc}.ctf-completion-stars{font-size:2rem;margin-top:1rem;animation:sparkle 1s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:.8}50%{opacity:1}}.ctf-terminal{display:flex;flex-direction:column;height:100%;background:linear-gradient(135deg,#0f154599,#1a237e66);border:1px solid rgba(0,188,212,.2);margin:1rem;border-radius:.8rem;overflow:hidden;box-shadow:0 20px 60px #0006}.ctf-terminal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;background:linear-gradient(90deg,#ff17441a,#00bcd40d);border-bottom:1px solid rgba(0,188,212,.2)}.ctf-header-content{display:flex;align-items:center;gap:1rem}.ctf-role-badge{font-size:1rem;font-weight:600;color:var(--ctf-accent-blue);text-transform:uppercase;letter-spacing:.05em}.ctf-terminal-header h2{margin:0;font-size:1.5rem;color:var(--ctf-gold-vault)}.ctf-difficulty{padding:.4rem .8rem;border-radius:.4rem;font-size:.75rem;font-weight:700;text-transform:uppercase;color:#fff}.ctf-btn-close{background:#ff174433;border:1px solid rgba(255,23,68,.4);color:var(--ctf-laser-red);width:36px;height:36px;border-radius:.4rem;cursor:pointer;font-size:1.2rem;transition:all .2s;font-weight:700}.ctf-btn-close:hover{background:#ff17444d;box-shadow:0 0 15px #ff174466}.ctf-briefing-modal{position:absolute;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:.8rem}.ctf-briefing-content{background:linear-gradient(135deg,#1a237ee6,#37474fcc);border:2px solid var(--ctf-laser-red);border-radius:.8rem;padding:2.5rem;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 0 30px #ff17444d}.ctf-briefing-content h3{margin:0 0 1.5rem;color:var(--ctf-gold-vault);font-size:1.4rem;text-transform:uppercase;letter-spacing:.1em}.ctf-briefing-content p{margin:.8rem 0;color:#ddd;line-height:1.7;font-size:.95rem}.ctf-terminal-content{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}.ctf-terminal-content::-webkit-scrollbar{width:6px}.ctf-terminal-content::-webkit-scrollbar-thumb{background:#00bcd433;border-radius:3px}.ctf-section{background:#00bcd40d;border:1px solid rgba(0,188,212,.15);border-radius:.5rem;padding:1.5rem}.ctf-section h3{margin:0 0 1rem;font-size:1rem;color:var(--ctf-accent-blue);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.ctf-scenario-text{margin:0;color:#ccc;line-height:1.7}.ctf-tools-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.ctf-tool-wrapper{width:100%}.ctf-tool{background:#1a237e66;border:1px solid rgba(0,188,212,.2);border-radius:.4rem;padding:1.5rem;transition:all .3s}.ctf-tool:hover{background:#1a237e99;border-color:#00bcd466}.ctf-tool label{display:block;margin-bottom:1rem;color:var(--ctf-accent-blue);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ctf-tool-group{display:flex;flex-direction:column;gap:.8rem}.ctf-input,.ctf-input-small{background:#0000004d;border:1px solid rgba(0,188,212,.2);color:#e0e0e0;padding:.6rem .8rem;border-radius:.3rem;font-family:Courier New,monospace;font-size:.85rem;transition:all .2s}.ctf-input-small{padding:.5rem .6rem;font-size:.75rem;flex:1}.ctf-input:focus,.ctf-input-small:focus{outline:none;background:#00bcd414;border-color:var(--ctf-accent-blue);box-shadow:0 0 10px #00bcd433}textarea.ctf-input{resize:vertical;min-height:80px;font-family:Courier New,monospace}.ctf-shift-control{display:flex;flex-direction:column;gap:.5rem}.ctf-slider{width:100%;height:4px;border-radius:2px;background:linear-gradient(90deg,#00bcd433,#ff174433);outline:none;-webkit-appearance:none}.ctf-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--ctf-accent-blue);cursor:pointer;transition:all .2s;border:2px solid rgba(0,188,212,.5)}.ctf-slider::-webkit-slider-thumb:hover{background:var(--ctf-gold-vault);box-shadow:0 0 10px #ffd70066}.ctf-source-viewer{background:#00000080;border-left:2px solid var(--ctf-accent-blue);padding:1rem;border-radius:.3rem;margin-top:1rem;overflow-x:auto}.ctf-source-viewer pre{margin:0;color:var(--ctf-success-green);font-family:Courier New,monospace;font-size:.8rem;line-height:1.6}.ctf-cookies-list,.ctf-params-list{display:flex;flex-direction:column;gap:.6rem}.ctf-cookie-item,.ctf-param-item{display:flex;align-items:center;gap:.5rem}.ctf-cookie-item span,.ctf-param-item span{color:var(--ctf-accent-blue);font-weight:700}.ctf-result{background:#0000004d;border-left:3px solid var(--ctf-success-green);padding:1rem;border-radius:.3rem;margin-top:1rem}.ctf-result strong{display:block;color:var(--ctf-success-green);margin-bottom:.5rem;font-size:.85rem}.ctf-result code{display:block;background:#00000080;color:var(--ctf-accent-blue);padding:.8rem;border-radius:.3rem;font-family:Courier New,monospace;font-size:.8rem;word-break:break-all;overflow-x:auto}.ctf-result p{margin:.5rem 0 0;color:#ccc;font-size:.85rem}.ctf-error{background:#ff17441a;border:1px solid rgba(255,23,68,.3);color:var(--ctf-laser-red);padding:.8rem;border-radius:.3rem;margin-top:.8rem;font-size:.85rem}.ctf-hint-box{background:#ffd70014;border:1px solid rgba(255,215,0,.2);padding:.8rem;border-radius:.3rem;margin-top:1rem;color:var(--ctf-gold-vault);font-size:.8rem;line-height:1.5}.ctf-hints{cursor:pointer}.ctf-hints summary{padding:.5rem 0;color:var(--ctf-accent-blue);font-weight:600;transition:all .2s;-webkit-user-select:none;user-select:none}.ctf-hints summary:hover{color:var(--ctf-gold-vault)}.ctf-hints-list{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}.ctf-hint-item{background:#00bcd40d;border-left:2px solid var(--ctf-accent-blue);padding:.8rem;border-radius:.3rem}.ctf-hint-item strong{color:var(--ctf-accent-blue);font-size:.8rem}.ctf-hint-item{color:#ccc;font-size:.85rem;line-height:1.5}.ctf-flag-section{background:linear-gradient(135deg,#ff174414,#ffd7000d);border:2px solid rgba(255,215,0,.2)}.ctf-flag-input-group{display:flex;gap:.8rem}.ctf-flag-input{flex:1;background:#0000004d;border:1px solid rgba(0,188,212,.3);color:var(--ctf-accent-blue);padding:.8rem 1rem;border-radius:.4rem;font-family:Courier New,monospace;font-size:.9rem;transition:all .2s}.ctf-flag-input:focus{outline:none;background:#00bcd41a;border-color:var(--ctf-accent-blue);box-shadow:0 0 15px #00bcd44d}.ctf-flag-input.correct{border-color:var(--ctf-success-green);background:#00e67614;color:var(--ctf-success-green)}.ctf-flag-input.incorrect{border-color:var(--ctf-laser-red);background:#ff174414;animation:shake .5s cubic-bezier(.36,0,.66,-.56)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.ctf-btn-primary,.ctf-btn-secondary,.ctf-btn-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.5rem;border:none;border-radius:.4rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);font-family:inherit;text-transform:uppercase;letter-spacing:.05em}.ctf-btn-primary{background:linear-gradient(45deg,var(--ctf-accent-blue),rgba(0,188,212,.8));color:#fff;border:1px solid rgba(0,188,212,.5)}.ctf-btn-primary:hover:not(:disabled){background:linear-gradient(45deg,rgba(0,188,212,.9),var(--ctf-accent-blue));box-shadow:0 0 20px #00bcd466;transform:translateY(-2px)}.ctf-btn-secondary{background:transparent;color:var(--ctf-accent-blue);border:1px solid var(--ctf-accent-blue)}.ctf-btn-secondary:hover{background:#00bcd41a;box-shadow:0 0 15px #00bcd44d}.ctf-btn-submit{background:linear-gradient(45deg,var(--ctf-laser-red),rgba(255,23,68,.8));color:#fff;border:1px solid rgba(255,23,68,.5)}.ctf-btn-submit:hover:not(:disabled){background:linear-gradient(45deg,rgba(255,23,68,.9),var(--ctf-laser-red));box-shadow:0 0 20px #ff174466;transform:translateY(-2px)}.ctf-btn-submit:disabled{opacity:.6;cursor:not-allowed}.ctf-success{position:relative;background:linear-gradient(135deg,#00e67626,#00bcd414);border:2px solid var(--ctf-success-green);border-radius:.6rem;padding:2rem 1.5rem;margin-top:1.5rem;text-align:center;box-shadow:0 0 40px #00e6764d;animation:slideUp .5s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ctf-vault-crack-animation{position:absolute;top:10px;right:10px;width:40px;height:40px;border:2px solid var(--ctf-success-green);border-radius:50%;animation:expandCrack .6s ease-out}@keyframes expandCrack{0%{width:40px;height:40px;opacity:1;border-width:2px}to{width:80px;height:80px;opacity:0;border-width:1px}}.ctf-success-text{margin:0;font-size:1.2rem;font-weight:700;color:var(--ctf-success-green);letter-spacing:.05em}.ctf-failure{background:linear-gradient(135deg,#ff174426,#ff174414);border:2px solid var(--ctf-laser-red);border-radius:.6rem;padding:1.5rem;margin-top:1.5rem;text-align:center;animation:slideUp .5s cubic-bezier(.16,1,.3,1)}.ctf-failure p{margin:0;font-size:1rem;font-weight:600;color:var(--ctf-laser-red);letter-spacing:.05em}.ctf-tool-placeholder{padding:2rem;text-align:center;color:var(--ctf-smoke-gray);font-size:.9rem}@media(max-width:768px){.ctf-sidebar{width:220px}.ctf-topbar{flex-wrap:wrap;gap:.8rem;padding:.6rem 1rem}.ctf-topbar-title{flex:1;min-width:100%}.ctf-topbar-title h1,.ctf-heist-icon{font-size:1rem}.ctf-intro-content{padding:2rem 1.5rem}.ctf-intro-content h1{font-size:2rem}.ctf-intro-content h2{font-size:1rem}.ctf-progress-board{grid-template-columns:1fr;gap:.8rem}.ctf-tools-grid{grid-template-columns:1fr}.ctf-terminal{margin:.5rem}.ctf-flag-input-group{flex-direction:column}.ctf-btn-submit{width:100%}.ctf-progress-stat{padding:.8rem}.ctf-progress-value{font-size:1.5rem}}@media(max-width:480px){.ctf-sidebar{width:180px}.ctf-topbar-flags{font-size:.7rem}.ctf-intro-content{padding:1.5rem 1rem}.ctf-terminal-header{flex-direction:column;align-items:flex-start}.ctf-terminal-content{padding:1rem;gap:1.5rem}.ctf-instructions{padding:1rem}.ctf-briefing-content{padding:1.5rem}}.pseudo-module{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(145deg,#0d1b2a,#1a3a5c,#0f2438);background-attachment:fixed;color:#e0f2f1;font-family:Inter,system-ui,sans-serif;overflow:hidden;position:relative}.pseudo-module:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(42,90,140,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(42,90,140,.05) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.pseudo-topbar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;background:#0d1b2af2;border-bottom:2px solid #ffd54f;flex-shrink:0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 20px #0006;position:relative;z-index:10}.pseudo-topbar:after{content:"";position:absolute;bottom:-2px;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,213,79,.2),transparent);pointer-events:none}.pseudo-topbar-title{font-weight:800;font-size:1rem;color:#ffd54f;letter-spacing:1px;text-shadow:0 0 8px rgba(255,213,79,.2)}.pseudo-topbar-lesson{font-size:.8rem;color:#90caf9;margin-left:auto;margin-right:.5rem}.pseudo-main-layout{display:flex;flex:1;overflow:hidden;position:relative;z-index:1}.pseudo-sidebar{width:240px;flex-shrink:0;background:#1a3a5c66;border-right:2px solid rgba(255,213,79,.15);overflow-y:auto;padding:.75rem 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pseudo-sidebar::-webkit-scrollbar{width:6px}.pseudo-sidebar::-webkit-scrollbar-thumb{background:#ffd54f33;border-radius:3px}.pseudo-sidebar::-webkit-scrollbar-thumb:hover{background:#ffd54f66}.pseudo-phase-group{margin-bottom:.5rem}.pseudo-phase-header{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.7rem;font-weight:800;color:#ffd54f;text-transform:uppercase;letter-spacing:.12em;border-left:3px solid transparent;border-left-color:#ffd54f;background:#ffd54f14}.pseudo-lesson-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:none;border:none;color:#cfd8dc;font-size:.78rem;text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);border-left:3px solid transparent;font-family:inherit;margin:.15rem 0}.pseudo-lesson-btn:hover{background:#ffd54f0f;color:#e0f2f1;transform:translate(3px)}.pseudo-lesson-btn.active{background:#ffd54f1f;color:#ffd54f;border-left-color:#ffd54f;box-shadow:inset 3px 0 12px #ffd54f1f;font-weight:600}.pseudo-lesson-btn.completed{color:#81c784}.pseudo-lesson-btn.locked{opacity:.3;cursor:not-allowed}.pseudo-lesson-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;background:#ffd54f14;border:1.5px solid rgba(255,213,79,.25);color:#ffd54f;flex-shrink:0;transition:all .2s}.pseudo-lesson-btn.completed .pseudo-lesson-num{background:#81c7841f;border-color:#81c78459;color:#81c784}.pseudo-lesson-btn.active .pseudo-lesson-num{background:#ffd54f26;border-color:#ffd54f;box-shadow:0 0 8px #ffd54f33}.pseudo-ide{flex:1;display:flex;flex-direction:column;overflow:hidden}.pseudo-description-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem 1rem;background:#ffd54f0a;border-bottom:1px solid rgba(255,213,79,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pseudo-tutorial-toggle{display:flex;align-items:center;gap:.3rem;background:#ffd54f14;border:1px solid rgba(255,213,79,.2);color:#ffd54f;padding:.25rem .6rem;border-radius:.4rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.pseudo-tutorial-toggle:hover{background:#ffd54f26;box-shadow:0 0 10px #ffd54f1f}.pseudo-status-badge{font-size:.72rem;font-weight:700;padding:.25rem .65rem;border-radius:999px;display:flex;align-items:center;gap:.3rem}.pseudo-status-badge.pass{background:#81c7841f;color:#81c784;border:1px solid rgba(129,199,132,.25)}.pseudo-status-badge.fail{background:#f443361f;color:#f44336;border:1px solid rgba(244,67,54,.25)}.pseudo-next-btn{display:flex;align-items:center;gap:.3rem;background:#81c7841a;border:1px solid rgba(129,199,132,.25);color:#81c784;padding:.25rem .65rem;border-radius:.4rem;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.pseudo-next-btn:hover{background:#81c78433;box-shadow:0 0 10px #81c7841a}.pseudo-tutorial-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.pseudo-tutorial-popup{background:linear-gradient(135deg,#0d1b2a,#1a3a5c);border:2px solid #ffd54f;border-radius:.8rem;width:85%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080,inset 0 0 40px #ffd54f14}.pseudo-tutorial-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,213,79,.15);color:#ffd54f;font-weight:700;font-size:.9rem}.pseudo-tutorial-close{margin-left:auto;background:none;border:none;color:#ffd54f;cursor:pointer;padding:0;transition:all .2s}.pseudo-tutorial-close:hover{transform:rotate(90deg);opacity:.7}.pseudo-tutorial-body{flex:1;overflow-y:auto;padding:1.25rem;color:#cfd8dc;font-size:.9rem;line-height:1.6}.pseudo-tutorial-footer{display:flex;align-items:center;gap:.75rem;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid rgba(255,213,79,.15);background:#ffd54f0a}.pseudo-activity-area{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1rem;gap:1rem}.pseudo-activity-container{display:flex;gap:1rem;flex:1;overflow:hidden}.pseudo-activity-left,.pseudo-activity-right{flex:1;display:flex;flex-direction:column;background:#1a3a5c4d;border:1px solid rgba(255,213,79,.1);border-radius:.6rem;overflow:hidden}.pseudo-activity-full{flex:1;display:flex;flex-direction:column;background:#1a3a5c4d;border:1px solid rgba(255,213,79,.1);border-radius:.6rem;overflow:hidden;padding:1rem}.pseudo-editor-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#ffd54f14;border-bottom:1px solid rgba(255,213,79,.15);color:#ffd54f;font-weight:700;font-size:.9rem}.pseudo-textarea{flex:1;padding:1rem;border:none;background:#0d1b2a80;color:#e0f2f1;font-family:Fira Code,monospace;font-size:.9rem;line-height:1.6;resize:none;outline:none;border-top:1px solid rgba(255,213,79,.1)}.pseudo-textarea::placeholder{color:#e0f2f14d}.pseudo-textarea:focus{background:#0d1b2ab3;box-shadow:inset 0 0 20px #ffd54f0f}.pseudo-hint-box{padding:.75rem 1rem;background:#ffd54f14;border-left:3px solid #ffd54f;color:#ffeb99;font-size:.85rem;border-bottom:1px solid rgba(255,213,79,.15)}.pseudo-reference-header{padding:.75rem 1rem;background:#ffd54f14;border-bottom:1px solid rgba(255,213,79,.15);color:#ffd54f;font-weight:700;font-size:.9rem}.pseudo-reference-code{flex:1;padding:1rem;margin:0;background:#0d1b2a99;color:#81c784;font-family:Fira Code,monospace;font-size:.85rem;line-height:1.6;overflow-y:auto;border:none;border-top:1px solid rgba(255,213,79,.1)}.pseudo-hint-btn,.pseudo-submit-btn{padding:.35rem .8rem;border-radius:.4rem;border:none;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit;display:flex;align-items:center;gap:.3rem}.pseudo-hint-btn{background:#ffd54f1a;color:#ffd54f;border:1px solid rgba(255,213,79,.25)}.pseudo-hint-btn:hover{background:#ffd54f26;box-shadow:0 0 8px #ffd54f1a}.pseudo-submit-btn{background:linear-gradient(135deg,#81c78426,#ffd54f14);color:#81c784;border:1px solid rgba(129,199,132,.35)}.pseudo-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#81c78440,#ffd54f26);box-shadow:0 0 12px #81c78426;transform:translateY(-2px)}.pseudo-submit-btn:disabled{opacity:.4;cursor:not-allowed}.pseudo-missing-keywords{padding:.6rem 1rem;background:#f4433614;border-left:3px solid #f44336;color:#ef9a9a;font-size:.82rem;border-bottom:1px solid rgba(244,67,54,.15)}.pseudo-missing-keywords strong{color:#f44336}.pseudo-keyboard-hint{padding:.3rem 1rem;font-size:.68rem;color:#e0f2f14d;background:#00000026;border-top:1px solid rgba(255,213,79,.05);text-align:right}.pseudo-solution-hidden{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#e0f2f159;font-size:.85rem;text-align:center;background:#0d1b2a66}.pseudo-quiz-option.correct-answer{border-color:#81c784;background:#81c78426}.pseudo-quiz-option.wrong-answer{border-color:#f44336;background:#f443361a}.pseudo-trace-instruction{padding:.75rem 1rem;background:#64b5f614;border:1px solid rgba(100,181,246,.15);border-radius:.4rem;color:#90caf9;font-size:.85rem;margin-bottom:1rem}.pseudo-trace-table{width:100%;border-collapse:collapse;margin-bottom:1rem;border:1px solid rgba(255,213,79,.1)}.pseudo-trace-table th{background:#ffd54f1a;color:#ffd54f;padding:.6rem;font-weight:700;font-size:.8rem;border-right:1px solid rgba(255,213,79,.1);text-align:left}.pseudo-trace-table th:last-child{border-right:none}.pseudo-trace-table td{padding:.6rem;border-right:1px solid rgba(255,213,79,.08);color:#cfd8dc;font-size:.85rem;font-family:Fira Code,monospace}.pseudo-trace-table td:last-child{border-right:none}.pseudo-trace-table tbody tr{border-bottom:1px solid rgba(255,213,79,.08);background:#ffd54f05}.pseudo-trace-table tbody tr:hover{background:#ffd54f0f}.pseudo-trace-value{color:#81c784;font-weight:600}.pseudo-input-field{width:100%;padding:.6rem .8rem;background:#0d1b2a99;border:1px solid rgba(255,213,79,.2);border-radius:.4rem;color:#e0f2f1;font-family:Fira Code,monospace;font-size:.9rem;outline:none}.pseudo-input-field:focus{background:#0d1b2acc;border-color:#ffd54f;box-shadow:0 0 8px #ffd54f1a}.pseudo-quiz-question{padding:1rem;background:#64b5f614;border:1px solid rgba(100,181,246,.15);border-radius:.4rem;color:#90caf9;font-size:.95rem;margin-bottom:1.5rem;line-height:1.6}.pseudo-quiz-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.pseudo-quiz-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1a3a5c66;border:1.5px solid rgba(255,213,79,.15);border-radius:.5rem;cursor:pointer;transition:all .2s;font-size:.9rem;color:#cfd8dc;font-family:inherit;text-align:left}.pseudo-quiz-option:hover{background:#ffd54f14;border-color:#ffd54f4d}.pseudo-quiz-option.selected{background:#81c78426;border-color:#81c784;color:#e0f2f1;font-weight:600}.pseudo-quiz-option input{cursor:pointer}.pseudo-quiz-feedback{padding:.75rem 1rem;border-radius:.4rem;font-size:.9rem;margin-top:1rem;font-weight:600}.pseudo-quiz-feedback.correct{background:#81c7841f;border:1px solid rgba(129,199,132,.25);color:#81c784}.pseudo-quiz-feedback.incorrect{background:#f443361f;border:1px solid rgba(244,67,54,.25);color:#f44336}.pseudo-success-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:200;pointer-events:none}.pseudo-stamp-animation{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.pseudo-stamp{width:140px;height:140px;border:4px solid #81c784;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:80px;color:#81c784;font-weight:800;transform:rotate(-15deg);animation:pseudo-stamp-bounce .6s cubic-bezier(.34,1.56,.64,1) forwards;text-shadow:0 0 20px rgba(129,199,132,.3);box-shadow:0 10px 40px #81c78433}.pseudo-stamp-text{font-size:1.2rem;font-weight:800;color:#81c784;letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.3);animation:pseudo-stamp-text-fade .8s ease-out forwards}@keyframes pseudo-stamp-bounce{0%{opacity:0;transform:rotate(-15deg) scale(.5) translateY(-50px)}70%{opacity:1;transform:rotate(-15deg) scale(1.1) translateY(10px)}to{opacity:1;transform:rotate(-15deg) scale(1) translateY(0)}}@keyframes pseudo-stamp-text-fade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.pseudo-btn-outline{background:#ffd54f14;border:1px solid rgba(255,213,79,.25);color:#ffd54f;padding:.35rem .8rem;border-radius:.4rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;display:flex;align-items:center;gap:.3rem}.pseudo-btn-outline:hover{background:#ffd54f26;box-shadow:0 0 8px #ffd54f1a}.pseudo-btn-primary{background:linear-gradient(135deg,#ffd54f,#ffb300);color:#0d1b2a;padding:.35rem .8rem;border-radius:.4rem;border:none;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit;box-shadow:0 4px 12px #ffd54f33}.pseudo-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffd54f4d}@media(max-width:768px){.pseudo-sidebar{width:180px}.pseudo-activity-container{flex-direction:column}.pseudo-activity-left,.pseudo-activity-right,.pseudo-activity-full{min-height:300px}.pseudo-tutorial-popup{width:95%;max-height:85vh}.pseudo-topbar{flex-wrap:wrap;padding:.5rem .75rem}.pseudo-topbar-lesson{width:100%;order:3;margin:0;font-size:.75rem}.pseudo-editor-header{flex-wrap:wrap;gap:.5rem}}@media(max-width:600px){.pseudo-sidebar{width:150px;font-size:.75rem}.pseudo-phase-header,.pseudo-lesson-btn{padding:.4rem .5rem}.pseudo-topbar-title{font-size:.9rem}.pseudo-tutorial-popup{width:98%}}.scratch-module{width:100vw;height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#fafafa,#f5f5f5);color:#333;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}.scratch-topbar{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;background:linear-gradient(90deg,#ff6b9d,orange,gold);border-bottom:3px solid rgba(255,255,255,.3);flex-shrink:0;box-shadow:0 4px 12px #0000001f;position:relative}.scratch-topbar:after{content:"";position:absolute;bottom:-3px;left:10%;right:10%;height:2px;background:#fff3;pointer-events:none}.scratch-topbar-title{font-weight:900;font-size:1.1rem;color:#fff;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.scratch-topbar-lesson{font-size:.8rem;color:#ffffffe6;margin-left:auto;margin-right:.5rem;font-weight:600}.scratch-btn-outline{background:#ffffff40;border:2px solid rgba(255,255,255,.5);color:#fff;padding:.4rem .9rem;border-radius:.4rem;cursor:pointer;font-weight:600;font-size:.78rem;transition:all .2s;display:flex;align-items:center;gap:.4rem}.scratch-btn-outline:hover{background:#ffffff59;border-color:#ffffffb3;transform:translateY(-1px)}.scratch-main-layout{display:flex;flex:1;overflow:hidden;gap:0}.scratch-sidebar{width:220px;flex-shrink:0;background:#fff;border-right:3px solid #FFD700;overflow-y:auto;padding:.75rem 0;box-shadow:inset -2px 0 4px #0000000d}.scratch-sidebar::-webkit-scrollbar{width:6px}.scratch-sidebar::-webkit-scrollbar-thumb{background:gold;border-radius:3px}.scratch-sidebar::-webkit-scrollbar-thumb:hover{background:#ff8c00}.scratch-season-group{margin-bottom:.75rem;border-bottom:2px dashed rgba(255,107,157,.2);padding-bottom:.75rem}.scratch-season-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-weight:800;font-size:.85rem;color:#ff6b9d;background:#ff6b9d14;margin:0 .5rem .4rem;border-radius:.3rem}.scratch-lesson-btn{width:calc(100% - 1rem);margin:.25rem .5rem;padding:.5rem .75rem;background:#fff;border:2px solid #ddd;color:#333;border-radius:.4rem;cursor:pointer;font-weight:600;font-size:.78rem;text-align:left;display:flex;align-items:center;gap:.5rem;transition:all .2s;position:relative}.scratch-lesson-btn:hover:not(:disabled){background:#fff9e6;border-color:gold;transform:translate(2px);box-shadow:0 2px 8px #ffd70033}.scratch-lesson-btn.active{background:linear-gradient(90deg,gold,orange);color:#fff;border-color:#ff8c00;box-shadow:0 4px 12px #ffa5004d;font-weight:800}.scratch-lesson-btn.completed{border-color:#4caf50;background:#4caf501a}.scratch-lesson-btn.locked{opacity:.5;cursor:not-allowed}.scratch-lesson-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#0000001a;border-radius:50%;font-weight:800;font-size:.7rem;flex-shrink:0}.scratch-lesson-btn.active .scratch-lesson-num{background:#ffffff4d}.scratch-ide{display:flex;flex-direction:column;flex:1;overflow:hidden}.scratch-description-bar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:#fff;border-bottom:2px solid #FFD700;flex-shrink:0;flex-wrap:wrap}.scratch-tutorial-toggle{background:#4a90e2;color:#fff;border:none;padding:.35rem .7rem;border-radius:.3rem;cursor:pointer;font-weight:600;font-size:.75rem;display:flex;align-items:center;gap:.35rem;transition:all .2s}.scratch-tutorial-toggle:hover{background:#357abd;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.scratch-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;border-radius:999px;font-weight:700;font-size:.75rem}.scratch-status-badge.pass{background:#4caf5026;color:#2e7d32;border:1px solid rgba(76,175,80,.3)}.scratch-status-badge.fail{background:#f4433626;color:#c62828;border:1px solid rgba(244,67,54,.3)}.scratch-next-btn{background:linear-gradient(90deg,#4caf50,#45a049);color:#fff;border:none;padding:.4rem 1rem;border-radius:.4rem;cursor:pointer;font-weight:700;font-size:.8rem;display:flex;align-items:center;gap:.4rem;transition:all .2s;box-shadow:0 2px 8px #4caf5033}.scratch-next-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.scratch-tutorial-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.scratch-tutorial-popup{background:#fff;border-radius:1rem;box-shadow:0 10px 40px #0000004d;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.scratch-tutorial-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background:linear-gradient(90deg,gold,orange);color:#fff;font-weight:800;font-size:.95rem;flex-shrink:0}.scratch-tutorial-close{background:none;border:none;color:#fff;cursor:pointer;margin-left:auto;padding:.25rem;display:flex;transition:transform .2s}.scratch-tutorial-close:hover{transform:rotate(90deg)}.scratch-tutorial-body{padding:1.5rem;overflow-y:auto;flex:1;font-size:.9rem;line-height:1.6;color:#333}.scratch-tutorial-body h3{margin:1rem 0 .5rem}.scratch-tutorial-body pre{overflow-x:auto}.scratch-tutorial-body table{margin:.5rem 0}.scratch-tutorial-footer{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f5f5f5;border-top:1px solid #ddd;flex-shrink:0}.scratch-btn-primary{background:linear-gradient(90deg,#4a90e2,#357abd);color:#fff;border:none;padding:.5rem 1.2rem;border-radius:.4rem;cursor:pointer;font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:.4rem;transition:all .2s;box-shadow:0 2px 8px #4a90e24d}.scratch-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.scratch-btn-primary:disabled{opacity:.5;cursor:not-allowed}.scratch-layout{display:flex;flex:1;overflow:hidden;gap:.5rem;padding:.75rem;background:#f9f9f9}.scratch-palette{width:160px;flex-shrink:0;background:#fff;border:3px solid #9C27B0;border-radius:.5rem;overflow-y:auto;padding:.5rem;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;gap:.4rem}.scratch-palette::-webkit-scrollbar{width:6px}.scratch-palette::-webkit-scrollbar-thumb{background:#9c27b0;border-radius:3px}.scratch-palette-header{font-weight:800;font-size:.85rem;padding:.5rem .6rem;color:#9c27b0;background:#9c27b014;border-radius:.3rem;text-align:center;flex-shrink:0;border-bottom:2px solid #9C27B0}.scratch-palette-block{padding:.55rem .7rem;border:none;border-radius:.4rem;color:#fff;font-weight:700;font-size:.75rem;cursor:pointer;transition:all .2s;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:0 2px 6px #00000026}.scratch-palette-block:hover{transform:scale(1.05);box-shadow:0 4px 10px #0003}.scratch-palette-block:active{transform:scale(.98)}.scratch-workspace{flex:1;min-height:0;background:#fff;border:3px dashed #FF8C42;border-radius:.5rem;padding:.75rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 12px #0000001a}.scratch-workspace-header{font-weight:800;font-size:.9rem;padding:.5rem .75rem;color:#ff8c42;background:#ff8c4214;border-radius:.3rem;display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-bottom:.5rem;border-bottom:2px solid #FF8C42}.scratch-block-count{margin-left:auto;font-size:.75rem;background:#ff8c4233;padding:.2rem .5rem;border-radius:999px;font-weight:700}.scratch-block-stack{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;padding:.5rem 0;min-height:120px}.scratch-block-stack::-webkit-scrollbar{width:6px}.scratch-block-stack::-webkit-scrollbar-thumb{background:#ff8c424d;border-radius:3px}.scratch-empty-workspace{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999;font-size:.85rem;font-weight:600}.scratch-block-item{flex-shrink:0}.scratch-block-container{padding:.7rem;border-radius:.5rem;border:2px solid;box-shadow:0 3px 8px #0000001f;background:linear-gradient(135deg,#ffffffe6,#ffffffb3);position:relative;transition:all .2s}.scratch-block-container:hover{transform:translateY(-2px);box-shadow:0 5px 12px #00000026}.scratch-block-label{font-weight:800;font-size:.8rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);margin-bottom:.35rem}.scratch-block-param-input,.scratch-block-param-row input{width:100%;padding:.35rem .5rem;border:1px solid rgba(0,0,0,.15);border-radius:.3rem;font-size:.75rem;background:#fffc;color:#333;margin-top:.25rem;font-family:monospace}.scratch-block-param-row{display:flex;gap:.35rem}.scratch-block-param-row input{flex:1}.scratch-block-controls{display:flex;gap:.25rem;margin-top:.5rem;justify-content:flex-end}.scratch-block-btn{background:#0000001a;border:1px solid rgba(0,0,0,.2);color:#fff;width:26px;height:26px;border-radius:.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;text-shadow:0 1px 2px rgba(0,0,0,.2)}.scratch-block-btn:hover:not(:disabled){background:#0003;transform:scale(1.1)}.scratch-block-btn:disabled{opacity:.4;cursor:not-allowed}.scratch-block-btn.delete:hover{background:#f443364d}.scratch-workspace-actions{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;flex-shrink:0;flex-wrap:wrap}.scratch-code-display{margin-top:.75rem;background:#1a1a2e;border:1px solid #444;border-radius:.4rem;padding:.75rem;max-height:120px;overflow-y:auto;font-family:Courier New,monospace;font-size:.7rem;color:gold;line-height:1.4}.scratch-code-display pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.scratch-stage{width:280px;flex-shrink:0;min-height:0;background:#fff;border:3px solid #4CAF50;border-radius:.5rem;padding:.75rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 12px #0000001a}.scratch-stage-header{font-weight:800;font-size:.9rem;padding:.5rem .75rem;color:#4caf50;background:#4caf5014;border-radius:.3rem;margin-bottom:.5rem;text-align:center;border-bottom:2px solid #4CAF50;flex-shrink:0}.scratch-stage-area{flex:1;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:.4rem;border:2px dashed #4CAF50;padding:.75rem;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.5rem}.scratch-character-sprite{font-size:3rem;margin-top:.5rem;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.scratch-output-log{width:100%;flex:1;background:#fffc;border-radius:.3rem;padding:.5rem;font-size:.7rem;color:#333;overflow-y:auto;border:1px solid rgba(76,175,80,.2);font-family:monospace}.scratch-output-log::-webkit-scrollbar{width:4px}.scratch-output-log::-webkit-scrollbar-thumb{background:#4caf504d;border-radius:2px}.scratch-output-placeholder{color:#999;font-style:italic;font-size:.75rem}.scratch-output-line{padding:.2rem 0;border-bottom:1px solid rgba(0,0,0,.05);word-break:break-word}.scratch-variables-panel{margin-top:.5rem;padding:.5rem;background:#ffd70014;border-radius:.3rem;border:1px solid rgba(255,215,0,.2);flex-shrink:0}.scratch-canvas-container{display:flex;align-items:center;justify-content:center;width:100%;flex:1;padding:1rem;background:#f0f4f8;border-radius:.4rem}.scratch-canvas{display:block;max-width:100%;height:auto}.scratch-center-panel{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0;min-height:0;overflow:hidden}.scratch-palette-grid{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem}.scratch-controls-row{display:flex;gap:.5rem;padding:.5rem 0;flex-shrink:0}@media(max-width:1024px){.scratch-layout{flex-direction:column;gap:.4rem}.scratch-palette{width:100%;height:80px;flex-direction:row;overflow-x:auto}.scratch-stage{width:100%;height:150px}.scratch-workspace{height:200px}}@media(max-width:768px){.scratch-module{width:100%;height:100%}.scratch-sidebar{width:160px}.scratch-layout{flex-direction:column;padding:.5rem;gap:.35rem}.scratch-palette{height:70px;flex-direction:row;padding:.4rem}.scratch-palette-block{padding:.4rem .5rem;font-size:.7rem}.scratch-workspace{height:180px;padding:.5rem}.scratch-stage{width:100%;height:140px;padding:.5rem}.scratch-character-sprite{font-size:2rem}.scratch-topbar{flex-direction:column;gap:.5rem;align-items:flex-start}.scratch-description-bar{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:480px){.scratch-sidebar{display:none}.scratch-main-layout{flex-direction:column}.scratch-layout{padding:.35rem;gap:.25rem}.scratch-palette{height:60px}.scratch-topbar-lesson{font-size:.7rem}}button:focus{outline:2px solid #FFD700;outline-offset:2px}input:focus{outline:1px solid #4A90E2}.scratch-workspace:before{content:"🎬 ";position:absolute;top:.5rem;left:.5rem;opacity:.1;font-size:3rem;pointer-events:none}.scratch-stage:after{content:"🎭";position:absolute;top:-20px;right:-20px;font-size:6rem;opacity:.05;pointer-events:none}
