.account-button{max-width:220px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:17px;flex:none;align-items:center;gap:8px;padding:0 8px 0 4px;display:inline-flex}.account-button:hover,.account-button.is-on{background:var(--surface-hover);border-color:var(--border)}.account-avatar{object-fit:cover;border-radius:50%;flex:none;width:26px;height:26px}.account-initials{background:var(--accent-soft);color:var(--accent);letter-spacing:.02em;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.account-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.account-panel{min-width:240px;max-width:min(300px,100vw - 16px)}.account-panel a.panels-menu-item{color:var(--text)}.account-who{padding:8px 8px 6px}.account-who-name{font-weight:600}.account-who-email{color:var(--text-muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}.account-section{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:2px;padding-top:4px;display:flex}.account-github{padding:6px 8px;font-size:13px}.account-warning{color:var(--warn)}.account-error{color:var(--error)}@media (width<=560px){.account-name{display:none}.account-button{padding:0 4px}}.account-toast{z-index:60;border-radius:var(--radius);max-width:calc(100% - 32px);box-shadow:var(--shadow-float);align-items:center;gap:12px;padding:10px 14px;font-weight:500;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%)}.account-toast-ok{color:var(--ok);background:#ecf7ef;border:1px solid #c6e7cf}.account-toast-error{background:var(--error-soft);color:var(--error);border:1px solid #f6d3c3}.login-page{justify-content:center;align-items:center;padding:24px 16px;overflow:auto}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:14px;padding:28px 24px;display:flex}.login-brand{align-items:center;gap:10px;display:flex}.login-brand h1{letter-spacing:-.02em;font-size:22px;font-weight:650}.login-lead{color:var(--text-muted)}.login-card .button{justify-content:center;height:38px}.login-google-mark{background:#fff;border-radius:50%;padding:1px}.login-or{color:var(--text-faint);align-items:center;gap:10px;font-size:12px;display:flex}.login-or:before,.login-or:after{content:"";background:var(--border);flex:1;height:1px}.login-note{color:var(--text-muted);font-size:12px}.signout-list{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none}.signout-row{align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.signout-row+.signout-row{border-top:1px solid var(--border)}.signout-text{flex-direction:column;flex:1;min-width:0;display:flex}.signout-title,.signout-path{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.signout-title{font-weight:500}.signout-path{color:var(--text-faint);font-size:12px}.button.signout-download{flex:none;height:28px;padding:0 10px;font-size:13px}.link-button.signout-home{margin-left:0}.dialog-backdrop{z-index:50;background:#10182847;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:440px;max-width:100%;max-height:76vh;display:flex;box-shadow:0 12px 32px #1018282e,0 2px 6px #1018281a}.dialog:focus{outline:none}.dialog-title{padding:16px 20px 0;font-size:15px;font-weight:600}.dialog-body{flex-direction:column;gap:12px;padding:12px 20px 4px;display:flex;overflow-y:auto}.dialog-body>*{flex-shrink:0}.dialog-body p{color:var(--text-muted)}.dialog-footer{justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.dialog .banner{margin:0}.button:disabled{opacity:.55;cursor:default}.button.button-danger{background:var(--error);border-color:var(--error)}.button.button-danger:hover:not(:disabled){background:#a3360a}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--text-muted);font-size:12px;font-weight:500}.field-hint{color:var(--text-faint);font-size:12px}.field-error{color:var(--error);font-size:12px}.input{border:1px solid var(--border-strong);background:var(--surface);width:100%;height:32px;color:var(--text);font:inherit;border-radius:6px;padding:0 10px}textarea.input{resize:vertical;height:auto;min-height:64px;padding:6px 10px}.input:focus{outline:2px solid var(--accent-muted);outline-offset:-1px;border-color:var(--accent)}.input.is-invalid{border-color:var(--error)}.claude-help-button{height:30px;padding:0 10px}@media (width<=760px){.claude-help-label{display:none}}.claude-help-link{margin-left:0}.canvas-empty .claude-help-link{pointer-events:auto}.claude-help .dialog-body{gap:16px;padding-bottom:8px}.claude-help section{flex-direction:column;gap:8px;display:flex}.claude-help h3{font-size:13px;font-weight:600}.claude-help h4{color:var(--text-muted);margin-top:4px;font-size:12px;font-weight:600}.claude-help code{font:12px var(--mono-font)}.claude-help-steps{color:var(--text-muted);flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.claude-help-copy{gap:6px;display:flex}.claude-help-copy .input{min-width:0;font:12px var(--mono-font);flex:1}.claude-help-copy .button{flex:none;justify-content:center;min-width:72px}.claude-help-steps .claude-help-copy{margin-top:6px}.claude-help-callout{border:1px solid var(--border);background:var(--surface-hover);border-radius:8px;padding:10px 12px}.claude-help-prompts{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.claude-help-prompt{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.claude-help-prompt-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.claude-help-prompt-title{color:var(--text-muted);font-size:12px;font-weight:600}.claude-help-note{color:var(--text-faint);font-weight:400}.claude-help-prompt .link-button{font-size:12px}.claude-help-prompt q{quotes:"“" "”"}.panels-popover{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow-float);flex-direction:column;gap:2px;padding:4px;display:flex;position:fixed}.panels-popover-title{color:var(--text-muted);padding:6px 8px 4px;font-size:12px;font-weight:600}.panels-popover-hint{color:var(--text-faint);max-width:240px;padding:2px 8px 4px;font-size:12px}.panels-menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:6px 8px;font-size:13px;display:flex}.panels-menu-item:hover:not(:disabled){background:var(--surface-hover)}.panels-menu-item:disabled{color:var(--text-faint);cursor:default}.panels-menu-item.is-checked{color:var(--accent);background:var(--accent-soft)}.panels-menu-item.is-danger:not(:disabled){color:var(--error)}.panels-menu-icon{color:var(--text-muted);display:flex}.panels-menu-label{flex:1}.panels-menu-hint{color:var(--text-faint);font-size:12px}.browser-head-actions{align-items:center;gap:6px;display:flex}.browser.browser-single{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);max-width:920px}.browser-page .panel-head h2{align-items:center;gap:6px;min-width:0;display:flex}.branch-picker{align-items:center;gap:4px;min-width:0;font-weight:400;display:inline-flex}.branch-select{min-width:0;max-width:220px;font:inherit;color:var(--text-muted);text-overflow:ellipsis;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:1px 4px;font-weight:400}.branch-select:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border)}.branch-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.breadcrumbs{white-space:nowrap;align-items:center;min-width:0;font-size:13px;display:flex;overflow:hidden}.breadcrumb{align-items:center;min-width:0;display:inline-flex}.breadcrumb-link,.breadcrumb-current{text-overflow:ellipsis;border-radius:4px;max-width:220px;padding:3px 4px;overflow:hidden}.breadcrumb-link{color:var(--text-muted)}.breadcrumb-link:hover{background:var(--surface-hover);color:var(--text)}.breadcrumb-current{font-weight:600}.breadcrumb-sep{color:var(--text-faint);padding:0 2px}.star-toggle.is-starred{color:#d99a06}.browser-content{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px;display:flex;overflow:auto}.browser-toolbar{flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px;display:flex}.browser-show-all{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.browser-show-all input{margin:0}.folder-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.folder-row{border:1px solid var(--border);min-width:0;min-height:38px;color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:flex}.folder-row:hover{background:var(--surface-hover);border-color:var(--border-strong)}.folder-row .icon{color:var(--accent-muted);flex:none}.folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.folder-count{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.folder-row.is-empty{color:var(--text-muted);border-style:dashed}.folder-row.is-empty .folder-name{font-weight:400}.folder-row.is-empty .icon,.folder-row.is-empty .folder-count{color:var(--text-faint)}.diagram-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.diagram-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);position:relative;overflow:hidden}.diagram-card:hover:not(.is-unavailable),.diagram-card:focus-within:not(.is-unavailable){border-color:var(--border-strong);box-shadow:var(--shadow-float)}.diagram-card.is-unavailable{opacity:.55;box-shadow:none}.diagram-card-link{min-width:0;color:var(--text);flex-direction:column;display:flex}.is-unavailable .diagram-card-link{cursor:not-allowed}.diagram-thumb{aspect-ratio:3/2;background:var(--canvas);border-bottom:1px solid var(--border);display:block;position:relative;overflow:hidden}.diagram-thumb img{object-fit:contain;width:100%;height:100%;padding:8px;position:absolute;inset:0}.diagram-thumb-none{background:var(--bg);color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex;position:absolute;inset:0}.diagram-thumb .diagram-thumb-none .icon{width:22px;height:22px}.diagram-card-text{flex-direction:column;min-width:0;padding:8px 40px 9px 12px;display:flex}.diagram-card-name,.diagram-card-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diagram-card-name{font-weight:500}.diagram-card-detail{color:var(--text-muted);font-size:12px}.diagram-card-star{position:absolute;bottom:4px;right:4px}.diagram-card-spinner{position:absolute;top:8px;right:8px}.doc-star{flex:none;margin-left:-8px}@media (width<=560px){.browser.browser-single{padding:12px}.browser-content{padding:10px}.browser-page .browser-head-actions{flex-wrap:wrap}.browser-page .button.browser-new{white-space:nowrap}.folder-grid{grid-template-columns:minmax(0,1fr)}.diagram-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.browser-page .panel-head{flex-wrap:wrap}.brand-name{display:none}}.button.browser-new{height:30px;padding:0 12px 0 10px;font-size:13px}.browser-new-form{flex-direction:column;gap:12px;display:flex}.files-drop{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.files-drop-hint{z-index:1;border:2px dashed var(--accent-muted);color:var(--accent);text-align:center;pointer-events:none;background:#eaf1feeb;border-radius:6px;justify-content:center;align-items:center;padding:16px;font-weight:500;display:flex;position:absolute;inset:6px}.import-drop{border:1px dashed var(--border-strong);background:var(--bg);border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:64px;padding:12px 14px;display:flex}.import-drop.is-drop-target{border-color:var(--accent);background:var(--accent-soft)}.import-drop.is-invalid{border-color:var(--error)}.import-drop .link-button{margin-left:auto}.import-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.import-file-error{margin-top:-6px}.import-progress{flex-direction:column;gap:6px;display:flex}.import-progress-bar{background:var(--surface-hover);border-radius:3px;height:6px;position:relative;overflow:hidden}.import-progress-bar>div{background:var(--accent);border-radius:3px;height:100%;transition:width .12s linear}.import-progress-bar.is-indeterminate>div{width:35%;animation:1.1s ease-in-out infinite import-indeterminate;position:absolute}@keyframes import-indeterminate{0%{left:-35%}to{left:100%}}@media (prefers-reduced-motion:reduce){.import-progress-bar.is-indeterminate>div{opacity:.5;width:100%;animation:none;left:0}}.import-pages{border-collapse:collapse;width:100%;font-size:13px}.import-pages th{color:var(--text-muted);text-align:left;font-size:12px;font-weight:500}.import-pages th,.import-pages td{border-bottom:1px solid var(--border);padding:5px 8px}.import-pages th:not(:first-child),.import-pages td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;width:72px}.dialog-body p.import-ok{color:var(--ok)}.import-warnings{flex-direction:column;gap:6px;display:flex}.import-warnings h3{color:var(--text-muted);font-size:12px;font-weight:500}.import-warning{background:var(--warn-soft);border:1px solid #f5dfb5;border-radius:6px;font-size:13px}.import-warning summary{color:var(--warn);cursor:pointer;align-items:baseline;gap:8px;padding:7px 10px;list-style:none;display:flex}.import-warning summary::-webkit-details-marker{display:none}.import-warning summary:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;flex:none;width:5px;height:5px;margin-right:2px;transition:transform .12s;transform:translateY(-2px)rotate(-45deg)}.import-warning[open] summary:before{transform:translateY(-3px)rotate(45deg)}.import-warning summary>span:first-child{flex:1}.import-warning ul{color:var(--text);margin:0;padding:0 12px 8px 28px}.import-warning li+li{margin-top:3px}.home-page{overflow:auto}.home{flex-direction:column;gap:20px;width:100%;min-width:0;max-width:920px;margin:0 auto;padding:20px 16px 40px;display:flex}.home-section{flex:none;min-width:0}.home-section.panel{overflow:visible}.home-section-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.home-section-head h2{font-size:13px;font-weight:600}.home-head{flex-wrap:wrap}.home-actions{flex-wrap:wrap;justify-content:flex-end}.home-note{color:var(--text-muted);padding:10px 16px 0;font-size:12px}.home-empty{color:var(--text-muted);padding:12px 16px 16px;font-size:13px;list-style:none}.home-starred .home-empty{padding:0}.home-uploading{color:var(--text-muted);align-items:center;gap:8px;padding:10px 16px 0;font-size:13px;display:flex}.home-section>.banner{margin:10px 16px 0}.home-starred>.banner{margin:0 0 8px}.home-filter{padding:8px 12px 0}.home-filter .input{width:100%}.home-card{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:10px 12px 12px;padding:14px 16px;display:flex}section.home-card{background:var(--surface);margin:0}.home-card>div{flex:240px;min-width:0}.home-card p{margin-top:2px;font-size:13px}.repo-list+.repo-list,.repo-list+.home-filter{border-top:1px solid var(--border)}.star-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.starred-diagrams+.star-grid{margin-top:12px}.star-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);align-items:center;gap:4px;padding:4px 4px 4px 0;display:flex}.star-card:hover:not(.is-unavailable){border-color:var(--border-strong)}.star-card.is-unavailable{opacity:.55;box-shadow:none}.star-link{min-width:0;color:var(--text);flex:1;align-items:center;gap:10px;padding:8px 4px 8px 12px;display:flex}.star-link .icon{color:var(--text-faint);flex:none}.is-unavailable .star-link{cursor:not-allowed}.star-text{flex-direction:column;min-width:0;display:flex}.star-name,.star-where{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.star-name{font-weight:500}.star-where{color:var(--text-muted);font-size:12px}.local-row{align-items:center;gap:2px;min-width:0;display:flex}.local-open{flex:1;min-width:0}.local-title{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.local-path{text-overflow:ellipsis;min-width:0;color:var(--text-faint);flex:0 10 auto;font-size:12px;overflow:hidden}.local-time{color:var(--text-faint);white-space:nowrap;flex:none;font-size:12px}.dirty-dot{background:var(--warn);border-radius:50%;flex:none;width:8px;height:8px}@media (width<=560px){.home{gap:16px;padding:14px 12px 32px}.home-head .button.browser-new{padding:0 9px}.local-time{display:none}.file-row .local-main{flex-direction:column;align-items:stretch;gap:0}}.repo-item{align-items:center;gap:2px;min-width:0;display:flex}.repo-item>.repo-row{flex:1;min-width:0}.repo-item.is-unavailable>.repo-row{opacity:.55;cursor:not-allowed}.repo-item.is-unavailable>.repo-row:hover{background:0 0}.repo-remove{flex:none}@media (hover:hover){.repo-item:not(:hover,:focus-within)>.repo-remove{opacity:0}}.add-repos-list{border:1px solid var(--border);border-radius:6px;max-height:min(46vh,420px);margin:0;padding:4px;list-style:none;overflow-y:auto}.dialog-body>.add-repos-list{flex-shrink:1}.add-repos-row{cursor:pointer;border-radius:6px;align-items:center;gap:10px;min-height:34px;padding:6px 8px;display:flex}.add-repos-row:hover{background:var(--surface-hover)}.add-repos-row input{flex:none;margin:0}.add-repos-empty{color:var(--text-muted);padding:8px;font-size:13px}.dialog-body .add-repos-hint{font-size:12px}.add-repos-hint a{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.connect-hit{fill:#0000;stroke:none}.connect-port{cursor:crosshair}.connect-port-dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}.connect-port-stem{stroke:var(--accent);stroke-width:1px;stroke-opacity:.6}.connect-port:hover .connect-port-dot{fill:var(--accent)}.connect-end{cursor:grab}.connect-end-dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}.connect-end-attached .connect-end-dot{fill:var(--accent);stroke:var(--surface)}.connect-segment-horizontal{cursor:ns-resize}.connect-segment-vertical{cursor:ew-resize}.connect-segment-bar,.connect-bend-dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}.connect-bend{cursor:move}.connect-mid{cursor:copy}.connect-mid-dot{fill:var(--accent);fill-opacity:.35;stroke:var(--accent);stroke-width:1px}.connect-segment:hover .connect-segment-bar,.connect-bend:hover .connect-bend-dot,.connect-end:hover .connect-end-dot,.connect-mid:hover .connect-mid-dot{fill:var(--accent);fill-opacity:1}.connect-target{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-opacity:.7}.connect-snap{fill:var(--accent);fill-opacity:.5}.connect-at{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.icons-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;width:284px;min-height:0;display:flex}.icons-head{align-items:center;gap:4px;height:40px;padding:0 6px 0 12px;display:flex}.icons-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.icons-title code{font-weight:400}.icons-search{padding:0 12px 8px}.icons-packs{border:0;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;min-width:0;margin:0;padding:0 12px 8px;display:flex}.icons-pack{border:1px solid var(--border);background:var(--surface);height:24px;color:var(--text-muted);font:inherit;cursor:pointer;border-radius:12px;padding:0 8px;font-size:12px}.icons-pack:hover{border-color:var(--border-strong);color:var(--text)}.icons-pack.is-on{border-color:var(--accent-muted);background:var(--accent-soft);color:var(--accent)}.icons-results{flex:1;min-height:0;padding:4px 8px 12px;overflow-y:auto}.icons-section{margin-top:6px}.icons-section-head{justify-content:space-between;align-items:baseline;gap:8px;padding:6px 4px 4px;display:flex}.icons-section-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:12px;font-weight:600;overflow:hidden}.icons-section-head .link-button{flex:none;font-size:12px}.icons-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;display:grid}.icons-tile{min-width:0;color:var(--text-muted);font:inherit;cursor:grab;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:6px 2px 4px;display:flex}.icons-tile:hover{background:var(--surface-hover);color:var(--text)}.icons-tile:focus-visible{outline:2px solid var(--accent-muted);outline-offset:-2px}.icons-tile img{object-fit:contain;pointer-events:none;width:36px;height:36px}.icons-caption{-webkit-line-clamp:2;text-align:center;overflow-wrap:anywhere;-webkit-box-orient:vertical;width:100%;font-size:10.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.icons-more{justify-content:center;width:100%;margin-top:10px;display:flex}.icons-back{margin:8px 4px 0;font-size:12px}.icons-message{padding:16px 4px;font-size:13px}.icons-message p{margin:0 0 8px}.icons-hint{border-top:1px solid var(--border);margin:0;padding:8px 12px;font-size:11.5px}.images-upload-box{fill:var(--accent-soft);fill-opacity:.7;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:6 4;animation:1s linear infinite images-upload-dash}@keyframes images-upload-dash{to{stroke-dashoffset:-10px}}.images-upload-text{font:12px var(--ui-font);fill:var(--text-muted)}.images-upload-track{fill:var(--border)}.images-upload-bar{fill:var(--accent);transition:width .15s}@media (prefers-reduced-motion:reduce){.images-upload-box{animation:none}}.labels-frame{transform-origin:0 0;z-index:3;pointer-events:none;flex-direction:column;display:flex;position:absolute;top:0;left:0}.labels-frame[data-valign=top]{justify-content:flex-start}.labels-frame[data-valign=middle]{justify-content:center}.labels-frame[data-valign=bottom]{justify-content:flex-end}.labels-input{border-radius:calc(2px / var(--labels-scale,1));outline:calc(1.5px / var(--labels-scale,1)) solid var(--accent);outline-offset:calc(3px / var(--labels-scale,1));resize:none;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;letter-spacing:normal;font-kerning:none;text-rendering:geometricprecision;width:100%;caret-color:var(--accent);pointer-events:auto;-webkit-user-select:text;user-select:text;background:0 0;border:0;flex:none;margin:0;padding:0;display:block;overflow:hidden}.labels-input-nowrap{white-space:pre}.labels-input-edge{background:var(--canvas)}.panels-toolbar{align-items:center;gap:4px;min-width:max-content;display:flex}.panels-group{align-items:center;gap:2px;display:flex}.panels-toolbar .icon-button:disabled{opacity:.35;cursor:default;background:0 0}.icon-button.panels-more{gap:2px;width:auto;padding:0 4px 0 7px}.icon-button.panels-text-button{gap:6px;width:auto;padding:0 8px;font-size:13px}.panels-tool-text{padding:0 4px;font-size:12px}.icon-button.panels-other-tool{width:auto;min-width:30px}.panels-layout{gap:8px;width:250px;padding:8px}.panels-layout .panels-popover-title,.panels-layout .panels-popover-hint{padding:0}.panels-layout .button{justify-content:center}.panels-segmented{background:var(--surface-hover);border-radius:7px;gap:2px;padding:2px;display:flex}.panels-segmented button{height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:1;justify-content:center;align-items:center;font-size:15px;display:flex}.panels-segmented button:hover{color:var(--text)}.panels-segmented button.is-on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.panels-segmented.small button{height:24px}.panels-check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.panels-header{align-items:center;gap:4px;display:flex}.button.panels-save{height:30px;padding:0 14px}.button.panels-save:disabled{opacity:1;color:var(--text-faint)}.panels-sha{font-size:13px}.panels-detail summary{color:var(--text-faint);cursor:pointer;font-size:12px}.dialog-body .panels-detail p{color:var(--text-faint);word-break:break-word;margin-top:6px}.panels-what code{font-size:12px}.editor-sidebar:has(.panels-collapsed){width:44px;overflow:hidden}.panels-collapsed{justify-content:center;padding:8px 0;display:flex}.panels-section{border-bottom:1px solid var(--border)}.panels-section-head{align-items:center;gap:2px;height:40px;padding:0 6px 0 4px;display:flex}.panels-section-toggle{letter-spacing:.02em;text-transform:uppercase;height:30px;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;flex:1;align-items:center;gap:6px;padding:0 6px;font-size:12px;font-weight:600;display:flex}.panels-section-toggle:hover{color:var(--text)}.panels-section-body{padding:0 12px 12px}.panels-style{flex-direction:column;gap:10px;display:flex}.panels-what{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.panels-empty{color:var(--text-muted);font-size:13px}.panels-group-block{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding-top:8px;display:flex}.panels-group-title{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px;font-weight:600}.panels-row{grid-template-columns:84px 1fr 20px;align-items:center;gap:6px;min-height:30px;display:grid}.panels-row-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.panels-row-control{align-items:center;min-width:0;display:flex}.panels-reset,.panels-reset-space{width:20px;height:20px}.panels-reset{color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}.panels-reset:hover{color:var(--text);background:var(--surface-hover)}.panels-input-wrap{flex:1;min-width:0;display:flex;position:relative}.panels-input,.panels-select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;height:28px;color:var(--text);font:inherit;border-radius:6px;padding:0 8px;font-size:13px}.panels-input:hover,.panels-select:hover{border-color:var(--border-strong)}.panels-input:focus,.panels-select:focus{outline:2px solid var(--accent-muted);outline-offset:-1px;border-color:var(--accent)}.panels-input::placeholder{color:var(--text-faint)}.panels-input.is-invalid{border-color:var(--error)}.panels-input-error{z-index:2;color:var(--error);background:var(--error-soft);border-radius:4px;margin-top:2px;padding:3px 6px;font-size:11px;position:absolute;top:100%;left:0;right:0}.panels-select{cursor:pointer;padding:0 4px}.panels-number{border-radius:6px;flex:1;align-items:center;min-width:0;display:flex}.panels-number .panels-input{font-variant-numeric:tabular-nums;padding-right:4px}.panels-unit{width:18px;color:var(--text-faint);padding-left:4px;font-size:11px}.panels-stepper{flex-direction:column;display:flex}.panels-step{width:16px;height:13px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;line-height:1}.panels-step:hover{color:var(--text)}.panels-toggles{gap:4px;display:flex}.panels-toggle{border:1px solid var(--border);background:var(--surface);width:30px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;font-family:Georgia,serif;font-size:14px}.panels-toggle.is-on{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-muted)}.panels-toggle.is-mixed{background:repeating-linear-gradient(135deg, var(--surface), var(--surface) 4px, var(--surface-hover) 4px, var(--surface-hover) 8px)}.panels-color{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.panels-swatch-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;flex:none;padding:2px;line-height:0}.panels-swatch-button:hover,.panels-swatch-button.is-on{border-color:var(--border-strong)}.panels-swatch{background-image:linear-gradient(45deg,#e9ecef 25%,#0000 25%),linear-gradient(-45deg,#e9ecef 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e9ecef 75%),linear-gradient(-45deg,#0000 75%,#e9ecef 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border-radius:4px;width:22px;height:22px;display:inline-block;box-shadow:inset 0 0 0 1px #0000001a}.panels-swatch[style]{background-image:none}.panels-swatch.is-none{background:linear-gradient(to top right, transparent calc(50% - 1px), var(--error) 50%, transparent calc(50% + 1px)), var(--surface)}.panels-swatch.is-mixed{background:conic-gradient(#1a73e8 0 25%, #f9ab00 0 50%, #1e8e3e 0 75%, #d93025 0)}.panels-hex::placeholder{text-transform:none}.panels-hex{font-family:var(--mono-font);text-transform:uppercase;font-size:12px}.panels-palette{gap:8px;min-width:0;padding:8px}.panels-palette-grid{grid-template-columns:repeat(6,24px);gap:6px;display:grid}.panels-palette-chip{cursor:pointer;border:0;border-radius:5px;width:24px;height:24px;padding:0;box-shadow:inset 0 0 0 1px #0000001f}.panels-palette-chip:hover{transform:scale(1.1)}.panels-palette-chip.is-on{outline:2px solid var(--accent);outline-offset:1px}.panels-none{cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:4px;font-size:13px;display:flex}.panels-none:hover,.panels-none.is-on{background:var(--surface-hover)}.panels-none .panels-swatch{width:18px;height:18px}.panels-geometry{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.panels-geo{align-items:center;gap:6px;min-width:0;display:flex}.panels-geo>span:first-child{width:12px;color:var(--text-faint);font-size:11px}.panels-geo .panels-unit{display:none}.panels-geo-notes{gap:12px;padding-top:2px;font-size:12px;display:flex}.panels-geo-notes .link-button{margin:0;font-size:12px}.panels-badge{color:var(--text-faint)}.panels-layers{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.panels-layer{cursor:default;border:1px solid #0000;border-radius:6px;align-items:center;gap:2px;height:32px;padding:0 2px;display:flex}.panels-layer:hover{background:var(--surface-hover)}.panels-layer.is-active{background:var(--accent-soft);border-color:var(--accent-muted)}.panels-layer.is-dragging{opacity:.5}.panels-layer.is-drop-target{box-shadow:inset 0 2px 0 var(--accent)}.panels-layer-flag{width:24px;height:24px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.panels-layer-flag:hover{color:var(--text);background:var(--surface)}.panels-layer-flag.is-on,.panels-layer-flag[aria-pressed=true]{color:var(--text)}.panels-layer-name{text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;min-width:0;height:26px;padding:0 0 0 4px;font-size:13px;overflow:hidden}.panels-layer.is-hidden .panels-layer-name{color:var(--text-faint)}.panels-layer-count{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-left:6px;font-size:11px}.panels-layer-actions{visibility:hidden;display:flex}.panels-layer:hover .panels-layer-actions,.panels-layer:focus-within .panels-layer-actions{visibility:visible}.panels-layer-actions .icon-button{width:22px;height:22px}.panels-layer-actions .icon-button:disabled{opacity:.3;cursor:default;background:0 0}.panels-rename{flex:1;height:24px;padding:0 6px}.panels-page-tabs{align-items:stretch}.panels-tab{align-items:stretch;display:flex}.panels-tab .page-tab.is-dragging{opacity:.5}.panels-tab .page-tab.is-drop-target{box-shadow:inset 2px 0 0 var(--accent)}.panels-tab .page-tab.is-current{padding-right:4px}.icon-button.panels-tab-menu{align-self:center;width:20px;height:22px;margin-right:4px}.panels-tab-editing{padding:0 6px}.panels-tab-editing .panels-rename{width:160px}.panels-add-page{align-self:center;margin-left:4px}.panels-choice-list{flex-direction:column;gap:4px;display:flex}.panels-choice{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:6px;align-items:center;height:34px;padding:0 12px;font-size:13px;display:flex}.panels-choice:hover:not(:disabled){border-color:var(--accent-muted);background:var(--accent-soft)}.panels-choice:disabled{color:var(--text-faint);cursor:default}.panels-choice.is-new{color:var(--text-muted);border-style:dashed}.panels-keys-note{color:var(--text-muted);margin:0 0 8px;font-size:13px}.panels-keys{border-collapse:collapse;width:100%;font-size:13px}.panels-keys td{border-bottom:1px solid var(--border);padding:5px 0}.panels-keys td:last-child{text-align:right;white-space:nowrap}.panels-keys kbd{border:1px solid var(--border-strong);background:var(--surface-hover);font:12px var(--ui-font);border-bottom-width:2px;border-radius:4px;margin-left:4px;padding:1px 6px;display:inline-block}.panels-menu-separator{border:0;border-top:1px solid var(--border);margin:2px 4px}.panels-embed-create{align-items:center;gap:10px;display:flex}.panels-embed-preview{border:1px solid var(--border);background:var(--canvas);border-radius:6px;justify-content:center;align-items:center;min-height:80px;padding:8px;display:flex}.panels-embed-preview img{object-fit:contain;max-width:100%;max-height:180px;display:block}.panels-embed-copy{gap:6px;display:flex}.panels-embed-copy .input{min-width:0;font:12px var(--mono-font);flex:1}.panels-embed-copy .button{flex:none;justify-content:center;min-width:72px}.panels-embed-list{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:8px;display:flex}.panels-embed-list:focus{outline:none}.panels-embed-heading{color:var(--text-muted);font-size:12px;font-weight:600}.panels-embed-list ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.panels-embed-item{border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.panels-embed-item.is-current{border-color:var(--accent-muted);background:var(--accent-soft)}.panels-embed-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.panels-embed-confirm{flex:none;align-items:center;gap:6px;display:flex}.button.panels-embed-small{height:26px;padding:0 10px;font-size:12px}.panels-icon-name{text-overflow:ellipsis;white-space:nowrap;padding:0 0 6px;font-size:12px;overflow:hidden}.panels-icon-name code{color:var(--text-muted)}.panels-icon-actions{padding:4px 0 2px}.panels-icon-actions .button{height:28px;font-size:13px}.peer-selection{fill:none;stroke:var(--peer,var(--text-muted));stroke-width:1.5px;stroke-dasharray:5 3}path.peer-selection{stroke-width:3px;stroke-opacity:.5;stroke-dasharray:none}.peer-cursors{pointer-events:none;position:absolute;inset:0;overflow:hidden}.peer-cursor{will-change:transform;align-items:flex-start;margin:-1px 0 0 -1px;transition:transform 60ms linear;display:flex;position:absolute;top:0;left:0}.peer-arrow{flex:none;display:block}.peer-arrow path{fill:var(--peer);stroke:var(--canvas);stroke-width:1.2px;stroke-linejoin:round}.peer-name{text-overflow:ellipsis;white-space:nowrap;background:var(--peer);max-width:160px;color:var(--on-peer);box-shadow:var(--shadow);border-radius:4px;margin:14px 0 0 -4px;padding:1px 6px;font-size:11px;font-weight:500;line-height:16px;overflow:hidden}@media (prefers-reduced-motion:reduce){.peer-cursor{transition:none}}.participants{border:0;align-items:center;min-width:0;margin:0;padding:0 0 0 4px;display:flex}.participant{border:2px solid var(--peer,var(--border-strong));background:var(--peer,var(--surface-hover));width:26px;height:26px;box-shadow:0 0 0 2px var(--surface);color:var(--on-peer);letter-spacing:.02em;cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:-4px;padding:0;font-size:10px;font-weight:600;display:inline-flex;overflow:hidden}.participant img{object-fit:cover;width:100%;height:100%;display:block}.participant:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.participant-viewing{border-style:dashed}.participant-claude{--peer:var(--claude);cursor:default}.participant-claude path{fill:var(--on-peer)}.participant-more{--peer:var(--surface-hover);border-color:var(--border-strong);color:var(--text-muted);cursor:default}.select-bounds{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3}.select-handle{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}.select-handle-n,.select-handle-s{cursor:ns-resize}.select-handle-e,.select-handle-w{cursor:ew-resize}.select-handle-ne,.select-handle-sw{cursor:nesw-resize}.select-handle-nw,.select-handle-se{cursor:nwse-resize}.select-marquee{fill:var(--accent-soft);fill-opacity:.5;stroke:var(--accent);stroke-width:1px}.select-guide{stroke:#e0368a;stroke-width:1px}.select-drop-target{fill:var(--accent-soft);fill-opacity:.2;stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 4}:root{--bg:#f5f6f8;--surface:#fff;--surface-hover:#f1f3f5;--border:#e2e5e9;--border-strong:#cfd4da;--text:#1d2127;--text-muted:#5d6673;--text-faint:#8a929d;--accent:#2563eb;--accent-hover:#1d4fd8;--accent-soft:#eaf1fe;--accent-muted:#9dbaf7;--ok:#15803d;--warn:#b45309;--warn-soft:#fef6e7;--error:#c2410c;--error-soft:#fdf0ea;--canvas:#fff;--grid-dot:#d5d9de;--claude:#d97757;--on-peer:#fff;--radius:8px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--shadow-float:0 4px 12px #1018281a, 0 1px 3px #10182814;--ui-font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono-font:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px / 1.45 var(--ui-font);-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}code{font-family:var(--mono-font);background:var(--surface-hover);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:.92em}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.muted{color:var(--text-muted)}.small{font-size:12px}.pad{padding:12px 16px}.icon{flex:none;display:block}.page{flex-direction:column;min-width:0;height:100%;display:flex}.page.centered{justify-content:center;align-items:center;padding:24px}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;height:52px;padding:0 16px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.bar-spacer{flex:1}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;align-items:center;gap:6px;height:32px;padding:0 14px;font-weight:500;display:inline-flex}.button:hover{background:var(--accent-hover)}.button-quiet{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.button-quiet:hover{background:var(--surface-hover)}.icon-button{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--surface-hover);color:var(--text)}.icon-button.is-on{color:var(--accent);background:var(--accent-soft)}.is-spinning>.icon{animation:.9s linear infinite spin}.refresh-button{position:relative}.refresh-button.is-stale:after{content:"";background:var(--warn);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-left:6px;padding:0;font-weight:500}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.spinner-row{color:var(--text-muted);align-items:center;gap:10px;padding:16px;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}.spinner.small{width:12px;height:12px}@keyframes spin{to{transform:rotate(360deg)}}.message{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:440px;margin:48px auto;padding:0 16px;display:flex}.message-icon{background:var(--surface-hover);width:44px;height:44px;color:var(--text-muted);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.message-error .message-icon{background:var(--error-soft);color:var(--error)}.message-title{font-size:16px;font-weight:600}.message-body{color:var(--text-muted);flex-direction:column;gap:6px;display:flex}.message-actions{gap:8px;margin-top:10px;display:flex}.banner{border-radius:6px;padding:8px 12px;font-size:13px}.banner-error{background:var(--error-soft);color:var(--error);border:1px solid #f6d3c3}.banner-warn{background:var(--warn-soft);color:var(--warn);border:1px solid #f5dfb5}.banner.floating{box-shadow:var(--shadow-float);z-index:2;max-width:min(640px,100% - 32px);position:absolute;top:12px;left:50%;transform:translate(-50%)}.browser{flex:1;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:16px;width:100%;max-width:1200px;min-height:0;margin:0 auto;padding:20px;display:grid}.browser-full{grid-column:1/-1}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 10px 16px;display:flex}.panel-head h2{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.panel-head h2 .muted{font-weight:400}.files-panel>.banner,.files-drop>.banner{margin:12px 16px 0}.list{margin:0;padding:6px;list-style:none;overflow:auto}.list-row{color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;min-height:36px;padding:7px 10px;display:flex}.list-row .icon{color:var(--text-faint)}.list-row:hover{background:var(--surface-hover)}.list-row.is-selected{background:var(--accent-soft);color:var(--accent)}.list-row.is-selected .icon{color:var(--accent)}.list-main{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-row .list-main{align-items:baseline;gap:8px;display:flex}.file-name{font-weight:500}.file-dir{color:var(--text-faint);text-overflow:ellipsis;font-size:12px;overflow:hidden}.chip{text-overflow:ellipsis;white-space:nowrap;max-width:45%;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;flex:0 auto;padding:0 7px;font-size:11px;overflow:hidden}.viewer-bar{gap:14px}.back{color:var(--text-muted);border-radius:6px;align-items:center;gap:2px;margin-left:-6px;padding:6px 6px 6px 2px;display:flex}.back:hover{background:var(--surface-hover);color:var(--text)}.doc-title{flex-direction:column;flex:0 auto;justify-content:center;min-width:0;max-width:40vw;line-height:1.25;display:flex}.doc-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.doc-where{min-width:0;color:var(--text-muted);white-space:nowrap;align-items:baseline;gap:5px;font-size:12px;display:flex}.doc-repo{text-overflow:ellipsis;min-width:0;color:inherit;flex:0 auto;overflow:hidden}.doc-repo:hover{color:var(--accent);text-decoration:underline}.doc-sep{color:var(--text-faint);flex:none}.doc-branch{text-overflow:ellipsis;flex:0 auto;min-width:3em;overflow:hidden}.last-change{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:38%;font-size:12px;overflow:hidden}.last-change.who-claude:before{content:"";background:var(--accent);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status-pill{white-space:nowrap;border-radius:12px;flex:none;align-items:center;gap:6px;height:24px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.status-pill .dot{background:currentColor;border-radius:50%;width:7px;height:7px}.dot-pulse{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.pill-ok{color:var(--ok);background:#ecf7ef}.pill-warn{color:var(--warn);background:var(--warn-soft)}.pill-error{color:var(--error);background:var(--error-soft)}.pill-quiet{color:var(--text-muted);background:var(--surface-hover)}.canvas-area{flex:1;min-height:0;position:relative}.canvas{background:var(--canvas);cursor:var(--canvas-cursor,default);touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.canvas-svg{display:block}.canvas-svg text{font-kerning:none;white-space:pre;text-rendering:geometricprecision}.canvas-svg a{cursor:inherit}.canvas-grid-dot{fill:var(--grid-dot)}.canvas-empty{pointer-events:none;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.highlight{pointer-events:none;animation-name:highlight-fade;animation-timing-function:ease-in;animation-fill-mode:forwards}.highlight path{fill:none;stroke:var(--claude);stroke-linejoin:round;stroke-linecap:round}.highlight-glow{stroke-width:10px;stroke-opacity:.18}.highlight-line{stroke-width:2px;stroke-opacity:.9}.highlight-node .highlight-glow{fill:var(--claude);fill-opacity:.06}@keyframes highlight-fade{0%,35%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.highlight{animation-timing-function:step-end}}.zoom-controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-float);align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:16px;right:16px}.zoom-value{font-variant-numeric:tabular-nums;min-width:52px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:12px}.zoom-value:hover{background:var(--surface-hover)}.toolbar-sep{background:var(--border);width:1px;height:18px;margin:0 3px}.page-tabs{background:var(--surface);border-top:1px solid var(--border);flex:none;align-items:stretch;gap:2px;height:38px;padding:0 12px;display:flex;overflow-x:auto}.page-tab{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;border-top:2px solid #0000;align-items:center;max-width:220px;padding:0 14px;font-size:13px;display:flex;overflow:hidden}.page-tab:hover{color:var(--text);background:var(--surface-hover)}.page-tab.is-current{color:var(--text);border-top-color:var(--accent);font-weight:500}.editor-toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:4px;min-height:44px;padding:4px 12px;display:flex;overflow-x:auto}.editor-main{flex:1;min-height:0;display:flex}.editor-main>.canvas-area{min-width:0}.editor-sidebar{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex:none;width:280px;display:flex;overflow-y:auto}.editor-canvas{position:absolute;inset:0}.editor-canvas:focus{outline:none}.canvas-overlay{pointer-events:none}.canvas-overlay [data-handle]{pointer-events:all}.selection-outline,.hover-outline{fill:none;stroke:var(--accent)}.selection-outline{stroke-width:1.5px}.hover-outline{stroke-width:1px;stroke-opacity:.6}path.selection-outline{stroke-width:3px;stroke-opacity:.45}.banner.floating.editor-notice{align-items:baseline;gap:12px;display:flex;top:auto;bottom:16px}.banner-info{background:var(--surface);color:var(--text);border:1px solid var(--border)}.context-menu{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-float);padding:4px;position:absolute}.context-menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;gap:24px;width:100%;padding:6px 10px;font-size:13px;display:flex}.context-menu-item:hover:not(:disabled){background:var(--surface-hover)}.context-menu-item:disabled{color:var(--text-faint);cursor:default}.context-menu-hint{color:var(--text-faint)}.context-menu-sep{border:0;border-top:1px solid var(--border);height:0;margin:4px 0}.chip.chip-accent{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-muted)}.readonly-banner{background:var(--accent-soft);border-bottom:1px solid var(--accent-muted);flex-wrap:wrap;flex:none;align-items:center;gap:8px 12px;padding:8px 16px;font-size:13px;display:flex}.readonly-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);flex:none;font-size:11px;font-weight:600}.readonly-text{flex:280px;min-width:0}.readonly-error{color:var(--error)}.readonly-actions{flex:none;gap:8px;display:flex}.readonly-actions .button{height:28px;font-size:13px}@media (width<=1100px){.last-change{max-width:260px}}@media (width<=800px){.browser{grid-template-rows:auto 1fr;grid-template-columns:1fr}.repo-panel{max-height:220px}.last-change{display:none}}
