@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-400-latin-V6pRDFza.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-400-latin-ext-Bc8Ftmh3.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-400-greek-C190GLew.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-400-cyrillic-BEIGL1Tu.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-400-cyrillic-ext-C_uLvvQ5.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-400-vietnamese-ByoDsISC.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}:root{color-scheme:dark;--bg: #15171c;--ink: #dde2e9;--accent: #5932ff;--lift: var(--ink);--panel-mix: 4%;--node-bg-mix: 8%;--ink-dim-mix: 57%;--line-mix: 12%;--node-border-mix: 21%;--node-border-strong-mix: 39%;--edge-mix: 31%;--dot-mix: 10%;--ring-mix: 32%;--accent-mix: 20%;--on-accent: #fff;--shadow: 0 8px 24px rgba(0, 0, 0, .45);--veil: rgba(0, 0, 0, .45);--font: "Segoe UI", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;--mono: "JetBrains Mono", Consolas, "SF Mono", "Cascadia Code", Menlo, monospace;--tok-keyword: #c792ea;--tok-string: #98c379;--tok-number: #d19a66;--tok-comment: #6b7280;--tok-name: #61afef;--tok-type: #e5c07b}.light{color-scheme:light;--bg: #f3f4f6;--ink: #1f2328;--lift: #fff;--panel-mix: 100%;--node-bg-mix: 100%;--ink-dim-mix: 61%;--line-mix: 7%;--node-border-mix: 15%;--node-border-strong-mix: 38%;--edge-mix: 26%;--dot-mix: 9%;--ring-mix: 12%;--shadow: 0 8px 24px rgba(0, 0, 0, .12);--veil: rgba(0, 0, 0, .25);--tok-keyword: #a626a4;--tok-string: #50a14f;--tok-number: #b76b01;--tok-comment: #9aa4b1;--tok-name: #4078f2;--tok-type: #986801}:root,.light{--panel: color-mix(in srgb, var(--bg), var(--lift) var(--panel-mix));--node-bg: color-mix(in srgb, var(--bg), var(--lift) var(--node-bg-mix));--ink-dim: color-mix(in srgb, var(--bg), var(--ink) var(--ink-dim-mix));--line: color-mix(in srgb, var(--bg), var(--ink) var(--line-mix));--node-border: color-mix(in srgb, var(--bg), var(--ink) var(--node-border-mix));--node-border-strong: color-mix(in srgb, var(--bg), var(--ink) var(--node-border-strong-mix));--edge: color-mix(in srgb, var(--bg), var(--ink) var(--edge-mix));--dot: color-mix(in srgb, var(--bg), var(--ink) var(--dot-mix));--ring: color-mix(in srgb, var(--accent) var(--ring-mix), transparent);--accent-soft: color-mix(in srgb, var(--accent) var(--accent-mix), transparent)}*{box-sizing:border-box}:root{--bar: 10px}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--node-border-strong)}::-webkit-scrollbar-corner{background:transparent}html,body{margin:0;height:100%;font-family:var(--font);color:var(--ink);background:var(--bg);overflow:hidden}#app{display:flex;flex-direction:column;height:100vh}#bar{display:flex;align-items:center;gap:8px;background:var(--panel);-webkit-user-select:none;user-select:none;flex:none;padding:6px 12px;border-bottom:1px solid var(--line)}:where(#bar) button{font:inherit;font-size:13px;padding:4px 8px;display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:6px;background:none;color:var(--ink-dim);cursor:pointer}:where(#bar) button:hover:not(:disabled){background:var(--accent-soft);color:var(--ink)}:where(#bar) button:disabled{opacity:.4;cursor:default}.group{display:inline-flex}.group button{border-radius:0;position:relative}.group button:first-child{border-start-start-radius:6px;border-end-start-radius:6px}.group button:last-child{border-start-end-radius:6px;border-end-end-radius:6px}.group button:not(:first-child){margin-left:-1px}.group button:hover:not(:disabled){z-index:1}.group button+button:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;background:var(--line)}.icon-only{padding-left:4px;padding-right:4px}.icon{width:14px;height:14px;flex:none;display:block;color:inherit}.icon.drawn path{stroke-dasharray:24;stroke-dashoffset:-24;animation:draw .25s ease-out forwards}@keyframes draw{to{stroke-dashoffset:0}}.icon.spun{transform-origin:center;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.icon.drawn path{animation:none;stroke-dashoffset:0}.icon.spun{animation-duration:2.4s}}#logo{width:22px;height:22px;display:block;color:var(--accent);cursor:pointer}#logo:hover{filter:brightness(1.25)}#filename{color:var(--ink-dim);font-size:13px;cursor:pointer;border-radius:6px;padding:2px 4px}#filename:hover{background:var(--accent-soft);color:var(--ink)}#filename[aria-disabled=true]{cursor:default}#filename[aria-disabled=true]:hover{background:none;color:var(--ink-dim)}#dirty{color:var(--accent);font-size:11px}.spacer{flex:1}#panes{display:flex;flex:1;min-height:0}#panes[data-show=md] #map-pane,#panes[data-show=map] #md-pane{display:none}#splitter{--w: 5px;flex:none;width:var(--w);cursor:col-resize;position:relative}#splitter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:11;background:var(--line);transition:background .15s;pointer-events:none}#splitter:hover:after,#splitter.dragging:after{background:var(--accent)}:root:not(.narrow) #panes:not([data-show=both]) #splitter{cursor:pointer}#md-pane{flex:0 0 var(--md-width, 42%);min-width:200px;background:var(--bg);position:relative}#md-pane .cm-editor{height:100%;font-size:13px;background:var(--bg)}#md-pane .cm-editor.cm-focused{outline:none}#md-pane .cm-scroller{font-family:var(--mono);line-height:1.55}#md-pane .cm-content{caret-color:var(--accent)}#md-pane .cm-gutters{background:var(--bg);border-right:1px solid var(--line);color:var(--ink-dim)}#panes[data-show=md] #md-pane{flex:1}#md-pane:focus-within .cm-editor{box-shadow:inset 0 0 0 2px var(--ring)}.cm-mmm-selected{background:var(--accent-soft)}.pane-tool{position:absolute;--inset: 8px;right:var(--inset);z-index:10;display:flex;opacity:.5}.pane-tool:hover{opacity:1}.pane-tool button{font:inherit;font-size:11px;min-width:26px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel);color:var(--ink-dim);cursor:pointer}.pane-tool button:only-child{border-radius:6px}.pane-tool button:hover:not(:disabled){border-color:var(--accent);color:var(--ink);z-index:1}.pane-tool button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);z-index:1}#md-pane .pane-tool{right:calc(var(--bar) + var(--inset))}@media(hover:none){.pane-tool{opacity:1}}.pane-switch{--r: 5px;bottom:var(--inset);left:50%;right:auto;transform:translate(-50%);gap:2px}.pane-switch button{width:20px;min-width:0;padding:0;border-radius:0}.pane-switch button:first-child{border-start-start-radius:var(--r);border-end-start-radius:var(--r)}.pane-switch button:last-child{border-start-end-radius:var(--r);border-end-end-radius:var(--r)}.pane-switch button .icon{width:11px;height:11px}.pane-switch button .icon.point-left{transform:rotate(90deg)}.pane-switch button .icon.point-right{transform:rotate(-90deg)}.pane-switch button:disabled{display:none}#panes[data-show=md] .pane-switch{left:auto;right:calc(var(--bar) + var(--inset));transform:none}#panes[data-show=map] .pane-switch{left:var(--w);transform:none}.narrow #splitter{width:0;background:none;cursor:default}@media(pointer:coarse){.pane-tool button{min-height:44px;min-width:44px}.pane-switch button{width:44px;height:44px}.pane-switch button .icon{width:16px;height:16px}}#map-pane{flex:1;min-width:200px}.map-pane{position:relative;overflow:hidden;outline:none;background-color:var(--bg);background-image:radial-gradient(circle,var(--dot) 1px,transparent 1px);touch-action:none}.map-pane:focus-within{box-shadow:inset 0 0 0 2px var(--ring)}.map-center{bottom:var(--inset)}.map-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.map-indicator{position:absolute;top:0;left:0;width:24px;height:10px;background:var(--accent);clip-path:polygon(0 50%,38% 8%,100% 50%,38% 92%);opacity:.5;cursor:pointer}.map-indicator:hover{opacity:1}.pane-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--ink-dim);font-size:13px;pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;z-index:1}.pane-hint .act{color:var(--ink)}.edge{fill:none;stroke:var(--edge);stroke-width:1.7;stroke-linecap:round}.node{cursor:default}.node rect.box{fill:var(--node-bg);stroke:var(--node-border);stroke-width:1.2;rx:8px}.node.root rect.box{stroke-width:2;stroke:var(--node-border-strong)}.node.dragging{opacity:.4}.node.drop-parent rect.box{stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4}.node.selected rect.box{stroke:var(--accent);stroke-width:2;fill:color-mix(in srgb,var(--accent) var(--accent-mix),var(--node-bg))}.node text{font-family:var(--font);dominant-baseline:central;-webkit-user-select:none;user-select:none}.node text.label{fill:var(--ink);white-space:pre}.node text.label.empty{fill:var(--ink-dim)}.node line.sep{stroke:var(--node-border);stroke-width:1}.node image{cursor:pointer}.node rect.card-hit{fill:transparent;cursor:pointer}.node text.link-row{fill:var(--ink);pointer-events:none}.node text.link-open{font-size:13px;fill:var(--ink-dim);cursor:pointer}.node text.link-open:hover{fill:var(--accent)}.node rect.image-placeholder{fill:transparent;stroke:var(--node-border);stroke-width:1;stroke-dasharray:4 3;rx:6px}.node text.image-name{fill:var(--ink-dim)}.node text.image-connect{fill:var(--accent);cursor:pointer;text-decoration:underline}.node rect.code-bg{fill:var(--bg);stroke:var(--node-border);stroke-width:1;rx:5px;cursor:pointer}.node text.code-line{font-family:var(--mono);fill:var(--ink);white-space:pre}.node line.break{stroke:var(--line);stroke-width:1}.node text.details-mark,.node text.details-row,.node text.details-line{pointer-events:none}.node text.details-mark{fill:var(--ink-dim);dominant-baseline:central}.node text.details-row{fill:var(--ink-dim);dominant-baseline:central}.node text.details-line{fill:var(--ink);white-space:pre;dominant-baseline:central}.node.folded rect.box{rx:4px;stroke-dasharray:4 3}.node.folded:not(.open){opacity:.4}.node.folded:not(.open) text.label{fill:var(--ink-dim)}.card-pick rect.frame{fill:none;stroke:var(--accent);stroke-width:2;rx:6px;pointer-events:none}.card-pick .delete{cursor:pointer}.card-pick .delete circle{fill:var(--accent);stroke:var(--node-bg);stroke-width:1.5}.card-pick .delete line{stroke:var(--on-accent);stroke-width:1.6;stroke-linecap:round;pointer-events:none}.card-pick .delete:hover circle{filter:brightness(1.25)}.rubber{position:absolute;border:1px solid var(--accent);background:var(--accent-soft);pointer-events:none;display:none}.caret-ring{fill:none;stroke:color-mix(in srgb,var(--accent) 55%,transparent);stroke-width:2;rx:5px;pointer-events:none}.drop-line{stroke:var(--accent);stroke-width:3;stroke-linecap:round;pointer-events:none}.label-editor{position:absolute;display:none;box-sizing:border-box;font-family:var(--font);border-style:solid;border-color:var(--accent);border-radius:10px;background:var(--node-bg);color:var(--ink);outline:none;z-index:10}.card-editor{position:absolute;display:none;box-sizing:border-box;font-family:var(--mono);border-style:solid;border-color:var(--accent);border-radius:6px;background:var(--bg);overflow:hidden;z-index:10}.card-editor .highlight,.card-editor textarea{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;box-sizing:border-box;padding:inherit;font:inherit;line-height:inherit;white-space:pre;overflow:hidden;border:none;background:none}.card-editor .highlight{color:var(--ink);pointer-events:none}.card-editor textarea{color:transparent;caret-color:var(--accent);resize:none;outline:none;overflow:hidden}.card-editor textarea::selection{background:var(--accent-soft)}.tok-keyword,.tok-modifier,.tok-operatorKeyword{fill:var(--tok-keyword);color:var(--tok-keyword)}.tok-string,.tok-string2,.tok-regexp{fill:var(--tok-string);color:var(--tok-string)}.tok-number,.tok-bool,.tok-atom{fill:var(--tok-number);color:var(--tok-number)}.tok-comment,.tok-lineComment,.tok-blockComment{fill:var(--tok-comment);color:var(--tok-comment);font-style:italic}.tok-variableName,.tok-propertyName,.tok-function,.tok-attributeName{fill:var(--tok-name);color:var(--tok-name)}.tok-typeName,.tok-className,.tok-tagName,.tok-namespace{fill:var(--tok-type);color:var(--tok-type)}.notice{position:fixed;top:50px;left:50%;z-index:200;max-width:min(420px,calc(100vw - 32px));padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);font-size:13px;color:var(--ink);pointer-events:none;display:flex;align-items:center;gap:4px;opacity:0;transform:translate(-50%,-8px);transition:opacity .15s,transform .15s}.notice.on{opacity:1;transform:translate(-50%)}.notice .icon{color:var(--ink)}.notice .lead{color:var(--ink-dim)}.notice .msg{margin-left:8px}.ask{padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);font-family:var(--font)}.ask::backdrop{background:var(--veil)}.ask form{display:flex;flex-direction:column;padding:16px;min-width:300px}.ask .title{margin:0;font-size:13px}.ask .note{margin:4px 0 0;font-size:11px;color:var(--ink-dim)}.ask .shot{margin-top:12px;align-self:center;max-width:100%;max-height:160px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.ask .parts{margin-top:12px;display:flex;align-items:center;gap:2px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--ink-dim)}.ask .parts input{font-family:var(--mono);font-size:12px;padding:4px 6px}.ask input{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}.ask input:focus{outline:none;border-color:var(--accent)}.ask .bad{margin:8px 0 0;font-size:11px;color:var(--ink-dim)}.ask .row{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.ask button{font:inherit;font-size:13px;padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink-dim);cursor:pointer}.ask button:hover{border-color:var(--accent);color:var(--ink)}.ask button.go{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ask button:disabled{opacity:.4;cursor:default}.ask button:disabled:hover{border-color:var(--line)}.ask button.go:disabled:hover{border-color:var(--accent)}.draw{display:flex;flex-direction:column;gap:12px}.draw .tools{display:flex;align-items:stretch;gap:12px}.draw .inks,.draw .nibs{display:inline-flex;gap:6px}.draw .inks{align-items:center}.draw .group{margin-left:auto}.draw .ink{position:relative;width:22px;height:22px;padding:0;border-radius:50%;background:var(--swatch);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center}.draw .ink .pick{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none}.draw .ink:hover{background:var(--swatch);border-color:var(--ink-dim)}.draw .ink.on{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.draw .eraser{background:var(--panel);color:var(--ink-dim)}.draw .eraser:hover{background:var(--panel);color:var(--ink)}.draw .eraser.on{color:var(--ink)}.draw .eraser .icon{width:14px;height:14px}.draw .nib{width:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.draw .nib:before{content:"";width:var(--nib);height:var(--nib);border-radius:50%;background:currentColor}.draw .nib.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.draw .paper{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:6px;cursor:crosshair;touch-action:none}.menu{position:fixed;z-index:100;min-width:180px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:4px;-webkit-user-select:none;user-select:none}.menu .item{padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px}.menu .item>.icon{margin-right:-10px;color:var(--ink-dim);flex:none}.menu .item>.icon.drawn{color:var(--ink)}.menu .item>span:not(.key):not(.icon){flex:1;white-space:nowrap}.menu .item .key{color:var(--ink-dim);font-size:11px;white-space:nowrap}.menu .item .note-box{position:relative;display:inline-flex;flex:none}.menu .item .note-box .icon.note{width:12px;height:12px;margin-right:0;color:var(--ink-dim)}.menu .item .note-box .tip{position:absolute;bottom:calc(100% + 6px);right:-4px;z-index:1;display:none;max-width:220px;width:max-content;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);box-shadow:var(--shadow);color:var(--ink);font-size:11px;white-space:normal;pointer-events:none}.menu .item .note-box .tip>div+div{margin-top:4px}.menu .item .note-box:hover .tip{display:flex;flex-direction:column}.menu .item:hover,.menu .item:focus-visible{background:var(--accent-soft)}.menu .item:focus{outline:none}.menu .item[aria-disabled=true]{opacity:.4;cursor:default}.menu .item[aria-disabled=true]:hover{background:none}.menu .caption{padding:4px 12px 2px;margin-top:4px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-dim);display:flex;align-items:center;gap:6px;max-width:240px}.menu .caption .icon{width:11px;height:11px}.menu .caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu .caption:first-child{margin-top:0;border-top:none}.menu hr{border:none;border-top:1px solid var(--line);margin:4px 0}@media(max-width:720px){#bar{gap:6px;padding:6px 8px}#filename,#dirty{display:none}#md-pane,#map-pane{flex:1;min-width:0}}
