:root{color:#3a2a38;background:#f6e8f2;font-family:Raleway,Avenir Next,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}button,input{font:inherit}button{cursor:pointer;white-space:normal}p{margin:0}h1,h2{font-weight:800;letter-spacing:-.03em}h1{font-size:30px;line-height:1.05;margin:0}h2{font-size:20px;line-height:1.2;margin:0}.stage{height:100dvh;display:grid;place-items:center;background-color:#f3d3e6;background-image:radial-gradient(circle at 8% 12%,#fff 0 7px,transparent 8px),radial-gradient(circle at 18% 70%,#c9a6e8 0 9px,transparent 10px),radial-gradient(circle at 78% 18%,#fff 0 6px,transparent 7px),radial-gradient(circle at 88% 62%,#42d3ad 0 8px,transparent 9px),radial-gradient(circle at 60% 88%,#93278f 0 5px,transparent 6px),radial-gradient(circle at 40% 30%,rgba(255,255,255,.7) 0 4px,transparent 5px)}.device{display:flex;flex-direction:column;align-items:center;gap:12px}.device-note{margin:0;color:#6d305c;font-size:13px;font-weight:700}.phone{width:100%;height:100dvh;background:#fff7fb;display:flex;overflow:hidden}.app{flex:1;min-height:0;min-width:0;width:100%;display:flex;flex-direction:column;position:relative}.statusbar{display:none;height:28px;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex:none}.header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px 10px;background:#fff;border-bottom:4px solid #93278f}.header.sub{justify-content:flex-start}.header-logo{height:56px;width:auto;max-width:68%;object-fit:contain}.header-title{margin:0;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-back{width:36px;height:36px;border:0;border-radius:50%;background:#ffe4f2;color:#93278f;display:grid;place-items:center;flex:none}.role-chip{background:#ffe4f2;color:#93278f;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.screen{flex:1;min-height:0;min-width:0;max-width:100%;overflow:auto;padding:16px 16px 24px}.screen:has(.thread){padding:0;overflow:hidden;display:flex;flex-direction:column}.tabbar{flex:none;display:flex;background:#fff;border-top:1px solid #f3d7e6;padding:6px 2px max(8px,env(safe-area-inset-bottom))}.tab{flex:1;border:0;background:transparent;color:#b089a4;font-size:11px;font-weight:800;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0}.tab.on{color:#93278f}.tab-icon{position:relative;display:grid}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.badge{position:absolute;top:-6px;right:-12px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#dc7caf;color:#fff;font-size:10px;display:grid;place-items:center}.stack{display:flex;flex-direction:column;gap:14px}.stack.tight{gap:8px}.stack.pad{margin-top:10px}.kicker{margin:0 0 4px;color:#dc7caf;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.kicker.light{color:#fff}.sub{color:#6d5870;font-size:14px;line-height:1.45}.fine{margin:0;color:#8a7386;font-size:13px;line-height:1.45}.fine.center{text-align:center}.section-label{margin:6px 0 0;color:#93278f;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.card{background:#fff;border:1px solid #f6e4ee;border-radius:18px;padding:14px;box-shadow:0 8px 24px #93278f0d}button.card,button.banner,button.text-button,button.account{color:inherit}button.link-card,button.text-button{width:100%;text-align:left}button.link-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px}button.link-card.person-row{flex-direction:row;align-items:center;gap:12px}.person-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.text-button{background:none;border:0;padding:0}.faded{opacity:.55}.next-card{background:#fff;border:1px solid #f6e4ee;border-left:6px solid #93278f;border-radius:22px;padding:16px;box-shadow:0 10px 28px #93278f14}.banner{width:100%;border:0;border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;text-align:left}.banner.pink{background:#ffe4f2;color:#7a2468}.banner.plum{background:#f3e8ff;color:#5b2a86}.pills,.segment{display:flex;gap:8px}.pills{overflow-x:auto;scrollbar-width:none}.pills::-webkit-scrollbar{display:none}.pill,.segment button{border:0;border-radius:999px;background:#fff;color:#93278f;font-weight:800;padding:8px 12px}.pill.on,.segment button.on{background:#93278f;color:#fff}.segment{background:#fff;border-radius:14px;padding:4px;border:1px solid #f6e4ee}.segment.wrap{flex-wrap:wrap}.segment.wrap button{flex:1 1 calc(50% - 8px)}.segment button{flex:1;min-width:0;border-radius:10px;color:#7a6576;font-size:13px;white-space:nowrap}.rsvp{display:flex;gap:6px;margin-top:10px}.rsvp button{flex:1;min-width:0;white-space:nowrap;border-radius:999px;border:1px solid #f0d5e4;background:#fff;color:#6d5870;font-size:13px;font-weight:800;padding:8px 4px}.rsvp .on-going{background:#e5f8f2;color:#0c7a5c;border-color:#9adcc8}.rsvp .on-maybe{background:#fff4d6;color:#8a5b00;border-color:#f0d48a}.rsvp .on-out{background:#fde8ee;color:#9d2048;border-color:#f5b8c8}.who-row{display:flex;align-items:center;gap:8px}.dot{color:#c7b0c0}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800;flex:none}.avatar.small{width:28px;height:28px;font-size:11px}.day-label{position:sticky;top:0;z-index:1;margin:8px 0 0;padding:6px 0;background:#fff7fb;color:#93278f;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.search,.field input,.field select{width:100%;border:1px solid #f0d0e2;border-radius:12px;padding:12px 14px;font-size:16px;font-weight:600;background:#fff;color:inherit}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800}.time-row{display:flex;gap:8px}.time-row .field{flex:1;min-width:0}.fieldset{border:1px solid #f6e4ee;margin:0}.fieldset legend{font-weight:800;padding:0 6px}.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;border-radius:14px;padding:12px 14px;font-weight:800;text-decoration:none;border:0}.btn.primary{background:#93278f;color:#fff}.btn.ghost{background:#fff;color:#93278f;border:1px solid #f0d0e2}.row-actions{display:flex;gap:8px;margin-top:10px}.row-actions .btn{flex:1}.people,.points,.hours{list-style:none;margin:0;padding:0}.people,.points{display:flex;flex-direction:column;gap:8px}.points{padding-left:18px;list-style:disc}.points li{line-height:1.4}.people li{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:8px 10px}.people li.you{outline:2px solid #dc7caf}.people em{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;color:#93278f}.hours li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f6e4ee;font-size:14px}.hours li.today{color:#93278f;font-weight:800}.counts{display:flex;gap:16px}.counts b{display:block;font-size:22px;color:#93278f}.wear{line-height:1.45}.message-row{position:relative;padding-left:28px}.unread{position:absolute;left:12px;top:18px;width:8px;height:8px;border-radius:50%;background:transparent}.unread.on{background:#dc7caf}.preview{color:#6d5870;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.thread{flex:1;min-height:0;display:flex;flex-direction:column}.thread-log{flex:1;min-height:0;overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.bubble{align-self:flex-start;max-width:86%;background:#fff;border-radius:16px 16px 16px 4px;padding:10px 12px;border:1px solid #f6e4ee}.bubble.mine{align-self:flex-end;background:#93278f;color:#fff;border-color:#93278f;border-radius:16px 16px 4px}.bubble .who{margin:0 0 4px;font-size:12px;font-weight:800;color:#93278f}.bubble time,.announce time{display:block;margin-top:6px;font-size:11px;color:#8a7386}.bubble.mine .who,.bubble.mine time{color:#f7d0e6}.announce{background:#fff;border-left:4px solid #93278f;border-radius:14px;padding:12px}.composer{display:flex;gap:8px;padding:10px 12px 12px;background:#fff;border-top:1px solid #f3d7e6}.composer input{flex:1;min-width:0;border:1px solid #f0d0e2;border-radius:999px;padding:12px 14px;font-size:16px}.composer .send{border:0;border-radius:999px;background:#93278f;color:#fff;font-weight:800;padding:0 14px}.composer .send:disabled{opacity:.4}.composer.locked{margin:0;color:#6d5870;font-size:13px;line-height:1.4}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.switch{width:46px;height:28px;border-radius:999px;background:#eadde6;position:relative;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch.on{background:#1aa88a}.switch.on.pink{background:#dc7caf}.switch.on:after{transform:translate(18px)}.toast{position:absolute;left:12px;right:12px;bottom:76px;z-index:5;border:0;border-radius:14px;background:#2a2030;color:#fff;text-align:left;padding:12px 14px;box-shadow:0 10px 30px #0003}.login{flex:1;min-height:0;min-width:0;max-width:100%;overflow:auto;padding:8px 20px 28px;background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.35) 0 3px,transparent 4px),radial-gradient(circle at 80% 12%,rgba(255,255,255,.28) 0 5px,transparent 6px),radial-gradient(circle at 70% 80%,rgba(66,211,173,.35) 0 8px,transparent 9px),linear-gradient(165deg,#93278f,#be69ab 52%,#f0a4cb);color:#fff}.login-tools{display:flex;justify-content:flex-end}.theme-toggle{border:1px solid rgba(255,255,255,.75);background:#ffffff29;color:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800}.login h1{font-size:34px;margin-bottom:8px}.login-copy{color:#fffffff0;line-height:1.45;margin-bottom:8px}.logo-lockup{margin:16px auto 12px;max-width:100%}.logo-lockup img{display:block;width:100%;max-width:100%;height:auto}.account{width:100%;text-align:left;border:0;background:#fff;border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.account strong{color:#93278f;font-size:18px}.account span{color:#6d5870;font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #42d3ad;outline-offset:2px}@media(min-width:820px){.statusbar{display:flex}.phone{width:390px;height:min(844px,calc(100dvh - 72px));border:10px solid #24141f;border-radius:36px;box-shadow:0 30px 80px #50143c47}}@media(max-width:819px){.device-note{display:none}.stage{display:block;width:100%;background:#fff7fb;overflow:hidden}.device,.phone,.app{width:100%;max-width:100%;min-width:0}.phone{height:100dvh}}[data-theme=dark]{color:#f7e6f3;background:#140816;color-scheme:dark}[data-theme=dark] .stage{background-color:#140816;background-image:radial-gradient(circle at 8% 12%,#f0a4cb 0 4px,transparent 5px),radial-gradient(circle at 18% 70%,#be69ab 0 6px,transparent 7px),radial-gradient(circle at 78% 18%,#dc7caf 0 3px,transparent 4px),radial-gradient(circle at 88% 62%,#93278f 0 7px,transparent 8px),radial-gradient(circle at 60% 88%,#f0a4cb 0 3px,transparent 4px),radial-gradient(circle at 40% 30%,rgba(220,124,175,.5) 0 3px,transparent 4px)}[data-theme=dark] .device-note{color:#f0a4cb}[data-theme=dark] .phone{background:#1b0e24;border-color:#6b347c;box-shadow:0 30px 80px #dc7caf2e}[data-theme=dark] .statusbar{color:#f0a4cb}[data-theme=dark] .header{background:#2a1034;color:#f7e6f3;border-bottom-color:#dc7caf}[data-theme=dark] .header-back,[data-theme=dark] .role-chip{background:#4c1d58;color:#f0a4cb}[data-theme=dark] .tabbar{background:#24102e;border-top-color:#5c2a68}[data-theme=dark] .tab{color:#c48bb8}[data-theme=dark] .tab.on,[data-theme=dark] .kicker,[data-theme=dark] .section-label,[data-theme=dark] .people em,[data-theme=dark] .hours li.today,[data-theme=dark] .counts b,[data-theme=dark] .bubble .who{color:#f0a4cb}[data-theme=dark] .sub,[data-theme=dark] .preview,[data-theme=dark] .composer.locked{color:#e4b8d4}[data-theme=dark] .fine,[data-theme=dark] .bubble time,[data-theme=dark] .announce time{color:#d4a8c8}[data-theme=dark] .day-label{background:#1b0e24;color:#f0a4cb}[data-theme=dark] .card,[data-theme=dark] .next-card,[data-theme=dark] .people li,[data-theme=dark] .bubble,[data-theme=dark] .announce,[data-theme=dark] .composer,[data-theme=dark] .pill,[data-theme=dark] .segment,[data-theme=dark] .btn.ghost,[data-theme=dark] .rsvp button:not(.on-going):not(.on-maybe):not(.on-out){background:#321642;color:#f7e6f3;border-color:#6b347c}[data-theme=dark] .card,[data-theme=dark] .next-card{box-shadow:0 10px 28px #00000047}[data-theme=dark] .next-card{border-left-color:#dc7caf}[data-theme=dark] .pill.on,[data-theme=dark] .segment button.on,[data-theme=dark] .btn.primary,[data-theme=dark] .composer .send{background:linear-gradient(135deg,#e090c0,#93278f);color:#fff;border-color:transparent}[data-theme=dark] .segment button:not(.on){background:#321642;color:#e4b8d4}[data-theme=dark] .banner.pink{background:#4a1848;color:#f7c4e4}[data-theme=dark] .banner.plum{background:#3a1860;color:#f0d4ff}[data-theme=dark] .search,[data-theme=dark] .field input,[data-theme=dark] .field select,[data-theme=dark] .composer input{background:#2a1236;color:#f7e6f3;border-color:#a85ea0}[data-theme=dark] input::placeholder{color:#d4a8c8}[data-theme=dark] .fieldset,[data-theme=dark] .hours li{border-color:#5c2a68}[data-theme=dark] .bubble.mine{background:linear-gradient(160deg,#e090c0,#93278f);color:#fff;border-color:#dc7caf}[data-theme=dark] .bubble.mine .who,[data-theme=dark] .bubble.mine time{color:#ffe4f4}[data-theme=dark] .announce{border-left-color:#dc7caf}[data-theme=dark] .switch{background:#5a2a68}[data-theme=dark] .switch:after{background:#f0a4cb}[data-theme=dark] .switch.on,[data-theme=dark] .switch.on.pink{background:#dc7caf}[data-theme=dark] .switch.on:after{background:#2a1028}[data-theme=dark] .toast{background:#4a1858;color:#fff;border:1px solid #dc7caf}[data-theme=dark] .login{background:radial-gradient(circle at 12% 18%,rgba(240,164,203,.45) 0 3px,transparent 4px),radial-gradient(circle at 80% 12%,rgba(220,124,175,.4) 0 5px,transparent 6px),radial-gradient(circle at 70% 80%,rgba(147,39,143,.55) 0 8px,transparent 9px),linear-gradient(165deg,#2a0c38,#6a246e 48%,#93278f)}[data-theme=dark] .account{background:#2a1036;border:1px solid #dc7caf;color:#f7e6f3}[data-theme=dark] .account strong{color:#f0a4cb}[data-theme=dark] .account span{color:#e7c6dc}
