/* Lumi study app styles */
:root{--violet:#5b3df5;--lime:#cdf56b;--line:#ececf1;--panel:#fff;--soft:#f1f0ee;--muted:#6b6b76;--appbg:#f3f3f7}
.field{width:100%;border:1.5px solid var(--line);border-radius:16px;padding:11px 14px;background:#fff;outline:0;font-size:15px;transition:border-color .15s}
.field:focus{border-color:var(--violet)}
.field.slim{padding:8px 12px;width:auto;border-radius:12px;font-size:14px}
textarea.field{resize:vertical;line-height:1.5}
.lbl{display:block;font-size:12.5px;font-weight:700;color:#444;margin:14px 0 6px;letter-spacing:.01em}
.note{font-size:13.5px;color:var(--muted);line-height:1.5}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.row.end{justify-content:flex-end;margin-top:20px;align-items:center}
.row>div{flex:1;min-width:120px}
.btn.danger{background:#e5484d;color:#fff}.btn.ghost.danger{background:#fdecec;color:#c92a2f}
.btn.small{padding:7px 14px;font-size:13px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn svg{width:17px;height:17px}
.icon-btn{width:40px;height:40px;border-radius:14px;display:inline-grid;place-items:center;color:#333;flex:none}.icon-btn:hover{background:var(--soft)}
.send{width:38px;height:38px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;flex:none}
.sdot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none;margin-right:6px}.sdot.lg{width:12px;height:12px;margin-right:0}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chips.scroll::-webkit-scrollbar{display:none}
.chip{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 15px;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-size:14px;font-weight:500;height:auto;box-shadow:none}
.chip:hover{border-color:#bbb}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.seg{display:inline-flex;background:var(--soft);border-radius:16px;padding:4px;gap:2px;margin-bottom:6px}.seg.wide{display:flex;max-width:520px;margin:6px 0 22px}
.seg button{flex:1;padding:9px 16px;border-radius:12px;font-size:14px;font-weight:600;color:#555;white-space:nowrap}.seg button.on{background:#fff;color:#111;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.ic{width:19px;height:19px}

/* modal / toast / menu */
.mask{position:fixed;inset:0;background:rgba(15,12,35,.35);backdrop-filter:blur(6px);z-index:300;display:grid;place-items:center;padding:14px;animation:fadeIn .18s}
@keyframes fadeIn{from{opacity:0}}
.st-modal{position:relative;background:#fff;border-radius:32px;padding:30px;width:min(480px,100%);max-height:92vh;max-height:92dvh;overflow:auto;box-shadow:0 30px 90px rgba(0,0,0,.28);animation:pop .22s}
@keyframes pop{from{transform:translateY(14px) scale(.98);opacity:0}}
.st-modal.wide{width:min(680px,100%)}
.st-modal h3{font-size:22px;letter-spacing:-.03em;margin-bottom:12px;padding-right:36px}
.st-modal .x{position:absolute;right:16px;top:16px;width:36px;height:36px;border-radius:50%;background:var(--soft);display:grid;place-items:center}
.st-modal .row.end{gap:10px}
.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,30px);background:#111;color:#fff;padding:12px 20px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:500;max-width:92vw;text-align:center}.toast.on{opacity:1;transform:translate(-50%,0)}
.popmenu{position:fixed;z-index:400;background:#fff;border-radius:20px;box-shadow:0 14px 50px rgba(0,0,0,.22);padding:8px;min-width:210px;animation:pop .15s}
.popmenu button{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:10px 12px;border-radius:12px;font-size:14.5px}.popmenu button:hover{background:var(--soft)}.popmenu button.danger{color:#d92d33}
.popmenu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
.result{background:var(--appbg);border-radius:18px;padding:18px;line-height:1.6;white-space:pre-wrap;font-size:15px;margin-top:10px}
.cardprev{max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:8px;margin:10px 0}.cp{background:var(--appbg);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;font-size:14px}.cp span{color:#555}
.syms{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px}.syms button{height:46px;border-radius:12px;background:var(--soft);font-size:20px}.syms button:hover{background:var(--lime)}

/* shell */
.shell{display:grid;grid-template-columns:256px 1fr;min-height:100vh;min-height:100dvh;background:var(--appbg)}
.side{position:sticky;top:0;height:100vh;height:100dvh;padding:18px 14px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;overflow:auto}
.org{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;letter-spacing:-.03em;padding:4px 10px 12px}
.org i{width:30px;height:30px;border-radius:10px;background:var(--violet);display:grid;place-items:center;color:#fff}.org i svg{width:16px;height:16px}
.lvl{margin-left:auto;font-size:10.5px;font-weight:700;background:var(--lime);padding:3px 8px;border-radius:999px;letter-spacing:.02em}
.btn-new{display:flex;gap:8px;align-items:center;justify-content:center;background:var(--ink);color:#fff;border-radius:999px;padding:12px;font-weight:600;font-size:15px;margin:2px 4px 12px}
.btn-new svg{width:17px;height:17px}
.nav-grp{display:flex;flex-direction:column;gap:2px}
.nav-i{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;font-size:15px;color:#333;width:100%;text-align:left;position:relative}
.nav-i:hover{background:#f5f4f2}.nav-i.on{background:#efeaff;color:var(--violet);font-weight:700}
.badge{margin-left:auto;background:#e5484d;color:#fff;border-radius:999px;font-size:11px;padding:2px 7px;font-weight:700}
.mob-only{display:none!important}
.sp{height:10px}
.side-h{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:12px;font-weight:700;color:#8a8a95;text-transform:uppercase;letter-spacing:.06em}
.side-h button{width:26px;height:26px;border-radius:8px;display:grid;place-items:center}.side-h button:hover{background:var(--soft)}.side-h svg{width:15px;height:15px}
.space{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;font-size:14.5px;width:100%;text-align:left}.space:hover{background:#f5f4f2}.space.on{background:var(--soft);font-weight:600}
.space i{width:10px;height:10px;border-radius:50%;flex:none}.space span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space b{font-weight:500;color:#999;font-size:12px}
.main{padding:30px clamp(16px,3.6vw,56px) 120px;min-width:0;overflow-x:hidden}
.page{max-width:1120px;margin:0 auto}.page.narrow{max-width:760px}
.hd{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.hd h1{font-size:clamp(30px,3.6vw,44px);letter-spacing:-.045em;line-height:1.02;font-weight:700}
.eyebrow{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:6px}
.panel{background:#fff;border-radius:28px;padding:24px;margin-bottom:18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.panel h2,section>h2{font-size:18px;letter-spacing:-.02em;margin-bottom:12px;display:flex;align-items:center;gap:8px}.panel h2 small{color:#999;font-weight:500;font-size:14px;margin-left:auto}
.panel h2.red{color:#d92d33}
summary{cursor:pointer;font-weight:700;font-size:16px}
.sech{display:flex;justify-content:space-between;align-items:center}.sech h2{margin-bottom:12px}
.link{color:var(--violet);font-weight:600;font-size:14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}
.tile{background:#fff;border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:2px;text-align:left;transition:transform .15s}button.tile:hover{transform:translateY(-2px)}
.tile b{font-size:34px;letter-spacing:-.04em;line-height:1.1}.tile small{color:var(--muted);font-size:13px}.tile .ti{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;margin-bottom:10px}
.tile.big b{font-size:48px}
.askbar{display:flex;gap:12px;align-items:center;background:#fff;border-radius:999px;padding:8px 8px 8px 22px;margin-bottom:18px;box-shadow:0 6px 24px rgba(91,61,245,.1);border:1.5px solid #e9e4ff}
.askbar>svg{color:var(--violet)}.askbar input{flex:1;border:0;outline:0;font-size:16px;min-width:0;background:none}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.li{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid #f1f1f4;font-size:15px;width:100%;text-align:left;cursor:default}.li:last-child{border-bottom:0}
.li b{font-weight:600;flex:1;min-width:0}.li small{color:var(--muted);font-size:13px}
.li.task,.li.hit{cursor:pointer}.li.hit:hover,.li.task:hover{background:#faf9f8;border-radius:12px}
.li input[type=checkbox]{width:20px;height:20px;accent-color:var(--violet);flex:none}
.li .tm{font-weight:700;font-size:13px;line-height:1.2;width:46px;flex:none}.li .tm small{font-weight:400}
.tm2{display:flex;flex-direction:column;flex:1;min-width:0}.tm2 b{overflow:hidden;text-overflow:ellipsis}.tm2 small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.strike{text-decoration:line-through;color:#999}.red{color:#d92d33!important}
.pct{font-weight:700;color:#e5484d}.pct.ok{color:#0e9f6e}
.empty{color:var(--muted);text-align:center;padding:18px 6px;font-size:14.5px;line-height:1.6}
.emptybox{background:#fff;border-radius:32px;padding:46px 24px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}.emptybox .big{font-size:52px;line-height:1}.emptybox h3{font-size:22px;letter-spacing:-.03em}.emptybox p{color:var(--muted);max-width:440px;line-height:1.55}
.exams{display:flex;gap:12px;flex-wrap:wrap}.exam{background:linear-gradient(135deg,#ffe7de,#ffd0c0);border-radius:22px;padding:14px 20px;display:flex;flex-direction:column;min-width:130px}.exam b{font-size:34px;letter-spacing:-.04em;line-height:1}.exam small{font-weight:600}.exam span{font-size:13px;margin-top:6px;color:#6a2c18}
.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.quick button{background:#fff;border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;font-weight:600;font-size:14.5px;transition:transform .15s}.quick button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}.quick svg{color:var(--violet);width:24px;height:24px}
section{margin-bottom:26px}

/* documents */
.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toolbar .chips{flex:1;min-width:0}
.searchbox{display:flex;gap:10px;align-items:center;background:#fff;border-radius:16px;padding:10px 14px;border:1.5px solid var(--line);min-width:220px}.searchbox input{border:0;outline:0;flex:1;font-size:15px;background:none;min-width:0}.searchbox svg{color:#999}.searchbox.big{padding:16px 20px;font-size:18px;border-radius:22px;margin-bottom:20px}
.docgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.doc{position:relative;background:#fff;border-radius:26px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.doc:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.1)}
.doc .th{height:150px;background:#f7f6f4;display:block;width:auto;border-radius:0}
.note-th{padding:16px;font-size:12px;line-height:1.5;color:#555;overflow:hidden;background:linear-gradient(#fff,#faf9f7)}.note-th i{color:#aaa}
.file-th{display:grid;place-items:center}.file-th b{color:#fff;padding:12px 16px;border-radius:14px;font-size:15px;letter-spacing:.04em}
.dm{padding:14px 16px 16px}.dt{font-weight:700;font-size:14.5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ds{font-size:12.5px;color:var(--muted);margin-top:5px;display:flex;align-items:center}
.dmore{position:absolute;right:8px;top:8px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;opacity:0;transition:opacity .15s;box-shadow:0 2px 8px rgba(0,0,0,.12)}.doc:hover .dmore{opacity:1}

/* editor */
.editor{max-width:900px;margin:0 auto}
.ed-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ed-title{flex:1;min-width:140px;border:0;outline:0;background:none;font-size:clamp(20px,2.4vw,28px);font-weight:700;letter-spacing:-.03em}
.saved{font-size:12.5px;color:#999}
.tb{display:flex;gap:2px;align-items:center;background:#fff;border-radius:20px;padding:6px 8px;overflow-x:auto;position:sticky;top:8px;z-index:20;box-shadow:0 4px 18px rgba(0,0,0,.07);scrollbar-width:none}.tb::-webkit-scrollbar{display:none}
.tbtn{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;font-size:14px;cursor:pointer;color:#333}.tbtn:hover{background:var(--soft)}.tbtn.on{background:#efeaff;color:var(--violet)}.tbtn svg{width:18px;height:18px}
.sep{width:1px;height:22px;background:var(--line);margin:0 6px;flex:none}
.tb select{border:0;background:var(--soft);border-radius:11px;padding:7px 8px;font-size:13.5px;flex:none}
.paper{background:#fff;border-radius:28px;margin-top:14px;padding:clamp(18px,4vw,52px);min-height:62vh;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.paper .body{outline:0;min-height:56vh;font-size:17px;line-height:1.7;color:#1c1c22;word-wrap:break-word}
.body:empty:before{content:attr(data-ph);color:#aaa}
.body h1{font-size:34px;letter-spacing:-.04em;margin:.5em 0 .3em}.body h2{font-size:26px;letter-spacing:-.03em;margin:.8em 0 .3em}.body h3{font-size:20px;margin:.8em 0 .3em}
.body p{margin:0 0 .7em}.body ul,.body ol{margin:.3em 0 .8em 1.4em}.body blockquote{border-left:4px solid var(--violet);margin:.8em 0;padding:4px 16px;color:#555;background:#f8f6ff;border-radius:0 12px 12px 0}
.body pre{background:#14141c;color:#e8e8f2;padding:14px 16px;border-radius:14px;overflow:auto;font-size:14px;margin:.8em 0}
.body table{border-collapse:collapse;width:100%;margin:.8em 0}.body td,.body th{border:1px solid #dcdce4;padding:8px 10px;min-width:60px}
.body img{max-width:100%;border-radius:12px;margin:.5em 0}.body hr{border:0;border-top:2px solid var(--line);margin:1.2em 0}
.body ul.chk{list-style:none;margin-left:2px}.body ul.chk li{display:flex;gap:10px;align-items:flex-start}.body ul.chk input{margin-top:7px;width:18px;height:18px;accent-color:var(--violet);flex:none}
.body mark{background:#fff1a8;border-radius:4px;padding:0 2px}
.ed-foot{display:flex;justify-content:flex-end;color:#999;font-size:12.5px;padding:10px 6px}
.viewer{background:#fff;border-radius:28px;overflow:hidden;min-height:60vh;display:grid}.viewer img{max-width:100%;margin:auto;display:block}.viewer iframe{width:100%;height:78vh;border:0}.viewer pre{padding:24px;white-space:pre-wrap;font-size:14px;line-height:1.6}

/* flashcards */
.deckgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.deck{background:#fff;border-radius:28px;padding:22px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:transform .15s,box-shadow .15s;border-top:6px solid var(--violet)}.deck:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.1)}
.dtop{font-size:12.5px;color:var(--muted);display:flex;align-items:center;min-height:16px}.deck h3{font-size:20px;letter-spacing:-.03em;line-height:1.15}.deck p{color:var(--muted);font-size:14px}
.bar2{height:6px;border-radius:4px;background:var(--soft);overflow:hidden;margin:6px 0}.bar2 i{display:block;height:100%;background:#0e9f6e;border-radius:4px}
.deck .row{align-items:center;justify-content:space-between;margin-top:6px}.due{font-size:13px;font-weight:600;color:#0e9f6e}.due.on{color:#e5484d}
.deckbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.cardlist{display:flex;flex-direction:column;gap:10px}
.crow{display:grid;grid-template-columns:28px 1fr 1fr 62px 40px;gap:10px;align-items:center;background:#fff;border-radius:20px;padding:10px 12px}
.crow textarea{border:1.5px solid transparent;border-radius:12px;padding:8px 10px;background:#f8f7f5;outline:0;resize:none;font-size:14.5px;line-height:1.4}.crow textarea:focus{border-color:var(--violet);background:#fff}.num{color:#aaa;font-size:13px;text-align:center}
.lvl-dots{display:flex;gap:3px}.lvl-dots i{width:7px;height:7px;border-radius:50%;background:#e1e1e8}.lvl-dots i.on{background:#0e9f6e}
.addcard{display:flex;gap:8px;align-items:center;justify-content:center;width:100%;margin-top:12px;padding:16px;border-radius:20px;border:2px dashed #cfcfdb;color:#666;font-weight:600}.addcard:hover{border-color:var(--violet);color:var(--violet)}
.bar3{height:8px;background:#e6e4ee;border-radius:6px;overflow:hidden;margin-bottom:22px}.bar3 i{display:block;height:100%;background:var(--violet);border-radius:6px;transition:width .3s}
.flip{position:relative;min-height:340px;perspective:1200px;cursor:pointer}
.face{position:absolute;inset:0;background:#fff;border-radius:36px;padding:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;backface-visibility:hidden;transition:transform .5s;box-shadow:0 14px 50px rgba(91,61,245,.12)}
.face small{position:absolute;top:22px;color:#999;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.face p{font-size:clamp(22px,3.4vw,32px);letter-spacing:-.03em;line-height:1.25;font-weight:600}.face .tap{position:absolute;bottom:20px;color:#bbb;font-size:13px}
.face.back{transform:rotateY(180deg);background:linear-gradient(135deg,#f3efff,#f9ffe3)}.flip.on .front{transform:rotateY(-180deg)}.flip.on .back{transform:rotateY(0)}
.rate{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.rate[hidden]{display:none}
.rate button{padding:14px 6px;border-radius:20px;font-weight:700;font-size:15px;color:#fff;display:flex;flex-direction:column;gap:2px;align-items:center}.rate small{opacity:.7;font-weight:500;font-size:12px}
.r0{background:#e5484d}.r1{background:#f59e0b}.r2{background:#0e9f6e}.r3{background:#2563eb}

/* quiz */
.qcard{background:#fff;border-radius:32px;padding:clamp(20px,4vw,38px)}.qcard h2{font-size:clamp(20px,2.6vw,26px);letter-spacing:-.03em;line-height:1.3;margin-bottom:18px}
.opt{display:flex;gap:14px;align-items:center;width:100%;text-align:left;padding:15px 18px;border:2px solid var(--line);border-radius:20px;margin-top:10px;font-size:16px;background:#fff;transition:.15s}.opt:hover{border-color:var(--violet)}.opt span{width:30px;height:30px;border-radius:10px;background:var(--soft);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.opt.ok{border-color:#0e9f6e;background:#eafaf2}.opt.no{border-color:#e5484d;background:#fff0f0}
.explain{background:var(--appbg);border-radius:16px;padding:14px 16px;margin-top:14px;line-height:1.55;font-size:14.5px}
.result-big{background:#fff;border-radius:36px;padding:36px;text-align:center;margin-bottom:18px}.result-big h2{font-size:30px;letter-spacing:-.04em;margin:14px 0 4px}.result-big p{color:var(--muted);margin-bottom:18px}
.ring{--p:0;width:150px;height:150px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:conic-gradient(var(--violet) calc(var(--p)*1%),#ece9f7 0)}.ring b{width:114px;height:114px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:34px;letter-spacing:-.04em}
.wr{padding:12px 0;border-bottom:1px solid #f0f0f3;display:flex;flex-direction:column;gap:3px}.wr span{color:#0e9f6e;font-weight:600;font-size:14px}.wr small{color:var(--muted)}

/* planner */
.ttgrid{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px}
.ttcol{display:flex;flex-direction:column;gap:8px}.tth{text-align:center;font-weight:700;padding:10px;background:#fff;border-radius:16px}.tth.today{background:var(--ink);color:#fff}
.ttcard{background:#fff;border-left:5px solid var(--c);border-radius:16px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:1px;font-size:14px}.ttcard small{color:var(--muted);font-size:12px}
.ttadd{border:2px dashed #d7d7e0;border-radius:16px;padding:8px;display:grid;place-items:center;color:#999}.ttadd:hover{color:var(--violet);border-color:var(--violet)}
.calhd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calhd h2{font-size:22px;text-transform:capitalize;letter-spacing:-.03em}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calh{text-align:center;font-size:12px;font-weight:700;color:#999;padding:6px}
.cald{aspect-ratio:1;background:#fff;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:15px}.cald:hover{background:#efeaff}.cald.today{background:var(--ink);color:#fff}.cald span{display:flex;gap:3px;height:6px}.cald i{width:6px;height:6px;border-radius:50%}

/* grades */
.gbar{display:grid;grid-template-columns:140px 1fr 56px;gap:12px;align-items:center;padding:7px 0}.gn{display:flex;align-items:center;font-weight:600;font-size:14.5px;overflow:hidden;white-space:nowrap}.gtrack{height:12px;background:var(--soft);border-radius:8px;overflow:hidden}.gtrack i{display:block;height:100%;border-radius:8px}.gbar b{text-align:right}
.gchips{display:flex;gap:10px;flex-wrap:wrap}.gchip{background:#fff;border:2px solid var(--c);border-radius:18px;padding:8px 14px;display:flex;flex-direction:column;align-items:center;min-width:76px}.gchip b{font-size:22px;color:var(--c);letter-spacing:-.03em}.gchip small{color:var(--muted);font-size:11.5px}

/* focus */
.timerbox{background:#fff;border-radius:36px;padding:34px 20px;margin-bottom:18px;text-align:center}
.tring{--p:0;width:min(280px,70vw);aspect-ratio:1;border-radius:50%;margin:0 auto 24px;display:grid;place-items:center;background:conic-gradient(var(--violet) calc(var(--p)*1%),#ece9f7 0)}
.tring .inner{width:calc(100% - 28px);aspect-ratio:1;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.tring small{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.tring b{font-size:clamp(46px,12vw,66px);letter-spacing:-.05em;font-variant-numeric:tabular-nums;line-height:1}
.timerbox .row{justify-content:center}
.bars2{display:flex;gap:10px;align-items:flex-end;height:170px;padding-top:10px}.bars2>div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;position:relative}.bars2 i{width:100%;max-width:44px;background:linear-gradient(var(--violet),#9a86ff);border-radius:10px 10px 4px 4px;min-height:4px}.bars2 small{color:#888;font-size:12px}.bars2 b{position:absolute;top:0;font-size:12px;color:#666}
.timer-pill{position:fixed;top:14px;right:16px;z-index:90;background:var(--ink);color:#fff;border-radius:999px;padding:9px 16px;display:flex;gap:8px;align-items:center;font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.25)}.timer-pill svg{width:16px;height:16px}

/* chat */
.tfab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;background:var(--violet);color:#fff;box-shadow:0 10px 30px rgba(91,61,245,.45);border-radius:999px;padding:14px 20px;display:flex;gap:8px;align-items:center;font-weight:700;font-size:15px}
.chat-panel{position:fixed;right:20px;bottom:84px;z-index:95;width:min(410px,calc(100vw - 24px));height:min(620px,calc(100dvh - 110px));background:#fff;border-radius:32px;box-shadow:0 24px 80px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;animation:pop .2s}
.chat-panel header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.chat-panel header b{flex:1}.chat-panel header>svg{color:var(--violet)}
.chatbox{background:#fff;border-radius:32px;display:flex;flex-direction:column;height:calc(100dvh - 190px);min-height:460px;padding:14px;overflow:hidden}
.modes{display:flex;gap:8px;flex-wrap:wrap;padding:4px 4px 10px}.ctxbar{font-size:13px;color:var(--muted);padding:0 6px 8px;display:flex;gap:8px;align-items:center}.ctxbar button{color:var(--violet);font-weight:600;display:inline-flex;gap:4px;align-items:center}.ctxbar svg{width:14px;height:14px}
.msgs{flex:1;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:10px}
.m{max-width:88%;padding:11px 15px;border-radius:20px;font-size:15px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word;position:relative}.m.u{align-self:flex-end;background:var(--violet);color:#fff;border-bottom-right-radius:6px}.m.a{align-self:flex-start;background:var(--soft);border-bottom-left-radius:6px}.m img{max-width:220px;border-radius:12px;display:block;margin-bottom:6px}
.macts{display:flex;gap:4px;margin-top:6px;opacity:.6}.macts button{width:28px;height:28px;border-radius:8px;display:grid;place-items:center}.macts button:hover{background:rgba(0,0,0,.08)}.macts svg{width:15px;height:15px}
.dots span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#999;margin:0 2px;animation:bl 1s infinite}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes bl{50%{opacity:.2}}
.imgprev{padding:0 10px;position:relative;width:fit-content}.imgprev img{height:64px;border-radius:12px}.imgprev button{position:absolute;right:2px;top:-6px;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center}.imgprev svg{width:12px;height:12px}
.t-in{display:flex;gap:8px;padding:10px 4px 2px;align-items:center}.tin{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:11px 18px;outline:0;min-width:0;font-size:15px}.tin:focus{border-color:var(--violet)}
#mic.rec{background:#ffe3e3;color:#e5484d}
.pick{max-height:320px;overflow:auto}

/* settings */
.subjed .li{gap:10px}.subjed input[type=color]{width:38px;height:38px;border:0;padding:0;background:none;border-radius:12px;cursor:pointer}.subjed .field{flex:1}

/* board */
.editor.board{max-width:1280px}
.boardwrap{display:grid;grid-template-columns:62px 1fr;grid-template-rows:auto 1fr;gap:12px}
.rail{grid-row:1/3;background:#fff;border-radius:22px;padding:8px;display:flex;flex-direction:column;gap:2px;align-items:center;align-self:start;position:sticky;top:12px}
.rail .sep{width:22px;height:1px;margin:6px 0}
.opts{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#fff;border-radius:22px;padding:10px 16px}
.opts .cols{display:flex;gap:8px;align-items:center}
.cdot{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px #d6d6df;flex:none;display:inline-block}.cdot.on{box-shadow:0 0 0 3px var(--violet)}.cdot.pick{background:conic-gradient(red,yellow,lime,aqua,blue,magenta,red);position:relative;overflow:hidden}.cdot.pick input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.sz{display:flex;gap:8px;align-items:center;color:#777}.sz input{width:110px;accent-color:var(--violet)}
.cvwrap{position:relative;background:#fff;border-radius:24px;overflow:auto;box-shadow:0 1px 2px rgba(0,0,0,.05);max-height:calc(100dvh - 210px)}
#cv{width:100%;height:auto;display:block;touch-action:pinch-zoom}
.texti{position:absolute;border:2px dashed var(--violet);outline:0;background:rgba(255,255,255,.85);padding:2px 6px;border-radius:6px;font-weight:600;min-width:120px;z-index:5}

/* responsive */
@media (max-width:1000px){.cols{grid-template-columns:1fr}.crow{grid-template-columns:1fr 1fr 40px}.crow .num,.crow .lvl-dots{display:none}}
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;flex-direction:row;padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:80;border-right:0;border-top:1px solid var(--line);overflow:visible;background:rgba(255,255,255,.95);backdrop-filter:blur(16px)}
  .nav-grp{flex-direction:row;width:100%}.org,.btn-new,.sp,.side-h,.subjlist,.hide-mob{display:none!important}.mob-only{display:flex!important}
  .nav-i{flex-direction:column;gap:3px;font-size:11px;padding:7px 2px;align-items:center;text-align:center;justify-content:center;flex:1}.nav-i .badge{position:absolute;top:2px;right:18%;margin:0;font-size:10px}.nav-i svg{width:22px;height:22px}
  .tfab{bottom:calc(86px + env(safe-area-inset-bottom));right:14px;padding:12px 16px}.tfab span{display:none}
  .chat-panel{right:0;bottom:0;width:100vw;height:88dvh;border-radius:30px 30px 0 0}
  .main{padding:20px 14px 150px}.toast{bottom:150px}.timer-pill{top:10px}
  .hide-sm{display:none}.tb{top:0}
  .boardwrap{grid-template-columns:1fr}.rail{grid-row:auto;flex-direction:row;overflow-x:auto;position:static;border-radius:20px;justify-content:flex-start}.rail .sep{width:1px;height:22px;margin:0 6px}
  .ttgrid{grid-template-columns:1fr}.ttcol{flex-direction:row;flex-wrap:wrap;align-items:stretch}.tth{width:100%;text-align:left}.ttcard{flex:1 1 140px}
  .gbar{grid-template-columns:100px 1fr 48px}.chatbox{height:calc(100dvh - 250px)}
}
@media (max-width:560px){.rate{grid-template-columns:repeat(2,1fr)}.hd h1{font-size:30px}.panel{padding:18px;border-radius:24px}.tile b{font-size:28px}.st-modal{padding:22px;border-radius:28px}.cvwrap{max-height:calc(100dvh - 330px)}}
@media print{.side,.tb,.ed-head,.tfab,.timer-pill{display:none!important}}
@media (min-width:901px){.tb{flex-wrap:wrap;overflow:visible}}
.tb select{min-width:112px}

/* ---------- Home (Heute) ---------- */
.page.home{max-width:1180px}
.sh2{font-size:21px;letter-spacing:-.03em;margin:30px 0 14px}
.hero-home{position:relative;overflow:hidden;border-radius:40px;padding:clamp(24px,4vw,44px);background:linear-gradient(120deg,#ece6ff 0%,#e6f0ff 45%,#f3ffd6 100%);margin-bottom:6px}
.hh-txt{position:relative;z-index:2;max-width:680px}
.hh-txt h1{font-size:clamp(32px,4.4vw,54px);letter-spacing:-.05em;line-height:1;font-weight:700}
.hh-sub{font-size:17px;color:#46465a;margin-top:10px;line-height:1.5}
.hh-chips{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.hchip{background:rgba(255,255,255,.8);backdrop-filter:blur(8px);border-radius:999px;padding:8px 15px;font-weight:600;font-size:14px}.hchip.warn{background:#fff0e6;color:#c2410c}
button.hchip.plan{background:var(--ink);color:#fff}button.hchip.plan:hover{background:var(--violet)}
.hero-home .askbar{margin:0;box-shadow:0 10px 30px rgba(91,61,245,.18);border:0}
.hh-art{position:absolute;right:-40px;top:-40px;width:420px;height:420px;z-index:1;pointer-events:none}
.hh-art i{position:absolute;border-radius:50%;filter:blur(2px)}
.hh-art .b1{width:240px;height:240px;right:50px;top:30px;background:radial-gradient(circle at 30% 30%,#b9a8ff,#6a4cff)}
.hh-art .b2{width:130px;height:130px;right:230px;top:210px;background:radial-gradient(circle at 30% 30%,#e3ff9a,#a3e635)}
.hh-art .b3{width:90px;height:90px;right:30px;top:260px;background:radial-gradient(circle at 30% 30%,#ffc29a,#ff6a3d)}
@media (max-width:760px){.hh-art{opacity:.45;right:-120px}}
.create{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.create button{border-radius:28px;padding:20px;color:#fff;display:flex;flex-direction:column;gap:30px;align-items:flex-start;text-align:left;min-height:132px;transition:transform .18s,box-shadow .18s;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.create button:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:0 16px 36px rgba(0,0,0,.18)}
.create button span{width:44px;height:44px;border-radius:15px;background:rgba(255,255,255,.28);display:grid;place-items:center}.create button svg{width:24px;height:24px}.create b{font-size:16.5px;letter-spacing:-.02em}
.cols2{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-top:18px}.cols2 .panel{margin-bottom:0}
.panel.tint{background:linear-gradient(135deg,#e3f1f4,#e8f4ec)}
.panel.tint2{background:linear-gradient(135deg,#e6efff,#f0f4ff)}
.rings{display:flex;justify-content:space-around;gap:10px;flex-wrap:wrap;padding:8px 0}
.rg{position:relative;width:128px;display:flex;flex-direction:column;align-items:center}.rg svg{width:116px;height:116px;transform:rotate(-90deg)}
.rbg{fill:none;stroke:rgba(0,0,0,.07);stroke-width:13}.rfg{fill:none;stroke-width:13;stroke-linecap:round;transition:stroke-dasharray .8s}
.rg b{position:absolute;top:38px;font-size:24px;letter-spacing:-.04em}.rg small{margin-top:6px;color:#4a5560;font-weight:600;font-size:12.5px;text-align:center}
.wbars{display:flex;gap:10px;height:150px;align-items:flex-end}.wbars>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.wbars i{display:block;width:100%;max-width:38px;border-radius:12px 12px 6px 6px;background:linear-gradient(#b7a8ff,#d9d2ff)}.wbars .today i{background:linear-gradient(#5b3df5,#8d79ff)}.wbars small{color:#888;font-size:12px;font-weight:600}
.examrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.examc{display:flex;gap:16px;align-items:center;border-radius:30px;padding:18px 20px;background:color-mix(in srgb,var(--c) 14%,#fff);border:2px solid color-mix(in srgb,var(--c) 30%,#fff)}
.dd{width:72px;height:72px;border-radius:24px;background:var(--c);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}.dd b{font-size:30px;letter-spacing:-.04em;line-height:1}.dd small{font-size:11px;font-weight:700;opacity:.85}
.ex-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ex-b b{font-size:16.5px;letter-spacing:-.02em}.ex-b small{color:#555}.ex-b p{font-size:12.5px;color:#666;margin-top:4px;line-height:1.4}
.week7{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.week7 button{background:#fff;border-radius:22px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .15s}.week7 button:hover{transform:translateY(-2px)}
.week7 .now{background:var(--ink);color:#fff}.week7 small{font-size:12px;opacity:.7;font-weight:600}.week7 b{font-size:22px;letter-spacing:-.03em}.week7 span{display:flex;gap:3px;min-height:7px}.week7 i{width:7px;height:7px;border-radius:50%;display:block}.week7 i.sq,.cald i.sq{border-radius:2px;background:#2563eb}
.tl{gap:14px}.bar-c{width:5px;align-self:stretch;border-radius:4px;flex:none;min-height:30px}
.msc{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:linear-gradient(135deg,#eaf1ff,#f4f0ff);margin-top:18px}.msc>div:nth-child(2){flex:1;min-width:200px}.msc.ok{background:linear-gradient(135deg,#e5f8ee,#eaf1ff)}
.ms-logo{width:52px;height:52px;border-radius:18px;background:#fff;display:grid;place-items:center;flex:none;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.subjgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.subjc{position:relative;text-align:left;background:color-mix(in srgb,var(--c) 12%,#fff);border-radius:26px;padding:18px;display:flex;flex-direction:column;gap:4px;border-left:7px solid var(--c);transition:transform .15s}.subjc:hover{transform:translateY(-3px)}.subjc b{font-size:16px}.subjc small{color:#555}.gp{position:absolute;right:12px;top:12px;color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px}

/* ---------- Note editor 2.0 ---------- */
.ned{max-width:1160px;margin:0 auto}
.ned-top{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.crumbs{display:flex;align-items:center;gap:8px;flex:1;min-width:120px;font-size:14px;color:#777;overflow:hidden;white-space:nowrap}.crumbs button{color:#777}.crumbs button:hover{color:var(--violet)}.crumbs b{color:#222;overflow:hidden;text-overflow:ellipsis}
.ned-main{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:start}
.ned-paper{background:#fff;border-radius:36px;box-shadow:0 2px 4px rgba(0,0,0,.03),0 20px 50px rgba(40,30,110,.07);overflow:visible;min-width:0}
.ned-cover{height:112px;border-radius:36px 36px 0 0;background:linear-gradient(120deg,color-mix(in srgb,var(--c) 85%,#fff),color-mix(in srgb,var(--c) 25%,#fff));position:relative;overflow:hidden}
.ned-cover:after{content:"";position:absolute;right:-30px;top:-50px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.28)}
.ned-in{padding:0 clamp(18px,5vw,64px) clamp(24px,4vw,48px);margin-top:-8px}
.ned-title{width:100%;border:0;outline:0;background:none;font-size:clamp(30px,4.2vw,46px);font-weight:700;letter-spacing:-.045em;line-height:1.1;padding:22px 0 6px}.ned-title::placeholder{color:#c4c4cf}
.ned-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.mchip{display:inline-flex;gap:6px;align-items:center;background:var(--soft);border-radius:999px;padding:6px 12px;font-size:12.5px;color:#555;font-weight:600}.mchip svg{width:14px;height:14px}.mchip.ms{background:#e6efff;color:#1d4ed8}
.ned-meta .field.slim{padding:6px 12px;border-radius:999px;background:var(--soft);border-color:transparent;font-size:12.5px;font-weight:600}
.ned-tb{position:sticky;top:10px;z-index:15;display:flex;flex-wrap:wrap;gap:4px;align-items:center;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:22px;padding:6px 8px;margin:0 0 22px;box-shadow:0 8px 28px rgba(40,30,110,.1)}
.tg{display:flex;align-items:center;gap:1px;padding:0 6px;border-right:1px solid var(--line)}.tg:last-child{border-right:0}
.ned-tb select{border:0;background:var(--soft);border-radius:11px;padding:7px 8px;font-size:13.5px;min-width:112px}
.ned .body{min-height:52vh;font-size:18px;line-height:1.8;outline:0;color:#20202a}
.ned .body>*:first-child{margin-top:0}
.ned .body h1{font-size:32px;letter-spacing:-.04em;margin:1.3em 0 .35em;line-height:1.15}.ned .body h2{font-size:25px;letter-spacing:-.03em;margin:1.2em 0 .3em}.ned .body h3{font-size:20px;margin:1.1em 0 .3em;color:#33334a}
.ned .body p{margin:0 0 .85em}.ned .body li{margin:.15em 0}
.ned .body:empty:before{content:attr(data-ph);color:#b4b4c0}
.ned .body p:only-child:empty:before,.ned .body p:only-child:has(br:only-child):before{content:attr(data-ph);color:#b4b4c0;position:absolute;pointer-events:none}
.ned .body{position:relative}
.ned-side{position:sticky;top:14px;display:flex;flex-direction:column;gap:14px}
.sidecard{background:#fff;border-radius:28px;padding:18px}.sidecard h4{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#8a8a98;margin-bottom:10px}
.outline{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow:auto}.outline button{text-align:left;padding:6px 10px;border-radius:10px;font-size:13.5px;color:#444;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline button:hover{background:var(--soft)}.outline .o1{font-weight:700}.outline .o2{padding-left:20px}.outline .o3{padding-left:32px;color:#777}
.aibtns{display:flex;flex-direction:column;gap:6px}.aibtns button{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,#f3f0ff,#f6ffe0);font-size:13.5px;font-weight:600}.aibtns button:hover{filter:brightness(.97);transform:translateX(2px)}.aibtns svg{width:16px;height:16px;color:var(--violet)}
.bubble{position:fixed;z-index:350;display:flex;align-items:center;gap:2px;background:#16161d;color:#fff;border-radius:16px;padding:5px;box-shadow:0 12px 36px rgba(0,0,0,.35);animation:pop .12s}.bubble[hidden]{display:none}
.bubble button{height:34px;min-width:34px;border-radius:11px;display:inline-flex;gap:6px;align-items:center;justify-content:center;padding:0 8px;color:#fff;font-size:13px;font-weight:600}.bubble button:hover{background:rgba(255,255,255,.14)}.bubble svg{width:16px;height:16px}.bubble .sep{background:rgba(255,255,255,.25);height:20px}
.slash{position:fixed;z-index:350;width:250px;max-height:300px;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 14px 46px rgba(0,0,0,.25);padding:8px;animation:pop .12s}.slash[hidden]{display:none}
.slash small{display:block;padding:4px 10px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#999;font-weight:700}
.slash button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:12px;font-size:14.5px}.slash button.on,.slash button:hover{background:#efeaff;color:var(--violet)}
@media (max-width:1100px){.ned-main{grid-template-columns:1fr}.ned-side{display:none}}
@media (max-width:900px){.ned-tb{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;top:0;border-radius:18px}.ned-tb::-webkit-scrollbar{display:none}.tg{flex:none}.ned-cover{height:80px}.cols2{grid-template-columns:1fr}.week7{gap:6px}.examc{padding:14px}.create button{min-height:112px;gap:18px}}
@media (min-width:901px){.tb{flex-wrap:wrap;overflow:visible}}

/* ---------- Microsoft panel ---------- */
.msp h2{gap:10px}.msstate{display:flex;flex-direction:column;gap:2px;background:var(--appbg);border-radius:18px;padding:12px 16px;margin:12px 0;font-size:14px}.msstate.ok{background:#e6f7ee}.msstate span{color:#666;font-size:13px}
.msv{display:flex;flex-direction:column;gap:8px;font-size:14.5px}.msv label{display:flex;gap:10px;align-items:center;cursor:pointer}.msv input{width:18px;height:18px;accent-color:var(--violet)}
.msrep{margin-top:14px;background:var(--appbg);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;font-size:14px}.msrep em{font-style:normal;color:#b45309;font-size:13px}
.msh{margin-top:16px;background:var(--appbg);border-radius:18px;padding:14px 18px}.msh ol{margin:12px 0 8px 18px;display:flex;flex-direction:column;gap:9px;line-height:1.5;font-size:14px}.msh code{background:#e9e7ff;border-radius:6px;padding:2px 6px;font-size:12.5px;word-break:break-all}
@media (max-width:700px){.crumbs button,.crumbs span{display:none}.crumbs b{font-size:15px}.ned-top{gap:6px}.ned-top .btn{padding:9px 14px}}

/* ======== Frame & collapsible icon rail (v3) ======== */
body{background:#fff}
.shell{background:#fff;grid-template-columns:262px minmax(0,1fr);transition:grid-template-columns .25s ease}
.shell.collapsed{grid-template-columns:84px minmax(0,1fr)}
.side{background:#fff;border-right:0;padding:14px 12px;gap:6px;overflow-x:hidden}
.rail-top{display:flex;align-items:center;gap:10px;padding:2px 2px 8px}
.rail-tgl{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;color:#333;flex:none;transition:background .15s}.rail-tgl:hover{background:var(--soft)}
.brand{font-weight:700;font-size:21px;letter-spacing:-.04em}
.org{display:none}
.btn-new{margin:2px 0 10px;height:48px;border-radius:18px;padding:0 16px;background:var(--violet);justify-content:flex-start;gap:12px}
.btn-new svg{width:20px;height:20px}
.nav-i{height:48px;border-radius:18px;padding:0 14px;gap:14px;font-size:15px}
.nav-i svg{width:21px;height:21px;flex:none}
.nav-i.on{background:#efeaff;color:var(--violet)}
.space{border-radius:16px;padding:8px 14px;height:40px}
.side-h{padding:6px 14px}
.nosub{padding:6px 14px}
/* collapsed rail: icons only */
.shell.collapsed .nl,.shell.collapsed .brand,.shell.collapsed .lvl,.shell.collapsed .side-h span,.shell.collapsed .space span,.shell.collapsed .space b,.shell.collapsed .nosub{display:none}
.shell.collapsed .rail-top{justify-content:center}
.shell.collapsed .btn-new{width:48px;padding:0;justify-content:center;margin-left:auto;margin-right:auto}
.shell.collapsed .nav-i{width:48px;padding:0;justify-content:center;margin:0 auto}
.shell.collapsed .nav-i .badge{position:absolute;top:4px;right:2px;margin:0;font-size:10px;padding:1px 6px}
.shell.collapsed .side-h{justify-content:center;padding:6px 0}.shell.collapsed .side-h button{display:none}
.shell.collapsed .subjlist{display:flex;flex-direction:column;align-items:center;gap:2px}
.shell.collapsed .space{width:48px;padding:0;justify-content:center;height:30px}
.shell.collapsed .space i{width:14px;height:14px}
.side-h{border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.shell.collapsed .side-h{border-top:1px solid var(--line)}
/* framed content panel */
.main{margin:12px 12px 12px 0;border-radius:40px;background:var(--panel,var(--appbg));min-height:calc(100dvh - 24px);overflow-x:clip;overflow-y:visible;padding-top:30px;transition:background .3s}
.main{--panel:var(--appbg)}
.main.tinted{background:var(--panel)}
.page.home{max-width:1180px}
/* big icon badges instead of emojis */
.big-ic{width:76px;height:76px;border-radius:28px;background:linear-gradient(135deg,#ece6ff,#f3ffd6);color:var(--violet);display:grid;place-items:center}.big-ic svg{width:34px;height:34px}
.xb{font-style:normal;font-size:11px;font-weight:700;background:#fde8e8;color:#c92a2f;border-radius:999px;padding:2px 8px;margin-right:6px;vertical-align:1px}
.pin{display:inline-flex;vertical-align:-3px;margin-right:4px;color:#f59e0b}.pin svg{width:14px;height:14px;fill:currentColor}
.ldot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#bbb;margin-right:8px}.ldot.on{background:#0e9f6e}
.hchip{display:inline-flex;align-items:center;gap:7px}.hchip svg{width:16px;height:16px}
/* top bar with tools (editor + whiteboard) */
.ned-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;position:sticky;top:0;z-index:40;background:var(--panel);padding:2px 0 12px;margin-bottom:6px}
.nt-l{display:flex;align-items:center;gap:8px;min-width:0}.nt-r{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.ned-top .ned-tb{position:static;margin:0;border-radius:999px;padding:5px 8px;background:#fff;border:0;box-shadow:0 6px 24px rgba(30,20,90,.12);flex-wrap:nowrap;max-width:100%}
.ned-top .tg{padding:0 4px}
.ned-top .tbtn{width:36px;height:36px;border-radius:999px}
.ned-top .tb{overflow:visible}
.btools .sep{margin:0 6px}
.ed-title{max-width:240px;font-size:17px!important;font-weight:700;min-width:80px;flex:1}
.nt-l .field.slim{background:#fff;border-color:transparent;border-radius:999px;font-size:13px;font-weight:600}
.ned .ned-title{text-align:center;font-size:clamp(34px,5.4vw,66px);letter-spacing:-.05em;line-height:1.02;padding:34px 0 8px}
.ned .ned-meta{justify-content:center;margin-bottom:26px}
.ned .mchip,.ned .ned-meta .field.slim{background:rgba(255,255,255,.75)}
.ned-paper{background:transparent!important;box-shadow:none!important;border-radius:0}
.ned-in{padding:0 clamp(0px,2vw,24px) 40px;margin-top:0}
.ned .body{max-width:760px;margin:0 auto;font-size:18px}
.ned .body table td{background:rgba(255,255,255,.55)}
.ned-main{gap:22px}
.ned-side{margin-top:6px}
.sidecard{background:#fff;border-radius:30px;box-shadow:0 4px 18px rgba(30,20,90,.06)}
.opts{background:#fff;border-radius:999px;padding:8px 18px;justify-content:center;margin:0 auto 14px;width:fit-content;max-width:100%;box-shadow:0 6px 24px rgba(30,20,90,.1)}
.cvwrap{border-radius:32px;box-shadow:0 10px 36px rgba(30,20,90,.1)}
.editor.board{max-width:1280px}
@media (max-width:1760px){
  .ned-top{grid-template-columns:minmax(0,1fr) auto;row-gap:10px}.nt-r{grid-column:2;grid-row:1}.ned-top .ned-tb{grid-column:1/-1;grid-row:2;justify-self:center;overflow-x:auto;scrollbar-width:none;width:fit-content;max-width:100%}.ned-top .ned-tb::-webkit-scrollbar{display:none}.ned-top .tg{flex:none}
}
@media (max-width:900px){
  body{background:#fff}
  .shell{grid-template-columns:1fr!important}
  .main{margin:8px 8px 0;border-radius:30px;padding:20px 14px 150px;min-height:calc(100dvh - 8px)}
  .rail-top,.hide-mob{display:none!important}
  .side{padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:0}
  .side .nav-i{width:auto!important;height:auto;padding:7px 2px!important;margin:0!important;border-radius:16px}
  .shell.collapsed .nl{display:inline}
  .nav-i .nl{font-size:11px;line-height:1.1}
  .ned-top{padding-bottom:8px}.ed-title{max-width:none}
  .ned .ned-title{font-size:clamp(30px,9vw,44px);padding-top:18px}
  .opts{border-radius:26px;width:100%;justify-content:flex-start;overflow-x:auto}
}

.btn-new .nl{color:#fff;font-weight:600;font-size:15px}
.nav-i .nl{font-weight:600}
@media (max-width:700px){
  .nt-l .field.slim,.ned-top .saved{display:none}
  .ned-top{grid-template-columns:minmax(0,1fr) auto}
  .ed-title{min-width:0;font-size:16px!important}
  .nt-r .btn{padding:9px 12px}
}

/* ======== v4: calm editor paper, folders, docked AI ======== */
/* neutral panel for notes */
.ned .ned-title{text-align:left;font-size:clamp(30px,3.6vw,44px);padding:6px 0 6px;letter-spacing:-.04em}
.ned .ned-meta{justify-content:flex-start;margin-bottom:18px}
.ned .mchip,.ned .ned-meta .field.slim{background:var(--soft)}
.ned-paper{background:#fff!important;border-radius:36px;box-shadow:0 2px 4px rgba(0,0,0,.03),0 18px 44px rgba(30,20,90,.07)!important}
.ned-in{padding:clamp(22px,3.4vw,44px) clamp(18px,4vw,56px) clamp(24px,4vw,48px)}
.ned .body{max-width:none;margin:0;font-size:17px;line-height:32px;border-radius:14px;min-height:56vh}
.ned .body p{margin:0}
.ned .body h1{font-size:30px;line-height:64px;margin:0;letter-spacing:-.035em}.ned .body h2{font-size:24px;line-height:48px;margin:0}.ned .body h3{font-size:19px;line-height:32px;margin:0;color:#33334a}
.ned .body li{margin:0;line-height:32px}.ned .body ul,.ned .body ol{margin:0 0 0 1.4em}
.ned .body blockquote,.ned .body pre,.ned .body table,.ned .body hr{margin-top:16px;margin-bottom:16px}
.ned .body table td{background:transparent;line-height:26px}
.ned .p-lines .body{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#dde2ee 31px,#dde2ee 32px);background-attachment:local}
.ned .p-grid .body{background-image:linear-gradient(#e3e7f1 1px,transparent 1px),linear-gradient(90deg,#e3e7f1 1px,transparent 1px);background-size:32px 32px;background-attachment:local;background-position:0 31px}
.ned .p-dots .body{background-image:radial-gradient(#b9c0d2 1.5px,transparent 1.7px);background-size:32px 32px;background-position:0 15px;background-attachment:local}
.seg.mini{margin:0 0 0 auto;padding:3px}.seg.mini button{padding:5px 12px;font-size:12.5px}
@media (max-width:700px){.seg.mini{margin-left:0}}
/* breadcrumb path */
.docs-hd{align-items:center}
.path{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:clamp(22px,3vw,34px);font-weight:700;letter-spacing:-.04em}
.path button{display:inline-flex;align-items:center;gap:10px;padding:4px 10px;border-radius:14px;color:#8a8a98}.path button.cur{color:#111}.path button:hover{background:var(--soft);color:#111}.path button.drop{background:#efeaff;color:var(--violet)}
.path button svg{width:26px;height:26px}.path span{color:#c2c2cc;font-weight:400}
.crumbs button.drop{color:var(--violet)}
.sh2.sm{font-size:15px;color:#6b6b76;margin:20px 0 10px;font-weight:700}
.foldgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.fold{position:relative;display:flex;align-items:center;gap:14px;background:#fff;border-radius:28px;padding:16px 18px;cursor:pointer;transition:transform .15s,box-shadow .15s,outline-color .15s;outline:2px solid transparent}
.fold:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(30,20,90,.1)}.fold.drop{outline-color:var(--violet);background:#f6f3ff}
.fi{width:50px;height:50px;border-radius:18px;background:color-mix(in srgb,var(--c) 16%,#fff);color:var(--c);display:grid;place-items:center;flex:none}.fi svg{width:26px;height:26px}
.fm{display:flex;flex-direction:column;min-width:0;flex:1}.fm b{font-size:16px;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fold .dmore{position:static;opacity:.55;background:transparent;box-shadow:none}.fold:hover .dmore{opacity:1;background:var(--soft)}
.doc .th{height:130px}
.pick .pk{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 14px;border-radius:14px;font-size:15px}.pick .pk:hover{background:var(--soft)}.pick .pk svg{width:18px;height:18px;color:#777}.pick .pk i{width:9px;height:9px;border-radius:50%}
/* docked AI on the home page */
.home-wrap{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:22px;align-items:start;max-width:1640px;margin:0 auto}
.home-wrap .page.home{max-width:none;margin:0;min-width:0}
.homeai{position:sticky;top:12px;height:calc(100dvh - 48px);display:flex;flex-direction:column;background:#fff;border-radius:34px;box-shadow:0 12px 40px rgba(30,20,90,.1);overflow:hidden}
.hai-h{display:flex;gap:12px;align-items:center;padding:18px 20px 12px}.hai-h b{font-size:17px;letter-spacing:-.02em;display:block}.hai-h small{color:var(--muted);font-size:12.5px;line-height:1.35;display:block}
.ai-ic{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#6a4cff,#b9a8ff);color:#fff;display:grid;place-items:center;flex:none}
.chatbox.flat{flex:1;min-height:0;height:auto;border-radius:0;padding:0 14px 14px;background:transparent}
.homeai .modes .chip{padding:6px 12px;font-size:13px}
#app.has-dock .tfab{display:none}
@media (max-width:1400px){.home-wrap{grid-template-columns:minmax(0,1fr) 360px}}
@media (max-width:1180px){.home-wrap{grid-template-columns:1fr}.homeai{display:none}#app.has-dock .tfab{display:flex}}
.path button{font-size:inherit;font-weight:inherit;letter-spacing:inherit;font-family:inherit}
.create{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
.create button{padding:16px;min-height:120px;gap:22px}.create b{font-size:15px}

/* ======== v5: path under title, AI pane as its own white panel ======== */
.docs-hd{align-items:flex-end}
.docs-hd h1{margin-bottom:8px}
.path{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:15px;font-weight:600;letter-spacing:0}
.path button{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;color:#777;font-size:inherit;font-weight:600;background:transparent}
.path button:hover{background:#fff;color:#111}.path button.here{background:#fff;color:#111;box-shadow:0 2px 8px rgba(30,20,90,.08)}.path button.drop{background:#efeaff;color:var(--violet)}
.path span{color:#c0c0cc;font-weight:400}
.fold.add{justify-content:center;border:2px dashed #cfcfdb;background:transparent;color:#777;font-weight:600;min-height:84px;box-shadow:none;gap:10px}.fold.add:hover{border-color:var(--violet);color:var(--violet);background:#fff}.fold.add svg{width:20px;height:20px}
.home-wrap{display:block;max-width:none}
.shell.with-ai{grid-template-columns:262px minmax(0,1fr) clamp(400px,30vw,540px)}
.shell.collapsed.with-ai{grid-template-columns:84px minmax(0,1fr) clamp(400px,30vw,540px)}
.aipane{margin:12px 12px 12px 0;height:calc(100dvh - 24px);position:sticky;top:12px;display:flex;flex-direction:column;background:#fff;border-radius:40px;border:1px solid #ececf1;box-shadow:0 12px 44px rgba(30,20,90,.1);overflow:hidden}
.aipane[hidden]{display:none}
.aipane .hai-h{padding:22px 24px 12px}
.aipane .chatbox.flat{padding:0 18px 18px}
.aipane .m{font-size:15.5px;max-width:92%}
.aipane .tin{padding:13px 20px}
.shell:not(.with-ai) .aipane{display:none}
@media (max-width:1180px){.shell.with-ai,.shell.collapsed.with-ai{grid-template-columns:262px minmax(0,1fr)}.shell.collapsed.with-ai{grid-template-columns:84px minmax(0,1fr)}.aipane{display:none!important}}
@media (max-width:900px){.shell.with-ai,.shell.collapsed.with-ai{grid-template-columns:1fr!important}}
.create{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}
.create button{padding:14px;min-height:112px;border-radius:24px}.create b{font-size:14px;line-height:1.2}

/* ======== v6: full-screen white documents with a slim top bar ======== */
.main.doc-full{--docbg:#f3f3f7;--panel:var(--docbg);margin:12px 12px 12px 0;border-radius:40px;background:var(--docbg);padding:0;min-height:calc(100dvh - 24px);overflow-x:clip}
.shell:has(.main.doc-full){background:#fff}
.dfull{max-width:none;margin:0}
.ned-bar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr);align-items:center;gap:14px;height:62px;padding:0 20px 0 8px;background:var(--docbg,#f3f3f7);border-radius:40px 40px 0 0}
.nb-l{display:flex;align-items:center;gap:6px;min-width:0}
.nb-name{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.nb-name b,.nb-in{font-size:15px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text;border:0;outline:0;background:none;padding:0;max-width:300px;font-family:inherit}
.nb-folder{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#8a8a98;padding:1px 0;max-width:300px}.nb-folder:hover{color:var(--violet)}.nb-folder svg{width:13px;height:13px;flex:none}.nb-folder span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ned-tools{display:flex;align-items:center;gap:2px;justify-content:center;min-width:0}
.ned-tools .sep{width:1px;height:20px;background:#e6e6ee;margin:0 6px;flex:none}
.ned-tools .tbtn{width:34px;height:34px;border-radius:10px}.ned-tools .tbtn svg{width:18px;height:18px}
.tt{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:10px;font-size:13.5px;font-weight:600;color:#333;flex:none}.tt:hover,.tt.on{background:var(--soft)}.tt svg{width:15px;height:15px}.tt b{font-size:15px}
.nb-r{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.nb-r .saved{font-size:12px;color:#a0a0ac;margin-right:4px}
.btn.small{padding:8px 16px;font-size:13.5px}
/* page */
.ned-paper{background:transparent!important;box-shadow:none!important;border-radius:0!important;padding-bottom:140px}
.ned-col{max-width:860px;margin:0 auto;padding:46px 28px 6px}
.ned .ned-title{padding:0 0 8px;text-align:left;font-size:clamp(32px,4vw,48px)}
.ned .ned-meta{justify-content:flex-start;margin-bottom:22px}
.ned .body{max-width:none;margin:0;padding-inline:max(28px,calc((100% - 860px)/2 + 28px));border-radius:0;min-height:62vh;background-position:0 0}
.ned .p-grid .body{background-position:calc((100% - 0px)/2) 31px}
.ned .p-dots .body{background-position:0 15px}
.ned .p-lines .body,.ned .p-grid .body,.ned .p-dots .body{background-attachment:local}
.ned .body:focus{outline:0}
/* slim popovers */
.popmenu{border-radius:18px;padding:6px}
.popmenu button{padding:9px 12px;font-size:14px;border-radius:11px}
.popmenu button svg{width:17px;height:17px;color:#777}
/* whiteboard in the same shell */
.editor.board.dfull .opts.flat{background:transparent;box-shadow:none;border-radius:0;width:auto;margin:0;padding:6px 24px 12px;justify-content:flex-start}
.editor.board.dfull .cvwrap{border-radius:30px;box-shadow:0 8px 30px rgba(30,20,90,.08);max-height:none;background:#fff;margin:0 20px 20px}
.btools{flex-wrap:nowrap}
/* new document dialog */
.nd-modal{padding:30px 32px}
.nd .eyebrow{margin-bottom:6px}
.nd-name{width:100%;border:0;outline:0;font-size:clamp(26px,3.4vw,36px);font-weight:700;letter-spacing:-.04em;padding:6px 0 10px;border-bottom:2px solid #eeeef3;background:none;font-family:inherit;transition:border-color .2s}.nd-name:focus{border-color:var(--violet)}.nd-name::placeholder{color:#c6c6d1}
.nd-sugg{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}.nd-sugg .chip{padding:6px 13px;font-size:13px;background:var(--soft);border-color:transparent}.nd-sugg .chip:hover{background:#efeaff;color:var(--violet)}
.nd-folder{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 16px;border-radius:18px;background:var(--soft);font-weight:600;font-size:14.5px}.nd-folder svg{width:18px;height:18px;color:var(--violet)}.nd-folder span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nd-folder em{font-style:normal;color:var(--violet);font-size:13px}
.papers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pp{display:flex;flex-direction:column;gap:8px;align-items:center;padding:10px 8px 12px;border-radius:20px;border:2px solid transparent;background:var(--soft);font-size:13px}.pp:hover{background:#ecebf5}.pp.on{border-color:var(--violet);background:#f4f1ff}
.pv{display:block;width:100%;height:62px;border-radius:12px;background:#fff;border:1px solid #e4e4ec}
.pv.lines{background:repeating-linear-gradient(to bottom,#fff 0,#fff 11px,#d9dde9 11px,#d9dde9 12px)}
.pv.grid{background-image:linear-gradient(#dfe3ee 1px,transparent 1px),linear-gradient(90deg,#dfe3ee 1px,transparent 1px);background-size:12px 12px}
.pv.dots{background-image:radial-gradient(#aab1c5 1.2px,transparent 1.4px);background-size:12px 12px}
@media (max-width:900px){
  .ned-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;height:auto;padding:8px 10px 6px;row-gap:4px}
  .nb-r{grid-column:2;grid-row:1}.ned-tools{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.ned-tools::-webkit-scrollbar{display:none}
  .main.doc-full{margin:8px 8px 0;border-radius:30px;padding-bottom:0}.ned-bar{border-radius:30px 30px 0 0}.ned-col{padding:28px 18px 4px}.ned .body{padding-inline:18px!important}
  .papers{grid-template-columns:repeat(2,1fr)}
  .nb-r .saved{display:none}
}
.editor.board.dfull{max-width:none}
.ned .body{min-height:calc(100dvh - 250px)}

/* ---------- inline AI edit bar ---------- */
::highlight(lumi-ai){background:#d7e5ff}
.aibar{position:fixed;z-index:360;width:min(600px,calc(100vw - 16px));background:#fff;border-radius:28px;box-shadow:0 18px 60px rgba(30,20,90,.3),0 0 0 1px rgba(30,20,90,.06);padding:8px 10px;animation:pop .15s}
.aibar[hidden]{display:none}
.ab-in{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 12px}.ab-in>svg{color:var(--violet);flex:none}
.ab-in input{flex:1;border:0;outline:0;font-size:15.5px;min-width:0;background:none;padding:8px 0;font-family:inherit}
.ab-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 4px 6px}
.ab-chips button{padding:6px 13px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:600;color:#333}.ab-chips button:hover{background:#efeaff;color:var(--violet)}
.ab-busy{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:14.5px;color:#444}.ab-busy[hidden],.ab-done[hidden],.ab-in[hidden],.ab-chips[hidden]{display:none}
.ab-done{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;font-size:14px}.ab-done b{flex:1;font-weight:600}
.ab-done button{padding:8px 16px;border-radius:999px;font-size:13.5px;font-weight:600;background:var(--soft)}.ab-done [data-k]{background:var(--violet);color:#fff}

.ned .p-lines .body{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#d9dce8 31px,#d9dce8 32px)}
.ned .p-grid .body{background-image:linear-gradient(#dcdfea 1px,transparent 1px),linear-gradient(90deg,#dcdfea 1px,transparent 1px)}
.ned .p-dots .body{background-image:radial-gradient(#b4bacb 1.5px,transparent 1.7px)}
.ned .body table td{background:rgba(255,255,255,.6)}

/* ======== v7: info + tools live in the white area; only the document sits in the grey rounded panel ======== */
.main.doc-full{--docbg:#f3f3f7;--panel:#fff;margin:0;border-radius:0;background:#fff;min-height:100dvh;padding:0;overflow-x:clip}
.ned-bar{background:#fff;border-radius:0;border-bottom:0;padding-bottom:2px}
.ned-paper{background:var(--docbg)!important;border-radius:38px!important;margin:0 12px 12px 0;min-height:calc(100dvh - 76px);overflow:hidden;padding-bottom:140px}
.dhead{position:sticky;top:0;z-index:50;background:#fff}
.dhead .ned-bar{position:static}
.editor.board.dfull .opts.flat{padding:2px 24px 12px}
.dpanel{background:var(--docbg);border-radius:38px;margin:0 12px 12px 0;padding:22px 0 22px;min-height:calc(100dvh - 130px)}
.editor.board.dfull .cvwrap{margin:0 22px}
@media (max-width:900px){
  .main.doc-full{margin:0;border-radius:0}
  .ned-bar{border-radius:0}
  .ned-paper,.dpanel{margin:0 8px 8px;border-radius:30px!important}
  .editor.board.dfull .cvwrap{margin:0 10px}
}

/* ======== v8: the grey panel IS the document (paper pattern over the whole panel), chat without box ======== */
.ned-paper{padding-top:32px!important;padding-bottom:140px}
.ned .body{background-image:none!important}
.ned .p-lines{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#d9dce8 31px,#d9dce8 32px)!important}
.ned .p-grid{background-image:linear-gradient(#dcdfea 1px,transparent 1px),linear-gradient(90deg,#dcdfea 1px,transparent 1px)!important;background-size:32px 32px!important;background-position:0 31px,0 0!important}
.ned .p-dots{background-image:radial-gradient(#b4bacb 1.5px,transparent 1.7px)!important;background-size:32px 32px!important;background-position:0 15px!important}
.ned .body{padding-inline:max(28px,calc((100% - 860px)/2 + 28px));min-height:calc(100dvh - 76px - 32px - 140px)}
.nb-name b{cursor:text;border-radius:8px;padding:0 4px;margin-left:-4px}.nb-name b:hover{background:var(--soft)}
.nb-name .nb-in{background:transparent;border-radius:8px;padding:2px 6px;margin-left:-6px;width:min(280px,40vw);transition:background .15s}
.nb-name .nb-in:focus{background:var(--soft)}
/* AI chat directly on the page background */
.aipane{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;margin:12px 16px 12px 4px}
.aipane .hai-h{padding:18px 8px 10px}
.aipane .chatbox.flat{padding:0 4px 12px}
.aipane .tin{background:#fff}

/* ======== v9: calm animated home ======== */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes wordIn{from{opacity:0;transform:translateY(.55em);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-24px) scale(1.08)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.main .page{animation:fadeUp .4s cubic-bezier(.2,.8,.2,1) both}
.page.home.calm{max-width:820px;margin:0 auto;padding-top:6px}
.home-wrap{--k:1}.home-wrap.again{--k:.3}
.rise{opacity:0;animation:rise .75s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i,0) * 110ms * var(--k) + 120ms * var(--k))}
.welcome{position:relative;padding:clamp(26px,5vw,56px) 4px 20px;overflow:visible}
.welcome>*:not(.blob){position:relative;z-index:2}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;z-index:0;animation:drift 14s ease-in-out infinite}
.blob.b1{width:300px;height:300px;background:#cdf56b;left:-60px;top:-30px}.blob.b2{width:340px;height:340px;background:#c4b5ff;right:-80px;top:-60px;animation-delay:-5s}.blob.b3{width:200px;height:200px;background:#ffc9a8;right:30%;bottom:-60px;animation-delay:-9s}
.greet-h{font-size:clamp(40px,6.4vw,76px);letter-spacing:-.055em;line-height:1;font-weight:700;margin:10px 0 0}
.greet-h .w{display:inline-block;opacity:0;animation:wordIn .95s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i) * 140ms * var(--k) + 200ms * var(--k))}
.welcome .hh-sub{font-size:19px;color:#4b4b5e;max-width:560px;margin-top:14px;line-height:1.5}
.wchips{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 6px}
.wchips .hchip{background:rgba(255,255,255,.85);box-shadow:0 2px 10px rgba(30,20,90,.06)}
.wact{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.wact .btn{padding:12px 20px;font-size:14.5px}.wact .btn svg{width:17px;height:17px}
.tiles2{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:12px}
.tiles2 button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:#fff;border-radius:26px;padding:16px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.tiles2 button:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(30,20,90,.12)}
.tiles2 span{width:42px;height:42px;border-radius:15px;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);display:grid;place-items:center;margin-bottom:12px;transition:transform .3s}.tiles2 button:hover span{transform:scale(1.08) rotate(-4deg)}
.tiles2 span svg{width:21px;height:21px}.tiles2 b{font-size:15px;letter-spacing:-.02em}.tiles2 small{color:var(--muted);font-size:12.5px}
.panel.soft{margin-top:18px;border-radius:30px}.panel.soft h2{font-size:20px}
.sub-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:#9a9aa8;font-weight:700;margin:12px 0 4px}
.calm .examrow{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:6px}
.calm .examc{border-radius:26px;padding:14px 16px}
.rlist{display:flex;flex-direction:column;gap:6px}
.rrow{display:flex;align-items:center;gap:14px;background:#fff;border-radius:22px;padding:12px 16px;text-align:left;width:100%;transition:transform .2s,box-shadow .2s}.rrow:hover{transform:translateX(4px);box-shadow:0 8px 22px rgba(30,20,90,.08)}
.ri{width:38px;height:38px;border-radius:13px;background:#f1eefe;color:var(--violet);display:grid;place-items:center;flex:none}.ri svg{width:18px;height:18px}
.msline{margin-top:20px;text-align:center}
.calm section{margin-bottom:6px}.calm .sech{margin-top:26px}
@media (max-width:700px){.greet-h{font-size:clamp(34px,11vw,52px)}.tiles2{grid-template-columns:1fr 1fr}.welcome .hh-sub{font-size:17px}}
.main:has(.welcome){overflow:clip}
.ic{stroke-width:1.6}
.sortl{display:inline-flex;align-items:center;gap:8px;color:#777}.sortl .ic{width:18px;height:18px}
.nav-i .ic,.tt .ic{transition:transform .2s}

/* ---------- Microsoft one-click button ---------- */
.ms-btn{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#1f1f1f;border:1.5px solid #d9d9e0;border-radius:999px;padding:11px 20px;font-weight:600;font-size:15px;transition:box-shadow .2s,transform .2s,border-color .2s}
.ms-btn:hover:not(:disabled){box-shadow:0 8px 24px rgba(30,20,90,.14);transform:translateY(-1px);border-color:#bbb}
.ms-btn:disabled{opacity:.45;cursor:not-allowed}.ms-btn svg{width:20px;height:20px}
.msline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;text-align:left}
.ob-ms{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-top:18px}.ob-ms small{color:var(--muted)}

/* ======== v9: write + draw in one document ======== */
.ned-paper{position:relative}
.inkcv{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:3;border-radius:inherit}
.ned-paper.inking{cursor:crosshair}
.modesw{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;background:#f1f1f6;border-radius:999px;padding:3px;flex:none}
.modesw button{position:relative;z-index:1;border:0;background:none;font:600 13px/1 inherit;font-family:inherit;padding:8px 14px;border-radius:999px;color:#6b6b78;cursor:pointer;transition:color .25s}
.modesw button.on{color:#1c1c22}
.modesw .knob{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);background:#fff;border-radius:999px;box-shadow:0 1px 4px rgba(30,20,90,.14);transition:transform .35s cubic-bezier(.3,.9,.3,1)}
.modesw[data-m=draw] .knob{transform:translateX(100%)}
.ned-tools{transition:opacity .3s,transform .3s}
.main.drawing .ned-tools{opacity:0;pointer-events:none;transform:translateY(-6px)}
.inkpal{position:fixed;left:50%;bottom:22px;z-index:120;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 20px);background:#fff;border-radius:999px;padding:8px 14px;box-shadow:0 2px 6px rgba(0,0,0,.06),0 18px 50px rgba(30,20,90,.2);transform:translate(-50%,24px);opacity:0;transition:transform .4s cubic-bezier(.3,.9,.3,1),opacity .3s;overflow-x:auto;scrollbar-width:none}
.inkpal.show{transform:translate(-50%,0);opacity:1}
.inkpal::-webkit-scrollbar{display:none}
.inkpal[hidden]{display:none}
.inkpal .ip-row,.inkpal .ip-cols{display:flex;align-items:center;gap:2px;flex:none}
.inkpal .ip-cols{gap:6px}
.inkpal .ip-sep{width:1px;height:24px;background:#e6e6ee;flex:none}
.inkpal .tbtn{width:38px;height:38px;border-radius:50%}.inkpal .tbtn svg{width:19px;height:19px}
.inkpal .tbtn:disabled{opacity:.3;pointer-events:none}
.inkpal .cdot{width:24px;height:24px;cursor:pointer;padding:0;position:relative;overflow:hidden}
.inkpal .cdot input{position:absolute;inset:-6px;opacity:0;cursor:pointer}
.inkpal input[type=range]{width:84px;accent-color:var(--violet);flex:none}
@media (max-width:900px){.modesw button{padding:7px 10px}.inkpal{bottom:12px;padding:6px 10px;gap:8px}}

/* v9.1: draw palette stays at the top, no floating KI button */
.tfab{display:none!important}
.inkpal{bottom:auto;top:74px;transform:translate(-50%,-18px)}
.inkpal.show{transform:translate(-50%,0)}
@media (max-width:900px){.inkpal{top:112px;bottom:auto}}

/* ======== v10: redesigned home, compact white collapsible AI card ======== */
.shell.with-ai,.shell.collapsed.with-ai{grid-template-columns:262px minmax(0,1fr)}
.shell.collapsed.with-ai{grid-template-columns:84px minmax(0,1fr)}
@media (max-width:900px){.shell.with-ai,.shell.collapsed.with-ai{grid-template-columns:1fr!important}}
.aipane{position:fixed!important;right:22px;bottom:22px;top:auto!important;margin:0!important;height:auto!important;width:min(380px,calc(100vw - 28px));z-index:70;background:#fff!important;border:0!important;border-radius:28px!important;box-shadow:0 2px 6px rgba(0,0,0,.05),0 18px 50px rgba(30,20,90,.16)!important;overflow:hidden;display:flex;flex-direction:column;transition:width .4s cubic-bezier(.3,.9,.3,1)}
.aipane[hidden]{display:none!important}
@media (max-width:1180px){.aipane{display:flex!important}.aipane[hidden]{display:none!important}}
.aipane .hai-h{all:unset;box-sizing:border-box;display:flex;gap:12px;align-items:center;padding:14px 18px;cursor:pointer;width:100%}
.aipane .hai-h b{font-size:15px;display:block;letter-spacing:-.02em}.aipane .hai-h small{font-size:12px;color:var(--muted);display:block}
.aipane .hai-h .hai-chev{margin-left:auto;display:grid;place-items:center;color:#8a8a98;transition:transform .3s}.aipane.open .hai-chev{transform:rotate(180deg)}
.aipane .chatbox.flat{padding:0 10px 10px;min-height:0;flex:none;height:auto;background:transparent;border-radius:0}
.aipane:not(.open) .msgs,.aipane:not(.open) .modes,.aipane:not(.open) .ctxbar,.aipane:not(.open) .imgprev,.aipane:not(.open) .chatbox>*:not(.t-in){display:none!important}
.aipane.open{width:min(420px,calc(100vw - 28px))}
.aipane.open .chatbox.flat{height:min(62dvh,560px);display:flex}
.aipane .t-in{padding:0}.aipane .tin{background:#f6f6fa;border-color:transparent}
.aipane .modes{display:none}
.page.home.calm{max-width:1000px}
.hsearch{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 8px 8px 20px;margin-top:22px;max-width:640px;box-shadow:0 2px 6px rgba(0,0,0,.04),0 14px 40px rgba(30,20,90,.1)}
.hsearch>svg{width:20px;height:20px;color:#8a8a98;flex:none}
.hsearch input{flex:1;border:0;outline:0;background:none;font:inherit;font-size:16px;min-width:0;padding:8px 0}
.hs-ai{display:flex;align-items:center;gap:7px;border-radius:999px;background:#efeaff;color:var(--violet);font-weight:600;font-size:14px;padding:10px 16px;cursor:pointer;flex:none}
.hs-ai:hover{background:#e4dcff}.hs-ai svg{width:16px;height:16px}
.hgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:18px}
.hgrid .panel.soft{margin-top:0}.hgrid .rec{margin-top:0}
@media (max-width:860px){.hgrid{grid-template-columns:1fr}.aipane{right:12px;bottom:calc(80px + env(safe-area-inset-bottom))}.hs-ai span{display:none}}
.page.home.calm{padding-bottom:140px}

/* ======== v11: PDF editor ======== */
.pdfwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}
.pgrail{position:sticky;top:78px;display:flex;flex-direction:column;align-items:center;gap:6px;margin:6px 0 0 14px;padding:8px 6px;background:#fff;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.04),0 10px 30px rgba(30,20,90,.1);max-height:calc(100dvh - 110px);overflow:auto;scrollbar-width:none;width:44px}
.pgrail::-webkit-scrollbar{display:none}
.pgrail button{width:32px;height:32px;border-radius:50%;font-size:13px;font-weight:600;color:#6b6b78;flex:none;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.pgrail button:hover{background:var(--soft)}
.pgrail button.on{background:var(--violet);color:#fff;transform:scale(1.06)}
.pdfpaper{padding:28px 0 140px!important;background-image:none!important}
.pdfpages{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}
.pdfpg{position:relative;width:min(860px,calc(100% - 28px));background:#fff;border-radius:14px;box-shadow:0 2px 4px rgba(0,0,0,.04),0 12px 34px rgba(30,20,90,.1);overflow:hidden;cursor:text}
.pdfpg canvas{display:block;width:100%;height:100%}
.pdfpages.inking .pdfpg{cursor:crosshair}
.pdftx{position:absolute;z-index:2;min-width:40px;min-height:1.2em;line-height:1.3;white-space:pre-wrap;outline:0;padding:2px 6px;border-radius:8px;font-family:inherit;transform:translateY(0);background:transparent;cursor:text}
.pdftx:focus{background:rgba(255,255,255,.75);box-shadow:0 0 0 2px #cfc4ff}
.pdfpages.inking .pdftx{pointer-events:none}
.pdfload{margin:40px auto}
.pdffallback{width:min(900px,calc(100% - 28px));height:80dvh;border:0;border-radius:14px;background:#fff}
.tt-lbl{font-size:13px;color:#8a8a98;padding:0 8px;white-space:nowrap}
.pdfed .ned-tools{gap:4px}
@media (max-width:900px){.pdfwrap{grid-template-columns:1fr}.pgrail{position:fixed;left:10px;top:auto;bottom:12px;flex-direction:row;max-height:none;max-width:calc(100vw - 20px);width:auto;overflow-x:auto;overflow-y:hidden;margin:0;z-index:60;border-radius:999px;padding:6px 8px}.tt-lbl{display:none}}
.pdfpg{scroll-margin-top:84px}

/* agent action chips */
.acts{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.act{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:#fff;border-radius:999px;padding:7px 13px 7px 10px;font-size:13.5px;font-weight:600;box-shadow:0 1px 4px rgba(30,20,90,.1);text-align:left}
.act svg{width:15px;height:15px;color:#16a34a;flex:none}.act.err svg{color:#e5484d}
button.act{cursor:pointer}button.act:hover{background:#f4f1ff}

/* ======== v12: neutral home (no colour blobs), grouped layout ======== */
.welcome .blob{display:none!important}
.tiles2 span{background:#f3f3f7!important;color:#1c1c22!important}
.tiles2 button:hover span{background:var(--violet)!important;color:#fff!important}
.hgrid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.hcol{display:flex;flex-direction:column;gap:16px;min-width:0}
.hcol .panel.soft,.hcol .rec{margin-top:0}
.prog .pstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 14px}
.prog .pstats b{display:block;font-size:30px;letter-spacing:-.04em;line-height:1}.prog .pstats small{color:var(--muted);font-size:12.5px;display:block;margin-top:5px;line-height:1.3}
.prog .pbar{height:8px;border-radius:99px;background:#eeeef4;overflow:hidden}.prog .pbar i{display:block;height:100%;border-radius:99px;background:var(--violet);transition:width .8s cubic-bezier(.3,.9,.3,1)}
.prog .wact{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.page.home.calm .greet-h{font-size:clamp(38px,5.4vw,66px)}
@media (max-width:860px){.hgrid{grid-template-columns:1fr}}

/* v13: draw tools live in the top bar, exactly where the text tools are */
.ned-bar .ned-tools,.ned-bar .inkpal{grid-column:2;grid-row:1}
.ned-bar .inkpal{position:static;transform:none;box-shadow:none;background:transparent;border-radius:0;padding:0;gap:8px;max-width:none;overflow:visible;opacity:0;pointer-events:none;justify-self:center;transition:opacity .3s,transform .3s;transform:translateY(6px);z-index:2}
.ned-bar .inkpal.show{opacity:1;pointer-events:auto;transform:none}
.ned-bar .inkpal .tbtn{width:34px;height:34px}.ned-bar .inkpal .tbtn svg{width:18px;height:18px}
.ned-bar .inkpal .cdot{width:22px;height:22px}
.ned-bar .inkpal input[type=range]{width:68px}
@media (max-width:900px){
  .ned-bar .ned-tools,.ned-bar .inkpal{grid-column:1/-1;grid-row:2}
  .ned-bar .inkpal{justify-self:stretch;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
}
@media (min-width:901px){
  .main.drawing .ned-bar{grid-template-columns:minmax(120px,1fr) auto auto}
  .main.drawing .ned-bar .nb-r{grid-column:3}.main.drawing .ned-bar .nb-r .saved{display:none}
  .ned-bar .inkpal{gap:6px}.ned-bar .inkpal .tbtn{width:32px;height:32px}.ned-bar .inkpal .ip-cols{gap:4px}.ned-bar .inkpal .cdot{width:20px;height:20px}.ned-bar .inkpal input[type=range]{width:56px}
}

/* ======== v14: soft blue-violet scene only INSIDE the main panel; outer frame stays white ======== */
.main:not(.doc-full){position:relative;isolation:isolate;background:#fff;clip-path:inset(0 round 40px);border:0;box-shadow:none;--panel:#fff}
.main:not(.doc-full)::before,.main:not(.doc-full)::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.main:not(.doc-full)::before{left:-12%;bottom:-22%;width:70%;height:80%;background:
  linear-gradient(115deg,rgba(255,255,255,.4),rgba(255,255,255,0) 55%),
  repeating-linear-gradient(115deg,rgba(90,120,255,0) 0 26px,rgba(80,110,255,.42) 26px 74px,rgba(90,120,255,0) 74px 96px);
  border-radius:44% 56% 40% 60%/50% 40% 60% 50%;filter:blur(22px);transform:rotate(-8deg)}
.main:not(.doc-full)::after{right:-14%;top:-24%;width:66%;height:72%;background:
  radial-gradient(60% 60% at 40% 45%,rgba(160,110,255,.7),rgba(160,110,255,0) 70%),
  repeating-linear-gradient(-70deg,rgba(190,150,255,0) 0 30px,rgba(160,110,250,.34) 30px 80px,rgba(190,150,255,0) 80px 104px);
  border-radius:60% 40% 55% 45%/45% 55% 45% 55%;filter:blur(26px)}
.main:not(.doc-full):not(:has(.welcome))::before,.main:not(.doc-full):not(:has(.welcome))::after{opacity:.4}
.main.doc-full{background:#fff;border:0;box-shadow:none}
.main:has(.welcome){overflow:clip}
@media (max-width:900px){.main:not(.doc-full){clip-path:inset(0 round 30px)}}
.main:not(.doc-full){background:linear-gradient(135deg,#eaf0ff 0%,#efe9ff 55%,#f5eaff 100%)}
.main:not(.doc-full)::before{opacity:.6}.main:not(.doc-full)::after{opacity:.8}
.tiles2 button,.panel.soft,.rrow{box-shadow:0 1px 3px rgba(40,30,120,.05),0 10px 30px rgba(70,60,170,.08)}

/* v15: "Weiterarbeiten" runs left to right; compact home */
.rec{margin-top:18px}
.rlist{flex-direction:row;overflow-x:auto;gap:12px;padding:4px 2px 14px;scrollbar-width:none;scroll-snap-type:x proximity}
.rlist::-webkit-scrollbar{display:none}
.rlist .rrow{flex:0 0 clamp(210px,24%,280px);width:auto;scroll-snap-align:start}
.hgrid{margin-top:14px}
.tiles2 button{padding:13px 14px}.tiles2 span{margin-bottom:8px;width:38px;height:38px}
.page.home.calm{padding-bottom:110px}
.panel.soft{padding:18px 20px}
.page.home.calm{padding-top:0}
.welcome{padding:6px 4px 4px!important}
.page.home.calm .greet-h{font-size:clamp(34px,4.6vw,56px)}
.welcome .hh-sub{margin-top:8px;font-size:17px}
.hsearch{margin-top:14px}
.main:has(.welcome){padding-top:22px}
.rec{margin-top:6px!important}.rec .sech{margin:0 0 4px}
.tiles2{margin-top:6px}
.hgrid .rec{grid-column:1/-1;min-width:0}.rec .sh2{margin-top:6px}

/* ======== v16: grey main panel as before; the gradient lives only in the home hero block ======== */
.main:not(.doc-full){background:var(--appbg)!important;clip-path:none!important;isolation:auto;--panel:var(--appbg)}
.main:not(.doc-full)::before,.main:not(.doc-full)::after{display:none!important}
.main.doc-full{background:#fff!important}
.welcome{position:relative;isolation:isolate;overflow:hidden!important;border-radius:36px;padding:clamp(26px,4vw,44px) clamp(22px,4vw,48px) clamp(26px,3.6vw,40px)!important;background:linear-gradient(135deg,#dfe8ff 0%,#e7e0ff 50%,#f0e1ff 100%);box-shadow:0 18px 50px rgba(80,70,190,.12)}
.welcome::before,.welcome::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.welcome::before{left:-8%;bottom:-40%;width:55%;height:120%;background:
  linear-gradient(115deg,rgba(255,255,255,.4),rgba(255,255,255,0) 55%),
  repeating-linear-gradient(115deg,rgba(90,120,255,0) 0 22px,rgba(80,110,255,.4) 22px 62px,rgba(90,120,255,0) 62px 84px);
  border-radius:44% 56% 40% 60%/50% 40% 60% 50%;filter:blur(18px);transform:rotate(-8deg)}
.welcome::after{right:-10%;top:-45%;width:60%;height:120%;background:
  radial-gradient(60% 60% at 40% 45%,rgba(160,110,255,.7),rgba(160,110,255,0) 70%),
  repeating-linear-gradient(-70deg,rgba(190,150,255,0) 0 26px,rgba(160,110,250,.32) 26px 70px,rgba(190,150,255,0) 70px 92px);
  border-radius:60% 40% 55% 45%/45% 55% 45% 55%;filter:blur(22px)}
.welcome .hsearch{max-width:680px;box-shadow:0 10px 34px rgba(60,50,170,.16)}
.welcome .eyebrow{color:#5a5a78}
.page.home.calm{padding-top:4px}
.main:has(.welcome){padding-top:16px}
.hgrid{margin-top:16px}.tiles2{margin-top:16px}
@media (max-width:700px){.welcome{border-radius:28px}}

/* v17: hero banner flush with the panel edges and corners */
.main:has(.welcome){--mx:clamp(16px,3.6vw,56px);--mr:40px}
@media (max-width:900px){.main:has(.welcome){--mx:14px;--mr:30px}}
.page.home.calm{max-width:none;padding-inline:0}
.page.home.calm>*:not(.welcome){max-width:1000px;margin-inline:auto}
.page.home.calm>.welcome{margin:-16px calc(-1*var(--mx)) 0;border-radius:var(--mr) var(--mr) 36px 36px;box-shadow:none;padding-inline:max(28px,calc(50% - 500px))!important;padding-top:clamp(34px,4.4vw,56px)!important;padding-bottom:clamp(30px,4vw,48px)!important}
.page.home.calm>.welcome .hsearch{max-width:700px}
.page.home.calm>*:not(.welcome):first-of-type{margin-top:0}
.tiles2{margin-top:20px}
@media (max-width:700px){.page.home.calm>.welcome{border-radius:var(--mr) var(--mr) 28px 28px}}
.main:has(.welcome){padding-top:0!important}
.page.home.calm>.welcome{margin-top:0;padding-inline:max(28px,calc(50% + var(--mx) - 500px))!important}
.page.home.calm{padding-top:0!important}

/* ======== v18: the page never scrolls – the white frame stays; content scrolls inside the rounded box ======== */
@media (min-width:901px){
  html,body{overflow:hidden;height:100%}
  #app,.shell{height:100dvh;min-height:0!important;overflow:hidden}
  .side{height:100dvh}
  .main:not(.doc-full){height:calc(100dvh - 24px);min-height:0!important;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cfcfda transparent}
  .main.doc-full{height:100dvh;min-height:0!important;overflow:hidden!important;display:flex;flex-direction:column}
  .main.doc-full>.ned,.main.doc-full>.editor{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}
  .main.doc-full .ned-bar{flex:none}
  .main.doc-full .ned-paper{flex:1;min-height:0!important;overflow-y:auto!important;overflow-x:hidden;margin-bottom:12px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cfcfda transparent}
  .main.doc-full .pdfwrap{flex:1;min-height:0;display:flex;flex-direction:column}
  .main.doc-full .dhead{flex:none}
  .main.doc-full .dpanel{flex:1;min-height:0!important;overflow:auto;margin-bottom:12px}
}
.inkcv{max-width:none}
.main.doc-full .pdfwrap{align-items:stretch}
@media (max-width:1560px){.ned-bar .nb-r .saved{display:none}}

/* ======== v19: animated hero art (note typing, sketch drawing, flashcard) ======== */
.hero-art{position:absolute;right:clamp(20px,5vw,90px);top:50%;width:430px;height:240px;transform:translateY(-50%);pointer-events:none;z-index:1}
.ha-card{position:absolute;background:rgba(255,255,255,.92);border-radius:22px;box-shadow:0 18px 44px rgba(60,50,170,.2);padding:14px 16px;animation:haFloat 6s ease-in-out infinite}
.ha-h{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#3b3b4f;margin-bottom:10px}.ha-h svg{width:15px;height:15px;color:var(--violet)}
.ha-note{left:0;top:6px;width:210px;height:150px;transform:rotate(-4deg);--r:-4deg}
.ha-draw{right:0;top:0;width:200px;height:150px;transform:rotate(3deg);--r:3deg;animation-delay:-2s}
.ha-quiz{left:128px;bottom:0;width:210px;transform:rotate(-1.5deg);--r:-1.5deg;animation-delay:-4s;display:flex;flex-direction:column;gap:4px}
@keyframes haFloat{0%,100%{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-9px) rotate(var(--r))}}
.ha-note .tl{display:block;height:7px;border-radius:99px;background:#dcdcec;margin:9px 0;width:0;animation:haType 7s ease-in-out infinite}
.ha-note .t1{--w:86%;background:#c7bcff}.ha-note .t2{--w:100%;animation-delay:.9s}.ha-note .t3{--w:72%;animation-delay:1.8s}.ha-note .t4{--w:48%;animation-delay:2.7s}
@keyframes haType{0%{width:0}22%,82%{width:var(--w)}100%{width:0}}
.ha-note .car{position:absolute;right:20px;bottom:18px;width:2px;height:16px;background:var(--violet);animation:haBlink 1s steps(2) infinite}
@keyframes haBlink{50%{opacity:0}}
.ha-draw>svg{width:100%;height:92px;display:block;fill:none;stroke:#5b3df5;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.ha-draw .p1,.ha-draw .p2,.ha-draw .p3{stroke-dasharray:200;stroke-dashoffset:200;animation:haDraw 7s ease-in-out infinite}
.ha-draw .p2{stroke:#ec4899;stroke-dasharray:140;stroke-dashoffset:140;animation-delay:1.3s}.ha-draw .p3{stroke:#16a34a;animation-delay:2.4s;stroke-width:2.6}
@keyframes haDraw{0%{stroke-dashoffset:var(--d,200)}25%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:var(--d,200)}}
.ha-draw .p2{--d:140}
.ha-draw .dots{position:absolute;right:14px;bottom:10px;display:flex;gap:5px}.ha-draw .dots u{width:11px;height:11px;border-radius:50%;display:block}
.ha-quiz small{font-size:11px;color:#8a8a98;font-weight:600}.ha-quiz b{font-size:15px;letter-spacing:-.02em}
.ha-quiz .ok{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;color:#16a34a;font-weight:600;opacity:0;animation:haPop 7s ease-in-out infinite}.ha-quiz .ok svg{width:15px;height:15px}.ha-quiz .ok em{font-style:normal;color:#3b3b4f}
@keyframes haPop{0%,35%{opacity:0;transform:translateY(6px)}45%,85%{opacity:1;transform:none}100%{opacity:0}}
@media (max-width:1100px){.hero-art{display:none}}
@media (prefers-reduced-motion:reduce){.ha-card,.ha-note .tl,.ha-draw path,.ha-draw circle,.ha-quiz .ok,.ha-note .car{animation:none}.ha-note .tl{width:var(--w)}.ha-draw path,.ha-draw circle{stroke-dashoffset:0}.ha-quiz .ok{opacity:1}}
.welcome>.hero-art{position:absolute;z-index:1}
.ha-card .ha-h svg{width:15px;height:15px}

/* edge scrollbar */
.rbar{display:none}
@media (min-width:901px){
  .main:not(.doc-full),.main.doc-full .ned-paper,.main.doc-full .dpanel{scrollbar-width:none!important}
  .main:not(.doc-full)::-webkit-scrollbar,.main.doc-full .ned-paper::-webkit-scrollbar,.main.doc-full .dpanel::-webkit-scrollbar{display:none}
  .rbar{position:fixed;right:2px;top:14px;bottom:14px;width:10px;z-index:90;display:block;opacity:0;pointer-events:none;transition:opacity .25s}
  .rbar.on{opacity:1;pointer-events:auto}
  .rbar i{position:absolute;left:2px;right:2px;top:0;border-radius:99px;background:#c9c9d6;transition:background .2s,left .15s,right .15s;cursor:grab;will-change:transform}
  .rbar:hover i,.rbar.drag i{background:#9d9db2;left:0;right:0}
  .rbar.drag i{cursor:grabbing}
}

/* v20: banner reaches further down and melts into the grey background */
.page.home.calm>.welcome{border-radius:var(--mr) var(--mr) 0 0;padding-bottom:clamp(110px,12vw,150px)!important;box-shadow:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 120px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 120px),transparent 100%)}
.page.home.calm>.welcome+*{margin-top:-46px!important;position:relative;z-index:2}
.hero-art{top:calc(50% - 40px)}
.welcome .hsearch{box-shadow:0 10px 34px rgba(60,50,170,.14)}

/* v21: hero art scenes rotate (notes/sketch/cards → table/PDF/AI summary → exam/grades/focus) */
.ha-scene{position:absolute;inset:0;opacity:0;transform:translateY(16px) scale(.97);transition:opacity .7s,transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.ha-scene.on{opacity:1;transform:none}
.ha-scene:not(.on) *{animation:none!important}
.ha-h em{margin-left:auto;font-style:normal;font-weight:600;color:#8a8a98}
.ha-table{left:0;top:6px;width:215px;transform:rotate(-3deg);--r:-3deg}
.ha-table .tb{display:grid;grid-template-columns:1.5fr 1fr .6fr;gap:4px}
.ha-table u{text-decoration:none;font-size:11.5px;padding:6px 7px;border-radius:8px;background:#f1f1f7;color:#3b3b4f;opacity:0;animation:haCell 7.5s ease-in-out infinite;white-space:nowrap}
.ha-table u.th{background:#e6defe;color:#5b3df5;font-weight:700}
.ha-table u:nth-child(1){animation-delay:.1s}.ha-table u:nth-child(2){animation-delay:.2s}.ha-table u:nth-child(3){animation-delay:.3s}.ha-table u:nth-child(4){animation-delay:.9s}.ha-table u:nth-child(5){animation-delay:1s}.ha-table u:nth-child(6){animation-delay:1.1s}.ha-table u:nth-child(7){animation-delay:1.7s}.ha-table u:nth-child(8){animation-delay:1.8s}.ha-table u:nth-child(9){animation-delay:1.9s}
@keyframes haCell{0%{opacity:0;transform:translateY(5px)}8%,82%{opacity:1;transform:none}100%{opacity:0}}
.ha-pdf{right:0;top:0;width:190px;height:150px;transform:rotate(3deg);--r:3deg;animation-delay:-2s}
.ha-pdf .pl{display:block;height:6px;border-radius:99px;background:#dcdcec;margin:10px 0}.ha-pdf .l1{width:92%}.ha-pdf .l2{width:78%}.ha-pdf .l3{width:60%}
.ha-pdf .hl{position:absolute;left:16px;top:58px;height:15px;width:0;border-radius:5px;background:rgba(255,214,10,.55);animation:haHl 7.5s ease-in-out infinite;animation-delay:1s}
@keyframes haHl{0%{width:0}25%,80%{width:130px}100%{width:0}}
.ha-pdf .pen{position:absolute;left:16px;bottom:18px;width:60px;height:3px;border-radius:3px;background:#e5484d;transform-origin:left;transform:scaleX(0);animation:haUnder 7.5s ease-in-out infinite;animation-delay:2.4s}
@keyframes haUnder{0%{transform:scaleX(0)}25%,80%{transform:scaleX(1)}100%{transform:scaleX(0)}}
.ha-sum{left:118px;bottom:0;width:240px;transform:rotate(-1.5deg);--r:-1.5deg;animation-delay:-4s}
.ha-sum p{margin:6px 0 0;font-size:12.5px;color:#3b3b4f;display:flex;gap:7px;align-items:center;opacity:0;animation:haPop 7.5s ease-in-out infinite;animation-delay:1.6s}.ha-sum p+p{animation-delay:2.6s}
.ha-sum p i{width:6px;height:6px;border-radius:50%;background:var(--violet);flex:none}
.ha-exam{left:0;top:10px;width:170px;transform:rotate(-3deg);--r:-3deg}
.ha-exam small,.ha-focus small{font-size:11px;color:#8a8a98;font-weight:600;display:block}.ha-exam b{font-size:22px;letter-spacing:-.03em;display:block;margin:2px 0 10px}.ha-exam .num{color:var(--violet)}
.ha-exam .bar{height:7px;border-radius:99px;background:#eeeef4;overflow:hidden}.ha-exam .bar i{display:block;height:100%;width:0;border-radius:99px;background:var(--violet);animation:haBar 7.5s ease-in-out infinite;animation-delay:.6s}
@keyframes haBar{0%{width:0}30%,85%{width:68%}100%{width:0}}
.ha-grade{right:0;top:0;width:210px;height:150px;transform:rotate(3deg);--r:3deg;animation-delay:-2s}
.ha-grade .bars{display:flex;align-items:flex-end;gap:9px;height:84px;padding-top:6px}
.ha-grade .bars u{flex:1;border-radius:8px 8px 4px 4px;background:linear-gradient(#8f7bff,#5b3df5);height:0;animation:haGrow 7.5s cubic-bezier(.3,.9,.3,1) infinite}
.ha-grade .bars u:nth-child(2){animation-delay:.15s}.ha-grade .bars u:nth-child(3){animation-delay:.3s}.ha-grade .bars u:nth-child(4){animation-delay:.45s}.ha-grade .bars u:nth-child(5){animation-delay:.6s}
@keyframes haGrow{0%{height:0}22%,85%{height:var(--h)}100%{height:0}}
.ha-focus{left:130px;bottom:0;width:190px;display:flex;align-items:center;gap:14px;transform:rotate(-1.5deg);--r:-1.5deg;animation-delay:-4s}
.ha-focus svg{width:46px;height:46px;transform:rotate(-90deg);flex:none}.ha-focus circle{fill:none;stroke:#eeeef4;stroke-width:4.5}
.ha-focus .pg{stroke:var(--violet);stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:113;animation:haRing 7.5s ease-in-out infinite}
@keyframes haRing{0%{stroke-dashoffset:113}60%,88%{stroke-dashoffset:30}100%{stroke-dashoffset:113}}
.ha-focus b{font-size:22px;letter-spacing:-.03em}
@media (prefers-reduced-motion:reduce){.ha-scene{display:none}.ha-scene:first-child{display:block;opacity:1;transform:none}}
.ha-exam .num{font-size:inherit;font-weight:inherit}
.page.home.calm>.welcome .hsearch{max-width:min(600px,100%)}
.hero-art{right:clamp(16px,3vw,56px)}

/* v22: timer pill – white like the bars, glides in/out */
.timer-pill{background:#fff!important;color:var(--ink)!important;top:18px;right:30px;padding:9px 16px 9px 14px;box-shadow:0 2px 6px rgba(30,20,90,.06),0 12px 32px rgba(30,20,90,.14)!important;border:1px solid #ececf1;gap:9px;font-weight:700;font-size:15px;letter-spacing:-.01em;
  opacity:0;transform:translateY(-14px) scale(.92);pointer-events:none;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.9,.3,1.15)}
.timer-pill[hidden]{display:flex!important}
.timer-pill.show{opacity:1;transform:none;pointer-events:auto}
.timer-pill:hover{box-shadow:0 2px 6px rgba(30,20,90,.08),0 16px 38px rgba(30,20,90,.2)!important}
.timer-pill .pd{width:9px;height:9px;border-radius:50%;background:#c9c9d6;flex:none;transition:background .3s}
.timer-pill.run .pd{background:var(--violet);animation:tpPulse 1.8s ease-in-out infinite}
@keyframes tpPulse{0%,100%{box-shadow:0 0 0 0 rgba(91,61,245,.45)}50%{box-shadow:0 0 0 6px rgba(91,61,245,0)}}
.timer-pill b{font-variant-numeric:tabular-nums}
@media (max-width:900px){.timer-pill{top:10px;right:12px}}

/* v23: timer box bottom-left (aligned with the panel's bottom corner), full-screen "time is up" */
.timer-pill{top:auto!important;right:auto!important;left:12px;bottom:12px;width:238px;border-radius:30px;padding:16px 18px 14px;flex-direction:column;align-items:stretch;gap:8px;cursor:pointer;z-index:95;
  transform:translateY(24px) scale(.94);transform-origin:left bottom}
.timer-pill.show{transform:none}
.timer-pill .tb-top{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:#6b6b78}
.timer-pill .tb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timer-pill .tb-t{font-size:38px;line-height:1;letter-spacing:-.04em;font-weight:700}
.timer-pill .tb-bar{height:6px;border-radius:99px;background:#eeeef4;overflow:hidden}.timer-pill .tb-bar i{display:block;height:100%;width:0;border-radius:99px;background:var(--violet);transition:width .6s linear}
.timer-pill .tb-act{display:flex;gap:8px;margin-top:2px}
.timer-pill .tb-act button{flex:1;height:36px;border-radius:999px;background:#f3f3f7;display:grid;place-items:center;cursor:pointer;transition:background .2s}
.timer-pill .tb-act button:first-child{background:var(--violet);color:#fff}.timer-pill .tb-act button:hover{filter:brightness(.96)}
.timer-pill .tb-act svg{width:17px;height:17px}
body:has(.shell.collapsed) .timer-pill{width:62px;padding:12px 6px;border-radius:24px;align-items:center}
body:has(.shell.collapsed) .timer-pill .tb-l,body:has(.shell.collapsed) .timer-pill .tb-bar,body:has(.shell.collapsed) .timer-pill .tb-act button:last-child{display:none}
body:has(.shell.collapsed) .timer-pill .tb-t{font-size:17px;letter-spacing:-.02em}
body:has(.shell.collapsed) .timer-pill .tb-act{width:100%}
@media (max-width:900px){.timer-pill{left:10px;bottom:calc(84px + env(safe-area-inset-bottom));top:auto!important;width:200px;padding:12px 14px}.timer-pill .tb-t{font-size:30px}}

#tup{position:fixed;inset:0;z-index:300;display:grid;place-items:center;text-align:center;padding:24px;overflow:hidden;background:linear-gradient(135deg,#dfe8ff 0%,#e7e0ff 50%,#f3e3ff 100%);opacity:0;transition:opacity .45s ease}
#tup.show{opacity:1}
#tup .tu-in{position:relative;z-index:2;max-width:620px;transform:translateY(24px) scale(.96);transition:transform .7s cubic-bezier(.2,.9,.3,1.1)}#tup.show .tu-in{transform:none}
#tup h1{font-size:clamp(48px,9vw,110px);letter-spacing:-.05em;line-height:.95;margin:6px 0 14px}
#tup .tu-sub{font-size:clamp(17px,2.2vw,22px);color:#4b4b5e;margin:0 0 28px}
#tup .tu-ring{width:112px;height:112px;margin:0 auto 22px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--violet);box-shadow:0 20px 60px rgba(70,60,190,.25);position:relative}
#tup .tu-ring::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(91,61,245,.35);animation:tuPulse 2s ease-out infinite}
#tup .tu-ring span svg{width:48px;height:48px;stroke-width:2}
@keyframes tuPulse{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.5);opacity:0}}
#tup .tu-b{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}
#tup .b1{width:60vw;height:60vw;left:-15vw;bottom:-25vw;background:rgba(80,110,255,.4);animation:drift 14s ease-in-out infinite}
#tup .b2{width:55vw;height:55vw;right:-15vw;top:-25vw;background:rgba(170,110,255,.5);animation:drift 16s ease-in-out infinite reverse}
@media (prefers-reduced-motion:reduce){#tup .tu-ring::after,#tup .tu-b{animation:none}}
.toast{z-index:400!important}

/* ======== v24: fluid, fuller home + daily summary + round to-dos ======== */
.main:has(.welcome){--hw:min(1480px,100%)}
.page.home.calm>*:not(.welcome){max-width:var(--hw)!important}
.page.home.calm>.welcome{padding-inline:max(28px,calc(50% + var(--mx) - 740px))!important}
@media (max-width:1600px){.page.home.calm>.welcome{padding-inline:max(28px,calc(var(--mx) + 8px))!important}}
.page.home.calm>.welcome .hsearch{max-width:min(720px,100%)}
.hgrid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px}
.tiles2{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.tiles2 button{padding:18px 18px}
@media (min-width:1500px){.page.home.calm .greet-h{font-size:clamp(52px,4.4vw,72px)}.hero-art{transform:translateY(-50%) scale(1.15);transform-origin:right center}}
@media (max-width:1100px){.hgrid{grid-template-columns:1fr}}
.sumh{display:flex;justify-content:space-between;align-items:center}.sumh h2{margin:0}
.icon-btn.sm{width:34px;height:34px}.icon-btn.sm svg{width:17px;height:17px}.icon-btn.spin svg{animation:spin .9s ease}
@keyframes spin{to{transform:rotate(360deg)}}
.sumbox{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#eef2ff,#f3ecff);border-radius:22px;padding:16px 18px;margin:14px 0 6px}
.sum-ic{width:34px;height:34px;border-radius:12px;background:#fff;color:var(--violet);display:grid;place-items:center;flex:none;box-shadow:0 2px 8px rgba(70,60,190,.12)}.sum-ic svg{width:18px;height:18px}
.sumbox p{margin:0;font-size:16px;line-height:1.5;color:#2b2b3a;transition:opacity .3s}.sumbox p.busy{opacity:.45;animation:sumPulse 1.2s ease-in-out infinite}
@keyframes sumPulse{50%{opacity:.8}}
.todo{display:flex;align-items:center;gap:12px;padding:9px 4px;border-radius:14px;max-height:80px;overflow:hidden;transition:max-height .38s ease,opacity .38s ease,padding .38s ease,background .2s}
.todo:hover{background:#faf9fd}
.todo b{flex:1;min-width:0;font-weight:600;font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .3s}
.todo small{color:var(--muted);font-size:12.5px;flex:none}.todo small.red{color:#e5484d;font-weight:600}
.todo .sdot{flex:none}
.tc{width:28px;height:28px;border-radius:50%;border:2px solid #cfcfdd;background:#fff;flex:none;display:grid;place-items:center;cursor:pointer;transition:background .25s,border-color .25s,transform .25s cubic-bezier(.3,1.6,.5,1)}
.tc svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .35s ease .08s}
.tc:hover{border-color:var(--violet);transform:scale(1.08)}
.todo.done .tc{background:var(--violet);border-color:var(--violet);transform:scale(1.1)}.todo.done .tc svg{stroke-dashoffset:0}
.todo.done b{color:#a5a5b4;text-decoration:line-through}
.todo.gone{max-height:0!important;opacity:0;padding-top:0;padding-bottom:0}
.todo-add{display:flex;align-items:center;gap:12px;padding:8px 4px;margin-top:4px;border-top:1px solid #f0f0f4}
.todo-add .tc.add{border-style:dashed;color:#9a9aae;cursor:default}.todo-add .tc.add svg{width:15px;height:15px;stroke:#9a9aae;stroke-dasharray:none;stroke-dashoffset:0;stroke-width:2}.todo-add .tc.add:hover{transform:none;border-color:#cfcfdd}
.todo-add input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:15.5px;padding:8px 0}
.todo-add .link{font-size:13px;white-space:nowrap}
.empty.sm{margin:8px 0;font-size:14px}

/* v25: "Heute im Überblick" sits directly on the banner, no box */
.today-flat{margin-top:26px;max-width:min(720px,100%)}
.today-flat .sumh{margin-bottom:10px}.today-flat h2{font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:#4b4b6e;font-weight:700}
.today-flat .sumbox{background:none;border-radius:0;padding:0;margin:0 0 14px;gap:12px}
.today-flat .sumbox p{font-size:clamp(17px,1.5vw,21px);line-height:1.45;color:#1c1c2e;font-weight:500}
.today-flat .sum-ic{background:rgba(255,255,255,.85)}
.today-flat .sub-h{color:#4b4b6e;margin-top:14px}
.today-flat .li.tl{background:none}
.today-flat .todo:hover{background:rgba(255,255,255,.55)}
.today-flat .tc{background:rgba(255,255,255,.9)}
.today-flat .todo-add{border-top:1px solid rgba(80,70,170,.14)}
.today-flat .empty.sm{color:#4b4b6e}
.page.home.calm>.welcome{padding-bottom:clamp(120px,12vw,160px)!important}
.hero-art{top:36px!important;transform:none!important}
@media (min-width:1500px){.hero-art{transform:scale(1.15)!important;transform-origin:right top}}
.hgrid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.hgrid .rec{grid-column:auto!important}
@media (max-width:1100px){.hgrid{grid-template-columns:1fr}}
.page.home.calm>.welcome{padding-bottom:clamp(64px,6vw,90px)!important;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 80px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 80px),transparent 100%)}
.page.home.calm>.welcome+*{margin-top:-8px!important}

/* ======== v26: compact one-screen home – KI line + tasks side by side inside the banner ======== */
.hero-body{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:26px;margin-top:20px;max-width:min(880px,100%);align-items:start}
.hero-body .sumbox{display:flex;gap:12px;align-items:flex-start;background:none;padding:0;margin:0}
.hero-body .sum-ic{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--violet);box-shadow:0 6px 18px rgba(70,60,190,.18)}.hero-body .sum-ic svg{width:20px;height:20px}
.hero-body .sumbox p{font-size:15.5px;line-height:1.45;font-weight:500;color:#1c1c2e;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0 0}
.sum-r{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#6b6b88;flex:none;cursor:pointer;opacity:.7;transition:opacity .2s,background .2s}.sum-r:hover{opacity:1;background:rgba(255,255,255,.7)}.sum-r svg{width:15px;height:15px}.sum-r.spin svg{animation:spin .9s ease}
.mini-tl{display:flex;flex-direction:column;gap:5px;margin:12px 0 0 54px;font-size:13px;color:#3b3b55}.mini-tl span{display:flex;align-items:center;gap:8px}.mini-tl i{width:8px;height:8px;border-radius:50%;flex:none}
.hero-body .hb-r .sub-h{margin:0 0 4px;color:#4b4b6e;font-size:12px;letter-spacing:.06em}
.hero-body .todo{padding:5px 4px}.hero-body .todo b{font-size:15px}.hero-body .tc{width:26px;height:26px}
.hero-body .todo-add{padding:5px 4px;margin-top:2px}.hero-body .todo-add input{font-size:15px;padding:5px 0}
.hero-body .empty.sm{margin:4px 0}
/* hero tighter */
.page.home.calm>.welcome{padding-top:clamp(26px,3vw,40px)!important;padding-bottom:clamp(54px,5vw,76px)!important}
.page.home.calm .greet-h{font-size:clamp(40px,4.2vw,60px)!important;margin:2px 0 14px}
.welcome .hsearch{margin-top:0}
.page.home.calm>.welcome+*{margin-top:-10px!important}
.hero-art{top:28px!important}
@media (max-height:820px){.hero-art{display:none}}
/* compact bottom */
.tiles2{margin-top:0;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
.tiles2 button{display:grid!important;grid-template-columns:auto 1fr;grid-template-areas:"i b" "i s";column-gap:12px;row-gap:0;align-items:center;padding:12px 16px!important;border-radius:22px}
.tiles2 span{grid-area:i;margin:0!important;width:40px!important;height:40px!important}.tiles2 b{grid-area:b;align-self:end}.tiles2 small{grid-area:s;align-self:start}
@media (max-width:900px){.tiles2{grid-template-columns:1fr 1fr}.hero-body{grid-template-columns:1fr}}
.hgrid{margin-top:12px;gap:12px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.prog.panel.soft{padding:14px 18px}.prog h2{font-size:15px;margin:0}.prog .pstats{margin:8px 0 10px}.prog .pstats b{font-size:24px}.prog .wact{margin-top:10px}.prog .wact .btn{padding:9px 16px;font-size:14px}
.rec .sech{margin:0 0 2px!important}.rec .sh2{font-size:15px;margin:0!important}.rlist{padding:2px 2px 6px!important}
.rlist .rrow{padding:10px 14px;border-radius:18px}
.page.home.calm{padding-bottom:20px!important}
.main:has(.welcome){padding-bottom:12px!important}
/* fill the screen: banner grows, bottom blocks sit above the chat card */
@media (min-width:901px){
  .main:has(.welcome){display:flex;flex-direction:column}
  .main:has(.welcome) .home-wrap{flex:1;display:flex;flex-direction:column;min-height:0}
  .page.home.calm{flex:1;display:flex;flex-direction:column;padding-bottom:134px!important}
  .page.home.calm>.welcome{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
}
@media (min-width:901px){
  .page.home.calm{width:100%;margin:0}
  .page.home.calm>*:not(.welcome){width:100%}
  .page.home.calm>.welcome{width:auto}
}
@media (min-width:901px){.main:has(.welcome) .home-wrap{width:100%;margin:0;max-width:none}}
@media (min-width:901px) and (max-height:820px){.page.home.calm{padding-bottom:64px!important}.page.home.calm>.welcome{padding-bottom:40px!important}}

/* v27: art without numbers; text block flush to the top of the banner */
.ha-sum p s{display:block;height:7px;border-radius:99px;background:#dcdcec;width:150px}.ha-sum p s.w2{width:110px}
.ha-table u{min-height:22px}
@media (min-width:901px){
  .page.home.calm>.welcome{justify-content:flex-start!important;padding-top:clamp(22px,2.4vw,34px)!important}
}
/* v28: banner keeps its natural height, the tiles sit right below it */
@media (min-width:901px){
  .page.home.calm>.welcome{flex:0 0 auto!important;padding-bottom:clamp(44px,4vw,60px)!important;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 56px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 56px),transparent 100%)}
  .page.home.calm>.welcome+*{margin-top:-18px!important}
  .page.home.calm{padding-bottom:134px!important}
}

/* ======== v29: richer document editor ======== */
/* drawing tools start exactly where the text tools start */
.ned-bar .ned-tools,.ned-bar .inkpal{justify-self:start!important;justify-content:flex-start!important}
.tbtn.mini{width:20px!important;margin-left:-6px}.tbtn.mini svg{width:12px!important;height:12px!important;transform:rotate(0)}
#hl-m{--hc:#fff1a8}#hl-m::after{content:"";position:absolute;left:5px;right:5px;bottom:4px;height:3px;border-radius:3px;background:var(--hc)}#hl-m{position:relative}
/* fonts, sizes, widths */
.ned-paper.f-serif .body{font-family:Georgia,"Iowan Old Style","Times New Roman",serif}
.ned-paper.f-mono .body{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.94em}
.ned-paper.fs-s .body{font-size:15px}.ned-paper.fs-l .body{font-size:20px}
.ned-paper.w-s{--colw:700px}.ned-paper.w-m{--colw:860px}.ned-paper.w-l{--colw:1160px}
.ned-paper .body{padding-inline:max(28px,calc((100% - var(--colw,860px))/2 + 28px))!important}
/* callout */
.ned .body blockquote.callout{border:0;background:#efeaff;color:#2b2b3a;border-radius:18px;padding:12px 18px;font-size:.96em}
.ned .body blockquote.callout b{color:var(--violet)}
/* word count chip */
.docstat{position:sticky;bottom:16px;margin:0 0 0 18px;width:max-content;max-width:calc(100% - 36px);background:rgba(255,255,255,.92);border-radius:999px;padding:7px 14px;font-size:12.5px;color:#6b6b78;box-shadow:0 2px 10px rgba(30,20,90,.1);z-index:4;pointer-events:none;transition:opacity .3s}
.main.drawing .docstat{opacity:0}
/* colour popover */
.cpop{position:fixed;z-index:200;display:flex;gap:7px;padding:10px 12px;background:#fff;border-radius:18px;box-shadow:0 2px 6px rgba(0,0,0,.06),0 16px 44px rgba(30,20,90,.2);opacity:0;transform:translateY(-6px) scale(.96);transition:opacity .18s,transform .22s cubic-bezier(.2,.9,.3,1.2)}
.cpop.on{opacity:1;transform:none}
.cpop button{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.12);cursor:pointer;transition:transform .15s}.cpop button:hover{transform:scale(1.15)}
.cpop .cust{width:26px;height:26px;border-radius:50%;background:conic-gradient(red,yellow,lime,aqua,blue,magenta,red);display:grid;place-items:center;position:relative;overflow:hidden;cursor:pointer;color:#fff}.cpop .cust svg{width:13px;height:13px;filter:drop-shadow(0 0 2px #0006)}.cpop .cust input{position:absolute;inset:0;opacity:0;cursor:pointer}
/* find & replace */
.findbar{position:fixed;top:76px;right:34px;z-index:150;display:flex;align-items:center;gap:6px;background:#fff;border-radius:20px;padding:8px 10px;box-shadow:0 2px 6px rgba(0,0,0,.06),0 16px 44px rgba(30,20,90,.2);opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .25s cubic-bezier(.2,.9,.3,1.1);max-width:calc(100vw - 24px);flex-wrap:wrap}
.findbar.on{opacity:1;transform:none}
.findbar input{border:0;background:#f3f3f7;border-radius:12px;padding:8px 12px;font:inherit;font-size:14px;width:130px;outline:0}.findbar input:focus{box-shadow:0 0 0 2px #cfc4ff}
.findbar .fc{font-size:12.5px;color:#8a8a98;min-width:34px;text-align:center}
.findbar button{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#4b4b5e}.findbar button:hover{background:#f3f3f7}.findbar button svg{width:15px;height:15px}.findbar .dn svg{transform:rotate(180deg)}
.findbar button.tx{width:auto;padding:0 12px;border-radius:999px;font-size:13px;font-weight:600;background:#f3f3f7}.findbar button.tx:hover{background:#e6defe}
.findbar i{width:1px;height:20px;background:#e6e6ee;margin:0 4px}
::highlight(lumi-find){background:#fff1a8}
::highlight(lumi-find-cur){background:#ffb86b}

/* ======== v30: calendar on the home page ======== */
.hcal.panel.soft{padding:16px 18px 14px}
.cal-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cal-t{display:flex;align-items:center;gap:4px}.cal-t h2{margin:0;font-size:17px;min-width:150px;text-align:center;text-transform:capitalize;letter-spacing:-.02em}
.cal-t .nx svg{transform:rotate(180deg)}
.cal-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-r .hchip{font-size:12.5px;padding:5px 11px;background:#f3f3f7;box-shadow:none}.cal-r .hchip b{margin-right:3px}.cal-r .btn.small{padding:7px 12px;font-size:13px}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:10px;text-align:center}
.cal-g .wd{font-size:11.5px;font-weight:600;color:#9a9aae;padding:2px 0 4px;letter-spacing:.03em}
.cd{height:38px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:background .15s,transform .15s;position:relative}
.cd span{font-size:13.5px;font-weight:600;line-height:1}.cd em{display:flex;gap:3px;height:5px}.cd u{width:5px;height:5px;border-radius:50%;display:block}
.cd u.kexam{background:#e5484d}.cd u.ktask{background:var(--violet)}.cd u.kev{background:#2563eb}
.cd:hover{background:#f3f3f7}.cd.ex span{color:#c2272d}
.cd.today span{background:var(--violet);color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}
.cd.sel{background:#efeaff}.cd.sel.today{background:#efeaff}
.cal-d{margin-top:10px;border-top:1px solid #f0f0f4;padding-top:8px;min-height:72px}
.cd-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.cd-h b{font-size:14px}.cd-h .link{font-size:13px}
.cd-i{display:flex;align-items:center;gap:10px;padding:5px 0}
.cd-i .kb{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;background:#efeaff;color:var(--violet);flex:none}
.cd-i.kexam .kb{background:#ffe5e6;color:#c2272d}.cd-i.kev .kb{background:#e2ecff;color:#2563eb}
.cd-i b{flex:1;min-width:0;font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-i small{color:var(--muted);font-size:12.5px;flex:none}
.hcal .empty.sm{margin:6px 0 2px}
.hgrid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}

/* calendar: compact two-column body */
.hcal.panel.soft{padding:12px 16px 12px}
.cal-b{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px;margin-top:6px}
.cal-b .cal-g{margin-top:0}.cd{height:31px;gap:1px}.cd span{font-size:13px}.cd.today span{width:22px;height:22px}
.cal-b .cal-d{margin-top:0;border-top:0;padding-top:0;border-left:1px solid #f0f0f4;padding-left:18px;min-height:0}
.cal-g .wd{padding:0 0 2px}
.cal-t h2{font-size:16px;min-width:130px}
.cal-r .hchip{padding:4px 10px}
.hgrid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
@media (max-width:1100px){.cal-b{grid-template-columns:1fr}.cal-b .cal-d{border-left:0;padding-left:0;border-top:1px solid #f0f0f4;padding-top:8px}}
.inkpal #ip-cl.sel{background:#efeaff;color:var(--violet)}

/* notion-style blocks: toggle list + page links */
.ned .body details.tgl{margin:6px 0;padding:2px 0 2px 2px}
.ned .body details.tgl>summary{list-style:none;cursor:text;font-weight:600;position:relative;padding-left:28px;border-radius:10px}
.ned .body details.tgl>summary::-webkit-details-marker{display:none}
.ned .body details.tgl>summary::before{content:"";position:absolute;left:6px;top:50%;width:8px;height:8px;border-right:2.2px solid #8a8a9e;border-bottom:2.2px solid #8a8a9e;transform:translateY(-70%) rotate(-45deg);transition:transform .2s;cursor:pointer}
.ned .body details.tgl[open]>summary::before{transform:translateY(-70%) rotate(45deg)}
.ned .body details.tgl>*:not(summary){margin-left:28px}
.ned .body a.plink{display:inline-flex;align-items:center;gap:5px;background:#efeaff;color:var(--violet);border-radius:9px;padding:0 9px;font-weight:600;text-decoration:none;cursor:pointer;font-size:.95em;line-height:1.5}
.ned .body a.plink::before{content:"";width:9px;height:11px;border:2px solid currentColor;border-radius:3px;display:inline-block;opacity:.7}
.ned .body a.plink:hover{background:#e2d9ff}

/* ======== databases (table / board / calendar) ======== */
.viewsw{grid-template-columns:repeat(3,auto)!important}
.viewsw .knob{width:calc(100% / 3 - 2px)!important}
.viewsw[data-m=board] .knob{transform:translateX(100%)!important}.viewsw[data-m=cal] .knob{transform:translateX(200%)!important}
.viewsw[data-m=table] .knob{transform:none!important}
.viewsw button{padding:8px 14px}
.dbpaper{padding:24px clamp(14px,3vw,40px) 120px!important}
.dbbody{max-width:1400px;margin:0 auto}
.dbt-w{overflow-x:auto;background:#fff;border-radius:22px;box-shadow:0 2px 10px rgba(30,20,90,.06)}
.dbt{border-collapse:separate;border-spacing:0;width:100%;min-width:560px}
.dbt th{position:sticky;top:0;text-align:left;padding:12px 14px 10px;font-size:13px;font-weight:700;color:#3b3b4f;background:#fff;border-bottom:1px solid #efeff4;cursor:pointer;white-space:nowrap}
.dbt th small{display:block;font-weight:500;color:#9a9aae;font-size:11px}
.dbt th:hover{background:#faf9fd}
.dbt td{padding:2px 6px;border-bottom:1px solid #f3f3f7;vertical-align:middle}
.dbt tr:last-child td{border-bottom:0}
.dbt td input{width:100%;border:0;background:transparent;font:inherit;font-size:14.5px;padding:10px 8px;border-radius:10px;outline:0;min-width:90px}
.dbt td input:focus{background:#f5f2ff;box-shadow:0 0 0 2px #d9ccff}
.dbt .act{width:70px;text-align:right;white-space:nowrap;padding-right:10px}
.rx{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;color:#a0a0b2;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}.rx:hover{background:#f1f1f6;color:#3b3b4f}.rx svg{width:15px;height:15px}
.dbt tr:hover .rx{opacity:1}
.dbt .tc{width:24px;height:24px;margin-left:8px}.dbt .tc.on{background:var(--violet);border-color:var(--violet)}.dbt .tc.on svg{stroke-dashoffset:0}
.dsel{padding:6px 8px;border-radius:10px;cursor:pointer;min-width:90px;text-align:left}.dsel:hover{background:#f5f2ff}.dsel em{color:#c0c0cc;font-style:normal}
.dchip{display:inline-block;padding:3px 11px;border-radius:99px;font-size:12.5px;font-weight:600;color:#2b2b3a;white-space:nowrap}
.dbadd{display:flex;align-items:center;gap:8px;margin:12px 4px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.7);font-weight:600;font-size:14px;color:#4b4b5e;cursor:pointer}.dbadd:hover{background:#fff}.dbadd svg{width:16px;height:16px}
.dbadd.sm{margin:6px 0 0;width:100%;justify-content:center;background:transparent;color:#8a8a9e}
.dbb{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;align-items:start;overflow-x:auto;padding-bottom:12px}
.lane{background:rgba(255,255,255,.55);border-radius:22px;padding:12px;transition:background .2s,box-shadow .2s;min-height:120px}.lane.over{background:#efeaff;box-shadow:inset 0 0 0 2px #cfc4ff}
.lane header{display:flex;align-items:center;gap:8px;margin:2px 4px 10px}.lane header small{color:#9a9aae;font-weight:600}
.cards{display:flex;flex-direction:column;gap:9px}
.kcard{background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 1px 4px rgba(30,20,90,.08);cursor:grab;transition:transform .15s,box-shadow .15s}.kcard:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,20,90,.12)}.kcard.drag{opacity:.45}
.kcard b{font-size:14.5px;display:block;margin-bottom:6px}.kmeta{display:flex;flex-wrap:wrap;gap:5px}.kt{font-size:12px;color:#6b6b78;background:#f3f3f7;border-radius:99px;padding:2px 9px}
.dcal{background:#fff;border-radius:24px;padding:16px 18px;box-shadow:0 2px 10px rgba(30,20,90,.06)}
.dcal-h{display:flex;align-items:center;gap:6px;margin-bottom:10px}.dcal-h h2{margin:0;font-size:18px;text-transform:capitalize;min-width:170px;text-align:center}.dcal-h .nx svg{transform:rotate(180deg)}
.dcg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.dcg .wd{font-size:12px;font-weight:700;color:#9a9aae;text-align:center}
.dcell{min-height:88px;background:#f8f8fb;border-radius:14px;padding:7px 8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:background .15s}.dcell:hover{background:#f1ecff}
.dcell b{font-size:12.5px;color:#6b6b78}.dcell.today b{background:var(--violet);color:#fff;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}
.dev{background:#e6defe;color:#3b2f9c;border-radius:8px;padding:2px 7px;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dcell small{font-size:11px;color:#9a9aae}
.chkrow{display:flex;align-items:center;gap:8px}
.viewsw button{min-width:96px}

/* ======== v31: calmer banner background, calendar + "Weiterarbeiten" as matching cards ======== */
.welcome{background:linear-gradient(120deg,#e3ebff 0%,#ebe6ff 52%,#f3e9ff 100%)!important}
.welcome::before{left:-6%!important;bottom:-55%!important;width:60%!important;height:130%!important;background:radial-gradient(closest-side,rgba(120,150,255,.38),rgba(120,150,255,0))!important;filter:blur(8px)!important;transform:none!important;border-radius:50%!important}
.welcome::after{right:-6%!important;top:-60%!important;width:62%!important;height:140%!important;background:radial-gradient(closest-side,rgba(176,140,255,.5),rgba(176,140,255,0))!important;filter:blur(8px)!important;border-radius:50%!important}
.hgrid{align-items:stretch!important;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)!important;gap:14px!important}
.hgrid .hcol{display:flex;flex-direction:column}
.hgrid .hcol>.hcal{flex:1}
.hgrid .rec{grid-column:auto!important;margin:0!important;display:flex;flex-direction:column;background:#fff;border-radius:30px;padding:14px 16px 10px;box-shadow:0 1px 3px rgba(40,30,120,.05),0 10px 30px rgba(70,60,170,.08);min-width:0;min-height:0}
.rec .sech{margin:0 0 6px!important;align-items:center}
.rec .sh2{font-size:17px!important;margin:0!important}
.rec .rlist{flex-direction:column!important;gap:4px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0!important;flex:1;min-height:0}
.rec .rlist .rrow{flex:none!important;width:100%!important;box-shadow:none!important;background:transparent;border-radius:16px;padding:9px 10px!important;gap:12px}
.rec .rlist .rrow:hover{background:#f6f3ff;transform:none}
.rec .rrow .ri{width:38px;height:38px;border-radius:13px}
.rec .rrow b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.rec .rrow small{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.rec .rrow .tm2{min-width:0}
@media (max-width:1100px){.hgrid{grid-template-columns:1fr!important}}
@media (min-width:901px){.page.home.calm>.welcome{padding-bottom:clamp(34px,3vw,44px)!important}.cd{height:29px!important}.hgrid{margin-top:10px!important}}
.page.home.calm .hgrid section{margin-bottom:0!important}

/* v32: the blue glow flows further down on the LEFT only */
.page.home.calm{position:relative;isolation:isolate}
.page.home.calm::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:calc(-1 * var(--mx) - 260px);top:120px;width:640px;height:900px;background:radial-gradient(closest-side,rgba(115,145,255,.5),rgba(115,145,255,.22) 55%,rgba(115,145,255,0));filter:blur(6px)}
@media (max-width:900px){.page.home.calm::before{display:none}}
.hero-body .todo{gap:14px}
.hero-body .todo .tc{width:28px;height:28px;border-width:2px}

/* ======== documents page: controls in the white bar, content in the grey box ======== */
.docsed .docs-t{display:flex;flex-direction:column;gap:2px}
.docsed .docs-t>b{font-size:16px;letter-spacing:-.02em}
.docsed .path{display:flex;align-items:center;gap:4px;font-size:12.5px;flex-wrap:nowrap;white-space:nowrap}
.docsed .path button{padding:1px 4px;border-radius:7px;color:#6b6b78;font-size:12.5px}.docsed .path button.here{color:var(--ink);font-weight:600}.docsed .path button:hover{background:#f1f1f6}.docsed .path span{color:#b0b0be}
.docs-tools{gap:10px!important;width:min(520px,38vw)}
.docs-tools .searchbox{flex:1;margin:0;min-width:0}
.searchbox.flat{display:flex;align-items:center;gap:8px;background:#f3f3f7;border-radius:999px;padding:0 14px;height:38px;box-shadow:none}
.searchbox.flat svg{width:17px;height:17px;color:#8a8a98;flex:none}
.searchbox.flat input{flex:1;border:0;background:none;outline:0;font:inherit;font-size:14px;min-width:0}
.docs-tools .sortl{display:flex;align-items:center;gap:6px;color:#8a8a98;flex:none}.docs-tools .sortl svg{width:16px;height:16px}
.docs-tools .sortl select{border:0;background:#f3f3f7;border-radius:999px;padding:8px 12px;font-size:13px;height:38px}
.docsed .nb-r{gap:6px}
.docspaper{padding:22px clamp(16px,3vw,40px) 120px!important}
.docspaper .sh2.sm{margin:4px 0 12px}
.docspaper .foldgrid{margin-bottom:26px}
.fold .fi svg{width:22px;height:22px}
.icgrid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}
.icb{height:44px;border-radius:14px;background:#f3f3f7;color:#4b4b5e;display:grid;place-items:center;cursor:pointer;transition:background .15s,transform .15s}.icb:hover{background:#ebe6ff}.icb.on{background:var(--c,#5b3df5);color:#fff;transform:scale(1.06)}.icb svg{width:21px;height:21px}
@media (max-width:900px){.docs-tools{width:100%}.icgrid{grid-template-columns:repeat(6,1fr)}}
.docs-tools{width:min(480px,34vw)!important}
.docs-tools .sortl select{width:112px}
@media (min-width:901px){.docs-tools{width:min(400px,28vw)!important}.docs-tools .sortl select{width:100px;padding:8px 10px}.docsed .ned-bar{grid-template-columns:minmax(150px,1fr) auto auto!important}.docsed .ned-bar .nb-r{grid-column:3}}

/* ======== real folders ======== */
.docspaper .foldgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:22px 16px;margin-bottom:30px}
.docspaper .fold{all:unset;box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:8px 6px 10px;border-radius:22px;cursor:pointer;transition:transform .2s cubic-bezier(.3,1.4,.5,1),background .2s;outline:0}
.docspaper .fold:hover{transform:translateY(-3px)}
.docspaper .fold:focus-visible{background:rgba(255,255,255,.7)}
.docspaper .fold .fsvg{position:relative;width:104px;height:84px;filter:drop-shadow(0 8px 14px color-mix(in srgb,var(--c,#5b3df5) 35%,transparent));transition:filter .2s}
.docspaper .fold:hover .fsvg{filter:drop-shadow(0 12px 20px color-mix(in srgb,var(--c,#5b3df5) 45%,transparent))}
.fsvg svg{width:100%;height:100%;display:block}
.fsvg .fb{fill:color-mix(in srgb,var(--c) 72%,#000 28%)}
.fsvg .ff{fill:var(--c)}
.fsvg .fs{fill:rgba(255,255,255,.22)}
.fsvg .fic{position:absolute;left:0;right:0;top:34%;bottom:6%;display:grid;place-items:center;color:rgba(255,255,255,.95)}
.fsvg .fic svg{width:30px;height:30px;stroke-width:1.7}
.docspaper .fold>b{font-size:14px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;color:#1c1c22}
.docspaper .fold>small{font-size:12px;color:#8a8a98}
.docspaper .fold .dmore{all:unset;position:absolute;top:6px;right:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:rgba(255,255,255,.85);box-shadow:0 2px 8px rgba(30,20,90,.15);opacity:0;transition:opacity .15s}
.docspaper .fold:hover .dmore,.docspaper .fold:focus-within .dmore{opacity:1}
.docspaper .fold .dmore svg{width:16px;height:16px}
.docspaper .fold.drop{transform:scale(1.07);background:rgba(91,61,245,.1)}
.docspaper .fold.add .fsvg{--c:#d3d3e0;filter:none;opacity:.8}.docspaper .fold.add .fsvg .fic{color:#fff}
.docspaper .fold.add>b{color:#8a8a98}
.docspaper .fold.add:hover .fsvg{--c:var(--violet);opacity:1}
@media (max-width:900px){.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.docspaper .fold .fsvg{width:88px;height:71px}}
.docspaper .fold .fsvg>svg{width:100%!important;height:100%!important}
.docspaper .fold .fsvg .fic svg{width:30px!important;height:30px!important}

/* v33: softer, washed-out modern folders */
.fsvg .fb{fill:color-mix(in srgb,var(--c) 30%,#fff 70%)!important}
.fsvg .ff{fill:color-mix(in srgb,var(--c) 17%,#fff 83%)!important}
.fsvg .fs{fill:rgba(255,255,255,.7)!important}
.fsvg .fic{color:color-mix(in srgb,var(--c) 78%,#000 22%)!important;top:36%!important}
.fsvg .fic svg{stroke-width:1.5!important}
.docspaper .fold .fsvg{filter:drop-shadow(0 10px 16px color-mix(in srgb,var(--c,#5b3df5) 16%,transparent))!important}
.docspaper .fold:hover .fsvg{filter:drop-shadow(0 14px 22px color-mix(in srgb,var(--c,#5b3df5) 26%,transparent))!important}
.docspaper .fold.add .fsvg{--c:#c9c9d8;opacity:.9}
.docspaper .fold.add .fsvg .fic{color:#9a9aae!important}
.docspaper .fold.add:hover .fsvg{--c:var(--violet)}
.docspaper .fold.add:hover .fsvg .fic{color:var(--violet)!important}
.fsvg .fs{fill:rgba(255,255,255,.42)!important}

/* ======== v34: glossy folders with papers peeking out, name + count printed on the front ======== */
.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;gap:30px 22px!important}
.docspaper .fold{padding:6px!important;gap:0!important;align-items:stretch!important;text-align:left!important}
.docspaper .fold:hover{transform:translateY(-4px)!important}
.f3d{position:relative;width:100%;max-width:200px;height:140px;margin:0 auto;filter:drop-shadow(0 14px 18px color-mix(in srgb,var(--c,#5b3df5) 22%,transparent));transition:filter .2s}
.docspaper .fold:hover .f3d{filter:drop-shadow(0 20px 26px color-mix(in srgb,var(--c,#5b3df5) 32%,transparent))}
.fback{position:absolute;left:0;right:0;bottom:0;height:116px;border-radius:20px;background:color-mix(in srgb,var(--c) 52%,#fff 48%)}
.fback::before{content:"";position:absolute;left:0;top:-14px;width:44%;height:30px;border-radius:16px 16px 0 0;background:inherit}
.fpapers{position:absolute;left:0;right:0;bottom:62px;height:84px}
.pp{position:absolute;bottom:0;width:70px;height:88px;background:#fff;border-radius:7px;padding:9px 8px;box-shadow:0 2px 8px rgba(30,20,90,.18);transform-origin:50% 100%;transition:transform .3s cubic-bezier(.3,1.4,.5,1);overflow:hidden}
.pp b{display:block;font:700 9.5px/1.15 Georgia,"Times New Roman",serif;color:#1c1c22;margin-bottom:6px;max-height:22px;overflow:hidden}
.pp s{display:block;height:3px;border-radius:3px;background:#e4e4ec;margin:4px 0;text-decoration:none}.pp s:nth-child(3){width:80%}.pp s:nth-child(4){width:55%}
.pp0{left:7%;transform:rotate(-9deg)}.pp1{left:33%;transform:rotate(2deg) translateY(-6px)}.pp2{left:58%;transform:rotate(10deg)}
.docspaper .fold:hover .pp0{transform:rotate(-13deg) translateY(-8px)}.docspaper .fold:hover .pp1{transform:rotate(2deg) translateY(-14px)}.docspaper .fold:hover .pp2{transform:rotate(14deg) translateY(-8px)}
.ffront{position:absolute;left:0;right:0;bottom:0;height:84px;border-radius:22px;padding:0 16px 13px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 38%,#fff 62%),color-mix(in srgb,var(--c) 66%,#fff 34%));box-shadow:inset 0 2px 0 rgba(255,255,255,.65),inset 0 -10px 18px color-mix(in srgb,var(--c) 30%,transparent)}
.ffront>b{font-size:18px;font-weight:600;letter-spacing:-.02em;color:#fff;text-shadow:0 1px 6px color-mix(in srgb,var(--c) 55%,transparent);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.ffront>small{font-size:12.5px;font-weight:600;color:color-mix(in srgb,var(--c) 72%,#000 28%);opacity:.85}
.ffront .fic{position:absolute;right:13px;top:11px;color:rgba(255,255,255,.92)}.ffront .fic svg{width:22px;height:22px;stroke-width:1.6}
.docspaper .fold .dmore{top:2px!important;right:6px!important}
.docspaper .fold.add .f3d{--c:#c9c9d8;filter:none;opacity:.85}.docspaper .fold.add:hover .f3d{--c:var(--violet);opacity:1;filter:drop-shadow(0 14px 18px rgba(91,61,245,.25))}
.docspaper .fold.add .ffront>b{color:#fff}
@media (max-width:900px){.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important}.f3d{height:116px}.fback{height:96px}.ffront{height:70px}.pp{width:56px;height:72px}.ffront>b{font-size:15px}}

/* ======== v35: frosted-glass folder (back with tab, loose papers, stepped front) ======== */
.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important}
.f3d{height:auto!important;aspect-ratio:200/160;max-width:210px!important;filter:drop-shadow(0 16px 20px color-mix(in srgb,var(--c,#5b3df5) 26%,transparent))!important}
.docspaper .fold:hover .f3d{filter:drop-shadow(0 22px 28px color-mix(in srgb,var(--c,#5b3df5) 36%,transparent))!important}
.f3d>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.f3d .fb{fill:color-mix(in srgb,var(--c) 78%,#fff 22%)}
.f3d .ff{fill:color-mix(in srgb,var(--c) 52%,#fff 48%);fill-opacity:.94}
.f3d .fh{fill:rgba(255,255,255,.32);filter:blur(7px)}
.f3d .fp{fill:#fff;filter:drop-shadow(0 2px 5px rgba(30,20,90,.12));transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.f3d .fp0{fill-opacity:.82}.f3d .fp1{fill-opacity:.96}.f3d .fp2{fill-opacity:.68}
.docspaper .fold:hover .fp0{transform:translate(-4px,-8px) rotate(-5deg);transform-origin:90px 112px}
.docspaper .fold:hover .fp1{transform:translateY(-12px)}
.docspaper .fold:hover .fp2{transform:translate(4px,-8px) rotate(5deg);transform-origin:128px 110px}
.ftxt{position:absolute;left:7.5%;right:16%;bottom:9%;display:flex;flex-direction:column;gap:0}
.ftxt>b{font-size:19px;font-weight:600;letter-spacing:-.02em;color:#fff;text-shadow:0 1px 8px color-mix(in srgb,var(--c) 50%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ftxt>small{font-size:12.5px;font-weight:600;color:color-mix(in srgb,var(--c) 70%,#000 30%);opacity:.9}
.f3d>.fic{position:absolute;right:7%;bottom:10%;color:rgba(255,255,255,.95)}.f3d>.fic svg{width:22px;height:22px;stroke-width:1.6}
.docspaper .fold.add .f3d{--c:#c4c4d4;opacity:.9;filter:none!important}
.docspaper .fold.add:hover .f3d{--c:var(--violet);opacity:1;filter:drop-shadow(0 16px 20px rgba(91,61,245,.25))!important}
.docspaper .fold .dmore{top:4px!important;right:8px!important}
@media (max-width:900px){.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important}.ftxt>b{font-size:15px}}
.docspaper .fold .f3d>svg{width:100%!important;height:100%!important}
.docspaper .fold.add{width:100%}

/* ======== v36: 1:1 frosted folder – no icon ======== */
.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}
.f3d{aspect-ratio:227/190!important;max-width:230px!important}
.f3d .fb{fill:color-mix(in srgb,var(--c) 88%,#000 12%)!important}
.f3d .ff{fill:color-mix(in srgb,var(--c) 64%,#fff 36%)!important;fill-opacity:.93!important}
.f3d .fh{fill:rgba(255,255,255,.4)!important;filter:blur(10px)!important}
.f3d .fp{filter:drop-shadow(0 2px 6px rgba(20,30,80,.16));fill:#fff}
.f3d .fp0{fill-opacity:.8}.f3d .fp1{fill-opacity:.95}.f3d .fp2{fill-opacity:.62}
.docspaper .fold:hover .fp0{transform:translate(-3px,-6px) rotate(-4deg);transform-origin:85px 124px}
.docspaper .fold:hover .fp1{transform:translateY(-10px)}
.docspaper .fold:hover .fp2{transform:translate(3px,-6px) rotate(4deg);transform-origin:130px 122px}
.ftxt{left:6.5%!important;right:8%!important;bottom:11%!important}
.ftxt>b{font-size:21px!important;font-weight:500!important;letter-spacing:-.015em!important}
.ftxt>small{font-size:12.5px!important;font-weight:500!important;color:color-mix(in srgb,var(--c) 62%,#000 38%)!important;opacity:.9}
.f3d>.fic{display:none!important}
.f3d .fb{fill:color-mix(in srgb,var(--c) 92%,#fff 8%)!important}
.f3d .ff{fill:color-mix(in srgb,var(--c) 60%,#fff 40%)!important;fill-opacity:.97!important}

/* ======== v37: user-supplied folder artwork (dark glass, gradient rim) ======== */
.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:30px 22px!important}
.f3d{aspect-ratio:413/373!important;max-width:240px!important;filter:drop-shadow(0 16px 20px color-mix(in srgb,var(--c,#0a78ee) 30%,transparent))!important}
.docspaper .fold:hover .f3d{filter:drop-shadow(0 22px 28px color-mix(in srgb,var(--c,#0a78ee) 42%,transparent))!important}
.f3d>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ftxt{left:8%!important;right:8%!important;bottom:11%!important}
.ftxt>b{font-size:20px!important;font-weight:600!important;color:#fff!important;text-shadow:0 1px 8px rgba(0,20,60,.35)!important;letter-spacing:-.015em!important}
.ftxt>small{font-size:12.5px!important;font-weight:500!important;color:rgba(255,255,255,.72)!important;opacity:1!important}
.docspaper .fold.add .f3d{--c:#8b8ba3;opacity:.7;filter:none!important}
.docspaper .fold.add:hover .f3d{opacity:1;--c:#0a78ee;filter:drop-shadow(0 16px 20px rgba(10,120,238,.3))!important}
/* v38: smaller folders */
.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:22px 14px!important}
.f3d{max-width:150px!important}
.ftxt>b{font-size:14px!important}.ftxt>small{font-size:11px!important}
.ftxt{left:9%!important;bottom:12%!important}
@media (max-width:900px){.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}.f3d{max-width:120px!important}.ftxt>b{font-size:12.5px!important}}
/* v39: calm folders – no glow, no hover tint, no white box */
.docspaper .fold,.docspaper .fold:hover,.docspaper .fold:focus,.docspaper .fold:focus-visible,.docspaper .fold.drop{background:transparent!important;box-shadow:none!important;outline:0!important;transform:none!important}
.docspaper .fold .f3d,.docspaper .fold:hover .f3d,.docspaper .fold.add .f3d,.docspaper .fold.add:hover .f3d{filter:none!important;transition:none}
.docspaper .fold.drop .f3d{opacity:.75}
.docspaper .fold .dmore{background:transparent!important;box-shadow:none!important;color:#fff;top:calc(10% + 2px)!important;right:8%!important;width:24px!important;height:24px!important}
.docspaper .fold .dmore svg{width:16px;height:16px;filter:drop-shadow(0 1px 2px rgba(0,20,60,.4))}
.docspaper .fold.add:hover .f3d{opacity:.9;--c:#8b8ba3}
/* v40: calm "add task" row – plain plus, no dashed circle */
.todo-add .tc.add,.hero-body .todo-add .tc.add{border:0!important;background:transparent!important;box-shadow:none!important;width:28px;height:28px;border-radius:0}
.todo-add .tc.add svg{width:20px!important;height:20px!important;stroke:#5b5b78!important;stroke-width:1.8!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}
.todo-add{border-top:1px solid rgba(80,70,170,.12)}
.todo-add input::placeholder{color:#6b6b88}
.todo-add:focus-within .tc.add svg{stroke:var(--violet)!important}

/* folders and files in one flowing list */
.docspaper .items{display:flex;flex-wrap:wrap;gap:24px 20px;align-items:flex-start}
.docspaper .items>.fold{width:150px;flex:none}
.docspaper .items>.doc{width:210px;flex:none}
@media (max-width:900px){.docspaper .items{gap:18px 14px}.docspaper .items>.fold{width:120px}.docspaper .items>.doc{width:calc(50% - 8px)}}
/* breadcrumb: plain text only */
.docsed .path button,.docsed .path button.here,.docsed .path button:hover,.docsed .path button.drop{background:none!important;box-shadow:none!important;border-radius:0!important;padding:0 2px!important;border:0!important}
.docsed .path button:hover{color:var(--violet)}
.docsed .path button.drop{color:var(--violet);text-decoration:underline}

/* ======== AI command bar ======== */
#aicmd{position:fixed;inset:0;z-index:260;display:grid;justify-items:center;align-items:start;padding-top:16vh;opacity:0;transition:opacity .2s}
#aicmd.on{opacity:1}
#aicmd .aic-bg{position:absolute;inset:0;background:rgba(28,22,70,.28);backdrop-filter:blur(6px)}
#aicmd .aic-box{position:relative;width:min(660px,92vw);background:#fff;border-radius:30px;padding:14px 16px 16px;box-shadow:0 2px 8px rgba(0,0,0,.06),0 30px 80px rgba(40,30,120,.3);transform:translateY(-12px) scale(.98);transition:transform .3s cubic-bezier(.2,.9,.3,1.1)}
#aicmd.on .aic-box{transform:none}
.aic-in{display:flex;align-items:center;gap:10px;background:#f4f4f8;border-radius:999px;padding:6px 6px 6px 18px}
.aic-in>svg{width:20px;height:20px;color:var(--violet);flex:none}
.aic-in input{flex:1;border:0;background:none;outline:0;font:inherit;font-size:16px;min-width:0;padding:10px 0}
.aic-in .send{width:40px;height:40px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}.aic-in .send svg{width:18px;height:18px}
.aic-sug{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.aic-sug button{background:#f4f4f8;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:500;color:#3b3b4f;cursor:pointer;transition:background .15s}.aic-sug button:hover{background:#ebe6ff}
.aic-out{margin-top:14px;padding:4px 6px}.aic-out p{margin:0 0 8px;font-size:15.5px;line-height:1.5}

/* ======== AI writing animations ======== */
@keyframes aiWord{from{opacity:0;filter:blur(6px);transform:translateY(6px)}60%{filter:blur(1px)}to{opacity:1;filter:none;transform:none}}
.sw{display:inline-block;opacity:0;animation:aiWord .55s cubic-bezier(.2,.8,.2,1) forwards;will-change:opacity,transform,filter;white-space:pre-wrap}
@keyframes aiIn{from{opacity:0;transform:translateY(12px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.ai-in{opacity:0;animation:aiIn .6s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--d,0ms)}
.acts .act{opacity:0;animation:aiIn .5s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--base,0ms)}
.acts .act:nth-child(2){animation-delay:calc(var(--base,0ms) + 140ms)}.acts .act:nth-child(3){animation-delay:calc(var(--base,0ms) + 280ms)}.acts .act:nth-child(4){animation-delay:calc(var(--base,0ms) + 420ms)}.acts .act:nth-child(n+5){animation-delay:calc(var(--base,0ms) + 560ms)}
.ned-paper.ai-writing{box-shadow:inset 0 0 0 2px rgba(124,92,255,.0);animation:aiGlow 2.2s ease-in-out infinite}
@keyframes aiGlow{0%,100%{box-shadow:inset 0 0 0 0 rgba(124,92,255,0)}50%{box-shadow:inset 0 0 60px 0 rgba(124,92,255,.12)}}
.aic-think{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:600;padding:6px 4px;background:linear-gradient(100deg,#7a7a92 20%,#5b3df5 45%,#b6a4ff 55%,#7a7a92 80%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:aiShimmer 1.6s linear infinite}
.aic-think svg{width:18px;height:18px;color:var(--violet);animation:aiSpin 1.6s ease-in-out infinite}
@keyframes aiShimmer{from{background-position:120% 0}to{background-position:-120% 0}}
@keyframes aiSpin{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.25) rotate(25deg)}}
.m.a.dots{display:inline-flex;gap:5px;align-items:center;padding:14px 18px}
.m.a.dots span{animation:dotJump 1.1s ease-in-out infinite}.m.a.dots span:nth-child(2){animation-delay:.15s}.m.a.dots span:nth-child(3){animation-delay:.3s}
@keyframes dotJump{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}
.m.a{animation:aiIn .45s cubic-bezier(.2,.8,.2,1) both}.m.u{animation:aiIn .35s cubic-bezier(.2,.8,.2,1) both}
@media (prefers-reduced-motion:reduce){.sw,.ai-in,.acts .act,.m.a,.m.u{animation:none;opacity:1;filter:none;transform:none}.ned-paper.ai-writing,.aic-think,.aic-think svg{animation:none}}

/* ======== v41: calmer home – no art cards, no tiles ======== */
.hero-art{display:none!important}
.page.home.calm>.welcome{padding-bottom:clamp(40px,4vw,56px)!important}
.page.home.calm>.welcome+*{margin-top:-14px!important}
.hgrid{margin-top:0!important}
.hcal .cal-h{justify-content:flex-start}
.hero-body{max-width:min(860px,100%)}
.page.home.calm{overflow-y:clip;overflow-x:visible}

.main.homew{--panel:#fff;background:#fff;box-shadow:inset 0 0 0 1px #ececf1}
.main.homew:not(.doc-full){background:#fff!important;--panel:#fff;box-shadow:inset 0 0 0 1px #ececf1}

/* ======== v43: kompakt, volle Breite ======== */
.main.homew,.main.homew:not(.doc-full){margin:0!important;border-radius:0!important;box-shadow:none!important;min-height:100dvh;padding:22px clamp(18px,2.6vw,44px) 40px}
.shell:has(.main.homew){background:#fff}
@media (max-width:900px){.main.homew,.main.homew:not(.doc-full){padding:14px 16px 150px}}

/* ======== v44: weißer Rand + graue Box bleibt auch auf Home ======== */
.main.homew,.main.homew:not(.doc-full){margin:12px 12px 12px 0!important;border-radius:40px!important;background:var(--appbg)!important;--panel:var(--appbg);box-shadow:none!important;min-height:calc(100dvh - 24px);padding:26px clamp(18px,2.6vw,44px) 40px}
@media (max-width:900px){.main.homew,.main.homew:not(.doc-full){margin:8px 8px 0!important;border-radius:30px!important;padding:16px 16px 150px}}

/* v47: Home scrollt nicht (Desktop) – Inhalt passt sich der Höhe an */
@media (min-width:901px){
  .main.homew,.main.homew:not(.doc-full){height:calc(100dvh - 24px);min-height:0;overflow:hidden!important;display:flex;flex-direction:column;padding-bottom:22px}
  .main.homew .home-wrap{flex:1;min-height:0;display:flex}
  .main.homew #hq~*{}
}
@media (min-width:901px){.main.homew .home-wrap{display:block;width:100%;max-width:none;margin:0;flex:1;min-height:0}}

/* v48: Profil unten links + Anmelde-Screen */
.side{display:flex;flex-direction:column}
.side .sp{flex:1}
.nav-i.prof{margin-top:auto;display:flex;align-items:center;gap:10px;text-align:left;padding:8px}
.nav-i.prof .av{width:34px;height:34px;border-radius:50%;background:#0f0f12;color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.nav-i.prof .pn{display:flex;flex-direction:column;min-width:0}.nav-i.prof .pn b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-i.prof .pn small{font-size:12px;color:#8a8a98;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shell.collapsed .nav-i.prof .pn{display:none}
.authwrap{min-height:100dvh;display:grid;place-items:center;background:#f3f3f7;padding:20px}
.authcard{width:min(420px,100%);background:#fff;border-radius:32px;padding:34px 30px;display:flex;flex-direction:column;gap:6px;box-shadow:0 20px 60px rgba(0,0,0,.06)}
.authcard h1{font-size:26px;letter-spacing:-.03em;margin:18px 0 4px}.authcard .logo{align-self:flex-start}
.authcard .row{margin-top:8px}.authcard>.link{margin-top:14px;align-self:flex-start}

/* v49: Home-Redesign – weiße Karten auf Grau{margin-bottom:18px}

/* ======== v50: Home komplett neu – ruhiger, zentrierter Einstieg ======== */
.page.home.zen{max-width:780px;margin:0 auto;display:flex;flex-direction:column;align-items:stretch;padding:2vh 0 0;height:auto;overflow:visible}
.zen .z-date{margin:0;text-align:center;color:#8a8a98;font-size:14px;font-weight:500}
.zen .z-h{text-align:center;font-size:clamp(32px,3.6vw,46px);letter-spacing:-.045em;margin:6px 0 22px}
.zen .z-ask{display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 8px 8px 22px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 40px rgba(0,0,0,.07);margin:0}
.zen .z-sp{width:20px;height:20px;color:#0f0f12;flex:none}.zen .z-sp svg{width:100%;height:100%}
.zen .z-ask input{flex:1;border:0;outline:0;background:none;font:inherit;font-size:17px;padding:12px 0;min-width:0}
.zen .z-ask .send{width:46px;height:46px;border-radius:50%;background:#0f0f12;color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}.zen .z-ask .send svg{width:19px;height:19px}
.zen .z-chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.zen .z-chips button{background:rgba(255,255,255,.7);border:1px solid #e8e7e1;border-radius:999px;padding:8px 15px;font-size:13px;color:#3a3a46;font-weight:500;cursor:pointer;transition:background .2s}
.zen .z-chips button:hover{background:#fff}
.zen .z-ans{text-align:center;margin:22px auto 0;max-width:620px;min-height:26px;color:#4a4a56}.zen .z-ans p{margin:0;font-size:16px;line-height:1.55}
.zen .z-ans .acts{justify-content:center;margin-top:10px}
.zen .z-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.zen .z-pill{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#0f0f12;background:#e8e8ee;border-radius:999px;padding:8px 14px;cursor:pointer}
.zen .z-pill i{width:7px;height:7px;border-radius:50%;background:#0f0f12}.zen .z-pill:hover{background:#e2e1da}
.zen .z-cols{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:34px}
.zen .z-col h2{font-size:15px;letter-spacing:-.01em;margin:0 0 10px;color:#0f0f12}.zen .z-col h2 em{font-style:normal;color:#a0a0ae;font-weight:500;margin-left:4px}
.zen .z-t{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #e8e7e1;transition:opacity .35s,max-height .38s;max-height:60px;overflow:hidden}
.zen .z-t.gone{max-height:0;opacity:0;padding-block:0}.zen .z-t.done b{text-decoration:line-through;color:#a5a5b2}
.zen .z-t b{flex:1;min-width:0;font-weight:600;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zen .z-t small{color:#8a8a98;font-size:13px}.zen .z-t small.red{color:#d93a3a}
.zen .z-add{display:flex;align-items:center;gap:12px;padding:9px 0}.zen .z-add input{flex:1;border:0;outline:0;background:none;font:inherit;font-size:15px}
.zen .z-doc{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:9px 0;border-bottom:1px solid #e8e7e1;cursor:pointer;background:none}
.zen .z-di{width:34px;height:34px;border-radius:11px;background:#fff;display:grid;place-items:center;flex:none}.zen .z-di svg{width:18px;height:18px}
.zen .z-doc span:last-child{display:flex;flex-direction:column;min-width:0}.zen .z-doc b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zen .z-doc small{font-size:12px;color:#8a8a98}
.zen .z-quick{display:flex;justify-content:center;gap:10px;margin-top:30px;flex-wrap:wrap}
.zen .z-quick button{display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s}
.zen .z-quick button:hover{transform:translateY(-2px)}.zen .z-quick svg{width:17px;height:17px}
@media (max-width:760px){.zen .z-cols{grid-template-columns:1fr;gap:22px}.page.home.zen{padding-top:0}}
@media (min-width:901px) and (max-height:860px){.zen .z-quick{display:none}}
@media (min-width:901px) and (max-height:760px){.zen .z-chips{display:none}.zen .z-cols{margin-top:22px}}
@media (min-width:901px){.main.homew .home-wrap{display:flex;align-items:center;justify-content:center}.page.home.zen{height:auto!important;margin:0 auto!important;padding:0 0 4vh;width:100%}}
.zen .link{color:#0f0f12;font-weight:600}

/* ======== v51: Bento-Home – Widgets füllen den ganzen Screen ======== */
.main.homew,.main.homew:not(.doc-full){padding:22px clamp(16px,2vw,30px) 20px}
.page.home.bento{max-width:none;width:100%;margin:0!important;height:100%!important;display:flex;flex-direction:column;gap:12px;padding:0!important}
.main.homew .home-wrap{display:block!important;align-items:initial}
.bento .b-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.bento .z-date{text-align:left;margin:0}.bento .z-h{text-align:left;margin:2px 0 0;font-size:clamp(26px,2.6vw,36px)}
.bento .b-hr{flex:1 1 420px;max-width:640px;display:flex;flex-direction:column;gap:8px}
.bento .z-ask{padding:5px 5px 5px 18px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06)}
.bento .z-ask input{font-size:15px;padding:9px 0}.bento .z-ask .send{width:38px;height:38px}
.bento .z-chips{justify-content:flex-start;margin:0}.bento .z-chips button{padding:6px 12px;font-size:12px}
.bento .z-ans{margin:0;text-align:left;max-width:none;min-height:0;max-height:20vh;overflow:auto}.bento .z-ans p{font-size:14.5px;color:#55555f}
.bento .z-ans .acts{justify-content:flex-start}
.bento .b-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}
.bento .wg{background:#fff;border-radius:28px;padding:16px 20px;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;text-align:left;border:0}
.bento button.wg{cursor:pointer;transition:transform .2s}.bento button.wg:hover{transform:translateY(-2px)}
.bento .wg h2{font-size:13px;font-weight:700;color:#8a8a98;margin:0 0 8px;letter-spacing:0;text-transform:none}.bento .wg h2 em{font-style:normal;margin-left:4px;color:#b0b0bc}
.bento .w-tasks{grid-column:1/3;grid-row:1/3}.bento .w-cal{grid-column:3;grid-row:1/3}
.bento .w-goal{grid-column:4;grid-row:1}.bento .w-cards{grid-column:4;grid-row:2;background:#0f0f12;color:#fff}
.bento .w-rec{grid-column:1/3;grid-row:3}.bento .w-ex{grid-column:3;grid-row:3;background:#e8e8ee}.bento .w-quick{grid-column:4;grid-row:3}
.bento .w-cards h2{color:#9a9aa6}.bento .w-big{font-size:clamp(40px,5vh,64px);letter-spacing:-.05em;line-height:1;margin-top:auto}
.bento .wg p{margin:4px 0 0;font-size:14px}.bento .w-cards p{color:#c9c9d2}
.bento .w-go{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin-top:10px}.bento .w-go svg{width:14px;height:14px;transform:rotate(180deg)}
.bento .w-scroll{flex:1;min-height:0;overflow:auto;scrollbar-width:none}.bento .w-scroll::-webkit-scrollbar{display:none}
.bento .z-add{margin-top:auto;padding-top:8px}
.bento .w-goal{align-items:flex-start}.bento .w-ring{flex:1;min-height:0;aspect-ratio:1;max-height:100%;display:grid;place-items:center;position:relative}
.bento .w-ring .rg{width:100%;height:100%;position:relative}.bento .w-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.bento .rbg{fill:none;stroke:#eeeef2;stroke-width:12}.bento .rfg{fill:none;stroke-width:12;stroke-linecap:round}
.bento .w-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:20px;letter-spacing:-.03em}.bento .w-ring small{display:none}
.bento .w-goal p{margin:6px 0 0}
.bento .w-cal{padding:14px 16px}.bento .w-cal .cal-t{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.bento .w-cal .cal-t h2{margin:0;font-size:14px;color:#0f0f12;text-transform:capitalize}
.bento .w-cal .cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;flex:1;min-height:0;align-content:start}
.bento .w-cal .wd{font-size:11px;color:#a0a0ae;text-align:center;font-weight:600}
.bento .w-cal .cd{aspect-ratio:auto;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;font-size:13px;font-weight:500;cursor:pointer;padding:2px;background:none;border:0;gap:1px}
.bento .w-cal .cd:hover{background:#f3f3f6}.bento .w-cal .cd.today span{background:#0f0f12;color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center}
.bento .w-cal .cd.sel:not(.today){background:#e8e8ee}.bento .w-cal .cd em{height:5px;display:block;line-height:0}.bento .w-cal .cd u{display:inline-block;width:5px;height:5px;border-radius:50%;background:#0f0f12}.bento .w-cal .cd.ex u{background:#d93a3a}
.bento .w-cd{display:flex;flex-direction:column;gap:2px;font-size:12.5px;border-top:1px solid #f0f0f4;padding-top:8px;margin-top:6px}.bento .w-cd b{font-size:13px}.bento .w-cd .none{color:#a0a0ae}.bento .w-cd span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bento .w-cd .kexam{color:#d93a3a}
.bento .w-q{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bento .w-q button{background:#f5f5f8;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s}.bento .w-q button:hover{background:#ebebef}.bento .w-q svg{width:20px;height:20px}
.bento .z-t{padding:7px 0}.bento .z-doc{padding:6px 0}
@media (max-width:900px){.main.homew,.main.homew:not(.doc-full){padding:14px 14px 150px}.page.home.bento{height:auto!important}.bento .b-grid{display:flex;flex-direction:column}.bento .wg{min-height:150px}.bento .w-cal{min-height:340px}.bento .w-goal .w-ring{max-height:120px}}
@media (min-width:901px) and (max-height:820px){.bento .z-chips{display:none}.bento .z-ans{display:none}}
.bento button.wg{height:100%;width:100%;align-self:stretch;justify-self:stretch}.bento .b-grid>*{min-height:0}
.bento .wg,.bento button.wg{box-sizing:border-box}
@media (max-width:900px){.bento .b-grid>.wg{width:100%;max-width:100%}.bento .z-add .link{white-space:nowrap;flex:none}.bento .z-add input{min-width:0}}

/* v52: gleich große weiße Widgets (3x2), KI-Dock unten rechts bündig im Weiß */
.bento .b-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.bento .w-tasks{grid-column:1;grid-row:1}.bento .w-cal{grid-column:2;grid-row:1}.bento .w-goal{grid-column:3;grid-row:1}
.bento .w-cards{grid-column:1;grid-row:2;background:#fff;color:#0f0f12}.bento .w-rec{grid-column:2;grid-row:2}.bento .w-ex{grid-column:3;grid-row:2;background:#fff}
.bento .w-cards h2{color:#8a8a98}.bento .wg p,.bento .w-cards p{color:#55555f}
.bento .w-goal{align-items:stretch}.bento .w-goal .w-ring{max-height:none;flex:1}
.bento .z-ans{max-height:none;overflow:visible}.bento .b-head{align-items:flex-start}
@media (min-width:901px){.page.home.bento{padding-bottom:112px!important}
  .aipane{right:0!important;bottom:0!important;border-radius:28px 0 0 0!important;box-shadow:-8px -8px 30px rgba(0,0,0,.05)!important;width:min(400px,100vw)}
  .aipane.open{width:min(440px,100vw)}}
@media (min-width:901px) and (max-height:820px){.bento .z-ans{display:block}}
.bento button.wg{height:auto;align-self:stretch}
.bento .w-goal .w-ring{display:flex;justify-content:center;align-items:center;aspect-ratio:auto;min-height:0;overflow:hidden}
.bento .w-goal .w-ring .rg{height:100%;width:auto;aspect-ratio:1;max-height:100%}
.bento .w-goal .w-ring svg{position:absolute;inset:0}
.bento .w-goal p{text-align:center;margin:8px 0 0}.bento .w-goal .link{align-self:center;margin-top:4px}
.bento .wg,.bento section.wg{margin:0!important}
.bento .w-cal .cal-g{overflow:hidden}
@media (min-width:901px) and (max-height:820px){.bento .w-cd{display:none}.bento .w-cal .cd{font-size:12px}.bento .w-cal .cd.today span{width:20px;height:20px}}

/* v53: KI-Dock wie früher (schwebend, mit Abstand), schwarz, ohne Foto, sanftes Aufklappen */
@media (min-width:901px){
  .aipane{right:22px!important;bottom:22px!important;border-radius:28px!important;box-shadow:0 2px 6px rgba(0,0,0,.05),0 18px 50px rgba(0,0,0,.14)!important;width:min(380px,calc(100vw - 28px))}
  .aipane.open{width:min(420px,calc(100vw - 28px))}
}
#cam{display:none!important}
.aipane .ai-ic{background:#0f0f12!important;color:#fff!important;box-shadow:none!important}
.aipane .send,.aipane .t-in .send,.aipane button.send{background:#0f0f12!important;color:#fff!important}
.aipane .tin:focus{outline:0;box-shadow:0 0 0 2px #0f0f12 inset}
.aipane .m.u{background:#0f0f12!important;color:#fff!important}
.aipane .act,.aipane .acts .act{background:#f1f1f4;color:#0f0f12}
.aipane:not(.open) .msgs{display:block!important;max-height:0;opacity:0;padding:0!important;margin:0!important;overflow:hidden}
.aipane .msgs{transition:max-height .55s cubic-bezier(.3,.9,.3,1),opacity .4s ease}
.aipane.open .msgs{max-height:min(50dvh,470px);opacity:1}
.aipane.open .chatbox.flat{height:auto!important;display:flex}
.aipane .hai-chev{transition:transform .4s cubic-bezier(.3,.9,.3,1)}
.aipane .link,.aipane .ctxbar button,.aipane .ctxbar .link{color:#0f0f12!important}

/* v54: Fokus-Drehrad im Widget */
.bento .w-goal{align-items:center}
.bento .w-goal h2{align-self:flex-start}
.bento .fd{flex:1;min-height:0;aspect-ratio:1;max-height:100%;position:relative;touch-action:none;cursor:grab;user-select:none;outline:0}
.bento .fd:active{cursor:grabbing}
.bento .fd svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.bento .fd-bg{fill:none;stroke:#eeeef2;stroke-width:14}
.bento .fd-fg{fill:none;stroke:#0f0f12;stroke-width:14;stroke-linecap:round;transition:stroke-dasharray .12s linear}
.bento .fd.run .fd-fg{transition:stroke-dasharray .5s linear}
.bento .fd-knob{fill:#fff;stroke:#0f0f12;stroke-width:5;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}
.bento .fd-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.bento .fd-c b{font-size:clamp(26px,3.4vh,40px);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.bento .fd-c small{font-size:11px;color:#8a8a98;margin-top:2px}
.bento .fd-row{display:flex;gap:8px;margin-top:10px;width:100%}
.bento .fd-go{flex:1;background:#0f0f12;color:#fff;border-radius:999px;padding:11px 16px;font-weight:600;font-size:14px;cursor:pointer;transition:transform .15s}.bento .fd-go:active{transform:scale(.97)}
.bento .fd-rs{background:#f1f1f4;border-radius:999px;padding:11px 14px;font-size:13px;font-weight:600;cursor:pointer}
.bento .fd-g{margin:8px 0 0!important;font-size:12.5px!important;color:#8a8a98!important}.bento .fd-g b{color:#0f0f12}
@media (max-width:900px){.bento .w-goal{min-height:340px}.bento .fd{flex:none;width:220px;height:220px;max-height:none}}
.bento .w-cal .cal-g{grid-template-rows:auto;grid-auto-rows:minmax(0,1fr);align-content:stretch}.bento .w-cal .cal-g .wd{align-self:center}

/* v55: Sidebar komplett schwarz/grau */
.side .btn-new{background:#0f0f12!important;color:#fff!important;box-shadow:none!important}
.side .nav-i,.side .nav-i svg,.side .rail-tgl,.side .rail-tgl svg{color:#0f0f12!important}
.side .nav-i svg{stroke:currentColor}
.side .nav-i.on{background:#ececf0!important;color:#0f0f12!important}
.side .nav-i:hover{background:#f3f3f6!important}
.side .nav-i.on svg *{fill:revert-layer}
.side .brand,.side .lvl{color:#0f0f12}
@media (max-width:900px){.side .nav-i.on{background:transparent!important}.side .nav-i.on span{color:#0f0f12!important}}

/* ======== v56: neues Punkte-Logo + schönere Schreib-Animation ======== */
.ld{transform-box:fill-box;transform-origin:center}
.ai-ic .ld,.hai-h .ld{animation:ldBreath 3.4s ease-in-out infinite}
.ai-ic .ld:nth-child(n+2),.hai-h .ld:nth-child(n+2){animation-delay:calc(var(--k,0) * 1s)}
@keyframes ldBreath{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.78);opacity:.7}}
.ld:nth-child(2){--k:.1}.ld:nth-child(3){--k:.2}.ld:nth-child(4){--k:.3}.ld:nth-child(5){--k:.4}.ld:nth-child(6){--k:.5}.ld:nth-child(7){--k:.6}.ld:nth-child(8){--k:.7}.ld:nth-child(9){--k:.8}
.m.think,.aic-think{display:flex;align-items:center;gap:10px}
.m.think svg,.aic-think svg{width:22px;height:22px;color:#0f0f12;animation:none!important;flex:none}
.m.think .ld,.aic-think .ld,.s-aia .aic-think .ld{animation:ldWave 1.15s cubic-bezier(.4,0,.2,1) infinite;animation-delay:calc(var(--k,0) * 1.1s)}
@keyframes ldWave{0%,100%{transform:scale(1);opacity:.35}35%{transform:scale(1.55);opacity:1}70%{transform:scale(.8);opacity:.5}}
.m.think .shim,.aic-think{background:linear-gradient(100deg,#9a9aa6 20%,#0f0f12 45%,#9a9aa6 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 1.6s linear infinite}
.m.think{background:#f3f3f6;padding:12px 16px;border-radius:20px;width:fit-content}
.aic-think svg{-webkit-text-fill-color:initial}
@keyframes shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
/* Wörter: weich einblenden mit Glow + wandernder Punkt am Schreibkopf */
@keyframes aiWord{0%{opacity:0;filter:blur(9px);transform:translateY(10px) scale(.96)}55%{opacity:1;filter:blur(0);transform:none;text-shadow:0 0 16px rgba(15,15,18,.45)}100%{opacity:1;filter:none;transform:none;text-shadow:none}}
.sw{position:relative;animation-duration:.8s}
.sw::after{content:"";position:absolute;right:-7px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#0f0f12;opacity:0;pointer-events:none;animation:aiCaret .42s ease-out both;animation-delay:inherit}
@keyframes aiCaret{0%{opacity:0;transform:scale(0)}25%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.3)}}
@media (prefers-reduced-motion:reduce){.ld,.m.think .shim,.aic-think{animation:none!important}.sw::after{display:none}}

/* ======== v57: KI-Seite ganzflächig – Chats, Projekte, Anweisungen ======== */
.main.aipg,.main.aipg:not(.doc-full){padding:0!important;overflow:hidden!important;height:calc(100dvh - 24px);min-height:0;display:block}
.aip{display:grid;grid-template-columns:292px minmax(0,1fr);height:100%}
.aip-l{padding:22px 14px 18px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;scrollbar-width:none;border-right:1px solid #e8e7e1}.aip-l::-webkit-scrollbar{display:none}
.aip-new{display:flex;align-items:center;gap:10px;background:#0f0f12;color:#fff;border-radius:999px;padding:12px 18px;font-weight:600;font-size:14px;cursor:pointer;margin-bottom:10px;transition:transform .15s}.aip-new:active{transform:scale(.98)}.aip-new svg{width:17px;height:17px}
.aip-h{display:flex;align-items:center;justify-content:space-between;margin:14px 6px 2px;font-size:12px;font-weight:700;color:#8a8a98}
.aip-list{display:flex;flex-direction:column;gap:2px}
.aip-i{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:14px;cursor:pointer;font-size:14px;font-weight:500;min-height:38px;transition:background .15s}
.aip-i:hover{background:rgba(255,255,255,.7)}.aip-i.on{background:#fff;font-weight:600}
.aip-i>svg{width:17px;height:17px;flex:none}.aip-i>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aip-m{opacity:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;cursor:pointer;transition:opacity .15s}.aip-i:hover .aip-m,.aip-i.on .aip-m{opacity:.7}.aip-m:hover{background:#ececf0;opacity:1!important}.aip-m svg{width:16px;height:16px}
.aip-e{margin:4px 8px;font-size:12.5px;color:#9a9aa6;line-height:1.4}
.aip-r{display:flex;flex-direction:column;min-width:0;min-height:0}
.aip-t{display:flex;align-items:center;gap:14px;padding:18px 28px 10px}
.aip-t input{flex:1;min-width:0;border:0;background:none;outline:0;font:inherit;font-size:20px;font-weight:700;letter-spacing:-.03em;padding:6px 0}
.aip-ta{display:flex;align-items:center;gap:10px}.aip-pj{font-size:12.5px;color:#6a6a76;background:#e8e8ee;border-radius:999px;padding:5px 11px}.aip-pj:empty{display:none}
.aip-ta .btn{display:flex;align-items:center;gap:7px;background:#fff;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:600}.aip-ta .btn svg{width:15px;height:15px}
.aip-mob{display:none}
.aip .chatbox.flat{flex:1;min-height:0;height:auto;background:transparent;border-radius:0;padding:0 28px 24px;display:flex;flex-direction:column;overflow:hidden}
.aip .chatbox .modes{margin:0 auto 6px;max-width:760px;width:100%}
.aip .chatbox .msgs{flex:1;min-height:0;overflow-y:auto;max-width:760px;width:100%;margin:0 auto;padding:10px 4px 16px;scrollbar-width:none}.aip .msgs::-webkit-scrollbar{display:none}
.aip .chatbox .ctxbar{max-width:760px;width:100%;margin:0 auto}
.aip .chatbox .t-in{max-width:760px;width:100%;margin:0 auto;background:#fff;border-radius:999px;padding:7px 7px 7px 16px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 34px rgba(0,0,0,.06);display:flex;align-items:center;gap:8px}
.aip .chatbox .t-in .tin{flex:1;border:0!important;background:none!important;outline:0;box-shadow:none!important;font-size:16px;padding:10px 4px}
.aip .chatbox .t-in .send{width:42px;height:42px;border-radius:50%;background:#0f0f12;color:#fff}
.aip .chatbox .row{display:none}
.aip .m.u{background:#0f0f12;color:#fff}.aip .m.a{background:transparent;padding-left:0;max-width:100%}
#att.on{background:#0f0f12;color:#fff}
.ctxbar{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#4a4a56;padding:4px 6px}.ctxbar[hidden]{display:none}.ctxbar button{color:#0f0f12;font-weight:600;cursor:pointer;background:none}
@media (max-width:900px){.main.aipg,.main.aipg:not(.doc-full){height:calc(100dvh - 80px)}.aip{grid-template-columns:1fr}.aip-l{display:none}.aip-mob{display:grid}.aip-t{padding:14px 16px 6px}.aip .chatbox.flat{padding:0 14px 14px}.aip-pj{display:none}}
.aip-ta .btn{color:#0f0f12!important}.aip .link{color:#0f0f12!important;font-weight:600}

/* v58: Timer-Pill = schwarzer Fortschrittskreis mit Zeit, nur außerhalb von Home */
.timer-pill,body:has(.shell.collapsed) .timer-pill{width:96px!important;height:96px;padding:0!important;border-radius:50%!important;left:14px;bottom:14px;display:grid!important;place-items:center;border:0!important;background:conic-gradient(#0f0f12 calc(var(--p,0) * 1%),#e9e9ee 0)!important;box-shadow:0 8px 28px rgba(0,0,0,.14)!important;color:#0f0f12!important}
.timer-pill::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
.timer-pill .tb-t{position:relative;font-size:21px!important;letter-spacing:-.03em;font-variant-numeric:tabular-nums;z-index:1}
.timer-pill .tb-top,.timer-pill .tb-bar,.timer-pill .tb-act,.timer-pill .pd{display:none!important}
@media (max-width:900px){.timer-pill{width:76px!important;height:76px;left:10px;bottom:calc(84px + env(safe-area-inset-bottom))}.timer-pill .tb-t{font-size:17px!important}}
/* v59: Logo aus 3 Teilen – Animation pro Teil */
.ld:nth-child(n){--k:0}
g>.ld{transform-box:fill-box;transform-origin:center}

/* ======== v60: Logo 1:1 nach Vorlage (goldene Kachel + weiße, halbtransparente Schleife) ======== */
.ai-ic,.aipane .ai-ic,.hai-h .ai-ic,.mark{background:url(logo-white.png) center/84% no-repeat,linear-gradient(135deg,#f7d765 0%,#e8aa3a 100%)!important;color:transparent!important;box-shadow:none!important}
.ai-ic svg{display:none}
.aipane .ai-ic{width:58px;height:58px;border-radius:19px}
.mark{width:34px;height:34px;border-radius:11px!important;vertical-align:-9px;margin-right:8px}
.logo .mark{background-size:86%}
.aipane .hai-h b{font-size:16px}
@media (max-width:900px){.aipane .ai-ic{width:48px;height:48px}}
.aip-logo{width:52px;height:52px;border-radius:17px;flex:none;display:block}@media (max-width:900px){.aip-logo{width:40px;height:40px;border-radius:13px}}
/* v61: kleines Logo = Original mit 3D-Schleife (dunkle Version), auf dunklem Grund invertiert */
.ic .ld,image.ld{transform-box:fill-box;transform-origin:center}
.send .ic image,.btn.primary .ic image,.aip-new .ic image{filter:invert(1)}
.nav-i .ic image{opacity:1}

/* v62: nur schwarzes Lumi-AI-Icon, kein gelbes Bild; Nav-Icon outline → gefüllt beim Aktivieren */
.ai-ic,.aipane .ai-ic,.hai-h .ai-ic{background:none!important;color:#0f0f12!important;width:40px;height:40px;border-radius:0!important;box-shadow:none!important}
.ai-ic svg{display:block!important;width:36px;height:36px}
.aipane .ai-ic{width:40px;height:40px;border-radius:0!important}
.aip-logo{width:40px;height:40px;flex:none;display:block;background:none!important}.aip-logo svg{width:100%;height:100%}
.mark{background:url(logo.png) center/contain no-repeat!important;border-radius:0!important}
.nav-i .ic image.ld{transform-box:fill-box}

/* v63: schönere Lumi-AI-Generierungs-Animation – Logo schwebt, kippt und wird von einem Lichtband durchlaufen */
.m.think .ld,.aic-think .ld{animation:none!important;opacity:1}
.m.think svg,.aic-think svg{width:28px;height:28px;overflow:visible;transform-origin:center;
  animation:lgFloat 2.4s ease-in-out infinite,lgSweep 1.5s linear infinite;
  -webkit-mask-image:linear-gradient(105deg,#000 32%,rgba(0,0,0,.22) 50%,#000 68%);mask-image:linear-gradient(105deg,#000 32%,rgba(0,0,0,.22) 50%,#000 68%);
  -webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.22))}
@keyframes lgFloat{0%,100%{transform:translateY(1px) rotate(-7deg) scale(1)}50%{transform:translateY(-2px) rotate(7deg) scale(1.14)}}
@keyframes lgSweep{from{-webkit-mask-position:115% 0;mask-position:115% 0}to{-webkit-mask-position:-15% 0;mask-position:-15% 0}}
.m.think{gap:12px;padding:12px 18px 12px 14px}
@media (prefers-reduced-motion:reduce){.m.think svg,.aic-think svg{animation:none;-webkit-mask-image:none;mask-image:none}}

/* v64: Lumi-AI-Seitenleiste */
#aiside{position:fixed;top:68px;right:12px;bottom:12px;width:min(410px,calc(100vw - 24px));z-index:80;background:#fff;border-radius:30px;box-shadow:0 2px 8px rgba(0,0,0,.05),0 24px 70px rgba(0,0,0,.16);display:flex;flex-direction:column;overflow:hidden;transform:translateX(calc(100% + 24px));opacity:0;pointer-events:none;transition:transform .5s cubic-bezier(.3,.9,.3,1),opacity .3s}
#aiside.on{transform:none;opacity:1;pointer-events:auto}
#aiside header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 6px 20px}
#aiside .as-l{display:flex;align-items:center;gap:10px}#aiside .as-l svg{width:30px;height:30px}#aiside .as-l b{font-size:16px;letter-spacing:-.02em}
#aiside .as-r{display:flex;gap:2px}
.as-chips{display:flex;gap:6px;flex-wrap:wrap;padding:4px 18px 8px}
.as-chips button{background:#f3f3f7;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s}.as-chips button:hover{background:#e8e8ee}
#aiside .chatbox.flat{flex:1;min-height:0;height:auto;padding:0 14px 14px;background:transparent;display:flex;flex-direction:column}
#aiside .modes,#aiside .chatbox .row{display:none}
#aiside .msgs{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding:6px 2px 10px}#aiside .msgs::-webkit-scrollbar{display:none}
#aiside .t-in{background:#f3f3f7;border-radius:999px;padding:5px 5px 5px 14px;display:flex;align-items:center;gap:6px}
#aiside .t-in .tin{flex:1;border:0!important;background:none!important;outline:0;box-shadow:none!important;font-size:15px;padding:9px 2px}
#aiside .t-in .send{width:40px;height:40px;border-radius:50%;background:#0f0f12;color:#fff}
#aiside .m.u{background:#0f0f12;color:#fff}#aiside .m.a{background:transparent;padding-left:0}
#ai-m.on,#aicb.on{background:#0f0f12!important;color:#fff!important}#ai-m.on svg,#aicb.on svg{filter:invert(1)}
@media (max-width:900px){#aiside{top:auto;left:8px;right:8px;bottom:8px;height:78dvh;width:auto}body.aiside-open #main{margin-right:0!important}}
/* v65: Logo im Kopf der KI-Boxen steht still */
.hai-h .ld,.ai-ic .ld,.aipane header .ld,#aiside header .ld,.aip-logo .ld{animation:none!important;transform:none!important;opacity:1!important}

/* v66: Aufgaben ohne seltsamen Rand, Kalender neu, Erstellt-Hinweise als Link statt Block */
.bento .z-t,.bento .todo.z-t{border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;border-bottom:1px solid #f0f0f4!important;padding:10px 0!important;outline:0}
.bento .z-t:last-child{border-bottom:0!important}
.bento .z-add{border:0;border-top:1px solid #f0f0f4;border-radius:0;background:none;box-shadow:none}
.bento .w-cal{padding:16px 18px 14px}
.bento .w-cal .cal-t{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
.bento .w-cal .cal-t h2{margin:0;font-size:16px;font-weight:700;color:#0f0f12;letter-spacing:-.02em}
.bento .cal-nav{display:flex;align-items:center;gap:2px}
.bento .cal-today{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:#f3f3f7;margin-right:6px;cursor:pointer}.bento .cal-today:hover{background:#e8e8ee}
.bento .w-cal .cal-g{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,minmax(0,1fr));gap:2px 0;flex:1;min-height:0;overflow:hidden}
.bento .w-cal .wd{font-size:11px;color:#9a9aa8;text-align:center;font-weight:600;padding-bottom:4px}
.bento .w-cal .cd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;min-height:0;border-radius:12px;font-size:13px;font-weight:500;cursor:pointer;padding:0;background:none;border:0;aspect-ratio:auto}
.bento .w-cal .cd span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%}
.bento .w-cal .cd.out{color:#c0c0cc}
.bento .w-cal .cd:hover span{background:#f3f3f7}
.bento .w-cal .cd.today span{background:#0f0f12;color:#fff}
.bento .w-cal .cd.sel:not(.today) span{box-shadow:inset 0 0 0 1.5px #0f0f12}
.bento .w-cal .cd em{height:4px;display:block;line-height:0;margin-top:-1px}.bento .w-cal .cd u{display:inline-block;width:4px;height:4px;border-radius:50%;background:#0f0f12}.bento .w-cal .cd.ex u{background:#d93a3a}
.bento .w-cd{border-top:1px solid #f0f0f4;margin-top:8px;padding-top:8px;display:flex;flex-direction:column;gap:3px;font-size:13px}
.bento .w-cd .cd-h{display:flex;justify-content:space-between;align-items:center}.bento .w-cd .cd-h b{font-size:13px}
.bento .w-cd .cd-i{display:flex;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bento .w-cd .cd-i i{width:6px;height:6px;border-radius:50%;background:#0f0f12;flex:none}.bento .w-cd .cd-i.kexam i{background:#d93a3a}
.bento .w-cd .none{color:#a0a0ae}
/* Von Lumi AI Erstelltes: Symbol + Link, kein eigener Block */
.acts{gap:4px}
.acts .act,.aipane .act,.aipane .acts .act{background:none!important;box-shadow:none!important;border-radius:0!important;padding:2px 0!important;font-size:14px;font-weight:600;gap:8px;color:#0f0f12}
.acts .act svg{width:17px;height:17px;flex:none}
.acts button.act span{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(15,15,18,.3);transition:text-decoration-color .15s}
.acts button.act:hover{background:none!important}.acts button.act:hover span{text-decoration-color:#0f0f12}
.acts .act.err{color:#d93a3a}
.acts .act svg{color:#0f0f12!important}

/* ======== v67: Schritt-Ablauf (Kreis · Text · gestrichelte Linie · nächster Kreis), weißes Logo auf Schwarz, Dokumente-Seite ======== */
.acts{display:flex;flex-direction:column;gap:0;margin-top:14px;align-items:flex-start}
.acts .act{position:relative;display:block!important;padding:0 0 20px 38px!important;min-height:24px;line-height:24px;font-size:14px;font-weight:600;color:#0f0f12;text-align:left;background:none!important;box-shadow:none!important}
.acts .act:last-child{padding-bottom:0!important}
.acts .act::before{content:"";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1.6px #0f0f12}
.acts .act svg{position:absolute;left:4px;top:4px;width:16px;height:16px;color:#0f0f12!important}
.acts .act:not(:last-child)::after{content:"";position:absolute;left:11.5px;top:28px;bottom:4px;border-left:1.6px dashed #b9b9c6}
.acts .act.err::before{box-shadow:inset 0 0 0 1.6px #d93a3a}.acts .act.err svg{color:#d93a3a!important}
.acts button.act:hover::before{background:#0f0f12}.acts button.act:hover svg{color:#fff!important}
.acts .act svg+span{display:inline}
/* AI-Knopf in Dokumenten: immer schwarz mit weißem Logo */
#ai-m,#aicb{background:#0f0f12!important;color:#fff!important;border-radius:999px;padding:0 14px 0 11px;gap:7px;font-weight:700}
#ai-m svg,#aicb svg{filter:invert(1)}
#ai-m:hover,#aicb:hover{background:#2a2a31!important}
#ai-m.on,#aicb.on{box-shadow:0 0 0 3px rgba(15,15,18,.15)}
/* Dokumente-Seite */
.dtools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;flex-wrap:wrap}
.dchips{display:flex;gap:6px;flex-wrap:wrap}
.dchips button{display:flex;align-items:center;gap:7px;background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.dchips button em{font-style:normal;font-size:11.5px;color:#9a9aa8;font-weight:600}.dchips button:hover{background:#ececf2}
.dchips button.on{background:#0f0f12;color:#fff}.dchips button.on em{color:#b0b0bc}
.dview{display:flex;background:#fff;border-radius:999px;padding:3px}.dview button{width:34px;height:30px;border-radius:999px;display:grid;place-items:center;cursor:pointer}.dview button svg{width:16px;height:16px}.dview button.on{background:#0f0f12;color:#fff}
.docspaper .items>.doc{width:228px;border-radius:24px;box-shadow:0 1px 2px rgba(0,0,0,.03);transition:transform .25s cubic-bezier(.3,.9,.3,1),box-shadow .25s}
.docspaper .items>.doc:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.09)}
.doc .tbadge{position:absolute;left:10px;top:10px;z-index:2;display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-radius:999px;padding:4px 10px 4px 8px;font-size:11px;font-weight:700;color:#0f0f12}.doc .tbadge svg{width:13px;height:13px}
.docspaper .items.as-list{display:flex;flex-direction:column;gap:0;background:#fff;border-radius:24px;padding:6px 10px}
.items.as-list>.fold{width:auto!important;transform:none}
.drow{display:grid;grid-template-columns:34px minmax(0,1fr) 90px 150px 90px 30px;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px solid #f0f0f4;cursor:pointer;border-radius:14px;transition:background .15s}
.drow:last-child{border-bottom:0}.drow:hover{background:#f6f6fa}
.dr-i{width:34px;height:34px;border-radius:11px;background:#f3f3f7;display:grid;place-items:center}.dr-i svg{width:18px;height:18px}
.dr-t{display:flex;flex-direction:column;min-width:0}.dr-t b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dr-t small{font-size:12px;color:#8a8a98}.dr-t .pin{display:inline-block;margin-right:5px;vertical-align:-2px}.dr-t .pin svg{width:13px;height:13px}
.dr-k,.dr-a{font-size:12.5px;color:#6e6e7c}.dr-s{font-size:12.5px;color:#6e6e7c;display:flex;align-items:center;gap:6px}
.drow .dmore{position:static;opacity:.5;width:28px;height:28px}.drow:hover .dmore{opacity:1}
@media (max-width:760px){.drow{grid-template-columns:34px minmax(0,1fr) 30px}.dr-k,.dr-s,.dr-a{display:none}}
.docspaper .items.as-list>.drow{width:100%}
.docspaper .items.as-list{gap:0}
.doc .th.note-th{padding:44px 16px 12px}
.doc .th.file-th{display:grid;place-items:center}
.doc .th.file-th b{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;font-size:14px;font-weight:700}.doc .th.file-th b svg{width:26px;height:26px;color:#fff}
.docsed #nw{background:#0f0f12!important;color:#fff!important}.docsed #nw svg{filter:none}
.doc .th.file-th b[style*="5b3df5"]{background:#0f0f12!important}

/* ======== v68: Änderungsvorschläge im Text ======== */
del.sg-del{color:#a8321f;background:rgba(217,58,58,.1);text-decoration:line-through;text-decoration-color:rgba(217,58,58,.65);text-decoration-thickness:1.5px;border-radius:5px;padding:0 3px;margin:0 1px;transition:opacity .22s,max-width .22s}
ins.sg-ins{text-decoration:none;color:inherit;background:linear-gradient(transparent 62%,rgba(18,178,122,.28) 62%),rgba(18,178,122,.1);border-radius:5px;padding:0 3px;margin:0 1px;animation:sgIn .55s cubic-bezier(.2,.8,.2,1) both;transition:opacity .22s}
@keyframes sgIn{from{opacity:0;transform:translateY(5px);filter:blur(4px);background-position:-100% 0}to{opacity:1;transform:none;filter:none}}
.sg-ctl{display:inline-flex;gap:3px;vertical-align:middle;margin:0 2px 0 5px;user-select:none;animation:sgIn .5s .15s cubic-bezier(.2,.8,.2,1) both}
.sg-ctl button{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;cursor:pointer;background:#fff;color:#0f0f12;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .15s,background .15s,color .15s;padding:0}
.sg-ctl button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sg-ctl .sg-ok{background:#0f0f12;color:#fff}.sg-ctl button:hover{transform:scale(1.15)}.sg-ctl .sg-no:hover{background:#ffeaea;color:#d93a3a}
.sg-out{opacity:0!important}
#sgbar{position:fixed;left:50%;bottom:26px;z-index:85;display:flex;align-items:center;gap:8px;background:#0f0f12;color:#fff;border-radius:999px;padding:7px 8px 7px 16px;box-shadow:0 14px 40px rgba(0,0,0,.28);transform:translate(-50%,24px);opacity:0;transition:transform .45s cubic-bezier(.3,.9,.3,1),opacity .3s;font-size:13.5px}
#sgbar.on{transform:translate(-50%,0);opacity:1}
#sgbar .sgb-l{display:flex;align-items:center;gap:8px;margin-right:6px;font-weight:700}#sgbar .sgb-l svg{width:20px;height:20px;filter:invert(1)}
#sgbar button{border-radius:999px;padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer}
#sgbar .sgb-no{background:rgba(255,255,255,.12);color:#fff}#sgbar .sgb-no:hover{background:rgba(255,255,255,.2)}
#sgbar .sgb-ok{background:#fff;color:#0f0f12}#sgbar .sgb-ok:hover{background:#eee}
@media (prefers-reduced-motion:reduce){ins.sg-ins,.sg-ctl{animation:none}}
/* Modellwahl im Chat */
.mdl{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px 0 12px;border-radius:999px;background:#f3f3f7;font-size:12.5px;font-weight:700;color:#0f0f12;cursor:pointer;flex:none;white-space:nowrap;transition:background .15s}
.mdl:hover{background:#e8e8ee}.mdl svg{width:13px;height:13px}
.aip .t-in .mdl{background:#f3f3f7}
@media (max-width:520px){.mdl span{display:none}}
.as-ac{padding:0 18px 4px}.as-ac[hidden]{display:none}
.as-ac button{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#6e6e7c;padding:4px 0;cursor:pointer}.as-ac button svg{width:16px;height:16px}.as-ac button:hover{color:#0f0f12}
.mdl span{max-width:120px;overflow:hidden;text-overflow:ellipsis}
.acset{margin-top:10px}

/* ======== v69: Chat-Eingabe als Karte (Kontext-Chips · Eingabe · Werkzeugzeile mit Modell und Senden) – nur im Chat ======== */
.chatbox .t-in.cmp,.aip .chatbox .t-in.cmp,#aiside .t-in.cmp,.aipane .t-in.cmp{display:flex!important;flex-direction:column;align-items:stretch;gap:6px;background:#fff!important;border:1px solid #e4e4ec;border-radius:24px!important;padding:12px 12px 10px 16px!important;box-shadow:0 8px 28px rgba(0,0,0,.06)!important;max-width:760px;width:100%;margin-inline:auto}
#aiside .t-in.cmp,.aipane .t-in.cmp{max-width:none;box-shadow:0 2px 10px rgba(0,0,0,.05)!important;background:#fff!important}
.t-in.cmp:focus-within{border-color:#0f0f12}
.t-in.cmp .tin{width:100%;border:0!important;background:none!important;outline:0!important;box-shadow:none!important;font-size:15.5px;padding:6px 0 4px!important;min-height:28px}
.t-in.cmp .ctxbar{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 2px}.t-in.cmp .ctxbar[hidden]{display:none}
.cx{display:inline-flex;align-items:center;gap:6px;border:1.5px dashed #c6c6d2;border-radius:999px;padding:3px 5px 3px 9px;font-size:12.5px;font-weight:600;max-width:210px;color:#2a2a33;animation:aiIn .35s both}
.cx>svg{width:14px;height:14px;flex:none}.cx b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.cx button{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;cursor:pointer;flex:none;background:#f1f1f5}.cx button:hover{background:#e3e3ea}.cx button svg{width:11px;height:11px}
.cmp-bar{display:flex;align-items:center;gap:6px;margin-top:2px}.cmp-sp{flex:1}
.cmp-b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:none;color:#4a4a56;transition:background .15s}.cmp-b:hover{background:#f1f1f5}.cmp-b svg{width:18px;height:18px}
.cmp-b.on{background:#0f0f12;color:#fff}
.t-in.cmp .mdl{height:32px;padding:0 9px 0 10px;gap:6px;background:#f3f3f7;border-radius:999px;font-size:12.5px}.t-in.cmp .mdl>svg:first-child{width:15px;height:15px}.t-in.cmp .mdl span{max-width:96px}
.t-in.cmp .send{width:36px;height:36px;border-radius:50%;background:#0f0f12;color:#fff;display:grid;place-items:center;flex:none}
/* Modell-Auswahl */
.mpop{position:fixed;z-index:200;width:290px;background:#fff;border-radius:20px;padding:8px;box-shadow:0 2px 8px rgba(0,0,0,.06),0 20px 56px rgba(0,0,0,.18);opacity:0;transform:translateY(6px) scale(.98);transition:opacity .18s,transform .18s}
.mpop.on{opacity:1;transform:none}
.mp-h{display:flex;align-items:center;gap:8px;padding:8px 10px 4px;font-size:11.5px;font-weight:700;color:#8a8a98}.mp-h svg{width:15px;height:15px}
.mp-i{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:8px 10px;border-radius:13px;cursor:pointer;transition:background .12s}.mp-i:hover{background:#f4f4f8}.mp-i.on{background:#f1f1f6}
.mp-i>svg:first-child{width:20px;height:20px;flex:none}.mp-i>svg:last-child:not(:first-child){width:16px;height:16px;margin-left:auto}
.mp-t{display:flex;flex-direction:column;min-width:0}.mp-t b{font-size:14px}.mp-t small{font-size:11.5px;color:#8a8a98;margin-top:1px}
/* Denk-Status wie in Notion: „Gesehen“ */
.tk-seen{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:#8a8a98;margin:8px 0 0 4px}
.tk-seen span{display:inline-flex;align-items:center;gap:6px}.tk-seen svg{width:14px;height:14px}
.tk-seen b{background:#f1f1f5;color:#2a2a33;border-radius:999px;padding:3px 10px;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ======== v70: Denk-Ablauf – Schritte erscheinen sanft nacheinander ======== */
.m.think.tkb{display:flex!important;flex-direction:column;align-items:flex-start;gap:7px;background:none!important;padding:8px 2px!important;width:100%;max-width:100%}
.tk-row{display:flex;align-items:center;gap:10px;min-height:26px;font-size:14px;color:#6e6e7c;animation:tkIn .55s cubic-bezier(.2,.8,.2,1) both;overflow:hidden}
.tk-row b{font-weight:600;color:#2a2a33}
.tk-row.on .shim{font-weight:600}
.tk-row.done{color:#9a9aa8;font-size:13.5px}
.tk-row.done b{color:#6e6e7c}
.tk-ok{width:18px;height:18px;border-radius:50%;background:#f1f1f5;display:grid;place-items:center;flex:none;animation:tkPop .4s cubic-bezier(.3,1.6,.5,1) both}.tk-ok svg{width:11px;height:11px;stroke-width:2.8;color:#0f0f12}
.tk-sp{width:18px;height:18px;flex:none;fill:#0f0f12}.tk-sp circle{opacity:.12;animation:tkDot 1s linear infinite;animation-delay:calc(var(--i) * -.125s)}
@keyframes tkDot{0%{opacity:1;transform:scale(1)}100%{opacity:.12;transform:scale(.7)}}
.tk-sp circle{transform-box:fill-box;transform-origin:center}
@keyframes tkIn{from{opacity:0;transform:translateY(8px);filter:blur(4px);max-height:0}to{opacity:1;transform:none;filter:none;max-height:40px}}
@keyframes tkPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.m.think.tkb .tk-row.on:first-child svg{width:24px;height:24px}
@media (prefers-reduced-motion:reduce){.tk-row,.tk-ok,.tk-sp circle{animation:none}.tk-sp circle{opacity:.6}}
.m.think .tk-ok svg{width:11px!important;height:11px!important;animation:none!important;-webkit-mask-image:none!important;mask-image:none!important;filter:none!important;color:#0f0f12}
.m.think svg.tk-sp{width:18px!important;height:18px!important;animation:none!important;-webkit-mask-image:none!important;mask-image:none!important;filter:none!important}
.m.think.tkb .tk-row:not(:first-child) svg:not(.tk-sp){animation:none}
.tk-ok svg{width:12px!important;height:12px!important}
.m.think .tk-ok svg{width:12px!important;height:12px!important;stroke-width:2.2}
.tk-ok{width:22px!important;height:22px!important;background:#f1f1f5}

/* Auto-Korrektur: kleine, ruhige Symbole statt grosser Markierungen */
del.sg-del.sg-mini{background:none;color:#a3a3b0;text-decoration-color:rgba(217,58,58,.55);padding:0;margin:0 1px;font-size:.92em}
ins.sg-ins.sg-mini{background:none;border-radius:0;padding:0 1px;margin:0;box-shadow:inset 0 -1.5px 0 rgba(15,15,18,.4)}
.sg-ctl.sg-mini{gap:2px;margin:0 1px 0 3px}
.sg-ctl.sg-mini button{width:15px;height:15px;box-shadow:none;background:#ececf1;color:#4a4a56}.sg-ctl.sg-mini button svg{width:9px;height:9px;stroke-width:2.8}
.sg-ctl.sg-mini .sg-ok{background:#0f0f12;color:#fff}
.sg-ctl.sg-mini button:hover{transform:scale(1.25)}
.sg-ins-blk{background:linear-gradient(90deg,rgba(18,178,122,.14),rgba(18,178,122,.04));border-left:3px solid rgba(18,178,122,.6);border-radius:6px;padding:4px 10px;margin:6px 0;animation:sgIn .55s cubic-bezier(.2,.8,.2,1) both;transition:opacity .22s}
.sg-ins-blk p{margin:.35em 0}.sg-ins-blk .sg-ctl{margin-left:8px}
.sg-ins-blk.sg-mini{background:none;border-left-color:rgba(15,15,18,.3)}
/* Logo in der dunklen Markier-Leiste weiß */
.bubble button svg:has(image){filter:invert(1)}

/* ======== v71: Lumi AI wohnt im Rahmen – der weiße Rahmen rechts wird breiter ======== */
@media (min-width:901px){
  #aiside{top:0;right:0;bottom:0;width:410px;border-radius:0;box-shadow:none;background:#fff;transform:translateX(100%);opacity:1}
  #aiside.on{transform:none}
  .main{transition:margin-right .55s cubic-bezier(.3,.9,.3,1)}
  body.aiside-open .main{margin-right:410px!important}
  body.aiside-open .main:not(.doc-full){margin-right:422px!important}
  body.aiside-open .ned-bar{grid-template-columns:minmax(0,1fr) minmax(0,auto) auto!important;gap:8px}
  body.aiside-open .ned-bar .ned-tools{min-width:0;overflow-x:auto;scrollbar-width:none}
  body.aiside-open .ned-bar .ned-tools::-webkit-scrollbar{display:none}
  body.aiside-open .ned-bar .saved{display:none}
  body.aiside-open #sgbar{left:calc(50% - 205px)}
  #aiside header{padding:16px 14px 8px 22px}
  #aiside .chatbox.flat{padding:0 16px 18px}
  #aiside .t-in.cmp{box-shadow:none!important;border-color:#e4e4ec}
}
/* AI-Knopf: ruhig, hell – kein schwarzer Block */
#ai-m,#aicb{background:#f3f3f7!important;color:#0f0f12!important;font-weight:700;padding:0 14px 0 10px;box-shadow:none}
#ai-m svg,#aicb svg{filter:none}
#ai-m:hover,#aicb:hover{background:#e8e8ee!important}
#ai-m.on,#aicb.on{background:#e3e3ea!important;box-shadow:none}
/* Neues = nur grün angestrichen */
.sg-ins-blk{background:rgba(18,178,122,.15)!important;border-left:0!important;border-radius:8px;padding:3px 10px}
.sg-ins-blk.sg-mini{background:rgba(18,178,122,.1)!important}
ins.sg-ins{background:rgba(18,178,122,.16)!important;box-shadow:none}
#ai-m.on,#aicb.on{color:#0f0f12!important;background:#e3e3ea!important}
#ai-m.on svg,#aicb.on svg{filter:none!important}
@media (min-width:901px){body.aiside-open .ned-bar{grid-template-columns:minmax(120px,.45fr) minmax(0,1.55fr) auto!important}}
@media (min-width:901px){body.aiside-open .ned-bar .nb-r{gap:6px;padding-left:6px}body.aiside-open .ned-bar .modesw{transform:scale(.92);transform-origin:right center}}

/* ======== v72: Word-ähnliche Formatierungsleiste + Dokumentdesign ======== */
.fmtbar{position:sticky;top:62px;z-index:48;display:flex;align-items:center;gap:2px;padding:4px 14px 6px;background:#fff;overflow-x:auto;scrollbar-width:none;min-height:42px}
.fmtbar::-webkit-scrollbar{display:none}
.fb{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:32px;height:32px;padding:0 6px;border-radius:10px;cursor:pointer;color:#2a2a33;font-size:13px;font-weight:600;white-space:nowrap;flex:none;transition:background .15s}
.fb:hover{background:#f1f1f5}.fb.on{background:#0f0f12;color:#fff}.fb .ic{width:17px;height:17px}.fb.wide{min-width:96px;justify-content:space-between;background:#f6f6fa;padding:0 8px 0 11px}.fb.wide:hover{background:#ececf2}.fb.wide .ic:last-child{width:14px;height:14px;opacity:.6}
.fb.fd span{max-width:104px;overflow:hidden;text-overflow:ellipsis}
.fsz{display:inline-flex;align-items:center;background:#f6f6fa;border-radius:11px;margin:0 4px;flex:none}.fsz .fb{min-width:28px;padding:0 4px}.fsz .fb.fd{min-width:36px;background:none;justify-content:center}
.fsep{width:1px;height:20px;background:#e6e6ee;margin:0 6px;flex:none}.fsp{flex:1;min-width:10px}
.fpop.fonts,.fpop.sizes{max-height:360px;overflow:auto}.fpop{width:auto;min-width:170px;max-width:300px}.fpop.sizes{min-width:74px}
.fpop .mp-i{padding:7px 12px}.fpop .mp-i.on{background:#f1f1f6}.fpop .pv-h1{font-size:19px}.fpop .pv-h2{font-size:17px}.fpop .pv-h3{font-size:15.5px}.fpop .pv-blockquote{font-style:italic;font-weight:500}.fpop .pv-pre{font-family:ui-monospace,Menlo,monospace;font-weight:500}
.fpop.sizes .mp-i{justify-content:center}
/* Dokumentdesign über Variablen */
.ned .body[data-ds]{font-family:var(--ed-ff,inherit);font-size:var(--ed-fs,18px);line-height:var(--ed-lh,1.8);text-align:var(--ed-ta,left)}
.ned .body{zoom:var(--ed-z,1)}
.ned .body[data-ds="classic"] h1,.ned .body[data-ds="classic"] h2,.ned .body[data-ds="classic"] h3,.ned .body[data-ds="thesis"] h1,.ned .body[data-ds="thesis"] h2,.ned .body[data-ds="thesis"] h3{font-family:inherit;letter-spacing:-.01em}
.ned .body[data-ds="thesis"] p{text-indent:0;margin-bottom:.5em}
.ned .body[data-ds="compact"] p{margin-bottom:.5em}
.ned .body[data-ds="mono"] h1,.ned .body[data-ds="mono"] h2,.ned .body[data-ds="mono"] h3{font-family:inherit}
@media (max-width:900px){.fmtbar{top:auto;position:static;padding:4px 10px}.fb.wide{min-width:84px}}

/* Quellen */
a.cite{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;margin:0 1px 0 2px;vertical-align:2px;border-radius:999px;background:#eceef3;color:#0f0f12!important;font-size:10.5px;font-weight:700;text-decoration:none!important;transition:background .15s,color .15s}
a.cite:hover{background:#0f0f12;color:#fff!important}
.srcs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 2px}
.srcs-t{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#8a8a98;margin-right:2px}.srcs-t svg{width:14px;height:14px}
a.src{display:inline-flex;align-items:center;gap:6px;max-width:210px;padding:4px 8px 4px 5px;border-radius:999px;background:#f3f3f7;color:#2a2a33!important;font-size:12px;font-weight:600;text-decoration:none!important;transition:background .15s}
a.src:hover{background:#e6e6ee}a.src i{font-style:normal;width:17px;height:17px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;flex:none}
a.src span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.src svg{width:11px;height:11px;opacity:.55;flex:none}
.sg-src{font-size:.82em;color:#55555f;margin:.5em 0 0}.sg-src a{color:#0f0f12;text-decoration:underline;text-underline-offset:2px}
#body a[href^="http"]{cursor:pointer}

/* ======== v73: Menüband mit Kategorien (Start · Einfügen · Zeichnen · Design · Überprüfen · Ansicht) ======== */
.ned-bar .rtabs{grid-column:2;grid-row:1;display:flex;gap:2px;align-items:center;min-width:0;overflow-x:auto;scrollbar-width:none;background:#f3f3f7;border-radius:999px;padding:3px}
.rtabs::-webkit-scrollbar{display:none}
.rt{padding:7px 15px;border-radius:999px;font-size:13.5px;font-weight:600;color:#6a6a76;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.rt:hover{color:#0f0f12}.rt.on{background:#0f0f12;color:#fff}
.ned-bar:has(.rtabs) #msw{display:none}
.rib{position:sticky;top:62px;z-index:48;background:#fff;padding:2px 14px 8px;min-height:56px;display:flex;align-items:center;transition:min-height .3s,padding .3s}
.rib .rp{display:none;align-items:center;gap:4px;min-width:0;width:100%;overflow-x:auto;scrollbar-width:none;animation:ribIn .28s cubic-bezier(.2,.8,.2,1)}
.rib .rp::-webkit-scrollbar{display:none}.rib .rp.on{display:flex}
@keyframes ribIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.rib.min{min-height:0;padding:0}.rib.min .rp{display:none!important}
.rib .rgp{display:inline-flex;align-items:center;gap:2px;flex:none}
.rib .fsep{flex:none}
.rib .tbtn.lbl{width:auto;height:50px;min-width:62px;padding:5px 10px 4px;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:#2a2a33;border-radius:12px;flex:none;display:inline-flex;align-items:center;justify-content:center;position:relative}
.rib .tbtn.lbl svg{width:20px;height:20px}.rib .tbtn.lbl:hover{background:#f1f1f5}.rib .tbtn.lbl span{white-space:nowrap}
.rib .tbtn.lbl em{position:absolute;top:3px;right:3px;font-style:normal;font-size:9.5px;font-weight:700;background:#0f0f12;color:#fff;border-radius:999px;padding:1px 6px}
.rhint{font-size:13px;color:#8a8a98;padding:0 6px}
#rib-draw .inkpal{position:static!important;opacity:1!important;pointer-events:auto!important;transform:none!important;box-shadow:none!important;background:transparent!important;padding:0!important;display:flex!important;align-items:center;gap:10px;max-width:none;overflow:visible}
#rib-draw:has(.inkpal) .rhint{display:none}
.main:not(.drawing) #rib-draw .inkpal{display:none!important}
@media (max-width:900px){.ned-bar .rtabs{grid-column:1/-1;grid-row:2}.rib{position:static;padding:2px 10px 8px}}
@media (min-width:901px){body.aiside-open .ned-bar .rtabs{max-width:100%}}
.rib .tbtn.lbl em{right:auto;left:calc(50% + 6px);top:2px}

/* ======== v74: drawing engine (Apple Pencil) ======== */
.inkcv{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.ink-ring{position:absolute;left:0;top:0;z-index:4;border-radius:50%;pointer-events:none;border:1px solid rgba(0,0,0,.4);opacity:0;transition:opacity .15s;will-change:transform}
.ink-ring.on{opacity:1}.ink-ring.er{background:rgba(255,255,255,.5);border-color:#888}
.ink-pop{position:fixed;z-index:400;width:min(300px,calc(100vw - 20px));background:#fff;border-radius:22px;padding:14px 16px;box-shadow:0 2px 8px rgba(0,0,0,.08),0 22px 60px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:10px;animation:inkPop .22s cubic-bezier(.3,.9,.3,1)}
@keyframes inkPop{from{opacity:0;transform:translateY(-6px) scale(.97)}}
.ink-pop b{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#8a8a98}
.ink-pop small{font-size:12px;line-height:1.45;color:#8a8a98}
.ink-chips{display:flex;flex-wrap:wrap;gap:6px}
.ink-chip{border:0;background:#f1f1f5;color:#1c1c22;border-radius:999px;padding:8px 14px;font:600 13px/1 inherit;font-family:inherit;cursor:pointer;transition:background .2s,color .2s}
.ink-chip.on{background:#0f0f12;color:#fff}
.ink-rg{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.ink-rg input{width:100%;accent-color:#0f0f12}
.inkpal input[type=range]{accent-color:#0f0f12}
.inkpal .tbtn.on{background:#0f0f12;color:#fff}
.inkpal .tbtn[hidden]{display:none}
.inkpal #ip-cl.sel{background:#f1f1f5;color:#0f0f12}
.ned-paper[data-grid=dots]{background-image:radial-gradient(#cfcfd8 1.2px,transparent 1.4px);background-size:26px 26px}
.ned-paper[data-grid=grid]{background-image:linear-gradient(#e6e6ec 1px,transparent 1px),linear-gradient(90deg,#e6e6ec 1px,transparent 1px);background-size:28px 28px}
.ned-paper[data-grid=lines]{background-image:repeating-linear-gradient(transparent 0 31px,#e6e6ec 31px 32px);background-position:0 8px}
.ned-paper[data-grid=cornell]{background-image:linear-gradient(90deg,transparent calc(30% - 1px),#d6d6df calc(30% - 1px) 30%,transparent 30%),repeating-linear-gradient(transparent 0 31px,#e6e6ec 31px 32px);background-position:0 0,0 8px}
.ned-paper[data-grid=week]{background-image:linear-gradient(90deg,transparent calc(100%/7 - 1px),#d6d6df calc(100%/7 - 1px) calc(100%/7),transparent calc(100%/7)),repeating-linear-gradient(transparent 0 31px,#e6e6ec 31px 32px);background-size:calc(100%/7) 100%,100% 32px;background-position:0 0,0 8px}

/* ======== v75: Leiste immer gleich: feste Höhe/Position, AI-Umschalter rechts ======== */
.rib{height:64px;min-height:64px;box-sizing:border-box;align-items:center}
.rib .rp{height:100%}
@media (min-width:901px){
  body .ned-bar:has(.rtabs){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;height:62px;box-sizing:border-box}
  body .ned-bar:has(.rtabs) .nb-r{justify-self:end}
  body .ned-bar:has(.rtabs) .rtabs{justify-self:center}
}
.ned-bar .aitog{width:auto;height:38px;border-radius:999px;padding:0 12px;gap:6px;display:inline-flex;align-items:center;font:700 13px/1 inherit;font-family:inherit;color:#0f0f12;background:#f1f1f5}
.ned-bar .aitog svg{width:20px;height:20px}
.ned-bar .aitog.on{background:#0f0f12;color:#fff}

/* ======== v76: Chat-Leiste ohne dunkle Kreise, Aktionen im Rechtsklick-Menü ======== */
.cmp-b.on,.cmp-b:active{background:none;color:#0f0f12}
.cmp-b{width:34px;height:34px}
.mp-src{margin-top:4px;border-top:1px solid #ececf1;border-radius:0 0 14px 14px}
.mp-sw{margin-left:auto;width:34px;height:20px;border-radius:999px;background:#d9d9e0;position:relative;flex:none;transition:background .2s}
.mp-sw::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .25s cubic-bezier(.3,.9,.3,1)}
.mp-src.on .mp-sw{background:#0f0f12}.mp-src.on .mp-sw::after{transform:translateX(14px)}
.aibar .ab-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid #ececf1}
.aibar .ab-acts small{width:100%;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#8a8a98;font-weight:700}
.aibar .ab-acts button{border:0;background:#f1f1f5;color:#1c1c22;border-radius:999px;padding:7px 12px;font:600 12.5px/1 inherit;font-family:inherit;cursor:pointer;transition:background .15s}
.aibar .ab-acts button:hover{background:#0f0f12;color:#fff}
.aibar .ab-acts[hidden]{display:none}
.ab-chips button:hover{background:#0f0f12;color:#fff}
.aibar .ab-in .send{background:#0f0f12!important;color:#fff}
#att.on{background:none!important;color:#0f0f12!important}

/* v77: kompakte Aktions-Chips mit Icons */
.aibar .ab-chips{gap:5px;padding:6px 2px 2px}
.aibar .ab-chips button{display:inline-flex;align-items:center;gap:5px;padding:5px 10px 5px 8px;font-size:12px;font-weight:600;background:#f3f3f7;color:#2a2a33}
.aibar .ab-chips button[hidden]{display:none}
.aibar .ab-chips button svg{width:13px;height:13px;flex:none}
.cmp-b.src.on{color:#0f0f12;background:#ececf1!important}
.cmp-b.src{color:#9a9aa6}
.ned .body blockquote.callout{background:#f1f1f5}.ned .body blockquote.callout b{color:#0f0f12}
.aitog svg.ic-flip{animation:aiFlip .35s cubic-bezier(.3,.9,.3,1)}
@keyframes aiFlip{from{transform:scale(.6) rotate(-12deg);opacity:.3}}

/* v78: Quellen in Notizen als Karten statt unterstrichener Links */
.sg-src{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin:14px 0 4px;font-size:13px}
.sg-src-t{width:100%;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:700;color:#8a8a98}
.sg-src a.src,.ned .body .sg-src a.src{display:inline-flex;align-items:center;gap:9px;max-width:240px;padding:8px 12px 8px 8px;border-radius:14px;background:#f1f1f5;color:#1c1c22!important;text-decoration:none!important;transition:background .15s,transform .2s}
.sg-src a.src:hover{background:#e6e6ee;transform:translateY(-1px)}
.sg-src a.src i{font-style:normal;flex:none;width:24px;height:24px;border-radius:8px;background:#0f0f12;color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:800}
.sg-src a.src span{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.sg-src a.src b{font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-src a.src small{font-size:11px;color:#8a8a98;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ned .body a.cite{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;margin:0 1px 0 2px;vertical-align:2px;border-radius:999px;background:#eceef3;color:#0f0f12!important;font-size:10.5px;font-weight:700;text-decoration:none!important}
.ned .body a.cite:hover{background:#0f0f12;color:#fff!important}
/* Chat-Quellen etwas hochwertiger */
a.src{padding:5px 10px 5px 6px}a.src i{background:#0f0f12!important;color:#fff;border-radius:50%}

/* ======== v79: Textfelder ======== */
.tbx-layer{position:absolute;inset:0;pointer-events:none;z-index:2}
.main.drawing .tbx-layer{pointer-events:none}.main.drawing .tbx{pointer-events:none}
.tbx{position:absolute;pointer-events:auto;border-radius:14px;box-sizing:border-box;transition:box-shadow .2s}
.tbx.has-bd{box-shadow:inset 0 0 0 1.5px #c9c9d2}
.tbx.sel{box-shadow:inset 0 0 0 1.5px #0f0f12}
.tbx-in{position:absolute;inset:0;padding:10px 14px;overflow:hidden;outline:none;line-height:1.4;word-break:break-word;border-radius:inherit;cursor:text}
.tbx-in:empty::before{content:attr(data-ph);color:#a4a4b0;pointer-events:none}
.tbx-mv{position:absolute;inset:-9px;border-radius:20px;z-index:-1;cursor:grab}
.tbx.sel .tbx-mv{z-index:0;pointer-events:auto}.tbx-mv{pointer-events:none}
.tbx.sel .tbx-in{z-index:1}
.tbx-h{position:absolute;width:12px;height:12px;border-radius:4px;background:#fff;box-shadow:0 0 0 1.5px #0f0f12;display:none;z-index:2;touch-action:none}
.tbx.sel .tbx-h{display:block}
.h-nw{left:-6px;top:-6px;cursor:nwse-resize}.h-ne{right:-6px;top:-6px;cursor:nesw-resize}.h-se{right:-6px;bottom:-6px;cursor:nwse-resize}.h-sw{left:-6px;bottom:-6px;cursor:nesw-resize}
.h-n{left:calc(50% - 6px);top:-6px;cursor:ns-resize}.h-s{left:calc(50% - 6px);bottom:-6px;cursor:ns-resize}.h-e{right:-6px;top:calc(50% - 6px);cursor:ew-resize}.h-w{left:-6px;top:calc(50% - 6px);cursor:ew-resize}
.tbx-bar{position:fixed;z-index:300;display:flex;align-items:center;gap:4px;padding:6px 8px;background:#fff;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.08),0 16px 44px rgba(0,0,0,.18);animation:inkPop .2s cubic-bezier(.3,.9,.3,1)}
.tbx-bar[hidden]{display:none}
.tbx-bar button{border:0;background:none;min-width:30px;height:30px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#2a2a33;font:700 12.5px/1 inherit;font-family:inherit}
.tbx-bar button:hover{background:#f1f1f5}.tbx-bar button.on{background:#0f0f12;color:#fff}
.tbx-bar svg{width:16px;height:16px}.tbx-bar b{min-width:22px;text-align:center;font-size:12.5px}
.tbx-bar i{width:1px;height:20px;background:#e6e6ee;margin:0 3px}
.tbx-bar .tbx-sw{width:20px;min-width:20px;height:20px;border:1.5px solid #d6d6de;margin:0 1px}
.tbx-bar .tbx-sw:not([style]){background:linear-gradient(135deg,#fff 46%,#e5484d 46% 54%,#fff 54%)}
.tbx-bar .tbx-sw.on{box-shadow:0 0 0 2px #0f0f12;background-clip:padding-box}
.tbx-layer.placing{pointer-events:auto;cursor:text;z-index:5}
.tbx-layer.placing .tbx{pointer-events:none}
.tbx-rb{position:absolute;border:1.5px dashed #0f0f12;border-radius:12px;background:rgba(15,15,18,.04);pointer-events:none}
.tbx:not(.sel):not(.has-bd):hover{box-shadow:inset 0 0 0 1.5px #dcdce3}

/* ======== v80: Zusammenarbeit ======== */
.co-av{display:inline-flex;align-items:center;margin-right:2px}
.co-av i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 12px/1 inherit;font-style:normal;border:2px solid #fff;margin-left:-8px;box-shadow:0 1px 3px rgba(0,0,0,.15);animation:inkPop .3s cubic-bezier(.3,.9,.3,1)}
.co-av i:first-child{margin-left:0}.co-av i.more{background:#0f0f12}
#co-m.on{background:#0f0f12;color:#fff}
.co-link{display:flex;gap:8px;margin:10px 0}.co-link .field{flex:1;min-width:0;font-size:13px}
.co-h{margin:18px 0 8px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#8a8a98}
.co-ppl{display:flex;flex-direction:column;gap:8px}
.co-ppl span{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}
.co-ppl i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 12px/1 inherit;font-style:normal}
.co-ppl em{margin-left:auto;font-style:normal;font-size:11.5px;color:#16a34a;font-weight:700}
@media (max-width:600px){.co-av i{width:24px;height:24px}}
.tbx-bar .tbx-sw:not([style]){background:linear-gradient(135deg,#fff 46%,#e5484d 46% 54%,#fff 54%)!important}

/* v81: mehrere Stifte + Löschknopf für Blöcke */
.ip-pens{display:inline-flex;gap:2px;align-items:center}
.ip-pen{position:relative}.ip-pen i{position:absolute;left:50%;bottom:4px;width:14px;height:3px;margin-left:-7px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.7)}
.blk-del{position:fixed;z-index:280;width:30px;height:30px;border-radius:50%;border:0;background:#fff;color:#0f0f12;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);animation:inkPop .18s ease}
.blk-del svg{width:15px;height:15px}.blk-del:hover{background:#0f0f12;color:#fff}.blk-del[hidden]{display:none}

/* Live-Mauszeiger (Zusammenarbeit) */
.co-curs{position:absolute;inset:0;pointer-events:none;z-index:7;overflow:hidden}
.co-cur{position:absolute;left:0;top:0;transition:transform .12s linear,opacity .3s;will-change:transform}
.co-cur.off{opacity:0}
.co-cur svg{width:18px;height:22px;fill:var(--c);stroke:#fff;stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.co-cur span{position:absolute;left:14px;top:16px;background:var(--c);color:#fff;font:700 11.5px/1 inherit;font-family:inherit;padding:4px 8px;border-radius:999px 999px 999px 4px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.co-cur{left:50%!important}

/* ======== v82: Dokumente – rechte Spalte (Zuletzt genutzt / Geteilt) ======== */
.docsed .dbody{display:flex;flex:1;min-height:0;align-items:stretch}
.docsed .dbody>.docspaper{flex:1;min-width:0}
.dside{position:relative;flex:none;width:clamp(240px,22vw,310px);padding:22px 18px 40px 26px;overflow-y:auto;scrollbar-width:none}
.dside::-webkit-scrollbar{display:none}
.dside::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;border-radius:2px;background:linear-gradient(#0000,#d9d9e1 14%,#d9d9e1 86%,#0000)}
.dside section+section{margin-top:26px}
.dside h4{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#8a8a98;font-weight:700}
.dside h4 svg{width:15px;height:15px}
.sd-row{display:flex;align-items:center;gap:11px;padding:8px 10px;margin:0 -10px;border-radius:16px;cursor:pointer;transition:background .15s,transform .2s}
.sd-row:hover{background:#f1f1f5;transform:translateX(2px)}
.sd-i{position:relative;flex:none;width:34px;height:34px;border-radius:11px;background:#f1f1f5;color:#2a2a33;display:grid;place-items:center}.sd-i>svg{width:17px;height:17px}
.sd-t{display:flex;flex-direction:column;min-width:0;line-height:1.25}.sd-t b{font-size:13.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-t small{font-size:11.5px;color:#8a8a98;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-empty{font-size:12.5px;line-height:1.5;color:#8a8a98;margin:0}
.shbadge{position:absolute;right:-5px;bottom:-5px;width:16px;height:16px;border-radius:50%;background:#0f0f12;color:#fff;display:grid;place-items:center;border:2px solid #fff;box-sizing:content-box}
.shbadge svg{width:9px;height:9px}
.shbadge.on-card{right:10px;top:10px;bottom:auto;width:24px;height:24px;border:0;box-shadow:0 2px 6px rgba(0,0,0,.2)}.shbadge.on-card svg{width:13px;height:13px}
.dr-i{position:relative}
@media (max-width:1100px){.dside{display:none}}
/* v83: Spalte sitzt in der grauen Box */
.docsed .dbody{display:block}
.docspaper{display:flex!important;gap:0;align-items:flex-start}
.docspaper>.dmain{flex:1;min-width:0}
.docspaper>.dside{position:sticky;top:0;align-self:flex-start;max-height:calc(100dvh - 96px);padding:6px 4px 30px 26px;margin-left:18px;width:clamp(230px,21vw,290px)}
.docspaper>.dside::before{top:6px;bottom:6px}
.docspaper .shbadge{border-color:#f1f1f5}
.docspaper .sd-row:hover{background:#fff}
@media (max-width:1100px){.docspaper>.dside{display:none}}
.docspaper .sd-i{background:#fff}
/* v84: klare, abgerundete Linie mit Abstand zum Rand */
.docspaper>.dside::before{top:28px;bottom:28px;width:2px;border-radius:2px;background:#d3d3dc}
.docspaper>.dside{padding-top:28px}
.co-h .co-st{font-style:normal;text-transform:none;letter-spacing:0;margin-left:8px;font-size:11.5px;color:#d97706}.co-h .co-st.ok{color:#16a34a}

/* ======== v85: Prüfungen ↔ Karteikarten getauscht, KI-Dock bündig darunter ======== */
@media (min-width:901px){
  .bento .w-ex{grid-column:1!important;grid-row:2!important}
  .bento .w-cards{grid-column:3!important;grid-row:2!important;align-self:start;display:grid!important;grid-template-columns:auto 1fr;grid-template-areas:"h h" "b p" "b g";column-gap:16px;align-content:center;row-gap:2px;padding:14px 20px!important}
  .bento .w-cards h2{grid-area:h;margin:0 0 6px}
  .bento .w-cards .w-big{grid-area:b;margin:0!important;align-self:center;font-size:clamp(38px,5.5vh,56px)}
  .bento .w-cards p{grid-area:p;align-self:end;margin:0!important}
  .bento .w-cards .w-go{grid-area:g;align-self:start}
  .aipane{width:var(--dockw,380px)}
  .aipane.open{width:var(--dockw,420px)}
}

/* ======== v86: Prüfungsmappen ======== */
.exgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-bottom:18px}
.exgrid.past{opacity:.7}
.exc{background:#fff;border-radius:28px;padding:20px 22px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:transform .2s cubic-bezier(.3,.9,.3,1),box-shadow .2s;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.exc:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(30,20,90,.1)}
.exc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.exc-i{width:42px;height:42px;border-radius:14px;background:#f1f1f5;color:#0f0f12;display:grid;place-items:center}.exc-i svg{width:21px;height:21px}
.exc-d{display:flex;flex-direction:column;text-align:right;line-height:1.25}.exc-d b{font-size:13.5px}.exc-d small{font-size:12px;color:#8a8a98}
.exc h3{margin:0;font-size:18px;letter-spacing:-.02em}.exc-s{margin:0 0 10px;font-size:13px;color:#6b6b78;display:flex;align-items:center;gap:6px}
.exc-bar{height:6px;border-radius:99px;background:#ececf1;overflow:hidden}.exc-bar i{display:block;height:100%;border-radius:99px;background:#0f0f12;transition:width .5s cubic-bezier(.3,.9,.3,1)}.exc-bar.big{height:8px;margin:8px 0 14px}
.exc-m{display:flex;gap:14px;margin-top:10px;font-size:12.5px;color:#55555f;font-weight:600}.exc-m span{display:inline-flex;align-items:center;gap:5px}.exc-m svg{width:14px;height:14px}
.exdet .panel h2{display:flex;align-items:center;gap:9px}.exdet .panel h2 svg{width:19px;height:19px}.exdet .panel h2 em{margin-left:auto;font-style:normal;font-size:13px;color:#8a8a98}
.exdet .back{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:#6b6b78}.exdet .back svg{width:14px}
.exdet .li{cursor:pointer}.exdet .li.lz{cursor:default;align-items:center}.exdet .li.lz span{flex:1}.lz-x{opacity:0;width:28px;height:28px}.lz:hover .lz-x{opacity:1}
.exadd{margin-top:12px}.exadd .field{flex:1}
.exgrid2{align-items:start}
@media (max-width:900px){.exgrid2{grid-template-columns:1fr}}
.page .btn.accent,.exdet .btn.accent,.hd .btn.accent{background:#0f0f12!important;color:#fff!important}

/* ======== v87: Microsoft-Anmeldefenster ======== */
.msl{display:flex;flex-direction:column;gap:14px;max-width:440px}
.msl-top{text-align:center}.msl-top h3{margin:10px 0 4px;font-size:22px;letter-spacing:-.02em}.msl-top p{margin:0;color:#6b6b78;font-size:14px;line-height:1.5}
.ms-logo{width:34px;height:34px}.msl-go .ms-logo{width:20px;height:20px}
.msl-sv{display:flex;flex-direction:column;gap:6px}
.msl-r{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;background:#f5f5f8;cursor:pointer;position:relative;transition:background .15s}
.msl-r:hover{background:#eeeef3}.msl-r input{position:absolute;opacity:0}
.msl-i{width:36px;height:36px;border-radius:12px;background:#fff;display:grid;place-items:center;flex:none}.msl-i svg{width:18px;height:18px}
.msl-t{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.msl-t b{font-size:14px}.msl-t small{font-size:12px;color:#8a8a98}
.msl-sw{width:38px;height:22px;border-radius:99px;background:#d3d3dc;position:relative;flex:none;transition:background .2s}
.msl-sw::after{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.3,.9,.3,1)}
.msl-r input:checked~.msl-sw{background:#0f0f12}.msl-r input:checked~.msl-sw::after{transform:translateX(16px)}
.msl-go{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#0f0f12!important;color:#fff!important;border-radius:999px}
.msl-warn{background:#fff7e6;border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:8px}.msl-warn p{margin:0;font-size:13px;color:#6b5b2a;line-height:1.5}.msl-warn code{background:#fff;border-radius:6px;padding:1px 6px}
.msl-ok{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.msl-m{min-height:20px;margin:0;font-size:13px;text-align:center;color:#2a2a33}.msl-m.bad{color:#d92d20}
.msl-fine{margin:0;font-size:11.5px;color:#8a8a98;text-align:center}

/* ======== v88: alle Seiten bündig von links bis rechts, Home füllt bis unten, Kalender ohne Kreise ======== */
.main,.main:not(.homew):not(.doc-full){padding-left:clamp(16px,2vw,30px);padding-right:clamp(16px,2vw,30px)}
.main .page,.main .page.narrow,.main .editor,.main .editor.board,.main .ned,.main .home-wrap,.main .page.home,.main .dfull{max-width:none!important;width:100%;margin-left:0!important;margin-right:0!important}
.main .page.home.calm>*:not(.welcome){max-width:none}
@media (min-width:901px){
  .main.homew,.main.homew:not(.doc-full){padding-bottom:12px}
  .page.home.bento{padding-bottom:0!important}
  .main.homew .home-wrap{align-items:stretch!important;justify-content:stretch!important}
  .page.home.zen{padding-bottom:0!important}
}
.bento .w-cal .cd{border-radius:12px;outline:0;-webkit-tap-highlight-color:transparent}
.bento .w-cal .cd:focus,.bento .w-cal .cd:focus-visible{outline:0;box-shadow:none}
.bento .w-cal .cd span,.bento .w-cal .cd.today span{width:100%;height:auto;border-radius:0;background:none!important;box-shadow:none!important;display:block;line-height:1.9;color:inherit}
.bento .w-cal .cd:hover{background:#f3f3f7}
.bento .w-cal .cd.sel:not(.today){background:#ececf1}
.bento .w-cal .cd.today{background:#0f0f12;color:#fff}
.bento .w-cal .cd.today u{background:#fff}
.bento .w-cal .cd.out span{color:#c0c0cc}
.bento .w-cal .cd.today.out span{color:#fff}
.bento .w-cal .cd.ex:not(.today) span{color:#d93a3a}
.main .calgrid .cald{aspect-ratio:auto;height:clamp(58px,8.5vh,88px)}
@media (min-width:901px){
  .main.homew,.main.homew:not(.doc-full){padding-bottom:clamp(16px,2vw,30px)}
  .aipane{bottom:calc(12px + clamp(16px,2vw,30px))!important}
}

/* v89: Chat-Eingabe ohne schwarzen Rahmen – nur der Cursor zeigt den Fokus */
.t-in.cmp:focus-within,.chatbox .t-in.cmp:focus-within,.aipane .t-in.cmp:focus-within,#aiside .t-in.cmp:focus-within{border-color:#e4e4ec!important;outline:0!important}
.aipane .tin:focus,.t-in .tin:focus,.t-in.cmp .tin:focus{outline:0!important;box-shadow:none!important;border-color:transparent}
.aipane .t-in:not(.cmp) .tin:focus{border-color:transparent}

/* ======== v90: Home & Prüfungen aufgeräumt ======== */
@media (min-width:901px){
  .bento .w-ex{grid-column:1!important;grid-row:2!important;background:#fff;display:flex;flex-direction:column;gap:6px;padding:16px 20px}
  .bento .w-ex h2{margin:0 0 4px;font-size:13px;color:#8a8a98;font-weight:600}.bento .w-ex h2 em{font-style:normal;margin-left:6px;color:#b0b0bc}
  .bento .w-ex .w-scroll{display:flex;flex-direction:column}
  .bento .w-ex>.link{align-self:flex-start;margin-top:auto;padding-top:8px;font-weight:600}
  .bento .w-ex>.empty{margin:auto 0}
  .bento .w-cards{align-content:start!important;padding:16px 20px!important}
  .bento .w-cards .w-big{align-self:start}
}
.bento .ex-d{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--c) 14%,#fff)!important;color:var(--c);font-weight:700;font-size:16px;letter-spacing:-.02em}
.bento .ex-r{border-bottom:1px solid #f0f0f4}.bento .ex-r:last-child{border-bottom:0}

.exgrid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
@media (max-width:1100px){.exgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.exgrid{grid-template-columns:1fr}}
.exc{height:100%;box-sizing:border-box}
.exc h3{margin-top:2px}
.exc-m{margin-top:auto;padding-top:12px}
.exgrid2{align-items:stretch!important;gap:16px}
.exdet .panel{display:flex;flex-direction:column;margin:0}
.exdet .panel>.row:last-child{margin-top:auto;padding-top:14px}
.exdet .panel .row{gap:8px}
.exadd{margin-top:14px!important;align-items:center}.exadd .btn{height:44px;padding:0 16px;flex:none}
.exdet .panel .note{margin:4px 0 0}

/* ======== v91: Prüfungen als Terminliste, Dokumente als Blätter (Ordner getrennt) ======== */
.exlist{background:#fff;border-radius:28px;padding:6px 8px;margin-bottom:18px}
.exlist.past{opacity:.65}
.exr{display:grid;grid-template-columns:56px minmax(0,1fr) 140px 96px;align-items:center;gap:18px;padding:14px 16px;border-radius:20px;cursor:pointer;transition:background .15s}
.exr+.exr{box-shadow:0 -1px 0 #f0f0f4}
.exr:hover,.exr:focus-visible{background:#f6f6f9;outline:0;box-shadow:none}.exr:hover+.exr{box-shadow:none}
.exr-d{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;border-left:3px solid var(--c);padding-left:12px;height:44px}
.exr-d b{font-size:22px;letter-spacing:-.03em}.exr-d small{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8a8a98;margin-top:4px;font-weight:600}
.exr-t{display:flex;flex-direction:column;gap:3px;min-width:0}.exr-t b{font-size:16px;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exr-t small{font-size:13px;color:#8a8a98;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exr-p{height:4px;border-radius:99px;background:#ececf1;overflow:hidden}.exr-p i{display:block;height:100%;background:var(--c);border-radius:99px}
.exr-l{text-align:right;font-size:13px;font-weight:600;color:#0f0f12}
@media (max-width:700px){.exr{grid-template-columns:48px minmax(0,1fr) auto;gap:12px;padding:12px}.exr-p{display:none}}

.dsec{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9a9aa8;margin:6px 0 14px}
.docspaper .items.fgrid{display:flex;flex-wrap:wrap;gap:20px 16px;margin-bottom:26px}.docspaper .items.fgrid:empty{display:none}
.docspaper .items.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:28px 22px;align-items:start}
.docspaper .items.dgrid>.doc{width:auto;background:none;border-radius:0;box-shadow:none;overflow:visible;transform:none}
.docspaper .items.dgrid>.doc:hover{transform:none;box-shadow:none}
.dgrid>.doc .th{height:auto;aspect-ratio:3/4;background:#fff;border-radius:10px;box-shadow:0 0 0 1px rgba(30,20,90,.06),0 2px 4px rgba(30,20,90,.04),0 10px 26px rgba(30,20,90,.07);transition:transform .25s cubic-bezier(.3,.9,.3,1),box-shadow .25s;overflow:hidden}
.dgrid>.doc:hover .th{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(30,20,90,.08),0 4px 8px rgba(30,20,90,.05),0 18px 36px rgba(30,20,90,.12)}
.dgrid>.doc .th.note-th{padding:18px 16px;font-size:8.5px;line-height:1.55;color:#6b6b78;background:#fff}
.dgrid>.doc .tbadge{left:8px;top:8px;border-radius:6px;padding:3px 7px 3px 6px;font-size:10px;background:#f3f3f7;box-shadow:none}
.dgrid>.doc .dm{padding:10px 2px 0}.dgrid>.doc .dt{font-size:14px;font-weight:600}.dgrid>.doc .ds{font-size:12px;color:#8a8a98;margin-top:2px}
.dgrid>.doc .dmore{top:8px;right:8px}
.docspace .items.fgrid>.fold{width:150px}
.docspaper .items.dgrid{grid-template-columns:repeat(auto-fill,minmax(148px,172px));gap:26px 20px}
.dgrid>.doc .th.note-th{padding:40px 14px 12px;font-size:8px}
.dgrid>.doc .th.note-th i{color:#c4c4d0}

/* v92: Dokumente kleiner und wie echte Seiten (Eselsohr, Überschrift, Textzeilen) */
.docspaper .items.dgrid{grid-template-columns:repeat(auto-fill,minmax(108px,124px));gap:22px 18px}
.dgrid>.doc .th{aspect-ratio:1/1.414;border-radius:4px;position:relative;box-shadow:0 0 0 1px rgba(30,20,90,.07),0 1px 2px rgba(30,20,90,.05),0 6px 16px rgba(30,20,90,.08)}
.dgrid>.doc:hover .th{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(30,20,90,.09),0 2px 4px rgba(30,20,90,.06),0 12px 24px rgba(30,20,90,.13)}
.dgrid>.doc .th::after{content:"";position:absolute;top:0;right:0;width:20px;height:20px;background:linear-gradient(225deg,#f3f3f8 50%,#e3e3ec 50%);border-bottom-left-radius:3px;box-shadow:-1px 1px 2px rgba(30,20,90,.08)}
.dgrid>.doc .th.note-th{padding:16px 12px 10px;font-size:6.5px;line-height:1.7;color:#7a7a88;overflow:hidden}
.dgrid>.doc .th.note-th::before{content:"";display:block;width:52%;height:5px;border-radius:2px;background:#2b2b36;margin:0 0 9px}
.dgrid>.doc .ph{display:block;height:80px;background:repeating-linear-gradient(#e9e9f0 0 2px,transparent 2px 9px);border-radius:1px;-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent)}
.dgrid>.doc .tbadge{display:none}
.dgrid>.doc .dm{padding:8px 1px 0}.dgrid>.doc .dt{font-size:12.5px;line-height:1.3}.dgrid>.doc .ds{font-size:11px}
.dgrid>.doc .dmore{top:6px;right:6px;width:24px;height:24px}

/* v93: moderne, abgerundete Seite – Eselsohr, Text oben, Name unten in der Seite */
.docspaper .items.dgrid{grid-template-columns:repeat(auto-fill,minmax(150px,168px));gap:20px 18px}
.docspaper .items.dgrid>.doc{aspect-ratio:1/1.3;display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px rgba(30,20,90,.05),0 2px 6px rgba(30,20,90,.05),0 10px 24px rgba(30,20,90,.06);transition:transform .25s cubic-bezier(.3,.9,.3,1),box-shadow .25s}
.docspaper .items.dgrid>.doc:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(30,20,90,.07),0 4px 10px rgba(30,20,90,.07),0 18px 36px rgba(30,20,90,.13)}
.dgrid>.doc::after{content:"";position:absolute;top:0;right:0;width:30px;height:30px;background:linear-gradient(225deg,var(--paperbg,#f3f3f8) 50%,#e8e8f1 50%);border-bottom-left-radius:10px;box-shadow:-2px 2px 5px rgba(30,20,90,.08);pointer-events:none}
.dgrid>.doc .th,.dgrid>.doc:hover .th{flex:1;min-height:0;aspect-ratio:auto;background:none;border-radius:0;box-shadow:none;transform:none;position:static}
.dgrid>.doc .th::after,.dgrid>.doc .th.note-th::before{display:none}
.dgrid>.doc .th.note-th{padding:18px 16px 6px;font-size:7.5px;line-height:1.65;color:#6b6b78;-webkit-mask-image:linear-gradient(#000 65%,transparent);mask-image:linear-gradient(#000 65%,transparent)}
.dgrid>.doc .ph{height:100%;min-height:70px;background:repeating-linear-gradient(#ececf2 0 3px,transparent 3px 11px)}
.dgrid>.doc .dm{padding:0 14px 13px;position:relative}
.dgrid>.doc .dt{font-size:13.5px;font-weight:700;letter-spacing:-.01em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dgrid>.doc .ds{font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dgrid>.doc .dmore{top:auto;bottom:10px;right:8px}
.dgrid>.doc .th.file-th b{width:44px;height:44px;border-radius:14px}
.dgrid>.doc .th.note-th{overflow-wrap:anywhere;word-break:break-word;padding-right:14px}

/* ======== v94: Startseite aus frei anordenbaren Blöcken (6 Spalten × 4 Reihen) ======== */
@media (min-width:901px){
  .bento .b-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(72px,1fr));grid-auto-rows:minmax(72px,1fr);grid-auto-flow:dense;gap:12px;overflow:auto;scrollbar-width:none}
  .bento .b-grid::-webkit-scrollbar{display:none}
  .bento .b-grid>*{grid-column:span var(--w,2)!important;grid-row:span var(--h,2)!important;align-self:stretch!important;min-width:0;min-height:0}
  .bento .w-cards{align-content:center!important}
}
.bento .w-space{background:none!important;box-shadow:none!important;pointer-events:none}
@media (max-width:900px){.bento .b-grid>.wg{min-height:calc(var(--h,2) * 88px)}.bento .b-grid>.w-space{display:none}}
.wg h2{flex:none}
.wk{display:flex;align-items:flex-end;gap:8px;flex:1;min-height:0;padding-top:8px}
.wk-c{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.wk-b{width:100%;max-width:34px;flex:1;min-height:0;background:#f1f1f5;border-radius:10px;display:flex;align-items:flex-end;overflow:hidden}
.wk-b i{display:block;width:100%;background:#0f0f12;border-radius:10px}.wk-c:not(.now) .wk-b i{background:#c9c9d6}
.wk-c small{font-size:11px;color:#8a8a98;font-weight:600}.wk-c.now small{color:#0f0f12}
.wk-s{margin:8px 0 0!important;font-size:12.5px;color:#8a8a98!important}.wk-s b{color:#0f0f12}
.qk{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;flex:1;align-content:start;margin-top:6px}
.qk button{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:16px;background:#f4f4f8;font-weight:600;font-size:14px;text-align:left;transition:background .15s}.qk button:hover{background:#ebebf1}.qk svg{width:18px;height:18px;flex:none}
.w-note{display:flex;flex-direction:column}
.w-note textarea{flex:1;min-height:0;width:100%;border:0;outline:0;resize:none;background:none;font:inherit;font-size:15px;line-height:1.55;margin-top:6px;padding:0;color:#2b2b36}

/* Editor */
body.hed-open{overflow:hidden}
.hed{position:fixed;inset:0;z-index:300;background:var(--appbg,#f3f3f8);display:flex;flex-direction:column;padding:22px clamp(16px,3vw,40px) 18px;animation:fadeUp .25s ease both}
.hed-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.hed-top h2{margin:0;font-size:28px;letter-spacing:-.03em}.hed-top p{margin:4px 0 0;color:#6b6b78;font-size:14px}
.hed-act{display:flex;gap:8px;flex-wrap:wrap}
.hed-stage{flex:1;min-height:0;display:flex}
.hed-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-auto-flow:dense;gap:12px;padding:12px;border-radius:28px;background:repeating-linear-gradient(0deg,transparent 0 0),#e8e8f0;background-clip:padding-box}
.hb{position:relative;grid-column:span var(--w,2);grid-row:span var(--h,2);background:#fff;border-radius:22px;box-shadow:0 1px 3px rgba(30,20,90,.06);cursor:grab;user-select:none;touch-action:none;display:flex;align-items:center;justify-content:center;text-align:center;transition:box-shadow .2s,opacity .2s;min-width:0;min-height:0;overflow:hidden}
.hb:hover{box-shadow:0 0 0 2px #0f0f12,0 10px 28px rgba(30,20,90,.12)}
.hb.drag{opacity:.55;box-shadow:0 0 0 2px #0f0f12}.hb.rzing{box-shadow:0 0 0 2px #0f0f12;cursor:nwse-resize}
.hb.hb-space{background:repeating-linear-gradient(135deg,#f6f6fa 0 10px,#efeff5 10px 20px);box-shadow:none;outline:2px dashed #c9c9d6;outline-offset:-2px;color:#8a8a98}
.hb-in{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;pointer-events:none;min-width:0}
.hb-i{width:42px;height:42px;border-radius:14px;background:#f1f1f5;display:grid;place-items:center;margin-bottom:4px}.hb-i svg{width:22px;height:22px}
.hb-in b{font-size:15px;letter-spacing:-.01em}.hb-in small{font-size:12px;color:#8a8a98;line-height:1.35;max-width:200px}
.hb-sz{position:absolute;left:12px;top:10px;font-size:11px;font-weight:700;color:#8a8a98;background:#f3f3f8;border-radius:8px;padding:3px 8px;pointer-events:none}
.hb-bar{position:absolute;right:10px;top:8px;display:flex;gap:6px;opacity:0;transition:opacity .15s}.hb:hover .hb-bar,.hb:focus-within .hb-bar{opacity:1}
.hb-bar button{height:32px;min-width:32px;padding:0 10px;border-radius:999px;background:#0f0f12;color:#fff;font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px}.hb-bar button svg{width:15px;height:15px;color:#fff}
.hb-rz{position:absolute;right:6px;bottom:6px;width:26px;height:26px;border-radius:9px;cursor:nwse-resize;opacity:0;transition:opacity .15s;background:#0f0f12;background-image:linear-gradient(135deg,transparent 45%,#fff 45% 55%,transparent 55%),linear-gradient(135deg,transparent 65%,#fff 65% 75%,transparent 75%)}
.hb:hover .hb-rz,.hb.rzing .hb-rz{opacity:1}
.hed-note{margin:10px 0 0;color:#8a8a98;font-size:12.5px;text-align:center}.hed-empty{grid-column:1/-1;align-self:center;text-align:center;color:#8a8a98}
@media (max-width:900px){.hed{padding:14px 12px}.hed-top h2{font-size:22px}.hb-bar,.hb-rz{opacity:1}.hb-in small{display:none}}
.hed-grid{grid-auto-rows:minmax(64px,1fr);overflow:auto}
@media (max-width:900px){.hb-bar button span{display:none}.hb-bar button{padding:0;width:32px}}

/* ======== v95: Raster mit festen Zellen – Position (Spalte/Reihe) + Größe, Lumi-AI-Platz gesperrt ======== */
@media (min-width:901px){
  .bento .b-grid{grid-auto-flow:row!important}
  .bento .b-grid>*{grid-column:var(--c,1) / span var(--w,2)!important;grid-row:var(--r,1) / span var(--h,2)!important}
}
.w-stat{display:flex;flex-direction:column;justify-content:flex-start}
.w-stat .w-big{font-size:clamp(34px,5vh,54px);letter-spacing:-.04em;margin:auto 0 0}
.w-stat p{margin:2px 0 0!important;color:#6b6b78}
.w-stat .w-go{margin-top:8px}
.w-clock{display:flex;flex-direction:column;justify-content:center}.w-clock b{font-size:clamp(34px,6vh,60px);letter-spacing:-.045em;line-height:1}.w-clock p{margin:6px 0 0!important;color:#6b6b78}
.w-ringb .rb{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.w-ringb .rg{width:100%;max-width:190px}.w-ringb .rg svg{width:100%;height:auto;max-height:150px}.w-ringb .rg b{top:50%;transform:translateY(-70%)}
.tt-r{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #f0f0f4}.tt-r:last-child{border-bottom:0}
.tt-t{font-size:12.5px;font-weight:700;color:#8a8a98;width:44px;flex:none;font-variant-numeric:tabular-nums}.tt-r i{width:4px;height:30px;border-radius:4px;flex:none}.tt-r span:last-child{display:flex;flex-direction:column;min-width:0}.tt-r b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-r small{font-size:12px;color:#8a8a98}
.w-tt h2 em{font-style:normal;color:#b0b0bc;margin-left:6px}
.sj-l{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-content:flex-start;overflow:auto;min-height:0}
.sj-l button{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:14px;background:#f4f4f8;font-size:13.5px}.sj-l button i{width:9px;height:9px;border-radius:50%;flex:none}.sj-l small{color:#8a8a98;font-size:12px}
.hw-r{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #f0f0f4}.hw-r:last-child{border-bottom:0}.hw-r b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hw-r small{font-size:12.5px;color:#8a8a98;flex:none}.hw-r small.red{color:#d93a3a}
/* Editor-Raster */
.hed-grid{grid-template-rows:repeat(var(--n,4),minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;grid-auto-flow:row!important}
.hc{border-radius:14px;background:rgba(255,255,255,.55);border:1.5px dashed #d2d2de;pointer-events:none;min-width:0;min-height:0}
.hb{grid-column:var(--c,1) / span var(--w,2)!important;grid-row:var(--r,1) / span var(--h,2)!important;z-index:2}
.hb.drag{z-index:20;pointer-events:none;opacity:.85;box-shadow:0 0 0 2px #0f0f12,0 24px 50px rgba(30,20,90,.25);transition:none}
.hb-ghost{border-radius:22px;border:2px solid #0f0f12;background:rgba(15,15,18,.07);z-index:1;pointer-events:none}
.hb-lock{background:repeating-linear-gradient(135deg,#f6f6fa 0 10px,#efeff5 10px 20px)!important;box-shadow:none!important;outline:2px dashed #c9c9d6;outline-offset:-2px;cursor:not-allowed!important;color:#8a8a98;z-index:1}
.hb-lock:hover{box-shadow:none!important}.hb-lock .hb-i{background:#fff}

/* ======== v96: A4-Seitenansicht in Notizen ======== */
.ned-paper.pg-a4{background:#e8e8ef!important;position:relative}
.ned-paper.pg-a4 .body{position:relative;width:var(--pgw)!important;max-width:var(--pgw)!important;margin:28px auto 70px!important;padding:var(--pgm) var(--pgm)!important;box-sizing:border-box;background-color:#fff!important;border-radius:3px!important;box-shadow:0 0 0 1px rgba(30,20,90,.06),0 2px 6px rgba(30,20,90,.06),0 18px 50px rgba(30,20,90,.1)}
.pg-ov{position:absolute;pointer-events:none;z-index:3}
.pg-gap{position:absolute;left:-70px;right:-70px;background:#e8e8ef;box-shadow:inset 0 8px 8px -8px rgba(30,20,90,.16),inset 0 -8px 8px -8px rgba(30,20,90,.16)}
.pg-n{position:absolute;left:0;right:0;text-align:center;font-size:11px;font-weight:600;color:#a4a4b2;letter-spacing:.02em}
.pg-s{font-size:12px;color:#8a8a98;font-weight:600;margin-left:6px}
#t-pages.on{background:#0f0f12;color:#fff}#t-pages.on svg{color:#fff}

/* ======== v97: Whiteboard erstellen (Format · Hintergrund · Vorlage) ======== */
.bd{max-width:760px}
.bd-sec{margin-top:6px}
.bd-fm,.bd-bg,.bd-tp{display:grid;gap:10px}
.bd-fm{grid-template-columns:repeat(5,minmax(0,1fr))}.bd-bg{grid-template-columns:repeat(5,minmax(0,1fr))}.bd-tp{grid-template-columns:repeat(5,minmax(0,1fr))}
.bf,.bb,.bt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;border-radius:18px;background:#f5f5f9;border:2px solid transparent;text-align:center;transition:border-color .15s,background .15s;min-width:0}
.bf:hover,.bb:hover,.bt:hover{background:#eeeef4}.bf.on,.bb.on,.bt.on{background:#fff;border-color:#0f0f12}
.bf-s{display:block;height:54px;width:auto;max-width:100%;background:#fff;border:2px solid #b9b9c8;border-radius:5px;box-shadow:0 2px 6px rgba(30,20,90,.08)}
.bf.on .bf-s{border-color:#0f0f12}
.bf b,.bb b,.bt b{font-size:13px}.bf small,.bt small{font-size:11px;color:#8a8a98;line-height:1.25}
.bb .pv{height:54px;border-radius:10px}.pv.blank{background:#fff}.pv.dark{background:#1d2523 radial-gradient(#3a4743 1.2px,transparent 1.4px) 0 0/12px 12px;border-color:#1d2523}
.bt{justify-content:flex-start;min-height:64px;align-items:flex-start;text-align:left;padding:10px 12px}
.fmt-chip{font-size:12px;font-weight:700;color:#6b6b78;background:#f1f1f5;border-radius:999px;padding:6px 12px}
.cvwrap.fixed{background:#e8e8ef!important;padding:14px 0}
@media (max-width:700px){.bd-fm,.bd-bg,.bd-tp{grid-template-columns:repeat(3,minmax(0,1fr))}}
.wk-c em{font-style:normal;font-size:11px;font-weight:700;color:#55555f;height:14px;line-height:14px}
.wk-c.hit:not(.now) .wk-b i{background:#7a7a8c}
.wk-b{min-height:20px}
.w-week{display:flex;flex-direction:column}

/* v98: KI-Dock klappt nach oben genau bis zur Oberkante des Blocks darüber auf */
@media (min-width:901px){
  .aipane{transition:height .45s cubic-bezier(.3,.9,.3,1),box-shadow .3s ease}
  .aipane.open{display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(0,0,0,.08),0 28px 70px rgba(30,20,90,.2)!important}
  .aipane.open .chatbox.flat{flex:1;min-height:0;display:flex!important;flex-direction:column}
  .aipane.open .msgs{flex:1;min-height:0;max-height:none!important;overflow:auto}
}

/* v99: Umschalter Dokument A4 / Whiteboard im Erstellen-Dialog */
.nd-sw.seg{display:flex;width:100%;margin:0 0 16px;max-width:none}.nd-sw.seg button{flex:1;padding:11px 14px;font-weight:600}
/* Papierauswahl im Dokument-Dialog: nicht von den Ordner-Blättern (.pp) überschreiben lassen */
.papers .pp{position:static;bottom:auto;width:auto;height:auto;transform:none!important;box-shadow:none;padding:10px 8px 12px;border-radius:20px;background:var(--soft);display:flex;flex-direction:column;gap:8px;align-items:center;border:2px solid transparent}
.papers .pp.on{background:#fff;border-color:#0f0f12}.papers .pp:hover{background:#ecebf5}
.papers .pp b{font:600 13px/1.2 inherit;font-family:inherit;color:#0f0f12;margin:0;max-height:none;overflow:visible}

/* v100: Geteilt-Hinweis dezent – kleines graues Symbol in der Meta-Zeile statt dunklem Kreis auf der Karte */
.shi{display:inline-flex;vertical-align:-2px;margin-left:8px;color:#a9a9b6}.shi svg{width:12px;height:12px}
.shbadge{width:12px;height:12px;border-radius:50%;background:#ececf1;color:#8a8a98;border:2px solid #fff;right:-6px;bottom:-6px}
.shbadge svg{width:8px;height:8px}

/* v101: Uhr-Block zeigt ab 2 Spalten Breite die heutigen Kalendereinträge; Apple-Kalender-Panel */
.w-clock{container-type:inline-size;justify-content:center}
.w-clock .ck-in{display:grid;grid-template-columns:1fr;align-items:center;min-width:0}
.w-clock .ck-t b{font-size:clamp(34px,6vh,60px);letter-spacing:-.045em;line-height:1;display:block}
.w-clock .ck-ev{display:none;min-width:0}
@container (min-width:380px){.w-clock .ck-in{grid-template-columns:auto minmax(0,1fr);gap:26px}.w-clock .ck-ev{display:block;border-left:1px solid #ececf1;padding-left:22px}}
.ck-ev h3{margin:0 0 6px;font-size:12px;font-weight:700;color:#8a8a98;text-transform:uppercase;letter-spacing:.06em}
.ck-r{display:flex;align-items:center;gap:10px;padding:4px 0;min-width:0}.ck-r i{width:4px;height:18px;border-radius:3px;flex:none}
.ck-tm{font-size:12px;font-weight:700;color:#8a8a98;width:62px;flex:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.w-clock .ck-r b{font-size:14.5px;font-weight:600;letter-spacing:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.ck-r.more{font-size:12.5px;color:#8a8a98;padding-left:14px}.ck-none{margin:0!important;color:#9a9aa8;font-size:14px}
.apf{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:#f5f5f9;margin-bottom:8px}.apf>i{width:10px;height:10px;border-radius:50%;flex:none}.apf span{flex:1;min-width:0;display:flex;flex-direction:column}.apf small{color:#8a8a98;font-size:12px}.apf .bad{color:#d92d20;font-style:normal}
.apadd{display:grid;grid-template-columns:170px 1fr auto;gap:8px;margin-top:10px}
@media (max-width:700px){.apadd{grid-template-columns:1fr}}

/* ======== v102: optische Korrekturen ======== */
.deck{border-top:0!important;box-shadow:0 1px 2px rgba(30,20,90,.04)}
.tring{background:conic-gradient(#0f0f12 calc(var(--p)*1%),#ececf1 0)!important}
.bars2 i{background:linear-gradient(#0f0f12,#55555f)!important}
.ring{background:conic-gradient(#0f0f12 calc(var(--p)*1%),#ececf1 0)}
.task input[type=checkbox],.lz input[type=checkbox]{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;border:2px solid #c9c9d6;background:#fff;display:grid;place-items:center;cursor:pointer;flex:none;transition:background .15s,border-color .15s;margin:0}
.task input[type=checkbox]:hover,.lz input[type=checkbox]:hover{border-color:#0f0f12}
.task input[type=checkbox]:checked,.lz input[type=checkbox]:checked{background:#0f0f12;border-color:#0f0f12}
.task input[type=checkbox]:checked::after,.lz input[type=checkbox]:checked::after{content:"";width:5px;height:10px;border:solid #fff;border-width:0 2.2px 2.2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.aip .modes,.aip .chatbox .modes{margin-top:16px}
#modal-root .tt4,.mask .tt4{width:100%}

/* ======== v103: Design-Studio (Übersicht, Editor, Vorlagen) ======== */
.dmini{position:relative;overflow:hidden;border-radius:8px;background:#fff;flex:none}.dmini-in{position:absolute;left:0;top:0;transform-origin:0 0;pointer-events:none}
.dpage{position:relative;overflow:hidden}
.dob{position:absolute;transform-origin:50% 50%;cursor:move;user-select:none;-webkit-user-select:none;touch-action:none;box-sizing:border-box}
.dob svg{display:block;width:100%;height:100%;overflow:visible}.dob img{display:block;pointer-events:none}
.dtx{outline:0;white-space:pre-wrap;word-break:break-word;box-sizing:border-box;min-height:1em;cursor:inherit}.dtx.editing{cursor:text;user-select:text;-webkit-user-select:text}
.dob.lk{cursor:default}

/* Übersicht */
.dsh .hd{margin-bottom:18px}
.dsh-hero{background:linear-gradient(120deg,#1a0b3b,#5b21b6 55%,#db2777);border-radius:32px;padding:28px 30px 26px;color:#fff;margin-bottom:26px;position:relative;overflow:hidden}
.dsh-hero::after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.1)}
.dsh-hero h2{font-size:28px;letter-spacing:-.03em;margin:0 0 4px}.dsh-hero p{margin:0 0 20px;color:#e9d5ff}
.dsh-fm{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none;position:relative;z-index:1}.dsh-fm::-webkit-scrollbar{display:none}
.dsh-fm button{flex:none;width:112px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;border-radius:20px;background:rgba(255,255,255,.12);color:#fff;transition:transform .2s,background .2s;backdrop-filter:blur(6px)}
.dsh-fm button:hover{background:rgba(255,255,255,.22);transform:translateY(-3px)}
.dsh-fm .fs{display:block;height:46px;max-width:76px;background:#fff;border-radius:5px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.dsh-fm b{font-size:13px}.dsh-fm small{font-size:11px;color:#ddd6fe;margin-top:-3px}
.dsh-sec{margin-bottom:28px}.dsh-sec h3{margin:0 0 14px;font-size:20px;letter-spacing:-.02em}.dsh-sech{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.dsh-sech h3{margin:0}
.dsh-cats{display:flex;gap:6px;flex-wrap:wrap}.dsh-cats button{padding:8px 16px;border-radius:999px;background:#fff;font-size:13.5px;font-weight:600;transition:background .15s}.dsh-cats button.on{background:#0f0f12;color:#fff}.dsh-cats button:hover:not(.on){background:#ecebf5}
.dsh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.dsh-card{position:relative;background:#fff;border-radius:22px;padding:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px rgba(30,20,90,.05)}.dsh-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(30,20,90,.13)}
.dsh-th{width:100%;max-height:230px;border-radius:14px;overflow:hidden;background:#f1f1f6;display:grid;place-items:center}.dsh-th img{width:100%;height:100%;object-fit:contain;display:block}
.dsh-m{padding:10px 6px 2px;display:flex;flex-direction:column;gap:2px}.dsh-m b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsh-m small{font-size:12px;color:#8a8a98}
.dsh-card .dmore{position:absolute;top:16px;right:16px;opacity:0;transition:opacity .15s;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(0,0,0,.15);border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.dsh-card:hover .dmore{opacity:1}
.dsh-tpl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px 18px;align-items:start}
.dsh-t{display:flex;flex-direction:column;gap:7px;text-align:left;transition:transform .2s}.dsh-t:hover{transform:translateY(-5px)}.dsh-t b{font-size:14.5px}.dsh-t small{font-size:12px;color:#8a8a98;margin-top:-5px}
.dsh-tp{display:block;width:220px;max-width:100%;max-height:300px;overflow:hidden;border-radius:12px;box-shadow:0 2px 6px rgba(30,20,90,.1),0 12px 30px rgba(30,20,90,.1);transition:box-shadow .2s}.dsh-t:hover .dsh-tp{box-shadow:0 4px 10px rgba(30,20,90,.12),0 22px 44px rgba(30,20,90,.2)}
.dsh-tp .dmini{border-radius:0}

/* Erstellen-Dialog */
.dsc{max-width:760px}
.dsc-fm{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.dsc-fm button,.dsc-tp button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 8px;border-radius:16px;background:#f5f5f9;border:2px solid transparent;transition:border-color .15s,background .15s}
.dsc-fm button.on,.dsc-tp button.on{background:#fff;border-color:#0f0f12}.dsc-fm button:hover,.dsc-tp button:hover{background:#eeeef4}
.dsc-fm span{display:block;height:38px;max-width:58px;background:#fff;border:2px solid #b9b9c8;border-radius:4px}.dsc-fm .on span{border-color:#0f0f12}.dsc-fm b,.dsc-tp b{font-size:12px;text-align:center}
.dsc-cs{display:flex;gap:12px;align-items:end;margin-top:10px}.dsc-cs label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;flex:1}.dsc-cs small{color:#8a8a98;padding-bottom:12px}
.dsc-tp{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.dsc-tp button{flex:none;width:100px}.dsc-tp .dmini{border-radius:6px}.dsc-blank{display:block;width:84px;height:84px;border-radius:6px;background:#fff;border:2px dashed #c9c9d6}

/* Editor */
.dsn{height:calc(100dvh - 24px);display:flex;flex-direction:column;background:#fff;border-radius:32px;overflow:hidden;margin:0 12px 0 0}
.dsn-top{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid #ececf1;flex:none}
.dsn-title{border:0;outline:0;background:transparent;font-size:16px;font-weight:700;letter-spacing:-.01em;min-width:80px;max-width:300px;padding:6px 8px;border-radius:10px}.dsn-title:hover,.dsn-title:focus{background:#f3f3f7}
.dsn-sz{font-size:12px;color:#8a8a98;font-weight:600}.dsn-top .sp{flex:1}
.dsn-hist,.dsn-zoom{display:flex;align-items:center;gap:2px}.dsn-hist .icon-btn:disabled{opacity:.3}
.dsn-zoom{background:#f3f3f7;border-radius:999px;padding:2px}.dsn-zoom button{min-width:30px;height:30px;border-radius:999px;font-weight:700}.dsn-zoom .zv{padding:0 8px;font-size:12.5px;min-width:52px}.dsn-zoom button:hover{background:#e9e9f0}
.dsn-main{flex:1;min-height:0;display:flex}
.dsn-rail{width:78px;flex:none;display:flex;flex-direction:column;gap:2px;padding:10px 8px;border-right:1px solid #ececf1;overflow-y:auto;scrollbar-width:none}
.dsn-rail button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;border-radius:14px;font-size:11px;font-weight:600;color:#55555f;transition:background .15s,color .15s}
.dsn-rail button svg{width:22px;height:22px}.dsn-rail button:hover{background:#f3f3f7}.dsn-rail button.on{background:#0f0f12;color:#fff}.dsn-rail button.on svg{color:#fff}
.dsn-panel{width:318px;flex:none;overflow-y:auto;padding:16px 16px 28px;border-right:1px solid #ececf1;background:#fff}
.dsn-panel h4{margin:0 0 12px;font-size:19px;letter-spacing:-.02em}.dsn-panel h5{margin:18px 0 8px;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:#9a9aa8}
.dpn-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.dpn-chips button{padding:6px 12px;border-radius:999px;background:#f3f3f7;font-size:12.5px;font-weight:600}.dpn-chips button.on{background:#0f0f12;color:#fff}.dpn-chips.sm{margin-bottom:8px}.dpn-chips.sm button{padding:5px 10px;font-size:12px}
.dpn-tpl{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;align-items:start}.dpn-t{display:flex;flex-direction:column;gap:5px;text-align:left}.dpn-t b{font-size:12.5px}
.dpn-tp,.dpn-pk{display:block;max-height:210px;overflow:hidden;border-radius:10px;box-shadow:0 1px 4px rgba(30,20,90,.15);transition:transform .15s,box-shadow .15s}.dpn-t:hover .dpn-tp,.dpn-packs button:hover .dpn-pk{transform:translateY(-3px);box-shadow:0 8px 20px rgba(30,20,90,.2)}
.dpn-tp .dmini,.dpn-pk .dmini{border-radius:0}
.dpn-shapes{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.dpn-shapes button{aspect-ratio:1;border-radius:12px;background:#f5f5f9;display:grid;place-items:center;padding:9px;transition:background .15s,transform .15s}.dpn-shapes button:hover{background:#e9e9f2;transform:scale(1.06)}.dpn-shapes svg{width:100%;height:100%}
.dpn-lines{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dpn-lines button{height:44px;border-radius:12px;background:#f5f5f9;display:grid;place-items:center;padding:6px 10px}.dpn-lines button:hover{background:#e9e9f2}
.dpn-emo{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.dpn-emo button{font-size:27px;line-height:1;padding:7px 0;border-radius:12px;transition:background .15s,transform .15s}.dpn-emo button:hover{background:#f3f3f7;transform:scale(1.15)}
.dpn-packs{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.dpn-packs button{display:flex;flex-direction:column;gap:5px;text-align:left}.dpn-packs b{font-size:12.5px}
.dpn-big,.dpn-mid,.dpn-sm{display:block;width:100%;text-align:left;border-radius:14px;background:#f5f5f9;padding:13px 16px;margin-bottom:8px;transition:background .15s}.dpn-big:hover,.dpn-mid:hover,.dpn-sm:hover{background:#e9e9f2}
.dpn-big{font-size:22px;font-weight:800;letter-spacing:-.02em}.dpn-mid{font-size:16px;font-weight:600}.dpn-sm{font-size:13px}
.dpn-styles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dpn-styles button{min-height:62px;border-radius:14px;background:#f5f5f9;font-size:22px;line-height:1.1;padding:8px;display:grid;place-items:center;text-align:center;transition:transform .15s}.dpn-styles button:hover{transform:scale(1.04)}
.dcp-g{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.dcp-g.big{grid-template-columns:repeat(6,1fr)}.dcp-g button{aspect-ratio:1;border-radius:50%;border:2px solid rgba(0,0,0,.08);transition:transform .12s}.dcp-g button:hover{transform:scale(1.15)}.dcp-g button.on{outline:2px solid #0f0f12;outline-offset:2px}
.dcp-gr{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.dcp-gr.big{grid-template-columns:repeat(4,1fr)}.dcp-gr button{aspect-ratio:1.4;border-radius:10px;transition:transform .12s}.dcp-gr button:hover{transform:scale(1.08)}
.dcp-c{display:flex;align-items:center;gap:10px;margin:12px 0 4px;font-size:13px;font-weight:600;cursor:pointer}.dcp-c input{width:34px;height:34px;border:0;padding:0;background:none;cursor:pointer;border-radius:50%}
.dcp h6{margin:12px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9a9aa8}.dcp-n{margin-top:10px;font-size:13px;font-weight:600;color:#6b6b78}
.dpn-pat{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.dpn-pat button{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11.5px;font-weight:600}.dpn-pat i{display:block;width:100%;aspect-ratio:1;border-radius:12px;border:1px solid #e4e4ec}
.dpn-up{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border-radius:16px;background:#0f0f12;color:#fff;font-weight:700;font-size:14px}.dpn-up svg{color:#fff;width:18px;height:18px}
.dpn-imgs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dpn-imgs button{border-radius:12px;overflow:hidden;aspect-ratio:1.2;background:#f1f1f6}.dpn-imgs img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.dpn-imgs button:hover img{transform:scale(1.06)}
.dpn-ly{display:flex;flex-direction:column;gap:4px}.ly{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;cursor:pointer;background:#f7f7fa}.ly.on{background:#0f0f12;color:#fff}.ly-i{width:26px;height:26px;border-radius:8px;background:#fff;color:#111;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}.ly-i svg{width:15px;height:15px}.ly b{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ly button{font-size:12px;opacity:.75;padding:2px 4px}
.dsn-center{flex:1;min-width:0;display:flex;flex-direction:column;background:#e8e8ef}
.dsn-ctx{display:flex;align-items:center;gap:6px;margin:10px 12px 0;padding:6px 10px;min-height:48px;background:#fff;border-radius:16px;box-shadow:0 2px 10px rgba(30,20,90,.08);overflow-x:auto;scrollbar-width:none;flex:none}.dsn-ctx::-webkit-scrollbar{display:none}
.dc-info{font-size:13px;color:#8a8a98;padding:0 6px}.dsn-ctx .sp{flex:1}.dc-sep{width:1px;height:22px;background:#e4e4ec;margin:0 4px;flex:none}
.tbt{min-width:34px;height:34px;padding:0 9px;border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:600;flex:none;transition:background .12s}.tbt svg{width:17px;height:17px}.tbt:hover{background:#f1f1f6}.tbt.on{background:#0f0f12;color:#fff}.tbt.on svg{color:#fff}.tbt.danger:hover{background:#fee2e2;color:#c92a2f}
.cs{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}.cs:hover{background:#f1f1f6}.cs i{display:block;width:22px;height:22px;border-radius:50%;border:2px solid rgba(0,0,0,.14)}
.dc-font{display:flex;align-items:center;gap:8px;padding:0 12px;height:34px;border-radius:10px;background:#f3f3f7;font-size:14px;min-width:130px;justify-content:space-between;flex:none}.dc-font svg{width:12px;height:12px}
.dc-sz{display:flex;align-items:center;background:#f3f3f7;border-radius:10px;flex:none}.dc-sz button{width:28px;height:34px;font-size:16px;font-weight:700}.dc-sz input{width:44px;height:34px;border:0;background:transparent;text-align:center;font-weight:700;outline:0;font-size:14px}
.dc-rng{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b6b78;flex:none}.dc-rng input{width:92px;accent-color:#0f0f12}.dc-rng.big{flex-direction:column;align-items:flex-start;margin:6px 0;font-weight:600;color:#111}.dc-rng.big input{width:220px}
.dsn-scroll{flex:1;min-height:0;overflow:auto;display:flex;padding:24px}.dsn-pw{position:relative;margin:auto;flex:none;box-shadow:0 10px 50px rgba(30,20,90,.2);background:#fff}
.dsn-pg{position:absolute;left:0;top:0;transform-origin:0 0}
.dsel,.dguides{position:absolute;inset:0;pointer-events:none}.dsel{z-index:20}.dguides{z-index:21}
.sbox{position:absolute;outline:calc(2px / var(--z)) solid #6d5dfc;pointer-events:none;box-sizing:border-box}.sbox.lk{outline-style:dashed}.sbox.multi{outline-width:calc(1.5px / var(--z));outline-style:dashed}.sbox.mq{outline:calc(1px / var(--z)) dashed #6d5dfc;background:rgba(109,93,252,.08)}
.hdl{position:absolute;width:calc(13px / var(--z));height:calc(13px / var(--z));margin:calc(-6.5px / var(--z)) 0 0 calc(-6.5px / var(--z));background:#fff;border:calc(2px / var(--z)) solid #6d5dfc;border-radius:50%;pointer-events:auto;box-sizing:border-box;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.hdl.rot{left:50%!important;top:calc(-34px / var(--z))!important;width:calc(18px / var(--z));height:calc(18px / var(--z));margin:calc(-9px / var(--z)) 0 0 calc(-9px / var(--z));cursor:grab}
.gl{position:absolute;background:#f43f5e}.gl.v{top:0;bottom:0;width:calc(1px / var(--z))}.gl.h{left:0;right:0;height:calc(1px / var(--z))}
.dsn-pages{display:flex;gap:10px;align-items:flex-end;padding:10px 14px;background:#f4f4f8;border-top:1px solid #e4e4ec;overflow-x:auto;flex:none;scrollbar-width:thin}
.dpg{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border-radius:10px;border:2px solid transparent}.dpg.on{border-color:#6d5dfc;background:#fff}.dpg-t{display:block;max-height:64px;overflow:hidden;border-radius:5px;box-shadow:0 1px 4px rgba(30,20,90,.2)}.dpg-t .dmini{border-radius:0}.dpg em{font-style:normal;font-size:11px;color:#8a8a98;font-weight:600}
.dpg.add{width:48px;height:62px;border:2px dashed #c9c9d6;border-radius:10px;display:grid;place-items:center;color:#8a8a98}.dpg.add:hover{border-color:#6d5dfc;color:#6d5dfc}
.dpop{position:fixed;z-index:420;background:#fff;border-radius:18px;padding:12px;box-shadow:0 4px 12px rgba(0,0,0,.08),0 22px 60px rgba(0,0,0,.22);min-width:210px;animation:pop .15s}
.dpop .dcp-g{width:268px}.dpop .dcp-gr{width:268px}
.dfp{display:flex;flex-direction:column;max-height:340px;overflow:auto;min-width:210px}.dfp button{text-align:left;padding:9px 12px;border-radius:10px;font-size:17px}.dfp button:hover{background:#f3f3f7}.dfp button.on{background:#0f0f12;color:#fff}
@media (max-width:900px){.dsn{height:calc(100dvh - 16px);margin:0}.dsn-main{flex-direction:column-reverse}.dsn-rail{width:auto;flex-direction:row;border-right:0;border-top:1px solid #ececf1;padding:6px;overflow-x:auto}.dsn-rail button{flex:1;min-width:64px;padding:8px 2px 6px}.dsn-panel{width:auto;height:34dvh;border-right:0;border-top:1px solid #ececf1}.dsn-sz,.hide-sm{display:none}.dsn-top{padding:8px 10px;gap:6px}.dsn-title{max-width:130px}.dsn-scroll{padding:12px}}

.dsn-panel[hidden]{display:none}
.sbadge{}
.cvwrap.inf{height:calc(100dvh - 190px);min-height:340px;max-height:none;overflow:hidden;touch-action:none;background:#fff}
.cvwrap.inf canvas{display:block;touch-action:none}
.bzoom{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;background:#fff;border-radius:999px;box-shadow:0 4px 18px rgba(30,20,90,.16);padding:3px;z-index:6}
.bzoom button{border:0;background:transparent;height:34px;min-width:34px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;color:#222;padding:0 8px}.bzoom button:hover{background:#f1f1f5}
.bd-inf{margin:2px 0 10px;color:#6b6b78;font-size:13px}
.ink-stk{max-width:260px}.ink-stk .ink-chip{font-size:20px;padding:4px 8px;line-height:1.2}
.aud-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid var(--line,#e4e4ea);border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.16);max-width:calc(100vw - 32px)}
.aud-bar select{max-width:150px;border:0;background:var(--soft,#f3f3f6);border-radius:9px;padding:6px 8px;font:inherit}
.aud-bar audio{height:34px;max-width:240px;min-width:0}
.aud-dot{width:10px;height:10px;border-radius:50%;background:#e5484d;animation:audp 1s ease-in-out infinite}
@keyframes audp{50%{opacity:.25}}
#ip-mic.on{background:#e5484d!important;color:#fff!important}

/* ======== PDF-Editor Redesign: ruhige Fläche, Seitenübersicht, Seitenzähler, schwarze aktive Icons (wie Home / Ordner) ======== */
.pdfed .ned-bar{box-shadow:0 1px 0 #ececf1}
.pdfed .icon-btn,.pdfed .ned-tools .tbtn,.ned-bar .inkpal .tbtn{color:#6b6b78;transition:background .15s,color .15s}
.pdfed .icon-btn:hover,.pdfed .ned-tools .tbtn:hover,.ned-bar .inkpal .tbtn:hover{background:#f3f3f6;color:#0f0f12}
.pdfed .icon-btn.on,.pdfed .tbtn.on,.inkpal .tbtn.on,.ned-bar .inkpal .tbtn.on{background:#ececf0;color:#0f0f12}
.pdfed .icon-btn.on svg,.pdfed .tbtn.on svg,.inkpal .tbtn.on svg{stroke-width:2.1}
.inkpal .tbtn.on svg [fill=none],.inkpal .tbtn.on svg{color:#0f0f12}
.pdfed .modesw{background:#f1f1f5;padding:3px}
.pdfed .modesw button{display:inline-flex;align-items:center;gap:7px;padding:8px 14px 8px 11px;color:#6b6b78}
.pdfed .modesw button svg{width:17px;height:17px;flex:none}
.pdfed .modesw button.on{color:#0f0f12}
.pdfed .modesw button.on svg{stroke-width:2.2}
@media (max-width:1100px){.pdfed .modesw button span{display:none}.pdfed .modesw button{padding:8px 11px}}
.pdfed .tt-lbl{color:#8a8a98;font-size:13px}
.pdfed .pdfwrap{display:flex!important;flex-direction:row!important;align-items:stretch!important;position:relative;min-height:0;gap:0}
.pdfed .pdfpaper{flex:1;min-width:0;background:#eef0f5!important;border-radius:0!important;margin-bottom:0!important}
.pdfed .pdfpg{border-radius:10px;box-shadow:0 1px 2px rgba(20,20,40,.06),0 10px 30px rgba(20,20,60,.09)}
.pdfthumbs{display:none;flex:none;width:148px;overflow-y:auto;padding:14px 12px 90px;background:#fff;border-right:1px solid #ececf1;scrollbar-width:thin;scrollbar-color:#d6d6de transparent;flex-direction:column;gap:12px}
.pdfed.th-open .pdfthumbs{display:flex}
.pdfth{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:12px;cursor:pointer;flex:none;color:#6b6b78;transition:background .15s}
.pdfth:hover{background:#f3f3f6}
.pdfth .th-c{display:block;width:100%;background:#fff;border-radius:6px;box-shadow:0 0 0 1px #e3e3ea,0 3px 10px rgba(20,20,60,.08);overflow:hidden}
.pdfth canvas{display:block;width:100%;height:100%}
.pdfth em{font-style:normal;font-size:12px;font-weight:600}
.pdfth.on{background:#ececf0;color:#0f0f12}.pdfth.on .th-c{box-shadow:0 0 0 2px #0f0f12,0 4px 12px rgba(20,20,60,.14)}
.pdfpager{position:absolute;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:2px;background:#fff;border-radius:999px;padding:4px;box-shadow:0 2px 6px rgba(0,0,0,.06),0 14px 36px rgba(30,20,90,.18)}
.pdfpager[hidden]{display:none}
.pdfpager .tbtn{width:34px;height:34px;border-radius:50%;color:#6b6b78}.pdfpager .tbtn:hover{background:#f3f3f6;color:#0f0f12}
.pdfpager .tbtn:first-child svg{transform:rotate(90deg)}.pdfpager .tbtn:last-child svg{transform:rotate(-90deg)}
.pdfpager .pgn{display:inline-flex;align-items:center;gap:5px;padding:0 6px;font-size:13px;color:#6b6b78}
.pdfpager .pgn b{font-weight:600;color:#0f0f12}.pdfpager .pgn i{font-style:normal}
.pdfpager input{width:38px;border:0;background:#f1f1f5;border-radius:8px;text-align:center;font:600 13px inherit;font-family:inherit;color:#0f0f12;padding:5px 2px;-moz-appearance:textfield;appearance:textfield}
.pdfpager input::-webkit-outer-spin-button,.pdfpager input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media (max-width:900px){
  .pdfed.th-open .pdfthumbs{position:fixed;left:8px;top:120px;bottom:12px;z-index:70;width:132px;border:0;border-radius:18px;box-shadow:0 10px 40px rgba(30,20,90,.28)}
  .pdfpager{right:12px;bottom:12px}
}

/* v102: Lumi AI ist ein fester Block im Raster (wie die anderen: weiß, ohne Schatten, 2 × 2), im Editor gesperrt */
.bento .w-ai{padding:0;gap:0}
.w-ai .hai-h{display:flex;gap:12px;align-items:center;padding:18px 20px 8px;flex:none}
.w-ai .hai-h b{font-size:15px;display:block;letter-spacing:-.02em}.w-ai .hai-h small{font-size:12px;color:var(--muted);display:block}
.w-ai .chatbox.flat{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 14px 14px;background:transparent;border-radius:0;height:auto}
.w-ai .msgs{flex:1;min-height:0;max-height:none;overflow:auto}
.w-ai .modes{display:none}
.w-ai .t-in{padding:0;margin-top:auto}.w-ai .tin{background:#f6f6fa;border-color:transparent}
@media (max-width:900px){.bento .b-grid>.w-ai{min-height:460px}.main.homew,.main.homew:not(.doc-full){padding-bottom:40px}}

/* v103: Startseite ohne Kopfzeile; Raster wächst mit den Blöcken (max. 6 Spalten × 8 Reihen); Fokus-Timer: Kreis antippen = Start, Ziehen = Dauer */
@media (min-width:901px){.bento .b-grid{grid-template-rows:repeat(var(--n,4),minmax(96px,1fr))!important;grid-auto-rows:minmax(96px,1fr)!important}}
.bento .w-goal{container-type:size;padding:12px;align-items:center;justify-content:center;position:relative}
.bento .w-goal h2{position:absolute;left:16px;top:12px;margin:0;z-index:1}
.bento .w-goal .fd{flex:none;width:min(100cqw - 8px,100cqh - 8px);height:min(100cqw - 8px,100cqh - 8px);max-height:none;aspect-ratio:1;margin:0 auto}
.bento .w-goal .fd-c b{font-size:clamp(14px,18cqmin,44px)}
.bento .w-goal .fd svg.fd-p{position:static;inset:auto;overflow:visible;width:clamp(12px,9cqmin,26px);height:auto;fill:#0f0f12;margin-top:2px}
.bento .z-add .link{white-space:nowrap;flex:none}.bento .z-add input{min-width:0}
.bento .w-goal .fd-bg,.bento .w-goal .fd-fg{stroke-width:16}
.bento .w-goal .fd-rs{position:absolute;right:10px;top:10px;width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:50%;background:#f1f1f4;z-index:2}
.bento .w-goal .fd-rs[hidden]{display:none}
.bento .w-goal .fd-rs svg{width:14px;height:14px;fill:none;stroke:#0f0f12;stroke-width:2.4;stroke-linecap:round}
@container (max-height:170px){.bento .w-goal h2{display:none}}
@media (max-width:900px){.bento .w-goal{min-height:300px}.bento .w-goal .fd{width:min(100cqw - 8px,250px);height:min(100cqw - 8px,250px)}}

/* v104: unten freier Bereich nur mit Eingabe; beim Schreiben wird alles weiß und der Chat groß */
@media (min-width:901px){.main.homew,.main.homew:not(.doc-full){padding-bottom:134px!important}}
.hdock{position:fixed;z-index:60;left:var(--dl,0);width:var(--dw,100%);top:var(--dtc,calc(100dvh - 126px));bottom:var(--db,0);display:flex;justify-content:center;pointer-events:none;transition:top .55s cubic-bezier(.3,.9,.3,1)}
.hdock.open{top:var(--dt,0);pointer-events:auto}
.hd-bg{position:absolute;inset:0;background:#fff;border-radius:40px;opacity:0;transition:opacity .45s ease}
.hd-bg::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(to bottom,rgba(242,242,247,0),var(--appbg,#f2f2f7) 38%);opacity:0;transition:opacity .3s}
.hdock:not(.open) .hd-bg{opacity:1;background:transparent}.hdock:not(.open) .hd-bg::before{opacity:1}
.hdock.open .hd-bg{opacity:1;background:#fff}
.hd-in{position:relative;width:min(800px,calc(100% - 32px));height:100%;display:flex;flex-direction:column;pointer-events:auto;padding-bottom:14px}
.hd-top{display:flex;justify-content:flex-end;gap:8px;padding:0;flex:none;opacity:0;pointer-events:none;transition:opacity .3s ease;height:0;overflow:hidden}
.hdock.open .hd-top{opacity:1;pointer-events:auto;height:auto;overflow:visible;padding:18px 0 4px}
.hdock .chatbox.flat{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;background:transparent;border-radius:0;height:auto}
.hdock .msgs{flex:1;min-height:0;max-height:none;overflow:auto;opacity:0;transition:opacity .4s ease .15s;scrollbar-width:thin}
.hdock.open .msgs{opacity:1}
.hdock:not(.open) .msgs{pointer-events:none}
.hdock .modes,.hdock .imgprev[hidden]{display:none}
.hdock .m{font-size:16px;max-width:92%}
.hdock .t-in{margin-top:auto;padding:0}
.hdock:not(.open) .ctxbar{display:none}
@media (max-width:900px){.hdock{--db:calc(86px + env(safe-area-inset-bottom))!important}.hdock.open{--db:0px!important}.hdock:not(.open){top:calc(100dvh - 86px - env(safe-area-inset-bottom) - 126px)!important}.hdock.open{top:var(--dt,0)!important}.hd-bg{border-radius:30px}}

/* v105: Blöcke enden immer über der Chat-Eingabe (auch beim Scrollen auf Tablet/Handy) */
@media (max-width:900px){.main.homew,.main.homew:not(.doc-full){padding-bottom:calc(var(--hdh,126px) + 96px + env(safe-area-inset-bottom))!important}}
@media (min-width:901px){.bento .b-grid{padding-bottom:2px}}

/* v106: feste Reihenhöhe – Startseite und Builder zeigen dieselben Reihen; vier Reihen passen, wenn der Bildschirm hoch genug ist (sonst scrollt es) */
:root{--rh:clamp(96px,calc((100dvh - 180px - 36px) / 4),190px)}
.hed-grid{grid-template-rows:repeat(var(--n,4),var(--rh))!important;grid-auto-rows:var(--rh)!important;align-content:start;position:relative}
.hed-fold{position:absolute;left:12px;right:12px;border-top:2px dashed #ff6a3d;pointer-events:none;z-index:5}
.hed-fold span{position:absolute;right:0;top:4px;font:600 11px/1 inherit;font-family:inherit;color:#ff6a3d;background:var(--appbg,#f3f3f8);padding:3px 8px;border-radius:99px}

/* v107: Chat-Eingabe unten komplett sichtbar (kein Verlauf-Rest über der Leiste, kein Abschneiden unten, Platz für den Home-Balken) */
.hdock:not(.open) .msgs{padding-top:0;padding-bottom:0;margin:0;min-height:0}
.hdock .hd-in{padding-bottom:calc(14px + env(safe-area-inset-bottom))}

/* v108: Noten-Block – ab 2 × 2 mit Schnitt oben und allen Fächern übersichtlich darunter */
.bento .w-grades{container-type:size;justify-content:flex-start;gap:0}
.w-grades .gr-top{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.w-grades .gr-top .w-big{font-size:clamp(34px,15cqmin,64px);line-height:1;letter-spacing:-.04em}
.w-grades .gr-top small{font-size:12.5px;color:#8a8a98;font-weight:500}
.w-grades .gr-list{display:none;flex-direction:column;gap:9px;margin:14px 0 6px;overflow:auto;min-height:0;flex:1;scrollbar-width:none}
.w-grades .gr-list::-webkit-scrollbar{display:none}
.w-grades .gr-r{display:grid;grid-template-columns:10px minmax(0,1.1fr) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:14px}
.w-grades .gr-d{width:10px;height:10px;border-radius:50%}
.w-grades .gr-n{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.w-grades .gr-n small{color:#a9a9b6;font-weight:500;margin-left:6px;font-size:11.5px}
.w-grades .gr-b{height:8px;border-radius:99px;background:#eeeef2;overflow:hidden}.w-grades .gr-b i{display:block;height:100%;border-radius:99px}
.w-grades .gr-r>b{font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
@container (min-height:215px){
  .w-grades .gr-top{flex-direction:row;align-items:baseline;gap:12px;margin-top:2px}
  .w-grades .gr-top .w-big{font-size:clamp(30px,13cqmin,52px)}
  .w-grades .gr-list{display:flex}
}
@container (max-height:214px){.w-grades .gr-list{display:none}}
@container (min-height:215px){.w-grades .w-go{display:none}.w-grades .gr-list{gap:7px;margin:10px 0 0}.w-grades .gr-r{font-size:13px}.w-grades .gr-top small{font-size:11.5px}}

/* v109: Fächer ohne Farbe – überall nur der Name */
/* nur im Fächer-Block keine Farbpunkte */
.w-sj .sj-l i{display:none!important}

/* v110: Kalender zeigt unten, was am gewählten Tag ansteht (Prüfung, Aufgabe, Termin) – ohne Buttons */
.w-cal .w-cd{margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f4;display:flex;flex-direction:column;gap:3px;min-height:0;flex:none}
.w-cal .w-cd:empty{display:none}
.w-cal .cd-dt{font-size:12px;font-weight:600;color:#8a8a98}
.w-cal .cd-i{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.w-cal .cd-i i{width:6px;height:6px;border-radius:50%;background:#0f0f12;flex:none}
.w-cal .cd-i.kexam i{background:#e5484d}.w-cal .cd-i.kexam b{color:#e5484d}
.w-cal .cd-i b{font-weight:700}
.w-cal .cd-i.more{color:#8a8a98;font-size:12px}.w-cal .cd-i.more i{display:none}
.bento .w-cal .cal-g{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(var(--wk,5),minmax(0,1fr))}
.bento .w-cal .cal-g .cd{height:auto!important;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:0}
.bento .w-cal .cal-g .cd span{width:auto;line-height:1;display:block}
.bento .w-cal .cal-g .cd em{position:absolute;bottom:2px;left:0;right:0;display:flex;justify-content:center;height:5px}
.w-cal .cd-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.w-cal .cd-i.kexam .cd-t b{color:#e5484d}
.w-cal .w-cd{margin-top:6px;padding-top:6px}
.w-cal .cd-i{line-height:18px}
.w-cal .cd-i .cd-m{font-style:normal;margin-left:auto;font-size:12px;font-weight:600;color:#8a8a98;flex:none;padding-left:6px}

/* v111: Chat-Eingabe liegt im Vordergrund und wird nie abgeschnitten */
.hdock{z-index:90}
.hdock .chatbox.flat,.hdock .hd-in{overflow:visible}
.hdock:not(.open) .chatbox.flat{justify-content:flex-end}
.hdock .hd-in{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
@media (min-width:901px){.bento .b-grid{padding-bottom:0}}

/* v112: Chat-Leiste sieht aus wie die Blöcke (weiß, Radius 28, kein Schatten) und sitzt bündig unter dem Raster */
.hdock .hd-in{padding-bottom:12px!important}
.hdock .t-in.cmp{background:#fff;border:0!important;box-shadow:none!important;border-radius:28px}
.hdock.open .t-in.cmp{border:1px solid #e4e4ec!important}

/* v113: keine Apple-/Browser-Hilfen im Chat-Feld (Kontakte-/Passwort-Symbol, Korrekturleiste) */
.tin::-webkit-contacts-auto-fill-button,.tin::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}
.tin{-webkit-text-size-adjust:100%}

/* v114: Startseite und Prüfungen ohne Fachfarben */
.main.homew .gr-d,.main.homew .tt-r>i,.main.homew .sdot,.exams-page .sdot,.exr .sdot{display:none!important}
.w-grades .gr-r{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto}
.main.homew .z-di.ex-d,.exr{--c:#0f0f12!important}
.page.exdet .sdot,.main:has(.exr) .sdot{display:none!important}

/* v115: Markdown in Chat-Antworten als echte Formatierung */
.m.a{white-space:normal}
.m h1,.m h2,.m h3{font-size:1.06em;font-weight:700;margin:.7em 0 .25em;letter-spacing:-.01em;line-height:1.3}
.m p{margin:0 0 .55em}.m ul,.m ol{margin:.25em 0 .55em 1.25em;padding:0}.m li{margin:.18em 0}
.m b,.m strong{font-weight:700}.m code{background:rgba(0,0,0,.06);border-radius:6px;padding:1px 5px;font-size:.92em}
.m blockquote{margin:.4em 0;padding:.1em .8em;border-left:3px solid #d7d7e0;color:#55555f}
.m table{border-collapse:collapse;margin:.4em 0;font-size:.93em}.m th,.m td{border:1px solid #e4e4ec;padding:4px 8px;text-align:left}
.m>:first-child{margin-top:0}.m>:last-child{margin-bottom:0}

/* v116: Rechtschreibung wie in Word – Fehler unterstrichen, Antippen öffnet Vorschläge */
::highlight(lumi-spell){text-decoration:underline wavy #e5484d;text-decoration-thickness:1.5px;text-underline-offset:3px}
.spm{position:fixed;z-index:500;min-width:190px;max-width:290px;background:#fff;border-radius:16px;box-shadow:0 8px 30px rgba(20,20,40,.18),0 0 0 1px rgba(0,0,0,.05);padding:6px;display:flex;flex-direction:column;animation:fadeUp .15s ease both}
.spm button{text-align:left;padding:9px 12px;border-radius:10px;font-size:14px;font-weight:500;color:#0f0f12;background:none;cursor:pointer}
.spm button:hover,.spm button:active{background:#f3f3f7}
.spm .spm-s{font-weight:700}
.spm .spm-a{color:#55555f;font-size:13px}
.spm .spm-n{padding:9px 12px;font-size:13px;color:#8a8a98}
.spm .spm-l{display:block;height:1px;background:#eeeef2;margin:4px 6px}

/* Preise (Landing) */
.sec>.lead{margin-left:auto;margin-right:auto}
#pricing>h2{margin-inline:auto;justify-content:center;text-align:center}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,340px));gap:18px;justify-content:center;margin-top:34px}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;display:flex;flex-direction:column;gap:12px;text-align:left}
.plan.feat{border-color:#5b3df5;box-shadow:0 20px 50px -24px rgba(91,61,245,.55)}
.plan .pill-l{align-self:flex-start;margin:0}
.plan h3{font-size:22px;letter-spacing:-.02em;margin:0}
.plan .pr{margin:0}.plan .pr b{font-size:40px;letter-spacing:-.04em}
.plan .note{margin:-8px 0 0}
.plan ul{list-style:none;padding:0;margin:6px 0 10px;display:grid;gap:8px;flex:1}
.plan li{display:flex;gap:8px;align-items:center;font-size:15px}
.plan li svg{width:16px;height:16px;flex:none;color:#0e9f6e}
.plan .btn{justify-content:center}

/* Anmelden / Registrieren: weisse Seite, Formular links, Foto füllt die rechte Hälfte */
.authwrap{display:block;padding:0;background:#fff;min-height:100dvh}
.authshell{width:100%;min-height:100dvh;display:grid;grid-template-columns:minmax(360px,5fr) 6fr;background:#fff}
.authform{display:flex;flex-direction:column;padding:32px clamp(24px,5vw,64px) 22px;min-width:0}
.authlogo{align-self:flex-start}
.authmid{width:min(400px,100%);margin:auto;display:flex;flex-direction:column;gap:6px;padding:20px 0}
.authmid h1{font-size:34px;font-weight:600;letter-spacing:-.035em;text-align:center;margin:0}
.authsub{text-align:center;color:#666;margin:0 0 14px;font-size:15px}
.authform .lbl{margin:10px 0 2px 14px;font-size:13px;color:#777;font-weight:500}
.field.pill{border-radius:999px;padding:16px 22px;border:1.5px solid #e6e4e0;background:#fff}
.field.pill:focus{border-color:#0a0a0a}
.pwrap{position:relative}.pwrap .field{padding-right:54px}
.pweye{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:none;border-radius:50%;cursor:pointer;color:#555;display:grid;place-items:center}
.pweye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.authgo{border-radius:999px;justify-content:center;padding:17px;font-size:16px;margin-top:6px}
.authoauth{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.authoauth .btn{border-radius:999px;justify-content:center;background:transparent!important;color:#222!important;border:1.5px solid #ddd}
.authmid .link{align-self:center;margin-top:6px}
.authfoot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px;color:#777}
.authfoot a{color:#222;text-decoration:underline}
.authhero{position:relative;min-height:320px;padding:14px;background:#fff}
.authhero::before{content:"";position:absolute;inset:14px;border-radius:34px;background:var(--hero) center/cover no-repeat #ddd}
.ahc{position:absolute;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:20px;padding:12px 16px;box-shadow:0 14px 34px -14px rgba(0,0,0,.4)}
.ahc b{display:block;font-size:14px}.ahc small{display:block;color:#666;font-size:12.5px}
.ahc svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.ahc .dot{width:28px;height:28px;border-radius:50%;background:#0e9f6e;color:#fff;display:grid;place-items:center}.ahc .dot svg{width:15px;height:15px;stroke-width:2.4}
.ahc.ah1{top:38px;left:24px;display:block}
.ahc.ah2{left:24px;bottom:38px}.ahc.ah3{right:38px;bottom:110px}
@media(max-width:860px){.authshell{grid-template-columns:1fr}.authhero{order:-1;min-height:230px;padding:10px 10px 0}.authhero::before{inset:10px 10px 0 10px}.ahc.ah2,.ahc.ah3{display:none}.authform{padding:22px 20px 14px}.authmid h1{font-size:28px}}

/* ===== Neue App-Hülle: hellgraue Seitenleiste, weisse Box rechts (nur Desktop) ===== */
@media (min-width:901px){
  .shell{background:#f3f3f4}
  .side{background:transparent!important;border:0!important}
  .shell,.shell:has(.main.homew){background:#f3f3f4}
  .main,.main.homew,.main.homew:not(.doc-full){background:#fff!important;--panel:#fff;border:1px solid #e6e6ea;border-radius:28px!important;margin:10px 10px 10px 0!important;box-shadow:none!important}
  #app #main.doc-full{background:#fff!important;--panel:#fff;border:1px solid #e6e6ea;border-radius:28px!important;margin:10px 10px 10px 0!important;box-shadow:none!important;overflow:auto;height:calc(100dvh - 20px);min-height:0}
  #app #main.doc-full .docspaper,#app #main.doc-full .docsbody{background:#fff!important}
  #app #main:not(.doc-full){background:#fff!important;--panel:#fff;--appbg:#fff;border:1px solid #e6e6ea;border-radius:28px!important;margin:10px 10px 10px 0!important;box-shadow:none!important}
  .main.homew,.main.homew:not(.doc-full){height:calc(100dvh - 20px);min-height:0}
  .main :is(.panel,.bento .wg,.tile,.crow,.deck,.exc,.result-big,.timerbox,.qcard,.dcal,.emptybox,.hgrid .rec,.dsh-card,.exlist,.hb){border:1px solid #ececf0;box-shadow:none}
  .nav-i{color:#4a4a52;border-radius:12px}
  .nav-i:hover{background:#ebebed}
  .nav-i.on{background:#e6e6e9!important;color:#0f0f12!important;font-weight:600}
  .nav-i svg{color:#4a4a52}
  .btn-new{background:#0f0f12!important}
  .nav-lbl{font-size:13px;color:#8a8a93;padding:16px 12px 6px;font-weight:500}
  .shell.collapsed .nav-lbl{display:none}
  .hdock .t-in.cmp,.hd-in .t-in.cmp,.chatbox .t-in.cmp,#aiside .t-in.cmp,.askbar,.hsearch{border:1px solid #e2e2e8!important;box-shadow:none!important}
  .setback{color:#6b6b73;margin-bottom:4px}
  .hd-bg::before{background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 38%)!important;border-radius:0 0 28px 28px!important}
  .hd-bg{border-radius:28px!important}
}

/* ===== Einstellungen / Konto ===== */
.setpage{max-width:none}
.setcrumb{display:flex;align-items:center;gap:8px;font-size:16px;color:#6b6b73;padding:0 0 16px;margin:-12px 0 8px;border-bottom:1px solid #ececf0}
.setcrumb i{font-style:normal;color:#c4c4cc}.setcrumb b{color:#0f0f12;font-weight:600}
.setbody{max-width:980px;margin:0 auto;padding:8px 0 40px}
.settabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:4px 0 18px;padding:4px;background:#ececf0;border-radius:999px;width:max-content;max-width:100%}
.settabs::-webkit-scrollbar{display:none}
.settabs button{border:0;background:transparent;border-radius:999px;padding:9px 16px;font:600 14px/1 inherit;color:#6b6b73;cursor:pointer;white-space:nowrap}
.settabs button.on{background:#fff;color:#0f0f12;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.setsec{display:none}.setsec.on{display:block}
.setpage .panel{border:1px solid #ececf0;box-shadow:none;padding:0;overflow:hidden;border-radius:22px;background:#fff}
.setpage .panel>h2{display:flex;align-items:center;gap:9px;margin:0;padding:15px 22px;font-size:16px;background:#fafafb;border-bottom:1px solid #ececf0}
.setpage .panel>h2 svg{color:#6b6b73}
.setpage .panel>*:not(h2){margin-left:22px;margin-right:22px}
.setpage .panel>.note:first-of-type,.setpage .panel>h2+*{margin-top:16px}
.setpage .panel>*:last-child{margin-bottom:20px}
.setpage .msstate,.setpage .msstate.ok{background:#f4f4f6}
.setpage .msstate b{color:#0f0f12}.setpage .ldot.on{background:#0f0f12}
.setpage .btn.primary,.setpage .btn.accent{background:#0f0f12!important;color:#fff!important}
.setpage .field:focus{border-color:#0f0f12}
.setpage input[type=checkbox]{accent-color:#0f0f12}
.setpage .note a,.setpage .panel a{color:#0f0f12;text-decoration:underline}
.setsave{position:sticky;bottom:12px;margin-top:8px;justify-content:flex-end}
.setsave .btn{box-shadow:0 8px 24px -8px rgba(0,0,0,.35)}
.setpage:is([data-t=pro],[data-t=acc],[data-t=con]) .setsave{display:none}
/* Profilkopf + Zeilenkarte wie im Vorbild */
.prof-head{display:flex;align-items:center;gap:20px;margin:22px 0 26px}
.av-xl{width:84px;height:84px;border-radius:50%;background:#0f0f12;color:#fff;display:grid;place-items:center;font-size:34px;font-weight:700;flex:none}
.prof-head h1{font-size:34px;letter-spacing:-.03em;margin:0}
.prof-head p{margin:4px 0 0;color:#6b6b73;font-size:16px}
.kvcard .kv{display:grid;grid-template-columns:minmax(120px,240px) minmax(0,1fr);align-items:center;gap:12px;padding:12px 22px;margin:0!important;border-bottom:1px dashed #e2e2e8}
.kvcard .kv>span{color:#6b6b73;font-size:15px}
.kvcard .kv>b{font-weight:500;font-size:15px}
.kvcard .kv:last-of-type{border-bottom:0}
.kvcard h2+.kv{margin-top:0!important}
.kvcard .field.flat{border:0;background:transparent;padding:6px 0;border-radius:0;font-size:15px;width:100%}
.kvcard .field.flat:focus{background:#f6f6f8;padding-left:10px;border-radius:10px}
.kvu{display:flex;align-items:baseline;gap:10px}.kvcard .kvu .field.flat{width:72px;flex:none}.kvu small{color:#8a8a93;white-space:nowrap}
.kvnote{padding:12px 0 0;border-top:1px dashed #e2e2e8;margin-top:0!important}
@media (max-width:560px){.kvcard .kv{grid-template-columns:1fr;gap:2px}}
/* Pro-Block */
.probanner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border:1px solid #e2e2e8;border-radius:22px;background:#fafafb;margin-top:4px}
.pb-l{display:flex;align-items:center;gap:14px;min-width:0}
.pb-l b{display:block;font-size:17px;letter-spacing:-.02em}.pb-l small{display:block;color:#6b6b73;font-size:14px;margin-top:2px}
.probadge{display:inline-block;font:700 11px/1 inherit;letter-spacing:.08em;text-transform:uppercase;background:#0f0f12;color:#fff;border-radius:999px;padding:6px 10px}
@media (max-width:560px){.probanner{flex-direction:column;align-items:stretch}}
.setpage:is([data-t=pro]) .probanner{display:none}
.propanel{background:#fff!important;color:#0f0f12}
.propanel .prohead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 22px 4px}
.propanel .prohead h2{margin:8px 0 0;padding:0;background:none;border:0;font-size:24px;letter-spacing:-.03em}
.prostate{font-size:13px;font-weight:600;background:#ececf0;border-radius:999px;padding:6px 12px}
.prolist{list-style:none;padding:0;margin:14px 22px 18px;display:grid;gap:9px}
.prolist li{display:flex;gap:10px;align-items:center;font-size:15px}
.prolist svg{width:16px;height:16px;flex:none;fill:none;stroke:#0f0f12;stroke-width:2.4}
.propanel .btn{background:#fff;color:#0f0f12;border:1px solid #d9d9e0}
.propanel .btn.primary{background:#0f0f12!important;color:#fff!important;border:0}

.emptybox .btn{font-size:15px;padding:12px 22px;height:auto;min-height:0}

/* Raster hinter dem Profilkopf */
.prof-head{position:relative;isolation:isolate;min-height:176px;align-items:flex-end;padding-bottom:20px;margin-top:18px}
.prof-head>*:not(.pgrid){position:relative;z-index:1}
.pgrid{position:absolute;z-index:0!important;top:0;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(auto-fill,88px);grid-auto-rows:88px;justify-content:end;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(to left,#000 10%,transparent 85%);mask-image:linear-gradient(to left,#000 10%,transparent 85%)}
.pgrid i{border-right:1px solid #f0f0f2;border-bottom:1px solid #f0f0f2;background:#fff}
.pgrid i.f{background:#f6f6f8}

/* ===== Feinschliff v2 ===== */
/* Ordner: ohne Rahmen, gestochen scharf */
.docspaper .fold,.docspaper .fold:hover,.docspaper .fold:focus-visible{border:0!important;box-shadow:none!important;background:transparent!important;outline:0}
.docspaper .foldgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:26px 18px}
.docspaper .fold .fsvg{width:128px;height:100px;filter:drop-shadow(0 1px 1px rgba(15,15,18,.12)) drop-shadow(0 10px 16px color-mix(in srgb,var(--c,#5b3df5) 28%,transparent))}
.docspaper .fold:hover .fsvg{filter:drop-shadow(0 1px 1px rgba(15,15,18,.14)) drop-shadow(0 16px 22px color-mix(in srgb,var(--c,#5b3df5) 38%,transparent))}
.fsvg svg{image-rendering:auto;transform:translateZ(0)}
.fsvg .fic{top:38%;bottom:8%}
/* Kalender auf Home: luftiger, kleiner schwarzer Marker */
.bento .w-cal{padding:20px 22px 18px!important}
.bento .w-cal .cal-t{margin:0 0 12px!important}
.bento .w-cal .cal-g{row-gap:6px!important;column-gap:2px}
.bento .w-cal .wd{padding-bottom:8px!important;font-size:11.5px;letter-spacing:.04em}
.bento .w-cal .cd,.bento .w-cal .cd.today,.bento .w-cal .cd.sel:not(.today){background:none!important;color:#1a1a20;gap:3px;justify-content:center}
.bento .w-cal .cd span,.bento .w-cal .cd.today span{width:34px!important;height:34px!important;line-height:34px!important;border-radius:11px!important;display:grid!important;place-items:center;font-size:14px;margin:0 auto;transition:background .15s,color .15s}
.bento .w-cal .cd:hover span{background:#f1f1f4!important}
.bento .w-cal .cd.sel:not(.today) span{background:#e9e9ee!important}
.bento .w-cal .cd.today span,.bento .w-cal .cd.today:hover span{background:#0f0f12!important;color:#fff!important}
.bento .w-cal .cd.today u{background:#0f0f12}
.bento .w-cal .cd.out span{color:#c3c3cd}
.bento .w-cal .cd.ex:not(.today) span{color:#d93a3a}
/* Einstellungen: bündig links, volle Fläche, zweispaltig */
.setbody{max-width:none!important;margin:0!important;padding:0 0 40px!important}
.setcrumb{margin:-12px 0 18px}
.setsec.on{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,470px),1fr));gap:18px;align-items:start}
.setsec.on>.prof-head,.setsec.on>.probanner,.setsec.on>.setfull{grid-column:1/-1}
.setsec.on>.panel{margin:0!important}
.setsec[data-s=pro].on,.setsec[data-s=dat].on{grid-template-columns:repeat(auto-fit,minmax(min(100%,470px),560px))}
/* Profilkopf: Raster ganz oben, volle Breite */
.prof-head{margin:-4px 0 0!important;min-height:200px;padding:0 0 26px;align-items:flex-end}
.pgrid{-webkit-mask-image:linear-gradient(to left,#000 25%,transparent 100%)!important;mask-image:linear-gradient(to left,#000 25%,transparent 100%)!important;grid-template-columns:repeat(auto-fill,96px);grid-auto-rows:96px}
.probanner{border-radius:20px;background:linear-gradient(180deg,#fff,#f8f8fa)}
@media (min-width:901px){
  .main,.main:not(.homew):not(.doc-full){padding-left:clamp(20px,2.2vw,36px);padding-right:clamp(20px,2.2vw,36px)}
  .hd h1,.page>.hd h1{letter-spacing:-.035em}
  .nav-i{transition:background .15s,color .15s}
  .nav-i.on svg{color:#0f0f12}
  .main{scrollbar-width:thin}
}
.setpage .panel{transition:border-color .2s}.setpage .panel:hover{border-color:#dcdce3}
@media (min-width:901px){#app #main.doc-full .docsed>.ned-bar{padding:14px 22px 10px 24px}#app #main.doc-full .docspaper{padding-left:24px!important}}

/* ===== Onboarding (weiss, abgerundet) ===== */
.obx{position:fixed;inset:0;z-index:300;background:#f3f3f4;display:grid;place-items:center;padding:20px;animation:obxIn .35s ease}
@keyframes obxIn{from{opacity:0}to{opacity:1}}
.obx-card{width:min(640px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:#fff;border:1px solid #e6e6ea;border-radius:32px;padding:26px 34px 28px;display:flex;flex-direction:column;gap:22px;box-shadow:0 30px 70px -40px rgba(15,15,18,.35)}
.obx-top{display:flex;align-items:center;justify-content:space-between}
.obx-dots{display:flex;gap:6px}.obx-dots i{width:22px;height:5px;border-radius:99px;background:#e6e6ea;transition:background .25s,width .25s}
.obx-dots i.done{background:#9a9aa5}.obx-dots i.on{background:#0f0f12;width:34px}
.obx-body{min-height:300px;animation:obxStep .35s cubic-bezier(.3,.9,.3,1)}
@keyframes obxStep{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.obx-eyebrow{display:inline-block;font-size:13px;font-weight:600;color:#6b6b73;margin-bottom:8px}
.obx-body h1{font-size:clamp(28px,4vw,38px);letter-spacing:-.04em;line-height:1.05;margin:0 0 10px}
.obx-sub{color:#6b6b73;font-size:16px;line-height:1.5;margin:0 0 22px;max-width:46ch}
.obx-l{display:block;font-size:13px;font-weight:600;color:#6b6b73;margin:20px 0 8px}
.obx-in{width:100%;border:1.5px solid #e2e2e8;border-radius:18px;padding:16px 18px;font-size:17px;background:#fff;outline:0;transition:border-color .15s,box-shadow .15s}
.obx-in:focus{border-color:#0f0f12;box-shadow:0 0 0 4px rgba(15,15,18,.06)}
.obx-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.obx-cards button{text-align:left;border:1.5px solid #e2e2e8;border-radius:22px;padding:18px;background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,background .15s}
.obx-cards button b{font-size:17px}.obx-cards small{color:#6b6b73;font-size:13.5px;line-height:1.35}
.obx-cards button:hover{border-color:#bdbdc6}
.obx-cards button.on{border-color:#0f0f12;background:#fafafb;box-shadow:inset 0 0 0 1px #0f0f12}
.obx-chips{display:flex;gap:8px;flex-wrap:wrap}.obx-chips button{border:1.5px solid #e2e2e8;border-radius:999px;padding:10px 16px;background:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .15s}
.obx-chips button:hover{border-color:#bdbdc6}.obx-chips button.on{background:#0f0f12;border-color:#0f0f12;color:#fff}
.obx-ms{margin-top:18px;width:100%;justify-content:center;border-radius:999px}
.obx-pro{border:1px solid #e2e2e8;border-radius:24px;padding:20px 22px;background:linear-gradient(180deg,#fff,#f8f8fa)}
.obx-pro-h{display:flex;align-items:center;gap:10px}.obx-pro-h b{font-size:18px;letter-spacing:-.02em}
.obx-pro-h em{margin-left:auto;font-style:normal;font-size:13px;font-weight:600;background:#ececf0;border-radius:99px;padding:6px 12px}
.obx-pro ul{list-style:none;padding:0;margin:16px 0 4px;display:grid;gap:10px}.obx-pro li{display:flex;gap:10px;align-items:center;font-size:15.5px}
.obx-pro li svg{width:16px;height:16px;fill:none;stroke:#0f0f12;stroke-width:2.4;flex:none}
.obx-fine{margin:14px 0 0;color:#6b6b73;font-size:13.5px}
.obx-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.obx-acts{display:flex;gap:10px;align-items:center}
.obx-go{background:#0f0f12;color:#fff;border:0;border-radius:999px;padding:15px 28px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .15s}
.obx-go:hover{transform:translateY(-1px)}
.obx-back,.obx-skip{background:none;border:0;color:#6b6b73;font-size:15px;font-weight:600;cursor:pointer;padding:12px 14px;border-radius:999px}
.obx-back:hover,.obx-skip:hover{background:#f3f3f4;color:#0f0f12}
@media (max-width:560px){.obx{padding:0;align-items:end}.obx-card{border-radius:28px 28px 0 0;padding:20px 20px 24px;max-height:100dvh}.obx-cards{grid-template-columns:1fr}.obx-body{min-height:0}}
@media (max-width:560px){.obx-foot{flex-wrap:wrap}.obx-acts{flex:1;justify-content:flex-end}.obx-go{padding:14px 20px;font-size:15px;white-space:nowrap}.obx-skip,.obx-back{padding:12px 8px}.obx-pro-h b{white-space:nowrap;font-size:16px}.obx-pro-h em{font-size:12px;white-space:nowrap;padding:5px 10px}}

/* ===== Noten: Fächer verwalten ===== */
.subjsec{margin:6px 0 26px}
.subjhd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.subjhd h2{font-size:22px;letter-spacing:-.03em;margin:0}.subjhd .note{margin:4px 0 0}
.subjgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.scard{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #ececf0;border-radius:20px;padding:12px 12px 12px 14px;transition:border-color .15s,box-shadow .15s}
.scard:hover,.scard:focus-within{border-color:#cfcfd8;box-shadow:0 6px 20px -14px rgba(15,15,18,.4)}
.scol{position:relative;width:38px;height:38px;border-radius:12px;background:var(--c);flex:none;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.35)}
.scol input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:0}
.sinfo{display:flex;flex-direction:column;min-width:0;flex:1}
.sname{border:0;background:transparent;font:600 16px/1.2 inherit;letter-spacing:-.01em;padding:3px 6px;margin:-3px -6px;border-radius:8px;width:100%;color:#0f0f12;outline:0}
.sname:hover{background:#f6f6f8}.sname:focus{background:#f1f1f4}
.sinfo small{color:#8a8a93;font-size:13px;margin-top:2px}.sinfo small b{font-weight:700}
.scard .icon-btn{opacity:0;transition:opacity .15s;flex:none}.scard:hover .icon-btn,.scard:focus-within .icon-btn{opacity:.7}.scard .icon-btn:hover{opacity:1}
@media (hover:none){.scard .icon-btn{opacity:.6}}
.scard.add{justify-content:center;gap:8px;border:1.5px dashed #d4d4dc;background:transparent;color:#6b6b73;font-weight:600;font-size:15px;min-height:64px;cursor:pointer}
.scard.add:hover{border-color:#0f0f12;color:#0f0f12;background:#fafafb;box-shadow:none}
.scard.add svg{width:18px;height:18px}
@media (max-width:560px){.subjhd{flex-direction:column;align-items:stretch}}
/* Profil: Karten mit Symbol */
.kvcard>h2 svg{width:19px;height:19px}
.kvu b{font-size:15px}
.btn.sm{padding:7px 14px;font-size:13.5px}

/* ===== Logo zentral (logo.png dunkel / logo-white.png hell) ===== */
.brand{display:inline-flex;align-items:center}
.brand .mark{width:28px;height:28px;margin:0 8px 0 0;vertical-align:baseline;flex:none}
.shell.collapsed .brand{display:none}

/* ===== Testphase / Abo-Status ===== */
.subbox{margin:16px 22px 0;padding:18px 20px;border:1px solid #e2e2e8;border-radius:18px;background:#fafafb}
.subbox b{font-size:18px;letter-spacing:-.02em;display:block}
.subbox p{margin:6px 0 0;color:#6b6b73;font-size:14.5px;line-height:1.5}
.trialbar{height:8px;border-radius:99px;background:#e6e6ea;margin-top:16px;overflow:hidden}
.trialbar i{display:block;height:100%;background:#0f0f12;border-radius:99px;transition:width .5s}
.trialnums{display:flex;justify-content:space-between;font-size:13px;color:#6b6b73;margin-top:8px;font-weight:500}
.subacts{gap:10px;flex-wrap:wrap}
.propanel .subbox{background:#fafafb}
.propanel .btn.primary{background:#0f0f12!important;color:#fff!important}
.prochip{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 8px;padding:10px 12px;border:1px solid #e2e2e8;border-radius:14px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s}
.prochip:hover{border-color:#0f0f12}
.prochip .probadge{padding:5px 8px;font-size:10.5px}
.prochip .pct{font-size:13.5px;font-weight:600;color:#0f0f12;line-height:1.2}
.shell.collapsed .prochip{width:48px;padding:8px 0;justify-content:center;margin-left:auto;margin-right:auto}.shell.collapsed .prochip .pct{display:none}

.obx-sel{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b6b73' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 18px center;padding-right:44px;cursor:pointer}
.obx-hint{margin:14px 2px 0;color:#6b6b73;font-size:15px;min-height:22px}.obx-hint b{color:#0f0f12}
.kvc{display:flex;flex-direction:column;gap:2px}.kvc small{color:#8a8a93;font-size:13px}

/* Pro-Banner beim Namen */
.probadge.nm{margin-left:10px;vertical-align:middle;font-size:11px;padding:6px 10px;position:relative;top:-3px}
.nav-i.prof .pn b .probadge.nm{margin-left:7px;font-size:9.5px;padding:3px 7px;top:-1px}
.trialpill{display:inline-flex;align-items:center;margin-top:10px;padding:7px 14px;border-radius:999px;background:#0f0f12;color:#fff;font-size:13.5px;font-weight:600;letter-spacing:-.005em}
.trialpill.end{background:#ececf0;color:#0f0f12}
.prof-head p{margin-bottom:0}

/* ===== Abo-Details (1:1 aus Stripe) ===== */
.kvlist{margin:16px 22px 0;border:1px solid #ececf0;border-radius:16px;overflow:hidden;background:#fff}
.kvlist>div{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:12px;padding:11px 16px;border-bottom:1px dashed #e2e2e8;font-size:14.5px}
.kvlist>div:last-child{border-bottom:0}
.kvlist span{color:#6b6b73}.kvlist b{font-weight:600;color:#0f0f12;word-break:break-word}
.kvlist code{font:500 12.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f1f4;border-radius:6px;padding:2px 6px;color:#3a3a42}
.invl{margin:18px 22px 0}.invl h3{font-size:15px;margin:0 0 8px;letter-spacing:-.01em}
.inv{display:grid;grid-template-columns:96px 1fr auto 96px 70px;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #f0f0f3;font-size:14px}
.inv:last-child{border-bottom:0}.inv span{color:#6b6b73}.inv em{font-style:normal;font-size:12.5px;font-weight:600;background:#ececf0;border-radius:99px;padding:4px 10px;text-align:center}.inv em.ok{background:#e4f5ea;color:#17613a}
.inv a{color:#0f0f12;font-weight:600;text-decoration:underline;text-align:right}
@media (max-width:560px){.kvlist>div{grid-template-columns:1fr;gap:2px}.inv{grid-template-columns:1fr auto;row-gap:2px}.inv span:first-child{grid-column:1/-1}.inv em,.inv a{justify-self:start}}

/* ===== Chat-Leiste der Startseite als Block (wie Prüfungen, Noten, Fokus) ===== */
.hdock:not(.open) .hd-in{width:calc(100% - 2 * var(--gx, 22px));max-width:none}
.hdock:not(.open) .hd-in .t-in.cmp{border:1px solid #ececf0!important;border-radius:28px;box-shadow:none!important;background:#fff}
.hdock:not(.open) .hd-in{padding-bottom:12px}
.hdock:not(.open) .hd-in .chatbox,.hdock:not(.open) .hd-in .chatbox.flat,.hdock:not(.open) .hd-in .t-in,.hdock:not(.open) .hd-in .t-in.cmp{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}

/* Testversion: nur Text in der Seitenleiste (nur ausgeklappt) */
.prostatus{font-size:13px;line-height:1.3;color:#6b6b73;padding:0 14px 10px;font-weight:500}
.shell.collapsed .prostatus{display:none!important}

/* Ladeanzeige vor der Weiterleitung zu Stripe */
.busy{position:fixed;inset:0;z-index:400;background:rgba(255,255,255,.86);backdrop-filter:blur(8px);display:grid;place-items:center;animation:obxIn .2s ease}
.busy-c{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:28px 34px;background:#fff;border:1px solid #e6e6ea;border-radius:26px;box-shadow:0 24px 60px -30px rgba(15,15,18,.4)}
.busy-c b{font-size:17px;letter-spacing:-.02em}.busy-c small{color:#6b6b73;font-size:14px}
.spin{width:30px;height:30px;border-radius:50%;border:3px solid #e6e6ea;border-top-color:#0f0f12;animation:spn .8s linear infinite;margin-bottom:6px}
@keyframes spn{to{transform:rotate(360deg)}}

/* ===== Onboarding: Bilder, Funktionen, Notensystem ===== */
.obx-card{width:min(680px,100%)}
.obx-hero{height:176px;border-radius:24px;background:#ddd center 30%/cover no-repeat;margin:0 0 22px;position:relative;overflow:hidden}
.obx-hero-chip{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:600}
.obx-hero-chip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.obx-feats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.obx-feat{display:flex;gap:12px;align-items:center;border:1px solid #ececf0;border-radius:18px;padding:13px 14px;background:#fff}
.obx-feat b{display:block;font-size:15px;letter-spacing:-.01em}.obx-feat small{display:block;color:#6b6b73;font-size:12.5px;line-height:1.35;margin-top:2px}
.obx-ico{width:40px;height:40px;border-radius:13px;background:#0f0f12;color:#fff;display:grid;place-items:center;flex:none}
.obx-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.obx-globe{width:64px;height:64px;border-radius:20px;background:#f3f3f4;display:grid;place-items:center;margin:0 0 4px}.obx-globe svg{width:30px;height:30px;fill:none;stroke:#0f0f12;stroke-width:1.6}
.obx-cards button{align-items:flex-start;gap:6px}.obx-cards .obx-ico{margin-bottom:6px}
.obx-scales{display:grid;gap:9px}
.obx-scales button{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;border:1.5px solid #e2e2e8;border-radius:18px;padding:13px 16px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.obx-scales button:hover{border-color:#bdbdc6}.obx-scales button.on{border-color:#0f0f12;background:#fafafb;box-shadow:inset 0 0 0 1px #0f0f12}
.obx-sc-t b{display:block;font-size:16px;letter-spacing:-.01em}.obx-sc-t small{display:block;color:#6b6b73;font-size:13px;margin-top:2px}
.gsc{display:flex;align-items:center;gap:7px;flex:none}.gsc i{font-style:normal;font-size:12.5px;font-weight:700;color:#6b6b73;min-width:16px;text-align:center}
.gsc em{width:74px;height:7px;border-radius:99px;background:linear-gradient(90deg,#e5484d,#f59e0b,#0e9f6e)}
.obx-pro-h img{border-radius:9px}
@media (max-width:560px){.obx-feats{grid-template-columns:1fr}.obx-hero{height:140px}.obx-scales button{flex-direction:column;align-items:flex-start;gap:8px}.gsc em{width:110px}}

/* ===== KI-Verbrauchsring ===== */
.aiu{display:grid;place-items:center;width:34px;height:34px;border:0;background:none;border-radius:50%;cursor:pointer;color:var(--ink,#111);flex:none;transition:background .15s}
.aiu:hover{background:rgba(0,0,0,.06)}
.aiu svg{transform:rotate(-90deg);overflow:visible}
.aiu circle{fill:none;stroke-width:2.6}
.aiu-t{stroke:currentColor;opacity:.16}
.aiu-p{stroke:currentColor;stroke-linecap:round;transition:stroke-dasharray .6s cubic-bezier(.2,.8,.2,1)}
.aiu.hot .aiu-p{stroke-width:3.2}
.aiu-pop{position:fixed;z-index:400;width:280px;padding:16px 18px;border-radius:18px;background:#fff;color:#111;box-shadow:0 18px 50px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.06);animation:aiuIn .18s ease}
@keyframes aiuIn{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.aiu-pop b{font-size:13px;color:#666;font-weight:600}
.aiu-big{margin:6px 0 10px;font-size:24px;font-weight:700;letter-spacing:-.03em}
.aiu-big span{font-size:13px;font-weight:500;color:#777;letter-spacing:0}
.aiu-bar{height:6px;border-radius:99px;background:#eee;overflow:hidden;margin-bottom:10px}
.aiu-bar i{display:block;height:100%;background:#111;border-radius:99px}
.aiu-s{margin:0 0 8px;font-size:12.5px;line-height:1.45;color:#666}
.aiu-up{margin-top:6px;width:100%;justify-content:center}
.hd-top .aiu{margin-left:auto;margin-right:2px}
.aip-ta .aiu{margin-right:4px}

/* ===== Abschluss-Seite nach dem Onboarding ===== */
.wsp{position:fixed;inset:0;z-index:600;display:grid;place-items:center;overflow:auto;padding:24px 16px;background:#f3f3f4;opacity:0;transition:opacity .4s ease}
.wsp.on{opacity:1}
.wsp-in{width:min(520px,100%);background:#fff;border-radius:28px;padding:36px 32px 28px;box-shadow:0 30px 80px rgba(0,0,0,.08);text-align:center;transform:translateY(16px) scale(.98);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.wsp.on .wsp-in{transform:none}
.wsp-ck{display:block;margin:0 auto 18px;transform:rotate(-90deg)}
.wsp-c,.wsp-v{fill:none;stroke:#111;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100}
.wsp-v{transform:rotate(90deg);transform-origin:48px 48px}
.wsp.on .wsp-c{animation:wspDraw .9s .25s cubic-bezier(.65,0,.35,1) forwards}
.wsp.on .wsp-v{animation:wspDraw .5s 1s ease-out forwards}
@keyframes wspDraw{to{stroke-dashoffset:0}}
.wsp h1,.wsp-s,.wsp-card,.wsp-act{opacity:0;transform:translateY(12px)}
.wsp.on h1{animation:wspUp .6s 1.2s ease forwards}.wsp.on .wsp-s{animation:wspUp .6s 1.35s ease forwards}
.wsp.on .wsp-card{animation:wspUp .6s 1.5s ease forwards}.wsp.on .wsp-act{animation:wspUp .6s 1.7s ease forwards}
@keyframes wspUp{to{opacity:1;transform:none}}
.wsp h1{margin:0 0 6px;font-size:30px;letter-spacing:-.04em}
.wsp-s{margin:0 0 20px;color:#666;font-size:15px}
.wsp-card{text-align:left;border-radius:20px;background:#f6f6f7;padding:6px 14px}
.wsp-row{display:flex;gap:14px;align-items:flex-start;padding:13px 2px}
.wsp-row+.wsp-row{border-top:1px solid #e6e6e8}
.wsp-row b{display:block;font-size:14.5px}.wsp-row small{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:#777}
.wsp-ring{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#111}
.wsp-ring svg{transform:rotate(-90deg)}.wsp-ring circle{fill:none;stroke-width:2.8}
.wsp-rp{stroke:currentColor;stroke-linecap:round;stroke-dasharray:0 100}
.wsp.on .wsp-rp{animation:wspRing 1.6s 1.8s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes wspRing{to{stroke-dasharray:28 100}}
.wsp-act{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.wsp *{animation-duration:.01s!important;animation-delay:0s!important}}
.obx-sec{background:#fff;color:#111;border:1px solid #d9d9dc;border-radius:999px;padding:15px 24px;font-size:15px;font-weight:600;cursor:pointer}
.obx-sec:hover{background:#f6f6f7}
.obx-ico image{filter:invert(1)}

/* Chat-Leiste auf Home: immer gleich breit; beim Öffnen wächst nur eine Karte nach oben (kein Vollbild) */
.hdock.open{top:max(var(--dt,0px),calc(100dvh - 126px - 440px))}
.hdock.open .hd-in{width:calc(100% - 2 * var(--gx, 22px));max-width:none;padding-bottom:12px}
.hdock.open .hd-in .chatbox,.hdock.open .hd-in .chatbox.flat,.hdock.open .hd-in .t-in,.hdock.open .hd-in .t-in.cmp{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
.hdock.open .hd-bg{left:calc(var(--gx,22px) - 12px);right:calc(var(--gx,22px) - 12px);background:#fff;border-radius:28px;box-shadow:0 14px 50px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.05)}
.hdock.open .hd-bg::before{display:none}
.hdock.open .hd-top{padding:14px 4px 4px}
.hdock.open .msgs{padding:4px 4px 8px}
@media (max-width:900px){.hdock.open{top:max(var(--dt,0px),calc(100dvh - 86px - env(safe-area-inset-bottom) - 126px - 380px))!important}}

/* Home-Chatleiste: so breit wie im Chat (nicht über die ganze Breite) */
.hdock .hd-in,.hdock:not(.open) .hd-in,.hdock.open .hd-in{width:min(760px,calc(100% - 2 * var(--gx, 22px)))}
.hdock.open .hd-bg{left:50%;right:auto;width:calc(min(760px,100% - 2 * var(--gx, 22px)) + 24px);transform:translateX(-50%)}

/* Eingebetteter Stripe-Checkout */
.embk{position:fixed;inset:0;z-index:700;display:grid;place-items:center;padding:16px;background:rgba(15,15,18,.45);backdrop-filter:blur(6px);animation:aiuIn .2s ease}
.embk-c{position:relative;width:min(520px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.embk-m{min-height:320px;display:grid}.embk-m>.spin{margin:auto}
.embk-x{position:absolute;top:10px;right:12px;z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.06);font-size:22px;line-height:1;cursor:pointer}
body.noscroll{overflow:hidden}

/* Bezahlung direkt rechts neben dem Pro-Block (Einstellungen → Study Pro) */
.setsec[data-s=pro].on{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));max-width:1100px}
.proemb:empty{display:none}
.proemb-idle{border:1px dashed #d9d9e0;border-radius:22px;padding:34px 28px;text-align:center;color:#6b6b73;min-height:240px;display:grid;align-content:center;gap:6px;justify-items:center}
.proemb-idle i{width:44px;height:44px;border-radius:14px;background:#f1f1f3;display:grid;place-items:center;color:#111}.proemb-idle i svg{width:20px;height:20px}
.proemb-idle b{color:#111;font-size:16px}.proemb-idle p{margin:0;font-size:13.5px;line-height:1.5;max-width:300px}
.proemb-box{background:#fff;border:1px solid #ececf0;border-radius:22px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.05)}
.proemb-h{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #f0f0f3}
@media (max-width:760px){.proemb-idle{display:none}}
.proemb-h .link{color:#555;font-weight:600}
/* Formular direkt auf dem Hintergrund, ohne eigenen Block */
.proemb-box{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
.proemb-h{border:0;padding:4px 2px 12px}
.proemb-idle{border:0;background:none;padding:20px 8px}
/* Beim Bezahlen füllt das Formular die ganze Seite (Stripe zeigt dann Übersicht und Zahlung nebeneinander) */
.setsec[data-s=pro].on.paying{grid-template-columns:minmax(300px,400px) minmax(0,1fr);max-width:none;gap:32px}
.setsec.paying .proemb-box{max-width:none}
.setsec.paying .propanel #pl-m,.setsec.paying .propanel #pl-y{opacity:.4;pointer-events:none}
@media (max-width:900px){.setsec[data-s=pro].on.paying{grid-template-columns:minmax(0,1fr)}}
.proemb-box{position:relative}
.proemb-h{position:absolute;top:2px;right:4px;z-index:2;padding:0}
.proemb-h b{display:none}
.setsec.paying .proemb-box .embk-m{min-height:0}

/* Pro-Vorteile links: ohne Block, animiert */
.propanel.proside{background:none!important;border:0!important;box-shadow:none!important;padding:8px 4px 0;margin:0!important}
.propanel.proside .probadge{display:inline-block}
.propanel.proside h2{margin:12px 0 6px;font-size:34px;letter-spacing:-.04em;line-height:1.05;background:none;border:0;padding:0}
.ps-lead{margin:0 0 22px;color:#5b5b63;font-size:15.5px}.ps-lead b{color:#111}
.ps-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:16px}
.ps-list li{display:flex;gap:14px;align-items:flex-start}
.ps-list li>span{flex:none;width:38px;height:38px;border-radius:12px;background:#111;color:#fff;display:grid;place-items:center}
.ps-list li>span svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.ps-list li>span image{filter:invert(1)}
.ps-list b{display:block;font-size:15px;letter-spacing:-.01em}.ps-list small{display:block;margin-top:2px;color:#7a7a82;font-size:13px;line-height:1.45}
.ps-fine{margin:0;color:#8a8a92;font-size:11.5px;line-height:1.55}.ps-fine a{color:inherit}
.ps-in{opacity:0;transform:translateY(14px);animation:psIn .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--d,0) * 90ms + 80ms)}
@keyframes psIn{to{opacity:1;transform:none}}
.propanel.proside .probadge{position:relative;overflow:hidden}
.propanel.proside .probadge::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);animation:psShine 3.2s 1s ease-in-out infinite}
@keyframes psShine{60%,100%{transform:translateX(120%)}}
.ps-list li{transition:transform .25s ease}.ps-list li:hover{transform:translateX(4px)}
.setsec.paying .propanel.proside #pl-m{display:none}
@media (prefers-reduced-motion:reduce){.ps-in{animation-duration:.01s;animation-delay:0s}.propanel.proside .probadge::after{display:none}}

/* Bezahlformular kompakter: passt in die Fensterhöhe (Stripe-Formular ist ca. 870 px hoch) */
@media (min-width:901px){
  .setsec.paying .proemb-box .embk-m{zoom:.9}
  @media (max-height:1000px){.setsec.paying .proemb-box .embk-m{zoom:.86}}
  @media (max-height:900px){.setsec.paying .proemb-box .embk-m{zoom:.8}}
  @media (max-height:800px){.setsec.paying .proemb-box .embk-m{zoom:.74}}
  @media (max-height:720px){.setsec.paying .proemb-box .embk-m{zoom:.68}}
}
.setsec.paying .propanel.proside{padding-top:0}


/* ===== Plan-Auswahl (Pro-Seite) ===== */
.pp-plans{display:grid;gap:12px;margin:4px 0 22px;max-width:460px}
.pp-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;width:100%;padding:18px 18px;border:1.5px solid #e4e4e9;border-radius:22px;background:#fff;color:#111;cursor:pointer;font:inherit;transition:border-color .2s,transform .2s,box-shadow .25s;opacity:0;transform:translateY(12px);animation:psIn .6s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--d,0) * 90ms + 120ms)}
.pp-card:hover{border-color:#bdbdc5;transform:translateY(-1px)}
.pp-card.on{border-color:#111;box-shadow:0 14px 34px -18px rgba(0,0,0,.35)}
.pp-dot{width:20px;height:20px;border-radius:50%;border:2px solid #cfcfd6;display:grid;place-items:center;transition:all .2s}
.pp-card.on .pp-dot{border-color:#111;background:#111;box-shadow:inset 0 0 0 4px #fff}
.pp-t{display:grid;gap:3px;min-width:0}.pp-t b{font-size:16px;letter-spacing:-.02em}.pp-t small{font-size:12.5px;line-height:1.45;color:#7a7a82}
.pp-pr{font-weight:700;font-size:15px;white-space:nowrap}
.pp-card em{position:absolute;top:-9px;right:16px;font-style:normal;font-size:11px;font-weight:700;background:#111;color:#fff;padding:3px 9px;border-radius:99px}
.proemb-idle{border:0;display:grid;gap:12px;justify-items:center;padding:40px 16px;text-align:center}
@media (max-width:900px){.pp-plans{max-width:none}}

/* Glatte Kanten bei den Plan-Karten (1-px-Rahmen + Ring statt halber Pixel) */
.pp-card{border:1px solid #e0e0e6;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased}
.pp-card.on{border-color:#111;box-shadow:0 0 0 1px #111,0 14px 34px -18px rgba(0,0,0,.35)}
.pp-card em{transform:translateZ(0)}
/* Bezahlformular breiter: schmale Planspalte, Formular nimmt den Rest (mehr nach links und rechts) */
.setsec[data-s=pro].on.paying{grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:20px}
.setsec.paying .proemb{margin:0 -10px 0 -4px}
@media (max-width:900px){.setsec[data-s=pro].on.paying{grid-template-columns:minmax(0,1fr)}.setsec.paying .proemb{margin:0}}
/* Planspalte kleiner – Stripe hat eine feste Maximalgrösse und wird zentriert */
.setsec[data-s=pro].on.paying{grid-template-columns:minmax(230px,290px) minmax(0,1fr);gap:16px}
.setsec.paying .proemb{margin:0}.setsec.paying .proemb-box{max-width:1040px;margin:0 auto}
.setsec.paying .propanel.proside h2{font-size:28px}
.setsec.paying .pp-plans{gap:10px}
.setsec.paying .pp-card{grid-template-columns:auto 1fr;padding:14px 14px;gap:11px;border-radius:18px}
.setsec.paying .pp-pr{grid-column:2;font-size:13.5px;margin-top:-4px}
.setsec.paying .pp-t b{font-size:14.5px}.setsec.paying .pp-t small{font-size:12px}
.setsec.paying .pp-card em{right:12px}
@media (max-width:900px){.setsec[data-s=pro].on.paying{grid-template-columns:minmax(0,1fr)}.setsec.paying .pp-card{grid-template-columns:auto 1fr auto}.setsec.paying .pp-pr{grid-column:auto;margin-top:0}}

/* Abo gekündigt, läuft noch: Pläne ausgegraut + Hinweis oben; Abo beendet: neuer Plan wählbar */
.pp-run{display:grid;gap:4px;margin:14px 0 6px;padding:14px 16px;border-radius:18px;background:#f3f3f5;max-width:460px}
.pp-run b{font-size:15px;letter-spacing:-.01em}.pp-run small{color:#6b6b73;font-size:12.5px;line-height:1.45}.pp-run .btn{justify-self:start;margin-top:8px;background:#111;color:#fff;border:0;border-radius:99px}
.pp-ended{margin:10px 0 0;color:#6b6b73;font-size:13px}
.propanel.is-off .pp-plans{opacity:.42;filter:grayscale(1)}
.propanel.is-off .pp-card{cursor:not-allowed;pointer-events:none}
.propanel.is-off .pp-dot{border-color:#cfcfd6;background:none;box-shadow:none}
.pp-ended{margin:10px 0 14px!important}
/* Plan-Blöcke breiter, Stripe-Formular etwas kleiner */
.setsec[data-s=pro].on.paying{grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:28px}
.setsec.paying .proemb-box{max-width:900px;margin:0}
.setsec.paying .pp-plans{max-width:none}
.setsec.paying .pp-card{grid-template-columns:auto 1fr auto;padding:18px;gap:14px;border-radius:22px}
.setsec.paying .pp-pr{grid-column:auto;margin-top:0;font-size:15px}
.setsec.paying .pp-t b{font-size:16px}.setsec.paying .pp-t small{font-size:12.5px}
.setsec.paying .propanel.proside h2{font-size:32px}
@media (min-width:901px){.setsec.paying .proemb-box .embk-m{zoom:.82}
 @media (max-height:900px){.setsec.paying .proemb-box .embk-m{zoom:.76}}
 @media (max-height:800px){.setsec.paying .proemb-box .embk-m{zoom:.7}}
 @media (max-height:720px){.setsec.paying .proemb-box .embk-m{zoom:.64}}}
@media (max-width:900px){.setsec[data-s=pro].on.paying{grid-template-columns:minmax(0,1fr)}}
/* Final: Plan-Blöcke breit, Stripe-Formular wie vorher (feste Maximalgrösse, zentriert im Rest) */
.setsec[data-s=pro].on.paying{grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:24px}
.setsec.paying .proemb-box{max-width:1040px;margin:0 auto}
@media (min-width:901px){.setsec.paying .proemb-box .embk-m{zoom:.9}
 @media (max-height:1000px){.setsec.paying .proemb-box .embk-m{zoom:.86}}
 @media (max-height:900px){.setsec.paying .proemb-box .embk-m{zoom:.8}}
 @media (max-height:800px){.setsec.paying .proemb-box .embk-m{zoom:.74}}
 @media (max-height:720px){.setsec.paying .proemb-box .embk-m{zoom:.68}}}
@media (max-width:900px){.setsec[data-s=pro].on.paying{grid-template-columns:minmax(0,1fr)}}

/* iPad / Tablet: Einstellungen kleiner, damit alles im guten Verhältnis steht */
@media (min-width:600px) and (max-width:1300px) and (pointer:coarse), (min-width:600px) and (max-width:1100px){
  .setpage{zoom:.84}
  .setpage .pp-card{padding:14px 15px;border-radius:18px;gap:11px}
  .setpage .pp-t b{font-size:14.5px}.setpage .pp-t small{font-size:12px}.setpage .pp-pr{font-size:13.5px}
  .setpage .propanel.proside h2{font-size:26px}
  .setpage .ps-lead{font-size:14px}
  .setpage .pp-plans{gap:10px;max-width:420px}
}

/* Onboarding: echte App-Screenshots, weich überblendet */
.obx-shots{margin-top:6px}
.obx-stage{position:relative;aspect-ratio:1.6/1;border-radius:22px;overflow:hidden;background:#f1f1f3;border:1px solid #e6e6ea;box-shadow:0 22px 50px -30px rgba(0,0,0,.35)}
.obx-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 3.6s ease}
.obx-stage img.on{opacity:1;transform:scale(1)}
.obx-cap{position:relative;display:grid;margin-top:14px;min-height:46px}
.obx-cap div{grid-area:1/1;opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease;display:grid;gap:2px}
.obx-cap div.on{opacity:1;transform:none}
.obx-cap b{font-size:16px;letter-spacing:-.02em}.obx-cap small{color:#7a7a82;font-size:13px;line-height:1.45}
.obx-hero-s{height:130px}

/* iPad quer: Planauswahl ca. 1/3, Bezahlbereich ca. 2/3 */
@media (min-width:901px) and (max-width:1400px) and (pointer:coarse), (min-width:901px) and (max-width:1100px){
  .setpage .setsec[data-s=pro].on.paying{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;zoom:1}
  .setpage .setsec.paying .pp-card{grid-template-columns:auto 1fr;padding:12px 12px;gap:9px;border-radius:16px}
  .setpage .setsec.paying .pp-pr{grid-column:2;margin-top:-2px;font-size:13px}
  .setpage .setsec.paying .pp-t b{font-size:13.5px}.setpage .setsec.paying .pp-t small{font-size:11.5px;line-height:1.4}
  .setpage .setsec.paying .propanel.proside h2{font-size:22px}
  .setpage .setsec.paying .ps-lead{font-size:13px}
  .setpage .setsec.paying .proemb-box{max-width:none;margin:0}
  .setpage .setsec.paying .proemb-box .embk-m{zoom:1}
  .setpage .setsec.paying .ps-fine{font-size:10.5px}
  .setpage .setsec.paying .pp-card em{font-size:10px;padding:2px 7px;right:10px;top:-8px}
}
.side .nav-i{--ko:#ececf0}.side .nav-i:hover{--ko:#f3f3f6}.side .nav-i.on svg *{fill:revert-layer}
@media (max-width:900px){.side .nav-i,.side .nav-i:hover{--ko:#fff}}
@media (min-width:901px){.shell,.shell:has(.main.doc-full),.shell:has(.main.homew),.shell:has(.main){background:#f3f3f4}}

/* Einstellungen: Profil-Blöcke gleich hoch, Auto-Speichern-Hinweis statt Button, Sicherheit/Konto löschen */
.setsec[data-s=gen].on{align-items:stretch}
.setsec[data-s=gen].on>.kvcard{height:100%;margin:0!important}
.setsec[data-s=gen].on>.kvcard .kvnote{margin-top:auto}
.setsave{display:none!important}
.savestat{position:fixed;right:28px;bottom:22px;z-index:30;padding:9px 16px;border-radius:999px;background:#111;color:#fff;font-size:13px;font-weight:600;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s,transform .25s}
.savestat.on{opacity:1;transform:none}
.secrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;border-top:1px dashed #ececf0}
.secrow:first-of-type{border-top:0}
.secrow b{display:block;font-size:15px}.secrow small{display:block;margin-top:2px;color:#7a7a82;font-size:12.5px;line-height:1.45;max-width:520px}
.danger-zone{border-color:#f3d4d6!important}.danger-zone h2 svg{color:#e5484d}.danger-zone .note,.danger-zone .btn{margin:0 22px 18px}
.mfa-qr{display:grid;place-items:center;margin:8px 0}.mfa-qr img{border:1px solid #e6e6ea;border-radius:16px;padding:10px;background:#fff}
.mfa-code{text-align:center;font-size:22px;letter-spacing:.35em;font-weight:700}
.secrow .btn{white-space:nowrap;flex:none}

/* Profil: Raster reicht bis hinter den Pro-Block, oben sichtbar, unten fast weiss, gräulicher in der Mitte/rechts, nicht am Rand */
.prof-head{margin-bottom:-4px!important}
.prof-head .pgrid{bottom:-112px!important;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.65) 45%,rgba(0,0,0,.08) 100%),linear-gradient(to right,transparent 0,transparent 22%,#000 48%,#000 74%,transparent 94%)!important;
  mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.65) 45%,rgba(0,0,0,.08) 100%),linear-gradient(to right,transparent 0,transparent 22%,#000 48%,#000 74%,transparent 94%)!important;
  -webkit-mask-composite:source-in!important;mask-composite:intersect!important}
.prof-head .pgrid i{border-color:#efeff2}
.prof-head .pgrid i.f{background:#ededf0}
.probanner{position:relative;z-index:2;background:rgba(255,255,255,.78)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.aiuse{display:flex;align-items:center;gap:18px;padding:16px 22px!important}
.aiuse[hidden]{display:none}
.aiuse .aiu-lg{flex:none;width:52px;height:52px}.aiuse .aiu-lg .aiu{width:52px;height:52px;pointer-events:none;margin:0}.aiuse .aiu-lg svg{width:52px;height:52px}
.aiuse .aiu circle{stroke-width:2.4}
.aiuse-t{flex:1;min-width:0;display:grid;gap:3px}
.aiuse-h{font-size:12.5px;color:#7a7a82;font-weight:600}
.aiuse-t b{font-size:22px;letter-spacing:-.03em}.aiuse-t b span{font-size:13px;font-weight:500;color:#7a7a82;letter-spacing:0}
.aiuse-t small{color:#6b6b73;font-size:13px}
.aiuse .aiu-bar{margin:6px 0 0;max-width:420px}
@media (max-width:560px){.aiuse{flex-wrap:wrap}}

/* Profil: Persönliche Angaben | Lernen | AI-Nutzung nebeneinander */
@media (min-width:760px){.setsec[data-s=gen].on{grid-template-columns:repeat(3,minmax(0,1fr))}}
.setsec[data-s=gen].on>.aiuse{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;padding:20px 22px!important;height:100%;margin:0!important}
.setsec[data-s=gen].on>.aiuse .aiuse-t{width:100%}
.setsec[data-s=gen].on>.aiuse .aiu-bar{max-width:none}
.setsec[data-s=gen].on>.aiuse .btn{margin-top:auto}
.setsec[data-s=gen].on>.aiuse[hidden]{display:none}
/* Drei Spalten: Zeilen stapeln (Beschriftung über dem Wert), damit nichts abgeschnitten wird */
@media (min-width:760px){
  .setsec[data-s=gen].on .kvcard .kv{grid-template-columns:1fr;gap:3px;padding:11px 20px}
  .setsec[data-s=gen].on .kvcard .kv>span{font-size:12.5px}
  .setsec[data-s=gen].on .kvcard .seg{width:100%}.setsec[data-s=gen].on .kvcard .seg button{flex:1}
  .setsec[data-s=gen].on .kvcard .kvu{flex-wrap:wrap}
  .setsec[data-s=gen].on .kvcard .kvnote{font-size:12.5px}
}
.setsec[data-s=gen].on>.aiuse .aiuse-t{width:auto;align-self:stretch;box-sizing:border-box}.setsec[data-s=gen].on>.aiuse{padding:20px 22px!important;box-sizing:border-box}.setsec[data-s=gen].on>.aiuse .aiu-lg{margin:0}.setsec[data-s=gen].on>.aiuse .aiu{margin:0;padding:0;justify-content:flex-start}

/* Sidebar: Icons grau, nur der gewählte Punkt hat ein schwarzes, ausgefülltes Icon (auch in den Einstellungen) */
.side .nav-i:not(.on) svg,.side .rail-tgl svg{color:#8e8e97!important}
.side .nav-i:not(.on):hover svg{color:#4a4a52!important}
.side .nav-i.on svg{color:#0f0f12!important}
.side .nav-i:not(.on) svg image{opacity:.45}
.side .nav-i.prof svg{color:inherit}

/* Hinweis unter dem Chat: KI kann Fehler machen */
.ai-note{margin:8px 14px 0;text-align:center;color:#9a9aa3;font-size:11.5px;line-height:1.4}
.hdock .ai-note{margin:6px 0 0}
.hdock:not(.open) .ai-note{display:none}

/* Einheitlicher Radius: grosse Box, Kacheln und Chat-Leiste auf der Startseite gleich (28px) */
:root{--rad:28px}
#app #main,#app #main.doc-full,.main,.main.homew{border-radius:var(--rad)!important}
.bento .wg,.bento .tile,.hgrid .rec{border-radius:var(--rad)!important}
.hdock .t-in.cmp,.hdock:not(.open) .hd-in .t-in.cmp,.hdock .hd-in .t-in.cmp{border-radius:var(--rad)!important}
.hdock.open .hd-bg,.hdock .hd-bg{border-radius:var(--rad)!important}


/* ===== Dunkelmodus: Das Design ist schwarz/weiss/grau, deshalb genügt eine saubere Farbumkehr; Fotos, Zahlungsformular und Schlüssel-Bilder bleiben unverändert ===== */
html[data-theme="dark"]{filter:invert(.93) hue-rotate(180deg);background:#fff}
html[data-theme="dark"] :is(iframe,video,.authhero,.obx-hero,.obx-stage img,[data-keep-colors]){filter:invert(1) hue-rotate(180deg)}
html[data-theme="dark"] .obx-stage img{filter:none}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}
html[data-lumi-theme-vt="active"]::view-transition-group(root){animation-duration:var(--lumi-theme-vt-duration)}
html[data-lumi-theme-vt="active"]::view-transition-new(root){clip-path:var(--lumi-theme-vt-clip-from)}

/* Theme-Schalter (Einstellungen, oben neben dem Pfad) */
.setcrumb{align-items:center}
.theme-tg{margin-left:auto;width:38px;height:38px;border-radius:50%;border:1px solid #e6e6ea;background:#fff;color:#0f0f12;display:grid;place-items:center;cursor:pointer;position:relative;overflow:hidden;transition:background .2s,border-color .2s}
.theme-tg:hover{background:#f3f3f5}
.theme-tg svg{position:absolute;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .35s}
.theme-tg .tg-moon{opacity:0;transform:rotate(-70deg) scale(.4)}
html[data-theme="dark"] .theme-tg .tg-sun{opacity:0;transform:rotate(70deg) scale(.4)}
html[data-theme="dark"] .theme-tg .tg-moon{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.theme-tg svg{transition:none}}

/* Startseiten-Kalender: kompakte Zeilen, Ereignis-Bereich unten immer gleich hoch (Datum + 3 Zeilen) */
.bento .w-cal{display:flex;flex-direction:column}
.bento .w-cal .cal-g{flex:none!important;grid-template-rows:auto!important;grid-auto-rows:30px!important;align-content:start!important;overflow:visible!important}
.bento .w-cal .cd{height:30px!important;min-height:0}
.bento .w-cal .w-cd{display:flex!important;flex:none;margin-top:auto!important;padding-top:8px;height:92px;min-height:92px;box-sizing:border-box;overflow:hidden;gap:2px}
.bento .w-cal .w-cd:empty{display:flex!important}
.bento .w-cal .cd-i{height:20px;line-height:20px;flex:none}
.bento .w-cal .cd-i.ph{color:#a0a0ae}
.bento .w-cal .cd-i.ph:not(:has(.cd-t:empty)) .cd-t{font-size:12.5px}
@media (min-width:901px) and (max-height:820px){.bento .w-cd{display:flex!important}.bento .w-cal .w-cd{height:84px;min-height:84px}}

/* ===== Lumi Voice ===== */
.main.voicepg{display:flex;flex-direction:column;padding:0!important;overflow:hidden}
.vc{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:16px 24px 18px;background:radial-gradient(70% 55% at 50% 38%,#f6f7fc 0,#fff 70%)}
.vc-top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px}
.vc-v{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b6b73}.vc-v select{width:auto;padding:6px 10px;border-radius:99px;background:#f3f3f5;font-size:13px}
.vc-stage{flex:1;min-height:0;width:100%;display:grid;place-items:center}
.vc-stage canvas{width:min(560px,92%,58vh);aspect-ratio:1;cursor:pointer}
.vc-st{margin:0;font-size:15px;font-weight:600;color:#33333a;letter-spacing:-.01em;min-height:22px;text-align:center}
.vc-sub{width:min(640px,100%);min-height:96px;text-align:center;margin:8px 0 6px;display:grid;gap:8px;align-content:start}
.vc-sub p{margin:0}.vc-u{color:#8a8a92;font-size:15px;min-height:20px}.vc-a{font-size:19px;line-height:1.45;letter-spacing:-.015em;color:#0f0f12;max-height:132px;overflow:auto}
.vc-ctl{display:flex;align-items:center;gap:14px;margin-top:6px}
.vc-mic{width:68px;height:68px;border-radius:50%;border:0;background:#0f0f12;color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .2s,box-shadow .3s,background .2s;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.vc-mic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vc-mic:hover{transform:scale(1.05)}.vc-mic:disabled{opacity:.35;cursor:not-allowed}
.vc-mic.on{animation:vcPulse 1.8s ease-in-out infinite}
@keyframes vcPulse{0%,100%{box-shadow:0 0 0 0 rgba(120,130,255,.45),0 14px 30px -14px rgba(0,0,0,.5)}50%{box-shadow:0 0 0 14px rgba(120,130,255,0),0 14px 30px -14px rgba(0,0,0,.5)}}
.vc-note{margin-top:10px}
@media (max-width:900px){.vc{padding:10px 16px 90px}.vc-a{font-size:17px}}
@media (prefers-reduced-motion:reduce){.vc-mic.on{animation:none}}
.aip-ta #cvoice svg{width:15px;height:15px}

/* ===== Dokumente im Notion-Stil: oben Ordner-Übersicht, darunter alle Dateien als Liste ===== */
.docsed .dmain{max-width:1180px;margin:0 auto;padding:6px 8px 40px}
.dsec{display:flex;align-items:center;gap:8px;margin:22px 0 12px;font-size:14px;font-weight:700;letter-spacing:-.01em;color:#33333a}
.dsec small{font-weight:600;color:#9a9aa3;font-size:12.5px}
.fcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}
.fcard{--c:#6b6b78;position:relative;display:flex;flex-direction:column;gap:3px;text-align:left;padding:0 0 14px;border:1px solid #ececf0;border-radius:var(--rad,28px);background:#fff;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .25s,border-color .2s;font:inherit;color:inherit}
.fcard:hover{transform:translateY(-2px);border-color:#d9d9e0;box-shadow:0 14px 30px -20px rgba(0,0,0,.25)}
.fcard.drop{border-color:#111;box-shadow:0 0 0 2px #111}
.fcard .fc-top{display:flex;justify-content:space-between;align-items:flex-start;height:78px;padding:12px 12px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 22%,#fff),color-mix(in srgb,var(--c) 8%,#fff))}
.fcard .fc-ic{width:38px;height:38px;border-radius:12px;background:#fff;color:var(--c);display:grid;place-items:center;box-shadow:0 4px 12px -6px rgba(0,0,0,.25)}
.fcard .fc-ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.fcard b{padding:10px 14px 0;font-size:14.5px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcard small{padding:0 14px;color:#8a8a92;font-size:12.5px}
.fcard .dmore{position:static;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.7);opacity:0;transition:opacity .15s}.fcard:hover .dmore{opacity:1}
.fcard.add{align-items:center;justify-content:center;gap:8px;min-height:134px;border-style:dashed;background:transparent;color:#7a7a82}
.fcard.add .fc-ic{box-shadow:none;border:1px solid #e3e3e8;color:#555}.fcard.add b{padding:0;font-size:13.5px;color:#555}
.docsed .dtools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 6px}
.dtab{border:1px solid #ececf0;border-radius:var(--rad,28px);background:#fff;overflow:hidden}
.dth,.dtr{display:grid;grid-template-columns:minmax(0,3fr) minmax(110px,1.1fr) minmax(90px,1fr) minmax(100px,1fr) 40px;align-items:center;gap:12px;padding:0 18px}
.dth{height:40px;font-size:12px;font-weight:600;color:#9a9aa3;border-bottom:1px solid #f0f0f3;letter-spacing:.01em}
.dtr{min-height:54px;border-bottom:1px solid #f4f4f6;cursor:pointer;font-size:13.5px;transition:background .15s;outline:none}
.dtr:last-child{border-bottom:0}.dtr:hover,.dtr:focus-visible{background:#f8f8fa}
.dtr .dn{display:flex;align-items:center;gap:12px;min-width:0}
.dtr .dn b{font-size:14px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}
.dtr .dn small{color:#9a9aa3;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dtr .pin{display:inline-grid;color:#0f0f12}.dtr .pin svg{width:12px;height:12px}
.dk{position:relative;flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f3f3f5;color:#33333a}
.dk svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.dk.k-note{background:#eef2ff;color:#3b4ac8}.dk.k-pdf{background:#fff0f0;color:#d03a3f}.dk.k-db{background:#eefaf3;color:#1f8a56}.dk.k-draw{background:#fff6e8;color:#b9710f}.dk.k-design{background:#f6efff;color:#7b3fd1}.dk.k-cards{background:#eaf6ff;color:#1f78c1}
.dk .shbadge{position:absolute;right:-4px;bottom:-4px;width:15px;height:15px;border-radius:50%;background:#fff;display:grid;place-items:center;text-decoration:none;box-shadow:0 0 0 1px #e6e6ea}.dk .shbadge svg{width:9px;height:9px}
.tag{font-style:normal;display:inline-block;padding:3px 10px;border-radius:99px;background:#f3f3f5;font-size:12px;font-weight:600;color:#55555d}
.tag.k-note{background:#eef2ff;color:#3b4ac8}.tag.k-pdf{background:#fff0f0;color:#d03a3f}.tag.k-db{background:#eefaf3;color:#1f8a56}.tag.k-draw{background:#fff6e8;color:#b9710f}.tag.k-design{background:#f6efff;color:#7b3fd1}.tag.k-cards{background:#eaf6ff;color:#1f78c1}
.dtr .dsj{display:flex;align-items:center;gap:7px;color:#55555d;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dtr .dsj i{width:8px;height:8px;border-radius:50%;flex:none}.dtr .dsj small{color:#b4b4bb}
.dtr .dd{color:#7a7a82;font-size:12.5px;white-space:nowrap}.dtr .dt2{align-self:center;display:flex;align-items:center}
.dtr .dmore{position:static;opacity:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.dtr:hover .dmore,.dtr:focus-within .dmore{opacity:1}.dtr .dmore:hover{background:#ececf0}
@media (max-width:900px){.dth{display:none}.dtr{grid-template-columns:minmax(0,1fr) 30px;grid-template-areas:"n m" "t t";padding:10px 14px;row-gap:4px}.dtr .dn{grid-area:n}.dtr .da{grid-area:m}.dtr .dt2,.dtr .dsj,.dtr .dd{display:none}.dtr .dmore{opacity:1}.fcards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}

/* Dokumente: clean & kompakt – Ordner als Ordner, Dateien als schlanke Liste */
.fcards{display:flex;flex-wrap:wrap;gap:4px 6px}
.fcard,.fcard.add{--c:#55555d;position:relative;display:flex;flex-direction:row;align-items:center;gap:9px;min-height:0;height:38px;width:auto;max-width:240px;padding:0 6px 0 10px;border:0;border-radius:10px;background:transparent;box-shadow:none;transform:none;text-align:left;cursor:pointer;font:inherit;color:#111}
.fcard:hover,.fcard.add:hover{background:#f3f3f5;transform:none;box-shadow:none;border:0}
.fcard.drop{background:#ececf0;box-shadow:inset 0 0 0 1.5px #111;border:0}
.fcard .fc-top{display:contents;height:auto}
.fcard .fc-ic,.fcard.add .fc-ic{width:20px;height:20px;border-radius:0;background:none;box-shadow:none;border:0;color:#6b6b74;order:0}
.fcard .fc-ic svg{width:20px;height:20px}
.fcard b,.fcard.add b{padding:0;font-size:13.5px;font-weight:600;order:1;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcard small{padding:0;order:2;font-size:12px;color:#9a9aa3;white-space:nowrap}
.fcard .dmore{order:3;width:24px;height:24px;background:none;opacity:0}
.fcard:hover .dmore,.fcard:focus-within .dmore{opacity:1}
.fcard.add{color:#8a8a92}.fcard.add .fc-ic{color:#8a8a92}.fcard.add b{font-weight:500}
.dtab{border:0;border-radius:0;background:none;overflow:visible}
.dth{height:30px;padding:0 10px;border-bottom:1px solid #ececf0;font-size:11.5px;font-weight:500;color:#a0a0a8}
.dtr{min-height:40px;padding:0 10px;border-bottom:0;border-radius:10px;font-size:13px}
.dtr:hover,.dtr:focus-visible{background:#f5f5f7}
.dtr .dn{gap:10px}
.dtr .dn b{font-weight:500;font-size:13.5px}
.dk,.dk[class*="k-"]{width:20px;height:20px;border-radius:0;background:none!important;color:#6b6b74!important}
.dk svg{width:18px;height:18px}
.tag,.tag[class*="k-"]{padding:0;border-radius:0;background:none!important;color:#8a8a92!important;font-size:12.5px}
.dtr .dsj i{width:6px;height:6px}
.dtr{height:42px;min-height:0;align-items:center;padding-top:0;padding-bottom:0}
.dtr>span{align-self:center}.dtr .dt2 .tag{font-weight:400;line-height:1}
.fcard .fc-ic{display:inline-grid;place-items:center}
.dtr .dt2,.dtr .dt2 .tag{display:block;line-height:1.2;align-self:center}.dtr .dd{text-align:left}
.aip-top{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.aip-top .aip-new{margin:0;padding:12px 10px;justify-content:center;gap:7px;min-width:0}.aip-top .aip-new span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aip-voice{background:#fff;color:#111;box-shadow:inset 0 0 0 1.5px #d9d9de}.aip-voice .ic image{filter:none}
.docspace .items.fgrid>.fold.add{width:150px;min-height:0;justify-content:center;flex-direction:column;gap:6px;border:2px dashed #cfcfdb;background:transparent;color:#777;font-weight:600;border-radius:28px;cursor:pointer}
.docspaper .items.fgrid>.fold.add{width:138px;height:126px;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;border:2px dashed #cfcfdb;background:transparent;color:#777;font-weight:600;font-size:13.5px;border-radius:28px;cursor:pointer;box-shadow:none}.docspaper .items.fgrid>.fold.add:hover{background:#f3f3f5}

/* Login / Registrierung */
.authform{padding:30px clamp(24px,5vw,72px) 24px}
.authmid{width:min(380px,100%);gap:4px}
.authmid h1{font-size:32px;margin:14px 0 2px}
.authsub{margin:0 0 18px;font-size:14.5px;color:#777}
.authtabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:#f1f1f4}
.authtabs button{border:0;background:none;border-radius:999px;padding:10px;font:600 13.5px inherit;font-family:inherit;color:#777;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.authtabs button.on{background:#fff;color:#111;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.authform .lbl{margin:12px 0 5px 4px;font-size:12.5px;color:#666}
.fld{position:relative}
.fld .fi{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:19px;height:19px;fill:none;stroke:#9a9aa3;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .15s}
.fld:focus-within .fi{stroke:#111}
.fld .field.pill{padding:15px 20px 15px 48px;border-radius:16px;border:1.5px solid #e6e6ea;background:#fafafb;font-size:15px;transition:border-color .15s,background .15s,box-shadow .15s}
.fld .field.pill:focus{background:#fff;border-color:#111;box-shadow:0 0 0 4px rgba(0,0,0,.06)}
.fld.pwrap .field{padding-right:52px}
.authmsg{display:flex;align-items:flex-start;gap:9px;margin:10px 0 2px;padding:0;min-height:0;font-size:13.5px;line-height:1.4;color:#666;transition:all .2s}
.authmsg:empty{display:none}
.authmsg.err,.authmsg.ok,.authmsg.load{padding:11px 14px;border-radius:14px;background:#f5f5f7}
.authmsg.err{background:#f3f3f5;color:#111;box-shadow:inset 0 0 0 1px #e0e0e5}
.authmsg.ok{background:#111;color:#fff}
.am-i{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;margin-top:-1px}
.am-i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.am-sp{width:15px;height:15px;border-radius:50%;border:2px solid #ccc;border-top-color:#111;animation:amspin .7s linear infinite}
@keyframes amspin{to{transform:rotate(360deg)}}
.authgo{border-radius:16px;padding:15px;font-size:15.5px;margin-top:10px;background:#111;color:#fff;transition:transform .12s,opacity .15s}
.authgo:active{transform:scale(.985)}.authgo.busy{opacity:.55;pointer-events:none}
.authfoot{justify-content:center;text-align:center;font-size:12.5px;color:#999;line-height:1.5}.authfoot a{color:#666}
.authhero{padding:14px 14px 14px 0}.authhero::before{inset:14px 14px 14px 0}
@media(max-width:860px){.authhero{padding:10px 10px 0}.authhero::before{inset:10px 10px 0}}

/* Einstellungen: Bereiche als Reiter oben neben dem Pfad, Seitenleiste bleibt immer gleich */
.setcrumb{gap:12px;flex-wrap:wrap;row-gap:10px}
.setcrumb .settabs{margin:0 0 0 14px;flex:0 1 auto;min-width:0}
.setcrumb .theme-tg{margin-left:auto}
@media(max-width:900px){.setcrumb .settabs{order:5;margin:0;width:100%}.setcrumb .theme-tg{order:4}}

/* Dokumente: Titel wie auf den anderen Seiten, linksbündig; „Zuletzt benutzt“ rechts neben den Ordnern */
@media (min-width:901px){
  #app #main.doc-full .docsed>.ned-bar{display:flex!important;align-items:flex-end;justify-content:space-between;gap:14px;padding:28px 28px 6px!important;box-shadow:none;border:0;background:none}
  #app #main.doc-full .docspaper{padding-left:28px!important;padding-right:28px!important}
}
.docsed .nb-l{flex:1;min-width:0}.docsed .nb-r{flex:none}.docsed .docs-tools{flex:none}
.docsed .docs-t{flex-direction:column-reverse;gap:0;align-items:flex-start}
.docsed .docs-t>b{font-size:clamp(30px,3.6vw,44px);letter-spacing:-.045em;line-height:1.02;font-weight:700;max-width:none;overflow:visible;cursor:default;padding:0;margin:0}
.docsed .docs-t>b:hover{background:none}
.docsed .path{margin-bottom:6px;padding:0}.docsed .path button,.docsed .path span{font-size:13px;font-weight:600;color:var(--muted,#8a8a92)}
.docsed .path button{padding:0 2px}.docsed .path button.here{color:var(--muted,#8a8a92);font-weight:600}.docsed .path button:not(.here):hover{color:#111;background:none}
.dtop{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:28px;align-items:start}
.dtl{min-width:0}
.drc{margin-top:0}
.drc .dsec{margin-top:22px}
.drr{display:flex;align-items:center;gap:11px;width:100%;padding:7px 8px;border:0;background:none;border-radius:12px;text-align:left;cursor:pointer;font:inherit;color:inherit}
.drr:hover{background:#f5f5f7}
.drr .dk{flex:none}
.drr span{min-width:0;display:flex;flex-direction:column}
.drr b{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drr small{font-size:12px;color:#9a9aa3}
@media(max-width:900px){.dtop{grid-template-columns:1fr;gap:0}.docsed .docs-t>b{font-size:30px}}
@media (min-width:901px){#app #main.doc-full .docsed>.ned-bar{height:auto!important;min-height:0;position:static;margin-bottom:6px}}
.dtop{grid-template-columns:minmax(0,1fr) 250px;gap:16px}
@media (min-width:901px){#app #main.doc-full .docspaper{padding-left:20px!important}}
.dtl{position:relative}
.docspaper .dtl .items.fgrid>.fold.add{position:absolute;top:10px;right:0;width:auto!important;height:auto!important;min-height:0;flex-direction:row;gap:6px;padding:6px 12px 6px 10px;border:0;border-radius:999px;background:#f3f3f5;font-size:12.5px}
.docspaper .dtl .items.fgrid>.fold.add:hover{background:#e9e9ec}
.dtl .fold.add svg{width:14px;height:14px}

/* Seitenleiste: Dokumente mit Pfeil, Ordner als Dropdown */
.nav-chev{margin-left:auto;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#8a8a92;transition:background .15s,transform .2s}
.nav-chev svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.nav-chev:hover{background:#dcdce0;color:#111}.nav-chev.open svg{transform:rotate(90deg)}
.nav-tree{display:flex;flex-direction:column;gap:1px;margin:2px 0 4px 18px;padding-left:6px;border-left:1.5px solid #e1e1e5}
.nav-tree[hidden]{display:none}
.nav-f{display:flex;align-items:center;gap:9px;border:0;background:none;padding:7px 10px;border-radius:10px;font:inherit;font-size:13.5px;color:#4a4a52;cursor:pointer;text-align:left;min-width:0}
.nav-f i{flex:none;width:9px;height:9px;border-radius:50%}
.nav-f .nl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-f:hover{background:#ebebed}.nav-f.on{background:#e6e6e9;color:#0f0f12;font-weight:600}
.nav-f-e{margin:4px 10px;font-size:12.5px;color:#9a9aa3}
.shell.collapsed .nav-chev,.shell.collapsed .nav-tree{display:none}
@media(max-width:900px){.nav-chev,.nav-tree{display:none}}
/* Dateiliste: alle Spalten exakt gleich mittig in der Zeile */
.dtr>span{display:flex!important;align-items:center;align-self:center!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;position:static!important;transform:none!important;line-height:1.2;min-width:0}
.dtr .dsj{gap:7px}
.dtr .dt2 .tag{display:block;line-height:1.2}
.dtr .tag{position:static!important;transform:none!important;inset:auto!important;box-shadow:none!important;rotate:none!important;animation:none!important;margin:0!important}
.dtr>span{justify-content:flex-start!important;text-align:left!important}

/* Planer: Wochenansicht mit Zeitleiste und Aktivität */
.plw{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;margin-top:6px}
.plw-hd{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.plw-hd b{font-size:18px;letter-spacing:-.02em;min-width:150px;text-align:center;text-transform:capitalize}
.plw-hd .btn{margin-left:auto}
.plw-hd .icon-btn{border:1px solid #e6e6ea;background:#fff;width:34px;height:34px;border-radius:50%}
.plw-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:16px}
.plw-d{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0;border:0;background:none;border-radius:16px;cursor:pointer;font:inherit;color:#777;transition:background .15s,color .15s}
.plw-d b{font-size:20px;color:#111;letter-spacing:-.02em;line-height:1}.plw-d small{font-size:12.5px;text-transform:capitalize}
.plw-d:hover{background:#f3f3f5}
.plw-d.today b::after{content:"";display:block;width:4px;height:4px;border-radius:50%;background:currentColor;margin:3px auto -5px}
.plw-d.on{background:#111;color:#bbb}.plw-d.on b{color:#fff}
.plw-all{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.plw-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 13px;border-radius:14px;border:1.5px solid #e1e1e5;background:#fff;font:inherit;cursor:pointer;text-align:left;max-width:100%}
.plw-chip b{font-size:13.5px}.plw-chip small{font-size:12px;color:#8a8a92}
.plw-chip.exam{border-color:#111}.plw-chip.done{opacity:.5}.plw-chip.done b{text-decoration:line-through}
.plw-grid{position:relative;border-top:1px solid #f0f0f2}
.plw-h{position:absolute;left:0;right:0;height:1px;background:#f0f0f2}
.plw-h span{position:absolute;left:0;top:-8px;font-size:11.5px;color:#a0a0a8;background:#fff;padding-right:8px}
.plw-b{position:absolute;left:58px;right:8px;display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:0;border-radius:14px;text-align:left;font:inherit;cursor:pointer;overflow:hidden;transition:transform .15s,box-shadow .15s}
.plw-b:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(0,0,0,.35)}
.plw-b b{font-size:13.5px;line-height:1.25;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plw-b small{font-size:12px;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plw-b.lesson{background:#f1f1f3;color:#111}
.plw-b.event{background:#111;color:#fff}
.plw-now{position:absolute;left:52px;right:0;height:2px;background:#111;z-index:3;pointer-events:none}
.plw-now::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:#111}
.plw-now em{position:absolute;left:-52px;top:-10px;font-style:normal;font-size:11px;font-weight:600;background:#111;color:#fff;border-radius:7px;padding:3px 6px}
.plw-empty{position:absolute;left:58px;top:40px;color:#9a9aa3;font-size:14px;max-width:320px}
.plw-act{border:1px solid #ececf0;border-radius:var(--rad,28px);padding:20px 20px 10px;position:sticky;top:10px}
.plw-act h3{margin:0 0 14px;font-size:15px}
.plw-act ol{list-style:none;margin:0;padding:0;position:relative}
.plw-act li{display:flex;gap:12px;padding:0 0 18px;position:relative}
.plw-act li:not(:last-child)::before{content:"";position:absolute;left:15px;top:34px;bottom:2px;border-left:1.5px dashed #dcdce0}
.plw-ai{flex:none;width:32px;height:32px;border-radius:50%;background:#f1f1f3;display:grid;place-items:center;color:#333}.plw-ai svg{width:16px;height:16px}
.plw-act li>div{min-width:0;display:flex;flex-direction:column;gap:1px}
.plw-act small{font-size:11.5px;color:#9a9aa3}.plw-act b{font-size:13.5px}.plw-act em{font-style:normal;font-size:12.5px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){.plw{grid-template-columns:1fr}.plw-act{position:static}}
@media(max-width:560px){.plw-d{padding:8px 0}.plw-d b{font-size:17px}.plw-hd b{min-width:0;font-size:16px}}
.plw-b{padding:6px 12px}.plw-b small{line-height:1.2}
/* Ordner-Baum: Linie läuft zum Punkt jedes Ordners und weiter zum nächsten */
.nav-tree{border-left:0!important;padding-left:0!important;margin:2px 0 4px 20px;gap:0}
.nav-f{position:relative;padding-top:8px;padding-bottom:8px}
.nav-f u{position:absolute;pointer-events:none;text-decoration:none}
.nav-f .tl-v{top:0;bottom:0;width:0;border-left:1.5px solid #c9c9cf}
.nav-f .tl-e{top:0;height:50%;width:17px;border-left:1.5px solid #c9c9cf;border-bottom:1.5px solid #c9c9cf;border-bottom-left-radius:9px;box-sizing:border-box}
.nav-f .tl-e:not(.end){height:100%;border-bottom:0;border-radius:0}
.nav-f .tl-e:not(.end)::after{content:"";position:absolute;left:-1.5px;top:50%;width:13px;height:50%;border-left:0;border-top:0;border-bottom:0}
.nav-f .tl-e:not(.end)::before{content:"";position:absolute;left:-1.5px;top:0;width:17px;height:50%;border-left:1.5px solid #c9c9cf;border-bottom:1.5px solid #c9c9cf;border-bottom-left-radius:9px;box-sizing:border-box}

/* Planer: Tag / Woche / Monat / Quartal, farbige Blöcke nach Fach */
.plw-hd{flex-wrap:wrap;row-gap:10px}
.plw-hd b{min-width:0;text-align:left;flex:0 1 auto;margin-right:4px}
.plw-sw{display:flex;gap:2px;padding:3px;background:#f1f1f3;border-radius:999px;margin-left:auto}
.plw-sw button{border:0;background:none;border-radius:999px;padding:7px 13px;font:600 13px inherit;font-family:inherit;color:#777;cursor:pointer}
.plw-sw button.on{background:#fff;color:#111;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.plw-hd .btn{margin-left:0}
.plw-wk{display:flex;flex-direction:column}
.plw-wh,.plw-ah{display:grid;grid-template-columns:52px repeat(var(--n),minmax(0,1fr));gap:0}
.plw-wh{margin-bottom:6px}
.plw-wd{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border:0;background:none;border-radius:14px;cursor:pointer;font:inherit;color:#777}
.plw-wd b{font-size:19px;color:#111;letter-spacing:-.02em;line-height:1}.plw-wd small{font-size:12px;text-transform:capitalize}
.plw-wd:hover{background:#f3f3f5}.plw-wd.today b{background:#111;color:#fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:15px}
.plw-ah{margin-bottom:8px}.plw-ah>div{display:flex;flex-direction:column;gap:4px;padding:0 3px;min-width:0}
.plw-chip{border-color:color-mix(in srgb,var(--c,#999) 45%,#fff);background:color-mix(in srgb,var(--c,#999) 13%,#fff)}
.plw-chip.exam{border-color:var(--c,#111);border-width:2px}
.plw-wk.week .plw-chip{padding:5px 8px}.plw-wk.week .plw-chip small{display:none}.plw-wk.week .plw-chip b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.plw-grid{display:block;position:relative;border-top:0}
.plw-hrs{position:absolute;inset:0;pointer-events:none}
.plw-cols{position:absolute;left:52px;right:0;top:0;bottom:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.plw-col{position:relative;border-left:1px solid #f0f0f2;min-width:0}
.plw-b{left:3px!important;right:3px!important;background:color-mix(in srgb,var(--c) 16%,#fff);border-left:4px solid var(--c);color:#111;border-radius:12px}
.plw-b.event,.plw-b.lesson{background:color-mix(in srgb,var(--c) 16%,#fff);color:#111}
.plw-b b{color:color-mix(in srgb,var(--c) 70%,#000)}
.plw-wk.week .plw-b{padding:5px 7px}.plw-wk.week .plw-b b{font-size:12px}.plw-wk.week .plw-b small{font-size:10.5px}
.plw-now{left:0!important;right:0}.plw-now em{left:-52px;top:-10px}
.plw-now::before{left:-4px}
.plw-empty{left:70px}
/* Monat */
.plw-mon{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.plw-mh{font-size:12px;color:#9a9aa3;text-align:center;padding-bottom:2px}
.plw-mc{min-height:98px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px;border:1px solid #ececf0;border-radius:16px;background:#fff;cursor:pointer;font:inherit;text-align:left;min-width:0;overflow:hidden;transition:border-color .15s,background .15s}
.plw-mc:hover{border-color:#cfcfd6;background:#fafafb}.plw-mc.empty{border:0;background:none;cursor:default;pointer-events:none}
.plw-mc>b{font-size:13px}.plw-mc.today>b{background:#111;color:#fff;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-size:12px}
.plw-mc i{font-style:normal;font-size:11.5px;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;border-radius:7px;background:color-mix(in srgb,var(--c) 18%,#fff);color:color-mix(in srgb,var(--c) 75%,#000);border-left:3px solid var(--c)}
.plw-mc i.done{text-decoration:line-through;opacity:.55}.plw-mc em{font-style:normal;font-size:11px;color:#9a9aa3}
/* Quartal */
.plw-qtr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.plw-qm{min-width:0}
.plw-qt{border:0;background:none;font:700 15px inherit;font-family:inherit;text-transform:capitalize;cursor:pointer;padding:2px 4px;margin:0 0 8px -4px;border-radius:8px}.plw-qt:hover{background:#f3f3f5}
.plw-qg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.plw-qg small{font-size:11px;color:#9a9aa3;padding-bottom:3px}
.plw-qg button{border:0;background:none;aspect-ratio:1;border-radius:50%;font:inherit;font-size:12.5px;cursor:pointer;color:#333;display:grid;place-items:center}
.plw-qg button:hover{background:#f1f1f3}.plw-qg button.has{background:color-mix(in srgb,var(--c) 22%,#fff);color:color-mix(in srgb,var(--c) 80%,#000);font-weight:700}
.plw-qg button.today{background:#111;color:#fff}
@media(max-width:900px){.plw-qtr{grid-template-columns:1fr}.plw-sw{margin-left:0;width:100%}.plw-sw button{flex:1}.plw-mc{min-height:62px;padding:5px}.plw-mc i{display:none}.plw-wk.week .plw-b small{display:none}}
.plw-sw button{padding:6px 10px;font-size:12.5px}.plw-hd b{font-size:16px}.plw-hd{gap:8px}

/* Seitenleiste: Logo + Name links, Einklappen rechts; darunter Quick Actions und Suche */
.rail-top{justify-content:space-between;padding:6px 6px 8px 8px;gap:8px}
.rail-top .brand{font-size:20px;gap:2px}
.rail-top .rail-tgl{width:36px;height:36px;border-radius:11px;margin-left:auto}
.rail-tgl svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qa-row{display:flex;gap:8px;margin:2px 0 12px}
.qa-btn,.qa-s{display:flex;align-items:center;gap:9px;height:40px;border:0;border-radius:13px;background:#e9e9ec;color:#2b2b30;font:inherit;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .15s}
.qa-btn{flex:1;min-width:0;padding:0 10px}.qa-s{padding:0 12px;flex:none}
.qa-btn:hover,.qa-s:hover{background:#dfdfe3}
.qa-btn svg,.qa-s svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.qa-t{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qa-row kbd{font:inherit;font-size:11.5px;color:#8a8a92;letter-spacing:.02em;white-space:nowrap}
.shell.collapsed .qa-row{flex-direction:column;align-items:center}.shell.collapsed .qa-t,.shell.collapsed .qa-row kbd{display:none}.shell.collapsed .qa-btn,.shell.collapsed .qa-s{width:44px;padding:0;justify-content:center}
.shell.collapsed .rail-top{flex-direction:column;gap:6px;justify-content:center}.shell.collapsed .rail-top .rail-tgl{margin-left:0}
@media(max-width:900px){.qa-row{display:none}}
/* Quick-Actions-Zeile kleiner und heller; eingeklappt nur Suche; Unterordner ohne graue Box */
.qa-row{margin:0 0 10px;gap:6px}
.qa-btn,.qa-s{height:34px;border-radius:11px;background:#fff!important;box-shadow:0 0 0 1px rgba(0,0,0,.05);font-size:13px}
.qa-btn:hover,.qa-s:hover{background:#fafafa!important;box-shadow:0 0 0 1px rgba(0,0,0,.09)}
.qa-btn svg,.qa-s svg{width:16px;height:16px}
.qa-btn{padding:0 9px;gap:8px}.qa-s{padding:0 10px;gap:6px}
.shell.collapsed .qa-btn{display:none}
.shell.collapsed .qa-s{width:36px;height:34px;padding:0}
.nav-f:hover,.nav-f.on{background:none!important}
.nav-f.on{font-weight:700;color:#0f0f12}
.nav-f:hover{color:#0f0f12}

/* Einstellungen: Dock-Leiste (Magic UI Dock, MIT) mit Vergrößerung beim Darüberfahren */
.setcrumb{align-items:center}
.settabs.sdock{margin:0 0 0 auto;padding:7px;gap:6px;background:rgba(244,244,246,.9);border:1px solid #e6e6ea;border-radius:26px;width:auto;max-width:none;overflow:visible;align-items:flex-end;height:62px;backdrop-filter:blur(10px);box-shadow:0 8px 24px -14px rgba(0,0,0,.25)}
.sdock button{--s:44px;position:relative;width:var(--s);height:var(--s);padding:0;border:0;border-radius:50%;background:transparent;color:#55555d;display:grid;place-items:center;cursor:pointer;flex:none;box-shadow:none}
.sdock button:hover{background:#e6e6ea;color:#111}
.sdock button.on{background:#111;color:#fff;box-shadow:none}
.sdock .sdk-i{display:grid;place-items:center;width:100%;height:100%}.sdock .sdk-i svg{width:calc(var(--s) * .45);height:calc(var(--s) * .45);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sdock .sdk-tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);background:#111;color:#fff;font-size:12px;font-weight:600;padding:5px 9px;border-radius:9px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:20}
.sdock button:hover .sdk-tip,.sdock button:focus-visible .sdk-tip{opacity:1;transform:translate(-50%,0)}
.sdk-sep{align-self:center;width:1px;height:30px;background:#dcdce0;margin:0 3px;flex:none}
.sdock .theme-tg{--s:44px;margin:0!important;border:0;background:transparent;width:var(--s);height:var(--s);color:#55555d}
.sdock .theme-tg:hover{background:#e6e6ea}
@media(max-width:900px){.settabs.sdock{margin:0;width:100%;justify-content:space-between;height:60px}.sdock button{--s:42px!important}.sdock .sdk-tip{display:none}.setcrumb .settabs{order:5;width:100%}}
.sdock .sdk-tip{bottom:auto;top:calc(100% + 12px);transform:translate(-50%,-4px)}
.sdock button:hover .sdk-tip,.sdock button:focus-visible .sdk-tip{transform:translate(-50%,0)}
.sdock button.on:hover{background:#111;color:#fff}
/* Dock wie im Vorbild: nur Icons in einer Pille, keine Box um die einzelnen Icons */
.settabs.sdock{background:#fff;border:1px solid #e6e6ea;border-radius:22px;padding:7px 14px;gap:8px;height:60px;box-shadow:0 6px 22px -16px rgba(0,0,0,.3)}
.sdock button,.sdock button:hover,.sdock button.on,.sdock button.on:hover,.sdock .theme-tg,.sdock .theme-tg:hover{background:none!important;box-shadow:none!important}
.sdock button{color:#8a8a92;transition:color .15s}
.sdock button:hover{color:#111}
.sdock button.on{color:#111}
.sdock button.on::after{content:"";position:absolute;left:50%;bottom:-1px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#111}
.sdock .sdk-i svg{stroke-width:1.7}
.sdock .theme-tg{color:#8a8a92}.sdock .theme-tg:hover{color:#111}
.sdk-sep{height:28px;margin:0 6px}
.settabs.sdock{align-items:center!important}
.sdock button.on::after{display:none!important;content:none!important}
.sdock button.on .sdk-i svg{stroke-width:2.6}
/* Profil: Anmelden/Abmelden klar im Kopf; Startseite-Zeile kompakt */
.prof-head{position:relative}
.prof-head .pf-auth{position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:2}
.sthome{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #ececf0;border-radius:16px;background:#fff;margin-top:2px}
.sthome .sth-i{width:30px;height:30px;border-radius:10px;background:#f3f3f5;display:grid;place-items:center;color:#333;flex:none}.sthome .sth-i svg{width:16px;height:16px}
.sthome>div{flex:1;min-width:0;display:flex;flex-direction:column}
.sthome b{font-size:13.5px}.sthome small{font-size:12px;color:#8a8a92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sthome .btn{flex:none;padding:6px 12px;font-size:12.5px;border-radius:11px}
@media(max-width:560px){.sthome small{white-space:normal}.prof-head .pf-auth{position:static;transform:none;margin-left:auto}}

/* Dunkelmodus: schwarze Schatten würden durch die Farbumkehr zu weißem Leuchten – deshalb keine unscharfen Schatten */
html[data-theme="dark"] *,html[data-theme="dark"] *::before,html[data-theme="dark"] *::after{box-shadow:none!important;text-shadow:none!important}
html[data-theme="dark"] :is(.fold,.f3d,.fsvg,.ffront,.drc,.plw-b){filter:none!important}
html[data-theme="dark"] .qa-btn,html[data-theme="dark"] .qa-s{border:1px solid #e3e3e7}
html[data-theme="dark"] .settabs.sdock{border-color:#e6e6ea}
html[data-theme="dark"] .pgrid{opacity:.35}
/* Dunkelmodus Login: nur das Bild behält seine Farben, der Rahmen darum wird dunkel */
html[data-theme="dark"] .authhero{filter:none!important;background:#fff}
html[data-theme="dark"] .authhero::before{filter:invert(1) hue-rotate(180deg)}

/* Einstellungs-Leiste: einfache Box, bessere Icons, kein Hover-Effekt, kein Blur/Schatten */
.settabs.sdock{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border:1px solid #e6e6ea;border-radius:18px;height:auto;padding:5px;gap:2px;align-items:center!important}
.sdock button,.sdock .theme-tg{--s:40px!important;width:40px;height:40px;border-radius:12px;color:#8a8a92;background:none!important;transition:none}
.sdock button:hover,.sdock .theme-tg:hover{background:none!important;color:#8a8a92}
.sdock button.on,.sdock button.on:hover{color:#111;background:#f1f1f3!important}
.sdock .sdk-i svg{width:22px!important;height:22px!important;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sdock button.on .sdk-i svg{stroke-width:2.1}
.sdock .sdk-sep{height:24px;margin:0 4px}
.sdock .sdk-tip{display:none}
.pp-gift{width:22px;height:22px;display:grid;place-items:center;color:#111;flex:none}.pp-gift svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pp-card:not(.on) .pp-gift{color:#8a8a92}
#pl-m .ic{width:18px;height:18px;margin-right:2px}
.sdock .sdk-i svg g[fill]{stroke:none}
