:root{--background: #0B0C0E;--surface: #15171A;--surface-elevated: #1F2328;--bubble-mine: #45202D;--bubble-theirs: #1F2328;--hairline: #2E343B;--text-primary: #F7F8F9;--text-secondary: #A2AAB3;--text-tertiary: #767E88;--accent: #FF2D6F;--accent-pressed: #EA2A66;--accent-disabled: #45202D;--on-accent: #0B0C0E;--success: #3DD68C;--pending: #FFB340;--failure: #FF6B6B;--ink: #101114;--tile-1: #4CA6FF;--tile-2: #FF6FA8;--tile-3: #4FD6AE;--tile-4: #FF8A6B;--tile-5: #B98CFF;--tile-6: #79D8F2;--space-xs: .25rem;--space-s: .5rem;--space-m: .75rem;--space-l: 1rem;--space-xl: 1.5rem;--space-xxl: 2rem;--radius-s: .5rem;--radius-m: .875rem;--radius-l: 1.25rem;--radius-pill: 999px;--control: 2.75rem;--column: 40rem;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-caption: .8125rem;--text-footnote: .875rem;--text-body: 1rem;--text-headline: 1.0625rem;--text-title: 1.375rem;--text-large: 1.75rem;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--background);color:var(--text-primary);font-family:var(--font);font-size:100%;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}#root{min-height:100dvh}a{color:var(--accent)}button,input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page{width:100%;max-width:var(--column);margin:0 auto;padding:var(--space-xl) var(--space-l) var(--space-xxl)}.centered{min-height:100dvh;display:flex;flex-direction:column;justify-content:center}.stack{display:flex;flex-direction:column;gap:var(--space-m)}.stack-l{display:flex;flex-direction:column;gap:var(--space-xl)}.row{display:flex;align-items:center;gap:var(--space-s)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-s)}.grow{flex:1;min-width:0}.wordmark{font-size:var(--text-large);font-weight:800;letter-spacing:-.02em;margin:0}.wordmark span{color:var(--accent)}h1{font-size:var(--text-large);line-height:1.15;margin:0;letter-spacing:-.01em}h2{font-size:var(--text-title);margin:0}h3{font-size:var(--text-headline);margin:0}p{margin:0}.secondary{color:var(--text-secondary)}.tertiary{color:var(--text-tertiary)}.footnote{font-size:var(--text-footnote)}.caption{font-size:var(--text-caption)}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-l);padding:var(--space-xl)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-s);min-height:var(--control);padding:var(--space-s) var(--space-xl);border-radius:var(--radius-pill);border:1px solid transparent;font-weight:600;text-decoration:none;cursor:pointer;background:none}.button.primary{background:var(--accent);color:var(--on-accent)}.button.primary:hover,.button.primary:active{background:var(--accent-pressed)}.button.primary:disabled{background:var(--accent-disabled);color:var(--text-tertiary);cursor:default}.button.secondary{border-color:var(--hairline);color:var(--text-primary);background:var(--surface-elevated)}.button.text{color:var(--accent);padding-inline:var(--space-s)}.button.danger{color:var(--failure);border-color:var(--hairline)}.button.wide{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--control);min-height:var(--control);border-radius:var(--radius-pill);border:none;background:none;cursor:pointer;color:var(--text-primary);font-size:var(--text-title)}.icon-button:hover{background:var(--surface-elevated)}label.field{display:flex;flex-direction:column;gap:var(--space-xs)}label.field>span{font-size:var(--text-footnote);color:var(--text-secondary)}.input,textarea.input{width:100%;min-height:var(--control);padding:var(--space-s) var(--space-m);background:var(--surface-elevated);border:1px solid var(--hairline);border-radius:var(--radius-m)}.input::placeholder{color:var(--text-tertiary)}.input:focus{outline:none;border-color:var(--accent)}.check{display:flex;gap:var(--space-s);align-items:flex-start}.check input{width:1.25rem;height:1.25rem;accent-color:var(--accent);margin-top:.1rem;flex:none}.message-error{color:var(--failure);font-size:var(--text-footnote)}.message-ok{color:var(--success);font-size:var(--text-footnote)}.chip{display:inline-flex;align-items:center;min-height:2rem;padding:var(--space-xs) var(--space-m);border-radius:var(--radius-pill);border:1px solid var(--hairline);background:none;cursor:pointer;white-space:nowrap;font-size:var(--text-footnote)}.chip.live{border-color:var(--accent);color:var(--accent)}.avatar{flex:none;width:2rem;height:2rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-caption);font-weight:700;color:var(--ink);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.t0{background:var(--tile-1)}.avatar.t1{background:var(--tile-2)}.avatar.t2{background:var(--tile-3)}.avatar.t3{background:var(--tile-4)}.avatar.t4{background:var(--tile-5)}.avatar.t5{background:var(--tile-6)}.avatar.gone{background:var(--surface-elevated);color:var(--text-tertiary)}.event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.event-list li+li{border-top:1px solid var(--hairline)}.event-row{display:flex;align-items:center;gap:var(--space-m);padding:var(--space-l) 0;color:inherit;text-decoration:none}.event-row:hover .event-name{color:var(--accent)}.event-name{font-weight:600;font-size:var(--text-headline)}.stage-dot{width:.625rem;height:.625rem;border-radius:50%;flex:none;background:var(--text-tertiary)}.stage-dot.live{background:var(--accent)}.stage-dot.planning{background:var(--success)}.event-screen{display:flex;flex-direction:column;height:100dvh;max-width:var(--column);margin:0 auto}.event-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-s) var(--space-s) var(--space-s) var(--space-xs);border-bottom:1px solid var(--hairline);background:var(--background)}.event-title{flex:1;min-width:0;background:none;border:none;cursor:pointer;text-align:left;padding:var(--space-xs) var(--space-s);border-radius:var(--radius-s)}.event-title:hover{background:var(--surface)}.event-title strong{display:block;font-size:var(--text-headline);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-title small{color:var(--text-secondary);font-size:var(--text-caption)}.next-step{display:flex;align-items:center;gap:var(--space-m);margin:var(--space-s) var(--space-l) 0;padding:var(--space-s) var(--space-s) var(--space-s) var(--space-l);border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--hairline);min-height:var(--control)}.next-step p{flex:1;min-width:0;font-weight:600}.next-step.status p{color:var(--text-secondary);font-weight:500}.overview{padding:var(--space-m) var(--space-l);border-bottom:1px solid var(--hairline);background:var(--surface)}.decision-list{list-style:none;margin:0;padding:0}.decision-list li{display:flex;gap:var(--space-m);align-items:baseline;padding:var(--space-s) 0}.decision-list li+li{border-top:1px solid var(--hairline)}.decision-list .when{color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:3rem}.decision-list button{background:none;border:none;padding:0;text-align:left;cursor:pointer;flex:1}.next-tag{color:var(--accent);font-weight:700;font-size:var(--text-caption)}.done{color:var(--success)}.pins{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-s) var(--space-l) 0}.pin{display:flex;align-items:center;gap:var(--space-s);background:none;border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-m);cursor:pointer;text-align:left;min-height:2.25rem}.pin span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin b{color:var(--accent)}.stream{flex:1;overflow-y:auto;padding:var(--space-l);display:flex;flex-direction:column;gap:var(--space-s)}.empty{margin:auto;text-align:center;color:var(--text-secondary);max-width:20rem;display:flex;flex-direction:column;gap:var(--space-m);align-items:center}.system-line{text-align:center;color:var(--text-tertiary);font-size:var(--text-footnote);padding:var(--space-xs) 0}.system-line b{color:var(--text-secondary)}.message{display:flex;gap:var(--space-s);align-items:flex-end}.message.mine{flex-direction:row-reverse}.message .body{display:flex;flex-direction:column;gap:var(--space-xs);max-width:75%}.message:not(.mine) .body{max-width:66%}.message.mine .body{align-items:flex-end}.message .author{font-size:var(--text-caption);color:var(--text-secondary);padding-left:var(--space-m)}.bubble{padding:var(--space-s) var(--space-m);border-radius:var(--radius-l);background:var(--bubble-theirs);white-space:pre-wrap;overflow-wrap:anywhere;border:none;text-align:left;cursor:pointer}.message.mine .bubble{background:var(--bubble-mine)}.bubble .mention{font-weight:700}.bubble .time{display:block;margin-top:2px;font-size:var(--text-caption);color:var(--text-secondary)}.quote{font-size:var(--text-footnote);color:var(--text-secondary);border-left:2px solid var(--hairline);padding-left:var(--space-s)}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:var(--space-xs);width:min(18rem,66vw)}.photos.single{grid-template-columns:1fr}.photo{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-m);background:var(--surface);border:none;padding:0;cursor:zoom-in;overflow:hidden}.photos.single .photo{aspect-ratio:auto;max-height:24rem}.photo img{width:100%;height:100%;object-fit:cover}.place{font-size:var(--text-footnote)}.like{background:none;border:none;cursor:pointer;padding:var(--space-xs);min-width:var(--control);min-height:var(--control);display:inline-flex;align-items:center;justify-content:center;gap:2px;color:var(--text-tertiary);font-size:var(--text-footnote)}.like.on{color:var(--accent)}.like:disabled{cursor:default}.poll{align-self:stretch;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-l);padding:var(--space-m) var(--space-l);display:flex;flex-direction:column;gap:var(--space-s)}.poll.ring{border-color:var(--accent)}.poll .question{font-weight:600}.option{position:relative;display:flex;align-items:center;gap:var(--space-s);min-height:var(--control);padding:var(--space-s) var(--space-m);border:1px solid var(--hairline);border-radius:var(--radius-m);background:none;cursor:pointer;text-align:left;overflow:hidden}.option.mine{border-color:var(--accent)}.option .bar{position:absolute;inset:0 auto 0 0;background:var(--surface-elevated);z-index:0}.option>span{position:relative;z-index:1}.option .count{margin-left:auto;color:var(--text-secondary);font-variant-numeric:tabular-nums}.option:disabled{cursor:default}.poll-folded{background:none;border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:var(--space-s) var(--space-l);text-align:left;cursor:pointer;align-self:stretch}.composer{border-top:1px solid var(--hairline);background:var(--surface-elevated);padding:var(--space-s) var(--space-s) calc(var(--space-s) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-s)}.composer .quick{display:flex;gap:var(--space-s);overflow-x:auto;padding:0 var(--space-xs)}.composer form{display:flex;align-items:flex-end;gap:var(--space-xs)}.composer textarea{flex:1;resize:none;max-height:9rem;border-radius:var(--radius-l)}.composer .reply{display:flex;align-items:center;gap:var(--space-s);padding:0 var(--space-s);font-size:var(--text-footnote);color:var(--text-secondary)}.composer .staged{display:flex;gap:var(--space-xs);padding:0 var(--space-s);flex-wrap:wrap}.composer .staged img{width:3.5rem;height:3.5rem;object-fit:cover;border-radius:var(--radius-s)}.composer .closed{text-align:center;color:var(--text-secondary);padding:var(--space-s)}dialog.sheet{width:min(100%,var(--column));max-height:90dvh;margin:auto auto 0;padding:0;border:1px solid var(--hairline);border-radius:var(--radius-l) var(--radius-l) 0 0;background:var(--surface-elevated);color:var(--text-primary)}@media(min-width:48rem){dialog.sheet{margin:auto;border-radius:var(--radius-l)}}dialog.sheet::backdrop{background:#0009}.sheet-head{display:flex;align-items:center;gap:var(--space-s);padding:var(--space-m) var(--space-m) var(--space-s) var(--space-l)}.sheet-head h2{flex:1;font-size:var(--text-headline)}.sheet-body{padding:0 var(--space-l) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-m);overflow-y:auto}.menu{list-style:none;margin:0;padding:0 0 var(--space-m)}.menu button{width:100%;text-align:left;background:none;border:none;padding:var(--space-m) var(--space-l);min-height:var(--control);cursor:pointer}.menu button:hover{background:var(--surface)}.menu button.danger{color:var(--failure)}.viewer{position:fixed;inset:0;background:#000000eb;display:flex;flex-direction:column;z-index:10}.viewer img{flex:1;min-height:0;object-fit:contain;width:100%}.viewer .row-between{padding:var(--space-s)}.people{list-style:none;margin:0;padding:0}.people li{display:flex;align-items:center;gap:var(--space-m);padding:var(--space-s) 0}.toast{position:fixed;left:50%;bottom:calc(5.5rem + env(safe-area-inset-bottom));transform:translate(-50%);background:var(--surface-elevated);border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:var(--space-s) var(--space-l);max-width:calc(100% - 2rem);z-index:20}.toast.error{border-color:var(--failure)}
