:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #0f0f0f);--hint: var(--tg-theme-hint-color, #707579);--accent: var(--tg-theme-button-color, #3390ec);--font-sans: -apple-system, "SF Pro Text", Roboto, system-ui, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: var(--tg-theme-bg-color, #17212b);--text: var(--tg-theme-text-color, #f5f5f5);--hint: var(--tg-theme-hint-color, #7d8b99)}}*{box-sizing:border-box}body{margin:0}.app{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.screen{width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.screen--list,.screen--detail{max-width:420px;align-items:stretch;text-align:left;gap:20px}.list-header{display:flex;flex-direction:column;gap:4px}.list-header__greeting{margin:0;font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--text);animation:greeting-reveal .24s ease-out both}.list-body,.detail-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.event-list{list-style:none;margin:0;padding:0;width:100%;align-self:stretch;display:flex;flex-direction:column;gap:10px}.event-list__item{display:flex}.event-card{flex:1;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--tg-theme-section-separator-color, rgba(128, 128, 128, .18));border-radius:14px;background:var(--tg-theme-secondary-bg-color, rgba(128, 128, 128, .06));color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .12s ease,background-color .12s ease}.event-card:active{transform:scale(.99)}.event-card__name{font-size:17px;font-weight:600;line-height:1.3}.event-card__date{font-size:14px;color:var(--hint)}.event-card__status{align-self:flex-start;margin-top:2px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500;line-height:1.4}.event-card__status--joined{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.event-card__status--invited{color:var(--hint);background:color-mix(in srgb,var(--hint) 14%,transparent)}.back-button{align-self:flex-start;padding:6px 0;border:none;background:none;color:var(--accent);font:inherit;font-size:15px;cursor:pointer}.detail-content{align-self:stretch;width:100%;display:flex;flex-direction:column;gap:16px;text-align:left}.detail__name{margin:0;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.01em}.detail__count{margin:-8px 0 0;font-size:14px;color:var(--hint)}.detail-attrs{margin:0;display:flex;flex-direction:column;gap:14px}.detail-attr{display:flex;flex-direction:column;gap:2px}.detail-attr__label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--hint)}.detail-attr__value{margin:0;font-size:16px;line-height:1.4;color:var(--text)}.detail-attr__value--text{white-space:pre-wrap}.action-button{margin-top:4px;width:100%;padding:13px 16px;border:none;border-radius:12px;background:var(--accent);color:var(--tg-theme-button-text-color, #ffffff);font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.action-button:active{transform:scale(.99)}.title{margin:0;font-size:17px;font-weight:600;line-height:1.3}.hint{margin:0;max-width:28ch;font-size:15px;font-weight:400;line-height:1.45;color:var(--hint)}.loader{display:flex;gap:8px;padding:6px 0}.loader__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:loader-pulse 1.2s ease-in-out infinite}.loader__dot:nth-child(2){animation-delay:.2s}.loader__dot:nth-child(3){animation-delay:.4s}@keyframes greeting-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes loader-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.list-header__greeting{animation:none}.loader__dot{animation:none;opacity:.6}.event-card,.action-button{transition:none}}
