:root{--ground:#e3e5e9;--surface:#f1f2f4;--paper:#fbfbfa;--code:#e4e6ea;--hover:#d8dbe0;--active-line:#e7e9ed;--line:#cdd1d8;--guide:#7d838e;--muted:#5e636d;--ink:#1e2026;--quote-ink:#3a3d45;--pink:#ff2e88;--pink-ink:#c2185b;--pink-display:#e0247a;--neon:#39ff88;--violet:#7a68d8;--mono:"JetBrains Mono", ui-monospace, monospace;--sans:Inter, system-ui, sans-serif;--relief-text:5px 9px 16px #1e202633, 1px 2px 2px #1e20261a;--shadow-card:0 26px 50px -34px #1e20264d;--shadow-page:0 22px 44px -30px #1e202661;--row-h:28px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-text-size-adjust:100%}a{color:var(--pink-ink)}a:hover{color:var(--ink)}button{font:inherit}.app{flex-direction:column;gap:16px;height:100dvh;padding:26px 32px 20px;display:flex}.topline{font:400 13px var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.panels{flex:1;min-height:0;display:flex}.splitter{cursor:col-resize;touch-action:none;outline:none;flex:none;width:16px;position:relative}.splitter:after{content:"";background:0 0;width:2px;position:absolute;top:14px;bottom:14px;left:7px}@media (hover:hover){.splitter:hover:after{background:var(--line)}}.splitter.drag:after{background:var(--ink)}.splitter:focus-visible:after{background:var(--pink-ink)}.side{border:1px solid var(--line);border-radius:14px;flex-direction:column;flex:0 0 300px;gap:14px;min-width:0;min-height:0;padding:16px 12px;display:flex}.side-head{flex-direction:column;gap:8px;padding:0 4px;display:flex}.label{font:500 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.tree{flex-direction:column;flex:1;min-height:0;padding:4px 0;display:flex;overflow:auto}.card{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;flex:999 560px;display:flex;overflow:hidden}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:12px;min-height:60px;padding:10px 16px 10px 20px;display:flex}.crumbs{font:400 13px var(--mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.crumbs .file{color:var(--ink);font-weight:600}.card-tools{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.hint{font:400 12px var(--mono);color:var(--muted)}.card-body{flex:1;min-height:0;overflow:auto}.bottomline{font:400 12px var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bottomline .warn{color:var(--pink-ink)}.linkbtn{all:unset;cursor:pointer;color:var(--pink-ink);text-decoration:underline;-webkit-text-decoration-color:var(--pink);text-decoration-color:var(--pink);text-underline-offset:3px}.linkbtn:focus-visible{outline:2px solid var(--pink-ink);outline-offset:2px}.root{height:28px;font:700 13px/1 var(--mono);color:var(--ink);flex:none;align-items:center;gap:8px;padding:0 0 0 11px;display:flex}.row{all:unset;box-sizing:border-box;width:100%;height:var(--row-h);font:500 13px/1 var(--mono);color:var(--ink);cursor:pointer;white-space:nowrap;flex:none;align-items:center;padding:0 8px 0 10px;display:flex;position:relative}.row:focus-visible{outline:2px solid var(--pink-ink);outline-offset:-2px}.g{width:18px;height:var(--row-h);flex:none;position:relative}.g.v:before,.g.tee:before,.g.elb:before{content:"";border-left:1px solid var(--guide);position:absolute;top:0;bottom:0;left:6px}.g.elb:before{bottom:50%}.g.tee:after,.g.elb:after{content:"";border-top:1px solid var(--guide);position:absolute;top:50%;left:6px;right:0}.lbl{align-items:center;gap:7px;min-width:0;height:22px;padding:0 6px 0 3px;display:inline-flex;position:relative}@media (hover:hover){.row:hover .lbl{background:var(--hover)}}.lbl.on,.row:hover .lbl.on{background:var(--surface);box-shadow:inset 0 0 0 1px var(--pink)}.tg{border:1px solid var(--ink);background:var(--ground);flex:none;width:11px;height:11px;position:relative}.tg:before{content:"";border-top:1px solid var(--ink);position:absolute;top:4px;left:2px;right:2px}.tg.closed:after{content:"";border-left:1px solid var(--ink);position:absolute;top:2px;bottom:2px;left:4px}.nm{text-overflow:ellipsis;overflow:hidden}.meta{font:400 11px/1 var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:0 100 auto;min-width:0;margin-left:auto;padding-left:8px;overflow:hidden}.meta.busy{color:var(--ink);font-weight:600}.h{background:var(--pink);width:6px;height:6px;position:absolute}.tl{top:-3px;left:-3px}.tr{top:-3px;right:-3px}.bl{bottom:-3px;left:-3px}.br{bottom:-3px;right:-3px}.empty{font:400 12px var(--mono);color:var(--muted);margin:8px}.flt{border:1px solid var(--line);width:100%;height:38px;font:400 13px var(--mono);color:var(--ink);appearance:none;background:0 0;border-radius:8px;outline:none;padding:0 12px}.flt::placeholder{color:var(--muted)}.flt:focus{border-color:var(--pink-ink)}.tb{all:unset;box-sizing:border-box;border:1px solid var(--line);min-width:36px;height:36px;font:500 12px/1 var(--mono);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}@media (hover:hover){.tb:hover{border-color:var(--ink)}}.tb:active{border-color:var(--ink)}.tb:focus-visible{outline:2px solid var(--pink-ink);outline-offset:2px}.tb[disabled]{color:var(--muted);cursor:default}.tb .k{color:var(--muted)}.num-label{text-align:center;min-width:52px;font:500 12px var(--mono)}.sep{background:var(--line);width:1px;height:22px;margin:0 4px}.dot{vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.dot.ok{background:var(--neon);box-shadow:0 0 0 1px var(--ink)}.dot.dirty{background:var(--pink)}.dot.off{box-shadow:0 0 0 1px var(--muted);background:0 0}.busy-badge{border:1px solid var(--ink);height:30px;font:600 12px/1 var(--mono);color:var(--ink);white-space:nowrap;border-radius:8px;align-items:center;padding:0 10px;display:inline-flex}.md{flex:1;min-height:0;overflow:auto}.md .cm-editor{background:0 0;max-width:860px;padding:36px 48px 0 12px}.md .cm-editor.cm-focused{outline:none}.md .cm-editor .cm-scroller{font-family:var(--sans);line-height:1.65;overflow:visible}.md .cm-editor .cm-content{caret-color:var(--pink);padding:0 0 180px}.md .cm-editor .cm-cursor{border-left:2px solid var(--pink)}.md .cm-editor .cm-gutters{background:0 0;border:0}.md .cm-editor .cm-lineNumbers .cm-gutterElement{min-width:58px;font:400 11px/1 var(--mono);color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;box-sizing:border-box;padding:0 14px 0 0;position:relative}.md .cm-editor .cm-gutterElement.cm-activeLineGutter{background:0 0}.md .cm-editor.cm-focused .cm-gutterElement.cm-activeLineGutter{color:var(--pink-ink);font-weight:600}.md .cm-editor .cm-activeLine{background:0 0}.md .cm-editor .cm-line{font:400 16px/1.65 var(--sans);color:var(--ink);border-radius:4px;padding:3px 10px}.md .cm-editor .cm-line.act{background:var(--active-line);box-shadow:-58px 0 0 var(--active-line);border-radius:6px}.md .cm-editor .cm-selectionBackground,.md .cm-editor.cm-focused .cm-selectionBackground{background:#ff2e8829!important}.md ::selection{background:#ff2e8829}.md .cm-editor .cm-lineNumbers .cm-gutterElement{top:13px}.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-h1{top:47px}.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-h2{top:35px}.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-h3{top:23px}.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-code{top:11px}.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-fence,.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-fm{top:9px}.md .cm-editor .t-h1{font:800 46px/1.12 var(--mono);letter-spacing:-.025em;color:var(--pink-display);text-shadow:var(--relief-text);padding-top:6px;padding-bottom:14px}.md .cm-editor .t-h2{font:700 21px/1.35 var(--mono);letter-spacing:-.01em;padding-top:22px;padding-bottom:4px}.md .cm-editor .t-h3{font:600 17px/1.4 var(--mono);padding-top:14px}.md .cm-editor .t-quote{font:italic 400 17px/1.6 var(--sans);color:var(--quote-ink)}.md .cm-editor .t-code{font:400 13.5px/1.75 var(--mono);background:var(--code);border-radius:0}.md .cm-editor .t-fence{font:500 11px/1.9 var(--mono);color:var(--muted);background:var(--code)}.md .cm-editor .t-fence.fo{border-radius:8px 8px 0 0}.md .cm-editor .t-fence.fc{border-radius:0 0 8px 8px}.md .cm-editor .t-hr{padding-top:12px;padding-bottom:12px}.md .cm-editor .t-fm{font:400 12.5px/1.75 var(--mono);color:var(--muted);background:var(--code);border-radius:0}.md .cm-editor .t-table{font:400 13px/1.75 var(--mono)}.md .cm-editor .done{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.md .cm-editor .cm-line.act.done{color:var(--ink);text-decoration:none}.hrl{background:var(--line);vertical-align:middle;width:100%;height:1px;display:inline-block}.bul{background:var(--ink);vertical-align:middle;width:6px;height:6px;margin:0 12px 0 2px;display:inline-block}.oln{font:500 14px var(--mono);color:var(--muted);margin-right:10px}.qg{font:normal 700 16px var(--mono);color:var(--pink-ink);margin-right:12px}.cb{border:1.5px solid var(--ink);vertical-align:-2px;cursor:pointer;border-radius:3px;width:15px;height:15px;margin:0 11px 0 1px;display:inline-block;position:relative}.cb.done{background:var(--neon)}.cb.done:after{content:"";border:solid var(--ink);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:0;left:4px;transform:rotate(45deg)}.ro .cb{cursor:default}.ic{font:500 .86em var(--mono);background:var(--code);color:var(--pink-ink);border-radius:4px;padding:1px 6px}.b{font-weight:600}.it{font-style:italic}.st{text-decoration:line-through}.hl{background:var(--neon);color:var(--ink);border-radius:2px;padding:0 3px}.wl,.lk{color:var(--pink-ink);text-decoration:underline;-webkit-text-decoration-color:var(--pink);text-decoration-color:var(--pink);text-underline-offset:3px;cursor:pointer;text-decoration-thickness:1.5px}.wl.missing{color:var(--muted);text-decoration-style:dashed;-webkit-text-decoration-color:var(--guide);text-decoration-color:var(--guide);cursor:default}.md-img{border:1px solid var(--line);max-width:100%;max-height:520px;margin:6px 0;display:block}.fm{font:400 12px/1.6 var(--mono);color:var(--muted);margin:0 0 18px}.fm summary{cursor:pointer;border-radius:4px;flex-wrap:wrap;align-items:center;gap:0 6px;padding:4px 10px;list-style:none;display:flex}.fm summary::-webkit-details-marker{display:none}@media (hover:hover){.fm summary:hover{background:var(--active-line)}}.fm summary:focus-visible{outline:2px solid var(--pink-ink)}.fm .tg{flex:none}.fm-item b{color:var(--ink);font-weight:500}.fm-grid{border:1px solid var(--line);border-radius:8px;grid-template-columns:max-content minmax(0,1fr);gap:2px 18px;margin:8px 0 0;padding:10px 12px;display:grid}.fm-grid dt{color:var(--muted)}.fm-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:0}.md-table{margin:6px 0;overflow-x:auto}.md-table table{border-collapse:collapse;font:400 13px/1.5 var(--mono);color:var(--ink)}.md-table th{text-align:left;font-weight:600}.md-table th,.md-table td{border:1px solid var(--line);vertical-align:top;padding:4px 10px}.textview{font:400 13.5px/1.75 var(--mono);color:var(--ink);grid-template-columns:44px minmax(0,1fr);column-gap:14px;margin:0;padding:28px 24px 48px 12px;display:grid}.textview .n{font:400 11px/1.75rem var(--mono);color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;line-height:23.6px}.textview .l{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.75em}.imgview{justify-content:center;align-items:center;height:100%;padding:36px 24px;display:flex}.imgview img{object-fit:contain;background:var(--paper);border:1px solid var(--line);max-width:100%;min-height:0;max-height:100%;box-shadow:var(--shadow-page)}.htmlview{background:var(--paper);border:0;width:100%;height:100%;display:block}.pdf{flex:1;min-height:0;display:flex}.pages{flex-direction:column;flex:1;align-items:center;gap:28px;min-width:0;padding:36px 24px 48px;display:flex;overflow:auto}.pg{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-page);flex:none;position:relative}.pg canvas{width:100%;height:100%;display:block}.thumbs{border-left:1px solid var(--line);flex-direction:column;flex:0 0 116px;align-items:center;gap:16px;padding:20px 0;display:flex;overflow:auto}.th{all:unset;box-sizing:border-box;background:var(--paper);border:1px solid var(--line);cursor:pointer;flex:none;justify-content:center;align-items:flex-end;width:70px;display:flex;position:relative}.th canvas{width:100%;height:100%;display:block}.th .tn{text-align:center;font:500 11px/1 var(--mono);color:var(--muted);position:absolute;bottom:6px;left:0;right:0}@media (hover:hover){.th:hover{border-color:var(--ink)}}.th:focus-visible{outline:2px solid var(--pink-ink);outline-offset:3px}.th.on{border-color:var(--pink)}.th.on .tn{color:var(--pink-ink)}.nopreview{flex-direction:column;flex:1;justify-content:center;gap:22px;padding:48px 64px;display:flex}.hero{font:800 84px/.95 var(--mono);letter-spacing:-.03em;color:var(--violet);text-shadow:7px 12px 20px #1e202633,1px 2px 2px #1e20261a;white-space:pre-line;overflow-wrap:anywhere;margin:0}.hero-sub{font:400 14px/1.7 var(--mono);color:var(--muted);margin:0}.login{flex-direction:column;justify-content:center;gap:28px;max-width:560px;min-height:100dvh;margin:0 auto;padding:32px;display:flex}.login h1{font:800 84px/.95 var(--mono);letter-spacing:-.03em;color:var(--pink-display);text-shadow:var(--relief-text);margin:0}.login form{flex-direction:column;gap:10px;display:flex}.login .row2{gap:8px;display:flex}.login .tb{height:38px}.login .err{font:400 12px var(--mono);color:var(--pink-ink);min-height:18px;margin:0}@media (width<=760px){:root{--row-h:44px}.m{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);flex-direction:column;display:flex;overflow:hidden}.m-tree{flex-direction:column;flex:1;min-height:0;padding:20px 20px 0;display:flex}.m-tree .topline{font-size:12px}.m-h1{font:800 52px/.95 var(--mono);letter-spacing:-.04em;color:var(--pink-display);text-shadow:var(--relief-text);margin:28px 0 20px}.m-tree .tree{margin-top:14px;padding:0 0 16px}.row{padding:0 4px 0 6px;font-size:14px}.lbl{gap:8px;height:30px;padding:0 8px 0 4px}.row:active .lbl{background:var(--hover)}.tg{width:13px;height:13px}.tg:before{top:5px}.tg.closed:after{left:5px}.flt{height:44px;font-size:14px}.tb{min-width:44px;height:44px;padding:0 14px;font-size:13px}.m-foot{padding:12px 20px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);font:400 12px var(--mono);color:var(--muted);flex:none}.m-foot .warn{color:var(--pink-ink)}.m-bar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;padding:14px 16px 12px;display:flex}.m-title{flex-direction:column;gap:3px;min-width:0;display:flex}.m-title .f{font:600 14px/1.2 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.m-title .p{font:400 11px/1.2 var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.m-bar .end{align-items:center;gap:8px;margin-left:auto;display:flex}.m-body{background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.m-busy{border-bottom:1px solid var(--line);font:600 12px var(--mono);color:var(--ink);flex:none;padding:8px 16px}.md .cm-editor{padding:20px 14px 0 6px}.md .cm-editor .cm-content{padding-bottom:120px}.md .cm-editor .cm-lineNumbers .cm-gutterElement{min-width:30px;padding-right:8px;font-size:10px;top:14px}.md .cm-editor .cm-line{padding:3px 6px;font-size:16px;line-height:1.6}.md .cm-editor .cm-line.act{box-shadow:-30px 0 0 var(--active-line)}.md .cm-editor .t-h1{letter-spacing:-.03em;text-shadow:4px 7px 13px #1e202633,1px 2px 2px #1e20261a;padding-top:4px;padding-bottom:10px;font-size:34px;line-height:1.12}.md .cm-editor .t-h2{padding-top:18px;padding-bottom:2px;font-size:18px;line-height:1.35}.md .cm-editor .t-h3{padding-top:12px;font-size:16px;line-height:1.4}.md .cm-editor .t-quote{font-size:16px}.md .cm-editor .t-code{font-size:12px;line-height:1.75}.md .cm-editor .t-fence{line-height:1.9}.md .cm-editor .t-fm{line-height:1.75}.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-h1{top:27px}.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-h2{top:29px}.md .cm-editor .cm-lineNumbers .cm-gutterElement.gn-h3{top:21px}.bul{margin:0 10px 0 2px}.cb{vertical-align:-3px;width:17px;height:17px;margin:0 10px 0 1px}.cb.done:after{top:1px;left:5px}.pages{gap:18px;padding:20px 16px 32px}.nopreview{gap:18px;padding:32px 24px}.hero{text-shadow:var(--relief-text);font-size:52px}.hero-sub{font-size:13px}.textview{grid-template-columns:22px minmax(0,1fr);column-gap:8px;padding:20px 14px 32px 6px;font-size:12px}.textview .n{font-size:10px;line-height:21px}.login h1{font-size:52px}}.m-busy:empty{display:none}
