:root{--bg:#f4f3f0;--surface:rgba(255,255,255,0.82);--surface-solid:#ffffff;--surface-2:#ebe9e4;--text:#1c1b19;--muted:#74716a;--line:#e2dfd8;--brand:#e3313b;--accent:#d9452f;--accent-soft:#fbe2dc;--mark:#ffe58a;--radius:16px;--shadow:0 1px 2px rgba(0,0,0,0.04),0 6px 20px rgba(0,0,0,0.05);--c-wetter:#0ea5e9;--c-verkehr:#f59e0b;--c-termine:#8b5cf6;--c-projekt:#10b981;--c-jobs:#ec4899;--c-news:#3b82f6;--c-hinweise:#f97316;--c-todos:#e3313b;--c-sonstiges:#94a3b8}@media (prefers-color-scheme:dark){:root{--bg:#0e0e10;--surface:rgba(28,28,31,0.78);--surface-solid:#1c1c1f;--surface-2:#26262a;--text:#ecebe8;--muted:#9a968e;--line:#2c2c31;--brand:#e8343e;--accent:#ff7a5c;--accent-soft:#3a1f1a;--mark:#6b5a12;--shadow:0 1px 0 rgba(255,255,255,0.03) inset,0 8px 24px rgba(0,0,0,0.25);--c-wetter:#38bdf8;--c-verkehr:#fbbf24;--c-termine:#a78bfa;--c-projekt:#34d399;--c-jobs:#f472b6;--c-news:#60a5fa;--c-hinweise:#fb923c;--c-todos:#ff5a63}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--muted)}.bg-glow{position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;background:radial-gradient(40vmax 40vmax at 15% 10%,color-mix(in srgb,var(--brand) 14%,transparent),transparent 70%),radial-gradient(35vmax 35vmax at 85% 20%,color-mix(in srgb,var(--c-termine) 10%,transparent),transparent 70%),radial-gradient(45vmax 45vmax at 60% 90%,color-mix(in srgb,var(--c-wetter) 9%,transparent),transparent 70%);animation:drift 40s ease-in-out infinite alternate}@keyframes drift{0%{transform:translateZ(0) rotate(0deg)}to{transform:translate3d(-4vmax,3vmax,0) rotate(8deg)}}.shell{max-width:1440px;margin:0 auto;padding:0 20px 48px}.top{position:-webkit-sticky;position:sticky;top:0;z-index:10;gap:14px;padding:14px 0 10px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand,.top{display:flex;align-items:center}.brand{flex:none;background:none;border:0;padding:0}.brand-badge{display:inline-flex;align-items:center;gap:7px;background:var(--brand);color:#fff;font-weight:800;font-size:15px;letter-spacing:.08em;padding:6px 11px 6px 10px;border-radius:7px;box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 50%,transparent),0 4px 14px color-mix(in srgb,var(--brand) 35%,transparent);animation:badge-glow 3s ease-in-out infinite}.brand-dot{width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1.6s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes badge-glow{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 45%,transparent),0 4px 14px color-mix(in srgb,var(--brand) 30%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 0%,transparent),0 4px 20px color-mix(in srgb,var(--brand) 45%,transparent)}}.search{flex:1 1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 14px;height:40px;transition:border-color .2s,box-shadow .2s}.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.search svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;flex:none}.search input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit}.archive-toggle{display:none;border:1px solid var(--line);background:var(--surface);flex:none;border-radius:999px;height:40px;padding:0 14px;font-weight:600}.ico{width:16px;height:16px;flex:none}.filters{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.chip{--c:var(--muted);display:inline-flex;align-items:center;gap:6px;flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 13px;font-size:13.5px;transition:border-color .2s,background .2s}.chip .ico{color:var(--c)}.chip:hover{border-color:var(--c)}.chip.active{background:var(--text);border-color:var(--text)}.chip.active,.chip.active .ico{color:var(--bg)}.chip-wetter{--c:var(--c-wetter)}.chip-verkehr{--c:var(--c-verkehr)}.chip-termine{--c:var(--c-termine)}.chip-projekt{--c:var(--c-projekt)}.chip-jobs{--c:var(--c-jobs)}.chip-news{--c:var(--c-news)}.chip-todos{--c:var(--c-todos)}.body{display:grid;grid-template-columns:160px 1fr;grid-gap:24px;gap:24px;align-items:start}.archive{position:-webkit-sticky;position:sticky;top:110px;max-height:calc(100vh - 130px);overflow-y:auto;padding-right:4px}.date-jump{display:grid;grid-gap:4px;gap:4px;margin-bottom:16px;font-size:12px;color:var(--muted)}.date-jump input{font:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:7px 9px;color-scheme:light dark}.month h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 6px;font-weight:600}.day{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;border-radius:9px;padding:6px 10px;text-align:left;font-size:14px}.day:hover{background:var(--surface-2)}.day.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}.day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.day-head>div{text-align:center}.day-head h1{font-size:20px;margin:0;letter-spacing:-.02em}.badge{display:inline-block;margin-top:3px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 10px}.nav{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:20px;line-height:1;transition:border-color .2s}.nav:not(:disabled):hover{border-color:var(--brand)}.nav:disabled{opacity:.3;cursor:default}.hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 20px;margin-bottom:14px;border-radius:var(--radius);color:#fff;background:linear-gradient(120deg,var(--brand),color-mix(in srgb,var(--brand) 60%,#ff9a3c));box-shadow:0 10px 30px color-mix(in srgb,var(--brand) 28%,transparent);animation:rise .5s ease both}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-100%);animation:shine 6s ease-in-out 1s infinite}@keyframes shine{0%{transform:translateX(-100%)}30%,to{transform:translateX(100%)}}.hero-label{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:rgba(0,0,0,.18);padding:4px 10px;border-radius:999px}.hero-pulse{width:8px;height:8px;border-radius:50%;background:#fff;animation:blink 1.6s ease-in-out infinite}.hero-text{flex:1 1;min-width:220px;font-size:17px;font-weight:600;line-height:1.4}.hero-text a{color:#fff;text-decoration:underline}.notes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.note{font-size:13.5px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--c-hinweise) 14%,var(--surface-solid));border:1px solid color-mix(in srgb,var(--c-hinweise) 40%,transparent)}.grid{display:grid;grid-gap:14px;gap:14px;margin-bottom:14px}.grid-top{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-top.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-bottom.n2,.grid-top.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-bottom.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-bottom.n1,.grid-single,.grid-top.n1{grid-template-columns:1fr}.card{--c:var(--c-sonstiges);position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 12px;box-shadow:var(--shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .25s,transform .25s,box-shadow .25s;animation:rise .5s ease both}.card:before{left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 0%,transparent))}.card:after,.card:before{content:"";position:absolute}.card:after{right:-60px;top:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--c) 16%,transparent),transparent);pointer-events:none;transition:opacity .3s;opacity:.7}.card:hover{border-color:color-mix(in srgb,var(--c) 55%,var(--line));transform:translateY(-2px)}.card:hover:after{opacity:1}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card-wetter{--c:var(--c-wetter)}.card-verkehr{--c:var(--c-verkehr)}.card-termine{--c:var(--c-termine)}.card-projekt{--c:var(--c-projekt)}.card-jobs{--c:var(--c-jobs)}.card-news{--c:var(--c-news)}.card-hinweise{--c:var(--c-hinweise)}.card-todos{--c:var(--c-todos)}.todo-list{gap:4px}.todo{display:flex;align-items:flex-start;gap:10px;padding:5px 0;font-size:14px;line-height:1.4}.todo .box{width:16px;height:16px;flex:none;margin-top:2px;border-radius:5px;border:2px solid color-mix(in srgb,var(--c) 70%,transparent)}.todo-text{flex:1 1;min-width:0}.todo-meta{display:flex;gap:4px;flex:none;flex-wrap:wrap;justify-content:flex-end}.tag{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.tag.due{color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}.todo.urgent .tag.due{background:var(--c);color:#fff}.todo.done{color:var(--muted)}.todo.done .todo-text{text-decoration:line-through}.todo.done .box{background:var(--c);border-color:var(--c);opacity:.6}.todo.empty{color:var(--muted);font-size:13px}.card h2{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.02em;margin:0 0 10px}.ico-wrap{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;flex:none;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent)}.count{margin-left:auto;font-size:11px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);border-radius:999px;padding:1px 8px}.items{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.item{position:relative;padding:6px 8px 6px 16px;margin:0 -8px;border-radius:8px;font-size:14px;line-height:1.45}.item:before{content:"";position:absolute;left:6px;top:13px;width:4px;height:4px;border-radius:50%;background:var(--c)}.item-text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.card.wide .item-text,.item-text{-webkit-line-clamp:2}.item.open .item-text{display:block;-webkit-line-clamp:unset;overflow:visible}.item.can{cursor:pointer}.item.can:hover{background:var(--surface-2)}.more{display:inline-block;margin-top:2px;font-size:11.5px;font-weight:600;color:var(--c);opacity:.85}.more:after{content:" ▾"}.item.open .more:after{content:" ▴"}.item a{white-space:nowrap}.dash{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:14px;gap:14px;align-items:start}.dash-side{position:-webkit-sticky;position:sticky;top:110px}.dash-side .card{margin-bottom:14px}.dash-side .todo-meta{flex-direction:column;align-items:flex-end}.focus{font-size:14px;font-weight:600;padding:8px 12px;margin-bottom:12px;border-radius:10px;background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}.focus+.focus{margin-top:-6px}.focus.late{font-weight:500;background:color-mix(in srgb,var(--c-hinweise) 10%,transparent);border-color:color-mix(in srgb,var(--c-hinweise) 30%,transparent)}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px}.project{padding:12px 14px;border-radius:12px;background:var(--surface-2);display:grid;grid-gap:6px;gap:6px;align-content:start}.project-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.project-head b{font-size:15px}.project-pct{font-size:12px;font-weight:700;color:var(--c)}.bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--c) 14%,transparent);overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 60%,#fff));animation:grow 1s ease .3s both}@keyframes grow{0%{width:0!important}}.dots{display:flex;gap:4px;flex-wrap:wrap}.dots .d{width:9px;height:9px;border-radius:3px;background:color-mix(in srgb,var(--c) 18%,transparent)}.dots .d.on{background:var(--c)}.dots .d.now{background:transparent;box-shadow:inset 0 0 0 2px var(--c);animation:blink 1.6s ease-in-out infinite}.project-line{margin:0;font-size:13.5px;line-height:1.4}.project-line.muted{font-size:12.5px}.lbl{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c);margin-right:4px}.project-line.ask .lbl{color:var(--c-hinweise)}.carousel-nav{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.cnav{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:16px;line-height:1;display:grid;place-items:center;padding:0}.cnav:hover{border-color:var(--c);color:var(--c)}.cdots{display:inline-flex;gap:5px}.cdot{position:relative;overflow:hidden;width:8px;height:8px;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--c) 25%,transparent);transition:width .25s}.cdot.on{width:24px;background:color-mix(in srgb,var(--c) 30%,transparent)}.cdot.on:after{content:"";position:absolute;inset:0;background:var(--c)}.cdot.run:after{transform-origin:left;animation:cprog 4s linear both}@keyframes cprog{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.slide{animation:slide-in .45s ease both}@keyframes slide-in{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}.roadmap-toggle{justify-self:start;border:0;background:none;padding:2px 0;font-size:12px;font-weight:600;color:var(--muted)}.roadmap-toggle:hover{color:var(--c)}.roadmap{margin:0;padding-left:20px;font-size:13px;line-height:1.5}.roadmap li{color:var(--text)}.roadmap li.done{color:var(--muted);text-decoration:line-through}.roadmap li.now{font-weight:700;color:var(--c)}.apps{display:grid;grid-gap:6px;gap:6px;margin-bottom:4px}.apps-head{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.apps-new{margin-top:8px}.app{display:flex;align-items:center;gap:10px;font-size:13.5px;line-height:1.35}.app-main{flex:1 1;min-width:0;display:grid}.app-main span{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-dot{width:8px;height:8px;margin:0 14px;border-radius:50%;flex:none;background:color-mix(in srgb,var(--c) 55%,transparent)}.app-talk{padding:7px 10px 7px 7px;border-radius:10px;background:color-mix(in srgb,var(--c) 10%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}.app-date{display:grid;place-items:center;min-width:52px;padding:3px 6px;border-radius:8px;background:var(--c);color:#fff;font-size:11px;line-height:1.2;text-align:center}.app-date b{font-size:13px}.app-talk.soon{animation:soon-pulse 2.4s ease-in-out infinite}@keyframes soon-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 0%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent)}}.weather{flex-direction:column;flex:1 1}.weather,.wx-row{display:flex;gap:6px}.wx-row{align-items:center}.wx{width:92px;height:70px;flex:none;overflow:visible}.wx-sun{fill:#fbbf24;stroke:#fbbf24;stroke-width:3;stroke-linecap:round;transform-origin:48px 38px;animation:spin 30s linear infinite}.wx-cloud{fill:color-mix(in srgb,var(--text) 18%,var(--surface-solid));stroke:color-mix(in srgb,var(--text) 25%,transparent);stroke-width:1.5;animation:float 6s ease-in-out infinite}.wx-drop{stroke:var(--c-wetter);stroke-width:3;stroke-linecap:round;animation:drop 1.2s linear infinite}.wx-flake{fill:#e0f2fe;animation:drop 2.2s linear infinite}.wx-bolt{fill:#fbbf24;animation:flash 3s ease-in-out infinite}.wx-fog line{stroke:color-mix(in srgb,var(--text) 35%,transparent);stroke-width:3.5;stroke-linecap:round;animation:fog 5s ease-in-out infinite alternate}@keyframes spin{to{transform:rotate(1turn)}}@keyframes float{0%,to{transform:translateX(0)}50%{transform:translateX(4px)}}@keyframes drop{0%{transform:translateY(-8px);opacity:0}30%{opacity:1}to{transform:translateY(6px);opacity:0}}@keyframes flash{0%,80%,to{opacity:1}85%{opacity:.2}90%{opacity:1}95%{opacity:.3}}@keyframes fog{0%{transform:translateX(-4px)}to{transform:translateX(6px)}}.temps{display:flex;align-items:baseline;gap:8px}.t-max{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1}.t-min{font-size:20px;font-weight:600;color:var(--muted)}.wx-stats{display:flex;flex-wrap:wrap;gap:6px}.wx-stats span{font-size:12.5px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--c-wetter) 12%,transparent)}.results{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.result{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.result:hover{border-color:var(--brand)}.result-head{display:flex;justify-content:space-between;gap:10px;font-weight:600;font-size:14px}.result-title{display:inline-flex;align-items:center;gap:6px}.result p{margin:6px 0 0;font-size:14px}mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 2px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:340px;display:grid;grid-gap:12px;gap:12px;background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.login-card .brand{justify-content:center;margin-bottom:8px}.login-card input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px}.login-card button[type=submit]{border:0;border-radius:10px;padding:11px;font-weight:600;background:var(--brand);color:#fff}.error{color:#d33;margin:0;font-size:14px}@media (max-width:1240px){.grid-top,.grid-top.n3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-top.n3>:first-child{grid-column:1/-1}}@media (max-width:1100px){.dash{grid-template-columns:1fr}.dash-side{position:static;order:-1}}@media (max-width:1240px){.grid-bottom.n3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-bottom.n3>:first-child{grid-column:1/-1}}@media (max-width:900px){.grid-bottom.n2,.grid-bottom.n3{grid-template-columns:1fr}}@media (max-width:760px){.shell{padding:0 16px 40px}.body{grid-template-columns:1fr}.archive-toggle{display:block}.archive{display:none;position:static;max-height:none;background:var(--surface-solid);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.archive.open{display:block}.day-head h1{font-size:17px}.grid-top,.grid-top.n2,.grid-top.n3{grid-template-columns:1fr}.hero-text{font-size:15.5px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}