:root{--bg: #0f1117;--surface: #1a1d27;--surface2: #242836;--border: #2e3345;--text: #e8eaef;--muted: #8b92a8;--accent: #6c8cff;--hot: #ff8c42;--heute-da: #4ade80;--interessiert: #60a5fa;--playing-today: #4ade80;--success: var(--heute-da);--warn: #fbbf24;--danger: #f87171;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5;color:var(--text);background:var(--bg)}*{box-sizing:border-box;margin:0}body{min-height:100dvh}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;border-radius:8px;padding:.5rem .85rem;background:var(--surface2);color:var(--text)}button:hover{filter:brightness(1.08)}button.primary{background:var(--accent);color:#0f1117;font-weight:600}button.ghost{background:transparent;border:1px solid var(--border)}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}button.active-dabei{background:#1a3d2a;border:1px solid var(--heute-da);color:var(--heute-da)}.reaction-row button.active-dabei{background:#1a2a3d;border-color:var(--interessiert);color:var(--interessiert)}button.active-vielleicht{background:#3d351a;border:1px solid var(--warn);color:var(--warn)}button.active-nicht{background:#3d1a1a;border:1px solid var(--danger);color:var(--danger)}input,select,textarea{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.5rem .75rem;width:100%}textarea{resize:vertical;min-height:4rem}.app{max-width:720px;margin:0 auto;padding:0 1rem 5rem}.header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem 0 .75rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.header h1{font-size:1.25rem;font-weight:700}.header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.me-select{max-width:140px;font-size:.85rem}.me-select-missing{border:1px solid var(--warn);box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 25%,transparent);color:var(--warn);animation:me-select-pulse 2s ease-in-out infinite}@keyframes me-select-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 20%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 40%,transparent)}}.user-prompt{margin:-.5rem 0 1rem;padding:.65rem .85rem;background:color-mix(in srgb,var(--warn) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 45%,var(--border));border-radius:10px}.user-prompt-text{margin:0;font-size:.88rem;line-height:1.4;color:var(--text)}.nav{display:flex;gap:.35rem;margin-top:.75rem;overflow-x:auto}.nav a{padding:.35rem .65rem;border-radius:999px;font-size:.85rem;color:var(--muted);white-space:nowrap}.nav a.active{background:var(--surface2);color:var(--text)}.section{margin-bottom:1.5rem}.section h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.65rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem;margin-bottom:.65rem;overflow:hidden;touch-action:manipulation}.card-mine-dabei{border-color:var(--interessiert);box-shadow:0 0 0 1px color-mix(in srgb,var(--interessiert) 35%,transparent)}.card-mine-vielleicht{border-color:color-mix(in srgb,var(--warn) 40%,var(--border));box-shadow:none;background:color-mix(in srgb,var(--surface) 71%,var(--bg));transition:background .2s ease}.card-mine-vielleicht .card-header,.card-mine-vielleicht .card-meta,.card-mine-vielleicht .note,.card-mine-vielleicht .card-footer,.card-mine-vielleicht .card-aside,.card-mine-vielleicht .comments-panel,.card-mine-vielleicht .card-actions{opacity:.69;transition:opacity .2s ease}.card-mine-vielleicht.card-interactive:hover .card-header,.card-mine-vielleicht.card-interactive:hover .card-meta,.card-mine-vielleicht.card-interactive:hover .note,.card-mine-vielleicht.card-interactive:hover .card-footer,.card-mine-vielleicht.card-interactive:hover .card-aside,.card-mine-vielleicht.card-expanded .card-header,.card-mine-vielleicht.card-expanded .card-meta,.card-mine-vielleicht.card-expanded .note,.card-mine-vielleicht.card-expanded .card-footer,.card-mine-vielleicht.card-expanded .card-aside,.card-mine-vielleicht.card-expanded .comments-panel,.card-mine-vielleicht.card-expanded .card-actions{opacity:.79}.card-mine-vielleicht.card-expanded .comments-panel{opacity:.85}.card-mine-nicht{border-color:color-mix(in srgb,var(--border) 70%,transparent);box-shadow:none;background:color-mix(in srgb,var(--surface) 42%,var(--bg));transition:background .2s ease}.card-mine-nicht .card-header,.card-mine-nicht .card-meta,.card-mine-nicht .note,.card-mine-nicht .card-footer,.card-mine-nicht .card-aside,.card-mine-nicht .comments-panel,.card-mine-nicht .card-actions{opacity:.38;transition:opacity .2s ease}.card-mine-nicht.card-interactive:hover .card-header,.card-mine-nicht.card-interactive:hover .card-meta,.card-mine-nicht.card-interactive:hover .note,.card-mine-nicht.card-interactive:hover .card-footer,.card-mine-nicht.card-interactive:hover .card-aside,.card-mine-nicht.card-expanded .card-header,.card-mine-nicht.card-expanded .card-meta,.card-mine-nicht.card-expanded .note,.card-mine-nicht.card-expanded .card-footer,.card-mine-nicht.card-expanded .card-aside,.card-mine-nicht.card-expanded .comments-panel,.card-mine-nicht.card-expanded .card-actions{opacity:.58}.card-mine-nicht.card-expanded .comments-panel{opacity:.68}.card-upcoming{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.badge.upcoming{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.card-body{display:flex;flex-direction:column}.card-body--aside{flex-direction:row;align-items:flex-start;gap:.65rem}.card-body--aside .card-main{flex:1;min-width:0}.card-aside{flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:.45rem;width:7.35rem;max-width:36%}.card-aside .card-header-badges{max-width:none;width:100%}.card-main{min-width:0}.card-title{font-size:1.05rem;line-height:1.25;margin:0;flex:1;min-width:0}.card-header-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;flex-shrink:0;max-width:55%}.card-meta{margin-top:.35rem}.card-meta .card-link{font-size:.85rem}.card h3{font-size:1.05rem}.badge{font-size:.7rem;padding:.15rem .45rem;border-radius:999px;background:var(--surface2);color:var(--muted);white-space:nowrap}.badge.hot,.badge-hot{background:color-mix(in srgb,var(--hot) 25%,transparent);color:var(--hot)}.badge.ready{background:color-mix(in srgb,var(--success) 20%,transparent);color:var(--success)}.meta{font-size:.8rem;color:var(--muted);margin-top:.25rem}.note{font-size:.85rem;margin-top:.5rem;color:var(--muted)}.reaction-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem;width:fit-content;max-width:100%}.reaction-row-aside{flex-direction:column;flex-wrap:nowrap;margin-top:0;width:100%;align-items:stretch}.reaction-row-aside button{width:100%;text-align:center;padding-left:.45rem;padding-right:.45rem;line-height:1.2}.reaction-row button{font-size:.8rem;padding:.35rem .6rem}.card-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-top:.5rem}.card-footer .names{margin-top:0}.names{display:flex;flex-wrap:wrap;gap:.3rem;flex:1;min-width:0}.name-chip{font-size:.75rem;padding:.15rem .45rem;border-radius:6px;background:var(--surface2)}.name-chip.dabei{color:var(--interessiert);background:color-mix(in srgb,var(--interessiert) 16%,var(--surface2));border:1px solid color-mix(in srgb,var(--interessiert) 35%,transparent)}.evening-summary .name-chip.dabei{color:var(--heute-da);background:color-mix(in srgb,var(--heute-da) 16%,var(--surface2));border:1px solid color-mix(in srgb,var(--heute-da) 35%,transparent)}.name-chip.vielleicht{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,var(--surface2));border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.name-chip.nicht{color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,var(--surface2));border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.evening-choice{display:flex;flex-wrap:wrap;gap:.35rem}.evening-choice button{font-size:.85rem;padding:.4rem .75rem}.evening-summary{margin-top:.75rem}.evening-summary-label{margin-bottom:.35rem}.home-top{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem}.home-evening{flex:1;min-width:0;margin-bottom:0}.discord-voice-panel{flex-shrink:0;width:auto;min-width:0;max-width:11rem;padding-top:.05rem;overflow-wrap:anywhere}.discord-voice-panel h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.65rem}.discord-voice-list{list-style:none;display:flex;flex-direction:column;gap:.75rem;padding:0;margin:0}.discord-voice-group{display:flex;flex-direction:column;gap:.2rem;padding:0;margin:0}.discord-voice-channel{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);line-height:1.2;padding:0;margin:0}.discord-voice-names{list-style:none;display:flex;flex-direction:column;gap:.15rem;padding:0;margin:0}.discord-voice-name{font-size:.82rem;line-height:1.25;color:var(--text);padding:0;margin:0}.discord-voice-empty{margin-top:0}@media(max-width:560px){.home-top{flex-direction:column}.discord-voice-panel{width:100%;max-width:none}}.empty{color:var(--muted);font-size:.9rem;padding:.5rem 0}.activity-log{list-style:none;display:flex;flex-direction:column;gap:.5rem}.activity-log-item{display:flex;gap:.65rem;align-items:flex-start;padding:.55rem .7rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.88rem;line-height:1.35}.activity-log-time{flex-shrink:0;font-size:.72rem;color:var(--muted);min-width:3.2rem;padding-top:.1rem}.activity-log-text{margin:0;min-width:0}.activity-log-member{font-weight:600;color:var(--accent)}.form{display:flex;flex-direction:column;gap:.65rem}.form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}.form-actions{display:flex;gap:.5rem;margin-top:.25rem}.fab{position:fixed;bottom:1.25rem;right:1.25rem;width:3.25rem;height:3.25rem;border-radius:50%;background:var(--accent);color:#0f1117;font-size:1.5rem;font-weight:700;box-shadow:0 4px 20px #0006;z-index:20}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:30;display:flex;align-items:flex-end;justify-content:center;padding:1rem}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px 16px 12px 12px;padding:1.25rem;width:100%;max-width:480px;max-height:90dvh;overflow-y:auto}.modal h2{margin-bottom:1rem;font-size:1.1rem}.card-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.card-actions button{font-size:.75rem;padding:.25rem .5rem}.member-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.member-row.inactive{opacity:.5}.playable-when{border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;margin:.25rem 0}.playable-when legend{padding:0 .35rem;color:var(--muted);font-size:.85rem}.playable-when-options{display:flex;gap:1rem;flex-wrap:wrap}.playable-option{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.95rem}.games-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 1rem;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.games-divider:before,.games-divider:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--muted) 55%,var(--border))}.card-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.card-interactive:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.card-interactive:active,.card-expanded{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.badge-comments{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.badge-playing-today{background:color-mix(in srgb,var(--playing-today) 22%,transparent);color:var(--playing-today)}.card-playing-today{border-color:color-mix(in srgb,var(--playing-today) 45%,var(--border))}button.badge-pin-toggle{font:inherit;cursor:pointer;line-height:1.3}button.badge-pin-toggle-off{background:var(--surface2);color:var(--muted);border:1px solid color-mix(in srgb,var(--playing-today) 30%,var(--border))}button.badge-pin-toggle-off:hover:not(:disabled){color:var(--playing-today);border-color:color-mix(in srgb,var(--playing-today) 55%,var(--border));background:color-mix(in srgb,var(--playing-today) 12%,transparent)}button.badge-pin-toggle:disabled{opacity:.55;cursor:default}.name-chip.playing-today{color:var(--playing-today);background:color-mix(in srgb,var(--playing-today) 16%,var(--surface2));border:1px solid color-mix(in srgb,var(--playing-today) 35%,transparent)}.comments-panel{margin:.75rem -1rem -.85rem;padding:.75rem 1rem .85rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface2) 72%,var(--surface))}.comment-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.comment-item{font-size:.85rem;line-height:1.35;min-width:0}.comment-meta{display:flex;align-items:center;gap:.35rem;margin-top:.15rem}.comment-delete{flex-shrink:0;padding:.2rem;background:transparent;border:none;border-radius:4px;color:var(--muted);line-height:0}.comment-delete:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.comment-delete:disabled{opacity:.45;cursor:default}.comment-text{margin:0;overflow-wrap:anywhere;word-break:break-word}.comment-author{font-weight:600}.comment-author-dabei{color:var(--interessiert)}.comment-author-vielleicht{color:var(--warn)}.comment-author-nicht{color:var(--danger)}.comment-body{color:var(--text);overflow-wrap:anywhere;word-break:break-word}.comment-time{font-size:.72rem;color:var(--muted)}.comment-form{display:flex;flex-direction:column;gap:.5rem}.comment-input-wrap input{width:100%}.comment-counter{display:block;text-align:right;font-size:.72rem;color:var(--muted);margin-top:.2rem}
