:root{--win: #2b2b2b;--panel: #3c3f41;--text: #e0e0e0;--muted: #aaaaaa;--border: #555;--accent: #4b6eaf;--btn: #5a5a5a;--btn-border: #777;--card-bg: #f5f5f5;--card-text: #000000;--badge-green: #2e7d32;--test-green: #2E8B57;--test-red: #C0392B;--save-gold: #FFD700;--gate-cyan: rgb(0, 255, 255);--circle-green: #00c000;--mask-red: rgba(255, 0, 0, .55);--info-blue: #7ab4e8;font-family:Segoe UI,system-ui,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--win);color:var(--text);font-size:14px}.container{max-width:1000px;margin:0 auto;padding:24px}h1,h2,h3{font-weight:600}h1 .accent{color:#dbc119}a{color:var(--info-blue);text-decoration:none}a:hover{text-decoration:underline}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:18px;margin-bottom:14px}input,select,textarea{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-size:14px;width:100%;margin-bottom:8px}button{background:var(--btn);color:var(--text);border:1px solid var(--btn-border);border-radius:4px;padding:8px 16px;font-size:14px;cursor:pointer}button:hover{background:#6e6e6e}button:active{background:#484848}button:disabled{background:#3a3a3a;color:#777;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.secondary{background:var(--btn)}.muted{color:var(--muted);font-size:13px}.error{color:#ff8080;font-size:14px;margin:8px 0}.success{color:#7dd69a;font-size:14px;margin:8px 0}.checkrow{display:flex;align-items:flex-start;gap:8px;margin:4px 0 10px}.checkrow input[type=checkbox]{width:auto;margin:3px 0 0;flex:none}.checkrow label{font-size:13px;color:var(--muted);cursor:pointer}.verify-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#3a3320;border:1px solid #6b5a1e;color:#f0d98a;padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:14px}.verify-banner button{padding:5px 12px;font-size:13px}.count-bar{display:flex;gap:22px;align-items:baseline;flex-wrap:wrap;padding:8px 14px;margin-bottom:8px;border-radius:6px;background:#14181d;border:1px solid #2a2f36;font-size:15px}.count-bar b{font-size:20px;font-weight:700;margin-left:4px}.count-bar .net b{color:#e0a82e}.feedback-fab{position:fixed;left:14px;bottom:14px;z-index:900;background:var(--accent);color:#fff;border:none;font-weight:600;border-radius:18px;padding:7px 12px;font-size:12.5px;box-shadow:0 4px 16px #0000004d;opacity:.6;transition:opacity .15s}.feedback-fab:hover,.feedback-fab:focus-visible{background:#5a7fc0;opacity:1}.feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000080;display:flex;align-items:center;justify-content:center}.feedback-modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;width:min(460px,92vw);box-shadow:0 12px 40px #00000080}.feedback-modal textarea{width:100%;resize:vertical;font-family:inherit}.reward-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0009;display:flex;align-items:center;justify-content:center}.reward-modal{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px 26px;width:min(640px,94vw);max-height:92vh;overflow-y:auto;box-shadow:0 16px 56px #0000008c;animation:reward-in .22s ease-out}.reward-hero{text-align:center;margin:10px 0 4px}.reward-value{font-size:64px;font-weight:800;line-height:1.05;color:#dbc119;animation:reward-pop .45s cubic-bezier(.2,1.6,.4,1)}.reward-label{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:var(--muted, #8a939c);margin-top:2px}.reward-stats{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:10px;font-size:14px}.reward-stats b{font-size:17px}@keyframes reward-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes reward-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:420px}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;font-size:14px;color:#fff;box-shadow:0 6px 24px #00000059;border:1px solid rgba(255,255,255,.12);animation:toast-in .18s ease-out}.toast-success{background:#1f6f43}.toast-error{background:#8a2f2f}.toast-action{background:#ffffff29;color:#fff;border:none;padding:5px 10px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.toast-action:hover{background:#ffffff47}.toast-close{background:none;border:none;color:#ffffffbf;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hint-table{width:100%;border-collapse:collapse;font-size:13.5px}.hint-table td{padding:4px 6px;border-bottom:1px solid #2a2f36;vertical-align:top}.hint-table .hk{color:var(--muted);white-space:nowrap}.hint-table .hv{font-weight:700;white-space:nowrap}.hint-table tr.off .hv{color:#e0a82e}.hint-table tr.ok .hv{color:#7ac47a}.hint-table .ha{color:#ddd}.hint-table .ha .tick{color:#7ac47a;font-size:12px}.hint-table .ha .nudge{color:var(--muted);font-weight:400}.hint-gate{margin-top:10px;font-size:13.5px;padding:8px 10px;border-radius:6px}.hint-gate.ok{background:#17301c;border:1px solid #2c5c2c}.hint-gate.off{background:#302a17;border:1px solid #5c552c}@keyframes star-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.18)}to{transform:scale(1);opacity:1}}@keyframes result-in{0%{opacity:0}to{opacity:1}}.game-result{animation:result-in .25s ease-out both}.game-stars{display:inline-block;animation:star-pop .55s cubic-bezier(.2,.8,.3,1.4) both}.clicker{display:flex;gap:16px;justify-content:center;margin:10px 0 4px;flex-wrap:wrap}.clicker-group{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 18px;background:#14181d;border:1px solid #2a2f36;border-radius:10px;min-width:130px}.clicker-val{font-size:34px;font-weight:800;color:#e0a82e;line-height:1}.clicker-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.clicker-btns{display:flex;gap:8px;margin-top:4px}.clicker-btns .big{font-size:18px;font-weight:700;padding:10px 18px}.tt-reveal{filter:blur(5px);cursor:pointer;-webkit-user-select:none;user-select:none;transition:filter .1s}.tt-reveal:hover{filter:none;-webkit-user-select:auto;user-select:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:1px}.status{padding:2px 10px;border-radius:10px;font-size:12px;font-weight:700}.status.queued{background:#4a4a4a}.status.running{background:var(--accent);color:#fff}.status.done{background:#2c5c2c;color:#cfc}.status.error{background:#5c2c2c;color:#fcc}.topbar{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.progress{height:8px;background:#4a4a4a;border-radius:4px;overflow:hidden;margin:8px 0}.progress>div{height:100%;background:var(--accent);transition:width .2s}.card-deck{display:flex;flex-direction:column;gap:8px}.step-card{background:var(--card-bg);color:var(--card-text);border:1px solid #cfcfcf;border-radius:8px;overflow:hidden}.step-card.active{border:2px solid var(--accent)}.step-card .card-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-weight:700;color:#000;-webkit-user-select:none;user-select:none}.step-card .card-header:hover{background:#ececec}.step-card .value-badge{margin-left:auto;background:var(--badge-green);color:#fff;font-size:12px;font-weight:700;border-radius:10px;padding:2px 10px;white-space:nowrap}.step-card .value-badge.empty{background:#9e9e9e}.step-card .card-body{padding:0 12px 12px}.step-card .reminder{font-size:12.5px;color:#444;margin:0 0 10px;line-height:1.35}.step-card label{color:#000;font-size:13px}.step-card input,.step-card select{background:#fff;color:#000;border:1px solid #bbb}.step-card input[type=checkbox],.step-card input[type=radio]{width:auto;margin:0 6px 0 0;accent-color:#2E5090}.step-card .row{display:flex;gap:10px;align-items:center;margin-bottom:8px}.step-card .row label{white-space:nowrap}.step-card button{background:#e8e8e8;color:#000;border:1px solid #aaa}.step-card button:hover{background:#dcdcdc}.step-card button.tool-checked{background:var(--badge-green);color:#fff;border-color:var(--badge-green)}.step-card button.step-btn{min-width:36px;padding:6px 0;font-size:20px;line-height:1;font-weight:700;border-radius:6px}.nav-row{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin-top:8px}.nav-row input[type=range]{flex:1;margin:0;padding:0}.nav-row button{padding:4px 10px}.nav-row select,.nav-row input[type=number]{width:auto;margin:0;padding:4px 8px}.nav-row .frame-label{font-size:13px;color:var(--muted);white-space:nowrap}.footer-row{display:flex;gap:10px;align-items:center;margin-top:12px}button.test-btn{background:var(--test-green);border-color:var(--test-green);color:#fff;font-weight:600}button.test-btn.exit{background:var(--test-red);border-color:var(--test-red)}button.save-btn{background:var(--save-gold);border-color:#c9a900;color:#000;font-weight:700}button.save-btn:hover{filter:brightness(1.05);background:var(--save-gold)}canvas.drawer{display:block;margin:0 auto;max-width:100%;border-radius:6px;background:#000}.player-wrap:fullscreen{background:#000;display:flex;flex-direction:column;justify-content:center;padding:0 12px}.player-wrap:fullscreen .player-stage{flex:1;min-height:0;align-items:center;border-radius:0}.player-wrap:fullscreen video{max-height:calc(100vh - 70px)!important;max-width:100%!important;width:100%;height:100%;object-fit:contain}.player-wrap:fullscreen .nav-row{margin:8px 0}.player-wrap.large{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#000000f2;display:flex;flex-direction:column;justify-content:center;padding:14px 18px}.player-wrap.large .player-stage{flex:1;min-height:0;align-items:center}.player-wrap.large video{width:100%;height:100%;max-width:100%!important;max-height:100%!important;object-fit:contain}.player-wrap.large .nav-row{margin:10px 0 0}video:fullscreen{max-height:100vh!important;max-width:100vw!important;width:100%;height:100%;object-fit:contain;background:#000}.hero-grid{display:flex;gap:22px;flex-wrap:wrap;margin:26px 0 40px}.hero-card{flex:1 1 340px;min-height:280px;border-radius:18px;padding:30px 28px;color:var(--text);border:1px solid var(--border);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.hero-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px #00000080;text-decoration:none}.hero-academy{background:linear-gradient(140deg,#33204d,#241a38 45%,#1b1b1b)}.hero-academy:hover{border-color:#a06ee0}.hero-training{background:linear-gradient(140deg,#3d3212,#23200f 45%,#1b1b1b)}.hero-training:hover{border-color:#e0a82e}.hero-videos{background:linear-gradient(140deg,#16304d,#17233a 45%,#1b1b1b)}.hero-videos:hover{border-color:var(--info-blue)}.hero-surveys{background:linear-gradient(140deg,#1d3d2a,#172a1e 45%,#1b1b1b)}.hero-surveys:hover{border-color:#7ac47a}.hero-emoji{font-size:54px;line-height:1}.hero-card h2{margin:14px 0 6px;font-size:26px;color:#fff}.hero-card p{color:#c9c9c9;font-size:14.5px;line-height:1.5;margin:0}.hero-stats{display:flex;gap:18px;margin-top:16px;font-size:14px;color:#ddd}.hero-stats b{font-size:17px}.hero-thumbs{display:flex;gap:8px;margin-top:14px}.hero-thumbs img{width:88px;height:56px;object-fit:cover;border-radius:6px;border:1px solid rgba(255,255,255,.18);opacity:.9}.hero-cta{margin-top:auto;padding-top:18px;font-weight:700;font-size:15px;color:#fff}.module-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel);height:100%;display:flex;flex-direction:column;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.module-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000073;border-color:#777}.module-card .thumb{position:relative;height:128px;background:#111}.module-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}.module-card .thumb .stars-overlay{position:absolute;right:8px;bottom:6px;background:#000000a6;border-radius:8px;padding:2px 8px}.module-card .thumb .clipid-overlay{position:absolute;left:8px;top:6px;font-weight:700;font-size:12px;background:#000000a6;border-radius:8px;padding:2px 8px;color:#fff}.module-card.passed{border-left:3px solid #E0A82E}.survey-row{cursor:pointer}.survey-row:hover td{background:#7ab4e814}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;background:#00000073}.side-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1060;width:min(560px,94vw);overflow-y:auto;background:var(--panel);border-left:1px solid var(--border);padding:18px 20px;box-shadow:-10px 0 34px #00000073;animation:drawer-in .16s ease-out}@keyframes drawer-in{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}.drawer-section{border-top:1px solid var(--border);padding:10px 0}.drawer-section table td,.drawer-section table th{padding:4px 8px;font-size:13px}.img-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#000000f2;display:flex;align-items:center;justify-content:center;padding:18px;cursor:zoom-out}.img-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.zoomable{cursor:zoom-in}
