:root{--jm-display:"Space Grotesk", Inter, system-ui, sans-serif;--jm-ui: Inter, system-ui, -apple-system, sans-serif;--jm-mono: "JetBrains Mono", ui-monospace, monospace;--jm-1:4px;--jm-2:8px;--jm-3:12px;--jm-4:16px;--jm-5:20px;--jm-6:24px;--jm-8:32px;--jm-10:40px;--jm-12:48px;--jm-16:64px;--jm-r-sm:6px;--jm-r-md:9px;--jm-r-card:11px;--jm-r-lg:16px;--jm-r-pill:999px;--jm-dur-fast:.11s;--jm-dur:.17s;--jm-ease:cubic-bezier(.2,.7,.2,1)}:root,[data-theme=light]{color-scheme:light;--jm-bg: #FCFCFD;--jm-canvas: #FFFFFF;--jm-grid: #ECEDF0;--jm-surface: #FFFFFF;--jm-surface-2: #F5F6F8;--jm-line: #E7E9ED;--jm-line-2: #D6D9DF;--jm-text: #16181D;--jm-text-mid: #595F6B;--jm-text-dim: #9499A4;--jm-rel: #C2C7D0;--jm-signal: #3A63D8;--jm-signal-weak: #EBF0FD;--jm-signal-text: #2D4FB8;--jm-on-signal: #FFFFFF;--jm-shadow-card:0 1px 2px rgba(16,20,30,.06), 0 4px 14px rgba(16,20,30,.05);--jm-shadow-pop: 0 12px 32px rgba(16,20,30,.14);--jm-ring:0 0 0 3px rgba(58,99,216,.28);--jm-scrim: rgba(16,20,30,.32)}[data-theme=dark]{color-scheme:dark;--jm-bg: #0F1216;--jm-canvas: #14171C;--jm-grid: #20242B;--jm-surface: #181C22;--jm-surface-2: #20242C;--jm-line: #282D36;--jm-line-2: #353B45;--jm-text: #ECEEF2;--jm-text-mid: #99A0AC;--jm-text-dim: #5E646F;--jm-rel: #3A414C;--jm-signal: #5E86F5;--jm-signal-weak: rgba(94,134,245,.16);--jm-signal-text: #8FAcff;--jm-on-signal: #FFFFFF;--jm-shadow-card:0 1px 2px rgba(0,0,0,.4), 0 6px 18px rgba(0,0,0,.35);--jm-shadow-pop: 0 14px 40px rgba(0,0,0,.55);--jm-ring:0 0 0 3px rgba(94,134,245,.32);--jm-scrim: rgba(0,0,0,.55)}:root,[data-theme=light]{--sem-slate:#64748B;--sem-cyan:#0E96B3;--sem-teal:#0D9488;--sem-green:#16A34A;--sem-amber:#CA8A04;--sem-orange:#E2622E;--sem-rose:#E11D6B;--sem-violet:#7C3AED}[data-theme=dark]{--sem-slate:#94A3B8;--sem-cyan:#38BDD8;--sem-teal:#2DD4BF;--sem-green:#4ADE80;--sem-amber:#FBBF24;--sem-orange:#FB8C5A;--sem-rose:#FB7199;--sem-violet:#A78BFA}:root{--jm-presence-1:#E8590C;--jm-presence-2:#0CA678;--jm-presence-3:#7048E8;--jm-presence-4:#1098AD;--jm-presence-5:#E64980;--jm-presence-6:#F08C00;--jm-presence-7:#4263EB;--jm-presence-8:#2F9E44}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--jm-bg);color:var(--jm-text);font-family:var(--jm-ui);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--jm-line);background:var(--jm-surface)}.topbar .mark{height:22px;color:var(--jm-text)}.topbar .wm{font-family:var(--jm-display);font-weight:600;font-size:16px;letter-spacing:-.01em}.topbar .wm b{font-weight:700}.topbar .wm span{color:var(--jm-text-mid);font-weight:500}.topbar .sp{flex:1}.topbar .sep{width:1px;height:22px;background:var(--jm-line);margin:0 2px}.topbar .board-title{font-family:var(--jm-ui);font-weight:500;font-size:13px;color:var(--jm-text-mid);max-width:30ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-link{display:flex;gap:6px}.share-link input{flex:1;font-family:var(--jm-mono);font-size:11px;color:var(--jm-text);background:var(--jm-surface-2);border:1px solid var(--jm-line-2);border-radius:var(--jm-r-sm);padding:7px 9px;outline:0}.btn{font-family:var(--jm-ui);font-weight:600;font-size:13px;border-radius:var(--jm-r-md);padding:7px 13px;cursor:pointer;border:1px solid var(--jm-line-2);background:transparent;color:var(--jm-text);transition:border-color var(--jm-dur-fast),background var(--jm-dur-fast),color var(--jm-dur-fast)}.btn:hover{border-color:var(--jm-signal)}.btn:focus-visible{outline:none;box-shadow:var(--jm-ring)}.btn.primary{background:var(--jm-signal);color:var(--jm-on-signal);border-color:transparent}.btn.primary:hover{filter:brightness(1.05)}.btn:disabled{opacity:.45;cursor:default;border-color:var(--jm-line)}.btn.icon{padding:7px 9px;font-size:14px;line-height:1}.toggle{display:inline-flex;border:1px solid var(--jm-line-2);border-radius:var(--jm-r-pill);overflow:hidden;font-family:var(--jm-mono);font-size:11px}.toggle button{padding:6px 11px;background:transparent;border:0;color:var(--jm-text-dim);cursor:pointer}.toggle button.on{background:var(--jm-text);color:var(--jm-bg)}.menu{position:relative}.menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:184px;background:var(--jm-surface);border:1px solid var(--jm-line-2);border-radius:var(--jm-r-md);box-shadow:var(--jm-shadow-pop);padding:5px}.menu-pop button{display:flex;justify-content:space-between;gap:14px;width:100%;text-align:left;font-family:var(--jm-ui);font-size:13px;font-weight:500;color:var(--jm-text);background:transparent;border:0;border-radius:var(--jm-r-sm);padding:7px 9px;cursor:pointer}.menu-pop button:hover{background:var(--jm-surface-2)}.menu-pop .k{font-family:var(--jm-mono);font-size:10px;color:var(--jm-text-dim)}.menu-pop .hr{height:1px;background:var(--jm-line);margin:4px 2px}.stage{position:relative;flex:1;overflow:hidden;cursor:crosshair;background:radial-gradient(circle at 1px 1px,var(--jm-grid) 1.1px,transparent 0);background-size:24px 24px}.world{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0;pointer-events:none;will-change:transform;-webkit-user-select:none;user-select:none}.world .ent,.world .namebox{pointer-events:auto}.world input{-webkit-user-select:text;user-select:text}.rels{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}.rels .hit{pointer-events:stroke;cursor:pointer}.rels .rel-card,.rels .rel-end,.rels .rel-del,.rels foreignObject{pointer-events:auto}.hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:var(--jm-text-dim);font-family:var(--jm-mono);font-size:12.5px;line-height:2;pointer-events:none;z-index:0}.hint b{color:var(--jm-signal)}.hint .hint-kbd{font-size:11px;opacity:.8}.marquee{position:absolute;z-index:0;pointer-events:none;background:var(--jm-signal-weak);border:1px solid var(--jm-signal);border-radius:var(--jm-r-sm)}.namebox{position:absolute;z-index:6;background:var(--jm-surface);border:1px solid var(--jm-signal);border-radius:var(--jm-r-md);box-shadow:var(--jm-ring),var(--jm-shadow-pop)}.namebox input{font-family:var(--jm-display);font-weight:600;font-size:14px;color:var(--jm-text);background:transparent;border:0;outline:0;padding:9px 12px;width:186px;caret-color:var(--jm-signal)}.namebox input::placeholder{color:var(--jm-text-dim);font-weight:500}.namebox-dup{font-family:var(--jm-ui);font-size:11px;color:var(--jm-text-mid);line-height:1.4;padding:8px 12px 9px;max-width:200px;border-top:1px solid var(--jm-line);margin-top:2px}.namebox-dup b{color:var(--jm-signal-text)}.ent{position:absolute;z-index:2;min-width:182px;background:var(--jm-surface);border:1px solid var(--jm-line-2);border-radius:var(--jm-r-card);box-shadow:var(--jm-shadow-card)}.ent.pop{animation:pop .2s var(--jm-ease)}@keyframes pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.ent.selected{border-color:var(--jm-signal);box-shadow:var(--jm-ring),var(--jm-shadow-card)}.ent.armed{border-color:var(--jm-signal);box-shadow:0 0 0 3px var(--jm-signal-weak),0 0 0 1px var(--jm-signal),var(--jm-shadow-pop);transition:box-shadow var(--jm-dur-fast),border-color var(--jm-dur-fast)}.ent.dragging{box-shadow:var(--jm-shadow-pop);cursor:grabbing}.ent.dragging .ent-h{cursor:grabbing}.ent-h{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 12px;cursor:grab;border-bottom:1px solid var(--jm-line);border-radius:var(--jm-r-card) var(--jm-r-card) 0 0}.ent-h .nm{font-family:var(--jm-ui);font-weight:600;font-size:13.5px;color:var(--jm-text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ent-h input{font-family:var(--jm-ui);font-weight:600;font-size:13.5px;color:var(--jm-text);background:transparent;border:0;outline:0;flex:1;caret-color:var(--jm-signal)}.cdot{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--jm-line-2);background:transparent;cursor:pointer;flex:none}.cdot:hover{border-color:var(--jm-text-dim)}.ent-x{flex:none;width:18px;height:18px;border-radius:var(--jm-r-sm);border:0;background:transparent;color:var(--jm-text-dim);font-size:15px;line-height:1;cursor:pointer;opacity:0;transition:opacity var(--jm-dur-fast)}.ent:hover .ent-x{opacity:1}.ent-x:hover{background:var(--jm-surface-2);color:var(--jm-text)}.ent-b{padding:3px 0;position:relative}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 12px;font-family:var(--jm-mono);font-size:12px;position:relative;cursor:default}.row .fn{color:var(--jm-text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .fn.pk{font-weight:600}.row .ty{font-size:10px;padding:2px 6px;border-radius:var(--jm-r-sm);color:var(--jm-text-dim);background:var(--jm-surface-2);border:1px solid var(--jm-line);flex:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--jm-dur-fast),color var(--jm-dur-fast)}.row .ty:hover{border-color:var(--jm-line-2);color:var(--jm-text)}.row .ty:focus-visible{outline:2px solid var(--jm-signal);outline-offset:1px}.row .fn-edit{flex:1;font-family:var(--jm-mono);font-size:12px;color:var(--jm-text);background:transparent;border:0;outline:0;caret-color:var(--jm-signal)}.row-x{position:absolute;right:6px;width:16px;height:16px;border:0;border-radius:var(--jm-r-sm);background:var(--jm-surface);color:var(--jm-text-dim);font-size:13px;line-height:1;cursor:pointer;opacity:0}.row:hover .row-x{opacity:1}.row-x:hover{color:var(--jm-text);background:var(--jm-surface-2)}.fieldinput{padding:5px 12px}.fieldinput input{width:100%;font-family:var(--jm-mono);font-size:12px;color:var(--jm-text);background:transparent;border:0;outline:0;caret-color:var(--jm-signal)}.fieldinput input::placeholder{color:var(--jm-text-dim)}.addfield{display:block;width:calc(100% - 16px);margin:2px 8px 4px;text-align:left;padding:4px;font-family:var(--jm-mono);font-size:11px;color:var(--jm-text-dim);background:transparent;border:0;border-radius:var(--jm-r-sm);cursor:pointer;opacity:0;transition:opacity var(--jm-dur-fast)}.ent:hover .addfield,.ent.selected .addfield{opacity:1}.addfield:hover{background:var(--jm-surface-2);color:var(--jm-text-mid)}.handle{position:absolute;right:-7px;top:50%;transform:translateY(-50%);width:13px;height:13px;border-radius:50%;background:var(--jm-surface);border:2px solid var(--jm-text-dim);cursor:crosshair;opacity:0;transition:opacity var(--jm-dur);z-index:3}.ent:hover .handle{opacity:1}.handle:hover{border-color:var(--jm-signal);box-shadow:var(--jm-ring)}.redge{position:absolute;z-index:1;cursor:crosshair}.redge.r-l{left:-9px;width:11px;top:0;bottom:0}.redge.r-r{right:-9px;width:11px;top:0;bottom:0}.redge.r-b{left:0;right:0;bottom:-9px;height:11px}.redge.r-t{left:0;right:0;top:-9px;height:11px}.ent.c-slate{border-left:3px solid var(--sem-slate)}.ent.c-slate .ent-h{background:color-mix(in srgb,var(--sem-slate) 8%,transparent)}.ent.c-slate .cdot{background:var(--sem-slate);border-color:var(--sem-slate)}.ent.c-cyan{border-left:3px solid var(--sem-cyan)}.ent.c-cyan .ent-h{background:color-mix(in srgb,var(--sem-cyan) 9%,transparent)}.ent.c-cyan .cdot{background:var(--sem-cyan);border-color:var(--sem-cyan)}.ent.c-teal{border-left:3px solid var(--sem-teal)}.ent.c-teal .ent-h{background:color-mix(in srgb,var(--sem-teal) 9%,transparent)}.ent.c-teal .cdot{background:var(--sem-teal);border-color:var(--sem-teal)}.ent.c-green{border-left:3px solid var(--sem-green)}.ent.c-green .ent-h{background:color-mix(in srgb,var(--sem-green) 9%,transparent)}.ent.c-green .cdot{background:var(--sem-green);border-color:var(--sem-green)}.ent.c-amber{border-left:3px solid var(--sem-amber)}.ent.c-amber .ent-h{background:color-mix(in srgb,var(--sem-amber) 11%,transparent)}.ent.c-amber .cdot{background:var(--sem-amber);border-color:var(--sem-amber)}.ent.c-orange{border-left:3px solid var(--sem-orange)}.ent.c-orange .ent-h{background:color-mix(in srgb,var(--sem-orange) 10%,transparent)}.ent.c-orange .cdot{background:var(--sem-orange);border-color:var(--sem-orange)}.ent.c-rose{border-left:3px solid var(--sem-rose)}.ent.c-rose .ent-h{background:color-mix(in srgb,var(--sem-rose) 9%,transparent)}.ent.c-rose .cdot{background:var(--sem-rose);border-color:var(--sem-rose)}.ent.c-violet{border-left:3px solid var(--sem-violet)}.ent.c-violet .ent-h{background:color-mix(in srgb,var(--sem-violet) 9%,transparent)}.ent.c-violet .cdot{background:var(--sem-violet);border-color:var(--sem-violet)}.rg{color:var(--jm-rel)}.rg:hover,.rg.sel{color:var(--jm-signal)}.rels .rline{stroke:var(--jm-rel);transition:stroke .22s var(--jm-ease)}.rg:hover .rline,.rg.sel .rline{stroke:var(--jm-signal)}.rels .glyph{stroke:var(--jm-rel);fill:none;transition:stroke .22s var(--jm-ease)}.rg:hover .glyph,.rg.sel .glyph{stroke:var(--jm-signal)}.rels .temp{stroke:var(--jm-rel);transition:stroke var(--jm-dur-fast)}.temp-tip{fill:var(--jm-rel);transition:fill var(--jm-dur-fast);transform-box:fill-box;transform-origin:center}.temp-wrap.armed .temp{stroke:var(--jm-signal)}.temp-wrap.armed .temp-tip{fill:var(--jm-signal);animation:snatch .19s var(--jm-ease)}@keyframes snatch{0%{transform:scale(2.6);opacity:.4}55%{transform:scale(.82)}to{transform:scale(1)}}.rg.settling .rline,.rg.settling .glyph{stroke:var(--jm-signal);transition:none}.rel-card{font-family:var(--jm-mono);font-size:10px;fill:var(--jm-text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.rg:hover .rel-card,.rg.sel .rel-card{fill:var(--jm-signal-text)}.rel-role{font-family:var(--jm-mono);font-size:10px;fill:var(--jm-text-dim)}.rel-role-inline{fill:var(--jm-text-dim)}.rel-label-bg{fill:var(--jm-canvas);pointer-events:none}.rel-role-wrap{height:100%;display:flex;align-items:center}.rel-role-input{width:100%;box-sizing:border-box;font-family:var(--jm-mono);font-size:10px;line-height:1;text-align:center;color:var(--jm-text);background:var(--jm-surface);border:1px solid var(--jm-signal);border-radius:var(--jm-r-sm);outline:0;padding:2px 4px;caret-color:var(--jm-signal)}.rel-role-input::placeholder{color:var(--jm-text-dim)}.rel-end{fill:var(--jm-surface);stroke:var(--jm-signal);stroke-width:1.5;cursor:grab}.rel-end:hover{fill:var(--jm-signal-weak)}.rel-del{cursor:pointer}.rel-del-bg{fill:var(--jm-surface);stroke:var(--jm-signal);stroke-width:1.5}.rel-del line{stroke:var(--jm-signal);stroke-width:1.5}.zoomctl{position:absolute;right:14px;bottom:14px;z-index:8;display:flex;align-items:center;gap:2px;background:var(--jm-surface);border:1px solid var(--jm-line-2);border-radius:var(--jm-r-pill);box-shadow:var(--jm-shadow-card);padding:3px}.zoomctl button{min-width:28px;height:26px;border:0;background:transparent;color:var(--jm-text-mid);cursor:pointer;font-family:var(--jm-ui);font-size:15px;border-radius:var(--jm-r-pill);line-height:1}.zoomctl button.pct{font-family:var(--jm-mono);font-size:11px;min-width:42px}.zoomctl button:hover{background:var(--jm-surface-2);color:var(--jm-text)}.review-flag{display:inline-flex;align-items:center;gap:6px;font-family:var(--jm-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--jm-signal-text);background:var(--jm-signal-weak);border:1px dashed var(--jm-signal);border-radius:var(--jm-r-sm);padding:3px 8px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--jm-scrim);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(440px,92vw);background:var(--jm-surface);border:1px solid var(--jm-line-2);border-radius:var(--jm-r-lg);box-shadow:var(--jm-shadow-pop)}.modal-h{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--jm-line)}.modal-h h2{font-family:var(--jm-ui);font-weight:600;font-size:16px;letter-spacing:-.01em;margin:0;color:var(--jm-text)}.modal-h .sp{flex:1}.modal-b{padding:18px}.scaffold-screen{height:100%;display:flex;align-items:center;justify-content:center;background:var(--jm-bg);padding:24px}.scaffold-card{width:min(520px,92vw);background:var(--jm-surface);border:1px solid var(--jm-line-2);border-radius:var(--jm-r-lg);box-shadow:var(--jm-shadow-card)}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--jm-text-mid);font-size:13.5px;line-height:1.5;margin:0;max-width:60ch}.muted.small,.small{font-size:11px;color:var(--jm-text-dim)}.hint-note{font-family:var(--jm-mono);font-size:11px;color:var(--jm-text-dim);margin:0}.hr-line{height:1px;background:var(--jm-line);margin:4px 0}.row-between{display:flex;align-items:center;justify-content:space-between}.cloud-form{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.cloud-form[disabled]{opacity:.55}.field{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--jm-text)}.field select{font-family:var(--jm-ui);font-size:13px;color:var(--jm-text);background:var(--jm-surface-2);border:1px solid var(--jm-line-2);border-radius:var(--jm-r-sm);padding:5px 8px}.btn.icon.danger{color:var(--sem-rose);border-color:var(--sem-rose);font-size:11px;font-weight:600;padding:6px 8px}.linklike{background:transparent;border:0;color:var(--jm-signal-text);font:inherit;cursor:pointer;text-decoration:underline;padding:0}.auth-screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 20px;background:var(--jm-bg)}.auth-brand{display:flex;align-items:center;gap:10px}.auth-brand .mark{height:26px;color:var(--jm-text)}.jm-clerk-card{box-shadow:var(--jm-shadow-pop)!important;border:1px solid var(--jm-line-2)!important}.home{min-height:100%;display:flex;flex-direction:column;background:var(--jm-bg)}.home-bar{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--jm-line);background:var(--jm-surface)}.home-bar .mark{height:22px;color:var(--jm-text)}.home-bar .sp{flex:1}.home-main{width:min(760px,92vw);margin:0 auto;padding:40px 0;flex:1}.home-title{font-family:var(--jm-ui);font-weight:600;font-size:22px;letter-spacing:-.02em;color:var(--jm-text);margin:0 0 20px}.home-error{font-size:13px;color:var(--sem-rose);background:color-mix(in srgb,var(--sem-rose) 8%,transparent);border:1px solid color-mix(in srgb,var(--sem-rose) 30%,transparent);border-radius:var(--jm-r-md);padding:9px 12px}.board-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.board-row{display:flex;align-items:center;gap:8px;border:1px solid var(--jm-line);border-radius:var(--jm-r-md);background:var(--jm-surface);transition:border-color var(--jm-dur-fast)}.board-row:hover{border-color:var(--jm-line-2)}.board-open{flex:1;display:flex;align-items:baseline;gap:12px;text-align:left;background:transparent;border:0;cursor:pointer;padding:13px 14px;border-radius:var(--jm-r-md)}.board-name{font-family:var(--jm-ui);font-weight:600;font-size:14px;color:var(--jm-text)}.board-time{font-family:var(--jm-mono);font-size:11px;color:var(--jm-text-dim)}.board-rename{flex:1;font-family:var(--jm-ui);font-weight:600;font-size:14px;color:var(--jm-text);background:transparent;border:0;border-bottom:1px solid var(--jm-signal);outline:0;margin:12px 14px;caret-color:var(--jm-signal)}.board-actions{display:flex;align-items:center;gap:4px;padding-right:10px;opacity:0;transition:opacity var(--jm-dur-fast)}.board-row:hover .board-actions,.board-row:focus-within .board-actions{opacity:1}.presence-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;overflow:hidden}.peer-cursor{position:absolute;transform:translate(-2px,-2px);display:flex;align-items:flex-start;gap:0;will-change:left,top}.peer-cursor svg{display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.peer-pill{margin:-1px 0 0 -2px;font-family:var(--jm-ui);font-weight:600;font-size:10.5px;line-height:1;color:var(--jm-on-signal);padding:3px 7px;border-radius:var(--jm-r-pill);white-space:nowrap;box-shadow:var(--jm-shadow-card)}.conn{display:inline-flex;align-items:center;gap:6px;font-family:var(--jm-mono);font-size:10px;color:var(--jm-text-dim)}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--jm-text-dim);flex:none}.conn-dot.online{background:var(--jm-signal)}.conn-dot.syncing,.conn-dot.connecting{background:var(--jm-signal);animation:conn-pulse 1.2s var(--jm-ease) infinite}.conn-dot.offline{background:var(--jm-text-dim)}@keyframes conn-pulse{0%,to{opacity:1}50%{opacity:.35}}.ent.peer-haloed{transition:outline-color var(--jm-dur)}.stage.readonly{cursor:default}.ent.readonly .ent-x,.ent.readonly .handle,.ent.readonly .redge,.ent.readonly .addfield,.ent.readonly .fieldinput,.ent.readonly .row-x{display:none}.ent.readonly .ent-h{cursor:default}.ent.readonly .cdot,.ent.readonly .ty{cursor:default;pointer-events:none}.viewonly-tag{font-family:var(--jm-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--jm-text-dim);border:1px solid var(--jm-line-2);border-radius:var(--jm-r-pill);padding:3px 9px}.status-screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:32px;background:var(--jm-bg)}.status-brand{display:flex;align-items:center;gap:10px;text-decoration:none}.status-brand .mark{height:24px;color:var(--jm-text)}.status-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:42ch}.status-code{font-family:var(--jm-mono);font-size:12px;letter-spacing:.16em;color:var(--jm-text-dim)}.status-card h1{font-family:var(--jm-ui);font-weight:600;font-size:22px;letter-spacing:-.02em;color:var(--jm-text);margin:0}.status-card .btn{margin-top:6px;text-decoration:none}
