:root{--bg: #0d1117;--surface: #161c26ee;--surface-solid: #161c26;--raised: #1e2734;--border: #2c3545;--amber: #ffb300;--amber-deep: #ff8f00;--green: #2ebd6b;--red: #e5484d;--blue: #4c9aff;--text: #e9edf2;--text-dim: #9aa7b5;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}#scene{position:fixed;top:0;right:0;bottom:0;left:0;display:block}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}#ui-root>*{pointer-events:auto}.panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;overflow-y:auto;background:linear-gradient(180deg,#0d1117dd,#0d1117aa,#0d1117dd);padding:48px 20px}.panel-inner{width:min(860px,100%)}.brand{font-size:clamp(26px,9vw,44px);font-weight:900;letter-spacing:clamp(2px,1.8vw,10px);color:var(--amber);text-align:center;text-shadow:0 0 30px #ffb30055;white-space:nowrap;max-width:100%}.brand-sub{text-align:center;color:var(--text-dim);margin-top:8px;letter-spacing:2px}h2.section{font-size:13px;letter-spacing:3px;color:var(--text-dim);margin:26px 0 12px}.menu-buttons{display:flex;flex-direction:column;gap:12px;margin-top:40px;align-items:center}.btn{background:var(--amber);color:#1a1200;border:none;border-radius:10px;font-size:15px;font-weight:800;letter-spacing:1px;padding:14px 34px;cursor:pointer;transition:transform .08s,box-shadow .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 24px #ffb30044}.btn:disabled{opacity:.35;cursor:default;transform:none;box-shadow:none}.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.secondary:hover{box-shadow:0 4px 18px #0006;border-color:var(--text-dim)}.btn.danger{background:transparent;border:1px solid #6a3038;color:#e5848a}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:12px;cursor:pointer;transition:border-color .15s,transform .08s}.card:hover{border-color:var(--amber);transform:translateY(-1px)}.card.static{cursor:default}.card.static:hover{border-color:var(--border);transform:none}.card h3{font-size:16px;margin-bottom:4px}.card p{font-size:13px;color:var(--text-dim);line-height:1.5}.card.locked{opacity:.45;cursor:default}.card.locked:hover{border-color:var(--border);transform:none}.row{display:flex;align-items:center;gap:14px}.row .grow{flex:1}.chipline{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{font-size:12px;color:var(--text-dim);background:var(--raised);border:1px solid var(--border);border-radius:20px;padding:4px 12px}.chip.pick{cursor:pointer;color:var(--text)}.chip.pick:hover{border-color:var(--amber)}.chip.pick.on{background:var(--amber);color:#1a1200;font-weight:700;border-color:var(--amber)}input[type=text],select{width:100%;background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:13px 16px;font-size:15px}input:focus,select:focus{outline:none;border-color:var(--amber)}.badge{font-weight:800}.badge.pass{color:var(--green)}.badge.fail{color:var(--red)}.lvl-num{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--amber);color:var(--amber);font-weight:800}.lvl-num.done{border-color:var(--green);color:var(--green)}.lvl-num.lock{border-color:var(--border);color:var(--text-dim)}.modal-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#060a10aa;padding:20px}.modal{width:min(640px,100%);max-height:86vh;overflow-y:auto;background:var(--surface-solid);border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:0 18px 60px #000a}.modal h2{font-size:18px;letter-spacing:1px;margin-bottom:4px}.modal .sub{color:var(--text-dim);font-size:13px;margin-bottom:14px}.modal .narrative{font-size:15px;line-height:1.65;margin-bottom:18px;white-space:pre-line}.option{display:block;width:100%;text-align:left;background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;font-size:14px;line-height:1.5;cursor:pointer}.option:hover{border-color:var(--amber)}.checkitem{display:flex;gap:12px;align-items:flex-start;background:var(--raised);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:8px;font-size:14px;cursor:pointer}.checkitem.on{border-color:var(--amber)}.checkitem .tick{width:20px;height:20px;flex-shrink:0;border-radius:5px;border:1.5px solid var(--text-dim);margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:13px}.checkitem.on .tick{background:var(--amber);border-color:var(--amber);color:#1a1200;font-weight:900}.feedback-points{float:right;font-weight:800;color:var(--amber)}.scorebar{margin-bottom:12px}.scorebar .lbl{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}.scorebar .track{height:7px;border-radius:4px;background:var(--raised);overflow:hidden}.scorebar .fill{height:100%;border-radius:4px;background:var(--amber)}.hud-objective{position:absolute;top:18px;left:18px;max-width:46vw;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:10px;padding:12px 16px;font-size:13.5px;line-height:1.5}.hud-counter{position:absolute;top:18px;right:18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 18px;font-size:14px;font-weight:700}.hud-counter .n{color:var(--amber);font-size:18px}.crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fffc;box-shadow:0 0 6px #000a}.hud-prompt{position:absolute;left:50%;top:56%;transform:translate(-50%);background:var(--surface);border:1px solid var(--amber);color:var(--amber);border-radius:24px;padding:10px 22px;font-size:14px;font-weight:700;max-width:70vw;text-align:center}.lead-form{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.lead-form input[type=text],.lead-form input[type=email]{width:100%;background:var(--raised);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:11px 13px;font-size:14px}.lead-form input::placeholder{color:var(--text-dim)}.lead-form input:focus{outline:none;border-color:var(--amber)}.lead-consent{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--text-dim);line-height:1.45}.lead-consent input{margin-top:2px}.lead-consent a{color:var(--amber);text-decoration:underline}.lead-error{color:var(--red);font-size:12.5px;min-height:16px}.aar-list{max-height:52vh;overflow-y:auto;margin-bottom:12px;padding-right:4px}.aar-step{background:var(--raised);border-radius:9px;padding:11px 13px;margin-bottom:9px}.aar-head{display:flex;align-items:center;gap:9px;margin-bottom:7px}.aar-icon{font-weight:800;font-size:15px}.aar-title{font-weight:700;font-size:13.5px;flex:1}.aar-pts{font-size:12px;color:var(--text-dim);font-weight:700}.aar-row{display:flex;gap:10px;font-size:13px;line-height:1.45;margin-top:3px}.aar-lbl{flex:0 0 46px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding-top:2px}.focus-banner{background:#2a210a;border:1px solid var(--amber);border-radius:10px;padding:11px 14px;margin:6px 0 14px;font-size:13px;line-height:1.5;color:#f3dca0}.focus-banner b{color:var(--amber)}.coachmark{position:absolute;left:50%;bottom:92px;transform:translate(-50%);width:min(520px,86vw);background:linear-gradient(180deg,#1b2738f2,#141d2bf2);border:1px solid var(--amber);border-radius:14px;padding:16px 18px 14px;box-shadow:0 12px 40px #000a;animation:coach-in .3s ease}.coachmark .ct-tag{font-size:11px;letter-spacing:2px;color:var(--amber);font-weight:700;text-transform:uppercase;margin-bottom:6px}.coachmark .ct-body{font-size:14px;line-height:1.55;color:var(--text)}.coachmark .ct-body kbd{background:var(--raised);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:1px 7px;font:inherit;font-weight:700;font-size:12px}.coachmark .ct-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:12px}.coachmark .ct-steps{font-size:11px;color:var(--text-dim);letter-spacing:1px}.coachmark .ct-next{background:var(--amber);color:#1a1304;border:none;border-radius:8px;padding:7px 18px;font-size:12.5px;font-weight:700;cursor:pointer}.coachmark .ct-next:hover{filter:brightness(1.08)}.coachmark .ct-skip{background:transparent;color:var(--text-dim);border:none;font-size:12px;cursor:pointer;text-decoration:underline}.coachmark .ct-skip:hover{color:var(--text)}@keyframes coach-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.hud-tools{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;gap:8px}.hud-exit,.hud-help,.hud-mute{background:var(--surface);color:var(--text-dim);border:1px solid var(--border);border-radius:8px;padding:9px 16px;font-size:12.5px;cursor:pointer}.hud-exit:hover,.hud-help:hover,.hud-mute:hover{color:var(--text);border-color:var(--text-dim)}.hud-help{color:var(--amber);border-color:#6a5410;font-weight:700}.hud-help:hover{color:var(--amber);border-color:var(--amber)}.hud-sound{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px 10px 4px 4px}.hud-mute{border:none;background:transparent;padding:5px 6px;font-size:15px}.hud-volume{width:90px;accent-color:var(--amber);cursor:pointer}.hud-keys{position:absolute;bottom:18px;left:18px;color:var(--text-dim);font-size:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 14px;max-width:44vw}.toasts{position:absolute;bottom:70px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;width:min(620px,90vw)}.toast{background:var(--surface-solid);border:1px solid var(--border);border-radius:10px;padding:11px 18px;font-size:13px;line-height:1.45;width:100%;animation:toast-in .25s ease}.toast.good{border-left:3px solid var(--green)}.toast.bad{border-left:3px solid var(--red)}.toast.info{border-left:3px solid var(--blue)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1}}.chat-log{display:flex;flex-direction:column;gap:10px;max-height:46vh;overflow-y:auto;margin-bottom:14px}.bubble{max-width:85%;padding:12px 15px;border-radius:14px;font-size:14px;line-height:1.5}.bubble.coach{background:var(--raised);border:1px solid var(--border);align-self:flex-start}.bubble.user{background:var(--amber);color:#1a1200;align-self:flex-end}.bubble-speak{background:none;border:none;cursor:pointer;font-size:14px;margin-left:6px;padding:0 2px;opacity:.6;vertical-align:middle}.bubble-speak:hover{opacity:1}.bubble-speak:disabled{cursor:default;opacity:.5}.chat-row{display:flex;gap:8px}.chat-row input{flex:1}.eventlog{max-height:30vh;overflow-y:auto}.eventlog .ev{font-size:12.5px;padding:8px 0;border-bottom:1px solid var(--border)}.eventlog .ev b{color:var(--blue);font-weight:600}.eventlog .ev span{color:var(--text-dim)}.stars{color:var(--amber);font-size:13px;letter-spacing:3px;margin-top:6px}.score-popup{position:absolute;left:50%;top:42%;transform:translate(-50%);color:var(--amber);font-size:26px;font-weight:900;text-shadow:0 2px 12px #000;animation:pop-rise 1.4s ease-out forwards;pointer-events:none}@keyframes pop-rise{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}18%{opacity:1;transform:translate(-50%) scale(1.15)}30%{transform:translate(-50%,-4px) scale(1)}to{opacity:0;transform:translate(-50%,-56px) scale(.92)}}.joy-base{position:fixed;width:120px;height:120px;border-radius:50%;background:#161c2666;border:2px solid #ffffff44;z-index:30;pointer-events:none}.joy-fixed{left:max(22px,env(safe-area-inset-left));bottom:max(28px,env(safe-area-inset-bottom))}.joy-knob{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:var(--amber);opacity:.85;box-shadow:0 2px 10px #0008;transition:transform .05s linear}.touch-act{position:fixed;z-index:30;right:max(24px,env(safe-area-inset-right));bottom:max(120px,calc(env(safe-area-inset-bottom) + 110px));width:84px;height:84px;border-radius:50%;background:#ffb30022;border:2px solid var(--amber);color:var(--amber);font-size:34px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 14px #0009;-webkit-tap-highlight-color:transparent}.touch-act:active{background:#ffb30044;transform:scale(.95)}.kpis{display:flex;gap:12px;margin-bottom:8px}.kpi{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center}.kpi .v{font-size:20px;font-weight:800}.kpi .l{font-size:11px;color:var(--text-dim);margin-top:3px;letter-spacing:1px}.hud-objective{top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left))}.hud-counter{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}.hud-tools{bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right))}.hud-keys{bottom:max(18px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left))}.modal-wrap{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.modal .row{flex-wrap:wrap}.modal .row .btn{flex:1 1 auto}@media(max-width:560px){.modal{padding:18px;max-height:90vh;border-radius:14px}.modal h2{font-size:16px}.modal .narrative{font-size:14px}.panel-inner{width:100%}.brand{font-size:clamp(22px,7.5vw,30px)!important;letter-spacing:clamp(2px,1.2vw,5px)!important}.brand-sub{font-size:11px;letter-spacing:1.5px}.panel{padding:28px 14px}.kpis{flex-wrap:wrap}.kpi{min-width:calc(50% - 6px)}h2.section{font-size:12px;letter-spacing:2px}.card h3{font-size:15px}.option{font-size:13.5px;padding:12px 14px}.hud-objective{max-width:64vw;font-size:12.5px;padding:9px 12px}.hud-tools{top:max(64px,calc(env(safe-area-inset-top) + 56px));right:max(12px,env(safe-area-inset-right));bottom:auto;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:60vw}.hud-exit,.hud-help{padding:9px 13px;font-size:12px}.hud-volume{width:64px}.hud-keys{display:none}.hud-prompt{font-size:12.5px;padding:8px 16px;max-width:88vw}.lead-form input{padding:12px;font-size:15px}.chat-row input{font-size:15px}.coachmark{width:92vw;bottom:max(80px,env(safe-area-inset-bottom))}.aar-list{max-height:46vh}}
