:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#eef0f3;--border:#dde1e6;--text:#1c2430;--muted:#677385;--accent:#1f7a4d;--accent-soft:#e2f3ea;--accent-text:#fff;--yes:#1f7a4d;--maybe:#b7791f;--no:#c0392b;--danger-soft:#fbe7e5;--warn-soft:#fdf1dc;--away:#3b5bab;--away-soft:#e4eaf8;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12161c;--surface:#1a2028;--surface-2:#232b35;--border:#2e3844;--text:#e6eaf0;--muted:#8d98a8;--accent:#3fb27a;--accent-soft:#1b3428;--accent-text:#0d1a13;--yes:#3fb27a;--maybe:#e0a84a;--no:#e8695c;--danger-soft:#3a1f1d;--warn-soft:#3a2f1a;--away:#8aa4ea;--away-soft:#1f2a44}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent)}code{background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:.9em}h1{margin:0 0 12px;font-size:1.3rem}.muted{color:var(--muted)}.error{color:var(--no)}.small{font-size:.85em}.empty{color:var(--muted);text-align:center;padding:48px 16px}.shell{--chat-accent:#1556ad;--chat-soft:#eaf2ff;max-width:1120px;height:var(--app-height,100dvh);flex-direction:column;margin:0 auto;padding:0 20px 20px;display:flex}.content{flex:1;min-height:0}.content-page{overscroll-behavior-y:contain;scrollbar-width:thin;padding:4px 0 28px;overflow-y:auto}.content-chat{overflow:hidden}.pull-refresh{z-index:60;border:1px solid var(--border);background:var(--surface);color:var(--text);pointer-events:none;white-space:nowrap;border-radius:24px;align-items:center;gap:8px;padding:10px 16px;font-size:.8rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0002}.pull-refresh>span{font-size:1.2rem}.refresh-spinning{animation:1s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}.topbar{flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px 0;display:flex}.brand{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.logo{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:8px;flex:none;place-items:center;font-size:1rem;display:grid}.team-select{font:inherit;color:var(--text);text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:8px;min-width:0;max-width:100%;padding:4px 6px;font-size:1rem;font-weight:600}.team-select:hover,.team-select:focus{border-color:var(--border)}.user{white-space:nowrap;align-items:center;gap:10px;display:flex}.tabs{border-bottom:1px solid var(--border);flex:none;gap:4px;margin-bottom:16px;display:flex;overflow:auto hidden}.tab{font:inherit;white-space:nowrap;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;min-height:46px;margin-bottom:0;padding:10px 16px;font-weight:600}.tab:hover{color:var(--text);background:var(--surface-2)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:6px}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.centered{place-items:center;min-height:100vh;padding:16px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:520px;padding:28px}.steps li{margin-bottom:8px}.button,button.link{font:inherit;cursor:pointer}.button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 14px;text-decoration:none;display:inline-block}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.button.small{border-color:var(--accent);color:var(--accent);padding:3px 10px;font-size:.85rem}.button:disabled{opacity:.5;cursor:default}button.link{color:var(--accent);background:0 0;border:none;padding:0}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.check{color:var(--muted);cursor:pointer;align-items:center;gap:6px;display:flex}.segmented{background:var(--surface-2);border-radius:8px;padding:2px;display:inline-flex}.segmented button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.segmented.small button{padding:3px 10px;font-size:.85rem}.segmented button.on.yes{background:var(--yes);color:var(--surface)}.segmented button.on.maybe{background:var(--maybe);color:var(--surface)}.segmented button.on.no{background:var(--no);color:var(--surface)}.segmented button:disabled{cursor:default}.month{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 8px;font-size:.8rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:14px}.event{gap:14px;display:flex}.event.canceled{opacity:.65}.date-block{text-align:center;background:var(--surface-2);text-transform:uppercase;width:54px;color:var(--muted);border-radius:8px;flex-direction:column;flex:none;align-self:flex-start;padding:6px 0;font-size:.72rem;display:flex}.date-block.game{background:var(--accent-soft);color:var(--accent)}.date-block strong{color:var(--text);font-size:1.35rem;line-height:1.2}.event-body{flex:1;min-width:0}.event-title{flex-wrap:wrap;align-items:center;gap:6px;font-size:1.02rem;font-weight:600;display:flex}.struck{text-decoration:line-through}.meta{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem}.badge{text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:600}.badge.home{background:var(--accent-soft);color:var(--accent)}.badge.away{background:var(--away-soft);color:var(--away)}.badge.danger{background:var(--danger-soft);color:var(--no)}.badge.open{background:var(--warn-soft);color:var(--maybe)}.score{margin-top:4px;font-weight:700}.details{margin-top:8px;font-size:.9rem}.notes{white-space:pre-wrap;color:var(--muted);margin-top:4px}.rsvp{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.rsvp-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rsvp-name{min-width:110px;font-weight:500}.counts{font-size:.85rem}.jobs{border-top:1px solid var(--border);margin:10px 0 0;padding:0;list-style:none}.job{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.job:last-child{border-bottom:none}.job-name{font-weight:500}.job-people{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:var(--surface-2);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.85rem;display:inline-flex}.chip.mine{background:var(--accent-soft);color:var(--accent);font-weight:600}.chip-x{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 0 0 2px;font-size:1rem;line-height:1}.messages{margin:0;padding:0;list-style:none}.card.message{padding:0;overflow:hidden}.message-head{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.message-head:hover{background:var(--surface-2)}.dot{border-radius:50%;flex:none;width:8px;height:8px}.message.unread .dot{background:var(--accent)}.message-main{flex-direction:column;flex:1;min-width:0;display:flex}.message-subject{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message.unread .message-subject{font-weight:600}.message-date{flex:none}.message-body{overflow-wrap:anywhere;flex-direction:column;gap:10px;padding:0 14px 14px 32px;display:flex}.message-html{overflow-x:auto}.message-html p{margin:0 0 8px}.message-html table{border-collapse:collapse;font-size:.9rem}.message-html td{border:1px solid var(--border);vertical-align:top;padding:4px 8px}@media (width<=560px){.event{gap:10px}.date-block{width:46px}.user .muted{display:none}}.chats{flex-direction:column;height:100%;min-height:0;display:flex}.chat-toolbar{flex:none;justify-content:space-between;align-items:center;padding:0 0 12px;display:flex}.chat-toolbar-title{align-items:center;gap:10px;display:flex}.chat-toolbar h1{letter-spacing:-.025em;margin:0;font-size:1.35rem}.chat-count{color:var(--muted);background:var(--surface-2);border-radius:20px;padding:2px 8px;font-size:.75rem}.chat-icon-button{width:40px;height:40px;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.chat-icon-button:hover{color:var(--chat-accent);background:var(--chat-soft)}.chat-icon-button:disabled{opacity:.45;cursor:default}.chat-icon-button:focus-visible,.chat-choice:focus-visible,.chat-message-content:focus-visible{outline:2px solid var(--chat-accent);outline-offset:-2px}.chat-layout{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex:1;grid-template-columns:290px minmax(0,1fr);min-height:0;display:grid;overflow:hidden;box-shadow:0 4px 24px #00000004}.chat-list{border-right:1px solid var(--border);overscroll-behavior:contain;min-height:0;padding:8px;overflow-y:auto}.chat-choice{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;margin-bottom:4px;padding:14px 10px;display:flex}.chat-choice:hover{background:var(--surface-2)}.chat-choice.selected{background:var(--chat-soft)}.chat-avatar{width:42px;height:42px;color:var(--chat-accent);background:var(--chat-soft);letter-spacing:.02em;border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.chat-choice.selected .chat-avatar{background:var(--chat-accent);color:#fff}.chat-choice-body{flex:1;min-width:0}.chat-choice-title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chat-choice-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:650;overflow:hidden}.chat-choice-title time{flex:none;font-size:.68rem}.chat-preview{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:4px;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.chat-detail{min-width:0;min-height:0;overflow:hidden}.chat-history{flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.chat-heading{border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:12px;min-height:78px;padding:14px 22px;display:flex}.chat-heading-title{flex:1;min-width:0}.chat-heading h1{white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px;font-size:1rem;font-weight:650;overflow:hidden}.chat-heading-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.72rem;display:flex}.chat-connection{align-items:center;gap:5px;display:inline-flex}.chat-connection:before{content:"";background:var(--maybe);border-radius:50%;width:6px;height:6px}.chat-connection.is-live:before{background:var(--yes)}.chat-readonly-badge{color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:20px;padding:3px 7px;font-size:.65rem}.chat-back{display:none}.chat-messages{overflow-anchor:none;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;min-height:0;margin:0;padding:12px 24px 20px;list-style:none;overflow-y:auto}.chat-history-control{text-align:center;padding:4px 0 16px}.chat-history-control .button{border-color:var(--border);color:var(--muted);border-radius:20px;min-height:36px;padding:6px 14px}.chat-history-start{color:var(--muted);text-align:center;padding:14px 0 6px;font-size:.7rem}.chat-message{overflow-wrap:anywhere;padding:7px 0}.chat-message-content{-webkit-touch-callout:none;border-radius:14px;width:fit-content;max-width:85%}.chat-mine .chat-message-content{margin-left:auto}.chat-message-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 9px;padding:0 4px 5px;font-size:.7rem;display:flex}.chat-message-meta strong{font-weight:550}.chat-mine .chat-message-meta{justify-content:flex-end}.chat-message-meta time{font-size:inherit}.chat-bubble{background:var(--surface-2);border-radius:16px 16px 16px 4px;min-width:42px;padding:10px 14px;line-height:1.55}.chat-mine .chat-bubble{background:var(--chat-soft);border-radius:16px 16px 4px}.chat-message-text{white-space:pre-wrap;margin:0}.chat-message-text a{color:var(--chat-accent);text-underline-offset:3px}.chat-date{color:var(--muted);justify-content:center;margin:12px 0 22px;font-size:.68rem;display:flex}.chat-image-button{cursor:zoom-in;background:0 0;border:0;width:100%;margin:0 0 5px;padding:0;display:block}.chat-image{object-fit:contain;background:var(--border);border-radius:10px;width:100%;max-width:380px;max-height:440px;display:block}.chat-reactions{flex-wrap:wrap;gap:4px;margin:-16px 0 0 -16px;display:flex;position:relative}.chat-message:not(.chat-mine) .chat-reactions{justify-content:flex-end;margin-left:0;margin-right:-16px}.chat-reaction{width:32px;height:32px;color:var(--text);font:inherit;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}button.chat-reaction{cursor:pointer;touch-action:manipulation}button.chat-reaction:before{content:"";position:absolute;inset:-6px}button.chat-reaction:focus-visible{outline:2px solid var(--chat-accent);outline-offset:2px;border-radius:4px}.chat-reaction-emoji{font-size:24px;line-height:1}.chat-reaction-count{font-size:10px;font-weight:600;line-height:1;position:absolute;bottom:-1px;right:-3px}.chat-context-menu{z-index:50;border:1px solid var(--border);background:var(--surface);border-radius:14px;width:188px;padding:5px;display:grid;position:fixed;box-shadow:0 8px 32px #0002}.chat-context-menu button{min-height:46px;color:var(--text);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:.85rem;display:flex}.chat-context-menu button:hover,.chat-context-menu button:focus-visible{background:var(--surface-2)}.chat-context-menu .chat-delete{color:var(--no)}.chat-composer{border-top:1px solid var(--border);background:var(--surface);flex:none;padding:12px 18px 9px;position:relative}.chat-composer-row{align-items:flex-end;gap:8px;display:flex}.chat-composer textarea{resize:none;background:var(--surface-2);min-width:0;min-height:44px;max-height:120px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:14px;flex:1;padding:10px 12px;font-size:16px;line-height:22px}.chat-composer textarea::placeholder{color:var(--muted)}.chat-composer textarea:focus-visible{border-color:var(--chat-accent);outline:none}.chat-composer .chat-icon-button{width:44px;height:44px}.chat-composer-hint{margin:6px 0 0 52px;font-size:.65rem}.chat-send{background:var(--chat-accent);color:#fff;height:44px;font:inherit;cursor:pointer;touch-action:manipulation;border:0;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.85rem;font-weight:600;display:inline-flex}.chat-send:disabled{opacity:.4;cursor:default}.chat-reaction-panel,.chat-composer-picker{border:1px solid var(--border);background:var(--surface);border-radius:14px;max-height:min(270px,40dvh);padding:6px;overflow-y:auto}.chat-reaction-panel{flex:0 auto;margin:0 16px 10px}.chat-composer-picker{max-height:min(270px, calc(var(--app-height,100dvh) * .35));z-index:2;position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;box-shadow:0 8px 32px #0002}.chat-picker-heading{justify-content:space-between;align-items:center;padding:0 6px;font-size:.8rem;display:flex}.chat-emoji-picker{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;padding:4px;display:grid}.chat-emoji-picker button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:10px;min-height:42px;padding:5px 0;font-size:1.4rem}.chat-emoji-picker button:hover{background:var(--surface-2)}.chat-readonly-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;flex:none;padding:13px;font-size:.7rem}.chat-history>.error,.chat-history>.empty{flex:none;margin:0;padding:12px 20px;font-size:.85rem}.chat-photo{background:var(--surface);max-width:95vw;max-height:95dvh;color:var(--text);border:0;border-radius:16px;padding:12px}.chat-photo::backdrop{background:#000b}.chat-photo button{min-height:44px;margin:0 0 10px auto;display:block}.chat-photo img{object-fit:contain;max-width:88vw;max-height:78dvh;display:block}@media (prefers-color-scheme:dark){.shell{--chat-accent:#8cb9ff;--chat-soft:#1c304d}.chat-send,.chat-choice.selected .chat-avatar{color:#fff;background:#2868c4}}@media (width<=760px),(height<=500px) and (pointer:coarse){.shell{padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}.topbar{gap:8px;min-height:56px;padding:6px 12px}.brand{gap:6px}.logo{width:24px;height:24px;font-size:.85rem}.team-select{width:100%;min-height:44px;padding:6px 0;font-size:.9rem}.user .muted{display:none}.user button{min-height:44px;font-size:.75rem}.tabs{gap:0;margin:0;padding:0 8px;overflow-x:auto}.tab{flex:1;min-height:44px;padding:10px 8px;font-size:.8rem}.content-page{padding:14px 12px 28px}.content-page .segmented button{min-height:40px}.content-page .button{min-height:44px}.chat-toolbar{padding:10px 16px}.has-open-chat .chat-toolbar{display:none}.chat-layout{box-shadow:none;border:0;border-radius:0;grid-template-columns:minmax(0,1fr)}.chat-layout:not(.chat-open) .chat-detail,.chat-open .chat-list{display:none}.chat-list{border:0;padding:4px 10px}.chat-choice{padding:16px 8px}.chat-choice-title strong{font-size:.95rem}.chat-choice-title time{font-size:.72rem}.chat-preview{font-size:.85rem}.chat-heading{gap:10px;min-height:70px;padding:10px 12px 10px 6px}.chat-back{width:40px;height:44px;display:inline-flex}.chat-heading .chat-avatar{border-radius:12px;width:36px;height:36px;font-size:.75rem}.chat-heading h1{font-size:.95rem}.chat-heading-meta{gap:4px 9px;font-size:.68rem}.chat-readonly-badge{font-size:.6rem}.chat-messages{padding:10px 16px 18px}.chat-message-content{max-width:90%}.chat-message-text{font-size:15px}.chat-history-control .button{min-height:44px}.chat-composer{padding:10px 8px}.chat-composer-row{gap:4px}.chat-composer textarea{padding-left:10px;padding-right:10px}.chat-send{width:44px;padding:0}.chat-send-label,.chat-composer-hint{display:none}.chat-emoji-picker{grid-template-columns:repeat(7,minmax(0,1fr))}.chat-emoji-picker button{min-height:44px}}@media (width<=400px){.chat-emoji-picker{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (prefers-reduced-motion:no-preference){.chat-choice,.chat-icon-button{transition:background-color .15s,color .15s}}.signin-form{text-align:left;flex-direction:column;gap:10px;margin-top:24px;display:flex}.signin-form label{font-size:.9rem;font-weight:600}.signin-form input{border:1px solid var(--border);background:var(--bg);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px;font-size:16px}.signin-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.signin-form label:not(:first-child){margin-top:8px}.signin-form .button{min-height:48px;margin-top:12px}.signin-note{margin:8px 0 0;font-size:.82rem;line-height:1.5}
