:root{color:#f7f4ea;background:#101010;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{display:grid;grid-template-columns:minmax(0,1fr);width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at top left,rgba(245,180,72,.18),transparent 28rem),linear-gradient(135deg,#0e0e0d,#1a1815 46%,#121212)}.app-shell.is-editing{grid-template-columns:minmax(0,1fr) minmax(360px,420px)}.training-surface{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;min-width:0;height:100%;padding-bottom:18px;overflow:hidden;background:#050505}.training-stage{position:relative;min-width:0;min-height:0;overflow:hidden;--video-content-height: min(100vh, 56.25vw);background:#050505}.training-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;transform:rotate(180deg);transform-origin:center;background:#050505;-webkit-user-select:none;user-select:none}.training-video-source{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.top-bar{position:absolute;left:18px;right:18px;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:14px;color:#fffaf0}.top-bar{top:16px;z-index:36;pointer-events:none}.top-actions{pointer-events:auto}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.score-pill,.icon-button,.mode-button,.primary-action,.secondary-action,.danger-action,.timeline-play-button{border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fffaf0;background:#111110bd;box-shadow:0 10px 30px #0000003d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.score-pill{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:0;color:#20140a;background:linear-gradient(135deg,#ffd166,#f4a261);font-weight:800;cursor:default}.score-pill:focus-visible{outline:2px solid rgba(255,209,102,.72);outline-offset:3px}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;padding:0}.icon-button:hover,.mode-button:hover,.primary-action:hover,.secondary-action:hover{border-color:#ffffff47;transform:translateY(-1px)}.icon-button.accent{color:#2dd4bf}.icon-button.danger{color:#ff7a7a}.icon-button:disabled{opacity:.38}.mode-button,.primary-action,.secondary-action,.danger-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 13px;font-weight:700}.mode-button.active{color:#102019;background:linear-gradient(135deg,#7bd88f,#2dd4bf)}.primary-action{color:#11110f;background:linear-gradient(135deg,#ffd166,#f4a261)}.primary-action.full{width:100%}.secondary-action{color:#f7f4ea;background:#ffffff14}.danger-action{width:100%;color:#fff7f0;background:#d645453d;border-color:#ff7a7a6b}.state-overlay,.completion-ribbon{position:absolute;z-index:28;display:grid;place-items:center;gap:10px;color:#fffaf0}.state-overlay{top:0;right:0;bottom:0;left:0;background:#0404046b}.state-overlay strong{font-size:24px}.state-overlay span{color:#fffaf0b8}.completion-ribbon{left:50%;bottom:22px;transform:translate(-50%);min-height:40px;padding:0 16px;border-radius:8px;color:#102019;background:linear-gradient(135deg,#7bd88f,#ffd166);font-weight:800;box-shadow:0 18px 48px #0000005c}.question-panel{position:absolute;top:50%;z-index:26;display:flex;flex-direction:column;width:min(430px,calc(100vw - 40px));max-height:calc(var(--video-content-height) * .6666);overflow:hidden;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#fffaf0;background:linear-gradient(180deg,#1e1c18f0,#0f0f0eeb),#111110eb;box-shadow:0 24px 80px #00000070;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.question-panel.left{left:32px;transform:translateY(-50%)}.question-panel.right{right:32px;transform:translateY(-50%)}.question-meta{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:10px;margin-bottom:14px;color:#fffaf0bd;font-size:13px}.question-meta strong{color:#ffd166}.question-panel h1{flex:0 0 auto;margin:0 0 16px;font-size:22px;line-height:1.35}.option-list{display:grid;flex:1 1 auto;gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-right:6px;scrollbar-color:rgba(255,209,102,.76) rgba(255,255,255,.08);scrollbar-width:thin}.option-list::-webkit-scrollbar{width:8px}.option-list::-webkit-scrollbar-track{border-radius:999px;background:#ffffff14}.option-list::-webkit-scrollbar-thumb{border:2px solid rgba(30,44,58,.96);border-radius:999px;background:linear-gradient(180deg,#ffd166,#7bd88f)}.option-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffe08a,#98e6a8)}.answer-option{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:50px;padding:8px 12px 8px 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fffaf0;text-align:left;background:#ffffff12}.answer-option.is-multiple{grid-template-columns:34px minmax(0,1fr) 26px}.answer-option:hover{border-color:#ffd1669e;background:#ffd1661f}.answer-option.selected{border-color:#7bd88fb8;background:#7bd88f29}.answer-option:disabled{opacity:.7}.option-key{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#11110f;background:#ffd166;font-weight:900}.option-check{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(255,250,240,.26);border-radius:8px;color:transparent;background:#ffffff12}.answer-option.selected .option-check{border-color:transparent;color:#102019;background:#7bd88f}.answer-submit{flex:0 0 auto;margin-top:12px}.answer-submit:disabled{opacity:.48}.effect-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:32;display:grid;place-items:center;align-content:center;pointer-events:none;overflow:hidden}.effect-layer strong,.effect-layer em{position:relative;z-index:2;display:block;color:#fffaf0;text-shadow:0 8px 26px rgba(0,0,0,.42)}.effect-layer strong{font-size:52px;font-weight:900}.effect-layer em{margin-top:8px;font-size:38px;font-style:normal;font-weight:900}.effect-layer.success{animation:success-flash 1.25s ease both}.effect-layer.success em{color:#7bd88f}.effect-layer.penalty{animation:penalty-shake .82s ease both;background:#9014142e}.effect-layer.penalty em{color:#ff7a7a}.effect-burst{position:absolute;right:0;bottom:0;left:50%;top:50%}.effect-burst span{position:absolute;width:10px;height:24px;border-radius:3px;background:hsl(calc(var(--i) * 38),78%,60%);transform:rotate(calc(var(--i) * 20deg)) translateY(-32px);animation:confetti 1.18s ease-out both;animation-delay:calc(var(--i) * 12ms)}.effect-layer.penalty .effect-burst span{width:12px;height:12px;border:2px solid #ff7a7a;background:transparent;animation-name:warning-ring}.timeline-bar{position:relative;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:44px;margin:0 18px;padding:5px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fffaf0;background:#111110ad;box-shadow:0 12px 30px #0000004d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;transition:opacity .18s ease,visibility .18s ease}.timeline-bar.is-hidden{visibility:hidden;opacity:0;pointer-events:none}.timeline-play-button{display:inline-grid;flex:0 0 auto;place-items:center;width:32px;height:32px;padding:0}.time-readout{flex:0 0 98px;color:#fffaf0c7;font-variant-numeric:tabular-nums;font-size:11px;text-align:right;white-space:nowrap}.timeline-track{position:relative;flex:1;min-width:80px;height:28px}.timeline-track:before{content:"";position:absolute;inset:50% 0 auto;height:6px;border-radius:999px;background:#ffffff29;transform:translateY(-50%)}.timeline-fill{position:absolute;inset:50% auto auto 0;z-index:1;width:0;height:6px;border-radius:999px;background:linear-gradient(90deg,#2dd4bf,#ffd166);transform:translateY(-50%)}.timeline-playhead{position:absolute;top:50%;z-index:4;width:12px;height:12px;border:2px solid #11110f;border-radius:999px;background:#fffaf0;box-shadow:0 0 0 2px #fffaf033,0 6px 14px #00000052;transform:translate(-50%,-50%);pointer-events:none}.timeline-marker{position:absolute;top:50%;z-index:3;width:22px;height:22px;padding:0;border:0;color:#11110f;background:transparent;box-shadow:none;transform:translate(-50%,-50%)}.timeline-marker-dot{position:absolute;left:50%;top:50%;width:12px;height:12px;border:2px solid #11110f;border-radius:999px;background:#ffd166;box-shadow:0 0 0 2px #ffd16657,0 5px 12px #0000003d;transform:translate(-50%,-50%)}.timeline-marker.answered .timeline-marker-dot{background:#7bd88f}.timeline-marker.selected .timeline-marker-dot{background:#2dd4bf}.timeline-marker:hover .timeline-marker-dot{box-shadow:0 0 0 3px #ffffff38,0 10px 22px #00000052}.timeline-marker:focus-visible .timeline-marker-dot{outline:3px solid rgba(255,255,255,.45);outline-offset:2px}.editor-panel{height:100%;overflow:auto;border-left:1px solid rgba(255,255,255,.12);color:#f7f4ea;background:linear-gradient(180deg,#2a241cfa,#111110fa),#141311;box-shadow:-18px 0 46px #00000052}.editor-header,.editor-section,.marker-list,.question-editor,.empty-editor{width:min(100%,420px);margin:0 auto;padding:18px}.editor-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#181613f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.editor-header div{display:grid;gap:4px}.editor-header span{color:#f7f4eaad;font-size:13px}.editor-header strong{font-size:20px}.editor-section,.question-editor,.empty-editor{border-top:1px solid rgba(255,255,255,.09)}.field-label,.field-group>span{display:block;margin-bottom:8px;color:#f7f4eab8;font-size:13px;font-weight:700}.scrub-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:9px;align-items:center;margin-bottom:12px}.scrub-row output{display:grid;place-items:center;min-height:38px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffd166;background:#ffffff12;font-weight:800;font-variant-numeric:tabular-nums}.time-range{width:100%;accent-color:#ffd166}.file-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.file-action-grid .secondary-action{width:100%}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.file-message{margin:10px 0 0;color:#7bd88f;font-size:13px;line-height:1.4}.marker-list{display:grid;max-height:210px;gap:8px;overflow:auto}.marker-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:center;min-height:42px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f7f4ea;text-align:left;background:#ffffff0f}.marker-item span{color:#2dd4bf;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.marker-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.marker-item.active{border-color:#ffd166a3;background:#ffd16621}.question-editor{display:grid;gap:16px}.field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.field-group textarea,.field-group input[type=text],.field-group input[type=number]{width:100%;min-height:38px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fffaf0;background:#ffffff12;outline:none}.field-group textarea{resize:vertical;padding:10px}.field-group input[type=text],.field-group input[type=number]{padding:0 10px}.field-group textarea:focus,.field-group input:focus{border-color:#ffd166b8;box-shadow:0 0 0 3px #ffd1661f}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f7f4ea;background:#ffffff12}.segmented button.active{color:#11110f;background:#ffd166}.option-editor-list{display:grid;gap:9px}.option-editor{display:grid;grid-template-columns:18px 26px minmax(0,1fr) 38px;gap:8px;align-items:center}.option-editor input[type=radio],.option-editor input[type=checkbox]{accent-color:#7bd88f}.option-editor b{color:#ffd166;text-align:center}.empty-editor{display:grid;place-items:center;gap:10px;min-height:180px;color:#f7f4ea9e}.ui-fade-enter-active,.ui-fade-leave-active{transition:opacity .24s ease}.ui-fade-enter-from,.ui-fade-leave-to{opacity:0}@keyframes success-flash{0%{background:#7bd88f00}32%{background:#7bd88f4d}to{background:#7bd88f05}}@keyframes penalty-shake{0%,to{transform:translate(0)}15%{transform:translate(-10px)}32%{transform:translate(10px)}52%{transform:translate(-7px)}72%{transform:translate(6px)}}@keyframes confetti{0%{opacity:0;transform:rotate(calc(var(--i) * 20deg)) translateY(-22px) scale(.8)}18%{opacity:1}to{opacity:0;transform:rotate(calc(var(--i) * 20deg)) translateY(-42vh) translate(calc((var(--i) - 9) * 18px)) scale(1)}}@keyframes warning-ring{0%{opacity:.8;transform:rotate(calc(var(--i) * 20deg)) translateY(-24px) scale(.4)}to{opacity:0;transform:rotate(calc(var(--i) * 20deg)) translateY(-38vh) scale(3)}}@media(max-width:920px){.app-shell{height:100dvh;min-height:100svh}.training-surface{align-content:start;grid-template-rows:auto auto;gap:10px;height:100%;min-height:0;padding-bottom:max(10px,env(safe-area-inset-bottom));overflow-y:auto}.training-stage{display:flex;flex-direction:column;overflow:visible}.training-video{position:relative;inset:auto;display:block;flex:0 0 auto;width:100%;height:auto;aspect-ratio:16 / 9}.state-overlay{right:0;bottom:auto;height:min(100%,56.25vw)}.app-shell.is-editing{grid-template-columns:1fr;grid-template-rows:minmax(44vh,1fr) minmax(0,56vh)}.editor-panel{border-top:1px solid rgba(255,255,255,.12);border-left:0}.training-surface.has-question .question-panel.left,.training-surface.has-question .question-panel.right{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;min-height:0;height:min(520px,calc(100dvh - 56.25vw - 72px));max-height:min(520px,calc(100dvh - 56.25vw - 72px));margin:10px 16px 0;overflow:hidden;transform:none}.training-surface.has-question .option-list{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-right:6px}.training-surface.has-question .answer-submit{position:relative;z-index:1;flex:0 0 auto}.training-surface.has-question .question-panel h1{margin-bottom:10px;font-size:16px;line-height:1.25}.training-surface.has-question .answer-option{grid-template-columns:30px minmax(0,1fr);min-height:38px;padding:5px 9px 5px 5px;font-size:14px}.training-surface.has-question .answer-option.is-multiple{grid-template-columns:30px minmax(0,1fr) 24px}.training-surface.has-question .option-key{width:30px;height:30px;font-size:14px}.training-surface.has-question .option-check{width:24px;height:24px}.training-surface.has-question .answer-submit{min-height:38px;margin-top:8px;font-size:14px}.timeline-bar.is-hidden{display:none}.top-bar{align-items:flex-start}.mode-button span{display:none}}@media(max-width:620px){.top-bar{left:10px;right:10px}.timeline-bar{margin-right:10px;margin-left:10px;min-height:40px;padding:4px 8px}.top-actions{gap:6px}.score-pill{min-height:34px;padding:0 9px}.icon-button{width:34px;height:34px}.timeline-play-button{width:30px;height:30px}.question-panel{padding:14px}.question-panel h1{font-size:18px}.effect-layer strong{font-size:38px}.effect-layer em{font-size:30px}.time-readout{flex-basis:86px;font-size:11px}.field-grid{grid-template-columns:1fr}}@media(orientation:portrait)and (max-width:920px){.training-surface.has-question{--portrait-top-bar-height: 44px;--portrait-video-height: 56.25vw;--portrait-row-gap: 10px;--portrait-timeline-height: 40px;--portrait-bottom-pad: max(10px, env(safe-area-inset-bottom));--portrait-timeline-offset: max( 0px, calc( ( 100dvh - var(--portrait-bottom-pad) - var(--portrait-top-bar-height) - var(--portrait-video-height) - var(--portrait-row-gap) - var(--portrait-timeline-height) ) / 2 ) );--portrait-question-gap: calc(var(--portrait-timeline-offset) + var(--portrait-row-gap))}.training-surface{align-content:center}@supports (align-content: safe center){.training-surface{align-content:safe center}}.training-stage{display:flex;flex-direction:column}.training-surface.has-question .training-stage{margin-block:0 auto}.training-surface.has-question .question-panel.left,.training-surface.has-question .question-panel.right{height:min(420px,calc(100dvh - var(--portrait-top-bar-height) - var(--portrait-video-height) - var(--portrait-question-gap) - max(4px,env(safe-area-inset-bottom))));max-height:min(420px,calc(100dvh - var(--portrait-top-bar-height) - var(--portrait-video-height) - var(--portrait-question-gap) - max(4px,env(safe-area-inset-bottom))));margin-top:var(--portrait-question-gap);padding:10px}.training-surface.has-question .question-meta{margin-bottom:6px;font-size:12px}.training-surface.has-question .question-panel h1{margin-bottom:7px;font-size:15px;line-height:1.22}.training-surface.has-question .option-list{gap:5px;padding-right:14px;scrollbar-gutter:stable;background:linear-gradient(180deg,#ffd166,#f4a261) right 4px top 6px / 4px 56px no-repeat,linear-gradient(180deg,#ffffff29,#ffffff14) right 5px top / 2px 100% no-repeat}.training-surface.has-question .answer-option{grid-template-columns:28px minmax(0,1fr);min-height:32px;padding:3px 8px 3px 3px;font-size:13px}.training-surface.has-question .answer-option.is-multiple{grid-template-columns:28px minmax(0,1fr) 22px}.training-surface.has-question .option-key{width:28px;height:28px;font-size:13px}.training-surface.has-question .option-check{width:22px;height:22px}.training-surface.has-question .answer-submit{min-height:34px;margin-top:6px;font-size:13px}.top-bar{position:relative;inset:auto;order:-1;z-index:36;min-height:44px;padding:5px 10px;background:#050505;pointer-events:auto}.top-actions{pointer-events:auto}.state-overlay{top:44px;height:56.25vw}}@media(orientation:landscape)and (max-height:640px){.training-surface{gap:8px;height:100%;min-height:0;padding-bottom:max(6px,env(safe-area-inset-bottom))}.training-stage{height:calc(100dvh - 54px);min-height:0;overflow:hidden}.training-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;aspect-ratio:auto}.training-surface.has-question{overflow:hidden}.training-surface.has-question .training-stage{display:block;height:100dvh;padding:0;overflow:hidden}.training-surface.has-question .training-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;aspect-ratio:auto}.training-surface.has-question .top-bar{right:18px;left:18px}.training-surface.has-question .question-panel.left,.training-surface.has-question .question-panel.right{position:absolute;inset:12px auto 12px 12px;width:min(33.333vw,calc(100vw - 24px));min-width:0;max-width:min(33.333vw,calc(100vw - 24px));height:auto;max-height:none;margin:0;overflow:hidden;padding:12px;transform:none}.training-surface.has-question .question-meta{margin-bottom:6px;font-size:12px}.training-surface.has-question .question-panel h1{margin-bottom:8px;font-size:16px;line-height:1.24}.training-surface.has-question .option-list{gap:6px;overflow-y:auto;padding-right:6px}.training-surface.has-question .answer-option{grid-template-columns:28px minmax(0,1fr);min-height:38px;padding:5px 9px 5px 5px;font-size:13px}.training-surface.has-question .answer-option.is-multiple{grid-template-columns:28px minmax(0,1fr) 24px}.training-surface.has-question .option-key{width:28px;height:28px;font-size:14px}.training-surface.has-question .option-check{width:24px;height:24px}.training-surface.has-question .answer-submit{min-height:38px;margin-top:8px;font-size:14px}.timeline-bar{margin-right:12px;margin-left:12px}}
