:where(button,[role=button],a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}@keyframes skeletonShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.feed-skeleton-post,.skeleton,.skeleton-cell,.skeleton-heatmap-block,.skeleton-line,.skeleton-pill,.skeleton-username{background:linear-gradient(90deg,var(--surface2) 0,color-mix(in srgb,#fff 8%,var(--surface2)) 50%,var(--surface2) 100%);background-size:200% 100%;animation:skeletonShimmer 1.6s linear infinite}@media (prefers-reduced-motion:reduce){.feed-skeleton-post,.skeleton,.skeleton-cell,.skeleton-heatmap-block,.skeleton-line,.skeleton-pill,.skeleton-username{animation:none}}@keyframes cellSavePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%,transparent)}60%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 10%,transparent)}100%{box-shadow:0 0 0 0 transparent}}.user-cell.history-saved-flash{animation:cellSavePulse .8s var(--ease-smooth);border-radius:var(--radius-xs)}.entry-row.entry-row-flash{animation:cellSavePulse 1.5s var(--ease-smooth);border-radius:var(--radius-xs)}@keyframes streakBounce{0%{transform:scale(1)}35%{transform:scale(1.35)}60%{transform:scale(.92)}100%{transform:scale(1)}}.history-sticky-streak.is-bouncing,.history-streak-badge.is-bouncing,.summary-streak-value.is-bouncing{animation:streakBounce .6s var(--ease-spring);transform-origin:center;display:inline-block}.modal-overlay.is-stacked-below .modal-card{filter:brightness(.85);transition:filter var(--motion-sheet) ease;pointer-events:none}.modal-overlay:not(.is-stacked-below) .modal-card{transition:filter var(--motion-sheet) ease}.hm-cell{transition:transform var(--motion-tab) var(--ease-spring),box-shadow var(--motion-tab) ease,filter var(--motion-tab) ease}@media (hover:hover){.hm-cell[data-date]:not(.hm-future):hover{transform:scale(1.18) rotate(-2deg);box-shadow:0 6px 14px var(--overlay-black-strong);z-index:2;position:relative}}.hm-cell[data-date]:active{transform:scale(.95)}@keyframes tabSlideInFromRight{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@keyframes tabSlideInFromLeft{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:translateX(0)}}#app-view.tab-switch-next .grid-header-row,#app-view.tab-switch-next .week-grid{animation:tabSlideInFromRight .22s var(--ease-smooth)}#app-view.tab-switch-prev .grid-header-row,#app-view.tab-switch-prev .week-grid{animation:tabSlideInFromLeft .22s var(--ease-smooth)}@keyframes statsBarFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}.act-stats-bar{transform-origin:left center;animation:statsBarFill .55s var(--ease-smooth) backwards}.stats-tag-seg{transform-origin:left center;animation:statsBarFill .55s var(--ease-smooth) backwards;animation-delay:.25s}.stats-tag-seg:nth-child(2){animation-delay:.32s}.stats-tag-seg:nth-child(3){animation-delay:.39s}.stats-tag-seg:nth-child(4){animation-delay:.46s}.stats-tag-seg:nth-child(5){animation-delay:.53s}@media (prefers-reduced-motion:reduce){.act-stats-bar,.stats-tag-seg{animation:none}}@keyframes asyncSpinnerRotate{to{transform:rotate(360deg)}}button.is-busy{position:relative;color:transparent!important;pointer-events:none}button.is-busy::after{content:'';position:absolute;inset:0;margin:auto;width:1em;height:1em;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:var(--accent);animation:asyncSpinnerRotate .7s linear infinite}button.is-busy.btn-accent::after,button.is-busy.btn-primary::after{border-color:rgba(255,255,255,.25);border-top-color:#fff}@media (prefers-reduced-motion:reduce){button.is-busy::after{animation:asyncSpinnerRotate 2s linear infinite}}.empty-state-block,.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2xs);padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--text-3);font-size:var(--text-sm)}.empty-state-block[hidden],.history-empty[hidden]{display:none!important}.empty-state-block::before,.history-empty::before{content:'';width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 18%,transparent) 0,transparent 70%);display:block;margin-bottom:var(--space-xs)}.empty-state-block strong{color:var(--text);font-size:var(--text-base);font-weight:600;letter-spacing:-.01em}.empty-state-block small{color:var(--text-3);font-size:var(--text-xs);line-height:1.45;max-width:28ch}@supports (animation-timeline:scroll()){@keyframes heatmapTodayBreath{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.08);filter:brightness(1.15)}}.hm-cell.hm-today{animation:heatmapTodayBreath 2.4s ease-in-out infinite}}@keyframes heatmapTodayPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 40%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 0,transparent)}}.hm-cell.hm-today{animation:heatmapTodayPulse 2.4s ease-in-out infinite}.activity-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.18em .6em;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;letter-spacing:.01em;line-height:1.25;white-space:nowrap;border:1px solid transparent;background:var(--surface-3);color:var(--text-2)}.activity-chip--gym{background:color-mix(in srgb,var(--act-gym) 15%,transparent);color:color-mix(in srgb,var(--act-gym) 90%,#fff)}.activity-chip--swim{background:color-mix(in srgb,var(--act-swim) 15%,transparent);color:color-mix(in srgb,var(--act-swim) 90%,#fff)}.activity-chip--laufen{background:color-mix(in srgb,var(--act-laufen) 15%,transparent);color:color-mix(in srgb,var(--act-laufen) 90%,#fff)}.activity-chip--fahrrad{background:color-mix(in srgb,var(--act-fahr) 15%,transparent);color:color-mix(in srgb,var(--act-fahr) 90%,#fff)}.activity-chip--spazieren{background:color-mix(in srgb,var(--act-spaz) 15%,transparent);color:color-mix(in srgb,var(--act-spaz) 90%,#fff)}.activity-chip--rest{background:color-mix(in srgb,#888 18%,transparent);color:#ccc}.activity-chip--custom{background:color-mix(in srgb,var(--act-custom) 15%,transparent);color:color-mix(in srgb,var(--act-custom) 90%,#fff)}.activity-chip--bar{background:var(--act-gym)}.activity-chip--bar.activity-chip--swim{background:var(--act-swim)}.activity-chip--bar.activity-chip--laufen{background:var(--act-laufen)}.activity-chip--bar.activity-chip--fahrrad{background:var(--act-fahr)}.activity-chip--bar.activity-chip--spazieren{background:var(--act-spaz)}.activity-chip--bar.activity-chip--custom{background:var(--act-custom)}.tab{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:1;min-width:0;height:44px;padding:var(--space-sm);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-3);font-size:var(--text-sm);font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:background var(--motion-tab) var(--ease-smooth),color var(--motion-tab) ease,border-color var(--motion-tab) ease,transform var(--motion-tab) var(--ease-spring)}.tab:not(.tab--active):hover{background:var(--surface-4,var(--surface3));color:var(--text-2);transform:translateY(-1px)}.tab:not(.tab--active):active{transform:scale(.95)}.tab--active{background:var(--accent-strong);border-color:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(255,107,53,.18)}.tab--compact{height:36px;padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs)}.tab--pill{border-radius:var(--radius-pill)}.tab--ghost{background:0 0;border-color:transparent}.tab--ghost.tab--active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent);box-shadow:none}.tabs-group{display:flex;gap:6px;width:100%}.tabs-group--scroll{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs-group--scroll::-webkit-scrollbar{display:none}.tabs-group--scroll .tab{flex:0 0 auto}.stats-rank-row.stats-rank-first{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:var(--radius-lg);padding:var(--space-xs) var(--space-sm);box-shadow:0 1px 3px color-mix(in srgb,#000 12%,transparent)}.stats-rank-row.stats-rank-first .stats-medal{font-size:var(--text-2xl)}.stats-rank-row:nth-of-type(2) .stats-medal{filter:drop-shadow(0 1px 2px color-mix(in srgb, silver 25%, transparent))}.stats-rank-row:nth-of-type(3) .stats-medal{filter:drop-shadow(0 1px 2px color-mix(in srgb, #cd7f32 25%, transparent))}.feed-post{margin-block:var(--space-lg)}.feed-post+.feed-post{border-top:1px solid var(--overlay-1);padding-top:var(--space-lg)}@media (min-width:601px){.bottom-nav-label{display:none}}.notification-panel-body:not(:has(.notification-card:nth-child(2))){padding-top:var(--space-2xs);padding-bottom:var(--space-2xs);gap:var(--space-sm)}.streak-sparkline{display:inline-flex;align-items:flex-end;gap:2px;height:14px;margin-left:.45rem;vertical-align:middle;padding:0 2px}.streak-sparkline .sl-bar{display:inline-block;width:3px;background:currentColor;opacity:.45;border-radius:1.5px;min-height:0;transform-origin:bottom center;animation:sparkBarGrow .4s var(--ease-smooth) backwards}.streak-sparkline .sl-bar--reached{opacity:1}.streak-sparkline .sl-bar--empty{opacity:.18;background:var(--text-3);min-height:2px}.streak-sparkline .sl-bar:last-child{opacity:1;box-shadow:0 0 4px currentColor}.streak-sparkline .sl-bar:nth-child(1){animation-delay:0ms}.streak-sparkline .sl-bar:nth-child(2){animation-delay:50ms}.streak-sparkline .sl-bar:nth-child(3){animation-delay:.1s}.streak-sparkline .sl-bar:nth-child(4){animation-delay:.15s}.streak-sparkline .sl-bar:nth-child(5){animation-delay:.2s}.streak-sparkline .sl-bar:nth-child(6){animation-delay:.25s}.streak-sparkline .sl-bar:nth-child(7){animation-delay:.3s}.streak-sparkline .sl-bar:nth-child(8){animation-delay:.35s}@keyframes sparkBarGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}.long-press-ring{position:fixed;pointer-events:none;width:56px;height:56px;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 65%,transparent);border-top-color:var(--accent);z-index:9999;transform:translate(-50%,-50%) scale(.3);opacity:0;animation:longPressRing .5s var(--ease-out) forwards}@keyframes longPressRing{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}20%{opacity:1}100%{transform:translate(-50%,-50%) scale(1.1) rotate(540deg);opacity:.85}}@keyframes toastBounceUp{from{opacity:0;transform:translateY(80px) scale(.92)}60%{opacity:1;transform:translateY(-6px) scale(1.02)}85%{transform:translateY(2px) scale(1)}to{opacity:1;transform:translateY(0) scale(1)}}.toast.show{animation:toastBounceUp 380ms var(--ease-spring) backwards}@supports (backdrop-filter:blur(20px)){.modal-overlay{background:color-mix(in srgb,#000 55%,transparent);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4)}.notification-panel{backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5)}@media (max-width:600px){.bottom-nav{backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);background:color-mix(in srgb,var(--bg) 78%,transparent)}}}.hm-tooltip{position:fixed;z-index:9999;background:color-mix(in srgb,var(--surface-2) 92%,transparent);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);color:var(--text-1);box-shadow:0 8px 24px var(--overlay-black-strong);pointer-events:none;white-space:nowrap;opacity:0;transform:translateY(-6px);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) var(--ease-spring);backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2)}.hm-tooltip.is-visible{opacity:1;transform:translateY(0)}.hm-tooltip .hm-tt-date{font-weight:700;color:var(--text-1);margin-bottom:2px}.hm-tooltip .hm-tt-kcal{color:var(--accent);font-weight:700}.hm-tooltip .hm-tt-empty{color:var(--text-3);font-style:italic}.user-cell{position:relative}.activity-drilldown{position:fixed;z-index:9999;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);box-shadow:0 16px 40px var(--overlay-black-strong);min-width:220px;max-width:280px;opacity:0;transform:translateY(8px) scale(.95);transition:opacity var(--motion-tab) ease,transform var(--motion-tab) var(--ease-spring);font-size:var(--text-xs)}.activity-drilldown.is-visible{opacity:1;transform:translateY(0) scale(1)}.activity-drilldown__title{font-size:var(--text-sm);font-weight:700;color:var(--text-1);margin-bottom:var(--space-2xs);display:flex;align-items:center;gap:var(--space-2xs)}.activity-drilldown__row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:1px solid var(--overlay-1)}.activity-drilldown__row:last-child{border-bottom:none}.activity-drilldown__row--zero{opacity:.45}.activity-drilldown__tag-name{color:var(--text-2)}.activity-drilldown__tag-pct{font-weight:700;color:var(--text-1)}.activity-drilldown__trend{font-size:var(--text-2xs);margin-top:var(--space-2xs);padding-top:var(--space-2xs);border-top:1px solid var(--overlay-1);color:var(--text-3);display:flex;align-items:center;gap:.3rem}.activity-drilldown__trend--up{color:var(--color-success)}.activity-drilldown__trend--down{color:#ff4d4d}.act-stats-row{cursor:pointer}.act-stats-row:hover .act-stats-bar{filter:brightness(1.1)}.activity-tag-select option[data-recent="1"]{font-weight:700}@media (min-width:768px) and (max-width:1100px){#history-modal .modal-card,#stats-modal .modal-card{max-width:90vw}.act-stats-list{column-count:2;column-gap:var(--space-lg)}.act-stats-block{break-inside:avoid}}@layer reset,base,components,utilities,overrides;


.skeleton-cell{min-height:64px;display:flex;flex-direction:column;justify-content:center;gap:.45rem;padding:var(--space-sm) var(--space-md)}.skeleton-pill{height:22px;border-radius:var(--radius-pill)}.skeleton-line{height:11px;border-radius:var(--radius-2xs)}.skeleton-heatmap-block{width:14px;height:14px;border-radius:3px}.feed-skeleton-post{min-height:320px;border-radius:var(--radius-sm);margin-block:var(--space-lg)}.streak-risk-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:var(--text-2xs);font-weight:700;border-radius:var(--radius-pill);background:color-mix(in srgb,#ffae00 18%,transparent);color:#ffae00;border:1px solid color-mix(in srgb,#ffae00 35%,transparent);line-height:1.3;white-space:nowrap;animation:streakRiskNudge 2.6s ease-in-out infinite}.streak-risk-pill--critical{background:color-mix(in srgb,#ff4d4d 18%,transparent);color:#ff4d4d;border-color:color-mix(in srgb,#ff4d4d 35%,transparent)}@keyframes streakRiskNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.streak-risk-pill{animation:none}}.day-label.day-label--today,.day-label.today{color:var(--accent);font-weight:800}.form-group--float{position:relative;margin-bottom:1.125rem}.form-group--float input,.form-group--float select,.form-group--float textarea{width:100%;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);padding:1.25rem 1rem .45rem;font-size:var(--text-base);font-family:inherit;outline:0;height:56px;transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.form-group--float label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:var(--text-sm);color:var(--text-3);pointer-events:none;background:0 0;padding:0;margin:0;text-transform:none;letter-spacing:.01em;transition:top var(--motion-fast) var(--ease-smooth),font-size var(--motion-fast) ease,color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-smooth)}.form-group--float input:focus+label,.form-group--float input:not(:placeholder-shown)+label,.form-group--float select:focus+label,.form-group--float textarea:focus+label,.form-group--float textarea:not(:placeholder-shown)+label,.form-group--float.has-value label{top:.5rem;transform:translateY(0);font-size:var(--text-2xs);color:var(--accent);font-weight:700;letter-spacing:.04em}.shortcut-sheet-overlay{position:fixed;inset:0;background:color-mix(in srgb,#000 65%,transparent);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);z-index:9998;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--motion-base) ease}.shortcut-sheet-overlay.is-visible{opacity:1;pointer-events:auto}.shortcut-sheet{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:480px;width:calc(100vw - 2rem);box-shadow:0 25px 60px var(--overlay-black-strong);transform:scale(.94) translateY(8px);transition:transform var(--motion-sheet) var(--ease-spring)}.shortcut-sheet-overlay.is-visible .shortcut-sheet{transform:scale(1) translateY(0)}.shortcut-sheet h2{margin:0 0 var(--space-md);font-size:var(--text-lg)}.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2xs) 0;border-bottom:1px solid var(--overlay-1)}.shortcut-row:last-child{border-bottom:none}.shortcut-row__label{color:var(--text-2);font-size:var(--text-sm)}.shortcut-row__keys{display:inline-flex;gap:.3rem}.shortcut-row__key{font-family:ui-monospace,"SF Mono",monospace;font-size:var(--text-xs);background:var(--surface-2);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:var(--radius-2xs);padding:.15rem .5rem;min-width:1.5rem;text-align:center;color:var(--text-1);font-weight:700}.shortcut-sheet__hint{margin-top:var(--space-md);font-size:var(--text-2xs);color:var(--text-3);text-align:center}.undo-snackbar{position:fixed;left:0;right:0;width:fit-content;margin-inline:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 1.5rem);transform:translateY(80px);z-index:9997;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:.5rem .5rem .5rem 1rem;display:inline-flex;align-items:center;gap:var(--space-sm);box-shadow:0 12px 32px var(--overlay-black-strong);font-size:var(--text-sm);opacity:0;overflow:hidden;transition:opacity var(--motion-base) ease,transform var(--motion-base) var(--ease-spring),bottom var(--motion-base) ease}.undo-snackbar.is-visible{opacity:1;transform:none}.undo-snackbar__label{color:var(--text-1)}.undo-snackbar__btn{background:var(--accent-strong);color:#fff;border:none;border-radius:var(--radius-lg);padding:.35rem .9rem;font-weight:700;font-size:var(--text-xs);cursor:pointer;transition:background var(--motion-fast) ease,transform var(--motion-fast) var(--ease-spring)}.undo-snackbar__btn:hover{background:color-mix(in srgb,var(--accent) 88%,#fff 12%);transform:translateY(-1px)}.undo-snackbar__btn:active{transform:scale(.94)}.undo-snackbar__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform-origin:left center;animation:undoSnackbarCountdown 5s linear forwards}@keyframes undoSnackbarCountdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}.undo-snackbar{max-width:min(92vw,34rem)}.undo-snackbar__label{min-width:0;overflow-wrap:anywhere}.undo-snackbar__count{display:none;color:var(--text-3);font-variant-numeric:tabular-nums;font-size:var(--text-xs)}@media (prefers-reduced-motion:reduce){.undo-snackbar__progress{animation:none!important;transform:none}.undo-snackbar__count{display:inline}}.anfechten-indicator{display:block;width:8px;height:8px;background:var(--color-warning,#f39c12);border-radius:50%;animation:anfechtenPulse 1.8s ease-in-out infinite;flex:0 0 8px;align-self:center;margin-right:.1rem;margin-left:var(--space-md);cursor:pointer}@keyframes anfechtenPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.activity-badge[data-anfechten=open]{outline:2px solid var(--color-warning,#f39c12);outline-offset:-2px}.anfechten-card{max-width:480px}.anfechten-modal-body{padding:var(--space-md,.75rem) var(--space-lg,1rem) var(--space-lg,1rem);display:flex;flex-direction:column;gap:var(--space-md,.75rem);flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}@media (max-width:600px){.anfechten-card{--modal-mobile-top-gap:calc(env(safe-area-inset-top, 0px) + 1rem);height:auto;max-height:calc(100dvh - var(--modal-mobile-top-gap) - var(--kb-inset,0px));overflow:hidden}body.standalone .anfechten-card{--modal-mobile-top-gap:calc(env(safe-area-inset-top, 0px) + 1.5rem)}.anfechten-modal-body{padding-bottom:max(var(--space-lg,1rem),calc(.5rem + env(safe-area-inset-bottom,0)))}}.anfechten-entry-preview{display:flex;align-items:center;gap:var(--space-sm,.5rem);background:var(--surface-2,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.08));border-radius:var(--radius,10px);padding:var(--space-sm,.5rem) var(--space-md,.75rem)}.anfechten-entry-emoji{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:var(--radius,10px);background:var(--surface-3,rgba(255,255,255,.06));font-size:1.15rem;line-height:1}.anfechten-entry-main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.anfechten-act{font-weight:700;color:var(--text-1,var(--text-primary));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anfechten-entry-meta{font-size:var(--text-xs,.72rem);color:var(--text-3,var(--text-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anfechten-kcal{flex:none;font-size:var(--text-xs,.72rem);font-weight:700;color:var(--accent,#ff6b35);background:color-mix(in srgb,var(--accent,#ff6b35) 14%,transparent);padding:3px 10px;border-radius:var(--radius-pill,999px);white-space:nowrap}.anfechten-status-chip{flex:none;font-size:var(--text-xs,.72rem);font-weight:700;padding:3px 10px;border-radius:var(--radius-pill,999px);white-space:nowrap}.anfechten-status-chip--open{background:rgba(243,156,18,.15);color:var(--color-warning,#f39c12)}.anfechten-status-chip--resolved{background:rgba(46,204,113,.15);color:var(--color-success,#2ecc71)}.anfechten-status-chip--withdrawn{background:rgba(160,160,160,.15);color:var(--text-3,#888)}.anfechten-status-chip--expired{background:rgba(231,76,60,.12);color:var(--color-danger-text,#ff6b5e)}.anfechten-hint{font-size:var(--text-sm,.82rem);color:var(--text-2,var(--text-secondary));line-height:1.5;margin:0}.anfechten-hint--warn{color:var(--color-warning,#f39c12)}.anfechten-hint--info{color:var(--accent,#4a90e2)}.anfechten-hint--voted{color:var(--text-2,var(--text-secondary));font-weight:600}.anfechten-blocked{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-xs,.35rem);padding:1.4rem 1rem 1.2rem;border:1px dashed color-mix(in srgb,var(--color-warning,#f39c12) 45%,transparent);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--color-warning,#f39c12) 9%,transparent),transparent 70%),var(--surface2)}.anfechten-blocked-icon{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;font-size:1.5rem;background:color-mix(in srgb,var(--color-warning,#f39c12) 14%,transparent);color:var(--color-warning,#f39c12);margin-bottom:var(--space-2xs,.25rem)}.anfechten-blocked-ring{position:absolute;inset:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-warning,#f39c12) 55%,transparent);animation:anfBlockedPing 2.6s ease-out infinite;pointer-events:none}.anfechten-blocked-ring--delay{animation-delay:1.3s}@keyframes anfBlockedPing{0%{transform:scale(1);opacity:.9}100%,70%{transform:scale(1.65);opacity:0}}@media (prefers-reduced-motion:reduce){.anfechten-blocked-ring{animation:none;opacity:0}}.anfechten-blocked-title{margin:0;font-weight:800;font-size:var(--text-md,1rem);letter-spacing:.01em;color:var(--color-warning,#f39c12)}.anfechten-blocked-text{margin:0;font-size:var(--text-sm,.82rem);color:var(--text-1,var(--text-primary));line-height:1.7}.anfechten-blocked-chip{display:inline-block;padding:1px 9px;border-radius:var(--radius-pill,999px);background:color-mix(in srgb,var(--color-warning,#f39c12) 16%,transparent);color:var(--color-warning,#f39c12);font-weight:700;white-space:nowrap}.anfechten-blocked-joiner{margin:0 .4em;color:var(--text-3,var(--text-muted))}.anfechten-blocked-sub{margin:0;max-width:36ch;font-size:var(--text-sm,.82rem);color:var(--text-3,var(--text-muted));line-height:1.5}.anfechten-deadline{font-size:var(--text-sm,.82rem);color:var(--text-3,#888);margin:0}.anfechten-deadline--urgent{color:var(--color-danger-text,#ff6b5e);font-weight:600}.anfechten-note-preview{font-style:italic;color:var(--text-2,var(--text-secondary));font-size:var(--text-sm,.82rem);margin:0}.anfechten-note-author{font-style:normal;color:var(--text-3,var(--text-muted))}.anfechten-textarea{width:100%;resize:vertical;min-height:72px;border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:.65rem .85rem;font-size:var(--text-md);font-family:inherit;outline:0;transition:border-color var(--motion-fast) ease}.anfechten-textarea:focus,.anfechten-textarea:focus-visible{border-color:var(--accent);outline:0}.anfechten-textarea::placeholder{color:var(--text-3)}.anfechten-evidence-block{display:flex;flex-direction:column;gap:var(--space-xs,.35rem);background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:.85rem 1rem;margin-bottom:.75rem}.anfechten-evidence-label{font-weight:600;font-size:var(--text-sm,.82rem);margin:0}.anfechten-evidence-img{width:100%;max-height:280px;object-fit:contain;border-radius:var(--radius,10px);border:1px solid var(--border,rgba(255,255,255,.1));cursor:zoom-in}.anfechten-evidence-caption{font-size:var(--text-sm,.82rem);color:var(--text-2,var(--text-secondary));margin:0}.anfechten-upload-block{display:flex;flex-direction:column;gap:var(--space-sm,.5rem);background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:.85rem 1rem;margin-bottom:.75rem}.anfechten-upload-label{display:flex;align-items:center;justify-content:center;min-height:100px;border:2px dashed var(--border,rgba(255,255,255,.15));border-radius:var(--radius,10px);cursor:pointer;transition:border-color var(--motion-fast,.15s);overflow:hidden}.anfechten-upload-label:hover{border-color:var(--accent,#ff6b35)}.anfechten-upload-placeholder{color:var(--text-3,var(--text-muted));font-size:var(--text-sm,.82rem)}.anfechten-upload-thumb{width:100%;max-height:200px;object-fit:contain}.anfechten-caption-input{width:100%;border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:.65rem .85rem;font-size:var(--text-md);font-family:inherit;outline:0;transition:border-color var(--motion-fast) ease}.anfechten-caption-input:focus,.anfechten-caption-input:focus-visible{border-color:var(--accent);outline:0}.anfechten-caption-input::placeholder{color:var(--text-3)}.anfechten-vote-block{display:flex;flex-direction:column;gap:var(--space-xs,.35rem)}.anfechten-vote-btns{display:flex;gap:var(--space-sm,.5rem);flex-wrap:wrap}.anfechten-vote-btn{flex:1;min-width:120px;border:2px solid var(--border,rgba(255,255,255,.1));background:var(--surface-2,rgba(255,255,255,.04));color:var(--text-1,var(--text-primary));border-radius:var(--radius,10px);padding:var(--space-sm,.5rem) var(--space-md,.75rem);font-size:var(--text-sm,.82rem);cursor:pointer;transition:border-color var(--motion-fast,.15s),background var(--motion-fast,.15s)}.anfechten-vote-btn:hover{border-color:var(--accent,#ff6b35)}.anfechten-vote-btn.active[data-vote=valid]{border-color:var(--color-success,#2ecc71);background:rgba(46,204,113,.12)}.anfechten-vote-btn.active[data-vote=invalid]{border-color:var(--color-danger-text,#ff6b5e);background:rgba(231,76,60,.12)}.anfechten-vote-btn--confirm{border-style:dashed;font-weight:700}.anfechten-vote-btn--locked{opacity:.4;cursor:not-allowed}.anfechten-vote-btn--pending{border-style:dashed;border-color:var(--accent,#ff6b35);background:color-mix(in srgb,var(--accent,#ff6b35) 12%,transparent)}.anfechten-retract-btn{align-self:flex-start;font-size:var(--text-sm,.82rem);padding:.35rem .75rem;margin-top:var(--space-2xs,.25rem)}.anfechten-inline-undo{position:relative;display:flex;align-items:center;gap:var(--space-sm,.5rem);margin-top:var(--space-xs,.35rem);padding:.5rem .75rem;background:var(--surface-3,rgba(255,255,255,.06));border:1px solid var(--border-strong);border-radius:var(--radius,10px);font-size:var(--text-sm,.82rem);overflow:hidden}.anfechten-inline-undo.hidden{display:none}.anfechten-inline-undo__label{flex:1;color:var(--text-1)}.anfechten-inline-undo__btn{background:var(--accent-strong);color:#fff;border:none;border-radius:var(--radius-pill,999px);padding:.3rem .85rem;font-weight:700;font-size:var(--text-xs,.72rem);cursor:pointer;transition:background var(--motion-fast) ease,transform var(--motion-fast) var(--ease-spring)}.anfechten-inline-undo__btn:hover{background:color-mix(in srgb,var(--accent) 88%,#fff 12%);transform:translateY(-1px)}.anfechten-inline-undo__btn:active{transform:scale(.94)}.anfechten-inline-undo__progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent);transform-origin:left center;animation:anfechtenInlineUndoProgress linear forwards}@keyframes anfechtenInlineUndoProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}.anfechten-vote-btn:focus-visible{outline:2px solid var(--accent,#ff6b35);outline-offset:2px}.anfechten-vote-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm,.5rem);margin-bottom:var(--space-xs,.35rem)}.anfechten-vote-progress{font-size:var(--text-sm,.82rem);color:var(--text-3,#888);margin:0;font-weight:600;white-space:nowrap}.anfechten-vote-summary{display:flex;flex-wrap:wrap;gap:var(--space-xs,.35rem)}.anfechten-vote-chip{font-size:var(--text-xs,.72rem);font-weight:600;padding:2px 8px;border-radius:var(--radius-pill,999px);border:none;font-family:inherit;line-height:inherit}.anfechten-vote-chip--valid{background:rgba(46,204,113,.15);color:var(--color-success,#2ecc71)}.anfechten-vote-chip--invalid{background:rgba(231,76,60,.15);color:var(--color-danger-text,#ff6b5e)}.anfechten-vote-chip--pending{background:rgba(160,160,160,.12);color:var(--text-3,#888)}.anfechten-vote-chip--paused{opacity:.65;font-style:italic}.anfechten-vote-chip--neutral{background:rgba(160,160,160,.08);color:var(--text-3,#888);font-style:italic}.anfechten-vote-chip--self{cursor:pointer}.anfechten-vote-chip--self:hover{opacity:.8}.anfechten-vote-chip--self:focus{outline:0}.anfechten-vote-chip--self:focus-visible{outline:0}.anfechten-vote-summary-divider{width:1px;background:var(--border,rgba(255,255,255,.1));align-self:stretch;margin:0 2px}.anfechten-vote-block--flash{animation:anfVoteFlash .6s ease}@keyframes anfVoteFlash{0%,100%{background:0 0}30%{background:rgba(255,107,53,.12);border-radius:var(--radius-xs)}}.anfechten-actions{display:flex;gap:var(--space-sm,.5rem);flex-wrap:wrap;align-items:stretch}.anfechten-actions .btn-ghost{flex:1;height:52px;font-size:var(--text-base);font-weight:600;border-radius:var(--radius-sm)}.anfechten-actions--bottom{margin-top:var(--space-xs,.35rem);justify-content:flex-end}.anfechten-actions .modal-close:active,.anfechten-actions .modal-close:hover{transform:none}.anfechten-submit-btn{background:var(--color-danger,#c0392b);color:#fff;border:none;flex:1;width:auto;margin-top:0}.anfechten-submit-btn:hover{background:color-mix(in srgb,var(--color-danger,#c0392b) 80%,#000 20%)}.anfechten-withdraw-btn{color:var(--text-3,var(--text-muted))}.anfechten-error{color:var(--color-danger-text,#ff6b5e);font-size:var(--text-sm,.82rem);margin:0}.anfechten-comment-block{display:flex;flex-direction:column;gap:var(--space-xs,.35rem);background:var(--surface2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:.85rem 1rem;margin-bottom:.75rem}.anfechten-comment-label{font-weight:600;font-size:var(--text-sm,.82rem);margin:0}.anfechten-comment-text{color:var(--text-2,var(--text-secondary));font-size:var(--text-sm,.82rem)}.anfechten-comment-block--input{background:var(--surface-2,rgba(255,255,255,.04));border-radius:var(--radius,10px);padding:var(--space-sm,.5rem)}.anfechten-comment-msg{display:flex;flex-direction:column;gap:.1rem;background:var(--surface-2,rgba(255,255,255,.04));border-radius:var(--radius,10px);padding:.4rem .6rem;max-width:85%;align-self:flex-start}.anfechten-comment-msg--self{align-self:flex-end;background:var(--accent-soft,rgba(99,102,241,.16))}.anfechten-comment-msg .anfechten-comment-author{font-weight:600;font-size:var(--text-xs,.72rem);color:var(--text-2,var(--text-secondary))}.anfechten-comment-input-row{display:flex;flex-direction:column;gap:var(--space-xs,.35rem);margin-top:var(--space-xs,.35rem)}.notification-section-anfechten{padding:var(--space-md,.75rem)}.anfechten-tab-list{display:flex;flex-direction:column;gap:var(--space-xs,.35rem)}.anfechten-tab-empty{color:var(--text-3,var(--text-muted));font-size:var(--text-sm,.82rem);text-align:center;padding:var(--space-md,.75rem) 0}.anfechten-tab-badge{background:var(--color-warning,#f39c12);color:#000;font-size:var(--text-xs,.72rem);font-weight:700;padding:1px 6px;border-radius:var(--radius-pill,999px);margin-left:4px}.anfechten-tab-warn{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--color-warning,#f39c12);pointer-events:none;animation:anfechtenPulse 1.8s ease-in-out infinite}.week-tab:has(.tab-kcal-warn) .anfechten-tab-warn{top:auto;bottom:3px;right:6px;transform:none}.week-tab:has(.tab-kcal-warn) .tab-kcal-warn{top:58%}.week-tab.active .anfechten-tab-warn{background:#fff;box-shadow:0 0 0 1.5px rgba(255,107,53,.5)}.anfechten-tab-item{display:flex;align-items:flex-start;gap:var(--space-sm,.5rem);padding:var(--space-sm,.5rem) var(--space-md,.75rem);border-radius:var(--radius,10px);background:var(--surface-2,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.08));cursor:pointer;width:100%;text-align:left;transition:background var(--motion-fast,.15s)}.anfechten-tab-item:hover{background:var(--surface-3,rgba(255,255,255,.08))}.anfechten-tab-status{font-size:1.1rem;flex-shrink:0;margin-top:1px}.anfechten-tab-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.anfechten-tab-who{font-weight:700;font-size:var(--text-sm,.82rem);color:var(--text-1,var(--text-primary))}.anfechten-tab-detail{font-size:var(--text-xs,.72rem);color:var(--text-2,var(--text-secondary))}.anfechten-tab-note{font-size:var(--text-xs,.72rem);font-style:italic;color:var(--text-3,var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anfechten-tab-evidence-dot{font-size:1rem;flex-shrink:0}.stats-challenge-widget{margin-top:var(--space-md,.75rem)}.stats-challenge-row{display:flex;align-items:center;gap:var(--space-sm,.5rem);padding:var(--space-xs,.35rem) 0;border-bottom:1px solid var(--border,rgba(255,255,255,.06));flex-wrap:wrap}.stats-challenge-row:last-child{border-bottom:none}.stats-challenge-name{font-weight:700;min-width:60px}.stats-challenge-item{font-size:var(--text-sm,.82rem);color:var(--text-2,var(--text-secondary))}.stats-challenge-pending{color:var(--color-warning,#f39c12);font-weight:600}.stats-challenge-rate{margin-left:auto;font-size:var(--text-sm,.82rem);font-weight:700;color:var(--accent,#ff6b35)}.anfechten-list-card{max-width:480px}.anfechten-list-modal-body{padding:0 var(--space-md,.75rem) var(--space-md,.75rem);display:flex;flex-direction:column;gap:var(--space-md,.75rem)}.anfechten-list-section{display:flex;flex-direction:column;gap:var(--space-xs,.35rem)}.anfechten-list-section-title{font-size:var(--text-sm,.82rem);font-weight:700;color:var(--text-3,var(--text-muted));text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.anfechten-list-empty{color:var(--text-3,var(--text-muted));font-size:var(--text-sm,.82rem);margin:0;padding:var(--space-xs,.35rem) 0}.anfechten-list-item{display:flex;align-items:center;gap:var(--space-sm,.5rem);padding:var(--space-sm,.5rem) var(--space-md,.75rem);border-radius:var(--radius,10px);background:var(--surface-2,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.08));cursor:pointer;width:100%;text-align:left;transition:background var(--motion-fast,.15s)}.anfechten-list-item:hover{background:var(--surface-3,rgba(255,255,255,.08))}.anfechten-list-item--closed{opacity:.65}.anfechten-list-status{font-size:1.1rem;flex-shrink:0}.anfechten-list-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.anfechten-list-who{font-weight:700;font-size:var(--text-sm,.82rem);color:var(--text-1,var(--text-primary))}.anfechten-list-detail{font-size:var(--text-xs,.72rem);color:var(--text-2,var(--text-secondary))}.anfechten-list-role{font-size:var(--text-xs,.72rem);color:var(--text-3,var(--text-muted))}.anfechten-list-role--challenger{color:var(--color-danger-text,#ff6b5e)}.anfechten-list-role--challenged{color:var(--color-warning,#f39c12)}.anfechten-list-evidence-dot{font-size:.9rem}.anfechten-list-arrow{color:var(--text-3,var(--text-muted));font-size:1.2rem;flex-shrink:0}.anfechten-list-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.15rem}.anfechten-list-meta-chip{font-size:var(--text-xs,.72rem);color:var(--text-2,var(--text-secondary));background:var(--surface-2,rgba(255,255,255,.05));border-radius:999px;padding:.05rem .4rem}.anfechten-list-stats{display:flex;flex-direction:column;gap:0}.anfechten-list-stats-placeholder{color:var(--text-3,var(--text-muted));font-size:var(--text-sm,.82rem)}.anfechten-list-stats-row{display:flex;align-items:center;gap:var(--space-sm,.5rem);padding:var(--space-xs,.35rem) 0;border-bottom:1px solid var(--border,rgba(255,255,255,.06));flex-wrap:wrap}.anfechten-list-stats-row:last-child{border-bottom:none}.anfechten-list-stats-name{font-weight:700;min-width:56px;font-size:var(--text-sm,.82rem)}.anfechten-list-stats-item{font-size:var(--text-sm,.82rem);color:var(--text-2,var(--text-secondary))}.anfechten-list-stats-pending{color:var(--color-warning,#f39c12);font-weight:600}.anfechten-list-stats-rate{margin-left:auto;font-size:var(--text-sm,.82rem);font-weight:700;color:var(--accent,#ff6b35)}.more-anfechten-badge{background:var(--color-warning,#f39c12);color:#000;font-size:var(--text-xs,.72rem);font-weight:700;padding:1px 6px;border-radius:var(--radius-pill,999px);margin-left:4px}.anf-preview-container{display:flex;flex-direction:column;gap:var(--space-xs,.35rem)}.anf-drop-zone{border:2px dashed var(--border-strong,rgba(255,255,255,.2));border-radius:var(--radius,10px);padding:var(--space-md,.75rem);text-align:center;cursor:pointer;color:var(--text-3,#888);font-size:var(--text-sm,.82rem);transition:border-color var(--motion-fast) ease}.anf-drop-zone.drag-over,.anf-drop-zone:hover{border-color:var(--accent,#ff6b35);color:var(--text)}.anf-preview{width:100%;max-height:300px;object-fit:contain;border-radius:var(--radius,10px)}.anf-crop-container{position:relative;display:inline-block;max-width:100%}.anf-crop-canvas{display:block;border-radius:var(--radius,10px)}.anf-crop-box{position:absolute;border:2px solid var(--accent,#ff6b35);box-sizing:border-box;cursor:move}.anf-crop-handle{position:absolute;width:14px;height:14px;background:var(--accent,#ff6b35);border-radius:2px}.anf-crop-handle::after{content:'';position:absolute;inset:-15px}.anf-crop-handle[data-corner=nw]{top:-7px;left:-7px;cursor:nw-resize}.anf-crop-handle[data-corner=ne]{top:-7px;right:-7px;cursor:ne-resize}.anf-crop-handle[data-corner=sw]{bottom:-7px;left:-7px;cursor:sw-resize}.anf-crop-handle[data-corner=se]{bottom:-7px;right:-7px;cursor:se-resize}.anf-crop-actions{display:flex;gap:var(--space-xs,.35rem);flex-wrap:wrap}