:root{--bg:#121318;--surface:#1d1f27;--surface-2:#2b2e39;--hover:#23252e;--line:#3a3d4a;--text:#f1efe9;--muted:#9a9cab;--scrim:#08090c99;--ink:#121318;--coral:oklch(74% .17 28);--mint:oklch(80% .13 165);--sky:oklch(76% .13 235);--danger:oklch(70% .18 25);--f-food:oklch(74% .17 28);--f-music:oklch(76% .13 235);--f-arts:oklch(80% .13 165);--f-outdoors:oklch(86% .15 100);--f-games:oklch(78% .15 350);--f-social:oklch(82% .06 75);--display:"Bricolage Grotesque", "Figtree", system-ui, sans-serif;--ui:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--ui);font-size:15px;line-height:1.35}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}body{min-height:100dvh}h1,h2,h3,h4,p{margin:0}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:#8a8c9b}:focus-visible{outline:2px solid var(--sky);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{max-width:520px;min-height:100dvh;padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));margin:0 auto;position:relative}.app.bare{padding-bottom:32px}.screen{padding:calc(22px + env(safe-area-inset-top,0px)) 18px 0;flex-direction:column;gap:20px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:10px;min-width:0;display:flex}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono);font-size:12px}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.center{text-align:center}.h1{font-family:var(--display);letter-spacing:-.02em;font-size:42px;font-weight:800;line-height:.95}.h2{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;font-size:34px;font-weight:800;line-height:.98}.h3{font-family:var(--display);font-size:20px;font-weight:700}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.avatar{width:36px;height:36px;color:var(--ink);background:oklch(86% .15 100);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.sm{width:26px;height:26px;font-size:12px}.avatar.xs{border:2px solid var(--surface);width:22px;height:22px;font-size:11px}.avatars{display:flex}.avatars .avatar+.avatar{margin-left:-6px}.searchrow{align-items:center;gap:8px;display:flex}.search{background:var(--surface);border-radius:999px;flex:1;align-items:center;min-width:0;padding:4px 4px 4px 18px;display:flex}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:9px 0;font-size:15px}.filter-btn{color:var(--muted);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600}.filter-btn.on{background:var(--text);color:var(--ink)}.add-btn{background:var(--coral);width:44px;height:44px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:26px;line-height:1;text-decoration:none;display:grid}.chips{scrollbar-width:none;gap:8px;margin:0 -18px;padding:0 18px;display:flex;overflow-x:auto}.chips.wrap{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.chip{background:var(--surface);color:var(--text);border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex}.chip.on{background:var(--text);color:var(--ink)}.chip .x{opacity:.6}.dot{background:var(--c,var(--muted));border-radius:50%;flex:none;width:9px;height:9px}.sec{flex-direction:column;gap:12px;display:flex}.sec-head{justify-content:space-between;align-items:baseline;display:flex}.sec-head a,.sec-head button{color:var(--muted);font-size:14px;text-decoration:none}.poster{background:color-mix(in oklch, var(--c,var(--muted)) 22%, var(--surface));color:var(--text);border-radius:24px;flex-direction:column;justify-content:space-between;padding:14px;display:flex;position:relative;overflow:hidden}.poster:after{content:"";background:repeating-linear-gradient(135deg, color-mix(in oklch, var(--c,var(--muted)) 9%, transparent) 0 10px, transparent 10px 20px);pointer-events:none;position:absolute;inset:0}.poster>*{z-index:1;position:relative}.poster .p-name{font-family:var(--display);letter-spacing:-.01em;-webkit-line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:22px;font-weight:800;line-height:1;display:-webkit-box;overflow:hidden}.poster .p-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.poster .p-type{color:color-mix(in oklch, var(--c,var(--muted)) 75%, white);font-size:12px;font-weight:700}.badge{background:var(--text);color:var(--ink);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.dark{background:var(--ink);color:var(--text)}.hscroll{scrollbar-width:none;scroll-snap-type:x mandatory;gap:12px;margin:0 -18px;padding:0 18px;scroll-padding-inline:18px;display:flex;overflow-x:auto}.hcard{scroll-snap-align:start;flex-direction:column;flex:none;gap:8px;width:220px;text-decoration:none;display:flex}.hcard .poster{height:150px}.hcard .name{font-size:16px;font-weight:700}.rowcard{background:var(--surface);border-radius:22px;align-items:center;gap:12px;min-width:0;padding:10px;text-decoration:none;display:flex}.rowcard:hover{background:var(--hover)}.rowcard .name{font-size:15px;font-weight:700}.rowcard .sub{color:var(--muted);font-size:13px}.rowtype{color:color-mix(in oklch, var(--c,var(--muted)) 75%, white);font-size:12px;font-weight:700}.star{width:40px;height:40px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.star.on{color:var(--f-outdoors)}.star.on.loved{color:var(--coral)}.star:hover{background:var(--surface-2)}.thumb{background:color-mix(in oklch, var(--c,var(--muted)) 35%, var(--surface-2));border-radius:16px;flex:none;width:52px;height:52px;position:relative;overflow:hidden}.thumb:after{content:"";background:repeating-linear-gradient(135deg, color-mix(in oklch, var(--c,var(--muted)) 18%, transparent) 0 6px, transparent 6px 12px);position:absolute;inset:0}.datetile{background:var(--c,var(--surface-2));width:48px;height:48px;color:var(--ink);border-radius:16px;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex}.datetile .m{text-transform:uppercase;font-size:10px;font-weight:700}.datetile .d{font-size:18px;font-weight:700;line-height:1}.attend{background:var(--surface-2);border-radius:999px;flex:none;padding:9px 14px;font-size:13px;font-weight:700}.attend.on{background:var(--c,var(--text));color:var(--ink)}.listgrid{grid-template-columns:1fr 1fr;gap:14px 10px;display:grid}.gridcard{flex-direction:column;gap:6px;min-width:0;text-decoration:none;display:flex}.gridcard .poster{border-radius:20px;height:150px}.gridcard .poster .p-name{font-size:18px}.gridcard>.name{font-size:15px;font-weight:700}.group-head{text-align:left;align-items:center;gap:10px;width:100%;padding:6px 2px;display:flex}.group-head .h3{flex:1;min-width:0}.group-head .chev{color:var(--muted);transition:transform .15s ease-out}.group-head[aria-expanded=false] .chev{transform:rotate(-90deg)}.plancard{background:var(--c,var(--text));color:var(--ink);border-radius:28px;flex-direction:column;gap:10px;padding:18px;text-decoration:none;display:flex}.plancard .pc-name{font-family:var(--display);letter-spacing:-.01em;font-size:28px;font-weight:800;line-height:1}.plancard .pc-sub{font-size:14px}.plancard .attend{background:var(--ink);color:var(--text)}.collection{background:var(--surface);border-radius:24px;flex-direction:column;flex:none;justify-content:flex-end;gap:2px;width:150px;height:150px;padding:14px;text-decoration:none;display:flex}.collection .c-name{font-family:var(--display);overflow-wrap:anywhere;font-size:22px;font-weight:800;line-height:1}.btn{background:var(--surface);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn.light{background:var(--text);color:var(--ink)}.btn.primary{background:var(--coral);color:var(--ink)}.btn.danger{color:var(--danger)}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:default}.linkbtn{color:var(--muted);text-underline-offset:3px;font-size:14px;text-decoration:underline}.back{background:var(--surface);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:20px;text-decoration:none;display:grid}.seg{background:var(--surface);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.seg button{color:var(--muted);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.seg button.on{background:var(--text);color:var(--ink)}.seg.full{display:flex}.seg.full button{flex:1;padding:9px 6px}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:13px}.input{background:var(--surface);border:0;border-radius:18px;outline:0;width:100%;padding:14px 16px;font-size:16px}.input:focus{box-shadow:inset 0 0 0 1px var(--line)}.input.error{box-shadow:inset 0 0 0 1px var(--danger)}.err{color:var(--danger);font-size:13px}.hint-ok{color:var(--mint);font-size:13px}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.picklist{background:var(--surface);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.picklist button{text-align:left;border-top:1px solid var(--bg);flex-direction:column;gap:2px;padding:12px 16px;display:flex}.picklist button:first-child{border-top:0}.picklist button:hover{background:var(--hover)}.picked{background:var(--surface);border-radius:18px;align-items:center;gap:10px;padding:12px 12px 12px 16px;display:flex}.linkcard{background:var(--surface);border-radius:18px;align-items:center;gap:12px;padding:10px;display:flex}.srctile{background:var(--surface-2);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:12px;font-weight:700;display:grid}.week{align-items:center;gap:6px;display:flex}.week .arrow{background:var(--surface);border-radius:50%;flex:none;width:28px;height:28px}.week .days{flex:1;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.wday{background:var(--surface);border-radius:999px;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:10px 0 8px;display:flex}.wday .dow{opacity:.7;font-size:11px}.wday .num{font-size:16px;font-weight:700}.wday.on{background:var(--text);color:var(--ink)}.wday.plan{box-shadow:inset 0 0 0 2px var(--sky)}.dots{flex-wrap:wrap;justify-content:center;gap:3px;min-height:5px;display:flex}.dots i{background:var(--c);border-radius:50%;width:5px;height:5px}.month{background:var(--surface);border-radius:28px;padding:12px}.month .grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.month .dow{text-align:center;color:var(--muted);padding-bottom:4px;font-size:11px}.mday{border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:48px;font-size:14px;font-weight:600;display:flex}.mday.out{opacity:.35}.mday.today{background:var(--surface-2)}.mday.on{background:var(--text);color:var(--ink)}.mday.plan{box-shadow:inset 0 0 0 2px var(--sky)}.mday .dots i{width:4px;height:4px}.fold{border:1px dashed var(--line);border-radius:999px;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;display:flex}.nav{left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));background:var(--surface);z-index:20;border-radius:999px;gap:4px;width:min(492px,100% - 28px);padding:6px;display:flex;position:fixed;transform:translate(-50%)}.nav a{text-align:center;color:var(--muted);border-radius:999px;flex:1;padding:11px 0;font-size:13px;font-weight:600;text-decoration:none}.nav a.active{background:var(--surface-2);color:var(--text)}.scrim{background:var(--scrim);z-index:40;animation:.2s ease-out fade;position:fixed;inset:0}.sheet{background:var(--surface);width:min(520px,100%);max-height:88dvh;padding:10px 18px calc(24px + env(safe-area-inset-bottom,0px));z-index:41;border-radius:32px 32px 0 0;flex-direction:column;gap:16px;animation:.25s ease-out sheet;display:flex;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.sheet .handle{background:var(--line);border-radius:3px;flex:none;width:40px;height:5px;margin:0 auto}.sheet .chip{background:var(--surface-2)}.sheet .chip.on{background:var(--text)}.sheet-foot{bottom:calc(-24px - env(safe-area-inset-bottom,0px));background:var(--surface);align-items:center;gap:10px;padding:10px 0 0;display:flex;position:sticky}.menu a,.menu button{border-top:1px solid var(--surface-2);justify-content:space-between;align-items:center;width:100%;padding:16px 4px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.menu>:first-child{border-top:0}.toast{left:50%;bottom:calc(86px + env(safe-area-inset-bottom,0px));background:var(--text);color:var(--ink);z-index:60;border-radius:999px;max-width:calc(100% - 32px);padding:11px 18px;font-size:14px;font-weight:700;animation:.2s ease-out fade;position:fixed;transform:translate(-50%)}@keyframes sheet{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.hero{margin:0 -4px}.hero .poster{border-radius:30px;justify-content:flex-end;height:150px;padding:18px}.hero-bar{z-index:2;justify-content:space-between;display:flex;position:absolute;top:14px;left:14px;right:14px}.hero-bar .back{background:var(--ink)}.info{align-items:center;gap:12px;display:flex}.info .tile{background:var(--surface);text-align:center;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;font-size:12px;font-weight:700;line-height:1.05;display:grid}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:color-mix(in oklch, var(--c,var(--muted)) 20%, transparent);color:color-mix(in oklch, var(--c,var(--muted)) 75%, white);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700}.mapwrap{z-index:0;position:fixed;inset:0}.map-top{top:calc(14px + env(safe-area-inset-top,0px));z-index:10;flex-direction:column;align-items:flex-start;gap:10px;width:min(492px,100% - 28px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.map-top .seg,.map-top .chip,.map-top .filter-btn{background:var(--bg)}.map-top .seg button.on,.map-top .filter-btn.on{background:var(--text)}.pin{background:var(--c);border:3px solid var(--ink);box-sizing:content-box;border-radius:50%;width:18px;height:18px;display:block}.pin.big{border-color:var(--text);width:22px;height:22px}.pin.num{width:26px;height:26px;color:var(--ink);place-items:center;font-size:13px;font-weight:800;display:grid}.citypin{background:var(--bg);border:1.5px dashed var(--muted);color:var(--text);white-space:nowrap;border-radius:9px;padding:4px 8px;font-size:11px;font-weight:700;display:block}.cluster{background:var(--text);width:38px;height:38px;color:var(--ink);border:3px solid var(--ink);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.map-card{left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));z-index:15;background:var(--surface);border-radius:26px;flex-direction:column;gap:4px;width:min(492px,100% - 28px);max-height:50dvh;padding:10px;display:flex;position:fixed;overflow-y:auto;transform:translate(-50%)}.empty{color:var(--muted);padding:24px 4px}.banner{background:color-mix(in oklch, var(--coral) 16%, var(--surface));border-radius:22px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:600;text-decoration:none;display:flex}.signin{flex-direction:column;justify-content:center;gap:28px;min-height:100dvh;padding:32px 22px;display:flex}.star.on-poster{width:32px;height:32px;margin:-6px -6px 0 0;font-size:18px}.star.on-hero,.star.on-hero:hover{background:var(--ink)}.poster.has-img{background:var(--img) center / cover no-repeat, var(--surface)}.poster.has-img:after{background:linear-gradient(#08090c8c,#0000 35%)}.poster.has-img .p-type{color:var(--text)}.thumb.has-img{background:var(--img) center / cover no-repeat, var(--surface-2)}.thumb.has-img:after{display:none}.srctile.has-img{background:50%/cover no-repeat}.loading{border-radius:18px;position:relative}.loading:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(100deg,#0000 20%,#ffffff12 50%,#0000 80%) 0 0/200% 100%;animation:1.2s linear infinite shimmer;position:absolute;inset:0}input.loading{background-image:linear-gradient(100deg,#0000 20%,#ffffff12 50%,#0000 80%);background-size:200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.photopin{background:var(--c);border-radius:50%;width:44px;height:44px;padding:2px;display:block;box-shadow:0 2px 8px #00000080}.photopin img{object-fit:cover;border:2px solid var(--ink);box-sizing:border-box;border-radius:50%;width:100%;height:100%;display:block}.photopin.small{width:32px;height:32px}.map-top .row{flex-wrap:wrap}.map-top .chip.on{background:var(--text);color:var(--ink)}.pinwrap{display:block;position:relative}.pincount{background:var(--text);min-width:22px;height:22px;color:var(--ink);border:2px solid var(--ink);border-radius:11px;place-items:center;padding:0 6px;font-size:12px;font-weight:800;display:grid;position:absolute;top:-6px;right:-8px}.starchoice{padding:18px}.starchoice.want.on{background:var(--f-outdoors);color:var(--ink)}.starchoice.loved.on{background:var(--coral);color:var(--ink)}.cover{aspect-ratio:1;background:var(--surface-2);border-radius:24px;gap:2px;display:grid;overflow:hidden}.cover span{background:center / cover no-repeat var(--surface-2)}.cover.n1{grid-template-columns:1fr}.cover.n2{grid-template-columns:1fr 1fr}.cover.n3,.cover.n4{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.cover.n3 span:first-child{grid-row:span 2}.cover.empty{font-family:var(--display);color:var(--muted);place-items:center;font-size:42px;font-weight:800;display:grid}.cover.big{aspect-ratio:auto;border-radius:30px;height:200px}.covergrid{grid-template-columns:1fr 1fr;gap:14px 10px;display:grid}.covercard{flex-direction:column;gap:4px;min-width:0;text-decoration:none;display:flex}.covercard .name{margin-top:4px;font-weight:700}.hscroll .covercard{scroll-snap-align:start;flex:none;width:150px}.item{align-items:flex-start}.note{color:var(--text);opacity:.85;font-size:13px;font-style:italic}.heart{color:var(--muted);border-radius:999px;align-items:center;gap:3px;padding:6px 8px;font-size:18px;display:inline-flex}.heart.on{color:var(--coral)}.star:disabled{opacity:.3}.group-head.sub{gap:10px;padding:4px 2px}.group-head.sub .name{font-size:16px;font-weight:700}.kindmark{text-align:center;width:18px;color:var(--muted);flex:none}.kindmark.want{color:var(--f-outdoors)}.kindmark.loved{color:var(--coral)}.sheet .btn:not(.light):not(.primary):not(.danger),.sheet .input,.rowcard .chip:not(.on),.rowcard .btn:not(.light):not(.primary):not(.danger){background:var(--surface-2)}.starchoice.want:not(.on){color:var(--f-outdoors)}.starchoice.loved:not(.on){color:var(--coral)}.nav a.nav-me{flex:none;place-items:center;padding:6px 14px;display:grid}.nav a.nav-me .avatar{box-shadow:0 0 0 2px #0000}.nav a.nav-me.active{background:var(--surface-2)}.nav a.nav-me.active .avatar{box-shadow:0 0 0 2px var(--text)}.avatar.lg{width:72px;height:72px;font-size:28px}.counts{color:var(--muted);gap:18px;font-size:14px;display:flex}.counts b{color:var(--text);font-size:16px}.banner.deletion{background:color-mix(in oklch, var(--danger) 18%, var(--surface));margin:12px 18px 0}.navbadge{background:var(--coral);min-width:17px;height:17px;color:var(--ink);vertical-align:1px;border-radius:999px;place-items:center;margin-left:5px;padding:0 5px;font-size:11px;font-weight:800;display:inline-grid}.chatrow{border-radius:16px;align-items:center;gap:12px;padding:12px 4px;text-decoration:none;display:flex}.chatrow .name{font-weight:600}.chatrow .sub{color:var(--muted);font-size:14px}.chatrow.unread .name,.chatrow.unread .sub{color:var(--text);font-weight:700}.unreadcount{background:var(--coral);min-width:20px;height:20px;color:var(--ink);border-radius:999px;flex:none;place-items:center;padding:0 6px;font-size:12px;font-weight:800;display:grid}.groupface{flex:none;width:48px;height:48px;position:relative}.groupface .avatar{box-shadow:0 0 0 2px var(--bg);position:absolute}.groupface.n1 .avatar{width:48px;height:48px;font-size:19px;inset:0}.groupface.n2 .avatar,.groupface.n3 .avatar{width:30px;height:30px;font-size:13px}.groupface.n2 .avatar:first-child{top:0;left:0}.groupface.n2 .avatar:nth-child(2){bottom:0;right:0}.groupface.n3 .avatar:first-child{top:0;left:9px}.groupface.n3 .avatar:nth-child(2){bottom:0;left:0}.groupface.n3 .avatar:nth-child(3){bottom:0;right:0}.roomhead .groupface{width:38px;height:38px}.roomhead .groupface.n1 .avatar{width:38px;height:38px;font-size:16px}.roomhead .groupface.n2 .avatar,.roomhead .groupface.n3 .avatar{width:24px;height:24px;font-size:11px}.roomhead .groupface.n3 .avatar:first-child{left:7px}.room{flex-direction:column;min-height:100dvh;display:flex}.roomhead{z-index:10;padding:calc(12px + env(safe-area-inset-top,0px)) 14px 10px;background:color-mix(in oklch, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:10px;display:flex;position:sticky;top:0}.roomhead .name{font-size:16px;font-weight:700}.thread{flex-direction:column;flex:1;gap:2px;padding:8px 12px 16px;display:flex}.dayline{color:var(--muted);align-self:center;margin:16px 0 8px;font-size:12px;font-weight:600}.msg{align-items:flex-end;gap:8px;max-width:84%;display:flex}.msg.first{margin-top:8px}.msg.mine{flex-direction:row-reverse;align-self:flex-end}.msg .avatar-gap{flex:none;width:22px}.msg .who{color:var(--muted);padding-left:12px;font-size:12px;font-weight:600}.bubble{text-align:left;background:var(--surface);color:var(--text);overflow-wrap:anywhere;border-radius:20px;flex-direction:column;gap:4px;max-width:100%;padding:8px 12px 6px;display:flex}.msg.mine .bubble{background:var(--text);color:var(--ink)}.bubble.gone{box-shadow:inset 0 0 0 1px var(--surface-2);font-style:italic;color:var(--muted)!important;background:0 0!important}.bubble .body{white-space:pre-wrap;font-size:15px;line-height:1.35}.bubble .time{opacity:.55;align-self:flex-end;font-size:11px}.bubble .quote{background:color-mix(in oklch, currentColor 9%, transparent);border-left:3px solid var(--sky);border-radius:12px;flex-direction:column;gap:1px;max-width:260px;padding:5px 9px;font-size:13px;display:flex}.bubble .quote b{font-size:12px}.msgphoto{object-fit:cover;border-radius:14px;width:min(260px,62vw);max-height:340px;margin:2px -6px 0;display:block}.msgphoto.loading{background:var(--surface-2);height:200px}.reactions{flex-wrap:wrap;gap:4px;margin-top:-4px;padding:0 6px;display:flex}.reaction{background:var(--surface-2);box-shadow:0 0 0 2px var(--bg);border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:13px;display:inline-flex}.reaction span{color:var(--muted);font-size:11px;font-weight:700}.reaction.on{background:color-mix(in oklch, var(--sky) 35%, var(--surface-2))}.composer{z-index:10;padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in oklch, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}.replying{background:var(--surface);border-left:3px solid var(--sky);color:var(--muted);border-radius:14px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.replying b{color:var(--text)}.composebox{resize:none;background:var(--surface);min-height:44px;max-height:140px;color:var(--text);font:inherit;border:0;border-radius:22px;flex:1;padding:11px 16px;font-size:16px;line-height:1.35}.composebox:focus{box-shadow:inset 0 0 0 1px var(--surface-2);outline:none}.composebtn,.sendbtn{border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:20px;font-weight:700;display:grid}.composebtn{background:var(--surface);color:var(--text)}.sendbtn{background:var(--coral);color:var(--ink)}.sendbtn:disabled{opacity:.35}.emojirow{justify-content:space-between;gap:4px;display:flex}.emojirow button{border-radius:16px;flex:1;padding:8px 0;font-size:28px}.emojirow button.on{background:var(--surface-2)}.chatrow.sub{padding:8px 4px 8px 28px}.chatrow.sub .name{font-size:15px}.cardpic{aspect-ratio:16/10;background-color:var(--surface-2);background-image:var(--img,none);width:100%;color:var(--muted);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:14px;flex:none;place-items:center;font-size:22px;font-weight:800;display:grid}.cardpic.small{aspect-ratio:auto;border-radius:10px;width:38px;height:38px;font-size:15px}.cardpic.eventpic{aspect-ratio:auto;border-radius:14px;width:48px;height:48px;font-size:18px}.bubble.hascard{width:min(272px,70vw);padding:6px}.card{flex-direction:column;gap:8px;display:flex}.cardtext{flex-direction:column;gap:2px;min-width:0;padding:0 6px;display:flex}.cardtext .name{font-size:15px;font-weight:700}.msg.mine .card .muted{color:color-mix(in oklch, var(--ink) 60%, transparent)}.card .faces{padding-left:6px;display:inline-flex}.card .faces .avatar{margin-left:-6px}.card>.row{padding:0 6px}.card>.muted{padding:0 6px 4px}.card .btn.small{padding:10px 14px;font-size:14px}.msg.mine .card .btn.light{background:var(--ink);color:var(--text)}.eventstrip{top:calc(62px + env(safe-area-inset-top,0px));z-index:9;background:color-mix(in oklch, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:none;gap:8px;padding:4px 14px 10px;display:flex;position:sticky;overflow-x:auto}.eventchip{background:var(--surface);text-align:left;border-radius:16px;flex:none;align-items:center;gap:8px;max-width:220px;padding:6px 12px 6px 6px;display:flex}.eventchip.going{box-shadow:inset 0 0 0 1.5px var(--coral)}.eventchip .cardtext{padding:0}.eventchip .name{font-size:14px}.sheet .card .cardpic{aspect-ratio:16/9}.radio{width:20px;height:20px;box-shadow:inset 0 0 0 2px var(--surface-2);border-radius:50%;flex:none}.radio.on{box-shadow:inset 0 0 0 6px var(--coral)}.checkrow{gap:10px;font-weight:600}.checkrow input{width:20px;height:20px;accent-color:var(--coral)}.mutedmark{opacity:.7;flex:none;font-size:13px}.unreadcount.muted{background:var(--surface-2);color:var(--muted)}.micwrap{flex:none;position:relative}.micbtn{background:var(--surface);width:44px;height:44px;color:var(--text);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:50%;place-items:center;transition:transform .15s,background .15s;display:grid}.micbtn.on{background:var(--coral);color:var(--ink);box-shadow:0 0 0 7px color-mix(in oklch, var(--coral) 22%, transparent);transform:scale(1.2)}.lockhint{background:var(--surface);width:40px;color:var(--muted);border-radius:20px;flex-direction:column;align-items:center;gap:2px;margin-left:-20px;padding:10px 0 8px;animation:.2s ease-out lockrise;display:flex;position:absolute;bottom:62px;left:50%;box-shadow:0 8px 24px #00000059}.lockhint .chev{font-size:14px;line-height:1;animation:1.2s ease-in-out infinite nudge}@keyframes lockrise{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@keyframes nudge{0%,to{translate:0 2px}50%{translate:0 -3px}}.recbar{background:var(--surface);border-radius:22px;flex:1;align-items:center;gap:10px;min-width:0;min-height:44px;padding:0 4px 0 14px;display:flex}.recbar.holding{padding-right:14px}.recbar.locked,.recbar.review{background:0 0;padding:0 0 0 4px}.recbar.locked .livewave{background:var(--surface);border-radius:22px;height:44px;padding:0 10px}.livewave{--wave:#ff7f6b;--wave-faint:#ff7f6b26;flex:1;min-width:0;height:32px}.rectime{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:7px;font-size:15px;font-weight:600;display:inline-flex}.recdot{background:var(--coral);border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite recpulse}@keyframes recpulse{50%{opacity:.25}}.slidecancel{color:var(--muted);flex:none;font-size:13px;font-weight:600;animation:1.6s ease-in-out infinite slidehint}@keyframes slidehint{0%,to{translate:0}50%{translate:-5px}}.recicon{width:44px;height:44px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.recicon.stop{background:var(--surface);color:var(--coral)}.stopsq{background:currentColor;border-radius:3px;width:14px;height:14px}.recbar.review .bars{flex:1}.voice{align-items:center;gap:10px;width:min(250px,62vw);padding:2px 0;display:flex}.voiceplay{background:var(--coral);width:38px;height:38px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.voiceplay.loading{opacity:.6}.msg.mine .voiceplay{background:var(--ink);color:var(--text)}.bars{cursor:pointer;touch-action:none;flex:1;justify-content:space-between;align-items:center;gap:1.5px;min-width:0;height:30px;display:flex;overflow:hidden}.bars>span{background:color-mix(in oklch, currentColor 28%, transparent);border-radius:2px;flex:0 3px;min-width:1.5px;transition:background .12s}.bars>span.on{background:var(--coral)}.msg.mine .bars>span.on{background:var(--ink)}.recbar .bars{color:var(--text)}.voicemeta{font-variant-numeric:tabular-nums;opacity:.75;flex-direction:column;flex:none;align-items:flex-end;gap:2px;font-size:12px;display:flex}.voicerate{background:color-mix(in oklch, currentColor 14%, transparent);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:800}.pushprompt{background:color-mix(in oklch, var(--coral) 16%, var(--surface));border-radius:16px;align-items:center;gap:10px;width:100%;padding:14px 16px;font-weight:600;display:flex}.mentions{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.mentions .chip{gap:8px;padding-left:5px}.bubble .mention{color:var(--sky);font-weight:700}.msg.mine .bubble .mention{color:inherit;text-underline-offset:2px;text-decoration:underline}.sourcecard{background:var(--text);color:var(--ink);border-radius:18px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.sourcecard .muted{color:color-mix(in oklch, var(--ink) 60%, transparent)}.sourcecard .name{font-size:16px;font-weight:700}.sourceicon{background:var(--ink);width:38px;height:38px;color:var(--text);border-radius:12px;flex:none;place-items:center;font-size:17px;font-weight:800;display:grid}.sourcearrow{flex:none;font-size:20px;font-weight:700}.timeleft{background:var(--surface-2);color:var(--text);vertical-align:1px;white-space:nowrap;border-radius:999px;margin-right:6px;padding:1px 7px;font-size:11.5px;font-weight:700;line-height:1.5;display:inline-block}.timeleft.soon{background:var(--coral);color:var(--ink)}.timeleft.big{margin:0;padding:4px 10px;font-size:13px}.timeleft.onposter{margin:0;padding:4px 10px;font-size:12px}.authpage,.legal{width:min(440px,100%);min-height:100dvh;padding:calc(28px + env(safe-area-inset-top,0px)) 22px 40px;flex-direction:column;gap:22px;margin:0 auto;display:flex}.authpage{justify-content:center}.authbrand{font-family:var(--display);letter-spacing:-.02em;align-self:flex-start;align-items:center;gap:10px;font-size:22px;font-weight:800;text-decoration:none;display:inline-flex}.authbrand img{border-radius:11px}.authpage a:not(.btn):not(.authbrand),.legal a:not(.authbrand){color:var(--text);text-underline-offset:3px}.field>label{color:var(--muted);font-size:13px;font-weight:600}.pwwrap{position:relative}.pwwrap .input{padding-right:70px}.pwtoggle{color:var(--muted);border-radius:12px;padding:7px 10px;font-size:13px;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.pwtoggle:hover{color:var(--text)}.or{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--surface-2);flex:1;height:1px}.formerr{background:color-mix(in oklch, var(--danger) 14%, transparent);border-radius:14px;padding:10px 14px}.notice{background:var(--surface);border-radius:16px;padding:16px;line-height:1.45}.legal h2{margin-top:6px}.legal p,.legal li{line-height:1.55}.legal ul{flex-direction:column;gap:6px;padding-left:20px;display:flex}.draftnote{background:color-mix(in oklch, var(--coral) 18%, var(--surface));border-radius:14px;padding:10px 14px;font-size:14px;font-weight:600}.field>.err{color:var(--danger)}
