:root{--bg:#eef1f5;--panel:#fff;--panel2:#f6f8fb;--ink:#1b2433;--muted:#627089;--line:#dbe1ea;--grid:#d3dae5;--accent:#3346d3;--accent-soft:#e6e9fb;--c-start:#178a52;--c-video:#3346d3;--c-question:#c26a00;--c-multiquestion:#b8326f;--c-condition:#8b3fd9;--c-loop:#0b8791;--c-setvar:#56647a;--c-end:#cc3340;--edge:#98a3b6;--screen:#10151f;--shadow:0 1px 2px #1b24330f,0 6px 18px #1b243312}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#11151c;--panel:#1a1f28;--panel2:#151a22;--ink:#e7ebf2;--muted:#94a0b5;--line:#2b3240;--grid:#232a36;--accent:#7d8cff;--accent-soft:#252c4d;--c-start:#3dc27f;--c-video:#7d8cff;--c-question:#f0a13c;--c-multiquestion:#f07aae;--c-condition:#b886f5;--c-loop:#3ec3cc;--c-setvar:#9aa7bb;--c-end:#f06a74;--edge:#5b6679;--screen:#07090d;--shadow:0 1px 2px #0000004d,0 6px 18px #0000004d}}:root[data-theme=dark]{--bg:#11151c;--panel:#1a1f28;--panel2:#151a22;--ink:#e7ebf2;--muted:#94a0b5;--line:#2b3240;--grid:#232a36;--accent:#7d8cff;--accent-soft:#252c4d;--c-start:#3dc27f;--c-video:#7d8cff;--c-question:#f0a13c;--c-multiquestion:#f07aae;--c-condition:#b886f5;--c-loop:#3ec3cc;--c-setvar:#9aa7bb;--c-end:#f06a74;--edge:#5b6679;--screen:#07090d;--shadow:0 1px 2px #0000004d,0 6px 18px #0000004d}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{flex-direction:column;height:100%;display:flex}.spacer{flex:1}.muted,.msg{color:var(--muted)}.msg{font-size:12px}.error{color:var(--c-end);font-weight:600}.top{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 18px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.brand i{background:var(--accent);color:#fff;border-radius:6px;place-items:center;width:22px;height:22px;font-size:11px;font-style:normal;display:inline-grid}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.crumbs a{border-radius:6px;padding:4px 6px}.crumbs a:hover{background:var(--panel2);color:var(--ink)}.crumbs b{color:var(--ink);padding:4px 6px}.savestate{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.savestate.s-saved{color:var(--muted)}.savestate.s-saved:before{content:"✓ ";color:var(--c-start);font-weight:700}.savestate.s-dirty{color:#d97706;font-weight:600}.savestate.s-saving{color:var(--muted)}.savestate.s-error{color:var(--c-end);font-weight:700}.status-dot{line-height:1;display:inline-block}.status-dot.warning{color:#d97706;font-size:11px}.spinner{border:2px solid #7d8cff33;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.spinner.sm{border-width:1.5px;width:12px;height:12px}@keyframes spin{to{transform:rotate(360deg)}}.main{flex:1;min-height:0;overflow:auto}.main.fill{overflow:hidden}.btn{border:1px solid var(--line);background:var(--panel);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--c-end)}.btn.danger.primary{background:var(--c-end);border-color:var(--c-end);color:#fff}.btn.warning-outline{color:#d97706;background:0 0;border-color:#d97706}.btn.warning-outline:hover{background:#d977061a}.btn .badge-dot{background:#fbbf24;border-radius:50%;flex-shrink:0;width:7px;height:7px}.btn.btn-save.dirty{background:var(--accent);border-color:var(--accent);color:#fff;animation:2s ease-in-out infinite save-pulse}.btn.btn-save.saved{opacity:.65;cursor:not-allowed;background:var(--panel);color:var(--muted);border-color:var(--line)}@keyframes save-pulse{0%{box-shadow:0 0 #3346d38c}60%{box-shadow:0 0 0 8px #3346d300}to{box-shadow:0 0 #3346d300}}:root[data-theme=dark] .btn.btn-save.dirty{animation:2s ease-in-out infinite save-pulse-dark}@keyframes save-pulse-dark{0%{box-shadow:0 0 #7d8cff8c}60%{box-shadow:0 0 0 8px #7d8cff00}to{box-shadow:0 0 #7d8cff00}}.btn.btn-discard{color:var(--c-end);background:0 0;border-color:#0000}.btn.btn-discard:hover:not(:disabled){background:color-mix(in srgb,var(--c-end) 10%,transparent);border-color:color-mix(in srgb,var(--c-end) 25%,transparent)}.btn.btn-discard:disabled{opacity:.35;cursor:not-allowed}.dialog-card{background:var(--panel);border:1px solid var(--line);width:min(490px,94vw);color:var(--ink);border-radius:14px;flex-direction:column;gap:14px;padding:22px 24px;animation:.18s ease-out pop;display:flex;box-shadow:0 20px 60px #00000059}.dialog-card h3{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:17px;font-weight:800}.dialog-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;display:flex}.app-toast-container{z-index:1000;pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.app-toast{pointer-events:auto;border-radius:10px;align-items:center;gap:10px;padding:10px 18px;font-size:13.5px;font-weight:600;animation:.22s ease-out toast-in;display:flex;box-shadow:0 8px 30px #00000038}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-toast.info{color:#f1f5f9;background:#1e293b;border:1px solid #334155}.app-toast.success{color:#ecfdf5;background:#064e3b;border:1px solid #059669}.app-toast.error{color:#fef2f2;background:#7f1d1d;border:1px solid #dc2626}.btn .dot{background:var(--tc);border-radius:3px;width:9px;height:9px}.del{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:12px}.del:hover{color:var(--c-end);background:var(--panel2)}.lib{max-width:1080px;margin:0 auto;padding:28px 22px 60px}.lib h1{letter-spacing:-.03em;margin:0 0 4px;font-size:26px;font-weight:800}.lib p.sub{color:var(--muted);margin:0 0 22px}.shelf{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;display:grid}.book{display:block}.cover{aspect-ratio:3/4;background:var(--bc);color:#fff;box-shadow:inset 8px 0 0 #0000002e,var(--shadow);border-radius:4px 10px 10px 4px;flex-direction:column;justify-content:space-between;padding:16px 14px 14px 22px;transition:transform .15s;display:flex}.book:hover .cover{transform:translateY(-3px)}.cover .t{letter-spacing:-.02em;font-size:18px;font-weight:800;line-height:1.15}.cover .m{opacity:.85;font-size:12px}.bookmeta{color:var(--muted);justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;display:flex}.addbox{border:1.5px dashed var(--line);aspect-ratio:3/4;border-radius:10px;flex-direction:column;justify-content:center;gap:8px;padding:14px;display:flex}.addbox input,.addrow input,.inline input{border:1px solid var(--line);background:var(--panel);border-radius:8px;width:100%;min-width:0;padding:8px 10px}.chapters{flex-direction:column;gap:8px;max-width:820px;display:flex}.chap{background:var(--panel);border:1px solid var(--line);border-radius:10px;grid-template-columns:40px 1fr auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.chap.no-play{grid-template-columns:40px 1fr auto}.chap:hover{border-color:var(--accent)}.chap .num{color:var(--accent);letter-spacing:-.03em;font-size:20px;font-weight:800}.chap-main{flex-direction:column;gap:4px;min-width:0;display:flex}.chap .ct{font-weight:700}.pills{flex-wrap:wrap;gap:4px;display:flex}.pill{background:var(--panel2);color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:2px 7px;font-size:11px}.vcat{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.vlist{flex-direction:column;gap:2px;margin:4px 0 4px 52px;display:flex}.vrow{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;gap:12px;padding:6px 10px;font-size:13px;display:grid}.vrow code{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.vlist h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 10px 4px;font-size:12px}.vlist .mp-grid{padding:4px 10px 8px}.vlist .mp-card{cursor:default}.vlist .mp-card:hover{box-shadow:none;transform:none}.addrow{gap:8px;max-width:820px;margin-top:10px;display:flex}.empty{color:var(--muted);font-size:13px}.editor{grid-template-columns:minmax(0,1fr) 350px;height:100%;display:grid}.ed-left{flex-direction:column;min-width:0;min-height:0;display:flex}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.toolbar .lbl{color:var(--muted);margin-right:2px;font-size:12px}.errbar{background:color-mix(in srgb,var(--c-end) 10%,var(--panel));border-bottom:1px solid var(--c-end);padding:8px 14px;font-size:12.5px}.errbar ul{margin:4px 0 0;padding-left:18px}.wrap{flex:1;min-height:0;position:relative;overflow:auto}.canvas{background-color:var(--bg);background-image:radial-gradient(var(--grid) 1.2px,transparent 1.2px);touch-action:none;background-size:22px 22px;position:relative}.canvas svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.edge{fill:none;stroke-width:2px}.edge.dash{stroke-dasharray:6 5}.node{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--tc);width:228px;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;cursor:grab;border-radius:10px;position:absolute}.node.sel{outline:2px solid var(--tc);outline-offset:1px}.nh{align-items:center;gap:8px;padding:8px 10px 6px;display:flex}.ic{background:var(--tc);color:#fff;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.nt{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:700;overflow:hidden}.nb{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 10px 8px;font-size:12px;display:-webkit-box;overflow:hidden}.outs{border-top:1px solid var(--line);padding:4px 0}.out{justify-content:flex-end;gap:6px;padding:3px 18px 3px 10px;font-size:11.5px;display:flex;position:relative}.out span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.out em{color:var(--muted);font-style:normal}.port{background:var(--panel);border:2px solid var(--pc,var(--tc));cursor:crosshair;border-radius:50%;width:13px;height:13px;position:absolute;top:50%;right:-7px;transform:translateY(-50%)}.port.linked{background:var(--pc,var(--tc))}.port:hover{transform:translateY(-50%)scale(1.3)}.inport{background:var(--panel);border:2px solid var(--edge);border-radius:50%;width:11px;height:11px;position:absolute;top:16px;left:-6px}.t-start{--tc:var(--c-start)}.t-video{--tc:var(--c-video)}.t-question{--tc:var(--c-question)}.t-multiquestion{--tc:var(--c-multiquestion)}.t-condition{--tc:var(--c-condition)}.t-loop{--tc:var(--c-loop)}.t-setvar{--tc:var(--c-setvar)}.t-end{--tc:var(--c-end)}.hint{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:8px;margin:0 0 12px 12px;padding:6px 10px;font-size:12px;display:inline-block;position:sticky;bottom:12px;left:12px}.insp{background:var(--panel);border-left:1px solid var(--line);padding:16px 16px 40px;overflow:auto}.insp h2{align-items:center;gap:8px;margin:0;font-size:15px;font-weight:800;display:flex}.insp .desc{color:var(--muted);margin:6px 0 14px;font-size:12.5px}.fld{flex-direction:column;gap:4px;min-width:0;margin-bottom:10px;display:flex}.fld>span{color:var(--muted);font-size:12px;font-weight:600}.fld input,.fld select,.fld textarea,.mini input,.mini select{border:1px solid var(--line);background:var(--panel2);border-radius:8px;width:100%;min-width:0;padding:7px 9px}.fld textarea{resize:vertical;min-height:64px}.row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.row3{grid-template-columns:1.2fr .7fr 1fr;gap:6px;display:grid}.sec{justify-content:space-between;align-items:center;margin:16px 0 8px;display:flex}.sec b{font-size:13px}.bcard{border:1px solid var(--line);border-left:3px solid var(--tc);background:var(--panel2);border-radius:8px;margin-bottom:8px;padding:10px}.bcard .fld input,.bcard .fld select,.mini input,.mini select{background:var(--panel)}.mini{flex-direction:column;gap:4px;margin-top:2px;display:flex}.mini>span{color:var(--muted);font-size:11.5px;font-weight:600}.bhead{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:14px;display:flex}.inline{gap:8px;width:100%;display:flex}.legend{flex-direction:column;gap:8px;margin-top:10px;display:flex}.legend>div{align-items:flex-start;gap:10px;font-size:12.5px;display:flex}.modal{z-index:50;background:#0a0e1699;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pl{background:var(--panel);border-radius:14px;width:min(880px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 20px 60px #00000059}.playpage{max-width:920px;margin:0 auto;padding:24px 16px}.playpage .pl{box-shadow:var(--shadow);max-height:none}.pl-top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.vars{flex-wrap:wrap;gap:6px;display:flex}.var{background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:2px 8px;font-size:11.5px;font-weight:600}.pl-stage{padding:18px}.vstage{background:var(--screen);border-radius:10px;position:relative;overflow:hidden}.vstage.idle{cursor:none}.screen{aspect-ratio:16/9;background:var(--screen);color:#fff;border-radius:10px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}video.screen{object-fit:contain;cursor:pointer}.vstage .screen{border-radius:0}.screen .vid{opacity:.75;font-size:12px;position:absolute;top:12px;left:14px}.screen .vt{text-align:center;padding:0 20px;font-size:clamp(16px,3vw,24px);font-weight:800}.screen .sim{opacity:.6;font-size:12px;position:absolute;top:12px;right:14px}@keyframes pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.ovbar{z-index:2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;max-width:calc(100% - 32px);display:flex;position:absolute;bottom:104px;right:16px}.obtn{background:var(--accent);color:#fff;border:0;border-radius:99px;padding:11px 20px;font-size:15px;font-weight:700;animation:.2s ease-out pop;box-shadow:0 6px 18px #00000059}.obtn:hover{filter:brightness(1.1)}.obtn.img{box-shadow:none;background:0 0;border-radius:14px;padding:0}.obtn.img img{filter:drop-shadow(0 6px 14px #0006);width:auto;height:64px;display:block}.qimg{object-fit:contain;max-width:100%;max-height:170px;margin:-4px auto 16px;display:block}.vctrl{z-index:1;color:#fff;background:linear-gradient(#0000,#000c);padding:36px 16px 10px;transition:opacity .25s;position:absolute;bottom:0;left:0;right:0}.vstage.idle .vctrl{opacity:0;pointer-events:none}.vrow{align-items:center;gap:4px;display:flex}.vbtn{color:#fff;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.vbtn.big{width:52px;height:52px;font-size:28px}.vbtn.speed{border-radius:99px;width:auto;min-width:52px;padding:0 10px;font-size:15px;font-weight:800}.vbtn:hover{background:#ffffff29}.vtime{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:8px;font-size:15px;font-weight:600}.vhint{opacity:.7;white-space:nowrap;text-overflow:ellipsis;margin-left:10px;font-size:12px;overflow:hidden}.vseek,.vvol{appearance:none;cursor:pointer;background:0 0;margin:0}.vseek{width:100%;height:22px;display:block}.vvol{width:96px;height:22px}.vseek::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) var(--pct),#ffffff4d var(--pct));border-radius:99px;height:6px}.vvol::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--accent) var(--pct),#ffffff4d var(--pct));border-radius:99px;height:6px}.vseek::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 1px 4px #0006}.vvol::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 1px 4px #0006}.vseek::-moz-range-track{background:linear-gradient(to right,var(--accent) var(--pct),#ffffff4d var(--pct));border-radius:99px;height:6px}.vvol::-moz-range-track{background:linear-gradient(to right,var(--accent) var(--pct),#ffffff4d var(--pct));border-radius:99px;height:6px}.vseek::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:18px;height:18px}.vvol::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:18px;height:18px}.vctrl :focus-visible,.obtn:focus-visible{outline-offset:2px;box-shadow:0 0 0 6px var(--accent);outline:3px solid #fff}.vreplay{z-index:2;color:#fff;font:inherit;cursor:pointer;background:#0000008c;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:18px 26px;font-size:16px;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vreplay svg{width:56px;height:56px}.vreplay:hover,.vreplay:focus-visible{outline-offset:2px;background:#000000bf;outline:3px solid #fff}.vspin{pointer-events:none;border:5px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}.vfail{z-index:3;text-align:center;color:#fff;background:#000000bf;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex;position:absolute;inset:0}@media (width<=600px){.vvol,.vhint{display:none}.ovbar{bottom:96px}}.qstage{position:relative}.qstage .screen{object-fit:cover;filter:brightness(.55);min-height:420px}.qover{place-items:center;padding:20px;display:grid;position:absolute;inset:0;overflow:auto}.qmodal{background:var(--panel);width:min(660px,100%);color:var(--ink);border-radius:16px;padding:18px 22px;animation:.2s ease-out pop;box-shadow:0 20px 50px #00000059}.qhead{align-items:center;gap:12px;display:flex}.qtag{background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:6px 14px;font-size:13px;font-weight:700}.qcount{color:var(--muted);flex:1;font-size:13px}.qclose{color:var(--ink);background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:20px;line-height:1}.qclose:hover{background:var(--panel2)}.qtext{text-align:center;max-width:30ch;margin:14px auto 16px;font-size:clamp(18px,2.6vw,25px);font-weight:800;line-height:1.25}.qanswers{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.qans{border:1.5px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:64px;padding:14px 12px 12px;font-size:16px;font-weight:700;transition:border-color .15s,box-shadow .15s,opacity .15s;display:flex;position:relative}.qans.has-img{padding-top:12px}.qans:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.qans img{object-fit:contain;width:100%;height:110px}.qletter{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:grid;position:absolute;top:8px;left:8px}.qans:not(.has-img) .qlabel{padding-left:28px}.qans.right{border-color:var(--c-start);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-start) 25%,transparent)}.qans.right .qletter{background:var(--c-start)}.qans.dim{opacity:.5}.qans.picked{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent)}.qhint{text-align:center;color:var(--muted);margin:-8px 0 14px;font-size:14px;font-weight:600}.qtick{border:2px solid var(--line);background:var(--panel);color:#fff;border-radius:6px;place-items:center;width:24px;height:24px;font-size:15px;font-weight:800;display:grid;position:absolute;top:8px;right:8px}.qans.picked .qtick{background:var(--accent);border-color:var(--accent)}.qfoot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.qlink{color:var(--ink);background:0 0;border:0;padding:6px 4px;font-weight:600}.qbtn{border:1.5px solid var(--line);background:var(--panel);border-radius:10px;padding:9px 16px;font-weight:700}.qbtn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.qbtn:disabled{opacity:.45;cursor:default}.qreopen{background:var(--accent);color:#fff;border:0;border-radius:99px;padding:10px 18px;font-weight:700;position:absolute;bottom:16px;right:16px}.check{align-items:center;gap:8px;margin:4px 0 8px;font-size:13px;display:flex}@media (width<=600px){.qstage .screen{aspect-ratio:auto;height:100%;min-height:0;position:absolute;inset:0}.qover{padding:12px;position:relative}.qmodal{padding:14px}.qanswers{grid-template-columns:1fr 1fr}}.qcard{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:22px}.qcard h3{margin:0 0 16px;font-size:20px}.ans{flex-wrap:wrap;gap:10px;display:flex}.ans button{border:1.5px solid var(--c-question);background:var(--panel);border-radius:10px;padding:10px 18px;font-weight:700}.ans button:hover{background:var(--c-question);color:#fff}.endcard{text-align:center;padding:40px 10px}.endcard h3{margin:0 0 8px;font-size:22px}.endactions{justify-content:center;gap:8px;margin-top:14px;display:flex}.startbtn{padding:12px 28px;font-size:18px}.pl.is-full{z-index:100;color:#fff;width:100vw;height:100vh;max-height:none;box-shadow:none;background:#000;border-radius:0;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.pl.is-full .pl-top{z-index:5;background:linear-gradient(#000000bf,#0000);border:0;padding:16px 22px;font-size:18px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.pl.is-full .pl-top .btn{color:#fff;background:#ffffff1f;border-color:#0000}.pl.is-full:has(.vstage.idle) .pl-top{opacity:0;pointer-events:none}.pl.is-full .pl-log{display:none}.pl.is-full .pl-stage{flex-direction:column;flex:1;justify-content:center;min-height:0;padding:0;display:flex}.pl.is-full .vstage,.pl.is-full .qstage{border-radius:0;height:100%}.pl.is-full .screen{aspect-ratio:auto;border-radius:0;height:100%;min-height:0}.pl.is-full .screen .vid,.pl.is-full .screen .sim{font-size:14px;top:84px}.pl.is-full .qmodal{zoom:1.3}.pl.is-full .endcard h3{font-size:34px}.pl.is-full .endcard .msg{color:#ffffffb3}.pl.is-full .endcard .btn{padding:12px 22px;font-size:18px}.pl.is-full .vctrl{padding:60px 28px 18px}.pl.is-full .vbtn{width:56px;height:56px;font-size:28px}.pl.is-full .vbtn.big{width:66px;height:66px;font-size:36px}.pl.is-full .vtime{font-size:19px}.pl.is-full .vseek{height:28px}.pl.is-full .ovbar{bottom:140px;right:28px}.pl.is-full .obtn{padding:14px 28px;font-size:20px}.pl.is-full .obtn.img{padding:0}.pl.is-full .obtn.img img{height:84px}.pl.is-full .endcard :focus-visible,.qstage :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.pl-log{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;padding:12px 16px;font-size:12px;display:flex}.pl-log .step{background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:2px 7px}.jsonbox{background:var(--panel);border-radius:14px;flex-direction:column;gap:10px;width:min(760px,100%);max-height:calc(100vh - 32px);padding:16px;display:flex}.jsonhead,.jsonfoot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.jsonhead b{flex:1}.jsonbox .msg{margin:0}.jsonbox textarea{border:1px solid var(--line);background:var(--panel2);resize:vertical;border-radius:8px;flex:1;width:100%;min-height:340px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.mp-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:.15s ease-out mp-fade}@keyframes mp-fade{0%{opacity:0}}.mpick{background:var(--panel);border-radius:18px;flex-direction:column;width:min(1180px,100%);height:min(780px,100vh - 32px);animation:.18s ease-out pop;display:flex;overflow:hidden;box-shadow:0 30px 80px #0a0e1673}.mp-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 18px;display:flex}.mp-badge{color:#fff;background:var(--c-video);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.mp-badge.image{background:var(--c-question)}.mp-heading{min-width:0;margin-right:auto}.mp-heading h2{margin:0;font-size:17px;font-weight:800}.mp-heading p{color:var(--muted);margin:2px 0 0;font-size:12.5px}.mp-search{align-items:center;width:min(360px,40vw);display:flex;position:relative}.mp-search>span{color:var(--muted);pointer-events:none;font-size:17px;position:absolute;left:12px}.mp-search input{border:1.5px solid var(--line);background:var(--panel2);border-radius:10px;width:100%;padding:10px 34px 10px 36px;font-size:14px}.mp-search input:focus{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.mp-search input::-webkit-search-cancel-button{display:none}.mp-clear{background:var(--line);color:var(--ink);border:0;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid;position:absolute;right:6px}.mp-x{width:38px;height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:18px}.mp-x:hover{background:var(--panel2);color:var(--ink)}.mp-spin{animation:.8s linear infinite spin;display:inline-block}.mp-note{background:color-mix(in srgb,var(--c-start) 10%,var(--panel));color:var(--c-start);border-bottom:1px solid var(--line);margin:0;padding:8px 18px;font-size:12.5px}.mp-note.bad{background:color-mix(in srgb,var(--c-end) 10%,var(--panel));color:var(--c-end)}.mp-body{flex:1;grid-template-columns:210px minmax(0,1fr) 300px;min-height:0;display:grid}.mp-cats{border-right:1px solid var(--line);background:var(--panel2);flex-direction:column;gap:3px;padding:12px 10px;display:flex;overflow:auto}.mp-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:2px 10px 6px;font-size:11px;font-weight:700}.mp-cats button{text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;min-height:40px;padding:9px 10px;font-weight:600;display:flex}.mp-cats .mp-fi{text-align:center;flex:none;width:18px}.mp-cats .mp-fn{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.mp-cats em{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:1px 8px;font-size:11.5px;font-style:normal;font-weight:700}.mp-cats button:hover{background:var(--panel)}.mp-cats button.on{background:var(--accent);color:#fff}.mp-cats button.on em{color:#fff;background:#fff3;border-color:#0000}.mp-cats button.none:not(.on){opacity:.55}.mp-main{scroll-behavior:smooth;padding:0 18px 18px;overflow:auto}.mp-bar{z-index:2;background:var(--panel);align-items:baseline;gap:10px;padding:14px 0 12px;display:flex;position:sticky;top:0}.mp-bar b{font-size:15px}.mp-bar span{color:var(--muted);font-size:12.5px}.mp-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.mp-grid.video{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.mp-card{background:var(--panel);text-align:left;border:2px solid #0000;border-radius:14px;flex-direction:column;gap:3px;min-width:0;padding:6px 6px 9px;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;position:relative}.mp-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.mp-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.mp-card.on{border-color:var(--accent);background:var(--accent-soft)}.mp-thumb{aspect-ratio:1;background:var(--panel2);border-radius:10px;place-items:center;margin-bottom:5px;display:grid;position:relative;overflow:hidden}.mp-thumb.video{aspect-ratio:16/9;background:var(--screen)}.mp-thumb img{object-fit:contain;max-width:88%;max-height:88%}.mp-thumb.video img{object-fit:cover;width:100%;max-width:none;height:100%;max-height:none;position:absolute;inset:0}.mp-thumb.video img+.mp-play{opacity:0;transition:opacity .15s}.mp-card:hover .mp-thumb.video img+.mp-play,.mp-card.on .mp-thumb.video img+.mp-play{opacity:1}.checker{background:repeating-conic-gradient(var(--panel2) 0 25%,var(--panel) 0 50%) 0 0/14px 14px}.mp-play{color:#fff;background:#0000008c;border-radius:50%;place-items:center;width:34px;height:34px;padding-left:2px;font-size:12px;display:grid;position:relative}.mp-len{color:#fff;background:#000000bf;border-radius:5px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;bottom:6px;right:6px}.mp-check{background:var(--accent);color:#fff;width:24px;height:24px;box-shadow:0 0 0 3px var(--panel);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;top:12px;right:12px}.mp-inuse{background:var(--c-start);color:#fff;letter-spacing:.03em;border-radius:99px;padding:2px 7px;font-size:10.5px;font-weight:800;position:absolute;top:12px;left:12px}.mp-name{text-overflow:ellipsis;white-space:nowrap;padding:0 4px;font-size:13px;font-weight:700;overflow:hidden}.mp-name mark{background:color-mix(in srgb,var(--c-question) 35%,transparent);color:inherit;border-radius:3px;padding:0 1px}.mp-sub{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:0 4px;font-size:11.5px;display:flex;overflow:hidden}.mp-card.skeleton{pointer-events:none}.mp-card.skeleton .mp-thumb,.mp-line{background:linear-gradient(90deg,var(--panel2),var(--line),var(--panel2));background-size:200% 100%;animation:1.2s infinite mp-shimmer}.mp-line{border-radius:6px;width:70%;height:12px;margin:4px;display:block}@keyframes mp-shimmer{to{background-position:-200% 0}}.mp-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:60px 20px;display:flex}.mp-empty>span{font-size:40px}.mp-empty b{color:var(--ink);font-size:15px}.mp-empty p{max-width:340px;margin:0;font-size:13px}.mp-empty.small{padding:40px 10px}.mp-preview{border-left:1px solid var(--line);background:var(--panel2);flex-direction:column;gap:10px;padding:18px;display:flex;overflow:auto}.mp-stage{aspect-ratio:4/3;background:var(--screen);border-radius:12px;place-items:center;display:grid;overflow:hidden}.mp-stage.checker{background-color:var(--panel)}.mp-stage img{object-fit:contain;max-width:92%;max-height:92%}.mp-stage video{object-fit:contain;background:#000;width:100%;height:100%}.mp-stage-msg{color:#fff;opacity:.75;font-size:12.5px}.mp-title{word-break:break-word;margin:4px 0 0;font-size:16px;font-weight:800}.mp-facts{grid-template-columns:auto 1fr;gap:5px 12px;margin:0;font-size:12.5px;display:grid}.mp-facts dt{color:var(--muted)}.mp-facts dd{margin:0;font-weight:600}.mp-path{color:var(--muted);word-break:break-all;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:5px 7px;font-size:11px}.mp-use{justify-content:center;margin-top:4px;padding:11px 14px;font-size:14px}.mp-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 18px;display:flex}.mp-link{flex:1;gap:8px;min-width:240px;max-width:440px;display:flex}.mp-link input{border:1px solid var(--line);background:var(--panel2);border-radius:8px;flex:1;min-width:0;padding:7px 10px}.mp-keys{color:var(--muted);font-size:11.5px}.mp-keys kbd{font:inherit;border:1px solid var(--line);background:var(--panel2);border-bottom-width:2px;border-radius:4px;margin:0 1px;padding:0 4px;font-size:10.5px;font-weight:700}.mp-spacer{flex:1}.mp-foot .btn{padding:8px 14px}.mp-foot .btn.primary{text-overflow:ellipsis;max-width:280px;overflow:hidden}.mp-foot .btn:disabled{opacity:.5;cursor:default}.mfield{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.mfield-thumb{background:var(--panel2);border-radius:6px;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative;overflow:hidden}.mfield-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.mfield-thumb.empty{color:var(--muted)}.mfield-thumb.video{background:var(--screen);color:#fff;font-size:13px}.mfield-x{color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;width:26px;height:26px}.mfield-x:hover{background:color-mix(in srgb,var(--c-end) 12%,transparent);color:var(--c-end)}.mfield-name{flex-direction:column;flex:1;min-width:0;display:flex}.mfield-name b,.mfield-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mfield-name b{font-size:12.5px}.mfield-name small{color:var(--muted);font-size:11px}.mfield .btn{padding:5px 10px}.mfield-open{text-align:left;background:0 0;border:0;border-radius:6px;flex:1;align-items:center;gap:8px;min-width:0;padding:0;display:flex}.mfield-open:hover .mfield-name b{color:var(--accent)}@media (width<=860px){.mp-body{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr}.mp-cats{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;padding:8px;overflow-x:auto}.mp-cats .mp-label{display:none}.mp-cats button{flex:none}.mp-preview{border-left:0;border-top:1px solid var(--line);max-height:36vh}.mp-head{flex-wrap:wrap}.mp-search{order:3;width:100%}.mp-keys{display:none}.main.fill{overflow:auto}.editor{grid-template-rows:62vh auto;grid-template-columns:1fr;height:auto}.insp{border-left:0;border-top:1px solid var(--line)}.chap{grid-template-columns:32px 1fr auto}.chap .del{grid-column:2}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
