@font-face{font-family:Inter;src:url(/fonts/inter-latin-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212,U+2215}@font-face{font-family:Inter;src:url(/fonts/inter-cyrillic-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;src:url(/fonts/inter-latin-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212,U+2215}@font-face{font-family:Inter;src:url(/fonts/inter-cyrillic-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;src:url(/fonts/inter-latin-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21BB,U+2212,U+2215}@font-face{font-family:Inter;src:url(/fonts/inter-cyrillic-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}:root{--bg: #0a0a0b;--surface: #141416;--surface-hi: #1d1d20;--line: #26262a;--text: #e8e8e8;--text-dim: #9d9da5;--text-faint: #6e6e77;--accent: #5a91ff;--accent-soft: rgba(90, 145, 255, .16);--danger: #e0685e;--ok: #4fb37d;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #ffffff;--surface: #f6f6f7;--surface-hi: #eeeef0;--line: #e3e3e6;--text: #17171a;--text-dim: #6b6b73;--text-faint: #9a9aa3;--accent: #3d7dff;--accent-soft: rgba(61, 125, 255, .12);--danger: #c8433a;--ok: #2f8f5b}}:root[data-theme=light]{--bg: #ffffff;--surface: #f6f6f7;--surface-hi: #eeeef0;--line: #e3e3e6;--text: #17171a;--text-dim: #6b6b73;--text-faint: #9a9aa3;--accent: #3d7dff;--accent-soft: rgba(61, 125, 255, .12);--danger: #c8433a;--ok: #2f8f5b}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:560px;margin:0 auto;padding:var(--s4) var(--s4) var(--s7)}.head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s5)}.h1{margin:0;font-size:21px;font-weight:600;letter-spacing:-.01em}.h2{margin:0 0 var(--s3);font-size:16px;font-weight:600}.stack>.h2{margin-bottom:0}.sub{margin:var(--s1) 0 0;color:var(--text-dim);font-size:13px}.dim{color:var(--text-dim)}.faint{color:var(--text-faint);font-size:13px}.stack{display:flex;flex-direction:column;gap:var(--s3)}.row{display:flex;align-items:center;gap:var(--s2)}.spread{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.section{margin-top:var(--s6)}.card{background:var(--surface);border-radius:var(--r-md);padding:var(--s3) var(--s4)}.card-flat{padding:var(--s3) 0;border-bottom:1px solid var(--line)}.card-flat:last-child{border-bottom:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border:none;border-radius:var(--r-md);background:var(--surface-hi);color:var(--text);font-weight:500;cursor:pointer;transition:background .12s ease}.btn:hover:not(:disabled){background:var(--line)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:disabled{background:var(--surface-hi);color:var(--text-faint);opacity:1}.btn-primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn-quiet{background:transparent;color:var(--text-dim);padding:0 var(--s2);min-height:44px;min-width:44px}.btn-quiet:hover:not(:disabled){background:var(--surface);color:var(--text)}.btn-danger{background:transparent;color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--surface)}.btn-wide{width:100%}.btn-failed{background:transparent;color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger);font-weight:400;white-space:normal;min-height:44px;padding:var(--s2) var(--s4)}.toggle-row{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:44px;padding:0;background:none;border:none;text-align:left;cursor:pointer}.toggle{flex-shrink:0;width:40px;height:24px;padding:3px;border-radius:999px;background:var(--surface-hi);transition:background .14s ease}.toggle-on{background:var(--accent)}.toggle-thumb{display:block;width:18px;height:18px;border-radius:50%;background:var(--bg);transition:transform .14s ease}.toggle-on .toggle-thumb{transform:translate(16px)}.choice{display:flex;gap:var(--s1);padding:var(--s1);background:var(--surface);border-radius:var(--r-md)}.choice-item{flex:1;min-height:36px;padding:0 var(--s2);background:transparent;border:none;border-radius:var(--r-sm);color:var(--text-dim);cursor:pointer;transition:background .12s ease,color .12s ease}.choice-on{background:var(--surface-hi);color:var(--text);font-weight:500}.field{display:flex;flex-direction:column;gap:var(--s1)}.label{font-size:13px;color:var(--text-dim)}.input{width:100%;min-height:44px;padding:var(--s2) var(--s3);background:var(--surface);border:1px solid transparent;border-radius:var(--r-md);transition:border-color .12s ease}.input:focus{border-color:var(--accent);outline:none}.tree-row{display:flex;align-items:center;gap:var(--s2);min-height:44px;padding:var(--s1) 0}.grip{display:flex;flex-direction:column;justify-content:center;gap:3px;flex-shrink:0;width:44px;min-height:44px;padding:0 14px;background:none;border:none;cursor:grab;touch-action:none}.grip:active{cursor:grabbing}.grip span{height:2px;border-radius:1px;background:var(--text-faint)}.grip:hover span{background:var(--text-dim)}.tree-row{transition:transform .14s ease}.is-dragging{transition:none;opacity:.9}.is-shift-up{transform:translateY(-100%)}.is-shift-down{transform:translateY(100%)}@media(max-width:480px){.tree-row{flex-wrap:wrap;padding:var(--s2) 0;border-bottom:1px solid var(--line)}.tree-row:last-child{border-bottom:none}.tree-row .badge{margin-right:auto}.tree-row .tree-title{flex-basis:100%;display:flex;align-items:center;min-height:44px;line-height:1.4;white-space:normal;overflow:visible}}.tree-title{flex:1;min-width:0;display:block;line-height:44px;text-align:left;background:none;border:none;padding:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{flex-shrink:0;padding:2px var(--s2);border-radius:999px;background:var(--surface-hi);color:var(--text-dim);font-size:12px}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-warn{background:transparent;color:var(--danger)}.crumbs{display:flex;flex-wrap:wrap;gap:var(--s1);margin-bottom:var(--s3);color:var(--text-faint);font-size:13px}.crumb{display:inline-flex;align-items:center;min-height:44px;background:none;border:none;padding:0 var(--s1);color:inherit;cursor:pointer}.crumb:hover{color:var(--text)}.empty-frame{position:relative}.empty-ghost{opacity:.35;pointer-events:none}.empty-note{max-width:380px;margin:var(--s5) auto 0;text-align:center;color:var(--text-dim)}.skel{display:block;border-radius:var(--r-sm);background:var(--surface-hi);animation:skel-pulse 1.3s ease-in-out infinite}.skel-head{width:60%;height:26px;border-radius:var(--r-md)}.skel-title{flex:1;height:16px}.skel-badge{width:64px;height:16px;flex-shrink:0}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.55}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:88vh;overflow-y:auto;padding:var(--s4) var(--s4) var(--s6);background:var(--bg);border-radius:var(--r-lg) var(--r-lg) 0 0;animation:sheet-in .18s ease-out}@keyframes sheet-in{0%{transform:translateY(12px)}to{transform:translateY(0)}}.tpl{width:100%;text-align:left;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;transition:border-color .12s ease}.tpl:hover{border-color:var(--accent)}.tpl-failed{border-color:var(--danger);color:var(--danger)}.tpl-title{font-weight:500}.pair{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.num{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
