.app-shell{--surface: var(--color-base-100);--bg: var(--color-base-200);--fg: var(--color-base-content);--border: var(--color-base-300);--accent: var(--color-accent);--radius: var(--radius-box);--radius-lg: var(--radius-box);--muted: oklch(56% .02 265);--st-neu: oklch(62% 0 0);--st-begonnen: oklch(58% .22 303.9);--st-fertig: oklch(68% .19 151.7);--accent-soft: color-mix(in oklch, var(--accent) 30%, transparent);--fg-soft: color-mix(in oklch, var(--fg) 5%, transparent);--hover: color-mix(in oklch, var(--fg) 3.5%, transparent);--font-display: var(--font-sans);--sidebar-w: 256px}.app-shell *,.app-shell *:before,.app-shell *:after{box-sizing:border-box}.app-shell svg{display:block}.app-shell button,.app-shell input,.app-shell select{font:inherit;color:inherit}.app-shell button{cursor:pointer}.app-shell .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-shell .app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.app-shell .sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;background:var(--surface);border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column;gap:22px}.app-shell .brand{display:block;padding:4px 8px}.app-shell .brand img{display:block;width:150px;height:auto}.app-shell .navgroup{display:flex;flex-direction:column;gap:2px}.app-shell .navgroup .navlabel{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px}.app-shell .nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);color:var(--muted);font-size:14px;border:1px solid transparent;background:none;width:100%;text-align:left}.app-shell .nav-item:hover{background:var(--hover);color:var(--fg)}.app-shell .nav-item.active{background:var(--accent-soft);color:var(--fg);font-weight:600}.app-shell .nav-item .ico{width:17px;height:17px;flex:none;opacity:.8}.app-shell .nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.app-shell .nav-item.active .count{color:var(--fg)}.app-shell .nav-soon{margin-left:auto;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--fg);padding:2px 6px;border-radius:999px}.app-shell .side-foot{margin-top:auto;display:flex;align-items:center;gap:8px;padding:8px;border-top:1px solid var(--border)}.app-shell .avatar{width:30px;height:30px;border-radius:999px;background:var(--accent-soft);display:grid;place-items:center;font-weight:600;font-size:12px;flex:none}.app-shell .side-foot .nm{font-size:13px;font-weight:600;line-height:1.2}.app-shell .side-foot .ro{font-size:11px;color:var(--muted)}.app-shell .main{min-width:0;display:flex;flex-direction:column}.app-shell .topbar{display:none}.app-shell .page-head{padding:28px clamp(20px,4vw,44px) 0}.app-shell .page-head .crumbs{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.app-shell .page-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:8px;flex-wrap:wrap}.app-shell .page-head h1{font-family:var(--font-sans);font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.05}.app-shell .page-head .sub{color:var(--muted);margin:6px 0 0;font-size:14px}.app-shell .page-head .sub b{color:var(--fg);font-weight:600}.app-shell .btn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:500;white-space:nowrap;transition:background .12s,border-color .12s,transform .05s}.app-shell .btn:hover{border-color:var(--fg)}.app-shell .btn:active{transform:translateY(1px)}.app-shell .btn:disabled,.app-shell .btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.app-shell .btn:disabled:hover,.app-shell .btn[disabled]:hover{border-color:var(--border)}.app-shell .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--fg);font-weight:600}.app-shell .btn-primary:hover{background:color-mix(in oklch,var(--accent) 86%,var(--fg));border-color:transparent}.app-shell .btn-accent{background:var(--accent);border-color:var(--accent);color:var(--fg);font-weight:600}.app-shell .btn-accent:hover{background:color-mix(in oklch,var(--accent) 86%,var(--fg));border-color:transparent}.app-shell .btn svg{width:16px;height:16px}.app-shell .toolbar{margin-top:16px;padding:14px clamp(20px,4vw,44px);background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.app-shell .toolbar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.app-shell .search{position:relative;flex:1 1 260px;min-width:0}.app-shell .search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}.app-shell .search input{width:100%;padding:10px 34px 10px 36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:14px}.app-shell .search input:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.app-shell .search .clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--muted);width:22px;height:22px;border-radius:6px;display:none;place-items:center}.app-shell .search .clear:hover{background:var(--hover);color:var(--fg)}.app-shell .search.has-val .clear{display:grid}.app-shell .ctrl{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:13px;color:var(--fg)}.app-shell .ctrl svg{width:15px;height:15px;color:var(--muted)}.app-shell .ctrl select{border:none;background:none;font-size:13px;padding:0 2px 0 0;cursor:pointer;-webkit-appearance:none;appearance:none}.app-shell .ctrl select:focus{outline:none}.app-shell .segs{display:inline-flex;gap:6px;flex-wrap:wrap}.app-shell .seg{display:inline-flex;align-items:center;gap:8px;padding:8px 11px 8px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:border-color .14s,background .14s,color .14s,box-shadow .14s}.app-shell .seg:hover{border-color:color-mix(in oklch,var(--c, var(--fg)) 45%,var(--border));color:var(--fg);background:var(--hover)}.app-shell .seg .dot{width:9px;height:9px;border-radius:999px;background:var(--c, var(--muted));flex:none;box-shadow:0 0 0 3px color-mix(in oklch,var(--c, var(--muted)) 18%,transparent)}.app-shell .seg .n{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;color:var(--muted);background:color-mix(in oklch,var(--fg) 6%,transparent);padding:1px 7px;border-radius:999px;min-width:22px;text-align:center}.app-shell .seg.on{color:var(--fg);font-weight:600;border-color:color-mix(in oklch,var(--c, var(--fg)) 60%,var(--border));background:color-mix(in oklch,var(--c, var(--fg)) 10%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--c, var(--fg)) 30%,transparent)}.app-shell .seg.on .n{color:var(--surface);background:var(--c, var(--fg))}.app-shell .tagfilter{position:relative}.app-shell .tagfilter-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 32px -12px color-mix(in oklch,var(--fg) 30%,transparent);padding:8px;width:230px;max-height:320px;overflow-y:auto;display:none;flex-wrap:wrap;gap:6px}.app-shell .tagfilter.open .tagfilter-menu{display:flex}.app-shell .tagfilter-menu .tg-opt{font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}.app-shell .tagfilter-menu .tg-opt.on{background:var(--accent-soft);border-color:color-mix(in oklch,var(--accent) 60%,var(--border));color:var(--fg);font-weight:600}.app-shell .ctrl .badge{font-family:var(--font-mono);font-size:10px;background:var(--accent);color:var(--fg);border-radius:999px;padding:1px 6px}.app-shell .list-wrap{padding:20px clamp(20px,4vw,44px) 8px;flex:1}.app-shell .resultline{font-size:13px;color:var(--muted);margin:0 2px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-shell .resultline b{color:var(--fg);font-weight:600}.app-shell .resultline .reset{border:none;background:none;color:var(--accent);font-weight:600;font-size:13px;padding:2px 6px;border-radius:6px}.app-shell .resultline .reset:hover{background:var(--accent-soft)}.app-shell .group{margin-bottom:22px}.app-shell .group-head{display:flex;align-items:center;gap:10px;width:100%;padding:8px 6px;border:none;background:none;text-align:left;border-bottom:1px solid var(--border);margin-bottom:4px}.app-shell .group-head:hover .g-title{color:var(--fg)}.app-shell .group-head .chev{width:14px;height:14px;color:var(--muted);transition:transform .15s;flex:none}.app-shell .group.collapsed .chev{transform:rotate(-90deg)}.app-shell .group-head .g-title{font-size:13px;font-weight:700;letter-spacing:.01em}.app-shell .group-head .g-count{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.app-shell .group-head .g-dot{width:9px;height:9px;border-radius:999px;flex:none}.app-shell .group-rows{display:flex;flex-direction:column;margin-inline:-14px}.app-shell .group.collapsed .group-rows{display:none}.app-shell .fw{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(140px,.7fr) 150px 26px;align-items:center;gap:16px;padding:13px 14px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background .1s,border-color .1s}.app-shell .fw+.fw{box-shadow:0 -1px 0 var(--border)}.app-shell .fw:hover{background:var(--surface);border-color:var(--border);box-shadow:0 6px 18px -14px color-mix(in oklch,var(--fg) 40%,transparent)}.app-shell .st{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;white-space:nowrap;background:color-mix(in oklch,var(--c) 12%,var(--surface));color:color-mix(in oklch,var(--c) 72%,var(--fg));border:1px solid color-mix(in oklch,var(--c) 28%,var(--border))}.app-shell .st .dot{width:7px;height:7px;border-radius:999px;background:var(--c);flex:none}.app-shell .fw-main{min-width:0}.app-shell .fw-name{font-size:15px;font-weight:600;letter-spacing:-.005em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell .fw-desc{font-size:12.5px;color:var(--muted);line-height:1.35;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell .fw-tags{display:flex;gap:5px;flex-wrap:wrap;overflow:hidden;max-height:24px}.app-shell .tag{font-size:11.5px;color:var(--muted);background:var(--fg-soft);border-radius:999px;padding:3px 9px;white-space:nowrap}.app-shell .tag.hit{background:var(--accent-soft);color:var(--fg)}.app-shell .fw-prog{display:flex;flex-direction:column;gap:5px}.app-shell .fw-prog .pl{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.app-shell .fw-prog .pl b{color:var(--fg);font-weight:600}.app-shell .bar{height:5px;border-radius:999px;background:var(--fg-soft);overflow:hidden}.app-shell .bar>span{display:block;height:100%;border-radius:999px;background:var(--c)}.app-shell .fw-go{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--muted);border:none;background:none}.app-shell .fw:hover .fw-go{color:var(--fg);background:var(--hover)}.app-shell .fw-go svg{width:16px;height:16px}.app-shell .empty{text-align:center;padding:70px 20px;color:var(--muted)}.app-shell .empty svg{width:34px;height:34px;margin:0 auto 14px;color:var(--border)}.app-shell .empty h3{font-family:var(--font-display);font-size:22px;color:var(--fg);margin:0 0 6px}.app-shell .empty p{margin:0 0 16px}.app-shell .pagefoot{padding:22px clamp(20px,4vw,44px) 30px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.app-shell .pagefoot .ft{font-family:var(--font-display);font-size:14px}.app-shell .pagefoot .meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);display:flex;gap:10px;align-items:center}.app-shell .pagefoot .ver{background:var(--accent);color:var(--fg);padding:2px 7px;border-radius:999px}.app-shell .scrim{display:none}@media(max-width:1180px){.app-shell .fw{grid-template-columns:minmax(0,1.6fr) 150px 30px}.app-shell .fw-tags{display:none}}@media(max-width:900px){.app-shell .app{grid-template-columns:1fr}.app-shell .sidebar{position:fixed;top:0;left:0;z-index:50;width:280px;transform:translate(-100%);transition:transform .2s ease;box-shadow:0 0 50px -10px color-mix(in oklch,var(--fg) 40%,transparent)}.app-shell .app.nav-open .sidebar{transform:translate(0)}.app-shell .app.nav-open .scrim{display:block;position:fixed;inset:0;z-index:40;background:color-mix(in oklch,var(--fg) 30%,transparent)}.app-shell .topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:6;padding:12px clamp(16px,4vw,24px);background:color-mix(in oklch,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.app-shell .topbar .menu{width:38px;height:38px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid;place-items:center}.app-shell .topbar .menu svg{width:18px;height:18px}.app-shell .topbar .tb-brand{font-family:var(--font-display);font-weight:600;font-size:18px}.app-shell .page-head,.app-shell .toolbar,.app-shell .list-wrap,.app-shell .pagefoot{padding-left:clamp(16px,4vw,24px);padding-right:clamp(16px,4vw,24px)}.app-shell .toolbar{top:63px}}@media(max-width:640px){.app-shell .fw{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name go" "meta meta";gap:8px 12px;padding:14px}.app-shell .fw .st{grid-area:meta;justify-self:start}.app-shell .fw-main{grid-area:name}.app-shell .fw-name{white-space:normal}.app-shell .fw-desc{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.app-shell .fw-prog{grid-area:meta}.app-shell .fw-go{grid-area:go;align-self:start}.app-shell .fw{grid-template-areas:"name go" "st st" "prog prog"}.app-shell .fw .st{grid-area:st}.app-shell .fw-prog{grid-area:prog}.app-shell .segs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.app-shell .seg{flex:none}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
