@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--bg:#f7f4ee;--surface:#fff;--surface-soft:#efece4;--ink:#0b0b0b;--muted:#55524a;--green:#111;--green-2:#b4472e;--line:#e2ddd2;--shadow:0 18px 45px #00000024;color:var(--ink);font-family:DM Sans,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}h1,h2,h3{letter-spacing:-.02em;font-family:Space Grotesk,system-ui,sans-serif}a{color:var(--green-2);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--green-2);outline-offset:2px}button{cursor:pointer;background:var(--green);color:#fff;font:inherit;border:1px solid #0000;border-radius:12px;padding:.55rem 1.1rem;font-weight:600;transition:transform .14s,background .14s,color .14s,border-color .14s}button:hover{background:var(--green-2)}button:disabled{opacity:.45;cursor:default;background:var(--green)}.ghost,button.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.ghost:hover,button.ghost:hover{border-color:var(--green-2);color:var(--green-2);background:0 0}input,textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--surface);color:var(--ink);border-radius:12px;padding:.7rem .9rem}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,textarea:focus{border-color:var(--green-2)}input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}.center{text-align:center;min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(780px,100%);min-height:100vh;margin:0 auto;padding:2rem 1.25rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--green-2);margin:0 0 1.4rem;font-size:12px;font-weight:700}.landing h1{letter-spacing:-.035em;margin:0;font-size:clamp(2.5rem,6.4vw,4.4rem);line-height:1.03}.landing-sub{max-width:46ch;color:var(--muted);margin:1.6rem auto 0;font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.6}.cta{border-radius:14px;height:58px;margin-top:2.2rem;padding:0 2.2rem;font-size:17px}.rhythm{color:var(--muted);margin:1rem 0 0;font-size:14px}.about-link{margin-top:2rem;font-size:.9rem}.about{max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.about-back{margin-bottom:1.5rem}.about-hero h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.16}.about-hero h1 em,.about-closing h2 em{color:var(--green-2);font-style:italic}.about-rule{background:var(--green-2);border-radius:2px;width:54px;height:2px;margin:1.5rem 0}.about-lead{color:var(--muted);max-width:52ch;font-size:1.1rem;line-height:1.6}.about-imagine,.about-closing{margin-top:3rem}.about-imagine h2,.about-closing h2{letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,2rem)}.about-imagine ul{flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.about-imagine li{border-left:2px solid var(--line);padding-left:1rem;font-size:1.05rem;line-height:1.5}.about-closing h2{line-height:1.25}.about-closing .cta{margin-top:1.5rem}.app{max-width:960px;margin:0 auto;padding:1rem}header{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.4rem 0 1rem;display:flex}.brand{align-items:center;gap:.5rem;display:flex}.brand-glyph{flex:none;place-items:center;width:26px;height:26px;display:inline-grid}.brand-glyph svg{width:26px;height:26px;display:block}.wordmark{letter-spacing:-.01em;color:var(--ink);font-family:DM Sans,system-ui,sans-serif;font-size:1.3rem;font-weight:700;line-height:1}.wordmark .tld{font-weight:500}header .spacer{flex:1}header .who{color:var(--muted);font-size:.9rem;font-weight:600}header button{color:var(--muted);background:0 0;border:1px solid #0000;padding:.4rem .7rem}header button:hover{color:var(--ink);background:0 0}.lobby{width:min(640px,100%);margin:0 auto}.lobby .row{align-items:center;gap:.5rem;margin:1.5rem 0 1rem;display:flex}.lobby .row h2{flex:1;margin:0;font-size:1.5rem}.lobby .row button.ghost,.lobby .row .ghost{background:0 0}.huddle-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.huddle-list li{background:var(--surface);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;transition:border-color .14s,transform .14s;display:flex}.huddle-list li:hover{border-color:var(--green-2);transform:translateY(-1px)}.notice{color:var(--muted);background:var(--surface-soft);border-radius:10px;padding:.6rem .9rem;font-size:.9rem}.error{color:var(--green-2);font-weight:600}.room{grid-template-columns:220px 1fr;gap:1rem;height:74vh;margin-top:1rem;display:grid}.roster{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;padding:1rem;display:flex}.roster h3{margin:0 0 .75rem;font-size:1rem}.roster ul{flex:1;margin:0;padding:0;list-style:none}.roster li{justify-content:space-between;align-items:center;gap:.4rem;padding:.35rem 0;font-size:.92rem;display:flex}.roster-name{align-items:center;gap:.3rem;min-width:0;display:flex}.roster-username{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-name .star,.roster-name .muted-tag{flex:none}.roster-actions{align-items:center;gap:.3rem;display:flex}.muted-tag{opacity:.6;font-size:.75rem;font-style:italic}.mod-btn{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:8px;padding:.1rem .5rem;font-size:.72rem}.mod-btn:hover{border-color:var(--green-2);color:var(--green-2);background:0 0}.report-btn{color:var(--green-2);opacity:.6;background:0 0;border:none;padding:0 .25rem;font-size:.9rem}.report-btn:hover{opacity:1;background:0 0}.chat{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.room-header{border-bottom:1px solid var(--line);flex-direction:column;gap:.25rem;padding:.9rem 1.1rem;display:flex}.room-header .prompt{font-size:1.05rem;font-weight:600}.room-header .status{color:var(--muted);font-size:.85rem}.room-header .status.ended,.room-header .status.paused{color:var(--green-2);font-weight:600}.room-header .note{color:var(--green-2);font-size:.85rem}.host-controls{align-items:center;gap:.4rem;margin-top:.4rem;display:flex}.host-controls .host-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--green);color:#fff;border-radius:6px;padding:.15rem .45rem;font-size:.7rem;font-weight:700}.host-controls button{color:var(--ink);border:1px solid var(--line);background:0 0;padding:.3rem .7rem;font-size:.8rem}.host-controls button:hover{border-color:var(--green-2);color:var(--green-2)}.appreciation-banner{background:color-mix(in srgb, #e0a45e 20%, var(--surface));border-bottom:1px solid color-mix(in srgb, #e0a45e 45%, var(--line));justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1.1rem;font-weight:600;display:flex}.appreciation-dismiss{color:inherit;opacity:.6;background:0 0;border:none;padding:0 .3rem;font-size:1.2rem;line-height:1}.appreciation-dismiss:hover{opacity:1;background:0 0}.messages{flex-direction:column;flex:1;gap:.85rem;padding:1.25rem;display:flex;overflow-y:auto}.msg{max-width:min(76%,560px);display:flex}.msg .bubble{background:var(--surface-soft);border-radius:16px;padding:.55rem .85rem}.msg .who{color:var(--muted);margin-bottom:.15rem;font-size:.75rem;font-weight:600}.msg .bubble p{margin:0;font-size:.95rem;line-height:1.45}.msg.me{align-self:flex-end}.msg.me .bubble{background:var(--green)}.msg.me .bubble p{color:#fff}.composer{border-top:1px solid var(--line);gap:.5rem;padding:.9rem 1rem;display:flex}.composer input{background:var(--bg);border-radius:999px}.composer button{border-radius:999px;padding:0 1.4rem}.removed-view{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:55vh;display:flex}.checkin-overlay{z-index:50;background:#0b0b0b80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.checkin-card{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;width:100%;max-width:420px;padding:1.4rem}.checkin-card h3{margin:0 0 .25rem;font-size:1.25rem}.checkin-sub{color:var(--muted);margin:0 0 .9rem;font-size:.9rem}.checkin-progress{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.5rem;font-size:.72rem}.multi-badge{letter-spacing:.02em;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.3rem;margin:0 0 .9rem;padding:.15rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.multi-badge:before{content:"☑";font-size:.8rem}.checkin-group{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.checkin-group.column{flex-direction:column;align-items:stretch}.checkin-group.column .chip{text-align:left}.chip{color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:600}.chip:hover{border-color:var(--green-2);color:var(--green-2);background:0 0}.chip.selected{background:var(--green);color:#fff;border-color:var(--green)}.checkin-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.checkin-actions .back-btn{margin-right:auto}.feedback-text{resize:vertical;width:100%;font:inherit}.feedback-item{flex-direction:column;align-items:stretch;gap:.25rem}.crisis-link{color:var(--muted);border:1px solid var(--line);background:0 0}.crisis-link:hover{border-color:var(--green-2);color:var(--green-2);background:0 0}.crisis-resource{border:1px solid var(--line);border-radius:12px;margin:.75rem 0;padding:.8rem}.crisis-resource strong{display:block}.crisis-resource p{color:var(--muted);margin:.25rem 0 .6rem;font-size:.9rem}.crisis-actions{flex-wrap:wrap;gap:.4rem;display:flex}.crisis-btn{background:var(--green);color:#fff;border-radius:10px;padding:.45rem .8rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.crisis-btn:hover{background:var(--green-2);text-decoration:none}.crisis-btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.crisis-btn.ghost:hover{border-color:var(--green-2);color:var(--green-2)}.crisis-emergency{color:var(--muted);font-size:.85rem}.crisis-emergency a{color:var(--ink)}.onboarding-field{flex-direction:column;gap:.25rem;margin:.75rem 0;display:flex}.onboarding-field label{font-size:.9rem;font-weight:600}.onboarding-hint{color:var(--muted);font-size:.8rem}.onboarding-tos{align-items:flex-start;gap:.5rem;margin:.9rem 0 .25rem;font-size:.9rem;display:flex}.onboarding-tos input{width:auto;margin-top:.2rem}.onboarding-tos a{color:var(--green-2)}.farewell{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;min-height:62vh;padding:1rem;display:flex}.farewell-thanks{margin:0}.farewell-sub{color:var(--muted);margin:0}.farewell-stage{width:220px;height:220px;margin:1.25rem auto;position:relative}.table-circle{border:2px solid var(--line);background:var(--surface-soft);border-radius:50%;width:90px;height:90px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.seat-orbit{width:0;height:0;position:absolute;top:50%;left:50%}.seat{background:var(--green-2);border-radius:50%;width:16px;height:16px;animation:1.6s ease-in forwards seat-leave;position:absolute;transform:translate(-50%,-70px)}@keyframes seat-leave{0%{opacity:1;transform:translate(-50%,-70px)}55%{opacity:1}to{opacity:0;transform:translate(-50%,-120px)}}.farewell-actions{flex-direction:column;gap:.5rem;min-width:240px;display:flex}.admin .row{align-items:center;gap:.5rem;margin:1rem 0;display:flex}.admin .row h2{flex:1;margin:0}.admin section{margin:1.25rem 0}.admin-list{flex-direction:column;gap:.4rem;padding:0;list-style:none;display:flex}.admin-list li{background:var(--surface);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;padding:.6rem .9rem;display:flex}.reports-wrap{overflow-x:auto}.reports{border-collapse:collapse;width:100%;font-size:.9rem}.reports th,.reports td{text-align:left;border-bottom:1px solid var(--line);padding:.45rem .6rem}.reports th{color:var(--muted);font-weight:600}@media (width<=640px){.room{grid-template-columns:1fr;height:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
