@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(/raft-visualization/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/raft-visualization/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(/raft-visualization/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/raft-visualization/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/raft-visualization/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/raft-visualization/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/raft-visualization/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/raft-visualization/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/raft-visualization/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/raft-visualization/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/raft-visualization/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/raft-visualization/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/raft-visualization/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/raft-visualization/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/raft-visualization/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/raft-visualization/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0a0e1a;--haze:#131b2e;--line:#24304a;--line-soft:#1a2438;--text:#d9e2f2;--dim:#7c89a1;--faint:#4a5670;--leader:#ffc24b;--candidate:#c77dff;--follower:#4fb6d8;--stopped:#5b6478;--danger:#ff6b6b;--serif:"Instrument Serif", georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", menlo, monospace;--panel-bg:color-mix(in srgb, var(--haze) 76%, transparent);--panel-blur:blur(14px);--radius:10px}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--text);font-family:var(--mono);margin:0;font-size:13px;line-height:1.45;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input{font:inherit;color:inherit}#stage{position:fixed;inset:0}#scene,#scene canvas{display:block;position:absolute;inset:0}#labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.node-label{pointer-events:auto;cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;transition:opacity .2s;position:absolute;transform:translate(-50%)}.node-label .node-id{letter-spacing:.04em;font-size:13px;font-weight:600}.node-label .node-role{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-size:10px}.node-label.is-selected .node-id{text-underline-offset:3px;text-decoration:underline}.node-cells{justify-content:center;gap:2px;min-height:7px;margin-top:4px;display:flex}.node-cell{border:1px solid var(--cell,var(--follower));opacity:.6;border-radius:2px;width:7px;height:7px;transition:background .2s,opacity .2s}.node-cell.committed{background:color-mix(in srgb, var(--cell,var(--follower)) 75%, transparent);opacity:1}.node-cell.missing{border-style:dashed;border-color:var(--faint);opacity:.45}.node-label.is-stopped{opacity:.45}.panel{background:var(--panel-bg);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px #00000059}.panel-title{border-bottom:1px solid var(--line-soft);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);justify-content:space-between;align-items:baseline;gap:8px;padding:9px 12px 7px;font-size:10px;display:flex}.panel-title .grow{text-align:right;flex:1}.mini-reset{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--faint);border-radius:99px;flex-shrink:0;padding:2px 7px;font-size:9px;transition:color .15s,border-color .15s}.mini-reset:hover{color:var(--text);border-color:var(--dim)}#topbar{z-index:20;pointer-events:none;align-items:center;gap:20px;padding:12px 20px;display:flex;position:fixed;top:0;left:0;right:0}#topbar>*{pointer-events:auto}.wordmark{align-items:baseline;gap:12px;display:flex}.wordmark h1{font-family:var(--serif);letter-spacing:.01em;margin:0;font-size:30px;font-style:italic;font-weight:400}.wordmark .tagline{color:var(--dim);letter-spacing:.08em;font-size:11px}.cluster-stats{align-items:center;gap:18px;margin-left:auto;padding:6px 14px;display:flex}.stat{align-items:baseline;gap:7px;display:flex}.stat .k{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:10px}.stat .v{font-family:var(--serif);font-size:22px;font-style:italic;line-height:1}.stat .v.leader-name{color:var(--leader)}.topbar-actions{gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--panel-bg);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);white-space:nowrap;color:var(--text);border-radius:7px;padding:7px 12px;font-size:12px;transition:border-color .15s,color .15s,background .15s}.btn:hover{border-color:var(--dim)}.btn:focus-visible,input:focus-visible{outline:2px solid var(--follower);outline-offset:2px}.btn.is-on{border-color:var(--leader);color:var(--leader)}.btn.is-danger:hover{border-color:var(--danger);color:var(--danger)}.btn:disabled{opacity:.4;cursor:default}#dials{z-index:15;flex-direction:column;gap:10px;width:232px;display:flex;position:fixed;top:64px;left:16px}.dials-body{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.dials-body>.btn{-webkit-backdrop-filter:none;backdrop-filter:none;text-align:center;background:0 0}.dial{flex-direction:column;gap:3px;display:flex}.dial-head{color:var(--dim);justify-content:space-between;font-size:11px;display:flex;position:relative}.dial-label{align-items:center;display:inline-flex}.dial-head .v{color:var(--text);font-variant-numeric:tabular-nums}.dial input[type=range]{width:100%;accent-color:var(--follower);margin:0}.dials-status{color:var(--faint);font-size:10.5px;line-height:1.5}.dials-status.is-risky{color:var(--leader)}.dials-status.is-split{color:var(--danger)}.sub-label{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:2px;font-size:10px;position:relative}.info{border:1px solid var(--line);width:13px;height:13px;font-family:var(--serif);letter-spacing:0;text-transform:none;color:var(--faint);cursor:help;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:5px;font-size:10px;font-style:italic;line-height:1;transition:color .15s,border-color .15s;display:inline-flex;position:static}.info:hover,.info:focus-visible,.info.is-open{color:var(--text);border-color:var(--dim);outline:none}:is(.panel:has(.info:hover),.panel:has(.info:focus-visible),.panel:has(.info.is-open)){z-index:40;position:relative}.info-tip{z-index:50;border:1px solid var(--line);background:color-mix(in srgb, var(--haze) 97%, transparent);width:196px;font-family:var(--mono);letter-spacing:0;text-transform:none;text-align:left;color:var(--text);opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:8px 10px;font-size:11px;font-style:normal;line-height:1.45;transition:opacity .12s,visibility .12s;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px #00000073}.info:hover .info-tip,.info:focus-visible .info-tip,.info.is-open .info-tip{opacity:1;visibility:visible}.seg-row{gap:6px;display:flex}.btn.seg{text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none;font-variant-numeric:tabular-nums;background:0 0;flex:1;padding:7px 0;font-size:14px}#side{z-index:15;flex-direction:column;gap:10px;width:300px;display:flex;position:fixed;top:64px;bottom:120px;right:16px}#side .panel{flex-direction:column;min-height:0;display:flex}.inspector-body{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.inspector-empty{color:var(--faint);padding:14px 12px;font-size:12px}.inspector-head{align-items:center;gap:10px;display:flex}.inspector-head .big-id{font-family:var(--serif);font-size:26px;font-style:italic;line-height:1}.role-badge{letter-spacing:.14em;text-transform:uppercase;border:1px solid;border-radius:99px;padding:3px 8px;font-size:9px}.role-badge.leader{color:var(--leader)}.role-badge.candidate{color:var(--candidate)}.role-badge.follower{color:var(--follower)}.role-badge.stopped{color:var(--stopped)}.kv-rows,.inspector-grid{grid-template-columns:auto 1fr;gap:3px 14px;font-size:12px;display:grid}.inspector-grid .k{color:var(--dim)}.inspector-grid .v{text-align:right}.timer-track{background:var(--line-soft);border-radius:2px;height:4px;overflow:hidden}.timer-fill{background:var(--follower);border-radius:2px;height:100%;transition:none}.inspector-actions{gap:6px;padding-top:2px;display:flex}.inspector-actions .btn{text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;flex:1;padding:6px 8px}.kv-body{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.kv-table{flex-direction:column;gap:2px;max-height:132px;display:flex;overflow-y:auto}.kv-row{border-radius:4px;align-items:center;gap:8px;padding:2px 4px;display:flex}.kv-row:hover{background:#ffffff0a}.kv-row .kv-idx{min-width:26px;color:var(--faint);font-variant-numeric:tabular-nums;text-align:left;flex-shrink:0;font-size:10.5px}.kv-row .key{color:var(--follower)}.kv-row .eq{color:var(--faint)}.kv-row .val{flex:1}.kv-row .del{color:var(--faint);opacity:0;padding:0 4px;font-size:11px}.kv-row:hover .del{opacity:1}.kv-row .del:hover{color:var(--danger)}.kv-row.pending{opacity:.42}.kv-row.deleting .key,.kv-row.deleting .val{text-decoration:line-through}.kv-empty{color:var(--faint);padding:4px;font-size:12px}.kv-form{gap:6px;display:flex}.kv-form input{border:1px solid var(--line);background:#00000040;border-radius:6px;flex:1;width:0;padding:6px 8px;font-size:12px}.kv-form input::placeholder{color:var(--faint)}.kv-form .btn{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.kv-note{color:var(--faint);font-size:11px}.kv-note .no-leader{color:var(--candidate)}.feed{flex:1;min-height:80px}.feed-body{flex-direction:column;flex:1;gap:4px;min-height:0;padding:8px 12px;display:flex;overflow-y:auto}.feed-line{color:var(--dim);gap:8px;font-size:11.5px;animation:.24s feed-in;display:flex}.feed-line .t{color:var(--faint);flex-shrink:0}.feed-line .dot{background:var(--faint);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.feed-line strong{color:var(--text);font-weight:500}.feed-empty{color:var(--faint);font-size:12px}@keyframes feed-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}#logmatrix{z-index:15;max-width:min(620px,100vw - 360px);position:fixed;bottom:120px;left:16px}.lm-body{scrollbar-width:thin;flex-direction:column;gap:5px;padding:10px 12px;display:flex;overflow-x:auto}.lm-row{align-items:center;gap:4px;display:flex}.lm-id{flex-shrink:0;align-items:center;gap:5px;width:44px;font-size:11px;display:flex}.lm-id .role-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.lm-cell{border:1px solid var(--cell,var(--follower));width:22px;height:20px;color:var(--cell,var(--follower));opacity:.55;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:9.5px;display:flex;position:relative}.lm-cell.committed{opacity:1;background:color-mix(in srgb, var(--cell,var(--follower)) 26%, transparent)}.lm-cell.noop{border-style:dotted;font-size:8px}.lm-cell.flash{animation:.7s ease-out commit-flash}@keyframes commit-flash{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--cell,#fff) 80%, transparent);background:color-mix(in srgb, var(--cell,#fff) 60%, transparent)}to{box-shadow:0 0 8px 4px #0000}}.lm-cell.lm-gap{border-color:var(--line-soft);opacity:.4}.lm-stopped{opacity:.35}.lm-empty{color:var(--faint);padding:2px 4px;font-size:11px}#timeline{z-index:20;align-items:center;gap:14px;padding:12px 16px;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.transport{flex:2;align-items:center;gap:8px;display:flex}.play-btn{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;transition:border-color .15s;display:flex}.play-btn:hover{border-color:var(--leader);color:var(--leader)}.speed-ctl{flex:2;align-items:center;gap:8px;display:flex}.speed-ctl input[type=range]{width:0;min-width:80px;accent-color:var(--follower);flex:1;margin:0}.speed-readout{color:var(--text);font-variant-numeric:tabular-nums;min-width:46px;font-size:11px}.time-readout{color:var(--dim);text-align:right;font-variant-numeric:tabular-nums;min-width:86px;font-size:12px}.tape-wrap{cursor:pointer;flex:3;height:36px;position:relative}.tape-wrap canvas{border-radius:6px;width:100%;height:100%;position:absolute;inset:0}.live-btn{letter-spacing:.14em;border:1px solid var(--line);color:var(--dim);border-radius:7px;align-items:center;gap:7px;padding:7px 12px;font-size:11px;display:flex}.live-btn .pulse{background:var(--faint);border-radius:50%;width:7px;height:7px}.live-btn.is-live{color:var(--text);border-color:var(--line)}.live-btn.is-live .pulse{background:var(--danger);animation:1.6s ease-in-out infinite live-pulse}.live-btn:not(.is-live):hover{border-color:var(--leader);color:var(--leader)}@keyframes live-pulse{0%,to{box-shadow:0 0 #ff6b6b99}50%{box-shadow:0 0 0 5px #ff6b6b00}}#toasts{z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:84px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--line);background:var(--panel-bg);-webkit-backdrop-filter:var(--panel-blur);backdrop-filter:var(--panel-blur);border-radius:99px;padding:8px 16px;font-size:12px;animation:.25s toast-in}.toast.bye{animation:.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(8px)}}@media (width<=980px){#side{width:252px}#logmatrix{max-width:calc(100vw - 300px)}.wordmark .tagline{display:none}}.sheet-tabs{display:none}body.is-compact{--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--tabbar-h:46px;--bottom-chrome:calc(var(--tabbar-h) + var(--safe-b))}body.is-compact #topbar{padding:calc(8px + var(--safe-t)) 12px 8px;flex-wrap:wrap;gap:10px}body.is-compact .wordmark h1{font-size:22px}body.is-compact .cluster-stats{display:none}body.is-compact .topbar-actions{flex-wrap:wrap;gap:6px;margin-left:auto}body.is-compact .topbar-actions .btn{padding:6px 9px;font-size:11px}body.is-compact #timeline{left:8px;right:8px;bottom:calc(var(--bottom-chrome) + 8px);flex-wrap:wrap;gap:8px 10px;padding:10px 12px}body.is-compact #timeline .tape-wrap{flex:1 0 100%;order:-1;height:30px}body.is-compact .time-readout{min-width:0}body.is-compact .speed-ctl input[type=range]{min-width:56px}body.is-compact .live-btn{letter-spacing:.1em;padding:7px 10px}body.is-compact .sheet-tabs{z-index:30;padding:6px 8px calc(6px + var(--safe-b));background:color-mix(in srgb, var(--ink) 90%, transparent);-webkit-backdrop-filter:var(--panel-blur);border-top:1px solid var(--line-soft);gap:6px;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet-tab{border:1px solid var(--line);background:var(--panel-bg);color:var(--dim);letter-spacing:.12em;text-transform:uppercase;border-radius:8px;flex:1;padding:9px 4px;font-size:11px;transition:color .15s,border-color .15s}.sheet-tab.is-active{color:var(--text);border-color:var(--follower)}body.is-compact #side,body.is-compact #dials,body.is-compact #logmatrix{inset:auto 8px calc(var(--bottom-chrome) + 8px);z-index:25;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;width:auto;max-width:none;max-height:min(48vh,440px);display:none;position:fixed;overflow-y:auto}body.is-compact #side.is-open,body.is-compact #dials.is-open,body.is-compact #logmatrix.is-open{display:flex}body.is-compact #side>*,body.is-compact #dials>*,body.is-compact #logmatrix>*{flex:none}body.is-compact #toasts{bottom:calc(var(--bottom-chrome) + 16px)}body.is-compact.sheet-open #timeline{visibility:hidden;pointer-events:none}.msg-overlay{z-index:60;background:color-mix(in srgb, var(--ink) 60%, transparent);-webkit-backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.msg-overlay.is-open{display:flex}.msg-modal{flex-direction:column;gap:12px;width:min(340px,100%);max-height:calc(100dvh - 40px);padding:16px 18px;display:flex;overflow-y:auto;box-shadow:0 24px 64px #0000008c}.msg-head{align-items:flex-start;gap:10px;display:flex}.msg-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:11px;height:11px;margin-top:7px;box-shadow:0 0 10px}.msg-titles{flex:1;min-width:0}.msg-kind{font-family:var(--serif);font-size:23px;font-style:italic;line-height:1.15}.msg-sub{color:var(--dim);letter-spacing:.02em;font-size:11px}.msg-close{border:1px solid var(--line);width:27px;height:27px;color:var(--dim);border-radius:7px;flex-shrink:0;font-size:19px;line-height:1;transition:color .15s,border-color .15s}.msg-close:hover{color:var(--text);border-color:var(--dim)}.msg-route{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);font-family:var(--serif);justify-content:center;align-items:center;gap:14px;padding:10px 0;font-size:26px;font-style:italic;display:flex}.msg-arrow{color:var(--dim);font-style:normal}.msg-section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:10px}.msg-entries{flex-direction:column;gap:4px;display:flex}.msg-entry{border:1px solid var(--line-soft);border-radius:6px;align-items:baseline;gap:8px;padding:6px 9px;font-size:12px;display:flex}.msg-entry-idx{color:var(--text);font-variant-numeric:tabular-nums}.msg-entry-term{color:var(--dim);font-size:10.5px}.msg-entry-cmd{color:var(--follower);font-variant-numeric:tabular-nums;margin-left:auto}.msg-meta{font-size:11px}.msg-meta .v{color:var(--dim)}@media (prefers-reduced-motion:reduce){.feed-line,.toast,.live-btn.is-live .pulse{animation:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-track{background:0 0}
