/* Leet Drive web: the document editor window + toolbar. Natural colours from the page's own theme variables (light and dark), no accent fills. */
.dx{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--bg)}
.dx-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel);min-height:56px}
.dx-mid{flex:1;min-width:0}
.dx-name{font-weight:600;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dx-state{font-size:12.5px;color:var(--faint)}
.dx-state.bad{color:var(--bad)}
.dx-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);background:var(--card);border-radius:99px;padding:8px 14px;font-weight:500;font-size:14px;white-space:nowrap}
.dx-btn:hover{background:var(--card2)}
.dx-btn[disabled]{opacity:.55;cursor:default}
.dx-btn.dx-pri{background:var(--text);color:var(--bg);border-color:transparent;font-weight:600}
.dx-back{padding:8px;border-color:transparent;background:transparent}
.dx-i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dx-body{flex:1;min-height:0;position:relative}
.dx-host{position:absolute;inset:0;display:flex;flex-direction:column}
.dx-open body{overflow:hidden}
/* toolbar */
.dx-tb{flex:none;border-bottom:1px solid var(--line);background:var(--panel)}
.dx-row{display:flex;align-items:center;gap:2px;padding:6px 10px;overflow-x:auto;scrollbar-width:none}
.dx-row::-webkit-scrollbar{display:none}
.dx-b{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--dim)}
.dx-b:hover{background:var(--hi2)}
.dx-b.on{background:var(--hi2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line2)}
.dx-sep{flex:none;width:1px;height:20px;margin:0 6px;background:var(--line2)}
.dx-sel{flex:none;height:36px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--text);padding:0 8px;font-size:14px}
.dx-sub{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.dx-sub[hidden]{display:none}
.dx-t{flex:none;border:1px solid var(--line2);background:var(--card);color:var(--text);border-radius:99px;padding:6px 12px;font-size:13px;white-space:nowrap}
.dx-t:hover{background:var(--card2)}
.dx-in{flex:1;min-width:140px;height:34px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--text);padding:0 10px;font-size:14px}
/* the page */
.dx-scroll{flex:1;min-height:0;overflow-y:auto;background:var(--bg2);padding:20px 12px 60px}
.dx-page{max-width:820px;margin:0 auto;min-height:70vh;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:48px 56px;color:var(--text)}
.dx-text{white-space:pre-wrap;word-wrap:break-word;outline:none;min-height:60vh;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.dx-text{position:relative;font-variant-ligatures:none}
.dx-text [contenteditable=false]{white-space:normal}
.dx-text [contenteditable=false] [contenteditable=true]{white-space:pre-wrap}
/* ProseMirror's own base rules: tiptap injects them as a <style> tag, which the CSP (style-src 'self') blocks, so they live here */
img.ProseMirror-separator{display:inline!important;border:0!important;margin:0!important;width:0!important;height:0!important}
.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute;margin:0}
.ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid currentColor;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}
@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}
.ProseMirror-hideselection *::selection{background:transparent}
.ProseMirror-hideselection *{caret-color:transparent}
.ProseMirror-focused .ProseMirror-gapcursor{display:block}
.dx-text p{margin:0 0 .7em}
.dx-text h1{font-size:1.9em;line-height:1.25;margin:1em 0 .4em}
.dx-text h2{font-size:1.5em;line-height:1.3;margin:.9em 0 .35em}
.dx-text h3{font-size:1.25em;margin:.8em 0 .3em}
.dx-text h4,.dx-text h5,.dx-text h6{font-size:1.05em;margin:.7em 0 .3em}
.dx-text ul,.dx-text ol{padding-left:1.6em;margin:0 0 .7em}
.dx-text li>p{margin:0 0 .2em}
.dx-text a{color:var(--acct);text-decoration:underline}
.dx-text blockquote{margin:0 0 .7em;padding:.1em 0 .1em 1em;border-left:3px solid var(--line2);color:var(--dim)}
.dx-text pre{background:var(--hi);border-radius:6px;padding:10px 12px;overflow-x:auto;margin:0 0 .7em}
.dx-text code{font-family:Consolas,Menlo,monospace;font-size:.92em;background:var(--hi);border-radius:4px;padding:0 .25em}
.dx-text pre code{background:none;padding:0}
.dx-text hr{border:0;border-top:1px solid var(--line2);margin:1em 0}
.dx-text img{max-width:100%;height:auto;display:block;margin:.4em 0}
.dx-text img.ProseMirror-selectednode{outline:2px solid var(--line2)}
.dx-text [data-align=center]{text-align:center}
.dx-text [data-align=right]{text-align:right}
.dx-text [data-align=justify]{text-align:justify}
.dx-text table{border-collapse:collapse;width:100%;margin:0 0 .8em;table-layout:auto}
.dx-text td,.dx-text th{min-width:2.6em}
.dx-text th,.dx-text td{border:1px solid var(--line2);padding:6px 8px;vertical-align:top;position:relative}
.dx-text th{background:var(--hi);font-weight:600;text-align:left}
.dx-text td>p,.dx-text th>p{margin:0}
.dx-text .selectedCell{background:var(--accsoft)}
@media (max-width:640px){
  .dx-bar{gap:6px;padding:6px 8px}
  .dx-btn span{display:none}
  .dx-btn{padding:9px}
  .dx-btn.dx-pri span{display:inline;font-size:13px}
  .dx-btn.dx-pri{padding:9px 12px}
  .dx-scroll{padding:0 0 60px;background:var(--card)}
  .dx-page{border:0;border-radius:0;padding:18px 16px;min-height:80vh}
  .dx-b{width:40px;height:40px}
}

/* text size / colour / highlight: fixed sets keyed on data-* (the page allows no inline style); colours get a lighter twin in dark mode */
.dx{--c-gray:#595959;--c-red:#C62828;--c-orange:#D35400;--c-green:#2E7D32;--c-teal:#00796B;--c-blue:#1F5FAD;--c-purple:#7B3FA0;--c-brown:#8D5524;--h-yellow:rgba(255,214,0,.38);--h-green:rgba(80,200,90,.34);--h-blue:rgba(60,170,230,.32);--h-pink:rgba(240,90,160,.30);--h-gray:rgba(140,140,140,.34);}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dx{--c-gray:#b4b4b4;--c-red:#ff8f80;--c-orange:#ffa766;--c-green:#80d68a;--c-teal:#5fd6c2;--c-blue:#8fbcf7;--c-purple:#cfa4ee;--c-brown:#d6a97a;}}
:root[data-theme="dark"] .dx{--c-gray:#b4b4b4;--c-red:#ff8f80;--c-orange:#ffa766;--c-green:#80d68a;--c-teal:#5fd6c2;--c-blue:#8fbcf7;--c-purple:#cfa4ee;--c-brown:#d6a97a;}
.dx-text [data-fc="gray"]{color:var(--c-gray)}
.dx-sw[data-fc="gray"]{background:var(--c-gray)}
.dx-text [data-fc="red"]{color:var(--c-red)}
.dx-sw[data-fc="red"]{background:var(--c-red)}
.dx-text [data-fc="orange"]{color:var(--c-orange)}
.dx-sw[data-fc="orange"]{background:var(--c-orange)}
.dx-text [data-fc="green"]{color:var(--c-green)}
.dx-sw[data-fc="green"]{background:var(--c-green)}
.dx-text [data-fc="teal"]{color:var(--c-teal)}
.dx-sw[data-fc="teal"]{background:var(--c-teal)}
.dx-text [data-fc="blue"]{color:var(--c-blue)}
.dx-sw[data-fc="blue"]{background:var(--c-blue)}
.dx-text [data-fc="purple"]{color:var(--c-purple)}
.dx-sw[data-fc="purple"]{background:var(--c-purple)}
.dx-text [data-fc="brown"]{color:var(--c-brown)}
.dx-sw[data-fc="brown"]{background:var(--c-brown)}
.dx-text [data-hl="yellow"]{background:var(--h-yellow);border-radius:2px}
.dx-sw[data-hl="yellow"]{background:var(--h-yellow)}
.dx-text [data-hl="green"]{background:var(--h-green);border-radius:2px}
.dx-sw[data-hl="green"]{background:var(--h-green)}
.dx-text [data-hl="blue"]{background:var(--h-blue);border-radius:2px}
.dx-sw[data-hl="blue"]{background:var(--h-blue)}
.dx-text [data-hl="pink"]{background:var(--h-pink);border-radius:2px}
.dx-sw[data-hl="pink"]{background:var(--h-pink)}
.dx-text [data-hl="gray"]{background:var(--h-gray);border-radius:2px}
.dx-sw[data-hl="gray"]{background:var(--h-gray)}
.dx-text [data-fs="10"]{font-size:.91em}
.dx-text [data-fs="12"]{font-size:1.09em}
.dx-text [data-fs="14"]{font-size:1.27em}
.dx-text [data-fs="18"]{font-size:1.64em}
.dx-text [data-fs="24"]{font-size:2.18em}
.dx-sw{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);padding:0}
.dx-sw:hover{box-shadow:0 0 0 2px var(--line2)}
.dx-size{width:62px}
.dx-font{width:104px}
.dx-hf{font-size:.9em;opacity:.8;border-bottom:1px dashed var(--line2);margin:0 0 1em;padding-bottom:.6em}
.dx-hf.dx-fh{border-bottom:0;border-top:1px dashed var(--line2);margin:1em 0 0;padding:.6em 0 0}
.dx-hf::before{content:attr(data-l);display:block;font-size:.72em;color:var(--dim);margin-bottom:.3em}
.dx-hf p{margin:0 0 .3em}
.dx-hf img{max-width:100%;height:auto}
.dx-text td[data-bd],.dx-text th[data-bd]{border-width:0}
.dx-text td[data-bd~="t"],.dx-text th[data-bd~="t"]{border-top:1px solid var(--line2,#999)}
.dx-text td[data-bd~="r"],.dx-text th[data-bd~="r"]{border-right:1px solid var(--line2,#999)}
.dx-text td[data-bd~="b"],.dx-text th[data-bd~="b"]{border-bottom:1px solid var(--line2,#999)}
.dx-text td[data-bd~="l"],.dx-text th[data-bd~="l"]{border-left:1px solid var(--line2,#999)}
.dx-text td[data-bd],.dx-text th[data-bd]{--x:0}
:root{--bg-gray:#f2f2f2;--bg-silver:#d9d9d9;--bg-dark:#a6a6a6;--bg-yellow:#fff2cc;--bg-green:#e2efda;--bg-blue:#ddebf7;--bg-orange:#fce4d6;--bg-pink:#f8d7e6;--bg-purple:#e4dfec;--bg-teal:#d0ece7}
.dx-text [data-bg="gray"]{background:var(--bg-gray);color:#1f2328}
.dx-text [data-bg="silver"]{background:var(--bg-silver);color:#1f2328}
.dx-text [data-bg="dark"]{background:var(--bg-dark);color:#1f2328}
.dx-text [data-bg="yellow"]{background:var(--bg-yellow);color:#1f2328}
.dx-text [data-bg="green"]{background:var(--bg-green);color:#1f2328}
.dx-text [data-bg="blue"]{background:var(--bg-blue);color:#1f2328}
.dx-text [data-bg="orange"]{background:var(--bg-orange);color:#1f2328}
.dx-text [data-bg="pink"]{background:var(--bg-pink);color:#1f2328}
.dx-text [data-bg="purple"]{background:var(--bg-purple);color:#1f2328}
.dx-text [data-bg="teal"]{background:var(--bg-teal);color:#1f2328}
.dx-text [data-ind="1"]{margin-left:0.25in}
.dx-text [data-ind="2"]{margin-left:0.50in}
.dx-text [data-ind="3"]{margin-left:0.75in}
.dx-text [data-ind="4"]{margin-left:1.00in}
.dx-text [data-ind="5"]{margin-left:1.25in}
.dx-text [data-ind="6"]{margin-left:1.50in}
.dx-text [data-ind="7"]{margin-left:1.75in}
.dx-text [data-ind="8"]{margin-left:2.00in}
.dx-text [data-ind="9"]{margin-left:2.25in}
.dx-text [data-ind="10"]{margin-left:2.50in}
.dx-text [data-ind="11"]{margin-left:2.75in}
.dx-text [data-ind="12"]{margin-left:3.00in}
.dx-text [data-fi="1"]{text-indent:0.25in}
.dx-text [data-fi="2"]{text-indent:0.50in}
.dx-text [data-fi="3"]{text-indent:0.75in}
.dx-text [data-fi="4"]{text-indent:1.00in}
.dx-text [data-sb="0"]{margin-top:0pt}
.dx-text [data-sa="0"]{margin-bottom:0pt}
.dx-text [data-sb="3"]{margin-top:3pt}
.dx-text [data-sa="3"]{margin-bottom:3pt}
.dx-text [data-sb="6"]{margin-top:6pt}
.dx-text [data-sa="6"]{margin-bottom:6pt}
.dx-text [data-sb="12"]{margin-top:12pt}
.dx-text [data-sa="12"]{margin-bottom:12pt}
.dx-text [data-sb="18"]{margin-top:18pt}
.dx-text [data-sa="18"]{margin-bottom:18pt}
.dx-text [data-sb="24"]{margin-top:24pt}
.dx-text [data-sa="24"]{margin-bottom:24pt}
.dx-text [data-ls="100"]{line-height:1.00}
.dx-text [data-ls="115"]{line-height:1.15}
.dx-text [data-ls="150"]{line-height:1.50}
.dx-text [data-ls="200"]{line-height:2.00}
.dx-text [data-cw="1"]{width:1%}
.dx-text [data-cw="2"]{width:2%}
.dx-text [data-cw="3"]{width:3%}
.dx-text [data-cw="4"]{width:4%}
.dx-text [data-cw="5"]{width:5%}
.dx-text [data-cw="6"]{width:6%}
.dx-text [data-cw="7"]{width:7%}
.dx-text [data-cw="8"]{width:8%}
.dx-text [data-cw="9"]{width:9%}
.dx-text [data-cw="10"]{width:10%}
.dx-text [data-cw="11"]{width:11%}
.dx-text [data-cw="12"]{width:12%}
.dx-text [data-cw="13"]{width:13%}
.dx-text [data-cw="14"]{width:14%}
.dx-text [data-cw="15"]{width:15%}
.dx-text [data-cw="16"]{width:16%}
.dx-text [data-cw="17"]{width:17%}
.dx-text [data-cw="18"]{width:18%}
.dx-text [data-cw="19"]{width:19%}
.dx-text [data-cw="20"]{width:20%}
.dx-text [data-cw="21"]{width:21%}
.dx-text [data-cw="22"]{width:22%}
.dx-text [data-cw="23"]{width:23%}
.dx-text [data-cw="24"]{width:24%}
.dx-text [data-cw="25"]{width:25%}
.dx-text [data-cw="26"]{width:26%}
.dx-text [data-cw="27"]{width:27%}
.dx-text [data-cw="28"]{width:28%}
.dx-text [data-cw="29"]{width:29%}
.dx-text [data-cw="30"]{width:30%}
.dx-text [data-cw="31"]{width:31%}
.dx-text [data-cw="32"]{width:32%}
.dx-text [data-cw="33"]{width:33%}
.dx-text [data-cw="34"]{width:34%}
.dx-text [data-cw="35"]{width:35%}
.dx-text [data-cw="36"]{width:36%}
.dx-text [data-cw="37"]{width:37%}
.dx-text [data-cw="38"]{width:38%}
.dx-text [data-cw="39"]{width:39%}
.dx-text [data-cw="40"]{width:40%}
.dx-text [data-cw="41"]{width:41%}
.dx-text [data-cw="42"]{width:42%}
.dx-text [data-cw="43"]{width:43%}
.dx-text [data-cw="44"]{width:44%}
.dx-text [data-cw="45"]{width:45%}
.dx-text [data-cw="46"]{width:46%}
.dx-text [data-cw="47"]{width:47%}
.dx-text [data-cw="48"]{width:48%}
.dx-text [data-cw="49"]{width:49%}
.dx-text [data-cw="50"]{width:50%}
.dx-text [data-cw="51"]{width:51%}
.dx-text [data-cw="52"]{width:52%}
.dx-text [data-cw="53"]{width:53%}
.dx-text [data-cw="54"]{width:54%}
.dx-text [data-cw="55"]{width:55%}
.dx-text [data-cw="56"]{width:56%}
.dx-text [data-cw="57"]{width:57%}
.dx-text [data-cw="58"]{width:58%}
.dx-text [data-cw="59"]{width:59%}
.dx-text [data-cw="60"]{width:60%}
.dx-text [data-cw="61"]{width:61%}
.dx-text [data-cw="62"]{width:62%}
.dx-text [data-cw="63"]{width:63%}
.dx-text [data-cw="64"]{width:64%}
.dx-text [data-cw="65"]{width:65%}
.dx-text [data-cw="66"]{width:66%}
.dx-text [data-cw="67"]{width:67%}
.dx-text [data-cw="68"]{width:68%}
.dx-text [data-cw="69"]{width:69%}
.dx-text [data-cw="70"]{width:70%}
.dx-text [data-cw="71"]{width:71%}
.dx-text [data-cw="72"]{width:72%}
.dx-text [data-cw="73"]{width:73%}
.dx-text [data-cw="74"]{width:74%}
.dx-text [data-cw="75"]{width:75%}
.dx-text [data-cw="76"]{width:76%}
.dx-text [data-cw="77"]{width:77%}
.dx-text [data-cw="78"]{width:78%}
.dx-text [data-cw="79"]{width:79%}
.dx-text [data-cw="80"]{width:80%}
.dx-text [data-cw="81"]{width:81%}
.dx-text [data-cw="82"]{width:82%}
.dx-text [data-cw="83"]{width:83%}
.dx-text [data-cw="84"]{width:84%}
.dx-text [data-cw="85"]{width:85%}
.dx-text [data-cw="86"]{width:86%}
.dx-text [data-cw="87"]{width:87%}
.dx-text [data-cw="88"]{width:88%}
.dx-text [data-cw="89"]{width:89%}
.dx-text [data-cw="90"]{width:90%}
.dx-text [data-cw="91"]{width:91%}
.dx-text [data-cw="92"]{width:92%}
.dx-text [data-cw="93"]{width:93%}
.dx-text [data-cw="94"]{width:94%}
.dx-text [data-cw="95"]{width:95%}
.dx-text [data-cw="96"]{width:96%}
.dx-text [data-cw="97"]{width:97%}
.dx-text [data-cw="98"]{width:98%}
.dx-text [data-cw="99"]{width:99%}
.dx-text [data-cw="100"]{width:100%}

@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg-gray:#2f3338;--bg-silver:#3a3f45;--bg-dark:#555b63;--bg-yellow:#4a4326;--bg-green:#2a3e2a;--bg-blue:#263a4d;--bg-orange:#4d3426;--bg-pink:#4d2a3c;--bg-purple:#3a3050;--bg-teal:#25403b}.dx-text [data-bg]{color:var(--text)}}
:root[data-theme="dark"]{--bg-gray:#2f3338;--bg-silver:#3a3f45;--bg-dark:#555b63;--bg-yellow:#4a4326;--bg-green:#2a3e2a;--bg-blue:#263a4d;--bg-orange:#4d3426;--bg-pink:#4d2a3c;--bg-purple:#3a3050;--bg-teal:#25403b}
:root[data-theme="dark"] .dx-text [data-bg]{color:var(--text)}
