
:root{--dl-bg:#ffffff;--dl-bd:#dbe3ec;--dl-panel:#f2f5fa;--dl-panel2:#e8eef5;--dl-text:#243043;--dl-sub:#71809a;--dl-line:#dbe3ec;--dl-grid:#eef2f8;--dl-grid2:#dfe7f0;--dl-accent:#1b6fd8;--dl-accent2:#2f7fd6;--dl-hover:#e8f1fd;--dl-green:#37c285;--dl-red:#e0554a}
.night{--dl-bg:#111a29;--dl-bd:#2a3a52;--dl-panel:#182238;--dl-panel2:#1e2c46;--dl-text:#e6ecf5;--dl-sub:#8fa0bb;--dl-line:#2a3a52;--dl-grid:#1d2940;--dl-grid2:#263752;--dl-accent:#4d9fff;--dl-accent2:#5fa8ff;--dl-hover:#233550;--dl-green:#3ecf8f;--dl-red:#f0615a;color-scheme:dark}
.dl-wrap{display:flex;flex-direction:column;background:var(--dl-bg);border:1px solid var(--dl-bd);border-radius:12px;overflow:hidden;font-size:.9rem;box-shadow:0 6px 24px rgba(16,42,67,.08)}
.dl-wrap,.dl-wrap *{box-sizing:border-box}
.dl-wrap{--dl-bg:#ffffff;--dl-bd:#dbe3ec;--dl-panel:#f2f5fa;--dl-panel2:#e8eef5;--dl-text:#243043;--dl-sub:#71809a;--dl-line:#dbe3ec;--dl-grid:#eef2f8;--dl-grid2:#dfe7f0;--dl-accent:#1b6fd8;--dl-accent2:#2f7fd6;--dl-hover:#e8f1fd;--dl-green:#37c285;--dl-red:#e0554a}
.night .dl-wrap{--dl-bg:#111a29;--dl-bd:#2a3a52;--dl-panel:#182238;--dl-panel2:#1e2c46;--dl-text:#e6ecf5;--dl-sub:#8fa0bb;--dl-line:#2a3a52;--dl-grid:#1d2940;--dl-grid2:#263752;--dl-accent:#4d9fff;--dl-accent2:#5fa8ff;--dl-hover:#233550;--dl-green:#3ecf8f;--dl-red:#f0615a;color-scheme:dark}
.dl-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.34rem;padding:.45rem .6rem;border-bottom:1px solid var(--dl-line);background:linear-gradient(180deg,var(--dl-panel2),var(--dl-panel))}
.dl-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.26rem .55rem;font-size:.72rem;color:var(--dl-text);background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:6px;cursor:pointer;line-height:1.4;transition:all .15s;box-shadow:0 1px 2px rgba(16,42,67,.05)}
.dl-btn:hover{border-color:var(--dl-accent);color:var(--dl-accent);box-shadow:0 2px 8px rgba(27,111,216,.14)}
.dl-btn.primary{background:var(--dl-accent);border-color:var(--dl-accent);color:#fff}
.dl-btn.primary:hover{opacity:.9;color:#fff;border-color:var(--dl-accent)}
.dl-ico{width:13px;height:13px;flex:none}
.dl-select{padding:.26rem .4rem;font-size:.72rem;color:var(--dl-text);background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:6px;cursor:pointer;max-width:9.8rem}
.dl-body{display:flex;height:620px}
.dl-panel{width:204px;border-right:1px solid var(--dl-line);background:var(--dl-panel);display:flex;flex-direction:column;min-height:0}
.dl-search{margin:.45rem .55rem .32rem;padding:.34rem .55rem;font-size:.76rem;color:var(--dl-text);background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:7px;outline:none}
.dl-search:focus{border-color:var(--dl-accent);box-shadow:0 0 0 2px rgba(27,111,216,.12)}
.dl-tabs{display:flex;flex-wrap:wrap;gap:.24rem;padding:0 .55rem .4rem}
.dl-tab{flex:1 1 42%;padding:.22rem 0;font-size:.68rem;color:var(--dl-sub);background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:14px;cursor:pointer;transition:all .15s}
.dl-tab:hover{border-color:var(--dl-accent);color:var(--dl-accent)}
.dl-tab.on{background:var(--dl-accent);border-color:var(--dl-accent);color:#fff;box-shadow:0 2px 8px rgba(27,111,216,.25)}
.dl-gridwrap{flex:1;overflow:auto;padding:0 .55rem .6rem;min-height:0}
.dl-wrap *::-webkit-scrollbar{width:8px;height:8px}
.dl-wrap *::-webkit-scrollbar-track{background:transparent}
.dl-wrap *::-webkit-scrollbar-thumb{background:var(--dl-line);border-radius:4px;border:2px solid transparent;background-clip:padding-box}
.dl-wrap *::-webkit-scrollbar-thumb:hover{background:var(--dl-accent);border:2px solid transparent;background-clip:padding-box}
.dl-wrap *{scrollbar-width:thin;scrollbar-color:var(--dl-line) transparent}
.dl-mask *::-webkit-scrollbar{width:8px;height:8px}
.dl-mask *::-webkit-scrollbar-track{background:transparent}
.dl-mask *::-webkit-scrollbar-thumb{background:var(--dl-line);border-radius:4px;border:2px solid transparent;background-clip:padding-box}
.dl-mask *::-webkit-scrollbar-thumb:hover{background:var(--dl-accent);border:2px solid transparent;background-clip:padding-box}
.dl-mask *{scrollbar-width:thin;scrollbar-color:var(--dl-line) transparent}
.dl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.42rem}
.dl-item{background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:8px;padding:.26rem .18rem .22rem;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;transition:all .15s;box-shadow:0 1px 2px rgba(16,42,67,.04)}
.dl-item:hover{border-color:var(--dl-accent);transform:translateY(-1px);box-shadow:0 4px 14px rgba(27,111,216,.16)}
.dl-item svg{width:56px;height:56px;pointer-events:none}
.dl-itemname{font-size:.64rem;color:var(--dl-text);margin-top:.14rem;line-height:1.3;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl-empty{color:var(--dl-sub);text-align:center;padding:1.2rem 0;font-size:.78rem;grid-column:1/-1}
.dl-canvaswrap{flex:1;min-width:0;position:relative;background:var(--dl-bg);overflow:auto}
.dl-canvaswrap svg{width:100%;height:auto;display:block;touch-action:pan-y;background-color:var(--dl-bg);background-image:linear-gradient(var(--dl-grid2) 1px,transparent 1px),linear-gradient(90deg,var(--dl-grid2) 1px,transparent 1px),linear-gradient(var(--dl-grid) 1px,transparent 1px),linear-gradient(90deg,var(--dl-grid) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}
.dl-wire{stroke:#c3ccd6;stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;filter:drop-shadow(0 0 1.5px rgba(255,255,255,.95))}
.dl-wire.hot{stroke:var(--dl-red);stroke-dasharray:8 8;animation:dlflow 1s linear infinite}
.dl-wire.neu{stroke:var(--dl-accent2);stroke-dasharray:8 8;animation:dlflow 1s linear infinite}
.dl-wire.pe{stroke:#f0b429}
.dl-wire.pending{stroke:var(--dl-accent);stroke-width:2.4;stroke-dasharray:6 5}
.dl-wire.sel{stroke:var(--dl-accent);stroke-width:4;stroke-dasharray:none;animation:none}
.dl-wire.shortline{stroke:#ff1f1f;stroke-width:4.6;stroke-dasharray:6 6;animation:dshort .28s linear infinite}
@keyframes dshort{to{stroke-dashoffset:-12}}
.dl-spark{pointer-events:none}
@keyframes dlflow{to{stroke-dashoffset:-16}}
.dl-wirehit{stroke:transparent;stroke-width:16;fill:none;pointer-events:stroke;cursor:pointer}
.dl-term{fill:transparent;pointer-events:all;cursor:crosshair}
.dl-term.on{fill:rgba(27,111,216,.32)}
.dl-term.hover{fill:rgba(55,194,133,.42)}
.dl-comp{cursor:pointer}
.dl-selring{fill:none;stroke:var(--dl-accent);stroke-width:2;stroke-dasharray:5 4;pointer-events:none}
.dl-delbtn{cursor:pointer}
.dl-status{padding:.34rem .85rem;border-top:1px solid var(--dl-line);background:var(--dl-panel2);color:var(--dl-sub);font-size:.74rem;line-height:1.7;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.dl-status::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--dl-green);flex:none;box-shadow:0 0 0 3px rgba(55,194,133,.18)}
.dl-menu{position:fixed;top:0;left:0;z-index:2147482900;background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:8px;box-shadow:0 10px 30px rgba(15,23,42,.18);padding:.35rem;min-width:132px;display:flex;flex-direction:column}
.dl-menuitem{display:block;width:100%;text-align:left;padding:.5rem .75rem;border:none;background:none;color:var(--dl-text);font-size:.76rem;border-radius:6px;cursor:pointer;line-height:1.4}
.dl-menuitem+.dl-menuitem{margin-top:.12rem}
.dl-menuitem:hover{background:var(--dl-hover);color:var(--dl-accent)}
.dl-mask{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:rgba(15,23,42,.68);z-index:2147483647;display:flex;align-items:center;justify-content:center;animation:dlFade .18s ease-out}
.dl-modal{background:var(--dl-bg);border:2px solid var(--dl-accent);border-radius:14px;width:min(540px,92vw);max-height:54vh;display:flex;flex-direction:column;box-shadow:0 26px 70px rgba(15,23,42,.5),0 0 0 6px rgba(27,111,216,.18);animation:dlPop .22s cubic-bezier(.2,.9,.3,1.2)}
.dl-mtitle{padding:.7rem 1rem .62rem 1.1rem;font-size:.92rem;font-weight:700;color:#fff;display:flex;justify-content:space-between;align-items:center;flex:none;background:linear-gradient(135deg,var(--dl-accent),var(--dl-accent2));border-radius:12px 12px 0 0}
.dl-mclose{border:none;background:none;font-size:1.15rem;color:rgba(255,255,255,.85);cursor:pointer;line-height:1;padding:.1rem .3rem;border-radius:6px;transition:all .15s}
.dl-mclose:hover{color:#fff;background:rgba(255,255,255,.16)}
.dl-mbody{padding:.85rem .95rem;overflow:auto;min-height:0}
@keyframes dlFade{from{opacity:0}to{opacity:1}}
@keyframes dlPop{from{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
.dl-mtext{color:var(--dl-text);font-size:.84rem;line-height:1.7}
.dl-mrow{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.85rem}
.dl-minput{padding:.35rem .55rem;font-size:.78rem;color:var(--dl-text);background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:7px;outline:none}
.dl-minput:focus{border-color:var(--dl-accent)}
.dl-mm{position:fixed;right:1rem;bottom:3.2rem;z-index:2147482860;width:252px;background:var(--dl-bg);border:2px solid var(--dl-accent);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.45);overflow:hidden;animation:dlPop .2s cubic-bezier(.2,.9,.3,1.2)}
.dl-mmwire{position:fixed;left:0;top:0;width:100vw;height:100vh;pointer-events:none;z-index:2147482830;overflow:visible}
.dl-mmline{stroke-width:2.8;stroke-linecap:round}
.dl-mmline.red{stroke:#e0554a;filter:drop-shadow(0 0 3px rgba(224,85,74,.55))}
.dl-mmline.black{stroke:#2b2f36;filter:drop-shadow(0 0 3px rgba(43,47,54,.45))}
.dl-mm-head{cursor:move}
.dl-mm-head{display:flex;align-items:center;justify-content:space-between;padding:.5rem .7rem;background:linear-gradient(135deg,var(--dl-accent),var(--dl-accent2));color:#fff;font-size:.78rem;font-weight:700}
.dl-mm-close{background:none;border:none;color:#fff;font-size:.9rem;cursor:pointer;line-height:1;padding:0 .2rem}
.dl-mm-screen{display:flex;align-items:flex-end;justify-content:center;gap:.4rem;padding:.65rem .6rem;background:#0b1524;border-bottom:1px solid var(--dl-line)}
.dl-mm-val{font-family:Consolas,"Courier New",monospace;font-size:2.05rem;font-weight:700;color:#3ef07c;letter-spacing:1px;text-shadow:0 0 12px rgba(62,240,124,.5);line-height:1}
.dl-mm-unit{font-size:.85rem;color:#7dd0ff;padding-bottom:.15rem}
.dl-mm-modes{display:flex;gap:.4rem;padding:.5rem .6rem}
.dl-mm-modes button{flex:1;padding:.32rem 0;font-size:.7rem;color:var(--dl-text);background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:7px;cursor:pointer;transition:all .15s}
.dl-mm-modes button.on{color:#fff;background:var(--dl-accent);border-color:var(--dl-accent)}
.dl-mm-probe{padding:.15rem .7rem .3rem;font-size:.7rem;color:var(--dl-sub)}
.dl-mm-hint{padding:0 .7rem .55rem;font-size:.68rem;color:var(--dl-sub);line-height:1.5}
.dl-mm-jacks{display:flex;gap:.6rem;justify-content:center;padding:.35rem .6rem .5rem;border-top:1px dashed var(--dl-line)}
.dl-mm-jack{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.3rem .8rem .28rem;background:var(--dl-bg);border:1.5px solid var(--dl-line);border-radius:9px;cursor:pointer;font-size:.68rem;color:var(--dl-sub);transition:all .15s}
.dl-mm-jack i{display:block;width:15px;height:15px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 1.5px #9aa7b5,inset 0 0 4px rgba(0,0,0,.35)}
.dl-mm-jack.red i{background:#e0554a}
.dl-mm-jack.black i{background:#2b2f36}
.dl-mm-jack.on{border-color:var(--dl-accent);color:var(--dl-accent);box-shadow:0 0 0 2px rgba(64,152,238,.25)}
.dl-mm-jack.on i{box-shadow:0 0 0 1.5px var(--dl-accent),0 0 8px rgba(224,85,74,.75)}
.dl-mm-val.good{color:#3ef07c;text-shadow:0 0 12px rgba(62,240,124,.5)}
.dl-mm-val.bad{color:#ff5d5d;text-shadow:0 0 12px rgba(255,93,93,.55)}
.dl-mm-batbar{height:9px;margin:.15rem .7rem .1rem;background:#0b1524;border:1px solid var(--dl-line);border-radius:6px;overflow:hidden}
.dl-mm-batfill{height:100%;width:0%;background:#3ef07c;border-radius:6px;transition:width .35s}
.dl-diag-verdict{padding:.6rem .75rem;border-radius:9px;font-size:.85rem;font-weight:700;margin-bottom:.6rem}
.dl-diag-verdict.good{background:rgba(40,167,69,.12);color:#1e9e4a;border:1px solid rgba(40,167,69,.35)}
.dl-diag-verdict.bad{background:rgba(220,53,69,.1);color:#d63a4a;border:1px solid rgba(220,53,69,.3)}
.dl-diag-block{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.55rem}
.dl-diag-item{padding:.38rem .6rem;border-radius:7px;font-size:.76rem;line-height:1.55}
.dl-diag-item.good{background:rgba(40,167,69,.07);color:#2c7a45;border:1px solid rgba(40,167,69,.18)}
.dl-diag-item.bad{background:rgba(220,53,69,.06);color:#c22e3e;border:1px solid rgba(220,53,69,.18)}
.dl-diag-item.info{background:rgba(27,111,216,.06);color:var(--dl-accent);border:1px solid rgba(27,111,216,.2)}
.dl-prow{display:flex;align-items:center;gap:.55rem;margin-bottom:.7rem;flex-wrap:wrap}
.dl-plabel{width:4.8rem;color:var(--dl-text);font-size:.78rem;flex:none}
.dl-prow input[type=range]{flex:1;min-width:110px;accent-color:var(--dl-accent)}
.dl-prow input[type=number]{width:4.6rem;padding:.26rem .4rem;font-size:.78rem;color:var(--dl-text);background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:6px;outline:none}
.dl-prow input[type=number]:focus{border-color:var(--dl-accent)}
.dl-mslist{display:flex;flex-direction:column;gap:.55rem;margin-top:.7rem}
.dl-msitem{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;background:var(--dl-bg);border:1px solid var(--dl-line);border-radius:10px;cursor:pointer;transition:all .15s}
.dl-msitem:hover{border-color:var(--dl-accent);background:var(--dl-hover);transform:translateX(3px)}
.dl-msi-no{flex:none;width:1.7rem;height:1.7rem;border-radius:50%;background:linear-gradient(135deg,var(--dl-accent),var(--dl-accent2));color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.dl-msi-body{min-width:0}
.dl-msi-name{font-size:.85rem;font-weight:700;color:var(--dl-text)}
.dl-msi-goal{font-size:.74rem;color:var(--dl-sub);margin-top:.12rem;line-height:1.5}
.dl-missionbar{position:fixed;top:.9rem;right:.9rem;z-index:2147482800;width:min(320px,90vw);background:var(--dl-bg);border:2px solid var(--dl-accent);border-radius:12px;box-shadow:0 18px 50px rgba(15,23,42,.35);padding:.7rem .85rem;animation:dlPop .22s cubic-bezier(.2,.9,.3,1.2)}
.dl-ms-title{font-size:.9rem;font-weight:700;color:var(--dl-accent);margin-bottom:.3rem}
.dl-ms-goal{font-size:.8rem;color:var(--dl-text);line-height:1.55;margin-bottom:.3rem}
.dl-ms-hint{font-size:.74rem;color:var(--dl-sub);line-height:1.55;padding:.35rem .5rem;background:var(--dl-hover);border-left:3px solid var(--dl-accent);border-radius:0 6px 6px 0;margin-bottom:.35rem}
.dl-ms-score{font-size:.76rem;color:var(--dl-accent2);font-weight:700;margin-bottom:.4rem}
.dl-ms-quit{width:100%;padding:.34rem 0;font-size:.74rem;color:var(--dl-sub);background:none;border:1px dashed var(--dl-line);border-radius:7px;cursor:pointer;transition:all .15s}
.dl-ms-quit:hover{color:var(--dl-red);border-color:var(--dl-red)}
.dl-exambar{position:fixed;top:.9rem;left:50%;transform:translateX(-50%);z-index:2147482850;display:flex;align-items:center;gap:.7rem;background:var(--dl-bg);border:2px solid var(--dl-red);border-radius:12px;box-shadow:0 18px 50px rgba(15,23,42,.4);padding:.55rem .95rem;animation:dlPop .22s cubic-bezier(.2,.9,.3,1.2)}
.dl-ex-t{font-size:.85rem;font-weight:700;color:var(--dl-red)}
.dl-ex-msg{font-size:.78rem;color:var(--dl-text);line-height:1.45}
.dl-ex-time{font-size:.8rem;font-weight:700;color:var(--dl-accent2);font-variant-numeric:tabular-nums;white-space:nowrap}
.dl-ex-quit{padding:.3rem .65rem;font-size:.72rem;color:var(--dl-sub);background:none;border:1px dashed var(--dl-line);border-radius:7px;cursor:pointer;transition:all .15s;white-space:nowrap}
.dl-ex-quit:hover{color:var(--dl-red);border-color:var(--dl-red)}
.dl-copy{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.55rem .8rem;font-size:.72rem;color:var(--dl-sub);border-top:1px solid var(--dl-line);background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.06));user-select:none;text-align:center}
.dl-copy-badge{width:1.4rem;height:1.4rem;border:1.5px solid var(--dl-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--dl-accent);font-size:.78rem;flex:none;box-shadow:0 0 0 3px rgba(27,111,216,.08)}
.dl-copy-txt{line-height:1.55}
.dl-copy strong{color:var(--dl-accent);font-weight:700}
.dl-copy em{color:var(--dl-red);font-style:normal;font-weight:700}
.dl-demobar{position:fixed;top:.9rem;left:50%;transform:translateX(-50%);z-index:2147482850;display:flex;align-items:center;gap:.75rem;background:var(--dl-bg);border:2px solid var(--dl-accent);border-radius:12px;box-shadow:0 18px 50px rgba(15,23,42,.4);padding:.55rem .95rem;animation:dlPop .22s cubic-bezier(.2,.9,.3,1.2)}
.dl-demo-name{font-size:.8rem;font-weight:700;color:var(--dl-accent);white-space:nowrap}
.dl-demo-text{font-size:.8rem;color:var(--dl-text);line-height:1.45}
.dl-demo-prog{font-size:.74rem;font-weight:700;color:var(--dl-sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.dl-demo-skip{padding:.3rem .65rem;font-size:.72rem;color:var(--dl-sub);background:none;border:1px dashed var(--dl-line);border-radius:7px;cursor:pointer;transition:all .15s;white-space:nowrap}
.dl-demo-skip:hover{color:var(--dl-red);border-color:var(--dl-red)}
.dl-demo-pause{padding:.3rem .65rem;font-size:.72rem;color:var(--dl-accent);background:rgba(27,111,216,.08);border:1px solid var(--dl-accent);border-radius:7px;cursor:pointer;transition:all .15s;white-space:nowrap}
.dl-demo-pause:hover{background:rgba(27,111,216,.16)}
.dl-punit{color:var(--dl-sub);font-size:.74rem;width:2rem;flex:none}
.dl-bigsvg{width:190px;height:auto;margin:0 auto .55rem;display:block;background:var(--dl-panel);border:1px solid var(--dl-line);border-radius:8px;padding:.4rem}
.dl-meta{color:var(--dl-sub);font-size:.74rem;margin-bottom:.45rem;line-height:1.7}
.dl-meta b{color:var(--dl-text)}
.dl-ency{color:var(--dl-text);font-size:.8rem;line-height:1.8;background:var(--dl-panel);border-radius:8px;padding:.55rem .75rem;margin:.15rem 0 .5rem}
.dl-bookbody{display:flex;gap:.6rem}
.dl-bookside{width:172px;overflow:auto;max-height:44vh;border-right:1px solid var(--dl-line);padding-right:.35rem;flex:none}
.dl-bookcat{font-weight:600;color:var(--dl-accent);font-size:.76rem;margin:.4rem 0 .25rem;white-space:nowrap}
.dl-bookitem{display:block;width:100%;text-align:left;padding:.26rem .42rem;border:none;background:none;color:var(--dl-text);font-size:.74rem;border-radius:5px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-bookitem:hover{background:var(--dl-hover)}
.dl-bookmain{flex:1;padding-left:.5rem;min-width:0}
.dl-help p{color:var(--dl-text);font-size:.82rem;line-height:1.85;margin-bottom:.45rem}
.dl-wrap:fullscreen{border-radius:0;width:100vw;height:100vh;height:100dvh;background:var(--dl-bg);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.dl-wrap:fullscreen .dl-body{height:calc(100vh - 100px);height:calc(100dvh - 100px)}
@media(max-width:900px){
.dl-body{flex-direction:column;height:auto}
.dl-panel{width:100%;border-right:none;border-bottom:1px solid var(--dl-line);max-height:210px}
.dl-tabs{flex-wrap:nowrap;overflow-x:auto}
.dl-tab{flex:1 0 auto;padding:.26rem .6rem}
.dl-gridwrap{overflow-x:auto;flex:none}
.dl-grid{grid-template-columns:repeat(6,82px);gap:.36rem}
.dl-item svg{width:50px;height:50px}
.dl-canvaswrap{height:460px}
.dl-wrap:fullscreen .dl-body{height:auto;flex:none}
.dl-wrap:fullscreen .dl-panel{max-height:none;flex:none}
.dl-wrap:fullscreen .dl-gridwrap{max-height:38vh;flex:1;min-height:0}
.dl-wrap:fullscreen .dl-canvaswrap{height:auto;flex:none;min-height:56vh}
.dl-wrap:fullscreen .dl-canvaswrap svg{touch-action:pan-y !important}
.dl-toolbar{gap:.3rem;padding:.42rem .5rem}
.dl-select{max-width:8.8rem}
.dl-bookside{width:108px}
.dl-wrap:-webkit-full-screen{border-radius:0;width:100vw;height:100vh;background:var(--dl-bg);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.dl-wrap:-webkit-full-screen .dl-body{height:auto;flex:none}
.dl-wrap:-webkit-full-screen .dl-panel{max-height:none;flex:none}
.dl-wrap:-webkit-full-screen .dl-gridwrap{max-height:38vh;flex:1;min-height:0}
.dl-wrap:-webkit-full-screen .dl-canvaswrap{height:auto;flex:none;min-height:56vh}
.dl-wrap:-webkit-full-screen .dl-canvaswrap svg{touch-action:pan-y !important}
}
