:root{--bg: #0a0d12;--bg-2: #10141d;--panel: #121722;--panel-2: #171d2a;--line: #2a3242;--line-soft: #1f2634;--ink: #d8e0ee;--ink-dim: #8a94a8;--gold: #ffc857;--ember: #ff5a36;--red: #ff5a6e;--green: #7ddb8a;--blue: #6fc3ff;--violet: #b48cff;--pixel: "Press Start 2P", "Courier New", monospace;--term: "VT323", "Consolas", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:radial-gradient(1100px 500px at 50% -10%,rgba(255,90,54,.09),transparent 60%),radial-gradient(900px 600px at 85% 110%,rgba(180,140,255,.07),transparent 55%),var(--bg);color:var(--ink);font-family:var(--term);font-size:21px;line-height:1.45;letter-spacing:.4px}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.022) 0px,rgba(255,255,255,.022) 1px,transparent 1px,transparent 3px);z-index:999}#app{max-width:880px;margin:0 auto;padding:20px 16px 80px}.hidden{display:none!important}h1,h2,h3{font-family:var(--pixel);font-weight:400;line-height:1.5;margin:0}p{margin:.4em 0}.panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:6px;box-shadow:0 0 0 1px #0009,inset 0 1px #ffffff0a,0 14px 40px #00000073;padding:22px;position:relative}.panel:before,.panel:after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--gold);opacity:.7}.panel:before{top:-2px;left:-2px;border-right:none;border-bottom:none}.panel:after{bottom:-2px;right:-2px;border-left:none;border-top:none}.panel-title{font-size:13px;color:var(--gold);text-shadow:0 0 12px rgba(255,200,87,.35);margin-bottom:14px}.dim{color:var(--ink-dim)}.small{font-size:17px}.btn{font-family:var(--pixel);font-size:12px;color:#14100a;background:linear-gradient(180deg,#ffd97a,var(--gold));border:1px solid #8a6d3b;border-radius:4px;padding:13px 20px;cursor:pointer;box-shadow:0 4px #8a6d3b,0 6px 16px #0006;transition:transform .06s ease,box-shadow .06s ease,filter .15s ease}.btn:hover{filter:brightness(1.07)}.btn:active{transform:translateY(3px);box-shadow:0 1px #8a6d3b}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--ghost{color:var(--ink);background:var(--panel-2);border:1px solid var(--line);box-shadow:0 4px #0a0d12}.btn--ghost:active{box-shadow:0 1px #0a0d12}.btn--ember{color:#1c0a05;background:linear-gradient(180deg,#ff8a66,var(--ember));border-color:#7e2410;box-shadow:0 4px #7e2410,0 6px 18px #ff5a3640}.btn--ember:active{box-shadow:0 1px #7e2410}#hud{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 14px;margin-bottom:18px}#hud .hero-name{font-family:var(--pixel);font-size:11px;color:var(--violet);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-group{display:flex;align-items:center;gap:8px}.hud-label{font-family:var(--pixel);font-size:9px;color:var(--ink-dim)}.bar{width:120px;height:14px;background:#0d1017;border:1px solid var(--line);border-radius:3px;overflow:hidden;position:relative}.bar>span{display:block;height:100%;width:0%;transition:width .35s ease}.bar--hp>span{background:linear-gradient(90deg,#ff8a66,var(--red))}.bar--xp>span{background:linear-gradient(90deg,#ffe29a,var(--gold))}#hud .spacer{flex:1}#btn-mute{background:none;border:1px solid var(--line);border-radius:4px;color:var(--ink);font-size:19px;padding:4px 9px;cursor:pointer}#btn-mute:hover{border-color:var(--gold)}#screen-start{text-align:center;padding:46px 26px}.game-logo{font-size:clamp(20px,4.6vw,34px);color:var(--gold);text-shadow:0 0 22px rgba(255,200,87,.35),3px 3px 0 #4a3610;margin-bottom:10px}.game-subtitle{font-family:var(--pixel);font-size:clamp(10px,2.2vw,14px);color:var(--ember);text-shadow:0 0 18px rgba(255,90,54,.5);margin-bottom:26px}.start-lore{max-width:560px;margin:0 auto 26px;color:var(--ink-dim);font-size:22px}.name-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}#input-name{font-family:var(--term);font-size:22px;color:var(--ink);background:#0d1017;border:1px solid var(--line);border-radius:4px;padding:11px 14px;width:min(320px,100%);outline:none}#input-name:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ffc85726}.start-rules{max-width:620px;margin:0 auto;display:inline-block;text-align:left;color:var(--ink-dim);font-size:19px;border:1px dashed var(--line);border-radius:6px;padding:12px 18px}.quest-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}.quest-counter{font-family:var(--pixel);font-size:10px;color:var(--blue)}.quest-question{font-size:26px;margin:14px 0 20px;color:#fff}.options{display:grid;gap:10px}.option{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;font-family:var(--term);font-size:21px;line-height:1.35;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:12px 14px;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .06s ease}.option:hover:not(:disabled){border-color:var(--gold);background:#1a2130;transform:translate(3px)}.option:disabled{cursor:default;opacity:.75}.option .letter{font-family:var(--pixel);font-size:11px;color:var(--gold);border:1px solid var(--line);border-radius:3px;padding:6px 8px;flex:0 0 auto;margin-top:2px}.option.is-correct{border-color:var(--green);background:#7ddb8a1f;opacity:1}.option.is-correct .letter{color:var(--green);border-color:var(--green)}.option.is-wrong{border-color:var(--red);background:#ff5a6e1f;opacity:1}.option.is-wrong .letter{color:var(--red);border-color:var(--red)}.feedback{margin-top:16px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:4px;background:#10141d;padding:12px 16px;font-size:21px}.feedback.ok{border-left-color:var(--green)}.feedback.bad{border-left-color:var(--red)}.quest-actions{display:flex;justify-content:flex-end;margin-top:16px}.flash{position:fixed;inset:0;pointer-events:none;opacity:0;z-index:1001}.flash.go-ok{animation:flashOk .5s ease}.flash.go-bad{animation:flashBad .5s ease}@keyframes flashOk{0%{opacity:.9;background:#7ddb8a1f}to{opacity:0}}@keyframes flashBad{0%{opacity:.9;background:#ff5a6e24}to{opacity:0}}.boss-intro{text-align:center;margin-bottom:18px}.boss-title{font-size:clamp(15px,3.4vw,24px);color:var(--ember);text-shadow:0 0 24px rgba(255,90,54,.5),2px 2px 0 #4a1508}.boss-story{max-width:640px;margin:12px auto 0;color:var(--ink-dim);font-size:21px}.editor-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.editor-wrap{position:relative;height:420px;border:1px solid var(--line);border-radius:5px;background:#0b0f16;overflow:hidden}#boss-highlight,#boss-editor{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;padding:14px;font-family:Consolas,Courier New,monospace;font-size:15.5px;line-height:1.5;letter-spacing:0;tab-size:2;font-variant-ligatures:none;white-space:pre;overflow:auto;word-wrap:normal;overflow-wrap:normal}#boss-highlight{overflow:hidden;pointer-events:none;z-index:1;box-sizing:border-box}#boss-highlight code{font:inherit;color:#d4d4d4}#boss-editor{z-index:2;resize:none;outline:none;color:transparent;caret-color:#e8eef7;background:transparent;-webkit-text-fill-color:transparent}#boss-editor:focus{box-shadow:inset 0 0 0 1px var(--blue)}#boss-editor::selection{background:#6fc3ff47;-webkit-text-fill-color:transparent}#boss-editor::-webkit-scrollbar{width:12px;height:12px}#boss-editor::-webkit-scrollbar-track{background:#0b0f16}#boss-editor::-webkit-scrollbar-thumb{background:#2a3242;border-radius:6px}#boss-editor::-webkit-scrollbar-thumb:hover{background:#3a4456}#boss-editor::-webkit-scrollbar-corner{background:#0b0f16}.tok-com{color:#6a9955;font-style:italic}.tok-str{color:#ce9178}.tok-kw{color:#569cd6}.tok-ctl{color:#c586c0}.tok-lit{color:#569cd6}.tok-num{color:#b5cea8}.tok-fn{color:#dcdcaa}.tok-prop{color:#9cdcfe}.editor-shell.maximized{position:fixed;inset:0;z-index:1000;background:#0a0d12;padding:14px;display:flex;flex-direction:column;gap:10px;overflow:auto}.editor-shell.maximized .editor-wrap{flex:1;height:auto;min-height:0}.editor-shell.maximized #boss-console{flex:0 0 auto;max-height:240px;margin-top:0}.editor-shell.maximized .boss-status{margin-top:0}body.editor-fullscreen{overflow:hidden}#boss-console{margin:14px 0 0;background:#070a0f;border:1px solid var(--line);border-radius:5px;min-height:120px;max-height:260px;overflow:auto;padding:12px 14px;font-family:Consolas,Courier New,monospace;font-size:15px;line-height:1.5;white-space:pre-wrap;color:#9fb3c8}#boss-console .ln-err{color:var(--red);font-weight:700}#boss-console .ln-sys{color:var(--blue)}#boss-console .ln-win{color:var(--green);font-weight:700}.hint-box{margin-top:12px;border:1px dashed var(--violet);border-radius:5px;background:#b48cff12;padding:10px 14px;color:var(--violet);font-size:20px}.boss-status{margin-top:14px;font-size:21px}.boss-status.win{color:var(--green)}.boss-status.fail{color:var(--red)}#screen-results{text-align:center}.grade-label{font-family:var(--pixel);font-size:12px;color:var(--ink-dim);margin-bottom:8px}.grade-value{font-family:var(--pixel);font-size:clamp(40px,10vw,74px);color:var(--gold);text-shadow:0 0 34px rgba(255,200,87,.45),4px 4px 0 #4a3610;margin:6px 0 4px}.grade-value.perfect{color:#ffe29a;animation:pulseGold 1.4s ease-in-out infinite}@keyframes pulseGold{0%,to{text-shadow:0 0 24px rgba(255,200,87,.4),4px 4px 0 #4a3610}50%{text-shadow:0 0 54px rgba(255,200,87,.85),4px 4px 0 #4a3610}}.grade-breakdown{display:inline-block;text-align:left;margin:18px auto;border:1px solid var(--line);border-radius:6px;padding:12px 20px;font-size:21px}.grade-breakdown div{padding:3px 0}.grade-breakdown .ok{color:var(--green)}.grade-breakdown .no{color:var(--red)}.seal{display:inline-block;margin-top:8px;font-family:var(--pixel);font-size:10px;color:var(--violet);border:1px dashed var(--violet);border-radius:4px;padding:9px 13px;letter-spacing:1px}.results-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}#submit-status{min-height:1.4em}#submit-status.ok{color:var(--green)}#submit-status.bad{color:var(--red)}.victory-banner{font-family:var(--pixel);font-size:clamp(12px,2.6vw,17px);color:var(--gold);margin-bottom:6px}@media(max-width:560px){body{font-size:19px}#app{padding:12px 10px 60px}.panel{padding:16px 14px}.quest-question{font-size:22px}.editor-wrap{height:340px}#boss-highlight,#boss-editor{font-size:13px;padding:10px}.bar{width:90px}}
