@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/inter-var.woff2) format("woff2")}:root{--nd-deep:#3A0F65;--nd-brand:#5902A9;--nd-pink:#FF45A4;--nd-fuchsia:#D100E9;--nd-violet:#9651F0;--nd-indigo:#6B8EF5;--nd-blue:#34DBFB;--acc:#7C3AED;--acc-2:#6366F1;--acc-h:#6D28D9;--acc-soft:#F3EEFF;--acc-ring:rgba(124,58,237,.28);--bg:#FAF8FF;--panel:#FFFFFF;--panel-2:#F7F5FC;--line:#ECE8F5;--line-2:#E2DCF0;--tx:#17112B;--tx-2:#4B4763;--tx-3:#7C7894;--ok:#10B981;--warn:#F59E0B;--err:#EF4444;--r-s:6px;--r:8px;--r-l:12px;--r-xl:16px;--sh:0 1px 2px rgba(23,17,43,.06),0 1px 1px rgba(23,17,43,.04);--sh-m:0 8px 24px -8px rgba(58,15,101,.18),0 2px 6px rgba(23,17,43,.06);--sh-l:0 24px 60px -18px rgba(58,15,101,.35);--grad:linear-gradient(135deg,#7C3AED,#6366F1);--grad-logo:linear-gradient(135deg,#D100E9,#9651F0 45%,#6B8EF5);--ease:cubic-bezier(.2,.7,.2,1);--h:28px;--fs:12px;--fs-s:11px;color-scheme:light}:root[data-theme=dark]{--bg:#0B1220;--panel:#111A2E;--panel-2:#0F172A;--line:#1E2A44;--line-2:#2C3C5C;--tx:#E6EBF5;--tx-2:#AAB6CC;--tx-3:#7F8CA8;--acc:#8B5CF6;--acc-h:#A78BFA;--acc-soft:#221B44;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--tx);font:400 var(--fs)/1.45 Inter,-apple-system,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}#app{height:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--acc)}.boot{height:100%;display:grid;place-items:center}.boot img{animation:pop 1s var(--ease) infinite alternate}@keyframes pop{0%{transform:scale(.92) rotate(-4deg)}to{transform:scale(1.04) rotate(3deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.fade-up{animation:fadeUp .35s var(--ease) both}.btn{height:var(--h);padding:0 10px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--panel);display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:550;font-size:var(--fs);white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}.btn:hover{border-color:#cfc6e6;background:var(--panel-2)}.btn:active{transform:translateY(1px)}.btn:focus-visible,.inp:focus-visible,.sel:focus-visible{outline:none;box-shadow:0 0 0 3px var(--acc-ring);border-color:var(--acc)}.btn.pri{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 4px 14px -6px #6366f1b3}.btn.pri:hover{filter:brightness(1.07)}.btn.deep{background:var(--nd-deep);color:#fff;border-color:transparent}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--acc-soft)}.btn.ico{width:var(--h);padding:0;justify-content:center}.btn.on{background:var(--acc-soft);border-color:#d9cbff;color:var(--acc)}.btn.danger{color:var(--err)}.btn[disabled]{opacity:.45;pointer-events:none}.btn.sm{--h:24px;font-size:var(--fs-s);padding:0 8px}.btn.lg{--h:38px;padding:0 16px;font-size:13px;border-radius:10px}.inp,.sel,textarea.inp{height:var(--h);width:100%;padding:0 8px;border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--panel);transition:border-color .15s,box-shadow .15s;min-width:0}textarea.inp{height:auto;padding:6px 8px;resize:vertical;line-height:1.45}.inp.lg{--h:38px;font-size:13px;padding:0 12px;border-radius:10px}.inp.bad{border-color:var(--err);box-shadow:0 0 0 3px #ef444426}.sel{appearance:none;padding-right:20px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%237C7894' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 6px center}.code{font:11.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:2;white-space:pre}label.lb{display:block;font-size:var(--fs-s);color:var(--tx-3);font-weight:550;margin:0 0 3px}.row{display:flex;gap:6px;align-items:center}.row>*{flex:1;min-width:0}.row>.fx0{flex:0 0 auto}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.muted{color:var(--tx-3)}.small{font-size:var(--fs-s)}.b{font-weight:650}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:2px;gap:2px}.seg button{height:22px;min-width:24px;padding:0 7px;border:0;border-radius:6px;background:transparent;cursor:pointer;color:var(--tx-2);display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:var(--fs-s);font-weight:550}.seg button.on{background:var(--panel);color:var(--acc);box-shadow:var(--sh)}.sw{position:relative;width:28px;height:16px;border-radius:9px;background:#d9d4e8;border:0;cursor:pointer;transition:background .2s;flex:0 0 auto}.sw:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .2s var(--ease)}.sw.on{background:var(--acc)}.sw.on:after{transform:translate(12px)}.tag{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:9px;font-size:10px;font-weight:650;background:var(--acc-soft);color:var(--acc)}.tag.g{background:#e8fbf3;color:#047857}.tag.o{background:#fff4e5;color:#b45309}.tag.r{background:#feecec;color:#b91c1c}.tag.n{background:var(--panel-2);color:var(--tx-3)}.lock{display:inline-flex;align-items:center;gap:4px;color:var(--tx-3);font-size:var(--fs-s)}.spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--acc-ring);border-top-color:var(--acc);animation:spin .7s linear infinite;display:inline-block}.hr{height:1px;background:var(--line);margin:8px 0}.kbd{font:10px ui-monospace,monospace;padding:1px 4px;border:1px solid var(--line-2);border-radius:4px;color:var(--tx-3)}.grp{border-bottom:1px solid var(--line)}.grp>summary{list-style:none;display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;cursor:pointer;font-weight:650;font-size:var(--fs-s);text-transform:uppercase;letter-spacing:.04em;color:var(--tx-2);user-select:none}.grp>summary::-webkit-details-marker{display:none}.grp>summary .chev{margin-left:auto;transition:transform .2s var(--ease);color:var(--tx-3)}.grp[open]>summary .chev{transform:rotate(90deg)}.grp>.body{padding:2px 10px 10px;display:grid;gap:7px;animation:fadeUp .2s var(--ease)}.ed{display:grid;grid-template-rows:44px 1fr;height:100%;overflow:hidden}.top{display:flex;align-items:center;gap:6px;padding:0 8px;background:var(--panel);border-bottom:1px solid var(--line);position:relative;z-index:5}.top .logo{display:flex;align-items:center;gap:7px;font-weight:750;font-size:13px;letter-spacing:-.01em;margin-right:4px;text-decoration:none;color:var(--tx)}.top .logo img{width:24px;height:24px}.top .sep{width:1px;height:20px;background:var(--line);margin:0 2px}.top .grow{flex:1}.save-st{font-size:var(--fs-s);color:var(--tx-3);display:inline-flex;align-items:center;gap:5px;min-width:86px}.save-st i{width:6px;height:6px;border-radius:50%;background:var(--ok)}.save-st.dirty i{background:var(--warn)}.save-st.err i{background:var(--err)}.main{display:grid;grid-template-columns:auto 1fr auto;min-height:0}.side{width:248px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0;transition:width .25s var(--ease),opacity .2s}.side.r{border-right:0;border-left:1px solid var(--line);width:276px}.side.closed{width:0;opacity:0;overflow:hidden;border:0}.side .tabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--line)}.side .tabs button{flex:1;min-width:0;height:26px;padding:0 4px;font-size:10.5px;border:0;background:transparent;border-radius:6px;cursor:pointer;color:var(--tx-3);font-weight:600;font-size:var(--fs-s);display:inline-flex;align-items:center;justify-content:center;gap:4px}.side .tabs button.on{background:var(--acc-soft);color:var(--acc)}.side .scroll{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain}.side .scroll::-webkit-scrollbar{width:8px}.side .scroll::-webkit-scrollbar-thumb{background:#e3ddf0;border-radius:8px;border:2px solid var(--panel)}.stage{background:radial-gradient(circle at 1px 1px,#e9e4f5 1px,transparent 0) 0 0/16px 16px,var(--bg);min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;overflow:hidden;position:relative}.frame-wrap{flex:1;width:100%;display:flex;justify-content:center;padding:12px;min-height:0;transition:padding .25s var(--ease)}.frame{background:#fff;border-radius:10px;box-shadow:var(--sh-l);overflow:hidden;transition:width .35s var(--ease);height:100%;position:relative;border:1px solid var(--line)}.frame iframe{border:0;width:100%;height:100%;display:block;background:#fff}.frame .ld{position:absolute;inset:0;display:grid;place-items:center;background:#fffc;backdrop-filter:blur(4px);transition:opacity .3s}.crumbs-bar{height:26px;display:flex;align-items:center;gap:2px;padding:0 10px;font-size:var(--fs-s);color:var(--tx-3);width:100%;overflow:hidden;white-space:nowrap}.crumbs-bar button{border:0;background:none;color:inherit;cursor:pointer;padding:2px 4px;border-radius:4px}.crumbs-bar button:hover{background:var(--acc-soft);color:var(--acc)}.tree{padding:4px 0 20px;font-size:var(--fs-s)}.tn{display:flex;align-items:center;height:22px;gap:4px;padding-right:6px;cursor:pointer;border-radius:5px;margin:0 4px;color:var(--tx-2);white-space:nowrap}.tn:hover{background:var(--panel-2)}.tn.sel{background:var(--acc-soft);color:var(--acc);font-weight:600}.tn .tw{width:14px;height:14px;display:grid;place-items:center;color:var(--tx-3);flex:0 0 auto;border-radius:3px}.tn .tw:hover{background:var(--line)}.tn .nm{overflow:hidden;text-overflow:ellipsis;flex:1}.tn .ty{color:var(--tx-3);font-size:10px}.tn.drop-b{box-shadow:inset 0 -2px 0 var(--acc)}.tn.drop-t{box-shadow:inset 0 2px 0 var(--acc)}.tn.drop-i{outline:2px solid var(--acc);outline-offset:-2px}.tn .g{color:#9651f0}.li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r);cursor:pointer;transition:background .15s}.li:hover{background:var(--panel-2)}.li.on{background:var(--acc-soft)}.li .t{flex:1;min-width:0}.li .t b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.li .t span{font-size:var(--fs-s);color:var(--tx-3)}.blk-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.blk{border:1px solid var(--line);border-radius:var(--r);padding:8px 6px;background:var(--panel);cursor:grab;text-align:center;font-size:var(--fs-s);font-weight:600;color:var(--tx-2);display:grid;gap:4px;justify-items:center;transition:border-color .15s,transform .15s,box-shadow .15s}.blk:hover{border-color:#cdbcff;transform:translateY(-1px);box-shadow:var(--sh-m);color:var(--acc)}.blk svg{color:var(--acc)}.clr{display:flex;align-items:center;gap:4px;height:var(--h);border:1px solid var(--line-2);border-radius:var(--r-s);padding:0 4px 0 3px;background:var(--panel)}.clr .chip{width:20px;height:20px;border-radius:5px;border:1px solid #0002;position:relative;overflow:hidden;flex:0 0 auto;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%,transparent 75%,#ddd 75%),linear-gradient(45deg,#ddd 25%,transparent 25%,transparent 75%,#ddd 75%);background-size:8px 8px;background-position:0 0,4px 4px}.clr .chip i{position:absolute;inset:0}.clr .chip input{position:absolute;inset:0;opacity:0;cursor:pointer}.clr input.v{border:0;height:22px;min-width:0;flex:1;background:transparent;outline:none;font-size:var(--fs-s)}.unit{display:flex;height:var(--h);border:1px solid var(--line-2);border-radius:var(--r-s);background:var(--panel);overflow:hidden}.unit input{border:0;min-width:0;flex:1;padding:0 6px;background:transparent;outline:none}.unit span{display:grid;place-items:center;padding:0 5px;color:var(--tx-3);font-size:10px;background:var(--panel-2);border-left:1px solid var(--line);cursor:ns-resize;user-select:none}.box-ed{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.box-ed input{height:24px;text-align:center;font-size:var(--fs-s);padding:0 2px}.box-ed small{display:block;text-align:center;font-size:9px;color:var(--tx-3)}.slider{display:flex;gap:6px;align-items:center}.slider input[type=range]{flex:1;accent-color:var(--acc)}.slider .inp{width:56px;flex:0 0 auto}.ov{position:fixed;inset:0;background:#17112b52;backdrop-filter:blur(6px);display:grid;place-items:center;z-index:50;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}}.dlg{background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-l);width:min(560px,94vw);max-height:88vh;display:flex;flex-direction:column;animation:fadeUp .3s var(--ease);border:1px solid var(--line)}.dlg header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);font-weight:700;font-size:13px}.dlg .bd{padding:14px;overflow:auto;display:grid;gap:10px}.dlg footer{display:flex;gap:6px;justify-content:flex-end;padding:10px 14px;border-top:1px solid var(--line)}.dlg.wide{width:min(980px,96vw)}.menu{position:absolute;z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-m);padding:4px;min-width:180px;animation:fadeUp .15s var(--ease)}.menu button{display:flex;width:100%;align-items:center;gap:8px;height:28px;padding:0 8px;border:0;background:none;border-radius:6px;cursor:pointer;font-size:var(--fs)}.menu button:hover{background:var(--acc-soft);color:var(--acc)}.toasts{position:fixed;bottom:14px;left:50%;transform:translate(-50%);display:grid;gap:6px;z-index:60}.toast{background:#17112b;color:#fff;padding:8px 12px;border-radius:10px;box-shadow:var(--sh-l);font-size:var(--fs);display:flex;gap:8px;align-items:center;animation:fadeUp .25s var(--ease)}.toast.err{background:#7f1d1d}.auth{min-height:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.auth .hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#12082a,#2a0b52 55%,#1b0f3a);color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:space-between}.auth .hero h1{font-size:34px;line-height:1.08;letter-spacing:-.03em;margin:0 0 12px;font-weight:800}.auth .hero p{color:#cfc4ef;font-size:14px;max-width:420px;margin:0}.auth .blob{position:absolute;border-radius:50%;filter:blur(0);border:3px solid #1B0B3A}.auth .form{display:grid;place-items:center;padding:30px}.auth .card{width:min(360px,100%);display:grid;gap:12px}.auth .card h2{margin:0;font-size:22px;letter-spacing:-.02em}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px}.brand img{width:40px;height:40px}.brand small{display:block;font-weight:600;font-size:11px;color:#bba9ef;letter-spacing:.06em;text-transform:uppercase}.wrap-page{max-width:1080px;margin:0 auto;padding:22px 18px 60px}.page-h{display:flex;align-items:center;gap:10px;margin:6px 0 16px}.page-h h1{font-size:20px;margin:0;letter-spacing:-.02em}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.card-i{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);padding:14px;display:grid;gap:8px;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;text-align:left}.card-i:hover{transform:translateY(-2px);box-shadow:var(--sh-m);border-color:#d9cbff}.card-i.act{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-ring)}.av{width:38px;height:38px;border-radius:11px;background:var(--grad-logo);color:#fff;display:grid;place-items:center;font-weight:800;overflow:hidden;flex:0 0 auto;border:2px solid #1B0B3A;box-shadow:2px 2px #1b0b3a}.av img{width:100%;height:100%;object-fit:cover;background:#fff}.thumb{aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);position:relative}.thumb iframe{width:400%;height:400%;transform:scale(.25);transform-origin:0 0;border:0;pointer-events:none}.quiz{max-width:620px;margin:0 auto;padding:26px 18px 60px}.quiz .steps{display:flex;gap:4px;margin-bottom:18px}.quiz .steps i{flex:1;height:4px;border-radius:2px;background:var(--line-2);transition:background .3s}.quiz .steps i.on{background:var(--grad)}.quiz h2{font-size:20px;letter-spacing:-.02em;margin:0 0 4px}.choice{display:flex;flex-wrap:wrap;gap:6px}.choice button{height:30px;padding:0 12px;border-radius:15px;border:1px solid var(--line-2);background:var(--panel);cursor:pointer;font-weight:550}.choice button.on{background:var(--acc);color:#fff;border-color:var(--acc)}.slug{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:10px;height:38px;background:var(--panel);overflow:hidden;transition:border-color .2s,box-shadow .2s}.slug input{border:0;outline:0;height:100%;flex:1;padding:0 4px 0 12px;font-size:13px;font-weight:600;background:transparent;min-width:0}.slug span{padding:0 12px;color:var(--tx-3);font-size:13px}.slug.bad{border-color:var(--err);box-shadow:0 0 0 3px #ef444426}.slug.good{border-color:var(--ok);box-shadow:0 0 0 3px #10b98126}.err-msg{color:var(--err);font-size:var(--fs-s);font-weight:550}.ok-msg{color:#047857;font-size:var(--fs-s);font-weight:550}.hint{background:var(--acc-soft);border-radius:var(--r);padding:8px 10px;color:var(--tx-2);font-size:var(--fs-s)}.empty{padding:30px 12px;text-align:center;color:var(--tx-3)}.tok{display:grid;grid-template-columns:1fr 1.25fr auto;gap:4px;align-items:center}.tok .nm{font:11px ui-monospace,monospace;color:var(--tx-2);overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.auth{grid-template-columns:1fr}.auth .hero{display:none}.side{width:220px}.side.r{width:248px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
