/* Teknotes - Look nach GoodNotes (Windows): dunkle Flaechen, blaue Werkzeugleiste, Tab-Leiste, dunkle Popover, Creme-Punktpapier */
:root{--bg:#1c1c1c;--bg2:#222;--pan:#262626;--card:#2e2e2e;--card2:#383838;--ln:#3a3a3a;--ln2:#4a4a4a;--tx:#f2f2f2;--mu:#9a9a9a;--tab:#1d3366;--tabsel:#2c4f92;--bar:#27497f;--barh:#3a62a8;--ac:#0a84ff;--acbg:#0a3a73;--pop:#1d1d1d;--ok:#34d399;--warn:#f59e0b;--bad:#f87171;--tabs:44px;--barh2:56px;--top:100px;--side:310px;--aiw:380px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--tx);font:14px/1.4 "Segoe UI",system-ui,sans-serif;overscroll-behavior:none;overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;border-radius:10px;padding:0}
svg.i{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hide{display:none!important}

/* ---------- Tab-Leiste (Home + offene Dokumente) */
#tabs{position:fixed;left:0;right:0;top:0;height:var(--tabs);background:var(--tab);display:flex;align-items:flex-end;gap:2px;padding:0 0 0 0;z-index:40;user-select:none}
#tabs .tab{height:38px;display:flex;align-items:center;gap:10px;padding:0 12px 0 18px;border-radius:10px 10px 0 0;color:#e8eefc;background:transparent;font-size:15px;max-width:280px;min-width:90px;position:relative}
#tabs .tab:hover{background:#ffffff10}
#tabs .tab.on{background:var(--tabsel);box-shadow:0 -1px 0 #ffffff12 inset}
#tabs .tab.home{min-width:0;padding:0 18px}
#tabs .tab .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tabs .tab .x{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:8px;opacity:.7}#tabs .tab .x:hover{background:#ffffff22;opacity:1}
#tabs .tab .x svg{width:16px;height:16px}
#tabs .plus{width:40px;height:34px;align-self:center;display:flex;align-items:center;justify-content:center;color:#cfd9f5}#tabs .plus:hover{background:#ffffff15}
#tabs .sp{flex:1}
#st{color:#c9d6f5;font-size:12px;align-self:center;padding:0 14px;white-space:nowrap}#st.bad{color:#ffb4b4;font-weight:600}

/* ---------- Blaue Werkzeugleiste */
#bar{position:fixed;left:0;right:0;top:var(--tabs);height:var(--barh2);background:var(--tabsel);display:flex;align-items:center;padding:0 14px;z-index:35}
#bar .g{display:flex;align-items:center;gap:6px}#bar .l{flex:1}#bar .r{flex:1;justify-content:flex-end}
#bar .bt{width:50px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#f4f7ff;position:relative}
#bar .bt:hover{background:#ffffff1c}#bar .bt.on{background:var(--barh);box-shadow:0 0 0 1px #ffffff22 inset}
#bar .bt svg{width:27px;height:27px}
#bar .sep{width:1px;height:30px;background:#ffffff30;margin:0 8px}
#bar .bt .dd{position:absolute;right:3px;bottom:5px;width:10px;height:10px;opacity:.8}
#bar .bt.robot.on{background:#0a84ff55}
#bar .pill{height:36px;padding:0 12px;border-radius:12px;background:#ffffff18;display:flex;align-items:center;gap:8px;color:#fff;font-weight:600}
#pageInd{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:#000a;border:1px solid var(--ln2);border-radius:18px;padding:6px 14px;font-weight:600;z-index:24;display:flex;align-items:center;gap:8px;backdrop-filter:blur(8px)}
body.side #pageInd{left:calc(50% + var(--side)/2)}body.ai #pageInd{left:calc(50% - var(--aiw)/2)}body.side.ai #pageInd{left:calc(50% + (var(--side) - var(--aiw))/2)}
#pageInd input{width:40px;text-align:center;background:none;border:0;border-bottom:1px solid var(--ln2);font-weight:700;color:var(--tx);padding:2px}#pageInd input:focus{outline:none;border-color:var(--ac)}
#pageInd button{width:28px;height:28px;display:flex;align-items:center;justify-content:center}#pageInd button:hover{background:#ffffff20}#pageInd svg{width:18px;height:18px}

/* ---------- Optionsleiste (schwebende dunkle Pille) + Rueckgaengig */
#opts{position:fixed;left:50%;top:calc(var(--top) + 12px);transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:6px 8px;background:#161616;border:1px solid #2c2c2c;border-radius:20px;box-shadow:0 10px 36px #000a;z-index:34;max-width:94vw}
body.side #opts{left:calc(50% + var(--side)/2)}body.ai #opts{left:calc(50% - var(--aiw)/2)}body.side.ai #opts{left:calc(50% + (var(--side) - var(--aiw))/2)}
#opts:empty{display:none}
#opts .ob{height:46px;min-width:46px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:14px;color:#e6e6e6}
#opts .ob:hover{background:#2d2d2d}#opts .ob.on{background:#0e7490;color:#fff}#opts .ob.on.blue{background:var(--ac)}
#opts .ob svg{width:26px;height:26px}#opts .ob .chev{width:12px;height:12px;opacity:.8}
#opts .osep{width:1px;height:28px;background:#383838;margin:0 6px}
#opts .th{height:46px;width:52px;display:flex;align-items:center;justify-content:center;border-radius:14px}#opts .th:hover{background:#2d2d2d}#opts .th.on{background:#333}
#opts .th i{display:block;width:30px;background:#e8e8e8;border-radius:3px}
#opts .cl{width:44px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:14px}#opts .cl:hover{background:#2d2d2d}
#opts .cl b{display:block;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff40;display:flex;align-items:center;justify-content:center}
#opts .cl.on{background:#303030}#opts .cl.on b svg{width:16px;height:16px;stroke:#fff;filter:drop-shadow(0 0 2px #000)}
#opts .addc{width:44px;height:46px;display:flex;align-items:center;justify-content:center;color:#e6e6e6;border-radius:14px}#opts .addc:hover{background:#2d2d2d}
#opts .num{display:flex;align-items:center;background:#2b2b2b;border-radius:12px;height:44px;padding:0 4px;gap:2px}#opts .num button{width:30px;height:36px;font-size:20px}#opts .num span{min-width:34px;text-align:center;font-weight:600}
#opts .lbl{padding:0 12px;color:#bbb;font-size:13px;max-width:360px}
#urbox{position:fixed;left:16px;top:calc(var(--top) + 12px);display:flex;gap:0;background:#66666699;border-radius:16px;z-index:33;backdrop-filter:blur(6px);overflow:hidden}
body.side #urbox{left:calc(var(--side) + 16px)}
#urbox button{width:52px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:0}#urbox button:hover{background:#ffffff22}

/* ---------- Seitenleiste */
#side{position:fixed;left:0;top:var(--top);bottom:0;width:var(--side);background:var(--bg2);display:none;flex-direction:column;z-index:20;border-right:1px solid #000}
body.side #side{display:flex}
#side .stabs{display:flex;align-items:center;gap:8px;padding:14px 14px 10px}
#side .stabs .seg{display:flex;background:#101010;border-radius:16px;padding:3px;flex:1}
#side .stabs .seg button{flex:1;height:38px;display:flex;align-items:center;justify-content:center;border-radius:13px;color:#b8b8b8}#side .stabs .seg button.on{background:#2e2e2e;color:#fff}#side .stabs .seg svg{width:22px;height:22px}
#side .stabs .chk{width:38px;height:38px;color:#bbb;display:flex;align-items:center;justify-content:center}
#sbody{flex:1;overflow:auto;padding:4px 14px 14px}
#th{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}
#th .t{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}
#th .t .im{position:relative;width:100%;background:#fff;border-radius:7px;border:3px solid transparent;overflow:hidden;box-shadow:0 4px 14px #0008}
#th .t.on .im{border-color:var(--ac)}
#th .t img{display:block;width:100%;background:#fff}
#th .t .bmk{position:absolute;right:5px;top:3px;width:24px;height:30px;color:#777;z-index:3;display:flex;align-items:flex-start;justify-content:center}#th .t .bmk svg{width:22px;height:26px;fill:none}
#th .t .bmk.on{color:#f59e0b}#th .t .bmk.on svg{fill:#f59e0b}
#th .t .nr{display:flex;align-items:center;gap:14px;font-size:15px}#th .t .nr .mk{width:30px;height:24px;border-radius:8px;color:#ddd;font-weight:900;display:flex;align-items:center;justify-content:center}#th .t .nr .mk:hover{background:#ffffff1a}
#th .t.dt .im{box-shadow:0 -5px 0 0 var(--ac)}#th .t.db .im{box-shadow:0 5px 0 0 var(--ac)}
#sbody .li{padding:11px 12px;border-radius:10px;cursor:pointer;display:flex;gap:10px;align-items:center}#sbody .li:hover{background:#2c2c2c}#sbody .li small{color:var(--mu);margin-left:auto}
#sbody .empty{color:var(--mu);padding:20px 6px;line-height:1.5}
#sbody .lv1{padding-left:26px}#sbody .lv2{padding-left:44px}

/* ---------- Dokumentflaeche (Creme-Punktpapier kommt aus der PDF selbst) */
#wrap{position:fixed;left:0;right:0;top:var(--top);bottom:0;overflow:auto;background:#2a2a2a;touch-action:none}
body.side #wrap{left:var(--side)}body.ai #wrap{right:var(--aiw)}
#pages{display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 0 120px;transform-origin:50% 0;min-width:min-content}
.pg{position:relative;background:#e9e9ec;flex:none;box-shadow:0 8px 34px #000a;touch-action:none}
.pg .bg{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.pg canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;pointer-events:none}
.pg .live{pointer-events:auto}
.pg .hit{position:absolute;background:#facc1566;mix-blend-mode:multiply;border-radius:2px;pointer-events:none}.pg .hit.cur{background:#fb923caa;outline:2px solid #f59e0b}
body.t-pen .pg .live,body.t-shape .pg .live,body.t-area .pg .live,body.t-laser .pg .live,body.t-lasso .pg .live{cursor:crosshair}body.t-txt .pg .live{cursor:text}body.t-erase .pg .live{cursor:none}
.tbox{position:absolute;background:#ffffffe6;border:2px solid var(--ac);color:#000;font-family:Arial,Helvetica,sans-serif;outline:none;padding:2px 4px;line-height:1.15;min-width:80px;z-index:6;white-space:pre-wrap;border-radius:3px}
.selbar{position:absolute;display:flex;flex-direction:column;background:var(--pop);border:1px solid #333;border-radius:16px;padding:6px;z-index:7;box-shadow:0 14px 40px #000c;min-width:230px}
.selbar button{height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;border-radius:10px;text-align:left}.selbar button:hover{background:#2c2c2c}.selbar button.dis{opacity:.4;pointer-events:none}
.selbar button svg{width:22px;height:22px;color:#aaa}

/* ---------- Popover */
.pop{position:fixed;background:var(--pop);border:1px solid #333;border-radius:18px;box-shadow:0 18px 56px #000d;padding:8px;z-index:60;display:none;flex-direction:column;min-width:240px}
.pop.show{display:flex}
.pop>button,.pop>label,.pop .row{height:46px;display:flex;align-items:center;gap:14px;padding:0 14px;border-radius:12px;text-align:left;width:100%;cursor:pointer;font-size:15px}
.pop>button:hover,.pop>label:hover{background:#2b2b2b}.pop>button.on{background:#2f2f2f}
.pop .ph{padding:12px 14px 6px;font-size:17px;font-weight:600}.pop .pm{padding:0 14px 6px;color:var(--mu);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.pop hr{border:0;border-top:1px solid #333;margin:6px 0;width:100%}
.pop .rw{display:flex;gap:6px;padding:4px 6px}.pop .rw button{background:#2b2b2b;border:1px solid #3a3a3a;justify-content:center;height:40px;flex:1;display:flex;align-items:center;gap:6px;padding:0 8px}
.pop .rw input,.pop select,.pop input[type=text],.pop input[type=number]{background:#2b2b2b;border:1px solid #3a3a3a;border-radius:10px;height:40px;padding:0 10px;color:var(--tx)}.pop .rw input{width:80px}
.pop select{width:calc(100% - 12px);margin:4px 6px}
.pop .sl{padding:6px 14px 10px}.pop .sl .top{display:flex;justify-content:space-between;color:#bbb;font-size:12px;letter-spacing:.06em;margin-bottom:6px}.pop .sl input[type=range]{width:100%;accent-color:#fff}
.pop .tg{display:flex;align-items:center;justify-content:space-between;padding:0 14px;height:48px;width:100%;font-size:15px;border-radius:12px}.pop .tg:hover{background:#2b2b2b}
.sw{width:50px;height:30px;border-radius:15px;background:#555;position:relative;transition:.15s;flex:none}.sw::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.15s}.on>.sw,.sw.on{background:var(--ac)}.on>.sw::after,.sw.on::after{left:23px}
.types{display:flex;gap:6px;padding:4px 6px 8px}.types button{flex:1;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:14px;font-size:13px;color:#ddd}.types button.on{background:#2f2f2f;color:#fff}.types svg{width:28px;height:28px}
.prev{margin:6px 14px;height:110px;border-radius:12px;background:#1a1a1a;display:flex;align-items:center;justify-content:center}
.pal{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:8px 12px 12px}.pal button{width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff40;display:flex;align-items:center;justify-content:center;margin:auto}.pal button.on{box-shadow:inset 0 0 0 1px #ffffff40,0 0 0 3px #1d1d1d,0 0 0 5px #fff}
.pal button.rb{background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red);position:relative}
.shapes{display:flex;gap:2px;padding:4px}.shapes button{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px}.shapes button.on{background:#333}.shapes svg{width:28px;height:28px}

/* ---------- TEKZOY-Panel */
#ai{position:fixed;right:12px;top:calc(var(--top) + 10px);bottom:12px;width:calc(var(--aiw) - 12px);background:var(--pan);border:1px solid #333;border-radius:20px;box-shadow:0 20px 60px #000b;display:none;flex-direction:column;z-index:22;overflow:hidden}
body.ai #ai{display:flex}
#ai .hd{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #333}
#ai .hd .lg{width:42px;height:42px;border-radius:14px;background:var(--acbg);border:1px solid var(--ac);display:flex;align-items:center;justify-content:center;color:#9ccbff}
#ai .hd b{font-size:17px;flex:1}#ai .hd .x{width:38px;height:38px;color:var(--mu)}
#aiCtx{padding:12px 18px 2px;color:var(--mu);font-size:12px}#aiAsk{padding:6px 18px 10px;font-size:16px;font-weight:600}
#aiList{margin:0 14px;background:var(--card);border:1px solid #3a3a3a;border-radius:16px;overflow:hidden}
#aiList button{display:flex;align-items:center;gap:14px;width:100%;padding:0 16px;height:52px;border-radius:0;border-bottom:1px solid #3a3a3a;text-align:left;font-size:15px}#aiList button:last-child{border-bottom:0}#aiList button:hover{background:var(--card2)}#aiList svg{color:#9ccbff;width:24px;height:24px}
#aiReg{margin:10px 18px 0;font-size:12px;color:#5eead4;display:flex;align-items:center;gap:10px;flex-wrap:wrap}#aiReg a{color:var(--mu);text-decoration:underline;cursor:pointer}#aiReg button{height:30px;padding:0 12px;background:var(--card);border:1px solid var(--ln2);color:var(--tx);font-size:12px;display:flex;align-items:center;gap:6px}
#aiLog{flex:1;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}
#aiLog .u{align-self:flex-end;background:var(--acbg);border:1px solid var(--ac);border-radius:14px 14px 3px 14px;padding:8px 12px;max-width:90%;font-size:13px}
#aiLog .a{background:var(--card);border:1px solid #3a3a3a;border-radius:14px 14px 14px 3px;padding:11px 13px;font-size:13.5px;line-height:1.55;user-select:text}
#aiLog .a h5{margin:10px 0 4px;font-size:13.5px}#aiLog .a ul{margin:4px 0;padding-left:18px}#aiLog .a code{background:#3a3a3a;padding:0 4px;border-radius:4px}
#aiLog .a .cp{display:inline-block;margin:8px 12px 0 0;color:var(--mu);font-size:12px;cursor:pointer;height:auto;padding:0}#aiLog .a .cp:hover{color:var(--tx)}#aiLog .busy{color:var(--mu);font-size:13px}
#aiIn{display:flex;gap:8px;padding:12px 14px 14px;border-top:1px solid #333}
#aiQ{flex:1;background:var(--card);border:1px solid var(--ln2);border-radius:14px;padding:12px 14px;resize:none;height:48px;color:var(--tx)}#aiQ:focus{outline:none;border-color:var(--ac)}
#aiSend{width:48px;height:48px;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:14px}

/* ---------- Dialoge */
.modal{position:fixed;inset:0;background:#000c;display:none;align-items:center;justify-content:center;z-index:80}.modal.show{display:flex}
.modal .box{background:var(--pop);border:1px solid #333;border-radius:20px;padding:24px;width:min(500px,92vw);box-shadow:0 30px 80px #000}
.modal h3{margin:0 0 10px;font-size:19px}.modal p{color:var(--mu);line-height:1.55;margin:0 0 14px}
.modal .btn{display:block;width:100%;height:46px;margin-top:8px;background:var(--card);border:1px solid #3a3a3a;font-weight:600}.modal .btn.pri{background:var(--ac);border-color:var(--ac);color:#fff}
.modal input.txt,.modal select.txt{width:100%;height:46px;background:var(--card);border:1px solid #3a3a3a;border-radius:12px;padding:0 14px;margin-bottom:10px;color:var(--tx)}
.modal .papers{display:flex;gap:10px;margin:0 0 12px}.modal .papers button{flex:1;border:2px solid #3a3a3a;border-radius:12px;padding:8px;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:6px}.modal .papers button.on{border-color:var(--ac)}.modal .papers i{display:block;width:100%;height:60px;border-radius:6px}
#toast{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);background:var(--card2);border:1px solid var(--ln2);padding:10px 18px;border-radius:12px;opacity:0;transition:.25s;z-index:100;pointer-events:none;max-width:80vw;text-align:center}

/* ---------- Bibliothek (GoodNotes-Stil) */
#lib{position:fixed;left:0;right:0;top:var(--tabs);bottom:0;background:var(--bg);z-index:30;display:none}
body.lib #lib{display:flex}body.lib #bar,body.lib #side,body.lib #wrap,body.lib #ai,body.lib #opts,body.lib #urbox,body.lib #pageInd{display:none!important}
#lnav{width:350px;flex:none;background:var(--bg2);padding:26px 18px;display:flex;flex-direction:column;gap:4px;overflow:auto}
#lnav h1{font-size:46px;font-weight:600;margin:6px 0 34px 6px;letter-spacing:-.02em}
#lnav button{height:62px;display:flex;align-items:center;gap:16px;padding:0 20px;border-radius:14px;font-size:21px;text-align:left}#lnav button:hover{background:#2b2b2b}#lnav button.on{background:#1f3a8a}
#lnav button svg{width:30px;height:30px;color:#8ab4ff}#lnav .sub{font-size:13px;color:#aaa;display:block;margin-top:-2px}
#lnav hr{border:0;border-top:1px solid #3a3a3a;margin:14px 6px;width:calc(100% - 12px)}
#lmain{flex:1;overflow:auto;padding:22px 34px 90px}
#lmain .top{display:flex;align-items:center;gap:12px;margin-bottom:6px}#lmain .top .sp{flex:1}
#lmain .ib{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px}#lmain .ib:hover{background:#2b2b2b}
#lsearchbox{display:none;align-items:center;background:var(--card);border:1px solid #3a3a3a;border-radius:14px;height:46px;padding:0 12px;gap:8px}#lsearchbox.show{display:flex}#lsearchbox input{background:none;border:0;outline:none;width:230px;color:var(--tx)}
#lmain .crumb{color:#c7c7c7;font-size:17px;cursor:pointer;margin:6px 0 0}#lmain .crumb:hover{text-decoration:underline}
#lmain h2.title{font-size:32px;margin:4px 0 0;display:flex;align-items:center;gap:14px;font-weight:600}
#lmain h2.title button{width:44px;height:44px;display:flex;align-items:center;justify-content:center}#lmain h2.title button:hover{background:#2b2b2b}
#lmain .bar{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.bluebtn{height:50px;padding:0 24px;background:var(--ac);border-radius:25px;color:#fff;font-weight:600;font-size:17px;display:flex;align-items:center;gap:10px}.bluebtn:hover{background:#2b93ff}
.chipbtn{height:50px;padding:0 24px;background:#262626;border:1px solid #3a3a3a;border-radius:25px;font-size:17px;display:flex;align-items:center;gap:10px}.chipbtn:hover{background:#2f2f2f}
#lmain hr.sep{border:0;border-top:1px solid #333;margin:6px 0 28px}
#lmain h3.sec{font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--mu);margin:30px 0 16px;font-weight:600}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:34px 22px}
.fold{cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.fold .fi{position:relative;width:200px;height:170px}.fold .fi svg.f{width:100%;height:100%;filter:drop-shadow(0 8px 14px #0007)}
.fold .star{position:absolute;right:22px;top:36px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:#ffffffaa;z-index:2;border-radius:50%}.fold .star:hover{background:#ffffff22}.fold .star.on{color:#fbbf24}.fold .star svg{width:24px;height:24px;fill:currentColor;stroke:none}
.fold .fn{font-size:19px;display:flex;align-items:center;gap:6px;max-width:100%}.fold .fn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fold .fn button{width:26px;height:26px;display:flex;align-items:center;justify-content:center}.fold .fn svg{width:18px;height:18px}
.fold small{color:#c0c0c0;font-size:13px}
.dcard{cursor:pointer}.dcard .th{aspect-ratio:3/4;background:#f6f5e6;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #000a;border:1px solid #ffffff22;position:relative}.dcard .th img{width:100%;height:100%;object-fit:cover;object-position:top}
.dcard:hover .th{box-shadow:0 14px 40px #000c,0 0 0 3px var(--ac)}
.dcard .star{position:absolute;right:8px;top:8px;width:30px;height:30px;color:#fff;z-index:2;background:#0007;border-radius:50%;display:flex;align-items:center;justify-content:center}.dcard .star.on{color:#fbbf24}.dcard .star svg{width:18px;height:18px;fill:currentColor;stroke:none}
.dcard .nm{margin-top:10px;font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dcard .mt{color:#b4b4b4;font-size:13px}
.lempty{color:var(--mu);padding:34px 4px}

#diag{position:fixed;left:14px;bottom:70px;z-index:90;background:#000d;border:1px solid #445;border-radius:12px;padding:10px 12px;font:12px/1.5 Consolas,monospace;color:#9ef;max-width:340px}
@media(max-width:1000px){:root{--side:240px;--aiw:320px}#lnav{width:230px}#lnav h1{font-size:32px}#bar .bt{width:42px}}
@media(max-width:760px){#lnav{display:none}#ai{left:8px;right:8px;top:auto;height:60vh;width:auto}body.ai #wrap{right:0;bottom:60vh}body.ai #opts{display:none}}

/* ---------- Dialoge: Neue Seite / Neue Notiz (GoodNotes-Stil) */
.modal .box.wide{width:min(880px,95vw);max-height:90vh;display:flex;flex-direction:column;padding:20px 22px}
.modal .dh{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}.modal .dh h3{margin:0}.modal .dh span{color:var(--mu);font-size:13px}
.modal .dtabs{display:flex;gap:6px;background:var(--card);border-radius:12px;padding:4px;margin-bottom:12px;width:max-content;max-width:100%}
.modal .dtabs button{height:36px;padding:0 16px;border-radius:9px;font-weight:600;color:var(--mu)}.modal .dtabs button.on{background:var(--ac);color:#fff}
.modal .pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.modal select.pill{height:40px;background:var(--card);border:1px solid #3a3a3a;border-radius:20px;padding:0 14px;color:var(--tx);font-weight:600;cursor:pointer}
.modal .pgrid{overflow:auto;flex:1;min-height:140px;padding:2px}
.modal .pgrid h4{margin:10px 0 8px;font-size:13px;color:var(--mu);font-weight:600;letter-spacing:.02em}
.modal .pgrid .row{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px}
.modal .pgrid button.pp{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 6px 8px;border:2px solid transparent;border-radius:14px;color:var(--mu);font-size:13px}
.modal .pgrid button.pp i{display:block;width:100%;aspect-ratio:1.28;border-radius:6px;box-shadow:0 2px 8px #0008;border:1px solid #0003}
.modal .pgrid button.pp:hover{background:#ffffff10}.modal .pgrid button.pp.on{border-color:var(--ac);color:var(--ac);background:#0a84ff14}
.modal .foot{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.modal .foot .btn{width:auto;min-width:150px;margin:0;padding:0 22px}
.modal .drop{border:2px dashed #3d4a66;border-radius:16px;padding:22px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.modal .drop.over{border-color:var(--ac);background:#0a84ff14}
.modal .drop>span{color:var(--mu)}
.modal .bigbtns{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap;justify-content:center}
.modal .bb{width:150px;padding:16px 8px;background:var(--card);border:1px solid #3a3a3a;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:700}.modal .bb:hover{border-color:var(--ac)}
.modal .bb i{font-style:normal;font-size:30px}.modal .bb small{color:var(--mu);font-weight:400}
.modal .hint{margin:12px 2px 0;font-size:13px}
@media (max-width:640px){.modal .foot .btn{flex:1}.modal .pgrid .row{grid-template-columns:repeat(3,1fr)}}

/* ---------- Export-Dialog */
.modal h4.eh{margin:14px 0 8px;font-size:13px;color:var(--mu);font-weight:600}
#expMain{overflow:auto;flex:1;padding:0 2px}
.fmts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fmts button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;background:var(--card);border:2px solid #3a3a3a;border-radius:14px;text-align:left}
.fmts button b{font-size:15px}.fmts button small{color:var(--mu);font-size:12px}
.fmts button.on{border-color:var(--ac);background:#0a84ff14}.fmts button:hover{border-color:#5a6a8a}
.erow{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.erow label{display:flex;gap:8px;align-items:center;cursor:pointer}
.erow input[type=radio],.erow input[type=checkbox]{accent-color:var(--ac);width:18px;height:18px}
.erow .txt.mini{width:140px;height:34px;margin:0 0 0 4px;border-radius:10px}
.erow select{height:34px;background:var(--card);border:1px solid #3a3a3a;border-radius:10px;color:var(--tx);padding:0 10px}
#expDone{overflow:auto;flex:1;padding:4px 2px}#expDone .ok{font-size:17px;font-weight:700;margin-bottom:8px}
#expDone .file{background:var(--card);border-radius:10px;padding:8px 12px;margin:6px 0;word-break:break-all;font-size:13px}
#expDone .warn{background:#3a2e12;border:1px solid #6b5316;color:#ffd98a;border-radius:10px;padding:8px 12px;margin:6px 0;font-size:13px;line-height:1.45}
#expDone .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}#expDone .acts .btn{width:auto;margin:0;padding:0 18px}
