.app{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:var(--lightningcss-light,#f7f8fa)var(--lightningcss-dark,#141619);--chassis:var(--lightningcss-light,#eceef1)var(--lightningcss-dark,#1b1e22);--raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#22262b);--sunken:var(--lightningcss-light,#e7eaee)var(--lightningcss-dark,#191c20);--wash:var(--lightningcss-light,#f1f3f6)var(--lightningcss-dark,#262a30);--ink:var(--lightningcss-light,#191d23)var(--lightningcss-dark,#e7eaee);--ink-2:var(--lightningcss-light,#5c636d)var(--lightningcss-dark,#a2aab5);--ink-3:var(--lightningcss-light,#666e7b)var(--lightningcss-dark,#7c8593);--rule:var(--lightningcss-light,#e2e5ea)var(--lightningcss-dark,#2c3137);--rule-2:var(--lightningcss-light,#cdd2da)var(--lightningcss-dark,#414751);--live:var(--lightningcss-light,#5646c6)var(--lightningcss-dark,#a79bff);--live-hover:var(--lightningcss-light,#4536ad)var(--lightningcss-dark,#bcb2ff);--live-wash:var(--lightningcss-light,#eeecfb)var(--lightningcss-dark,#23203a);--danger:var(--lightningcss-light,#b23b32)var(--lightningcss-dark,#f0918a);--danger-wash:var(--lightningcss-light,#fcecea)var(--lightningcss-dark,#2e1c1a);--grid-dot:var(--lightningcss-light,#dbdfe5)var(--lightningcss-dark,#24282d);--grid-mark:var(--lightningcss-light,#c4cad3)var(--lightningcss-dark,#32373e);--shade:var(--lightningcss-light,24 28 36)var(--lightningcss-dark,0 0 0);--lift-1:0 1px 1px rgb(var(--shade) / .05), 0 0 0 .5px rgb(var(--shade) / .04);--lift-2:0 1px 2px rgb(var(--shade) / .08), 0 2px 6px -2px rgb(var(--shade) / .08);--lift-3:0 2px 6px -1px rgb(var(--shade) / .1), 0 12px 28px -10px rgb(var(--shade) / .22);--lift-4:0 4px 12px -2px rgb(var(--shade) / .14), 0 32px 64px -16px rgb(var(--shade) / .34);--scrim:var(--lightningcss-light,rgba(28,32,40,.32))var(--lightningcss-dark,rgba(4,5,7,.62));--s1:2px;--s2:4px;--s3:8px;--s4:12px;--s5:18px;--s6:28px;--r-1:3px;--r-2:6px;--r-3:10px;--r-4:16px;--r-node:12px;--r-full:999px;--font-ui:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:ui-serif, "New York", "Iowan Old Style", Charter, "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Noto Serif", "Liberation Serif", serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Cascadia Mono", "Roboto Mono", "DejaVu Sans Mono", monospace;--t-micro:11px;--t-small:12px;--t-body:13px;--t-lead:15px;--t-title:18px;--control:30px;--control-sm:26px;--control-lg:34px;--icon:16px;--dur-1:90ms;--dur-2:.15s;--dur-3:.22s;--ease:cubic-bezier(.2, .7, .3, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--z-chrome:1;--z-float:10;--z-toolbar:30;--z-popover:40;--z-modal:100;--z-toast:110}@media (prefers-color-scheme:dark){.app{--lightningcss-light: ;--lightningcss-dark:initial}}.app[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.app[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}html,body,#main{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--live);outline-offset:2px}.app:focus-visible{outline:none}.canvas:focus-visible{outline:none}.app{isolation:isolate;background:var(--paper);width:100%;height:100dvh;color:var(--ink);font-family:var(--font-ui);font-size:var(--t-body);flex-direction:column;display:flex;overflow:hidden}.mono,kbd,.count,.zoom-value,.cloud-dialog input{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.field-label{margin-bottom:var(--s3);color:var(--ink-3);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;font-weight:500}kbd{border:1px solid var(--rule-2);border-radius:var(--r-1);background:var(--raised);min-width:20px;color:var(--ink);font-size:var(--t-micro);text-align:center;white-space:nowrap;border-bottom-width:2px;padding:2px 6px;line-height:1.35;display:inline-block}.toolbar{z-index:var(--z-toolbar);justify-content:space-between;align-items:center;gap:var(--s4);height:46px;padding:0 max(var(--s4), env(safe-area-inset-left)) 0 max(var(--s4), env(safe-area-inset-right));border-bottom:1px solid var(--rule);background:var(--chassis);flex:0 0 46px;display:flex;position:relative}.toolbar-group{align-items:center;min-width:0;display:flex}.brand{gap:var(--s3);flex:auto}.actions{gap:var(--s3);flex:none}.mark{width:21px;height:21px;color:var(--ink);flex:none}.title{width:min(32vw,320px);min-width:0;height:var(--control);padding:0 var(--s3);border-radius:var(--r-2);font-size:var(--t-body);text-overflow:ellipsis;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);background:0 0;border:1px solid transparent;font-weight:500}.title::placeholder{color:var(--ink-3);font-weight:400}.title:hover{border-color:var(--rule-2)}.title:focus{border-color:var(--rule-2);background:var(--raised);box-shadow:0 0 0 3px var(--live-wash);outline:none}.toolbar button,.popover button,.menu-item,.canvas-controls button,.dialog button{height:var(--control);min-width:var(--control);justify-content:center;align-items:center;gap:var(--s3);padding:0 var(--s4);border-radius:var(--r-2);color:var(--ink-2);font-size:var(--t-small);white-space:nowrap;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);background:0 0;border:1px solid transparent;display:inline-flex}.toolbar button.icon,.dialog button.icon,.canvas-controls button.icon,.file-delete{gap:0;padding:0}@media (hover:hover) and (pointer:fine){.toolbar button:hover:not(:disabled),.dialog button:hover:not(:disabled),.canvas-controls button:hover:not(:disabled){border-color:var(--rule);background:var(--raised);color:var(--ink);box-shadow:var(--lift-1)}.popover button:hover:not(:disabled),.menu-item:hover{background:var(--wash);color:var(--ink)}}.toolbar button[aria-expanded=true]{border-color:var(--rule);background:var(--raised);color:var(--ink);box-shadow:var(--lift-1)}.toolbar button:active:not(:disabled),.canvas-controls button:active:not(:disabled),.dialog button:active:not(:disabled){background:var(--sunken);box-shadow:none}button:disabled{color:var(--ink-3);cursor:default;opacity:.55;background:0 0;border-color:transparent}.count{border-radius:var(--r-full);background:var(--sunken);min-width:18px;height:18px;color:var(--ink-2);place-items:center;padding:0 5px;font-size:10.5px;display:inline-grid}.icon-svg{width:var(--icon);height:var(--icon);pointer-events:none;flex:none;display:block}.trigger .icon-svg:last-child{opacity:.6;margin-left:-2px}.segmented{border-radius:var(--r-2);background:var(--sunken);align-items:center;gap:1px;padding:2px;display:flex}.toolbar .segmented button{height:var(--control-sm);min-width:var(--control-sm);border-radius:var(--r-1)}.menu{position:relative}.popover{z-index:var(--z-popover);min-width:208px;padding:var(--s2);border:1px solid var(--rule);border-radius:var(--r-3);background:var(--raised);box-shadow:var(--lift-3);transform-origin:0 0;animation:pop var(--dur-2) var(--ease-out);position:absolute;top:calc(100% + 6px);left:0}.popover.align-right{transform-origin:100% 0;left:auto;right:0}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.popover button,.menu-item{border-radius:var(--r-2);justify-content:flex-start;width:100%}.menu-item{cursor:pointer;position:relative}.menu-item input{opacity:0;width:1px;height:1px;position:absolute}.popover kbd{margin-left:auto}.popover-head{padding:var(--s2) var(--s2) var(--s2) var(--s4);color:var(--ink);font-size:var(--t-small);justify-content:space-between;align-items:center;font-weight:700;display:flex}.popover-head button.quiet{width:auto;height:var(--control-sm);padding:0 var(--s3);color:var(--live)}@media (hover:hover) and (pointer:fine){.popover-head button.quiet:hover{background:var(--live-wash);color:var(--live-hover)}}.menu-note{margin:var(--s2) 0 0;padding:var(--s3) var(--s4);border-top:1px solid var(--rule);color:var(--ink-3);font-size:var(--t-micro);line-height:1.5}.maps-popover{width:340px}.file-list{gap:var(--s1);scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent;max-height:min(52dvh,420px);display:grid;overflow-y:auto}.file-row{border-radius:var(--r-2);position:relative}.file-row:hover{background:var(--wash)}.file-row:focus-within{background:var(--wash)}.file-row.active{background:var(--live-wash)}.file-row .file-open{align-items:center;gap:var(--s4);width:100%;height:58px;padding:0 32px 0 var(--s2);grid-template-columns:80px minmax(0,1fr) 16px;display:grid}.map-plate,.invalid-plate{border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper);width:80px;height:52px}.plate-node{fill:var(--accent-fill);stroke:var(--accent-border);vector-effect:non-scaling-stroke}.plate-edge{fill:none;stroke:var(--ink-3);stroke-width:1px;opacity:.55;vector-effect:non-scaling-stroke}.invalid-plate{border-style:dashed;border-color:var(--danger);background:var(--danger-wash);color:var(--danger);place-items:center;display:grid}.invalid-plate .icon-svg{width:20px;height:20px}.file-row.invalid .file-copy small{color:var(--danger)}.file-copy{text-align:left;gap:2px;min-width:0;display:grid}.file-copy strong,.file-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-copy strong{color:var(--ink);font-size:var(--t-small);font-weight:500}.file-copy small{color:var(--ink-3);font-size:var(--t-micro)}.current{color:var(--live);place-items:center;display:grid}.file-row .file-delete{top:50%;right:var(--s2);width:26px;min-width:0;height:26px;color:var(--ink-3);opacity:0;position:absolute;transform:translateY(-50%)}.file-row:hover .file-delete{opacity:1}.file-row:focus-within .file-delete{opacity:1}.file-row .file-delete:hover{background:var(--danger-wash);color:var(--danger)}.delete-confirm{align-items:center;gap:var(--s3);height:58px;padding:0 var(--s3) 0 var(--s4);font-size:var(--t-small);display:flex}.delete-confirm span{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.delete-confirm button{width:auto;min-width:0;height:var(--control-sm);padding:0 var(--s4);flex:none}.delete-confirm button.danger{border-color:var(--danger);background:var(--danger);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a1010);font-weight:500}.delete-confirm button.danger:hover:not(:disabled){border-color:var(--danger);background:var(--danger);color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1a1010);filter:brightness(1.08)}.canvas-shell{flex:1;min-height:0;position:relative;overflow:clip}.canvas{touch-action:none;cursor:grab;background-color:var(--paper);position:absolute;inset:0}.canvas-chrome{pointer-events:none;position:absolute;inset:0}.canvas-chrome>*{pointer-events:auto}.paper{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.canvas:not([data-gesture=idle]) *{cursor:inherit}.canvas[data-gesture=pan]{cursor:grabbing}.canvas[data-gesture=marquee]{cursor:crosshair}.canvas[data-gesture=seat]{cursor:grabbing}.canvas[data-gesture=connect]{cursor:crosshair}.canvas[data-gesture=move],.canvas[data-gesture=label]{cursor:grabbing}.canvas[data-gesture=resize-x]{cursor:ew-resize}.canvas[data-gesture=resize-y]{cursor:ns-resize}.world{transform-origin:0 0;will-change:transform;width:0;height:0;position:absolute;inset:0 auto auto 0}.empty-canvas{align-content:center;justify-items:center;gap:var(--s3);pointer-events:none;animation:fade-in var(--dur-3) var(--ease-out);display:grid;position:absolute;inset:0}.empty-lead{color:var(--ink-2);font-size:var(--t-title);letter-spacing:-.01em;margin:0;font-weight:500}.empty-hint{color:var(--ink-3);font-size:var(--t-body);margin:0}@keyframes fade-in{0%{opacity:0}}.edge-layer{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.edge-layer>g{transform-origin:0 0}.port-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.port-layer>g{transform-origin:0 0}.edge-stroke{fill:none;stroke:var(--accent-line);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.edge.pattern-dashed .edge-stroke{stroke-dasharray:calc(var(--edge-weight) * 3.4) calc(var(--edge-weight) * 2.6);stroke-linecap:butt}.edge.pattern-dotted .edge-stroke{stroke-dasharray:.01 calc(var(--edge-weight) * 2.4)}.edge-halo{fill:none;stroke:transparent;stroke-width:9px;vector-effect:non-scaling-stroke;pointer-events:none;transition:stroke var(--dur-1) var(--ease)}.edge:hover .edge-halo{stroke:color-mix(in srgb, var(--accent-line) 24%, transparent)}.edge.selected .edge-halo{stroke:color-mix(in srgb, var(--live) 40%, transparent)}.edge-hit{fill:none;stroke:transparent;stroke-width:14px;vector-effect:non-scaling-stroke;cursor:grab}.arrow{fill:var(--accent-line);stroke:none;pointer-events:none}.port{fill:var(--paper);stroke:var(--accent-line);stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.edge.selected .port{stroke:var(--live)}.seat-lattice{pointer-events:none}.seat{fill:color-mix(in srgb, var(--live) 45%, transparent);stroke:none}.seat.taking{fill:var(--paper);stroke:var(--live);stroke-width:1.5px;vector-effect:non-scaling-stroke}.drop-card{fill:none;stroke:var(--live);stroke-width:2px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;opacity:.75}.port-hit{fill:transparent;stroke:transparent;stroke-width:12px;vector-effect:non-scaling-stroke;pointer-events:auto;cursor:grab}.edge.preview{opacity:.9}.edge.preview.discarding{opacity:.5}.edge.preview.discarding .edge-stroke{stroke-dasharray:5 4}.edge.preview .edge-label{pointer-events:none;cursor:inherit}.edge-label-object{overflow:visible}.edge-label-slot{pointer-events:none;justify-content:center;align-items:center;height:32px;display:flex}.edge-label,.edge-label-input{pointer-events:auto}.edge-label{border-radius:var(--r-1);background:var(--paper);max-width:100%;box-shadow:0 0 0 2.5px var(--paper);color:var(--ink);font-size:var(--t-small);text-overflow:ellipsis;white-space:nowrap;cursor:grab;border:0;padding:1px 5px;line-height:1.5;overflow:hidden}.edge.selected .edge-label{color:var(--live)}.edge-label-input{width:100%;max-width:200px;height:26px;padding:0 var(--s3);border:1px solid var(--live);border-radius:var(--r-2);background:var(--raised);box-shadow:var(--lift-2);color:var(--ink);font-size:var(--t-small);text-align:center;outline:none}.marquee{fill:color-mix(in srgb, var(--live) 10%, transparent);stroke:var(--live);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.mind-node{padding:0 var(--s4);border:var(--node-border-width) solid var(--accent-border);border-radius:var(--r-node);background:var(--accent-fill);color:var(--accent-text);box-shadow:var(--lift-1);font-size:var(--t-body);cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);flex-direction:column;justify-content:center;line-height:20px;display:flex;position:absolute}.mind-node.pattern-dashed{border-style:dashed}.mind-node.pattern-dotted{border-style:dotted}@media (hover:hover) and (pointer:fine){.mind-node:hover{border-color:color-mix(in srgb, var(--accent-line) 55%, var(--accent-border))}}.mind-node.rim{border-color:var(--accent-line);cursor:crosshair}.mind-node.selected{border-color:var(--accent-line);box-shadow:0 0 0 1.5px var(--live), 0 0 0 5px color-mix(in srgb, var(--live) 18%, transparent), var(--lift-2)}.mind-node.editing{-webkit-user-select:text;user-select:text;box-shadow:0 0 0 1.5px var(--live), var(--lift-2)}.mind-node.settling{transition:left var(--dur-2) var(--ease-out), top var(--dur-2) var(--ease-out), width var(--dur-2) var(--ease-out), height var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease)}.node-body{width:100%;max-height:100%;padding:var(--s3) 0;pointer-events:none;overflow:hidden}.node-body>:first-child{margin-top:0}.node-body>:last-child{margin-bottom:0}.node-body p{margin:var(--s2) 0}.node-body h1,.node-body h2,.node-body h3{margin:var(--s4) 0 var(--s2);font-weight:700;line-height:1.3}.node-body h1{border-bottom:1.5px solid color-mix(in srgb, var(--accent-line) 32%, transparent);letter-spacing:-.012em;padding-bottom:3px;font-size:1.24em}.node-body h2{letter-spacing:-.008em;font-size:1.1em}.node-body h3{color:color-mix(in srgb, var(--accent-text) 78%, transparent);letter-spacing:.06em;text-transform:uppercase;font-size:.86em}.node-body ul,.node-body ol{margin:var(--s1) 0;padding-left:var(--s5)}.node-body code{border-radius:var(--r-1);background:color-mix(in srgb, var(--accent-line) 12%, transparent);font-family:var(--font-mono);padding:1px 4px;font-size:.88em}.node-body a{color:var(--accent-line);pointer-events:auto;text-underline-offset:2px}.node-body blockquote{margin:var(--s2) 0;padding-left:var(--s3);border-left:2px solid var(--accent-border);color:color-mix(in srgb, currentColor 78%, transparent)}.node-body pre{margin:var(--s2) 0;padding:var(--s2) var(--s3);border-radius:var(--r-2);background:color-mix(in srgb, var(--accent-line) 10%, transparent);font-family:var(--font-mono);font-size:.86em;line-height:1.45;overflow:auto}.node-body pre code{background:0 0;padding:0}.node-body hr{margin:var(--s3) 0;border:0;border-top:1px solid var(--accent-border)}.node-body table{width:100%;margin:var(--s2) 0;border-collapse:collapse;font-size:.9em}.node-body th,.node-body td{border:1px solid var(--accent-border);text-align:left;padding:2px 5px}.node-body th{background:color-mix(in srgb, var(--accent-line) 9%, transparent)}.node-editor{width:100%;min-height:32px;max-height:100%;padding:var(--s3) 0;resize:none;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:0;outline:0;line-height:20px;display:block;overflow:hidden}.resize-edge{z-index:var(--z-chrome);background:0 0;position:absolute}.resize-edge.top,.resize-edge.bottom{right:var(--s3);left:var(--s3);cursor:ns-resize;height:11px}.resize-edge.top{top:-6px}.resize-edge.bottom{bottom:-6px}.resize-edge.left,.resize-edge.right{top:var(--s3);bottom:var(--s3);cursor:ew-resize;width:11px}.resize-edge.left{left:-6px}.resize-edge.right{right:-6px}.canvas-text,.text-editor{--note-size:18px;--note-line:24px;--note-family:var(--font-ui);--note-weight:500;--note-track:0em;--note-size-track:0em;font-family:var(--note-family);font-size:var(--note-size);font-weight:var(--note-weight);line-height:var(--note-line);letter-spacing:calc(var(--note-track) + var(--note-size-track))}.canvas-text.size-s,.text-editor.size-s{--note-size:14px;--note-line:20px}.canvas-text.size-m,.text-editor.size-m{--note-size:18px;--note-line:24px}.canvas-text.size-l,.text-editor.size-l{--note-size:24px;--note-line:32px;--note-size-track:-.006em}.canvas-text.size-xl,.text-editor.size-xl{--note-size:32px;--note-line:42px;--note-size-track:-.014em}.canvas-text.font-sans,.text-editor.font-sans{--note-family:var(--font-ui)}.canvas-text.font-serif,.text-editor.font-serif{--note-family:var(--font-serif);--note-weight:400;--note-track:.002em}.canvas-text.font-mono,.text-editor.font-mono{--note-family:var(--font-mono);--note-track:-.012em}.canvas-text{border-radius:var(--r-2);width:max-content;min-width:40px;max-width:480px;color:var(--accent-text);white-space:pre-wrap;cursor:grab;-webkit-user-select:none;user-select:none;transition:color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);border:1px solid transparent;padding:3px 6px;position:absolute}@media (hover:hover) and (pointer:fine){.canvas-text:hover{border-color:color-mix(in srgb, var(--accent-line) 32%, transparent)}}.canvas-text:active{cursor:grabbing}.canvas-text.selected{border-color:var(--live);background:color-mix(in srgb, var(--live) 7%, transparent)}.canvas-text.settling{transition:left var(--dur-2) var(--ease-out), top var(--dur-2) var(--ease-out)}.canvas-text-body{overflow-wrap:anywhere;pointer-events:none;max-width:480px}.text-editor{min-width:200px;min-height:max(56px, calc(var(--note-line) * 2 + 8px));resize:none;border:1px solid var(--live);border-radius:var(--r-2);background:var(--raised);box-shadow:var(--lift-2);color:var(--accent-text);outline:none;padding:3px 6px}.canvas-controls{bottom:calc(var(--s5) + env(safe-area-inset-bottom));left:var(--s5);z-index:var(--z-float);border:1px solid var(--rule);border-radius:var(--r-3);background:var(--raised);box-shadow:var(--lift-2);align-items:center;gap:1px;padding:3px;display:flex;position:absolute}.canvas-controls button{height:var(--control-sm);min-width:var(--control-sm);border-radius:var(--r-2)}.canvas-controls .zoom-value{min-width:52px;padding:0 var(--s2);font-size:var(--t-micro)}.inspector{top:var(--s5);right:var(--s5);z-index:var(--z-float);width:228px;max-height:calc(100% - var(--s5) * 2);border:1px solid var(--rule);border-radius:var(--r-3);background:var(--raised);box-shadow:var(--lift-3);color:var(--ink);font-size:var(--t-small);animation:panel-in var(--dur-2) var(--ease-out);flex-direction:column;display:flex;position:absolute;overflow:hidden}@keyframes panel-in{0%{opacity:0;transform:translate(8px)}}.inspector>header{padding:var(--s3) var(--s4);border-bottom:1px solid var(--rule);white-space:nowrap;text-overflow:ellipsis;flex:none;font-weight:500;overflow:hidden}.inspector-scroll{scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent;min-height:0;overflow-y:auto}.inspector section{padding:var(--s4);border-bottom:1px solid var(--rule)}.inspector section:last-child{border-bottom:0}.inspector .segmented{width:100%}.inspector .segmented+.segmented{margin-top:var(--s2)}.inspector .segmented button{border-radius:var(--r-1);min-width:0;height:26px;color:var(--ink-2);cursor:pointer;transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);background:0 0;border:1px solid transparent;flex:1;place-items:center;padding:0;display:grid}@media (hover:hover) and (pointer:fine){.inspector .segmented button:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink)}}.inspector .segmented button.active{background:var(--raised);color:var(--ink);box-shadow:var(--lift-1)}.inspector .sample{width:100%;height:100%;max-height:14px;padding:0 var(--s2);stroke:currentColor;fill:none;overflow:visible}.inspector .sample-dashed{stroke-dasharray:5 3}.inspector .sample-dotted{stroke-dasharray:.01 4;stroke-linecap:round}.inspector .sample-head{fill:currentColor;stroke:none}.inspector .type-sample{font-weight:500;line-height:1}.inspector .type-sample.step-s{font-size:10px}.inspector .type-sample.step-m{font-size:13px}.inspector .type-sample.step-l{font-size:16px}.inspector .type-sample.step-xl{font-size:20px}.inspector .type-sample.face-sans{font-family:var(--font-ui);font-size:14px}.inspector .type-sample.face-serif{font-family:var(--font-serif);font-size:15px;font-weight:400}.inspector .type-sample.face-mono{font-family:var(--font-mono);font-size:13px}.swatches{gap:var(--s3);display:flex}.swatch{border:1px solid var(--accent-border);border-radius:var(--r-2);background:var(--accent-fill);cursor:pointer;height:28px;transition:box-shadow var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);flex:1;place-items:center;padding:0;display:grid}.swatch-dot{border-radius:var(--r-full);background:var(--accent-line);width:9px;height:9px;display:block}@media (hover:hover) and (pointer:fine){.swatch:hover{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-line) 35%, transparent)}}.swatch.active{border-color:var(--accent-line);box-shadow:0 0 0 1px var(--raised), 0 0 0 2.5px var(--live)}.swatch:focus-visible{outline-offset:1px}.toast-slot{bottom:calc(var(--s5) + env(safe-area-inset-bottom));z-index:var(--z-toast);pointer-events:none;position:fixed;left:50%;transform:translate(-50%)}.toast{max-width:calc(100vw - var(--s6) * 2);padding:var(--s3) var(--s5);border-radius:var(--r-full);background:var(--ink);box-shadow:var(--lift-3);color:var(--paper);font-size:var(--t-small);text-align:center;animation:toast-in var(--dur-2) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.modal-scrim{z-index:var(--z-modal);padding:var(--s5);background:var(--scrim);backdrop-filter:blur(8px);animation:fade-in var(--dur-2) var(--ease-out);place-items:center;display:grid;position:fixed;inset:0}.dialog{width:min(560px,100%);max-height:min(720px, calc(100dvh - var(--s5) * 2));border:1px solid var(--rule);border-radius:var(--r-4);background:var(--raised);box-shadow:var(--lift-4);color:var(--ink);animation:dialog-in var(--dur-3) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}.dialog>header{padding:var(--s4) var(--s4) var(--s4) var(--s5);border-bottom:1px solid var(--rule);flex:none;justify-content:space-between;align-items:center;display:flex}.dialog h2{font-size:var(--t-lead);letter-spacing:-.01em;margin:0;font-weight:700}.dialog>footer{padding:var(--s4) var(--s5);border-top:1px solid var(--rule);color:var(--ink-3);font-size:var(--t-small);flex:none;line-height:1.55}.help-body,.dialog-body{min-height:0;padding:var(--s5);scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent;overflow-y:auto}.help-dialog{width:min(760px,100%)}.help-body{gap:var(--s5) var(--s6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-content:start;display:grid}.help-body h3{margin:0 0 var(--s3);color:var(--ink-3);font-size:var(--t-micro);letter-spacing:.09em;text-transform:uppercase;font-weight:500}.help-body dl{align-items:baseline;gap:var(--s3) var(--s4);grid-template-columns:max-content 1fr;margin:0;display:grid}.help-body dt{white-space:nowrap;align-items:center;gap:3px;display:flex}.gesture{color:var(--ink);font-size:var(--t-small)}.help-body dd{color:var(--ink-2);font-size:var(--t-small);margin:0}.kbd-or{color:var(--ink-3);font-size:10px}.cloud-dialog{width:min(480px,100%)}.lede{margin:0 0 var(--s5);color:var(--ink-2);font-size:var(--t-small);line-height:1.55}.field-row{align-items:center;gap:var(--s3);display:flex}.field-row input{min-width:0;height:var(--control-lg);padding:0 var(--s4);border:1px solid var(--rule-2);border-radius:var(--r-2);background:var(--sunken);color:var(--ink);font-size:var(--t-micro);outline:none;flex:1}.field-row input:focus{border-color:var(--live);box-shadow:0 0 0 3px var(--live-wash)}.field-row input[aria-invalid=true]{border-color:var(--danger)}.field-row button{height:var(--control-lg);border-color:var(--rule-2)}.field-row button.quiet{border-color:transparent}.note{margin:var(--s4) 0 0;color:var(--ink-3);font-size:var(--t-micro);line-height:1.5}.note.error{color:var(--danger)}.cloud-dialog details{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--rule)}.cloud-dialog summary{color:var(--ink-2);font-size:var(--t-small);cursor:pointer}.cloud-dialog details .field-row{margin-top:var(--s4)}.accent-stone{--accent-line:var(--lightningcss-light,#6e6862)var(--lightningcss-dark,#a8a19a);--accent-fill:var(--lightningcss-light,#f5f4f1)var(--lightningcss-dark,#232427);--accent-border:var(--lightningcss-light,#bcb7af)var(--lightningcss-dark,#3e4145);--accent-text:var(--lightningcss-light,#403b36)var(--lightningcss-dark,#ddd8d2)}.accent-clay{--accent-line:var(--lightningcss-light,#9a6b18)var(--lightningcss-dark,#d3a253);--accent-fill:var(--lightningcss-light,#faf3e4)var(--lightningcss-dark,#282318);--accent-border:var(--lightningcss-light,#cfb073)var(--lightningcss-dark,#4e4126);--accent-text:var(--lightningcss-light,#5c420e)var(--lightningcss-dark,#eacb95)}.accent-sage{--accent-line:var(--lightningcss-light,#4f7a55)var(--lightningcss-dark,#7faf88);--accent-fill:var(--lightningcss-light,#eff5ef)var(--lightningcss-dark,#1d2620);--accent-border:var(--lightningcss-light,#a9c4ac)var(--lightningcss-dark,#334b39);--accent-text:var(--lightningcss-light,#2e4a33)var(--lightningcss-dark,#b6d6bc)}.accent-slate{--accent-line:var(--lightningcss-light,#3f6e96)var(--lightningcss-dark,#7aa8d0);--accent-fill:var(--lightningcss-light,#edf3f8)var(--lightningcss-dark,#1b242d);--accent-border:var(--lightningcss-light,#a6c0d4)var(--lightningcss-dark,#31485c);--accent-text:var(--lightningcss-light,#26455f)var(--lightningcss-dark,#afcde7)}.accent-rose{--accent-line:var(--lightningcss-light,#a04f65)var(--lightningcss-dark,#cb8698);--accent-fill:var(--lightningcss-light,#faf0f3)var(--lightningcss-dark,#291f23);--accent-border:var(--lightningcss-light,#ddafbd)var(--lightningcss-dark,#4c343c);--accent-text:var(--lightningcss-light,#5c2c3c)var(--lightningcss-dark,#e5b7c2)}@media (width<=860px){.title{width:160px}}@media (width<=620px){.toolbar{gap:var(--s3);padding:0 var(--s3)}.actions{gap:var(--s2)}.actions .label,.count{display:none}.title{flex:1;width:auto;min-width:0}.toolbar button{padding:0 var(--s3)}.maps-popover{top:50px;right:var(--s3);left:var(--s3);width:auto;position:fixed}.inspector{top:auto;right:var(--s4);bottom:calc(var(--s4) + env(safe-area-inset-bottom));left:var(--s4);width:auto;max-height:44dvh}.canvas-controls{top:var(--s4);bottom:auto;left:var(--s4)}.toast-slot{top:calc(46px + var(--s4));bottom:auto}.help-body{grid-template-columns:1fr}}@media (pointer:coarse){.app{--control:var(--control-lg);--control-sm:30px;--icon:18px}.file-row .file-delete{opacity:1}.inspector .segmented button,.swatch{height:32px}}@media (prefers-reduced-motion:reduce){.app{--dur-1:1ms;--dur-2:1ms;--dur-3:1ms}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}@media (forced-colors:active){.mind-node,.canvas-text.selected,.popover,.inspector,.dialog,.canvas-controls{border:1px solid canvastext}.mind-node.selected,.swatch.active,.inspector .segmented button.active{outline-offset:1px;outline:2px solid highlight}.edge-stroke,.plate-edge{stroke:canvastext}.arrow{fill:canvastext}}