@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";.canvas-search-input{min-width:160px;width:250px;max-width:100%}.viewport-toolbar .canvas-search-input{height:34px;margin:0;padding:6px 10px}.canvas-search-results h2{padding-right:28px}.canvas-search-results>p{font-size:12px;opacity:.75}.canvas-search-list{display:grid;gap:6px}.canvas-search-list button{display:grid;gap:4px;text-align:left;width:100%;overflow-wrap:anywhere}.canvas-search-list small{font-size:10px;opacity:.7}.canvas-search-list button>span{font-weight:600}.canvas-search-list button p{margin:0;font-size:11px;white-space:pre-wrap;max-height:5em;overflow:auto}.canvas-search-list button[aria-pressed=true]{border-color:var(--accent, #9699ef);background:#9699ef20}.sequence-search-layout{display:flex;flex:1;min-height:0;overflow:hidden}.sequence-search-layout>.preview-stage{flex:1;min-width:0}.sequence-search-panel{position:relative;width:290px;flex:0 0 290px;padding:16px;overflow:auto;border-left:1px solid #8883}@media(max-width:700px){.sequence-search-panel{width:220px;flex-basis:220px}}.editors.read>.sequence-preview{flex:1 1 auto}.preview-stage{position:relative;flex:1;min-height:320px;overflow:hidden}.preview-svg text.actor{pointer-events:none}.preview-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;background-image:radial-gradient(circle,var(--diagram-grid) 1.2px,transparent 1.3px)}.preview-viewport.panning,.preview-viewport.panning *{cursor:grabbing!important}.preview-viewport:focus-visible{outline:2px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .357) 43.92%);outline-offset:-2px}.preview-viewport .preview-svg{position:absolute;left:0;top:0;width:max-content;min-width:0;transform-origin:0 0}.preview-svg [role=button]:focus{outline:none}.preview-svg [role=button]:focus-visible{outline:2px solid var(--brand)}.note-toolbar{position:absolute;z-index:5;display:grid;place-items:center;width:30px;height:28px;padding:0;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 82%);border-radius:8px;background:#fff;color:var(--brand);font-size:14px;line-height:1;box-shadow:0 6px 18px hsl(var(--brand-hue) 45% 15% / .16)}.note-toolbar:hover,.note-toolbar:focus-visible{background:var(--brand-soft)}.note-bubble{--pointer: 24px;position:absolute;z-index:6;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;width:min(300px,calc(100% - 16px));max-height:calc(100% - 16px);padding:12px;background:#fff;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 84%);border-radius:12px;box-shadow:0 14px 36px hsl(var(--brand-hue) 45% 15% / .2);font-size:12px;color:var(--text-primary)}.note-bubble:before{content:"";position:absolute;width:12px;height:12px;background:#fff;border:0 solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 84%);transform:rotate(45deg)}.note-bubble.side-right:before{left:-7px;top:calc(var(--pointer) - 6px);border-width:0 0 1px 1px}.note-bubble.side-left:before{right:-7px;top:calc(var(--pointer) - 6px);border-width:1px 1px 0 0}.note-bubble.side-bottom:before{top:-7px;left:calc(var(--pointer) - 6px);border-width:1px 0 0 1px}.note-bubble.side-top:before{bottom:-7px;left:calc(var(--pointer) - 6px);border-width:0 1px 1px 0}.note-bubble header{height:auto;padding:0;border:0;background:none;display:flex;align-items:center;gap:8px;min-width:0}.note-bubble header strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.note-bubble header select{flex:1;min-width:0;font-size:12px}.note-bubble-close{flex-shrink:0;padding:2px 8px;border:0;background:none;font-size:16px;line-height:1}.note-bubble-list{flex:0 1 auto;min-height:0;max-height:200px;margin:0;padding:0;overflow:auto;list-style:none;display:grid;gap:6px;align-content:start}.note-bubble-list li{padding:7px 9px;border-radius:8px;background:var(--brand-soft);overflow-wrap:anywhere}.note-bubble-list li.resolved{opacity:.6}.note-bubble-list small{display:block;margin-bottom:3px;font-size:10px;color:hsl(var(--brand-hue) 10% 45%)}.note-bubble-list p{margin:0;white-space:pre-wrap}.note-bubble p{margin:0}.note-bubble-empty{color:hsl(var(--brand-hue) 10% 45%)}.note-bubble form{display:grid;gap:6px}.note-bubble input,.note-bubble textarea{box-sizing:border-box;width:100%;font:inherit}.note-bubble textarea{min-height:64px;resize:vertical}.note-bubble-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.note-bubble-actions kbd{font:10px DM Sans,sans-serif;color:hsl(var(--brand-hue) 10% 50%)}.note-bubble-link{align-self:flex-start;padding:0;border:0;background:none;color:var(--brand);font-size:11px;text-decoration:underline}.canvas-history{padding:16px;overflow:auto;max-height:65vh;background:var(--panel, #fff);color:var(--text, #222)}.history-tabs{display:flex;gap:8px;flex-wrap:wrap}.history-tabs [aria-pressed=true]{font-weight:700;border-bottom:2px solid currentColor}.canvas-history .version{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:1px solid #8884}.canvas-history pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.change-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.version-preview{position:fixed;inset:5vh 4vw;z-index:2000;background:var(--panel, #fff);padding:20px;margin:0;width:auto;height:auto;max-width:none;max-height:none;border:1px solid #8884;border-radius:12px;color:var(--text-primary, #222);display:flex;flex-direction:column}.version-preview>.sequence-preview{flex:1}.version-preview::backdrop{background:#0008}.version-preview>button{align-self:flex-end}.version-preview>.sequence-preview{min-height:0;overflow:hidden}.version-preview .immersion-toggle,.version-preview .preview-tools select{display:none}.theme-toggle{display:inline-flex;align-items:center;flex-shrink:0;width:48px;height:28px;padding:3px;border-radius:999px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--text-primary)}.theme-toggle-knob{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--page-bg);box-shadow:0 1px 3px #0003;font-size:15px;line-height:1;transition:transform .16s ease}.theme-toggle[aria-checked=true] .theme-toggle-knob{transform:translate(20px)}.theme-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media(prefers-reduced-motion:reduce){.theme-toggle-knob{transition:none}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--brand: hsl(var(--brand-hue) 65% 75%);--brand-hover: hsl(var(--brand-hue) 70% 83%);--brand-soft: hsl(var(--brand-hue) 28% 23%);--brand-border: hsl(var(--brand-hue) 22% 37%);--page-bg: hsl(var(--brand-hue) 30% 10%);--bg-surface: hsl(var(--brand-hue) 26% 15%);--text-primary: hsl(var(--brand-hue) 25% 92%);--muted: hsl(var(--brand-hue) 17% 69%);--border: hsl(var(--brand-hue) 20% 28%);--diagram-surface: hsl(var(--brand-hue) 28% 21%);--diagram-line: hsl(var(--brand-hue) 30% 72%);--diagram-grid: hsl(var(--brand-hue) 20% 24%);color:var(--text-primary);background:var(--page-bg);scrollbar-color:var(--brand-border) var(--page-bg)}:root[data-theme=dark] :is(.main,.app,.shared-shell,.board-canvas,.sequence-preview,.preview-stage,.editors,.login,.shared-gate){background-color:var(--page-bg);color:var(--text-primary)}:root[data-theme=dark] :is(header,.toolbar,.viewbar,.inspector,.account-panel,.context-menu,.sign-in-panel,.modal,.share-dialog,.note-bubble,.note-toolbar,.board-insert-menu,.code-heading,.chat-panel,.canvas-history,.board-history){background-color:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}:root[data-theme=dark] :is(button,input,select,textarea){background-color:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}:root[data-theme=dark] button:hover{background-color:var(--brand-soft)}:root[data-theme=dark] :is(input,textarea)::placeholder{color:var(--muted)}:root[data-theme=dark] :is(p,.breadcrumb,.breadcrumb span,.save-state,.eyebrow,.section-label,.inspector label,.account-panel small,.code-heading small,.board-shortcuts dd,.board-connections small){color:var(--muted)}:root[data-theme=dark] :is(.breadcrumb strong,.editable-title,.login h1,.login-brand){color:var(--text-primary)}:root[data-theme=dark] :is(.hint,.notice-state,.shared-role,.avatar,.language-selector,.board-panel-tools button[aria-pressed=true]){background-color:var(--brand-soft);color:var(--text-primary);border-color:var(--border)}:root[data-theme=dark] :is(.primary,.github-button,.viewbar button.primary){background:var(--brand);border-color:var(--brand);color:var(--page-bg)}:root[data-theme=dark] :is(.primary,.github-button):hover{background:var(--brand-hover)}:root[data-theme=dark] .sidebar{background:hsl(var(--brand-hue) 38% 12%)}:root[data-theme=dark] .sidebar nav button{background:transparent}:root[data-theme=dark] .sidebar nav button.active{background:var(--brand-soft)}:root[data-theme=dark] .board-box:not(.filled){background:var(--diagram-surface);color:var(--text-primary);border-color:var(--brand-border)}:root[data-theme=dark] .board-container:not(.filled){background:hsl(var(--brand-hue) 28% 21% / .55)}:root[data-theme=dark] .board-container-title.overview{background:var(--bg-surface)}:root[data-theme=dark] .board-inline-editor{background:transparent;color:inherit}:root[data-theme=dark] .board-box.shape-table.filled{background:var(--bg-surface)}:root[data-theme=dark] .react-flow{--xy-background-color: var(--page-bg);--xy-minimap-background-color: var(--bg-surface);--xy-controls-button-background-color: var(--bg-surface);--xy-controls-button-color: var(--text-primary);--xy-controls-button-border-color: var(--border);--xy-edge-stroke: var(--diagram-line)}:root[data-theme=dark] :is(.code,.cm-editor,.cm-gutters){background:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border)}:root[data-theme=dark] :is(.cm-activeLine,.cm-activeLineGutter){background:var(--brand-soft)!important}:root[data-theme=dark] .cm-cursor{border-left-color:var(--text-primary)}:root[data-theme=dark] .theme-toggle{background:var(--brand-soft);border-color:var(--brand-border)}:root[data-theme=dark] :is(.preview-tools,.chat-turn,.chat-proposal,.version,.version-preview,.history-tabs,.share-general,.share-roles label,.shared-folder-list a){background-color:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}:root[data-theme=dark] :is(.hint p,.modal p,.share-dialog h3,.share-people small,.share-general small,.share-grants small,.shared-folder-list small){color:var(--muted)}.login-language{display:flex;align-items:center;gap:10px}.board-tools{display:flex;flex-wrap:wrap;gap:6px}.board-tools button{font-size:11px;padding:7px 11px}.board-inline-editor{display:block;width:100%;min-height:1.5em;margin:0;padding:0 0 2px;border:0;border-radius:0;outline:none;resize:none;overflow:hidden;background:transparent;box-shadow:inset 0 -2px 0 var(--brand);color:inherit;font:inherit;font-size:16px;line-height:1.5;cursor:text}.board-container{position:relative;width:100%;height:100%;border:1.5px dashed var(--brand-border);border-radius:14px;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .6) 95% / .55)}.board-container.selected{border-style:solid;border-color:var(--brand)}.board-container.drop-target{border-style:solid;border-color:var(--brand);background:hsl(var(--brand-hue) var(--brand-saturation) 92% / .7);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 16%,transparent)}.board-container-title{position:absolute;top:9px;left:14px;right:14px;display:flex;align-items:center;gap:8px;font:700 13px Manrope,sans-serif;color:var(--text-primary)}.board-container-title>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.board-container-title.overview{top:0;padding:4px 7px;border-radius:5px;background:var(--bg-surface, #fff);box-shadow:0 1px 4px #00000014;box-sizing:border-box}.board-container-title .board-inline-editor{font-size:13px}.board-container-title small{flex-shrink:0;margin-left:auto;padding:1px 7px;border-radius:9px;background:#fff;font:600 10px DM Sans,sans-serif;color:hsl(var(--brand-hue) 12% 45%)}.board-canvas .react-flow__resize-control.handle,.react-flow__node-container .react-flow__resize-control.handle{width:9px;height:9px;border-radius:2px;background:#fff;border:1.5px solid var(--brand)}.react-flow__node-container .react-flow__resize-control.line{border-color:var(--brand)}.board-canvas .react-flow__pane.draggable,.board-canvas .react-flow__pane.selection,.board-canvas .react-flow__node.selectable,.board-canvas .react-flow__node.draggable{cursor:default}.board-canvas .react-flow__pane.dragging,.board-canvas .react-flow__node.draggable.dragging{cursor:grabbing}.board-box.filled{border-color:color-mix(in srgb,var(--box-fill) 75%,#000);background:var(--box-fill);color:var(--box-ink)}.board-box.filled.selected{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 35%,transparent)}.board-box.filled .board-box-resources{border-top-color:color-mix(in srgb,var(--box-ink) 25%,transparent)}.board-box.filled .board-box-resources a,.board-box.filled .board-box-resources small{color:inherit}.board-box-text strong{display:block;font-weight:700;font-size:14px;line-height:1.3}.board-box-content{display:grid;gap:5px;margin-top:8px}.board-box-line{display:block;line-height:1.42;overflow-wrap:anywhere}.board-box-line-declaration,.board-box-line-code,.board-box-list code{font-family:DM Mono,SFMono-Regular,Consolas,monospace;font-size:11px}.board-box-line-declaration{width:fit-content;max-width:100%;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--text-primary);font-weight:650}.board-box-line-code{color:color-mix(in srgb,var(--text-primary) 82%,var(--brand))}.board-box-line-prose{margin-top:3px;font-size:12px;color:color-mix(in srgb,var(--text-primary) 76%,transparent)}.board-box-list{display:grid;gap:3px;margin:1px 0;padding-left:17px}.board-box-list li::marker{color:var(--brand)}.board-box-type{display:block;margin-top:2px;font-size:11px;opacity:.85}.board-box-description{display:block;margin-top:8px;font-size:13px;line-height:1.45}.board-box:not(.shape-box){text-align:center}.board-box.shape-person{position:relative;padding-top:26px;border-radius:30px}.board-person-head{position:absolute;top:-30px;left:50%;width:44px;height:44px;margin-left:-22px;border:1.5px solid;border-color:inherit;border-radius:50%;background:inherit}.board-box.shape-external{border-style:dashed}.board-box.shape-database{position:relative;padding-top:34px;border-radius:50%/26px}.board-box.shape-database:before{content:"";position:absolute;inset:0 0 auto;height:52px;border-bottom:1.5px solid color-mix(in srgb,var(--text-primary) 35%,transparent);border-radius:50%;pointer-events:none}.board-box.shape-queue{padding-inline:30px;border-radius:999px}.board-container.filled{border-color:var(--box-fill);background:color-mix(in srgb,var(--box-fill) 9%,#ffffffb0)}.board-container.filled .board-container-title>span{color:color-mix(in srgb,var(--box-fill) 80%,#000)}.board-colors{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 16px}.board-colors legend{width:100%;margin-bottom:6px;padding:0;font-size:12px;font-weight:600}.board-colors .board-color{width:24px;height:24px;margin:0;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px hsl(var(--brand-hue) 15% 80%);font-size:11px;line-height:1}.board-colors .board-color.active{box-shadow:0 0 0 2px var(--brand)}.board-colors .board-color.auto{background:#fff;color:hsl(var(--brand-hue) 10% 45%)}.board-canvas .react-flow__nodesselection-rect{display:none}.board-tip{margin:-6px 0 16px;font-size:11px;line-height:1.5}.board-layers{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0 18px}.board-layers button,.board-actions button{padding:7px 6px;font-size:10px}.board-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 8px}.board-inspector>fieldset>button{margin-bottom:8px}.board-details{margin:4px 0 18px}.board-details h4{margin:14px 0 6px;font-size:11px}.board-details dl,.board-shortcuts{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:8px 0 0;font-size:11px}.board-details dt,.board-shortcuts dd{color:hsl(var(--brand-hue) 10% 45%)}.board-details dd,.board-shortcuts dd{margin:0;min-width:0;overflow-wrap:anywhere}.board-shortcuts dt{font-weight:600;white-space:nowrap}.inspector .link-button{width:auto;padding:0;border:0;background:none;color:var(--brand);font-size:11px;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:2px}.board-connections{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:11px}.board-connections small{display:block;margin-top:2px;color:hsl(var(--brand-hue) 10% 50%)}.board-box.shape-table{width:260px;padding:0;text-align:left}.board-box.shape-table.filled{background:#fffef9;color:var(--text-primary)}.board-table-head{padding:10px 14px;border-radius:10px 10px 0 0}.board-box.shape-table.filled .board-table-head{background:var(--box-fill);color:var(--box-ink)}.board-table-head strong{display:block;font-size:15px;line-height:22px;overflow-wrap:anywhere}.board-table-head .board-box-type{margin-top:0;line-height:18px}.board-table-head .board-box-description{margin-top:2px;font-size:12px;line-height:19px;white-space:pre-wrap;overflow-wrap:anywhere}.board-table-head .board-inline-editor{font-size:15px}.board-table-columns{margin:0;padding:0;list-style:none;font-size:13px}.board-table-columns li{position:relative;display:grid;grid-template-columns:minmax(20px,auto) minmax(0,1fr) auto;gap:8px;align-items:center;height:26px;padding:0 14px;border-top:1px solid hsl(var(--brand-hue) 15% 90%);white-space:nowrap}.board-column-primary .board-column-name{font-weight:700}.board-column-key{font-size:10px;font-weight:700;color:#b7791f}.board-column-name{overflow:hidden;text-overflow:ellipsis}.board-column-type{max-width:110px;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:hsl(var(--brand-hue) 10% 45%)}.board-column-type abbr{margin-left:1px;text-decoration:none}.board-table-columns .board-table-empty{display:block;font-style:italic;line-height:26px;color:hsl(var(--brand-hue) 10% 50%)}.board-table-columns .react-flow__handle{width:10px;height:10px}.react-flow__node-box .board-table-columns li:not(:hover) .react-flow__handle:not(.connectingfrom):not(.connectingto){opacity:0}.board-columns-editor{display:grid;gap:8px;margin:0 0 10px;padding:0;list-style:none}.board-columns-editor li{padding:8px;border:1px solid hsl(var(--brand-hue) 15% 88%);border-radius:8px;background:#fff}.board-column-fields{display:grid;grid-template-columns:minmax(0,1fr) 84px auto;gap:6px}.inspector .board-column-fields input{width:100%;min-width:0;margin:0}.inspector .board-columns-editor button{width:auto;margin:0;padding:4px 8px}.board-column-flags{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px}.inspector .board-column-flags label{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:11px}.inspector .board-column-flags input{width:auto;margin:0}.board-column-move{display:flex;gap:4px;margin-left:auto}.viewbar.compact-board-viewbar{justify-content:flex-start;flex-wrap:wrap;padding:8px 24px;gap:8px}.board-history,.board-panel-tools{display:flex;gap:4px}.board-history{padding-left:8px;border-left:1px solid #dddde6}.board-history button,.board-panel-tools button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:6px}.compact-board-viewbar .board-notice{flex:1;min-width:0}.board-panel-tools{margin-left:auto}.board-panel-tools button[aria-pressed=true]{border-color:var(--brand);color:var(--brand)}.board-help h3{margin-top:0}@media(max-width:760px){.viewbar.compact-board-viewbar{padding:8px 12px}.board-layout:not(:has(.board-inspector)) .canvas{flex:1;min-height:55vh}}.board-insert-menu{display:none}@media(max-width:760px){.compact-board-viewbar .board-tools{display:none}.board-insert-menu{display:block}.board-insert-menu .action-menu-trigger{font-size:12px}}.board-viewport-shell{position:relative}.board-floating-tools{max-height:calc(100% - 104px);overflow-y:auto;position:absolute;z-index:10;right:16px;top:88px;display:flex;flex-direction:column;gap:8px;padding:7px;border:1px solid var(--brand-border);border-radius:14px;background:var(--bg-surface, #fffef9);box-shadow:0 5px 20px #17173b18}.board-floating-tools .board-tools,.board-floating-tools .board-panel-tools{display:flex;flex-direction:column;gap:5px;margin:0}.board-floating-tools .board-tools+.board-panel-tools{border-top:1px solid var(--brand-border);padding-top:8px}.board-floating-tools button{flex-shrink:0;width:40px;height:40px;padding:9px;display:grid;place-items:center;border:0;background:transparent}.board-floating-tools button:hover:not(:disabled),.board-floating-tools button[aria-pressed=true]{background:color-mix(in srgb,var(--brand) 12%,transparent)}.board-floating-tools button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.board-floating-tools button[title]{position:relative}.board-floating-tools button[title]:after{position:absolute;z-index:20;top:50%;right:calc(100% + 10px);width:max-content;max-width:min(280px,calc(100vw - 96px));padding:7px 9px;border-radius:6px;background:hsl(var(--brand-hue) 24% 17%);box-shadow:0 3px 12px #17173b33;color:#fff;content:attr(title);font-size:12px;font-weight:600;line-height:1.35;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(-50%) translate(4px);transition:opacity .12s ease,transform .12s ease}.board-floating-tools button[title]:hover:after,.board-floating-tools button[title]:focus-visible:after{opacity:1;transform:translateY(-50%)}.board-viewport-shell>.board-notice:empty{display:none}.board-viewport-shell>.viewport-toolbar{flex-wrap:nowrap;overflow-x:auto;flex-shrink:0}.board-viewport-shell>.viewport-toolbar>*{flex-shrink:0}.board-viewport-shell>.viewport-toolbar select{min-width:160px}@media(max-width:760px){.board-floating-tools{right:8px}}.board-viewport-shell>.board-notice{flex:none;padding:0 12px;font-size:12px}.board-floating-tools button .icon{width:20px;height:20px}.board-tool-label{position:absolute;right:calc(100% + 10px);padding:5px 8px;border-radius:6px;background:var(--brand);color:#fff;font-size:11px;font-weight:700}.board-container-title>span{min-width:0}.board-container-title.overview{top:0;padding:4px 7px;border-radius:5px;background:var(--diagram-surface, #fff);color:var(--text-primary);box-shadow:0 1px 4px #00000020;box-sizing:border-box;font-size:16px}.board-container-title.overview .board-detail-back,.board-container-title.overview small{display:none}.board-container-title.overview .board-inline-editor{font-size:inherit}.board-container-title.overview-child{top:9px;padding:0;background:transparent;box-shadow:none;border-radius:0;font-size:11px;font-weight:500}:root[data-theme=dark] .board-container-title.overview.overview-child{background:transparent;box-shadow:none}.board-canvas{--board-link-selected: #3b82f6}:root[data-theme=dark] .board-canvas{--board-link-selected: #60a5fa}.board-link-selection-halo{fill:none;stroke:var(--board-link-selected);stroke-width:10;stroke-opacity:.18;pointer-events:none}.board-canvas .react-flow__edge-path{stroke-linejoin:round;stroke-linecap:round}.board-colors .board-color.custom{background:conic-gradient(#f5cfcd,#f9e7bd,#cdebdc,#cce8f5,#e3d5f5,#f5cfcd);color:#1b1e2e}.board-color.custom span{border-radius:50%;background:#fffd;padding:0 3px}.board-color-panel{width:100%;min-width:0;padding:12px;border:1px solid var(--brand-border);border-radius:10px;background:var(--bg-surface, #fff);color:var(--text-primary)}.board-color-panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.board-color-panel-heading button{padding:2px 7px}.board-color-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-bottom:14px}.board-color-grid .board-color{width:100%;height:auto;aspect-ratio:1;border-radius:4px}.board-color-custom-fields{display:flex;align-items:center;gap:6px;margin-top:6px}.board-color-custom-fields input[type=color]{width:34px;height:34px;flex:0 0 34px;padding:2px}.board-color-custom-fields input[type=text]{min-width:0;width:100%}.board-color-custom-fields button{flex-shrink:0;padding:7px}.board-colors .board-color:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.board-color-panel .board-color-panel-heading button{width:auto;min-width:26px;margin:0;flex:0 0 auto}.board-color-panel-heading strong{font-size:12px}.board-color-panel .board-color-custom-fields{display:grid;grid-template-columns:34px minmax(0,1fr)}.board-color-panel .board-color-custom-fields input{margin:0}.board-color-panel .board-color-custom-fields button{grid-column:1 / -1;width:100%;margin:0}.board-color-panel .board-color-panel-heading button,.board-color-panel .board-color-custom-fields button{background:var(--bg-surface, #fff);color:var(--text-primary);border:1px solid var(--brand-border)}.board-note-overlay{position:absolute;inset:0;pointer-events:none;z-index:1002}.board-note-overlay>*{pointer-events:auto}.board-box.has-color-indicator{position:relative;padding-bottom:38px}.board-box.shape-table.has-color-indicator{padding-bottom:32px}.board-color-indicator{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer}.board-color-indicator>span,.board-legend-swatch{display:block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 20%,transparent)}.board-color-indicator:hover{background:color-mix(in srgb,var(--text-primary) 8%,transparent)}.board-color-indicator:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.board-box.shape-database>.board-color-indicator{right:14px;bottom:12px}.board-box.shape-queue>.board-color-indicator{right:22px;bottom:12px}.board-legend-dialog{padding:0;width:min(440px,calc(100vw - 32px));max-height:min(80vh,720px);border:1px solid var(--border-default, #c1c4d2);border-radius:16px;color:var(--text-primary);background:var(--bg-surface, #fff);box-shadow:0 20px 80px #0003}.board-legend-dialog::backdrop{background:#0005}.board-legend-dialog section{padding:24px}.board-legend-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.board-legend-dialog h2{margin:0;font-size:18px}.board-legend-dialog header button{background:transparent;color:inherit;border:0;font-size:24px;padding:0 8px}.board-legend-caption{margin:6px 0 24px;font-size:12px;opacity:.65}.board-legend-dialog ul{list-style:none;padding:0;margin:0;display:grid;gap:20px}.board-legend-dialog li{display:flex;align-items:flex-start;gap:14px}.board-legend-swatch{flex-shrink:0;margin-top:5px}.board-legend-dialog strong{font-size:13px}.board-legend-dialog li p{margin:5px 0 0;font-size:12px;line-height:1.6;opacity:.75;white-space:pre-wrap;overflow-wrap:anywhere}.board-legend-notes{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--border-default, #c1c4d2);font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.board-box .board-box-resources{border-top-color:color-mix(in srgb,var(--text-primary) 20%,transparent)}.board-box .board-box-resources a{color:var(--text-primary)}.board-box .board-box-resources small{color:inherit;opacity:.65}.board-sequence{width:100%;height:100%;background:#fff;color:#182230;border:1px solid #cdd5df;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.board-image{width:100%;height:100%;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#fff}.board-image.selected{border-color:var(--board-link-selected);box-shadow:0 0 0 2px color-mix(in srgb,var(--board-link-selected) 24%,transparent)}.board-image img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.board-sequence.selected{outline:2px solid #6366f1}.board-sequence header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e4e7ec}.board-sequence header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embedded-sequence-svg{flex:1;min-height:0;padding:12px;display:flex;align-items:center;justify-content:center}.embedded-sequence-svg svg{width:100%;height:100%;max-height:100%}.modal.sequence-editor{width:min(800px,94vw);max-height:92vh;overflow:auto}.sequence-editor label{display:grid;gap:6px;margin:12px 0}.sequence-source{width:100%;resize:vertical;font-family:monospace;line-height:1.6}.board-canvas .react-flow__edge-path.board-link-flow{animation:board-link-flow .7s linear infinite}.board-canvas .react-flow__edge-path.board-link-flow.reverse{animation-direction:reverse}@keyframes board-link-flow{0%{stroke-dashoffset:12}to{stroke-dashoffset:0}}.board-link-traveler{pointer-events:none}.board-link-traveler circle{stroke:var(--xy-background-color, var(--page-bg, #ffffff));stroke-width:2}@media(prefers-reduced-motion:reduce){.board-canvas .react-flow__edge-path.board-link-flow{animation:none}}.board-motion{margin:4px 0 18px}.inspector .board-field{display:grid;gap:6px;margin:0 0 14px;font-size:10px}.board-traveler-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.inspector .board-traveler-picker button{display:grid;place-items:center;width:auto;height:30px;margin:0;padding:0;border-radius:6px}.inspector .board-traveler-picker button:hover{border-color:var(--brand)}.inspector .board-traveler-picker button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.inspector .board-traveler-picker button.chosen{border-color:var(--brand);background:var(--brand-soft, rgba(59, 130, 246, .12));color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.sequence-editable-text{cursor:text}.sequence-editable-text:focus{outline:2px solid #6366f1}.modal.sequence-text-editor{width:min(680px,94vw);max-height:90vh;overflow:auto}.sequence-text-editor label{display:grid;gap:8px}.sequence-text-editor textarea{font-family:monospace;white-space:pre;tab-size:2}.embedded-sequence-svg .noteText{white-space:pre}.board-cursor{position:absolute;left:0;top:0;z-index:1000;transform-origin:0 0;transition:transform 80ms linear;pointer-events:none}.board-cursor svg{display:block;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .25))}.board-cursor span{display:inline-block;max-width:160px;margin:2px 0 0 12px;padding:2px 6px;overflow:hidden;border-radius:4px;color:#fff;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.board-presence{display:flex;align-items:center;gap:8px}.board-presence ul{display:flex;margin:0;padding:0;list-style:none}.board-presence li{display:grid;width:26px;height:26px;margin-left:-6px;place-items:center;border:2px solid #fff;border-radius:50%;color:#fff;font-size:10px;font-weight:700}.board-presence li:first-child{margin-left:0}.board-presence-more{background:#8a8a80}.board-detail-link{display:block;width:100%;margin-top:10px;padding:4px 6px;overflow:hidden;border:1px dashed currentColor;border-radius:6px;background:transparent;color:inherit;font-size:12px;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.board-detail-link:hover{background:#fff9}.board-detail-back{max-width:45%;padding:0 4px;overflow:hidden;border:0;background:transparent;color:inherit;font-size:12px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.canvas-toolbar{flex-wrap:wrap;row-gap:12px}.canvas-toolbar-title{flex:1 1 100%;min-width:0}.canvas-toolbar-title-row,.canvas-primary-actions{display:flex;align-items:center}.canvas-toolbar-title-row{gap:12px;min-width:0}.canvas-primary-actions{flex:none;gap:8px;margin-left:auto}.canvas-toolbar .toolbar-actions{flex:1 1 100%;flex-wrap:wrap;justify-content:flex-end}.canvas-actions{display:flex;flex-wrap:wrap;gap:6px}.canvas-action,.canvas-save{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.canvas-action .icon,.canvas-save .icon{flex:none}.canvas-action[aria-pressed=true]{border-color:currentColor;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .513) 92%)}.canvas-action-count{min-width:18px;padding:0 5px;border-radius:9px;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .3) 90%);font-size:10px;line-height:18px;text-align:center}@media(max-width:1280px){.canvas-action span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.canvas-toolbar:has(.canvas-location){padding:16px 24px 8px;gap:4px 16px}.canvas-location{flex:0 1 auto;min-width:0;margin-right:auto;color:var(--muted, #727283);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-toolbar .header-right{gap:10px}.canvas-action.icon-only span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:850px){.canvas-toolbar-title-row{align-items:flex-start;flex-wrap:wrap}}@media(max-width:500px){.canvas-primary-actions{width:100%;margin-left:0}}.action-menu-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:4px 8px;font-size:22px;line-height:1}.workspace-pill:has(.action-menu-trigger){display:flex;align-items:flex-end;gap:8px}.workspace-pill:has(.action-menu-trigger)>label{flex:1;min-width:0;margin:0;color:#ffffffb3;font-size:11px}.workspace-pill select{height:36px;padding:6px 10px;color-scheme:dark;color:#eeeef6;background:#ffffff08;border-color:#ffffff24;font-weight:500}.workspace-pill select:hover{background:#ffffff10;border-color:#ffffff40}.workspace-pill select:focus-visible,.workspace-pill .action-menu-trigger:focus-visible{outline:2px solid #b6b9ed;outline-offset:2px;box-shadow:none}.workspace-pill .action-menu-trigger{flex:none;width:36px;height:36px;padding:0;margin:0;color:inherit;background:transparent;border-color:#ffffff24}.workspace-pill .action-menu-trigger:hover,.workspace-pill .action-menu-trigger[aria-expanded=true]{background:#ffffff10;border-color:#ffffff40}@media(max-width:650px){.sidebar .workspace-pill:has(.action-menu-trigger){display:none}}.inspector>.panel-close{display:block;width:32px;min-width:32px;min-height:32px;padding:4px;margin:0 0 8px auto;font-size:20px}.resource-tabs{display:flex;gap:8px;margin-bottom:16px}.resource-tabs button[aria-pressed=true]{border-color:var(--brand);color:var(--brand)}.board-resource-section{margin-bottom:20px}.viewport-toolbar .viewport-zoom{flex:none;width:auto;min-width:42px}.viewport-toolbar .viewport-hint{flex-basis:100%}.board-viewport-shell{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.board-viewport-shell .board-canvas{flex:1;min-height:320px}.board-layout.board-immersive{position:fixed;inset:0;z-index:1500;background:var(--diagram-bg, #fafaff)}.board-immersive>.board-inspector{display:none}.inspector .chat-view{width:100%;min-width:0}.chat-connection{flex-wrap:wrap}.chat-connection>span{flex:1 1 140px;min-width:0}.chat-connection>button{width:auto;flex:0 0 auto}.review-screen,.review-modal{--review-surface: var(--bg-surface, #fff);--review-text: var(--text-primary, hsl(var(--brand-hue) 51% 18%));--review-muted: var(--muted, hsl(var(--brand-hue) 10% 46%));--review-border: var(--border, hsl(var(--brand-hue) 22% 89%));--review-soft: var(--brand-soft, hsl(var(--brand-hue) 65% 96%));--review-add: #1a7f37;--review-del: #cf222e}:root[data-theme=dark] :is(.review-screen,.review-modal,.review-list){--review-add: #4ac26b;--review-del: #ff7b72}.review-kind-explain,[data-review-kind=explain]{--kind: #2f6fed}.review-kind-risk,[data-review-kind=risk]{--kind: #d0342c}.review-kind-question,[data-review-kind=question]{--kind: #b7791f}.review-kind-doc,[data-review-kind=doc]{--kind: #138a63}.review-kind-suggestion,[data-review-kind=suggestion]{--kind: #8250df}:root[data-theme=dark] :is(.review-kind-explain,[data-review-kind=explain]){--kind: #6ea2ff}:root[data-theme=dark] :is(.review-kind-risk,[data-review-kind=risk]){--kind: #ff7b72}:root[data-theme=dark] :is(.review-kind-question,[data-review-kind=question]){--kind: #e3b341}:root[data-theme=dark] :is(.review-kind-doc,[data-review-kind=doc]){--kind: #3fb984}:root[data-theme=dark] :is(.review-kind-suggestion,[data-review-kind=suggestion]){--kind: #b392f0}.review-additions{color:var(--review-add, #1a7f37)}.review-deletions{color:var(--review-del, #cf222e)}.review-section-label{align-items:center}.review-section-actions{display:flex;gap:4px}.review-section-actions button{padding:2px 7px;border:1px solid #ffffff22;background:#ffffff0d;color:hsl(var(--brand-hue) 30% 85%);font-size:11px;line-height:1.3}.review-section-actions button:hover{background:#ffffff1f;color:#fff}.review-list{display:grid;gap:2px;margin-bottom:12px}.sidebar nav.review-list button.review-list-item,.sidebar nav.review-list button.review-list-empty{display:grid;margin:0;gap:3px;width:100%;padding:8px;border:0;border-radius:6px;background:transparent;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .209) 68.24%);text-align:left;font-size:11px}.review-list-empty{font-weight:500;font-style:italic}.review-list-item:hover,.review-list-empty:hover,.review-list-active{background:#ffffff12;color:#fff}:root[data-theme=dark] .sidebar :is(.review-list-item,.review-list-empty,.review-section-actions button){background-color:transparent}:root[data-theme=dark] .sidebar :is(.review-list-item:hover,.review-list-active){background-color:#ffffff12}.review-list-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-list-branches{font-family:Menlo,Consolas,monospace;font-size:10px;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-list-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:10px;font-weight:400;opacity:.85}.review-list .review-additions{color:#4ac26b}.review-list .review-deletions{color:#ff8a80}.review-list-count{font-weight:600}.review-screen{flex:1;min-height:0;display:flex;flex-direction:column;color:var(--review-text)}.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px 10px;border-bottom:1px solid var(--review-border);background:var(--review-surface)}.review-title{min-width:0}.review-title h1{margin:0;font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:11px;color:var(--review-muted)}.review-meta a,.review-file-actions a,.review-thread-gitlab{color:var(--brand);text-decoration:none;font-weight:600}.review-meta a:hover,.review-file-actions a:hover,.review-thread-gitlab:hover{text-decoration:underline}.review-branch,.review-sha{font-family:Menlo,Consolas,monospace;font-size:11px;padding:1px 6px;border-radius:4px;background:var(--review-soft);color:var(--review-text)}.review-toolbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.review-pill{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--review-border);background:var(--review-soft);color:var(--review-text)}.review-count-pending{color:#9a6700;background:#fff8c5;border-color:#eac54f}:root[data-theme=dark] .review-screen .review-count-pending{color:#e3b341;background:#3b2e0a;border-color:#7d5e10}.review-pill-outdated[aria-pressed=true]{outline:2px solid var(--brand)}.review-notice{margin:0;padding:8px 24px;font-size:12px;background:var(--review-soft);color:var(--review-text);border-bottom:1px solid var(--review-border)}.review-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:8px 24px;border-bottom:1px solid var(--review-border);background:var(--review-surface)}.review-tabs{display:flex;gap:4px}.review-tabs button,.review-tabs button:hover{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:6px 10px;color:var(--review-muted)}.review-tabs button[aria-selected=true]{color:var(--review-text);border-bottom-color:var(--brand)}:root[data-theme=dark] .review-tabs button{background-color:transparent}.review-tab-count{font-size:10px;padding:1px 6px;border-radius:999px;background:var(--review-soft)}.review-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.review-filters select{display:inline-block;width:auto;margin:0;font-size:11px;padding:4px 6px;border-radius:6px;border:1px solid var(--review-border);background:var(--review-surface);color:var(--review-text)}.review-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:11px}.review-chip[aria-pressed=false]{opacity:.5;text-decoration:line-through}.review-chip:not([class*=review-kind-])[aria-pressed=true]{background:var(--review-soft)}.review-kind-dot{width:8px;height:8px;border-radius:50%;background:var(--kind, var(--review-muted));display:inline-block}.review-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr)}.review-body.review-with-panel{grid-template-columns:minmax(200px,260px) minmax(0,1fr) minmax(280px,360px)}.review-sidebar,.review-center,.review-panel{min-height:0;overflow:auto}.review-sidebar{border-right:1px solid var(--review-border);background:var(--review-surface)}.review-center{padding:0 0 24px}.review-panel{border-left:1px solid var(--review-border);background:var(--review-surface);padding:12px}.review-panel h3,.review-outdated h3{margin:0 0 8px;font-size:12px;display:flex;gap:6px;align-items:center}.review-panel h3 span,.review-outdated h3 span{font-size:10px;padding:1px 6px;border-radius:999px;background:var(--review-soft)}.review-tree ul{list-style:none;margin:0;padding:0}.review-tree>ul{padding:8px 6px}.review-tree button{display:flex;align-items:center;gap:6px;width:100%;padding:5px 8px;border:0;border-radius:6px;background:transparent;color:var(--review-text);font-size:12px;font-weight:500;text-align:left}.review-tree button:hover{background:var(--review-soft)}:root[data-theme=dark] .review-tree button{background-color:transparent}:root[data-theme=dark] .review-tree button:hover,.review-tree .review-tree-active,:root[data-theme=dark] .review-tree .review-tree-active{background-color:var(--review-soft)}.review-tree .review-tree-active{box-shadow:inset 2px 0 0 var(--brand);font-weight:700}.review-tree-folder{color:var(--review-muted)!important}.review-tree-caret{width:10px;font-size:10px}.review-tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-tree-stats{display:flex;gap:4px;font-size:10px;font-family:Menlo,Consolas,monospace}.review-change{flex-shrink:0;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;background:var(--review-soft);color:var(--review-muted)}.review-change-added{color:var(--review-add)}.review-change-deleted{color:var(--review-del)}.review-change-renamed{color:#8250df}.review-count{min-width:18px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:700;text-align:center;background:var(--brand);color:var(--page-bg, #fff)}.review-count.review-count-pending{border:1px solid #eac54f}.review-file-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 16px;border-bottom:1px solid var(--review-border);background:var(--review-surface);font-size:12px}.review-file-path{font-family:Menlo,Consolas,monospace;font-size:12px;min-width:0;overflow-wrap:anywhere}.review-file-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.review-segmented{display:inline-flex}.review-segmented button{padding:4px 9px;font-size:11px;border-radius:0}.review-segmented button:first-child{border-radius:6px 0 0 6px}.review-segmented button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.review-segmented button[aria-pressed=true],:root[data-theme=dark] .review-segmented button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--page-bg, #fff)}.review-diff-surface{container-type:inline-size;margin:12px 16px 0;border:1px solid var(--review-border);border-radius:8px;overflow:hidden}.review-diff-message{margin:24px;font-size:13px;color:var(--review-muted)}.review-hint.review-shortcuts{margin:10px 16px 0}.review-shortcuts kbd,.review-hint kbd{font-family:Menlo,Consolas,monospace;font-size:10px;padding:0 4px;border:1px solid var(--review-border);border-bottom-width:2px;border-radius:3px}.review-hint{font-size:11px;color:var(--review-muted);margin:4px 0}.review-error{color:var(--review-del, #cf222e);font-size:12px;margin:6px 0}.review-outdated{margin:12px 16px 0;padding:10px 12px;border:1px dashed var(--review-border);border-radius:8px}.review-diff-surface span[data-review-kind]{color:var(--kind);font-weight:700;opacity:1!important}.review-diff-surface td:has(span[data-review-kind=explain]){box-shadow:inset 3px 0 #2f6fed}.review-diff-surface td:has(span[data-review-kind=risk]){box-shadow:inset 3px 0 #d0342c}.review-diff-surface td:has(span[data-review-kind=question]){box-shadow:inset 3px 0 #b7791f}.review-diff-surface td:has(span[data-review-kind=doc]){box-shadow:inset 3px 0 #138a63}.review-diff-surface td:has(span[data-review-kind=suggestion]){box-shadow:inset 3px 0 #8250df}.review-hunk-summary{margin:2px 0 6px 1.5em;padding:6px 10px;border-left:3px solid var(--brand);border-radius:4px;background:var(--review-surface);color:var(--review-text);font-family:DM Sans,sans-serif;font-size:12px;line-height:1.5;white-space:normal;max-width:900px}.review-diff-surface tr.review-line-flash td{animation:review-flash 1.6s ease-out}@keyframes review-flash{0%,40%{box-shadow:inset 0 0 0 999px hsl(var(--brand-hue) 90% 60% / .22)}to{box-shadow:none}}@media(prefers-reduced-motion:reduce){.review-diff-surface tr.review-line-flash td{animation:none;outline:2px solid var(--brand)}}.review-diff-surface .diff-line-widget-wrapper,.review-diff-surface .diff-line-extend-wrapper{white-space:normal}.review-inline-threads{padding:6px 12px;font-family:DM Sans,sans-serif;white-space:normal;max-width:820px;color:var(--review-text)}.review-thread,.review-question-form{margin:6px 0;padding:10px 12px;border:1px solid var(--review-border);border-left:3px solid var(--kind, var(--brand));border-radius:8px;background:var(--review-surface);color:var(--review-text);font-size:12px;line-height:1.5;box-shadow:0 1px 2px #0000000d}.review-thread-focused{outline:2px solid var(--brand);outline-offset:1px}.review-thread-resolved{opacity:.7}.review-thread-outdated{border-left-style:dashed}.review-thread-header,.review-question-label{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;font-size:11px;color:var(--review-muted)}.review-kind-badge{padding:1px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.3px;color:var(--kind, var(--brand));border:1px solid currentColor}.review-thread-lines{font-family:Menlo,Consolas,monospace;font-size:10px}.review-status-badge{padding:1px 6px;border-radius:4px;font-size:10px;background:var(--review-soft)}.review-status-outdated{color:#9a6700}.review-thread-gitlab{margin-left:auto;font-size:10px}.review-link-button{padding:0;border:0;background:transparent!important;color:var(--brand)!important;font-family:Menlo,Consolas,monospace;font-size:10px;font-weight:600}.review-message+.review-message{margin-top:8px;padding-top:8px;border-top:1px solid var(--review-border)}.review-message-meta{display:flex;gap:8px;align-items:baseline;font-size:10px;color:var(--review-muted)}.review-author{font-weight:700;font-size:11px;color:var(--review-text)}.review-author-claude:before{content:"✳ ";color:#d97757}.review-markdown{overflow-wrap:anywhere}.review-markdown>:first-child{margin-top:4px}.review-markdown>:last-child{margin-bottom:0}.review-markdown p,.review-markdown ul,.review-markdown ol{margin:6px 0;font-size:12px;color:var(--review-text)}.review-markdown ul,.review-markdown ol{padding-left:20px}.review-markdown code{font-family:Menlo,Consolas,monospace;font-size:11px;padding:1px 4px;border-radius:4px;background:var(--review-soft)}.review-markdown pre{padding:8px 10px;border-radius:6px;background:var(--review-soft);overflow:auto}.review-markdown pre code{padding:0;background:none}.review-markdown a{color:var(--brand)}.review-markdown blockquote{margin:6px 0;padding-left:10px;border-left:3px solid var(--review-border);color:var(--review-muted)}.review-markdown table{border-collapse:collapse;font-size:12px}.review-markdown :is(td,th){border:1px solid var(--review-border);padding:4px 8px}.review-thread-actions,.review-form-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.review-thread-actions button,.review-form-actions button{padding:4px 10px;font-size:11px}.review-primary,:root[data-theme=dark] .review-primary{background:var(--brand);border-color:var(--brand);color:var(--page-bg, #fff)}.review-primary:hover,:root[data-theme=dark] .review-primary:hover{background:var(--brand-hover, var(--brand))}.review-danger{color:var(--review-del, #cf222e);margin-right:auto}.review-reply-form textarea,.review-question-form textarea{width:100%;margin-top:6px;padding:8px;border:1px solid var(--review-border);border-radius:6px;font:inherit;font-size:12px;resize:vertical;background:var(--page-bg, #fff);color:var(--review-text)}.review-overview{max-width:920px;padding:20px 28px}.review-stats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.review-stats>div{padding:8px 12px;border:1px solid var(--review-border);border-radius:8px;background:var(--review-surface);min-width:96px}.review-stats dt{font-size:10px;color:var(--review-muted)}.review-stats dd{margin:2px 0 0;font-size:16px;font-weight:700;display:flex;align-items:center;gap:6px}.review-overview-text p,.review-overview-text li{font-size:14px;line-height:1.65}.review-overview-text h1,.review-overview-text h2,.review-overview-text h3{margin:18px 0 8px}.review-overview-diagram h3{font-size:13px;margin:24px 0 8px}.review-mermaid{padding:16px;border:1px solid var(--review-border);border-radius:8px;background:var(--review-surface);overflow:auto}.review-mermaid svg{max-width:100%;height:auto}.review-mermaid-error pre{font-size:11px;padding:8px;background:var(--review-soft);overflow:auto}.review-empty{padding:18px;border:1px dashed var(--review-border);border-radius:8px}.review-modal{width:min(480px,calc(100vw - 32px))}.review-modal h2{margin-top:0}.review-field{display:grid;gap:6px;margin-bottom:14px;font-size:12px;font-weight:600}.review-field input{width:100%}.review-connected{display:flex;align-items:center;gap:8px;font-size:13px!important}.review-dot-ok{width:8px;height:8px;border-radius:50%;background:#2da44e}@media(max-width:900px){.review-body,.review-body.review-with-panel{grid-template-columns:minmax(0,1fr);overflow:auto}.review-sidebar{max-height:180px;border-right:0;border-bottom:1px solid var(--review-border)}.review-center,.review-panel{overflow:visible}.review-toolbar{flex-direction:column;align-items:flex-start;padding:12px 16px}.review-controls{padding:8px 16px}}.review-hunk-summary code{font-family:Menlo,Consolas,monospace;font-size:11px;color:var(--review-muted);margin-right:6px}.review-diff-surface table[data-mode=old] .review-hunk-summary{max-width:calc(50cqw - 72px)}.review-diff-surface table:not([data-mode]) .review-hunk-summary{max-width:min(900px,calc(100cqw - 150px))}:root[data-theme=dark] .review-tabs button{color:var(--review-muted)}:root[data-theme=dark] .review-tabs button[aria-selected=true]{color:var(--review-text)}.review-summary-row .review-hunk-summary{max-width:calc(50cqw - 72px)}.review-diff-surface table[data-mode=new] .review-summary-row .review-hunk-summary{visibility:hidden}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{--brand-hue: 236;--brand-saturation: 65%;--brand: hsl(var(--brand-hue) var(--brand-saturation) 36%);--brand-soft: hsl(var(--brand-hue) var(--brand-saturation) 96%);--brand-border: hsl(var(--brand-hue) calc(var(--brand-saturation) * .7) 72%);--flow-arrow: hsl(var(--brand-hue) calc(var(--brand-saturation) * .719) 66.86%);--page-bg: hsl(var(--brand-hue) 100% 99.22%);--text-primary: hsl(var(--brand-hue) 51% 18%);--brand-hover: hsl(var(--brand-hue) var(--brand-saturation) 29%);--diagram-surface: hsl(var(--brand-hue) var(--brand-saturation) 96%);--diagram-line: hsl(var(--brand-hue) calc(var(--brand-saturation) * .72) 50%);--diagram-grid: hsl(var(--brand-hue) 30% 88%)}:root{font-family:DM Sans,sans-serif;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .333) 19.02%);background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .271) 96.67%);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .156) 86.47%);background:#fff;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .288) 25.1%);border-radius:7px;padding:9px 13px;font-size:12px;font-weight:600;transition:background .15s}button:hover{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .308) 94.12%)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .672) 27.84%);color:#fff;border-color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .672) 27.84%)}.primary:hover{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .702) 22.35%)}h1,h2,.brand,.login-brand{font-family:Manrope,sans-serif}h1{font-size:25px;letter-spacing:-.8px;margin:6px 0 0;font-weight:800}h2{font-size:18px;letter-spacing:-.4px}p{font-size:13px;line-height:1.7;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .082) 47.65%)}small{font-size:10px}label{display:block;font-size:12px;font-weight:600;margin:0 0 14px}input,select{display:block;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .144) 87.45%);border-radius:6px;background:#fff;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .338) 24.12%);width:100%;padding:10px;margin-top:7px;font-size:12px;outline:none}input:focus,select:focus{border-color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .434) 38.24%);box-shadow:0 0 0 3px hsl(var(--brand-hue) calc(var(--brand-saturation) * .434) 38.24% / .082)}fieldset{border:0;margin:0;padding:0;min-width:0}.eyebrow,.section-label{font-size:9px;font-weight:700;letter-spacing:1.7px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .069) 56.08%)}.app{display:flex;height:100vh;min-height:650px}.mobile-menu{display:contents}.mobile-menu-backdrop,.mobile-bottom-nav{display:none}.sidebar{position:relative;width:var(--sidebar-width, 228px);flex-shrink:0;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .769) 15.69%);color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .293) 91.76%);padding:18px 19px;display:flex;flex-direction:column}.brand{font-size:23px;font-weight:700;letter-spacing:-1px}.brand span,.login-brand span{font-weight:400;opacity:.7}.brand small{display:block;font:8px DM Sans;letter-spacing:3px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .183) 62.16%);margin:7px 0 28px 29px}.workspace-pill{display:flex;align-items:center;gap:10px;background:#ffffff09;border:1px solid #ffffff0c;padding:11px;border-radius:8px;font-size:12px}.workspace-pill small{display:block;margin-top:5px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .205) 66.08%);font-size:9px}.workspace-icon{padding:7px 10px;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .795) 82.16%);color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .317) 26.67%);border-radius:6px;font-size:14px;font-weight:700}.sidebar .section-label{color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .222) 64.71%);margin:30px 8px 13px;display:flex;justify-content:space-between}.new-file{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .382) 26.08%);color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .342) 89.41%);border-color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .261) 33.53%);text-align:left;margin-bottom:14px}.new-file:hover{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .311) 31.96%)}.sidebar nav{overflow:auto}.sidebar nav button{display:flex;align-items:center;gap:10px;width:100%;background:none;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .209) 68.24%);border:0;text-align:left;font-size:11px;margin-bottom:4px;padding:12px 8px;overflow:hidden}.sidebar nav button.active{color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .592) 92.35%);background:#ffffff0d;box-shadow:inset 2px 0 hsl(var(--brand-hue) calc(var(--brand-saturation) * .742) 71.96%)}.sidebar nav button small{margin-left:auto}.sidebar nav#workspace-navigation{--library-scroll-thumb: hsl(var(--brand-hue) calc(var(--brand-saturation) * .45) 65% / .45);flex:1 1 auto;min-height:48px;border-radius:8px;scrollbar-width:thin;scrollbar-color:var(--library-scroll-thumb) transparent;scrollbar-gutter:stable}.sidebar nav#workspace-navigation:hover,.sidebar nav#workspace-navigation:focus-within{--library-scroll-thumb: hsl(var(--brand-hue) calc(var(--brand-saturation) * .45) 72% / .75)}.sidebar nav#workspace-navigation::-webkit-scrollbar{width:6px;height:6px}.sidebar nav#workspace-navigation::-webkit-scrollbar-track{background:transparent}.sidebar nav#workspace-navigation::-webkit-scrollbar-thumb{background:var(--library-scroll-thumb);border-radius:999px}.sidebar nav#workspace-navigation::-webkit-scrollbar-corner{background:transparent}.sidebar nav.drop-target,.library-folder.drop-target>.library-folder-name{background:#ffffff14;outline:1px dashed hsl(var(--brand-hue) calc(var(--brand-saturation) * .742) 71.96%);outline-offset:-1px}.library-folder-name span{width:10px}.library-children{margin-left:12px;padding-left:6px;border-left:1px solid #ffffff14}.new-folder{margin:-8px 0 12px;padding:6px 8px;border:0;background:none;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .209) 68.24%);font-size:11px;text-align:left}.new-folder:hover{background:#ffffff0d}.new-folder-input{margin:-8px 0 12px;border-color:#fff2;background:#ffffff0d;color:#fff}.library-error{margin:8px 4px 0;padding:8px 10px;border-radius:7px;background:#b6534226;color:#f3c1b7;font-size:11px;line-height:1.5}.library-notice{margin:8px 4px 0;padding:8px 10px;border-radius:7px;background:#ffffff14;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .592) 92.35%);font-size:11px;line-height:1.5}.library-folder-row{display:flex;align-items:flex-start;gap:2px}.library-folder-row>.library-folder-name{flex:1 1 auto;min-width:0}.sidebar nav .library-folder-menu{flex:none;justify-content:center;width:28px;padding:10px 0;border-radius:6px;text-align:center;font-size:14px;line-height:1;opacity:0}.library-folder-row:hover .library-folder-menu,.sidebar nav .library-folder-menu:focus-visible,.sidebar nav .library-folder-menu[aria-expanded=true]{opacity:1}.sidebar nav .library-folder-menu:hover{background:#ffffff14}@media(hover:none){.sidebar nav .library-folder-menu{opacity:1}}.library-rename-input{flex:1 1 auto;min-width:0;margin:0 0 4px;padding:9px 8px;border-color:#fff2;background:#ffffff0d;color:#fff}.workspace-pill:has(.members-button){flex-wrap:wrap;gap:8px}.workspace-pill:has(.members-button)>label{flex:1 1 100%}.workspace-pill .members-button{flex:1 1 100%;margin-top:0;padding:7px 10px;border:1px solid #ffffff22;background:#ffffff0d;color:#fff;font-size:11px}.workspace-pill .members-button:hover{background:#ffffff1a}.shared-with-me{display:grid;gap:2px;margin-bottom:12px}.shared-with-me a{display:flex;align-items:center;gap:8px;padding:10px 8px;border-radius:6px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .209) 68.24%);font-size:11px;font-weight:600;text-decoration:none}.shared-with-me a:hover{background:#ffffff0d;color:#fff}.shared-with-me small{margin-left:auto;font-weight:400;opacity:.7}.share-hint{margin:-6px 0 14px;font-size:11px;line-height:1.6;color:hsl(var(--brand-hue) 10% 45%)}.share-invite{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin:4px 0 8px}.share-invite input,.share-invite select,.share-people select,.share-general select{width:auto;min-width:0;margin:0;padding:9px 10px}.share-invite input{width:100%}.share-people{display:grid;gap:2px;margin:0;padding:0;list-style:none}.share-people li{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 2px}.share-people li>span:nth-child(2){min-width:0}.share-people strong{display:block;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.share-people small{display:block;margin-top:1px;font-size:11px;color:hsl(var(--brand-hue) 10% 45%);overflow-wrap:anywhere}.share-people .share-empty{display:block;font-size:11px;color:hsl(var(--brand-hue) 10% 45%)}.share-avatar{display:grid;place-items:center;width:32px;height:32px;overflow:hidden;border-radius:50%;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .5) 90%);color:var(--brand);font-size:13px;font-weight:700}.share-avatar img{width:100%;height:100%;object-fit:cover}.share-remove{padding:4px 9px;font-size:14px;line-height:1}.share-inherited{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:hsl(var(--brand-hue) 40% 95%);font-size:11px!important;line-height:1.5}.share-general{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:12px;padding:10px;border:1px solid var(--brand-border);border-radius:10px;background:#fff}.share-general-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:hsl(var(--brand-hue) 20% 94%);font-size:16px}.share-general-icon.anyone,.share-general-icon.signed_in{background:#daf1e4}.share-general select{width:100%;font-weight:600}.share-general small{display:block;margin-top:4px;font-size:11px;color:hsl(var(--brand-hue) 10% 45%)}.share-footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}.share-footer .primary{margin-left:auto}.share-footer .link-button{padding:6px 4px;border:0;background:none;color:var(--brand);text-decoration:underline;text-underline-offset:2px}.comment-as{margin:0 0 10px;font-size:11px;color:hsl(var(--brand-hue) 10% 45%)}.share-people li.share-request{grid-template-columns:32px minmax(0,1fr);align-items:start;margin-bottom:6px;padding:10px;border:1px solid hsl(42 80% 78%);border-radius:10px;background:#fffbf0}.share-request q{display:block;margin-top:6px;font-size:12px;font-style:italic;line-height:1.5;overflow-wrap:anywhere}.share-request-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.share-request-actions select{width:auto;margin:0;padding:7px 8px}.share-request-actions button{padding:7px 12px}.share-expiry{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 12px;font-size:12px}.share-expiry label{margin:0;font-weight:600}.share-expiry select{width:auto;margin:0;padding:7px 8px}.share-expired{flex-basis:100%;color:#ab2b2b;font-size:11px}.sidebar-requests button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 8px;border:0;border-radius:6px;background:transparent;color:#f8d177;font-size:11px;font-weight:600;text-align:left;cursor:pointer}.sidebar-requests button:hover{background:#ffffff0d;color:#fff}.sidebar-requests small{margin-left:auto;font-weight:400;opacity:.7}.ask-access-modal{width:min(420px,calc(100vw - 32px))}.ask-access-modal h2{margin:0 0 12px}.ask-access-close{display:flex;justify-content:flex-end;margin-top:12px}.gate-stack{display:grid;gap:14px;width:min(400px,100%)}.gate-stack .sign-in-panel{width:100%}.request-access label{margin-bottom:10px}.request-access textarea{resize:vertical}.request-access button{width:100%}.gate-switch{display:block;margin:14px auto 0;padding:4px;border:0;background:none;color:var(--brand);font-size:12px;text-decoration:underline;text-underline-offset:2px}.notice-state{padding:10px 12px;border-radius:8px;background:hsl(var(--brand-hue) 30% 95%);font-size:13px!important}.shared-gate{position:relative;display:grid;place-items:center}.shared-gate>header{position:absolute;top:20px;right:24px}.sign-in-panel{width:min(400px,100%);padding:32px;border:1px solid var(--brand-border);border-radius:16px;background:#fff;box-shadow:0 18px 60px hsl(var(--brand-hue) 40% 20% / .08)}.sign-in-panel h2{margin:0 0 8px;font-size:20px}.sign-in-panel p{margin:0 0 18px;font-size:13px;line-height:1.6}.sign-in-panel .github-button{display:block;padding:11px;border-radius:8px;text-align:center;text-decoration:none}.sign-in-or{margin:14px 0;font-size:11px;text-align:center;color:hsl(var(--brand-hue) 10% 50%)}.email-login label{margin-bottom:8px}.email-login button{width:100%}.email-sent{padding:10px 12px;border-radius:8px;background:#e5f5ec;color:#26593c!important;font-size:12px!important;line-height:1.6}.email-login-block{margin:18px 0 8px}.email-login-block>small{display:block;margin-bottom:8px}.sign-in-modal{width:min(440px,calc(100vw - 32px));padding:0;border:0;background:transparent;box-shadow:none}.sign-in-modal .sign-in-panel{width:100%}.sign-in-modal>div:last-child{margin-top:10px}.connect-panel ul{margin:0 0 18px;padding-left:18px;font-size:13px;line-height:1.7}.connect-panel a{color:var(--brand)}.connect-panel .connect-link{padding:0;border:0;background:none;color:var(--brand);font:inherit;text-decoration:underline;cursor:pointer}.connect-actions{display:grid;gap:8px;margin-bottom:16px}.connect-actions button{width:100%;padding:11px;border-radius:8px}.sign-in-panel .connect-note{margin:0;font-size:12px;color:hsl(var(--brand-hue) 10% 50%)}.shared-shell>header{display:flex;flex-wrap:wrap;align-items:center}.shared-title{font:700 15px Manrope,sans-serif}.shared-role,.shared-viewer{padding:3px 9px;border-radius:999px;background:hsl(var(--brand-hue) 30% 93%);font-size:11px;font-weight:600}.shared-viewer{border:1px solid var(--brand-border);background:transparent}.shared-back{color:var(--brand);font-size:12px;text-decoration:none}.shared-actions{display:flex;gap:8px;margin:12px 0}.shared-folder-list{max-width:720px;margin:32px auto}.shared-folder-list h1{margin:0 0 4px}.shared-folder-list ul{display:grid;gap:6px;margin:20px 0 0;padding:0;list-style:none}.shared-folder-list a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--brand-border);border-radius:10px;background:#fff;color:inherit;font-weight:600;text-decoration:none}.shared-folder-list a:hover{border-color:var(--brand)}.shared-folder-list small{margin-left:auto;font-weight:400;color:hsl(var(--brand-hue) 10% 50%)}.sidebar-bottom{margin-top:auto}.sidebar-bottom button{background:none;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .308) 84.31%);border:1px solid #ffffff22;width:100%;text-align:left;font-size:11px}.sidebar-bottom button span{float:right}.sidebar-bottom p{font-size:10px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .202) 61.18%);margin:19px 5px 0;line-height:1.8}.main{flex:1;min-width:0;display:flex;flex-direction:column}header{height:66px;border-bottom:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 89.02%);background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .513) 98.24%);display:flex;align-items:center;justify-content:space-between;padding:0 28px;flex-shrink:0}.breadcrumb{font-size:11px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .069) 56.08%)}.breadcrumb span{padding:0 12px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .114) 76.27%)}.breadcrumb strong{font-weight:500;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .176) 29.22%)}.header-right{display:flex;align-items:center;gap:20px}.presence{font-size:10px;color:#a27b64}.presence.online{color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .236) 42.16%)}.avatar{background:#e9e9d7;border:0;border-radius:50%;font-size:10px;width:30px;height:30px;padding:0}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:27px 28px 24px;gap:20px;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .513) 98.24%)}.toolbar-actions{display:flex;align-items:center;gap:8px}.save-state{font-size:10px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .11) 53.53%);margin-right:7px}.viewbar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .196) 89.22%);border-bottom:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .196) 89.22%);background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .513) 98.24%);padding:10px 24px;gap:12px}.viewbar>span{font-size:10px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .092) 50.78%)}.viewbar b{padding:0 9px}.viewbar>button{font-size:10px;border:0;background:transparent}.tabs{display:flex;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .291) 92.75%);border-radius:6px;padding:3px;gap:2px}.tabs button{font-size:10px;background:none;border:0;padding:6px 13px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .093) 51.18%)}.tabs button.selected{background:#fff;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .446) 27.06%);box-shadow:0 1px 3px #0000000c}.editor-layout{display:flex;min-height:0;flex:1}.editors{flex:1;min-width:0;display:flex;flex-direction:column}.canvas{position:relative;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .366) 95.88%);flex:1;min-height:220px}.canvas-caption{position:absolute;bottom:17px;left:18px;font-size:8px;letter-spacing:1.4px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .118) 54.12%);pointer-events:none}.canvas-caption span{display:block;font-size:9px;letter-spacing:0;margin-top:5px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .097) 65.69%)}.react-flow__controls{left:auto!important;right:14px!important;bottom:14px!important;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .271) 86.67%);box-shadow:none!important}.react-flow__controls-button{border:0!important;border-bottom:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .324) 92.55%)!important}.react-flow__attribution{font-size:7px!important;opacity:.6}.lifeline{width:160px;position:relative}.actor{background:#fffffc;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .256) 76.47%);box-shadow:0 3px 7px hsl(var(--brand-hue) calc(var(--brand-saturation) * .592) 20.39% / .027);border-radius:7px;position:relative;z-index:2;padding:12px;text-align:center;min-height:80px;display:flex;align-items:center;flex-direction:column;justify-content:center}.actor small{font-size:7px;letter-spacing:1.5px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .168) 55.1%)}.actor strong{font-size:14px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .4) 28.63%);margin:6px 0 4px;font-family:Manrope;max-width:145px;overflow:hidden;text-overflow:ellipsis}.actor span{font-family:monospace;font-size:8px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .126) 61.57%)}.selected .actor{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 8%,transparent)}.dashline{position:absolute;left:50%;top:80px;bottom:5px;border-left:1px dashed hsl(var(--brand-hue) calc(var(--brand-saturation) * .209) 68.24%)}.actor-foot{width:15px;height:5px;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .318) 88.63%);position:absolute;bottom:0;left:calc(50% - 7px);border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .209) 68.24%)}.message-label{position:absolute;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .366) 95.88% / .941);color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .292) 30%);font-size:10px;padding:3px 7px;white-space:nowrap;pointer-events:none;max-width:240px;overflow:hidden;text-overflow:ellipsis}.message-label.selected{color:#b0773c}.message-label small{display:block;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .198) 57.25%);font-size:8px;text-align:center;margin-top:4px}.message-number{font-size:8px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .169) 57.25%);margin-right:7px}.code{height:33%;min-height:160px;background:#fcfcfa;border-top:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .26) 87.25%);display:flex;flex-direction:column}.code-heading{padding:11px 17px;font-size:10px;display:flex;justify-content:space-between;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .133) 40.78%);border-bottom:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .291) 92.75%);background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .513) 97.06%)}.code-heading small{font-size:8px;letter-spacing:1px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .155) 62.94%)}.cm-theme{flex:1;min-height:0;overflow:auto}.cm-editor{height:100%;font-size:11px;background:#fcfcfa!important}.cm-gutters{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .513) 97.06%)!important;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .175) 63.73%)!important;border:0!important}.cm-activeLine,.cm-activeLineGutter{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .484) 93.14% / .533)!important}.editors.split .sequence-preview{flex:1;min-height:260px}.editors.code{height:100%;border:0}.editors.code .code{height:100%}.inspector{width:266px;flex-shrink:0;border-left:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .256) 88.24%);background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .513) 98.24%);padding:25px 21px;overflow-y:auto}.inspector h2{margin:12px 0 6px}.inspector>p{font-size:11px;line-height:1.7;margin:0 0 20px}.inspector button{width:100%;font-size:11px}.inspector label{font-size:10px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .152) 41.76%)}.inspector input,.inspector select{font-size:11px}.inspector form{margin-top:21px}.inspector hr{border:0;border-top:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .359) 88.24%);margin:24px 0}.hint{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .484) 93.14%);border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .41) 88.24%);border-radius:7px;padding:13px;margin-top:25px;font-size:11px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .236) 43.53%);line-height:1.7}.hint p{font-size:10px;line-height:1.7;margin:6px 0 0;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .193) 51.57%)}.hint strong{font-size:10px;font-weight:500}.inspector code{display:block;overflow-wrap:anywhere;font-size:11px;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .28) 87.06%);border-radius:5px;background:#fff;padding:12px;margin-bottom:18px}.version{padding:13px 0;border-top:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .317) 87.65%)}.version strong{font-size:10px;display:block;font-weight:500}.version small{display:block;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .201) 54.9%);margin:7px 0 10px}.version button{font-size:10px;padding:6px}.message-actions{display:flex;gap:6px;margin:15px 0}.danger{color:#b25c4b!important;background:#fcf8f4!important;border-color:#ecd4c9!important}footer{display:flex;justify-content:space-between;padding:10px 22px;font-size:9px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .157) 55.88%);border-top:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .337) 87.45%);flex-shrink:0;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .615) 98.04%)}.green{color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .347) 46.08%);margin-left:7px}.alert,.connection-notice{background:#fff1dd;color:#855e2d;padding:10px 25px;font-size:11px;display:flex;justify-content:space-between;gap:10px}.alert button{padding:0;border:0;background:none}.connection-notice{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .457) 92.75%);color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .26) 45.29%)}.connection-notice button{font-size:10px;padding:3px 8px}.canvas-empty,.empty-workspace{text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column}.canvas-empty{position:absolute;inset:0;pointer-events:none}.canvas-empty span,.empty-workspace>div{font-size:42px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .283) 60.59%)}.canvas-empty h2{font-size:17px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .216) 43.33%);margin-top:15px}.canvas-empty p{font-size:11px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .214) 56.27%)}.empty-workspace{flex:1}.modal-shade{position:fixed;inset:0;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * 1.016) 10.39% / .4);z-index:30;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{width:410px;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .615) 98.04%);padding:32px;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .366) 87.65%);border-radius:14px;box-shadow:0 25px 100px hsl(var(--brand-hue) calc(var(--brand-saturation) * 1.074) 10.39% / .2)}.modal h2{margin:12px 0 26px;font-size:24px}.modal>div:last-child{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}.modal p{font-size:11px}.share-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.share-dialog h3{margin:26px 0 10px;font-size:13px}.share-roles{display:grid;gap:8px;margin-bottom:16px}.share-roles legend{margin-bottom:10px;padding:0;font-size:12px;font-weight:600}.share-roles label{display:flex;align-items:flex-start;gap:10px;margin:0;padding:11px 12px;border:1px solid var(--brand-border);border-radius:9px;background:#fff;cursor:pointer}.share-roles label.selected{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 13%,transparent)}.share-roles input{width:auto;margin:2px 0 0;accent-color:var(--brand)}.share-roles strong,.share-grants strong{display:block;font-size:12px}.share-roles small,.share-grants small{display:block;margin-top:2px;font-weight:400;color:hsl(var(--brand-hue) 10% 45%);overflow-wrap:anywhere}.share-dialog>.primary{width:100%}.share-link{margin-top:14px}.share-link input{margin:0 0 8px}.share-grants{display:grid;gap:6px;margin:0;padding:0;list-style:none}.share-grants li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--brand-border);border-radius:9px;background:#fff}.error{color:#b65342!important}.login{min-height:100vh;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .473) 94.9%);display:grid;grid-template-columns:1fr 1fr;position:relative}.login-brand{position:absolute;top:40px;left:50px;font-size:26px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .624) 21.76%)}.login-card{align-self:center;justify-self:center;width:340px;padding-top:60px}.login h1{font-size:47px;line-height:1.2;letter-spacing:-2px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .558) 22.16%);margin:16px 0}.login-card>p{font-size:13px}.login form{margin-top:33px}.login form .primary{width:100%;padding:13px;display:flex;justify-content:space-between;margin-top:20px}.login-card>small{display:block;margin-top:35px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .181) 58.24%)}.loading{padding:60px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .297) 34.51%)}@media(max-width:1150px){.sidebar{width:var(--sidebar-width, 185px);padding-left:13px;padding-right:13px}.brand{font-size:20px}.inspector{width:230px;padding:20px 15px}.toolbar{padding:20px}.toolbar h1{font-size:21px}.save-state{display:none}.toolbar-actions button{font-size:10px}.canvas-caption span{display:none}}@media(max-width:850px){.sidebar{width:var(--sidebar-width, 160px)}.inspector{width:210px}.toolbar{flex-wrap:wrap;gap:14px}.viewbar>span{display:none}.login{display:block;padding:90px 20px}.login-card{margin:auto}.login-brand{top:30px;left:30px}.breadcrumb{max-width:300px;overflow:hidden}.canvas{min-height:300px}}@media(max-width:650px){.app{height:auto;min-height:100vh}.sidebar{width:60px;padding:20px 7px}.brand{font-size:0}.brand:first-letter{font-size:30px}.brand small,.workspace-pill,.sidebar .section-label,.sidebar nav,.sidebar-bottom{display:none}.new-file{font-size:0;padding:9px;margin-top:25px}.new-file:first-letter{font-size:20px}.editor-layout{flex-direction:column}.inspector{width:100%;border-left:0;border-top:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .256) 88.24%)}.canvas{height:430px;flex:auto}.code{height:250px}.main{overflow:hidden}.toolbar{padding:18px}.toolbar-actions{gap:5px}header{padding:0 18px}.header-right{gap:8px}.breadcrumb{max-width:180px;font-size:10px}.viewbar{padding:8px}.canvas-caption{display:none}}@media(max-width:650px){.app{min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.mobile-bottom-nav{position:fixed;z-index:1200;inset:auto 0 0;display:grid;grid-template-columns:repeat(3,1fr);height:calc(64px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .769) 15.69%);border-top:1px solid hsl(var(--brand-hue) 20% 30%)}.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:3px;border:0;border-radius:8px;background:transparent;color:#d9d8e8;font-size:11px}.mobile-bottom-nav button span{font-size:23px;line-height:1}.mobile-bottom-nav button.active{background:#ffffff20;color:#fff}.mobile-bottom-nav button:disabled{opacity:.45}.mobile-menu{display:none}.mobile-menu.open{display:block}.mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:1100;border:0;background:#11182788}.mobile-menu .sidebar,.mobile-menu .sidebar.collapsed{position:fixed;z-index:1101;inset:0 auto calc(64px + env(safe-area-inset-bottom)) 0;display:flex;width:min(84vw,340px);height:auto;padding:18px 16px;overflow-y:auto}.mobile-menu .sidebar.collapsed>:not(.sidebar-header),.mobile-menu .sidebar .section-label,.mobile-menu .sidebar nav,.mobile-menu .sidebar-bottom,.mobile-menu .workspace-pill{display:block}.mobile-menu .sidebar-header{justify-content:space-between}.mobile-menu .sidebar-header .brand,.mobile-menu .sidebar.collapsed .sidebar-header .brand{display:block;font-size:22px}.mobile-menu .sidebar-toggle,.app.immersive .mobile-bottom-nav{display:none}.app.immersive{padding-bottom:0}}.workspace-pill label{width:100%;min-width:0}.workspace-pill select{width:100%;font-size:12px}.sidebar nav button{white-space:normal;text-align:left}.canvas-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:13px;margin:16px 0 24px}.canvas-description a{color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .606) 32.35%)}textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .171) 85.88%);border-radius:6px;font:inherit}.note-label{background:#fff0c2!important;border:1px solid #d8b55c;white-space:pre-wrap;max-width:340px}.message-label{white-space:pre-wrap;max-width:430px}.toolbar h1{font-size:22px}.toolbar .editable-title,.toolbar .editable-title-input{min-height:0;margin:-3px -7px;padding:2px 6px;border:1px solid transparent;border-radius:8px;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:none}.toolbar .editable-title{width:auto;cursor:text}.toolbar .editable-title:hover:not(:disabled){border-color:var(--brand-border);background:#fff}.toolbar .editable-title-input{width:min(480px,100%);border-color:var(--brand);background:#fff;outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 13%,transparent)}.editors.read{display:flex;min-width:0}.sequence-preview{display:flex;flex-direction:column;min-height:0;min-width:0;width:100%;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .513) 98.24%)}.preview-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .171) 85.88%);font-size:11px;flex-shrink:0}.preview-tools button{padding:5px 9px}.preview-scroll{flex:1;overflow:auto;padding:24px;min-height:0}.preview-svg{width:max-content;min-width:100%}.preview-svg svg{max-width:none!important;display:block}.preview-svg text{font-family:Arial,sans-serif!important}.element-modal{max-height:85vh;overflow:auto}.element-modal fieldset{display:block;border:0;padding:0;margin:0}.element-modal fieldset button{width:100%;margin-bottom:10px}.element-modal h2{margin:6px 0 10px}.canvas-links{display:grid;gap:10px;margin:14px 0}.canvas-link{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .171) 85.88%);border-radius:8px;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .342) 96.47%);text-decoration:none;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .811) 18.24%);overflow-wrap:anywhere}.canvas-link:hover{border-color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .357) 43.92%);background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .371) 94.31%)}.canvas-link strong{font-size:13px}.canvas-link small{font-size:10px;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .151) 43.92%)}.link-kind{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .181) 44.9%)}.links-fields{border:0;padding:0;min-width:0}.link-edit{padding:12px;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .171) 85.88%);border-radius:8px;margin:12px 0}.links-fields button{margin-bottom:8px}.toolbar-actions{flex-wrap:wrap}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}.sidebar-header .brand{white-space:nowrap;min-width:0}.sidebar-toggle{align-self:center;flex-shrink:0;width:34px;height:32px;margin-bottom:0;padding:0;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .592) 22.94%);color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .293) 91.76%);border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .258) 38.63%);font-size:22px;line-height:1}.sidebar.collapsed{width:60px;padding:20px 10px}.sidebar.collapsed>:not(.sidebar-header){display:none}.sidebar.collapsed .sidebar-header{justify-content:center;margin-bottom:0}.sidebar.collapsed .sidebar-header .brand{display:none}@media(max-width:650px){.sidebar-header{justify-content:center}.sidebar-header .brand{display:none}}.app.immersive{height:100dvh;min-height:0;position:fixed;inset:0;z-index:1500}.app.immersive>.sidebar,.app.immersive>.mobile-menu,.app.immersive .main>:not(.editor-layout),.app.immersive .inspector{display:none}.app.immersive .main{height:100%;width:100%;min-height:0;overflow:hidden}.app.immersive .editor-layout,.app.immersive .sequence-preview{height:100%;min-height:0}.app.immersive .preview-tools{flex-wrap:wrap}.preview-scroll:focus-visible{outline:2px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .357) 43.92%);outline-offset:-2px}.immersion-toggle{white-space:nowrap}@media(max-width:650px){.app.immersive .editor-layout{flex-direction:row}.app.immersive .editors{height:100%}.preview-tools{flex-wrap:wrap}}.preview-scroll.panning,.preview-scroll.panning *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.inspector.chat-panel{width:390px;max-width:46vw}.chat-view{display:flex;flex-direction:column;gap:12px;min-height:100%}.chat-connection{display:flex;align-items:center;gap:8px;font-size:11px;overflow-wrap:anywhere}.chat-view h2{margin:0}.chat-turn{padding:13px;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .181) 86.67%);border-radius:9px;margin:12px 0;font-size:13px;overflow-wrap:anywhere}.chat-turn.user{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .371) 94.31%)}.chat-turn>div{white-space:pre-wrap;margin-top:7px;line-height:1.6}.chat-proposal{display:grid;gap:8px;margin-top:12px}.chat-proposal pre{white-space:pre-wrap;max-height:280px;overflow:auto;font-size:10px;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .285) 94.71%);padding:8px}.chat-view fieldset{border:0;padding:0;min-width:0}.chat-view button{margin:5px 0}.chat-view summary{cursor:pointer;font-size:12px;padding:8px 0}.chat-composer small{display:block;font-size:11px;line-height:1.5;margin:8px 0}.chat-settings p{font-size:12px;line-height:1.6}@media(max-width:650px){.inspector.chat-panel{width:100%;max-width:none}}.element-note{border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 82.16%);border-radius:8px;padding:12px;margin:12px 0;overflow-wrap:anywhere}.element-note small{display:block;margin-top:6px}.preview-tools select{max-width:230px}.preview-svg [role=button]{cursor:pointer}.preview-svg .annotated-selection{paint-order:stroke;stroke:var(--brand)!important;stroke-width:3px}.canvas-note-button{position:absolute;top:12px;right:12px;z-index:10}.shared-shell{padding:24px;height:100vh;overflow:auto;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 97.25%)}.shared-shell>.sequence-preview{height:70vh;min-height:400px}.shared-shell aside{max-width:700px;margin:24px auto}.shared-board{display:flex;flex-direction:column;padding:0;overflow:hidden}.shared-board>header{flex-shrink:0;gap:16px}.shared-board>header p{margin:0 auto 0 0}.shared-board .board-inspector aside,.shared-board aside.inspector{max-width:none;margin:0}.shared-board-frame{flex:1;min-height:0;display:flex;flex-direction:column}.shared-immersive{position:fixed;inset:0;padding:0;z-index:1000}.shared-immersive>:not(.sequence-preview){display:none}.shared-immersive>.sequence-preview{height:100vh}.preview-tools>span:last-child{flex-basis:100%;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .259) 39.61%)}.board-layout{min-height:400px}.board-box{width:240px;border:1.5px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .209) 75.49%);border-radius:12px;padding:18px;background:#fffef9;box-shadow:0 4px 15px hsl(var(--brand-hue) calc(var(--brand-saturation) * .372) 18.63% / .063)}.board-box.is-resized{width:100%;height:100%;box-sizing:border-box}.board-box.selected{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 13%,transparent)}.board-box-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.5}.board-box-resources{border-top:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 89.02%);margin-top:12px;padding-top:8px;display:grid;gap:8px}.board-box-resources a{color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .546) 30.39%);font-size:12px;overflow-wrap:anywhere}.board-box-resources small{display:block;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .103) 50.39%)}.board-box .react-flow__handle{width:12px;height:12px;border:2px solid var(--brand);background:#fff;opacity:0;transition:opacity .12s}.board-box .react-flow__handle[id$=-start],.board-box .react-flow__handle[id$=-end]{width:10px;height:10px;border-width:1.5px}.react-flow__node-box:hover .react-flow__handle,.react-flow__node-box.selected .react-flow__handle,.board-box .react-flow__handle.connectingfrom{opacity:1}.board-box .react-flow__handle:hover,.board-box .react-flow__handle.connectingto{background:var(--brand)}.board-empty{position:absolute;top:30%;left:0;right:0;text-align:center;pointer-events:none;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .103) 50.39%)}.board-inspector{width:300px}.board-inspector textarea{width:100%;resize:vertical}.board-inspector fieldset{min-width:0}.board-resource{display:flex;align-items:center;gap:8px;margin:10px 0}.board-resource a{flex:1;overflow-wrap:anywhere;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .546) 30.39%)}.board-resource button{width:auto;margin:0}@media(max-width:760px){.board-layout{flex-direction:column;overflow:auto}.board-layout .canvas{flex:none;height:55vh}.board-inspector{width:100%;overflow:visible}.board-toolbar{flex-wrap:wrap}}.viewbar button.primary{background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .546) 30.39%);color:#fff}.implementation-history{margin-top:24px;border-top:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .235) 88.43%);padding-top:12px}.implementation-history a,.implementation-history code{overflow-wrap:anywhere}.implementation-tests{white-space:pre-wrap;font-size:12px}.board-inspector .hint{overflow-wrap:anywhere}.github-login{display:grid;gap:12px;margin:24px 0}.github-button{display:block;padding:14px 20px;text-align:center;border-radius:8px;text-decoration:none;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .706) 16.67%);color:#fff;font-weight:600}.account-button{width:100%;margin:12px 0}.account-overlay{position:fixed;inset:0;background:hsl(var(--brand-hue) calc(var(--brand-saturation) * .592) 12.75% / .4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:grid;place-items:center;padding:24px}.account-panel{background:#fffef9;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .444) 17.65%);width:min(900px,100%);max-height:90vh;overflow:auto;border-radius:16px;padding:28px;box-shadow:0 20px 80px #0003}.account-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.account-panel h2{margin:0}.account-panel h3{margin-top:28px}.account-panel p{line-height:1.5}.account-panel code{overflow-wrap:anywhere}.account-panel form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.account-panel label{display:grid;gap:6px;flex:1}.account-panel input,.account-panel select{padding:10px;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .182) 81.76%);border-radius:6px}.account-panel button{padding:9px 14px}.token-list{list-style:none;padding:0}.token-list li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .269) 87.65%)}.account-panel small{display:block;color:hsl(var(--brand-hue) calc(var(--brand-saturation) * .117) 41.18%);margin-top:4px}.account-table{overflow-x:auto}.account-table table{width:100%;border-collapse:collapse}.account-table td,.account-table th{text-align:left;padding:10px 8px;border-bottom:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .269) 87.65%)}.account-pages{display:flex;justify-content:flex-end;gap:12px;margin:12px 0}.account-logout{margin-top:24px}@media(max-width:600px){.account-overlay{padding:8px}.account-panel{padding:18px;max-height:96vh}}:root{color:var(--text-primary);background:var(--page-bg)}.primary,.github-button{background:var(--brand);border-color:var(--brand);color:#fff}.primary:hover,.github-button:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.login{background:var(--page-bg)}.login h1,.login-brand{color:var(--text-primary)}.brand,.login-brand{display:inline-flex;align-items:center;gap:.45em}.brand .brand-mark,.login-brand .brand-mark{display:inline-flex;flex:0 0 auto;width:1.1em;opacity:1;line-height:1}.brand-mark svg{display:block;width:100%;height:auto}.login-brand .brand-mark{color:var(--brand)}.update-notice{position:fixed;z-index:2000;right:20px;bottom:20px;padding:10px 14px;border:0;border-radius:9px;background:var(--brand);color:#fff;box-shadow:0 5px 20px #17173b44;font-weight:700}.brand .brand-word,.login-brand .brand-word{opacity:1;font-weight:700}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:3px}@media(max-width:650px){.brand .brand-mark{width:30px}.brand .brand-word{display:none}}.language-selector{position:relative;display:inline-flex;align-items:center;flex-shrink:0;height:30px;margin:0;padding:0 10px;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 86%);border-radius:15px;background:#fff;color:var(--text-primary);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}.language-selector:hover{background:var(--brand-soft)}.language-selector:focus-within{outline:2px solid var(--brand);outline-offset:2px}.language-selector select{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.login-language{position:absolute;top:36px;right:40px;z-index:2}.shared-shell>header{gap:12px}.shared-shell>header .language-selector{margin-left:auto}@media(max-width:850px){.login-language{top:26px;right:20px}}.context-menu{position:fixed;z-index:3000;min-width:220px;max-width:320px;padding:5px;background:#fff;border:1px solid hsl(var(--brand-hue) calc(var(--brand-saturation) * .22) 86%);border-radius:10px;box-shadow:0 14px 36px hsl(var(--brand-hue) 45% 15% / .18)}.context-menu button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:none;text-align:left;font-size:12px;font-weight:500}.context-menu button:hover:enabled,.context-menu button:focus-visible{background:var(--brand-soft);outline:none}.context-menu button.danger{background:none!important;border:0!important}.context-menu kbd{font:10px DM Sans,sans-serif;color:hsl(var(--brand-hue) 10% 50%)}.context-menu hr{border:0;border-top:1px solid hsl(var(--brand-hue) 20% 90%);margin:4px 2px}.account-preferences{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--border, #e2e4ee)}.account-language{display:flex;flex-direction:column;gap:8px;max-width:340px}.account-language select{padding:10px 12px}.canvas-type-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border-radius:6px;font-size:10px;font-weight:700;line-height:1;letter-spacing:0}.canvas-type-badge.freeform{background:#aaa6ee26;color:#d2ceff}.canvas-type-badge.sequence{background:#7bcaca26;color:#a8e3df}.plan-assignment{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:16px 0}.plan-assignment label{display:grid;gap:6px}.sidebar .library-heading{align-items:center;gap:8px;margin:22px 4px 8px}.library-heading .library-count{font-size:10px;opacity:.7}.library-create-actions{display:flex;gap:2px;margin-left:auto}.library-create-actions button{display:flex;align-items:center;justify-content:center;gap:2px;padding:5px;border:0;background:transparent;color:inherit;min-width:32px}.library-create-actions button:hover{background:#ffffff14}.library-create-actions svg{width:16px;height:16px}.library-create-actions span{font-size:13px}.library-file-row{display:flex;align-items:center;gap:2px}.library-file-row>button:first-child{flex:1;min-width:0}.library-file-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar nav .library-file-row>.action-menu-trigger{flex:none;width:28px;padding:10px 0;justify-content:center;font-size:16px}.sidebar nav .library-folder-menu{opacity:1}.sidebar nav .library-file-row>.action-menu-trigger:hover{background:#ffffff14}.documentation-options{border:0;padding:0;margin:20px 0}.account-panel .documentation-check{display:flex;align-items:center;gap:10px;margin:12px 0;font-weight:400}.account-panel .documentation-check input{width:auto;margin:0;flex:none}.sidebar-resize-handle{position:absolute;inset:0 -4px 0 auto;width:8px;z-index:20;cursor:col-resize;touch-action:none}.sidebar-resize-handle:after{content:"";position:absolute;inset:0 3px;background:transparent}.sidebar-resize-handle:hover:after,.sidebar-resize-handle:focus-visible:after,.sidebar.resizing .sidebar-resize-handle:after{background:#899dff}.sidebar-resize-handle:focus-visible{outline:none}.app:has(.sidebar.resizing),.app:has(.sidebar.resizing) *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media(max-width:650px){.sidebar-resize-handle{display:none}}.login{grid-template-columns:1fr;padding:112px 24px 48px;box-sizing:border-box}.login .login-card{width:min(100%,380px);padding:0}.login .login-card>p{color:var(--text-primary);line-height:1.7}.login .login-card>small,.login .github-login small,.login .email-login-block>small{color:var(--text-primary);opacity:.8;line-height:1.6}.login .github-button,.login .email-login button{display:flex;justify-content:center;align-items:center;width:100%;min-height:48px;box-sizing:border-box;font-weight:600}.login .github-button{margin-top:28px}.login .email-login-block{margin-top:24px}.login .email-login{margin-top:12px}.login .email-login button{margin-top:16px;border:1px solid var(--brand)}.login .email-login input{min-height:46px}.login .login-unavailable{margin-top:24px;line-height:1.6}@media(max-width:600px){.login{padding:120px 24px 40px}.login .login-brand{left:24px;top:28px;font-size:24px}.login h1{font-size:40px}}.sidebar{background:linear-gradient(165deg,#ffffff04,transparent 40%),hsl(var(--brand-hue) calc(var(--brand-saturation) * .769) 15.69%)}.sidebar .workspace-pill{border-radius:12px;padding:10px;gap:6px;box-shadow:0 4px 16px #0000000c}.workspace-pill label{font-size:10px;letter-spacing:.04em;color:#b8b8cc}.workspace-pill select{margin-top:6px;color:#eeeef6;background-color:#ffffff08;border-color:#ffffff18}.sidebar .library-heading{font-size:10px;letter-spacing:.12em;color:#b8b8cc}.library-heading .library-count{display:grid;place-items:center;min-width:20px;height:20px;border-radius:6px;background:#ffffff0a;letter-spacing:0;opacity:1}.library-create-actions button{border-radius:6px;min-height:30px}.library-search{display:flex;align-items:center;gap:6px;border:1px solid #ffffff16;border-radius:8px;padding:0 9px;margin:2px 0 14px;background:#0000000c;color:#b8b8cc}.library-search>span{font-size:22px}.library-search input{min-width:0;width:100%;padding:9px 0;margin:0;border:0;background:transparent;color:#eeeef6;font-size:11px;box-shadow:none}.library-search input::placeholder{color:#a4a4ba}.library-search:focus-within{border-color:#aaa0ee;box-shadow:0 0 0 2px #aaa0ee20}.sidebar nav button{min-height:36px;padding:8px;margin-bottom:2px;border-radius:7px;color:#c2c2d3;transition:background .15s,color .15s}.sidebar nav button:hover{background:#ffffff09;color:#fff}.sidebar nav button.active{color:#f4f1ff;background:#b3a0ff1a;box-shadow:inset 3px 0 #b3a0ff}.library-folder{margin-bottom:8px}.sidebar nav .library-folder-name{gap:6px;font-weight:600;color:#e0e0ed}.library-folder-name>svg{width:15px;height:15px;flex-shrink:0;color:#aaa0cf}.library-folder-name .library-folder-label{width:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-folder-name small{font-size:9px;background:#ffffff08;padding:2px 5px;border-radius:4px;color:#aaaabe}.library-children{margin-left:10px;padding-left:7px;border-color:#ffffff0d}.sidebar nav .library-file-row>.action-menu-trigger,.sidebar nav .library-folder-menu{min-height:30px;padding:4px 0;opacity:.35}.library-file-row:hover>.action-menu-trigger,.library-file-row:focus-within>.action-menu-trigger,.library-folder-row:hover>.library-folder-menu,.library-folder-row:focus-within>.library-folder-menu{opacity:1}.sidebar button:focus-visible{outline:2px solid #b3a0ff;outline-offset:-2px}.library-empty{padding:12px 8px;font-size:12px;line-height:1.6;color:#b8b8cc}.library-loading-label{display:block;font-size:11px;color:#b8b8cc;margin:4px 8px 12px}.library-skeleton-row{display:flex;align-items:center;gap:10px;height:38px;padding:8px}.library-skeleton-row.nested{padding-left:26px}.library-skeleton-icon,.library-skeleton-line{display:block;background:linear-gradient(90deg,#ffffff08 25%,#ffffff18,#ffffff08 75%);background-size:200% 100%;animation:library-shimmer 1.6s ease-in-out infinite;border-radius:4px}.library-skeleton-icon{width:18px;height:18px;flex-shrink:0}.library-skeleton-line{width:72%;height:10px}.library-skeleton-row:nth-child(2n) .library-skeleton-line{width:54%}@keyframes library-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.library-skeleton-icon,.library-skeleton-line{animation:none}.sidebar nav button{transition:none}}@media(hover:none){.sidebar nav .library-file-row>.action-menu-trigger,.sidebar nav .library-folder-menu{opacity:1}}.sidebar.collapsed .library-search{display:none}@media(max-width:650px){.mobile-menu .sidebar.collapsed .library-search{display:flex}}.sidebar nav .library-file-row:has(>button.active){background:#b3a0ff12;border-radius:8px;box-shadow:inset 0 0 0 1px #b3a0ff28}.sidebar nav .library-file-row>button.active{background:transparent;box-shadow:none;color:#f4f1ff}.sidebar nav .library-file-row>button.active .canvas-type-badge{color:#d4c8ff}.library-file-row .canvas-type-badge{background:transparent;color:#a6a6bf}.canvas-type-badge .icon{width:16px;height:16px}@media(max-width:650px){.mobile-menu .sidebar-header .brand .brand-word{display:inline}}
