@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: #f7f9fc;--surface: #ffffff;--surface-hi: #eef3fc;--line: #e2e8f3;--text: #111827;--text-dim: #5a6478;--text-faint: #6b7488;--accent: #2563eb;--accent-hi: #1d4ed8;--accent-soft: #e4edff;--danger: #dc2626;--danger-soft: #fef2f2;--ok: #059669;--shadow-1: 0 1px 2px rgba(16, 24, 40, .06);--shadow-2: 0 4px 16px -4px rgba(16, 24, 40, .12);--shadow-accent: 0 4px 14px -6px rgba(37, 99, 235, .55);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--ease: cubic-bezier(.2, 0, 0, 1)}*{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:none;box-shadow:0 0 0 3px var(--accent-soft),0 0 0 4px var(--accent)}button,a{-webkit-tap-highlight-color:transparent}.app{max-width:560px;margin:0 auto;padding:var(--s4) var(--s4) var(--s7);animation:screen-in .18s var(--ease)}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}}.head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s5)}.h1{margin:0;font-size:22px;font-weight:650;letter-spacing:-.02em}.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)}.alert{margin:0 0 var(--s3);padding:var(--s2) var(--s3);background:var(--danger-soft);border-radius:var(--r-sm);color:#991b1b;font-size:14px}.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);box-shadow:var(--shadow-1)}.card-flat{margin-bottom:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s4);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.card-flat:last-child{margin-bottom:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:14px;font-weight:550;cursor:pointer;box-shadow:var(--shadow-1);transition:background .14s var(--ease),border-color .14s var(--ease),box-shadow .14s var(--ease),transform 90ms var(--ease),filter .14s var(--ease)}.btn:hover:not(:disabled){background:var(--surface-hi);border-color:#d3ddef}.btn:active:not(:disabled){transform:scale(.985);box-shadow:none}.btn:disabled{opacity:.55;box-shadow:none;cursor:default}.btn svg{flex-shrink:0}.btn-primary{background:var(--accent);border-color:transparent;color:#fff;box-shadow:inset 0 1px #ffffff38,var(--shadow-accent)}.btn-primary:disabled{background:var(--surface-hi);border-color:var(--line);color:var(--text-faint);box-shadow:none;opacity:1}.btn-primary:hover:not(:disabled){filter:brightness(1.06);background:var(--accent);box-shadow:inset 0 1px #ffffff38,0 6px 18px -6px #2563eba6}.btn-primary:active:not(:disabled){background:var(--accent-hi);filter:none;box-shadow:inset 0 1px #ffffff2e}.btn-quiet{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-dim);padding:0 var(--s2);min-height:44px;min-width:44px}.btn-quiet:hover:not(:disabled){background:var(--surface-hi);border-color:transparent;color:var(--accent)}.btn-danger{background:transparent;border-color:transparent;box-shadow:none;color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:transparent}.btn-outline-danger{background:var(--surface);border-color:#f6cfcf;color:var(--danger)}.btn-outline-danger:hover:not(:disabled){background:var(--danger-soft);border-color:#efb4b4}.btn-icon{min-width:44px;min-height:44px;padding:0;background:transparent;border-color:transparent;box-shadow:none;color:var(--text-faint)}.btn-icon:hover:not(:disabled){background:var(--surface-hi);border-color:transparent;color:var(--text)}.btn-icon-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.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:#fff;box-shadow:0 1px 2px #10182833;transition:transform .16s var(--ease)}.toggle-on .toggle-thumb{transform:translate(16px)}.choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:var(--s1);padding:var(--s1);background:var(--surface-hi);border-radius:var(--r-md)}.choice-item{display:flex;align-items:center;justify-content:center;min-height:44px;padding:var(--s1) var(--s2);background:transparent;border:none;border-radius:var(--r-sm);color:var(--text-dim);font-size:14px;text-align:center;line-height:1.2;cursor:pointer;transition:background .14s var(--ease),color .14s var(--ease),box-shadow .14s var(--ease)}.choice-on{background:var(--surface);color:var(--text);font-weight:500;box-shadow:var(--shadow-1)}.pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:var(--s2) var(--s3);background:var(--surface);border:none;border-radius:var(--r-md);box-shadow:var(--shadow-1);color:var(--text-dim);text-align:left;cursor:pointer;transition:background .14s var(--ease),box-shadow .14s var(--ease),color .14s var(--ease)}.pick:hover{background:var(--surface-hi)}.pick-on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--text)}.pick-off{background:var(--surface-hi);box-shadow:none}.pick-title{display:flex;align-items:center;gap:var(--s2);font-weight:500}.mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;margin-right:2px;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);color:#fff;transition:background .14s var(--ease),box-shadow .14s var(--ease)}.mark-on{background:var(--accent);box-shadow:none}.emoji{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;font-size:16px;line-height:1}.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 var(--line);border-radius:var(--r-md);transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input::placeholder{color:var(--text-faint)}.tree-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:var(--s1);margin-bottom:var(--s2);padding:var(--s1) var(--s2);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-1);transition:transform .16s var(--ease),box-shadow .16s var(--ease)}.grip{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;min-height:44px;padding:0;background:none;border:none;color:var(--text-faint);cursor:grab;touch-action:none;transition:color .14s var(--ease)}.grip:active{cursor:grabbing}.grip:hover{color:var(--text-dim)}.is-dragging{transition:none;box-shadow:var(--shadow-2)}.is-shift-up{transform:translateY(-100%)}.is-shift-down{transform:translateY(100%)}.tree-title{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0;min-height:48px;padding:var(--s1) var(--s2);background:none;border:none;border-radius:var(--r-sm);text-align:left;cursor:pointer;transition:background .14s var(--ease)}.tree-title:hover{background:var(--surface-hi)}.tree-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-width:100%;overflow:hidden;font-weight:500;line-height:1.3}.badge{flex-shrink:0;padding:1px var(--s2);border-radius:999px;background:var(--surface-hi);color:var(--text-dim);font-size:12px;line-height:1.5}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-warn{background:#fef3c7;color:#92400e}.menu{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-1);overflow:hidden}.desk-switch{margin:0 0 var(--s4)}.desk-current,.desk-row{display:grid;align-items:center;width:100%;min-height:44px;padding:var(--s2) var(--s3);background:var(--surface);border:0;text-align:left;cursor:pointer;transition:background .16s var(--ease)}.desk-current{grid-template-columns:minmax(0,1fr) auto 18px;gap:var(--s2);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.desk-current:hover:not(:disabled),.desk-row:hover:not(:disabled){background:var(--surface-hi)}.desk-title{color:var(--text);font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desk-bot{color:var(--text-dim);font-size:13px}.desk-caret{color:var(--text-faint);transform:rotate(90deg);transition:transform .16s var(--ease)}.desk-caret-open{transform:rotate(-90deg)}.desk-list{margin-top:var(--s2);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-1);overflow:hidden}.desk-row{grid-template-columns:20px minmax(0,1fr);gap:var(--s2)}.desk-row+.desk-row{border-top:1px solid var(--line)}.desk-mark{display:flex;align-items:center;justify-content:center;color:var(--accent)}.desk-text{display:flex;flex-direction:column;gap:2px;min-width:0}.menu-row{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:var(--s3);width:100%;min-height:60px;padding:var(--s2) var(--s4);background:none;border:none;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;transition:background .14s var(--ease)}.menu-row:last-child{border-bottom:none}.menu-row:hover{background:var(--surface-hi)}.menu-icon{display:flex;color:var(--accent)}.menu-text{display:flex;flex-direction:column;min-width:0;gap:1px}.menu-title{font-weight:500}.menu-hint{color:var(--text-dim);font-size:13px;line-height:1.35}.menu-chevron{color:var(--text-faint)}.plate{display:flex;align-items:center;justify-content:center;gap:var(--s2);width:100%;min-height:44px;padding:var(--s2) var(--s3);background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-md);color:var(--accent);font-size:14px;overflow-wrap:anywhere;cursor:pointer;transition:background .14s var(--ease),border-color .14s var(--ease)}.plate:hover{background:var(--surface-hi);border-color:var(--accent)}.more{display:inline-flex;align-items:center;gap:var(--s2);align-self:flex-start;min-height:44px;padding:0 var(--s2);background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;transition:color .14s var(--ease)}.more:hover{color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}.chip{min-height:44px;padding:0 var(--s3);background:var(--accent-soft);border:none;border-radius:999px;color:var(--accent);font-size:13px;font-weight:500;cursor:pointer;transition:background .14s var(--ease),transform 90ms var(--ease)}.chip:hover{background:#d4e2ff}.chip:active{transform:scale(.96)}.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)}.list-row{display:block;width:100%;border:none;text-align:left;cursor:pointer;transition:background .14s var(--ease),box-shadow .14s var(--ease)}.list-row:hover{background:var(--surface-hi);box-shadow:var(--shadow-2)}.skel-row{display:flex;align-items:center;gap:var(--s3);min-height:56px;margin-bottom:var(--s2);padding:var(--s2) var(--s4);background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.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;box-shadow:var(--shadow-2);animation:sheet-in .22s var(--ease)}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet-backdrop{animation:fade-in .22s var(--ease)}@keyframes fade-in{0%{opacity:0}}.tpl{width:100%;text-align:left;padding:var(--s3) var(--s4);background:var(--surface);border:1px solid transparent;border-radius:var(--r-md);box-shadow:var(--shadow-1);cursor:pointer;transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.tpl:hover{border-color:var(--accent);box-shadow:var(--shadow-2)}.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}}.msg{max-width:82%;white-space:pre-wrap;overflow-wrap:anywhere;padding:var(--s2) var(--s3);border-radius:var(--r-md);background:var(--surface);align-self:flex-start}.msg{box-shadow:var(--shadow-1)}.msg-mine{align-self:flex-end;background:var(--accent-soft);box-shadow:none}.msg-waiting{opacity:.6}.msg-media{display:block;max-width:100%;margin-top:var(--s2);border-radius:var(--r-sm)}
