/* Roomsy 2.0.0: one responsive editorial system, with real application controls. */
:root{--paper:#f2f0eb;--surface:#fbfaf7;--ink:#17151a;--muted:#706c74;--rule:rgba(35,31,39,.12);--blue:#4e7590;--green:#668877;--warm:#ed8055;--danger:#a33838;--radius:24px;--shadow:0 22px 65px -24px rgba(40,35,48,.22);--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;--atmosphere:radial-gradient(ellipse at 85% 4%,#d4e6da70,transparent 55%),radial-gradient(ellipse at 5% 100%,#d6e3ee80,transparent 48%);--text-scale:1;--app-h:100dvh;--viewport-top:0px;font-size:calc(16px * var(--text-scale));color-scheme:light}
:root[data-appearance=warm]{--paper:#f3eee5;--surface:#fcf9f3;--ink:#28231f;--muted:#797166;--blue:#816e59;--green:#79826b;--warm:#cf7d59;--atmosphere:none}
:root[data-appearance=dark]{--paper:#17181b;--surface:#222428;--ink:#f3f0e9;--muted:#b6b5b6;--rule:rgba(237,230,247,.14);--blue:#acd0e4;--green:#afd0b5;--warm:#e49b7d;--danger:#f3aaa7;--atmosphere:radial-gradient(ellipse at 90% 4%,#365c6b40,transparent 60%),radial-gradient(ellipse at 5% 100%,#5f394b30,transparent 50%);color-scheme:dark}
@media(prefers-color-scheme:dark){:root[data-appearance=system]{--paper:#17181b;--surface:#222428;--ink:#f3f0e9;--muted:#b6b5b6;--rule:rgba(237,230,247,.14);--blue:#acd0e4;--green:#afd0b5;--warm:#e49b7d;--danger:#f3aaa7;--atmosphere:radial-gradient(ellipse at 90% 4%,#365c6b40,transparent 60%),radial-gradient(ellipse at 5% 100%,#5f394b30,transparent 50%);color-scheme:dark}}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--paper);color:var(--ink)}body{background:var(--atmosphere),var(--paper);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.875rem;line-height:1.5;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button{border:0;background:transparent}input,textarea,select{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:12px;width:100%;min-width:0;font-size:1rem}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.035em}h1{font-size:2.8rem;font-style:italic}h2{font-size:1.9rem}p{overflow-wrap:anywhere}svg{display:block;flex-shrink:0}label{display:grid;gap:6px;color:var(--muted);font-size:.8125rem;margin:10px 0}small{font-size:.75rem;color:var(--muted)}[hidden]{display:none!important}[inert]{pointer-events:none}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:var(--ink)}details[open]>summary{margin-bottom:12px}a{color:var(--blue)}

#app{height:var(--app-h);padding:clamp(24px,4.2vh,46px) clamp(24px,4vw,64px);max-width:1380px;margin:auto;position:relative;background:transparent}
.shell{display:grid;grid-template-columns:minmax(300px,350px) minmax(0,1fr);gap:30px;height:100%;min-height:0}.home-pane{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;flex-shrink:0}.brand{font-family:var(--serif);font-style:italic;letter-spacing:-.04em;font-size:1.65rem;padding:0;white-space:nowrap}.brand small{font-family:inherit;color:var(--muted);font-size:.6rem;letter-spacing:0;font-style:normal}
.top-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.top-actions>button{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:44px;padding:6px;border-radius:50%}.top-actions>button:hover{background:var(--surface)}.top-actions .availability{width:auto;padding:5px 9px;gap:5px;font-size:.65rem;border:1px solid #8fbaab55;white-space:nowrap;border-radius:20px;height:32px}.availability .p{width:6px;height:6px;border-radius:50%;background:#41a474}.quiet .availability .p{background:var(--muted)}.top-actions svg{width:20px;height:20px}.expand-icon path,.collapse-icon path{fill:none;stroke:currentColor;stroke-width:1.5}.collapse-icon{display:none}.immersive .collapse-icon{display:block}.immersive .expand-icon{display:none}.me-orb{width:23px;height:23px;border-radius:50%;background:conic-gradient(from 150deg,#46728a,#83a5b0,#e3825d,#e5d9bc,#46728a);border:3px solid #ecece660;box-shadow:0 0 0 1px var(--rule)}.mini-door{width:16px;height:23px;border:1.4px solid var(--muted);border-radius:8px 8px 0 0;position:relative}.mini-door:after{content:"";position:absolute;width:2px;height:2px;background:var(--warm);border-radius:50%;right:3px;top:13px}.knock-badge{position:absolute;right:0;top:0;min-width:16px;height:16px;padding:0 3px;display:grid;place-items:center;border-radius:9px;background:var(--warm);color:#fff;font-size:.6rem;font-weight:600}
.home-main{padding:clamp(36px,11vh,116px) 0 16px;display:flex;flex-direction:column;gap:14px;min-height:0}.identity-hero{position:relative}.hero-label{padding:0;color:var(--muted);font-size:.65rem;letter-spacing:.03em;min-height:28px}.hero-label span{font-size:.9rem;margin-left:4px}.bigid{display:block;padding:0;margin:2px 0 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(3.4rem,4.4vw,4.25rem);font-weight:600;line-height:1.08;letter-spacing:.025em;text-align:left;width:100%;color:var(--ink)}.bigid:disabled{opacity:.35}.tag{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--ink);white-space:nowrap}.tag strong{font-weight:400}.product-line{margin-top:4px;color:var(--muted);font-size:.65rem}
.finders{display:grid;gap:0;position:relative}.finder{display:grid;grid-template-columns:82px minmax(0,1fr) 40px;align-items:center;border-bottom:1px solid var(--rule);min-height:48px;gap:5px}.finder-caption{display:flex;flex-direction:column;justify-content:center}.finder label{margin:0;font-size:.7rem;color:var(--ink);white-space:nowrap}.finder-caption button{font-size:.6rem;line-height:1.2;color:var(--muted);padding:0;text-align:left;width:max-content;min-height:18px}.finder input{border:0;background:transparent;border-radius:0;padding:8px 0;font-size:1rem}.finder .go{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--rule);border-radius:50%}.go svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.core-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.primary-card{min-height:68px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:5px;text-align:left;padding:12px;border:1px solid var(--rule);color:var(--ink);box-shadow:0 12px 28px -24px #29212a55}.new-room{background:linear-gradient(120deg,#f1e8e1c0,#dce7ebd0)}.meet-card{background:var(--surface)}.primary-card:hover{border-color:var(--blue)}.action-copy{min-width:0}.action-copy strong{display:block;font-size:.9rem;font-weight:600;line-height:1.2}.action-copy small{display:block;color:var(--muted);margin-top:4px;font-size:.62rem}.create-door{width:25px;height:38px;border:1.6px solid #779eb2;border-radius:16px 16px 2px 2px;position:relative;flex-shrink:0;box-shadow:inset 3px 0 0 #779eb22c}.create-door:after{content:"";position:absolute;width:3px;height:3px;background:var(--warm);right:4px;top:23px;border-radius:50%}.meet-radar{width:31px;height:31px;border:1px solid #8daaa055;border-radius:50%;position:relative;flex-shrink:0;background:conic-gradient(from 215deg,transparent,#82a69a24,transparent)}.meet-radar:before,.meet-radar:after{content:"";position:absolute;border:1px solid #8daaa075;border-radius:50%;inset:6px}.meet-radar:after{inset:12px;background:var(--warm);border:0}
.trays{display:grid;gap:12px}.tray-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:.65rem}.tray-head strong{font-weight:500;letter-spacing:.11em;text-transform:uppercase}.tray-head span,.tray-head button{color:var(--muted);padding:0}.room-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.room-slot{min-width:0;min-height:53px;border:1px solid var(--rule);border-radius:12px;position:relative;text-align:center;padding:7px 3px;display:flex;flex-direction:column;justify-content:center;gap:3px;background:var(--surface)}.room-slot.filled{background:linear-gradient(135deg,var(--room-a,#dae5eb),var(--room-b,#e5e9df));border-color:#9cadb340;color:#253139}.room-slot.vacant{background:transparent;opacity:.45}.room-slot.active,.mroom.active{outline:1.5px solid var(--blue);outline-offset:1px}.rs-copy{min-width:0;display:grid;gap:3px}.rs-copy b{font-family:ui-monospace,monospace;font-size:1rem;font-weight:600;letter-spacing:.035em}.rs-copy small{font-size:.53rem;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.unread{position:absolute;right:-3px;top:-5px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px;border-radius:50%;font-size:.6rem;background:var(--blue);color:var(--surface)}.plus{font-size:1.1rem;color:var(--muted)}.people-preview{display:flex;align-items:center;gap:7px;min-height:38px}.people-preview>button{padding:0}.person-orb{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;line-height:1;border-radius:50%;font-family:var(--serif);font-style:italic;font-size:.8rem;box-shadow:inset 0 0 0 1px #5b5c6120;background:linear-gradient(140deg,#f2eeea,#bdbeb8);color:#4c5058}.person-orb.w{background:linear-gradient(140deg,#faf0f1,#e6b7c8)}.person-orb.m{background:linear-gradient(140deg,#f2f7f7,#bdd5df)}
.stage{display:flex;flex-direction:column;position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:28px;background:var(--surface);border:1px solid var(--rule);box-shadow:0 18px 35px -30px rgba(49,45,60,.25)}.stage-empty{flex:1;min-height:0;height:100%;display:grid;place-items:center;position:relative;background:var(--surface)}.empty-art{text-align:center;position:relative}.empty-rings{width:340px;height:340px;border:1px solid #7a948b22;border-radius:50%;position:absolute;left:50%;top:42%;transform:translate(-50%,-50%)}.ambient-door{width:86px;height:148px;border:4px solid #aabb8b70;border-radius:52px 52px 3px 3px;position:relative;margin:0 auto 34px;background:linear-gradient(100deg,#d6e0c5,#bbcd9b);transform:perspective(450px) rotateY(-14deg);box-shadow:inset -13px 0 0 #79945f24,10px 5px 5px #a6b68920,0 20px 40px -8px #a6b68945}.ambient-door:after{content:"";width:6px;height:6px;border-radius:50%;background:#bc7d5f;position:absolute;right:15px;top:94px}.ambient-door .s{position:absolute;color:#8a9a91}.s1{top:25px;left:-55px}.s2{top:70px;right:-65px}.s3{bottom:10px;left:-85px}.ambient-copy{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1.2rem;letter-spacing:-.02em}#stageView{flex:1;min-height:0}#stageRequestSlot{flex-shrink:0;min-width:0}.stage-view{display:flex;flex-direction:column;height:100%;min-height:0}.stage-top{display:flex;align-items:center;gap:10px;min-height:64px;padding:9px 18px;border-bottom:1px solid var(--rule);flex-shrink:0}.stage-back,.room-door,.room-invite{min-width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:1.5rem}.stage-heading{min-width:0;display:grid;gap:3px}.stage-heading strong{font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis}.stage-heading small{font-size:.7rem}.stage-body{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.people-page{overflow:auto;height:100%;min-height:0}.page-pad{padding:30px;max-width:850px;margin:auto}.page-pad>h1{margin-bottom:18px}.page-pad>p{color:var(--muted);margin:10px 0 18px}.page-pad>form{max-width:520px}.page-pad .section{margin:20px 0}.mobile-room-rail{display:none}.room-heading{display:flex;align-items:center;gap:13px;min-width:0;flex:1}.room-heading>span{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-code{font-family:ui-monospace,monospace;letter-spacing:.13em;font-size:1.3rem;font-weight:600;line-height:44px;padding:0 5px;flex-shrink:0}.room-door svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}.stage-room{background:radial-gradient(ellipse at 15% 10%,var(--room-a,#deebe9),transparent 70%),radial-gradient(ellipse at 95% 75%,var(--room-b,#e6e8e3),transparent 70%),var(--surface);color:var(--ink)}.stage-room .stage-top{background:var(--surface)}.room-page{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;padding:0 20px 18px;gap:8px}.room-messages{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:20px 2px;scrollbar-width:thin;overflow-anchor:none}.msg{display:flex;margin:0 0 16px;position:relative}.msg.mine{justify-content:flex-end}.msg-copy{max-width:82%;min-width:80px;border-radius:16px 16px 16px 3px;background:var(--surface);padding:12px 15px;box-shadow:0 2px 12px #283b3a05;color:var(--ink)}.mine .msg-copy{border-radius:16px 16px 3px 16px;background:var(--paper)}.msg-label{display:block;color:var(--muted);font-size:.7rem;margin-bottom:4px}.msg-text{font-size:.9375rem;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}.message-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--muted);min-height:17px;margin-top:6px;font-size:.625rem}.message-meta time{font-size:.6875rem}.message-ticks svg{width:22px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.message-state{font-size:.7rem;color:var(--muted);text-align:left}.pending .msg-copy{border:1px dashed var(--rule)}.room-empty{height:100%;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;color:var(--muted);text-align:center}.room-empty h2{font-size:1.8rem}.small-threshold{width:48px;height:79px;border:3px solid #799ca86e;border-radius:30px 30px 0 0;box-shadow:0 10px 20px #7fa2a712;position:relative}.small-threshold:after{content:"";width:4px;height:4px;border-radius:50%;background:#b97858;position:absolute;right:7px;top:50px}.composer{display:flex;align-items:flex-end;gap:8px;background:var(--surface);border:1px solid var(--rule);border-radius:22px;padding:4px 5px 4px 13px;min-height:52px;flex-shrink:0;box-shadow:0 4px 20px #34474608}.composer textarea{resize:none;background:transparent;border:0;border-radius:0;padding:10px 0;line-height:1.4;min-height:42px;max-height:calc(7rem + 20px);overflow-y:hidden;font-size:1rem}.composer textarea:focus-visible{outline:2px solid var(--blue);outline-offset:0;border-radius:6px}.send{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--blue);color:var(--surface);display:grid;place-items:center}.send svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.room-readiness{font-size:.75rem;color:var(--muted);padding:3px 2px;text-align:center;flex-shrink:0}.new-message-jump{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);border-radius:20px;background:var(--surface);border:1px solid var(--rule);padding:9px 16px;box-shadow:var(--shadow);font-size:.75rem;z-index:2}.connect-bar{flex-shrink:0;text-align:center;padding:8px}.connect-bar button{color:var(--blue);min-height:44px;border:1px solid var(--rule);border-radius:20px;padding:6px 20px}.chat-protection-warning{background:#fbedd7;color:#805525;padding:7px 16px;font-size:.75rem;text-align:center}
.solid-btn,.soft-btn,.tiny-action,.result-actions>button,.choice-row>button,.meet-choice{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;border-radius:14px;padding:10px 16px;font-size:.8125rem;line-height:1.3}.solid-btn{background:var(--blue);color:var(--surface)}.soft-btn{border:1px solid var(--rule);background:var(--surface)}.tiny-action{color:var(--blue);padding:8px 10px;font-size:.75rem}.danger-btn{color:var(--danger)}.solid-btn.danger-btn{background:var(--danger);color:var(--surface)}.result-actions,.password-row,.inline-row,.connection-controls,.choice-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.result-actions{margin:16px 0}.inline-row{justify-content:space-between;margin:10px 0}.password-row>input{flex:1;min-width:140px}.section{padding:12px 0;border-bottom:1px solid var(--rule)}.section:last-child{border:0}.section-title{font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:11px}.section p,.section-note,.request-inbox-note{font-size:.8125rem;color:var(--muted);margin:8px 0 14px}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:10px 0;text-align:left;font-size:.875rem}.menu-row span{color:var(--muted);font-size:.75rem}.menu-id,.code-val{font-family:ui-monospace,monospace;font-size:1.6rem;letter-spacing:.1em;overflow-wrap:anywhere}.choice-row>button{border:1px solid var(--rule);padding:9px 11px}.choice-row [aria-pressed=true]{background:var(--blue);color:var(--surface);border-color:var(--blue)}.notification-choice{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--ink);font-size:.875rem;margin:4px 0}.notification-choice input{width:20px;height:20px;flex-shrink:0;accent-color:var(--blue);margin:0}.member,.person-row{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 0;border-bottom:1px solid var(--rule)}.member-copy{min-width:0;flex:1;display:grid;gap:3px}.member-copy strong{font-weight:500;overflow-wrap:anywhere}.person-identity{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;padding:0;min-height:44px}.person-identity>span:last-child{display:grid;gap:3px;min-width:0}.person-identity strong{font-weight:500;overflow-wrap:anywhere}.person-identity small{overflow-wrap:anywhere}.person-profile{text-align:center;padding:12px 0 20px}.person-profile .person-orb{margin:0 auto 18px;width:64px;height:64px;font-size:1rem}.person-profile p{margin:12px 0;color:var(--muted)}.people-search{margin:0 0 18px}.inline-invite{flex-shrink:0;max-height:45%;overflow:auto;background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:10px 16px;margin-top:10px}.inline-invite label{margin:7px 0}.inline-invite .invite-person{padding:8px 0}.invite-list{display:grid;gap:8px}.invite-person{display:flex;gap:12px;align-items:center;justify-content:space-between;width:100%;text-align:left;border-bottom:1px solid var(--rule);padding:14px 0;min-height:52px}.invite-person>span{display:grid;gap:4px;flex:1}.invite-person>span:last-child{flex:0;white-space:nowrap;font-size:.75rem}.invite-person small{display:block}.all-rooms{display:grid;gap:8px}.request-card,.knock-card{padding:18px;border:1px solid var(--rule);background:var(--surface);border-radius:18px;margin:12px 0}.request-head,.knock-header,.request-person{display:flex;align-items:center;gap:12px}.request-actions,.knock-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.request-actions button,.knock-actions button{min-height:44px;padding:10px 14px;border:1px solid var(--rule);border-radius:12px}.request-actions .accept,.knock-actions .accept{background:var(--blue);color:var(--surface)}.request-card p{font-size:.8125rem;color:var(--muted);margin:10px 0}.entry-state{padding:14px 0;border-bottom:1px solid var(--rule)}.entry-state p{margin:8px 0;color:var(--muted)}.entry-state .result-actions{margin:8px 0}.account-help{margin:16px 0}
.scrim{position:fixed;inset:0;background:#29263145;opacity:0;pointer-events:none;z-index:20;transition:opacity .16s}.scrim.show{opacity:1;pointer-events:auto}.drawer{position:fixed;top:calc(var(--viewport-top) + 24px);bottom:24px;right:max(24px,calc((100vw - 1380px)/2 + 24px));width:min(440px,calc(100vw - 48px));display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--rule);border-radius:24px;box-shadow:var(--shadow);z-index:30;transform:translateX(calc(100% + 40px));visibility:hidden;transition:transform .18s,visibility .18s}.drawer.open{transform:translateX(0);visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:7px 22px;border-bottom:1px solid var(--rule);flex-shrink:0}.drawer-head strong{font-weight:500;font-size:.9375rem}.drawer-close{width:44px;height:44px;font-size:1.5rem}.drawer-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 24px 18px}.confirmation-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(var(--app-h) - 32px);padding:26px;border:1px solid var(--rule);border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);overflow:auto}.confirmation-dialog::backdrop{background:#211c2b66}.confirmation-dialog h2{font-size:1.8rem;margin-bottom:16px}.confirmation-dialog p{color:var(--muted);font-size:.875rem;margin:12px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-kicker{color:var(--muted);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}.direct-request-pop{position:fixed;right:40px;bottom:40px;width:min(350px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--rule);border-radius:20px;box-shadow:var(--shadow);padding:18px;z-index:10}.direct-request-head{display:flex;align-items:center;gap:12px}.direct-request-copy{display:grid;gap:3px}.direct-request-pop p{margin:12px 0;font-size:.8125rem;max-height:100px;overflow:auto}.direct-request-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:12px}.direct-request-actions button{min-height:44px;padding:8px 11px;border-radius:12px}.direct-request-actions .accept{background:var(--blue);color:var(--surface)}.direct-request-pop.is-inline{position:static;width:100%;padding:8px 14px;border:0;border-bottom:1px solid var(--rule);border-radius:0;box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px}.is-inline .direct-request-head{gap:8px;min-width:0}.is-inline .person-orb{width:32px;height:32px}.is-inline .direct-request-copy{min-width:0;overflow-wrap:anywhere}.is-inline .direct-request-copy small{font-size:.6875rem;color:var(--muted)}.is-inline .direct-request-actions{margin:0;align-self:center}.is-inline p{grid-column:1/-1;margin:0;max-height:60px}.toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,10px);padding:12px 18px;border-radius:15px;background:var(--ink);color:var(--paper);font-size:.8125rem;z-index:50;opacity:0;visibility:hidden;max-width:min(520px,calc(100vw - 32px));pointer-events:none;transition:opacity .15s,transform .15s}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}.connection-status{position:fixed;top:calc(var(--viewport-top) + env(safe-area-inset-top) + 5px);left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:8px 14px;font-size:.75rem;box-shadow:0 4px 16px #0000000d;z-index:15;pointer-events:none}.connection-status.is-error{color:var(--danger)}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--surface);padding:12px;border:2px solid var(--blue)}.skip-link:focus{top:12px}.noscript-warning{position:fixed;top:10px;left:10px;background:var(--surface);padding:10px;z-index:99}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.eyebrow{display:block;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.compact-menu{display:flex;flex-direction:column;gap:10px;padding:16px 0 0;min-height:0}.compact-menu h2{font-style:italic}.profile-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px}.profile-heading .menu-id{padding:0;font-size:1.65rem;font-weight:600;letter-spacing:.08em}.profile-heading .eyebrow{font-size:.55rem;max-width:110px;text-align:right}.name-editor,.compact-input{display:flex;align-items:center;gap:4px;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}.name-editor input,.compact-input input{border:0;background:transparent;padding:8px 10px;flex:1;min-width:0}.name-editor button,.compact-input button{flex-shrink:0;min-height:40px}.setting-group{border-top:1px solid var(--rule);padding-top:10px}.setting-group>.section-title{font-size:.6rem;margin:0 0 6px}.compact-menu .choice-row{display:flex;flex-wrap:nowrap;gap:5px}.compact-menu .choice-row button{flex:1;min-width:0;min-height:38px;padding:6px 4px;font-size:.72rem;border-radius:18px;background:var(--surface)}.compact-menu .choice-row [aria-pressed=true]{background:#dce7ec;color:#29475a;border-color:#9eb9c760}.theme-choices button{flex-direction:column;gap:3px!important;min-height:54px!important;font-size:.6rem!important;border-radius:12px!important}.theme-swatch{height:15px;width:24px;border-radius:7px;border:1px solid #5552;display:block;background:linear-gradient(120deg,#d7e8dd,#d8e4ef)}.theme-swatch.warm{background:#e9dfce}.theme-swatch.dark{background:linear-gradient(120deg,#344654,#4b3b4e)}.theme-swatch.system{background:linear-gradient(90deg,#ece8e1 50%,#32353b 50%)}
.menu-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-top:1px solid var(--rule);padding-top:12px}.menu-shortcuts .soft-btn{min-height:38px;padding:6px 8px;font-size:.72rem;border-radius:12px}.menu-shortcuts .menu-row{min-height:38px;grid-column:1/-1;padding:4px 0}.menu-shortcuts>.tiny-action{grid-column:1/-1;justify-self:start;padding:0;min-height:28px}.account-settings,.password-settings{gap:12px}.back-settings{align-self:start;min-height:30px;padding:0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.settings-card{border:1px solid var(--rule);border-radius:16px;min-height:84px;padding:12px;text-align:left;background:var(--surface);display:flex;flex-direction:column;justify-content:center;gap:5px}.settings-card strong{font-weight:500;font-size:.83rem}.settings-card small{font-size:.65rem}.account-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--rule)}.compact-menu .section-note{margin:0}.password-form label{margin:12px 0}.password-form .solid-btn{width:100%;margin-top:8px}.member-list{max-height:min(23vh,170px);overflow:auto;scrollbar-width:thin}.compact-menu .member{padding:5px 0;gap:8px;min-height:44px}.compact-menu .member .person-orb{width:30px;height:30px;font-size:.7rem}.compact-menu .member strong{font-size:.8rem}.compact-menu .member small{font-size:.6rem}.invite-fields{display:grid;gap:6px}.invite-fields>input{min-height:36px;padding:7px 10px;font-size:.85rem}.connection-list{max-height:min(18vh,140px);overflow:auto;scrollbar-width:thin;gap:0}.connection-list .invite-person{min-height:44px;padding:5px 0;font-size:.8rem;gap:8px}.connection-list .invite-person .person-orb{width:30px;height:30px}.connection-list .invite-person strong{font-weight:500}.connection-list .invite-person small{font-size:.6rem}.connection-list .invite-person>span:last-child{font-size:.7rem}.room-invitations .connection-list{margin-top:5px}.room-menu-footer{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid var(--rule);padding-top:10px}.room-menu-footer button{flex:1;min-height:38px;white-space:nowrap;font-size:.7rem;padding:6px}.inline-invite{max-height:45%;padding:8px 12px}.inline-invite .inline-row{margin:0 0 5px}.home-note{margin:0;padding:4px 0}.home-note textarea{min-height:50px;max-height:80px;padding:6px;font-size:.85rem}.home-note:has(textarea:focus){display:block}
.meet-page{display:grid;grid-template-columns:minmax(0,1fr) 200px;column-gap:24px;align-items:center;min-height:0;height:100%}.stage-meet .people-page{overflow:hidden}.stage-meet .page-pad{height:100%;max-width:none;padding:clamp(14px,3vh,30px)}.meet-focal{text-align:center;min-width:0;display:flex;flex-direction:column;height:100%;justify-content:center;gap:12px}.meet-intro h1{font-family:var(--serif);font-style:italic;font-size:clamp(2rem,3vw,3.2rem);line-height:1.1;margin:7px 0 10px}.meet-intro p{font-size:.65rem;color:var(--muted)}.meet-water{width:min(330px,30vw,36vh);aspect-ratio:1;margin:10px auto;position:relative;border-radius:50%;background:radial-gradient(ellipse at 45% 35%,#b9d2d633,transparent 66%),radial-gradient(ellipse at 60% 70%,#eed9c830,transparent 70%)}.water-ring{position:absolute;inset:0;border:14px solid #95b1ba0b;box-shadow:0 0 0 1px #9ab7be0d,inset 0 0 12px #9ab7be0b;border-radius:50%;transform:scale(.95)}.water-ring:nth-child(2){inset:14%;border-width:12px}.water-ring:nth-child(3){inset:29%;border-width:9px}.water-centre{position:absolute;inset:48%;border-radius:50%;background:var(--warm);box-shadow:0 0 25px #ed80553a}.meet-searching .water-ring{animation:radar-breathe 3.6s ease-out infinite}.meet-searching .water-ring:nth-child(2){animation-delay:1.2s}.meet-searching .water-ring:nth-child(3){animation-delay:2.4s}.meet-result h2{font-family:inherit;font-size:.88rem;font-weight:500;letter-spacing:0}.meet-result p{font-size:.65rem;color:var(--muted);margin:7px auto;max-width:260px}.meet-result button{margin-top:10px;border-radius:22px;background:var(--warm);color:#fff;min-height:42px}.meet-preferences{border:1px solid var(--rule);border-radius:18px;padding:15px;background:var(--surface);box-shadow:0 15px 30px -25px #28202545;align-self:center}.meet-preferences .section-title{font-size:.6rem;margin:0 0 8px}.meet-preferences .choice-row{gap:4px;flex-wrap:nowrap;margin-bottom:18px}.meet-choice{padding:5px 4px;font-size:.63rem;border:1px solid var(--rule);border-radius:20px;min-height:36px;flex:1;min-width:0}.meet-preferences .menu-row{font-size:.7rem;margin-top:8px;gap:8px;min-height:44px;border-top:1px solid var(--rule);padding-top:12px}.meet-preferences .menu-row span{color:var(--ink);font-size:.7rem}.meet-preferences .menu-row small{display:block;font-size:.58rem;margin-top:4px}.switch-track{display:block;position:relative;width:29px;height:17px;background:#b6b6b655;border:1px solid var(--rule);border-radius:10px;flex-shrink:0}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0002}.menu-row[aria-pressed=true] .switch-track{background:#80a998}.menu-row[aria-pressed=true] .switch-track:after{left:14px}.meet-result{min-height:78px}.home-main,.stage-top,.composer{transition:none}@keyframes radar-breathe{0%{opacity:.15;transform:scale(.65)}45%{opacity:1}100%{opacity:.1;transform:scale(1.15)}}

@media(min-width:900px) and (max-height:760px){#app{padding:24px 40px}.home-main{padding-top:clamp(16px,5vh,44px);gap:12px}.meet-water{width:min(230px,30vh)}}
@media(min-width:900px) and (max-width:1100px){#app{padding:22px}.shell{grid-template-columns:310px minmax(0,1fr);gap:22px}.top .immersive-toggle{display:none}.meet-page{grid-template-columns:1fr;gap:8px}.meet-preferences{display:grid;grid-template-columns:64px 1fr;column-gap:8px;row-gap:6px;padding:10px;align-items:center}.meet-preferences .choice-row{margin:0}.meet-preferences .section-title{margin:0}.meet-preferences .menu-row{grid-column:1/-1;margin:0;padding:4px 0}.meet-water{width:180px}.meet-focal{gap:5px}.meet-intro h1{font-size:2.1rem}}
@media(max-width:899px){#app{position:fixed;top:var(--viewport-top);left:0;width:100%;height:var(--app-h);padding:0;max-width:none}.shell{display:block;height:100%;max-width:560px;margin:auto}.home-pane{height:100%;padding:env(safe-area-inset-top) 22px env(safe-area-inset-bottom);overflow:hidden}.top{min-height:64px;gap:6px}.brand{font-size:1.55rem}.top-actions{gap:1px}.top-actions>button{width:37px;height:44px}.top .immersive-toggle{display:none}.top-actions .availability{font-size:.65rem;padding:5px 7px;height:30px}.home-main{flex:1;justify-content:center;padding:20px 0 32px;gap:13px}.bigid{font-size:3.8rem}.tag{font-size:1.02rem}.primary-card{min-height:72px}.room-slot{min-height:55px}.stage{display:none;position:absolute;inset:0;border:0;border-radius:0;height:100%;background:var(--surface);z-index:5}.stage-open .stage{display:flex;flex-direction:column}.stage-open .home-pane{visibility:hidden}.mobile-room-rail{display:flex;flex-shrink:0;gap:6px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;background:var(--surface);border-bottom:1px solid var(--rule)}.mobile-room-rail::-webkit-scrollbar{display:none}.mroom{position:relative;flex:1 0 54px;min-width:54px;max-width:95px;min-height:38px;border-radius:10px;padding:6px 4px;border:1px solid var(--rule);background:linear-gradient(120deg,var(--room-a,#e2e9eb),var(--room-b,#e5e9df));color:#253139;text-align:center}.mroom .rs-copy small{display:none}.mroom .rs-copy b{font-size:1rem}.stage-top{min-height:54px;padding:5px 10px;gap:4px}.stage-open .mobile-room-rail[hidden]~#stageView .stage-top{padding-top:calc(env(safe-area-inset-top) + 7px)}#stageView{flex:1;min-height:0}.room-heading{gap:6px}.room-code{font-size:1.3rem;letter-spacing:.08em}.room-heading>span{font-size:.65rem}.room-page{padding:0 10px calc(env(safe-area-inset-bottom) + 7px);gap:4px}.room-messages{padding:14px 3px}.msg-copy{max-width:90%;padding:9px 12px}.composer{min-height:50px}.composer textarea{font-size:1rem}.page-pad{padding:20px;max-height:100%}.page-pad h1{font-size:2.25rem}.page-pad .section{margin:8px 0}.drawer{top:var(--viewport-top);bottom:auto;left:0;right:0;width:100%;height:var(--app-h);max-height:none;border:0;border-radius:0;transform:translateX(100%)}.drawer-head{min-height:calc(56px + env(safe-area-inset-top));padding:calc(6px + env(safe-area-inset-top)) 20px 6px}.drawer-content{padding:0 22px calc(16px + env(safe-area-inset-bottom));overflow:auto}.compact-menu{gap:10px;padding-top:12px}.profile-settings{height:100%;max-height:650px;margin:auto;justify-content:center}.compact-menu .choice-row button{min-height:38px}.menu-shortcuts{margin-top:2px}.direct-request-pop{left:22px;right:22px;top:calc(var(--viewport-top) + env(safe-area-inset-top) + 70px);bottom:auto;width:auto;padding:10px 12px}.direct-request-head{gap:8px}.direct-request-actions{margin-top:6px}.direct-request-actions button{min-height:36px;padding:5px 8px;font-size:.7rem}.direct-request-pop.is-inline{position:static}.room-empty h2{font-size:1.4rem}.room-empty{gap:18px}.stage-meet .page-pad{padding:16px 20px;height:100%}.meet-page{display:flex;flex-direction:column;gap:10px;height:100%;justify-content:center}.meet-focal{display:contents}.meet-intro{order:0;text-align:center}.meet-intro h1{font-size:2.45rem;margin:6px 0 8px}.meet-intro p{font-size:.6rem}.meet-preferences{order:1;display:grid;grid-template-columns:66px minmax(0,1fr);gap:7px 8px;border:0;padding:0;background:transparent;box-shadow:none;width:100%;max-width:400px;align-items:center}.meet-preferences .section-title{margin:0;font-size:.56rem}.meet-preferences .choice-row{gap:5px;margin:0}.meet-choice{min-height:36px;font-size:.67rem;padding:5px}.meet-preferences .menu-row{grid-column:1/-1;padding:7px 0;margin:2px 0;min-height:40px}.meet-preferences .menu-row small{font-size:.6rem}.meet-water{order:2;width:min(240px,28vh);margin:0 auto;flex-shrink:1;min-width:100px}.meet-result{order:3;text-align:center;min-height:0}.meet-result h2{font-size:.85rem}.meet-result p{font-size:.62rem}.meet-result button{margin-top:8px;min-height:40px}.people-search{margin-bottom:10px}.person-profile{padding:5px 0 10px}.person-profile .person-orb{margin-bottom:10px;width:48px;height:48px}.person-profile p{margin:5px 0}.person-row{padding:9px 0}.person-row>.soft-btn{padding:8px 10px}.result-actions{margin:10px 0}}
@media(max-width:899px) and (max-height:760px){.top{min-height:56px}.home-main{justify-content:center;padding:8px 0 15px;gap:10px}.bigid{font-size:3.2rem;margin:0 0 4px}.tag{font-size:.94rem}.product-line{margin-top:3px;font-size:.6rem}.primary-card{min-height:62px;padding:9px 11px}.finder{min-height:44px}.trays{gap:10px}.tray-head{margin-bottom:6px}.room-slot{min-height:48px}.people-preview{min-height:34px}.people-preview .person-orb{width:33px;height:33px}.compact-menu{gap:7px;padding-top:9px}.setting-group{padding-top:7px}.setting-group>.section-title{margin-bottom:4px;font-size:.56rem}.compact-menu .choice-row button{min-height:34px;padding:4px}.theme-choices button{min-height:47px!important}.menu-shortcuts{padding-top:8px;gap:5px}.menu-shortcuts .soft-btn,.menu-shortcuts .menu-row{min-height:34px}.menu-shortcuts>.tiny-action{min-height:25px}.drawer-head{min-height:50px;padding-top:4px;padding-bottom:4px}.profile-heading .menu-id{font-size:1.45rem}.member-list{max-height:18vh}.connection-list{max-height:14vh}.meet-intro h1{font-size:2.1rem}.meet-water{width:min(160px,23vh)}.meet-page{gap:6px}.meet-intro p{font-size:.57rem}.meet-result p{margin:4px auto}.stage-meet .page-pad{padding:10px 18px}.room-menu-footer{padding-top:7px}.settings-card{min-height:70px;padding:10px}.account-settings,.password-settings{gap:9px}.account-settings h2,.password-settings h2{font-size:1.6rem}.account-footer{padding-top:8px}}
@media(max-width:350px){.home-pane{padding-left:16px;padding-right:16px}.brand{font-size:1.35rem}.brand small{font-size:.55rem}.top-actions>button{width:33px}.top-actions .availability{padding:5px;font-size:.6rem}.finder{grid-template-columns:72px minmax(0,1fr) 36px}.room-slots{gap:4px}.room-slot .rs-copy b{font-size:.92rem}.action-copy strong{font-size:.8rem}.action-copy small{font-size:.57rem}.create-door{width:22px;height:34px}.drawer-content{padding-left:16px;padding-right:16px}.theme-choices button{font-size:.55rem!important}.meet-preferences{grid-template-columns:55px 1fr}.meet-choice{font-size:.6rem}.meet-intro h1{font-size:1.95rem}.tag{font-size:.91rem}}
@media(max-width:899px) and (orientation:landscape){.home-main{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;align-content:center;justify-content:normal;padding:6px 0}.identity-hero{grid-column:1;grid-row:1/3}.bigid{font-size:3.2rem}.finders{grid-column:2;grid-row:1/3}.core-actions{grid-column:1}.trays{grid-column:2;grid-row:3/5;gap:7px}.primary-card{min-height:56px}.room-slot{min-height:45px}.profile-settings{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;align-content:center;max-width:720px}.profile-heading,.name-editor{grid-column:1}.profile-settings .menu-shortcuts{grid-column:2;grid-row:4/7;align-content:start}.setting-group{padding-top:6px}.meet-page{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;align-content:center}.meet-focal{display:contents}.meet-intro{grid-column:1}.meet-intro h1{font-size:1.8rem}.meet-preferences{grid-column:2;grid-row:1/3}.meet-water{display:none}.meet-result{grid-column:1}.room-settings{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;align-content:start}.room-settings .room-invitations{grid-column:2;grid-row:1/4}.room-menu-footer{grid-column:1/-1}.member-list{max-height:20vh}.room-settings .profile-heading .eyebrow{display:none}.room-settings .member-copy small{display:none}.account-settings .settings-grid{grid-template-columns:repeat(3,1fr)}.account-settings .section-note{display:none}.account-settings .settings-card{min-height:60px}.compact-menu .menu-row{min-height:34px}}
@media(max-height:420px){#app{padding-top:8px;padding-bottom:8px}.top{min-height:48px}.room-messages{padding:8px 2px}.room-empty{min-height:70px;flex-direction:row}.small-threshold{width:28px;height:45px}.drawer-head{min-height:46px}.compact-menu{padding-top:6px}.connection-list{max-height:24vh}.settings-card{min-height:58px}.meet-result p{display:none}}
:root[data-appearance=warm] .stage-room{background:var(--surface)}:root[data-appearance=warm] .new-room{background:#eae1d6}:root[data-appearance=warm] .stage-empty{background:var(--surface)}
:root[data-appearance=dark] .stage-room{background:radial-gradient(ellipse at 10% 10%,hsl(var(--room-hue,190),22%,23%),transparent 70%),radial-gradient(ellipse at 95% 90%,hsl(var(--room-other-hue,290),18%,22%),transparent 70%),var(--surface)}:root[data-appearance=dark] .new-room{background:linear-gradient(120deg,#3b3534,#293d47)}:root[data-appearance=dark] .room-slot.filled,:root[data-appearance=dark] .mroom{background:hsl(var(--room-hue,190),20%,27%);color:var(--ink)}:root[data-appearance=dark] .compact-menu .choice-row [aria-pressed=true]{background:#38515f;color:var(--ink)}
@media(prefers-color-scheme:dark){:root[data-appearance=system] .stage-room{background:radial-gradient(ellipse at 10% 10%,hsl(var(--room-hue,190),22%,23%),transparent 70%),radial-gradient(ellipse at 95% 90%,hsl(var(--room-other-hue,290),18%,22%),transparent 70%),var(--surface)}:root[data-appearance=system] .new-room{background:linear-gradient(120deg,#3b3534,#293d47)}:root[data-appearance=system] .room-slot.filled,:root[data-appearance=system] .mroom{background:hsl(var(--room-hue,190),20%,27%);color:var(--ink)}:root[data-appearance=system] .compact-menu .choice-row [aria-pressed=true]{background:#38515f;color:var(--ink)}}
.document-hidden .water-ring,.meet-water.motion-paused .water-ring,.shell[inert] .water-ring,#stageView[hidden] .water-ring{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.primary-card,.room-slot,.mroom,.composer,.msg-copy,.drawer,.person-orb{border:1px solid CanvasText}.person-orb,.me-orb{background:Canvas}.availability .p{background:CanvasText}.message-ticks svg{stroke:CanvasText}}
body:not(.stage-open) .stage-back{visibility:hidden}body:not(.stage-open) .home-pane{visibility:visible}

.history-older{flex:0 0 auto;min-height:36px;padding:4px 12px;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--muted);font-size:12px}
#joinFeedback:empty{display:none}

/* Requests own space beneath the toolbar, never a floating overlay. */
#homeRequestSlot{flex:0 0 auto;margin-top:10px;border:1px solid var(--rule);border-radius:14px;background:var(--surface);overflow:hidden}#homeRequestSlot .direct-request-pop{position:static;display:flex;flex-wrap:wrap;gap:4px;width:100%;padding:8px 10px;border:0;box-shadow:none;background:transparent}#homeRequestSlot .direct-request-head{flex:1;min-width:100px}#homeRequestSlot .direct-request-actions{margin:0;gap:2px}#homeRequestSlot .direct-request-actions button{min-height:32px;font-size:.65rem;padding:5px 7px}#homeRequestSlot .person-orb{width:27px;height:27px;font-size:.65rem}#homeRequestSlot p{order:3;width:100%;margin:0;font-size:.7rem;max-height:48px;overflow:auto}.direct-pop-open .home-main{padding-top:clamp(12px,4vh,40px)}
@media(max-width:899px){#homeRequestSlot{margin-top:2px}.direct-pop-open .home-main{padding-top:6px;padding-bottom:10px;justify-content:center;gap:8px}.direct-pop-open .bigid{font-size:2.8rem}.direct-pop-open .hero-label{min-height:24px}.direct-pop-open .primary-card{min-height:58px}.direct-pop-open .product-line{display:none}}

/* Compact access screens; only growing records scroll. */
.devices-page{display:flex;flex-direction:column;gap:16px;height:100%;min-height:0}.devices-page h1,.recovery-tools h1{margin:0}.devices-page>.section-note{margin:0}.device-list{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain}.device-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--rule)}.device-card strong{font-weight:500}.device-card .section-note{margin:6px 0 0}.device-card button{flex-shrink:0}.stage-devices .people-page,.stage-devices .page-pad{height:100%;overflow:hidden}.recovery-tools{max-width:500px;display:grid;gap:16px;margin:auto}.stage-person .person-profile{padding:6px 0 14px;display:grid;grid-template-columns:60px minmax(0,1fr);text-align:left;column-gap:16px;align-items:center}.stage-person .person-profile .person-orb{grid-row:1/3;width:60px;height:60px;margin:0}.stage-person .person-profile h1{font-size:2rem;margin:0}.stage-person .person-profile p{margin:0}.stage-person .result-actions{gap:8px;margin:8px 0}.stage-person .connection-controls{display:flex;gap:8px;margin:10px 0}.stage-person .person-alias-edit{display:flex;align-items:end;gap:10px}.stage-person .person-alias-edit label{flex:1;margin:0}.stage-person .person-alias-edit button{flex-shrink:0}.stage-person .section{margin:12px 0}
@media(max-width:899px){.devices-page{gap:10px}.device-card{padding:10px 0;gap:8px}.device-card .section-note{font-size:.65rem}.device-card button{padding:8px;font-size:.7rem}.stage-person .page-pad{padding:16px 20px}.stage-person .person-profile{grid-template-columns:44px minmax(0,1fr);gap:3px 12px;padding-bottom:8px}.stage-person .person-profile .person-orb{width:44px;height:44px}.stage-person .person-profile h1{font-size:1.6rem}.stage-person .section-note{font-size:.7rem}.stage-person .person-alias-edit{margin:8px 0}.stage-person .person-alias-edit label{font-size:.68rem}.stage-person .person-alias-edit input{margin-top:4px}.recovery-tools{gap:12px}.recovery-tools h1{font-size:2rem}.recovery-tools p{font-size:.8rem;margin:0}}
@media(max-width:899px) and (max-height:620px){.stage-person .connection-controls button,.stage-person .result-actions button{min-height:34px;padding:6px 10px}.stage-person .section{margin:6px 0}.stage-person .page-pad{padding:10px 16px}.stage-person .person-profile h1{font-size:1.4rem}.recovery-tools{gap:8px}.recovery-tools label{font-size:.75rem}.recovery-tools input{margin-top:4px;min-height:38px}.recovery-tools .solid-btn,.recovery-tools .soft-btn{min-height:38px}}

@media(min-width:900px) and (max-height:800px){.profile-settings{gap:6px;padding-top:10px}.profile-settings .setting-group{padding-top:6px}.profile-settings .setting-group>.section-title{margin-bottom:4px}.profile-settings .menu-shortcuts{padding-top:8px;gap:5px}}
@media(max-width:899px) and (max-height:600px) and (orientation:portrait){.profile-settings{gap:4px;padding-top:6px}.profile-settings .setting-group{padding-top:5px}.profile-settings .setting-group>.section-title{margin-bottom:3px}.profile-settings .menu-shortcuts{padding-top:6px;gap:4px}.profile-settings .theme-choices button{min-height:44px!important}}
.stage-settings .page-pad{max-width:520px}.stage-settings .page-pad h1{font-size:2rem;margin-bottom:12px}.stage-settings form>p:empty{display:none}.stage-settings form label{margin:8px 0}.stage-settings form input{padding:8px 12px;min-height:42px}.stage-settings form>.solid-btn{margin-top:8px}.stage-settings .account-help[hidden]{display:none}
@media(max-width:899px) and (max-height:620px){.stage-settings .page-pad{padding:10px 16px}.stage-settings .page-pad h1{font-size:1.65rem;margin-bottom:10px}.stage-settings form label{font-size:.7rem;margin:6px 0;gap:4px}.stage-settings form input{padding:7px 10px;min-height:38px}.stage-settings form>.solid-btn{min-height:38px;margin-top:6px}}

/* 1.5 — quiet surfaces, compact rhythm, and a bounded play space. */
:root{--ease:cubic-bezier(.2,.8,.2,1);--shadow:0 24px 70px -32px #24272b38}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,a,input,textarea{ -webkit-tap-highlight-color:transparent }
button{transition:background-color .14s,border-color .14s,box-shadow .14s,transform .14s var(--ease)}
button:active:not(:disabled){transform:translateY(1px)}
button:disabled{transform:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-width:2px;outline-offset:3px}
::selection{background:#a7c7ce70}
#app{max-width:1440px;padding:24px 28px}
.shell{grid-template-columns:minmax(308px,334px) minmax(0,1fr);gap:20px}
.home-pane{border:1px solid var(--rule);border-radius:24px;padding:12px 18px 8px;background:color-mix(in srgb,var(--surface) 68%,transparent)}
.top{min-height:48px;gap:5px}
.brand{font-size:1.6rem}
.top-actions>button{width:32px;height:40px}
.top-actions .availability{height:30px;padding:4px 7px;font-size:.65rem}
.home-main{padding:16px 0;gap:13px;flex:1;justify-content:center;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.home-main>section{flex-shrink:0}
.hero-label{font-size:.68rem;letter-spacing:.025em;min-height:28px}
.bigid{font-size:3.35rem;letter-spacing:.045em;line-height:1.12;margin:0 0 8px;transition:color .14s}
.bigid:hover:not(:disabled){color:var(--blue)}
.tag{font-size:1rem;letter-spacing:-.025em}
.product-line{font-size:.67rem;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.finder{grid-template-columns:75px minmax(0,1fr) 38px;min-height:47px}
.finder input{font-size:.875rem;letter-spacing:-.015em}
.finder .go{width:34px;height:34px;border-color:transparent;background:var(--surface)}
.finder .go:not(:disabled){background:var(--ink);color:var(--surface)}
.finder .go:disabled{background:transparent;border-color:var(--rule);opacity:.38}
.primary-card{min-height:68px;padding:11px;border-radius:15px;box-shadow:none}
.primary-card .action-copy strong{font-size:.83rem}
.primary-card .action-copy small{font-size:.62rem}
.new-room{background:linear-gradient(125deg,#eee8e1,#e0e9e8)}
.room-slot{border-radius:11px;min-height:52px}
.room-slot.filled{background:linear-gradient(135deg,color-mix(in srgb,var(--room-a) 60%,var(--surface)),color-mix(in srgb,var(--room-b) 48%,var(--surface)))}
.room-slot.vacant{border-style:dashed;opacity:.6}
.room-slot.active,.mroom.active{outline-width:2px;outline-offset:1px}
.rs-copy b{font-size:.94rem}
.tray-head{font-size:.65rem;letter-spacing:.01em}
.trays{gap:14px}
.people-empty{display:flex;align-items:center;gap:8px;min-height:38px;color:var(--muted);font-size:.72rem;text-align:left}
.people-empty span{color:var(--blue)}
.home-footer{display:flex;align-items:center;justify-content:space-between;flex:0 0 34px;color:var(--muted);border-top:1px solid var(--rule);font-size:.59rem}
.home-footer button{display:flex;align-items:center;gap:10px;padding:5px 0;min-height:30px;font-size:.63rem;color:var(--muted)}
kbd{font:inherit;font-size:.65rem;white-space:nowrap;border:1px solid var(--rule);border-radius:5px;padding:1px 5px;color:var(--muted);background:var(--surface)}
.stage{border-radius:24px;box-shadow:0 20px 50px -40px #34363a60}
.stage-empty{isolation:isolate;background:radial-gradient(ellipse at 20% 85%,#bad0ce1f,transparent 55%),var(--surface)}
.lobby-label{position:absolute;top:22px;left:24px;right:24px;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.57rem;font-weight:500;letter-spacing:.13em}
.live-dot{width:5px;height:5px;border-radius:50%;background:var(--green)}
.release-mark{margin-left:auto;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.empty-rings{width:290px;height:290px;border-color:#809c911f;box-shadow:0 0 0 38px #809c9107,0 0 0 77px #809c9105;pointer-events:none;z-index:-1}
.ambient-copy{font-size:1.9rem;letter-spacing:-.05em;color:var(--ink)}
.empty-start{display:inline-flex;align-items:center;gap:18px;margin-top:18px;color:var(--muted);font-size:.74rem;min-height:40px;border-bottom:1px solid var(--rule);padding:4px 0}
.empty-start span{color:var(--blue);font-size:1rem}
.stage-top{min-height:62px;padding:8px 16px}
.room-heading{flex:1;min-width:0}
.room-heading>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.stage-room{background:radial-gradient(ellipse at 2% 0,color-mix(in srgb,var(--room-a) 48%,transparent),transparent 65%),radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--room-b) 40%,transparent),transparent 65%),var(--surface)}
.room-page{padding:0 18px 14px;gap:6px}
.room-messages{padding:18px 3px;scrollbar-gutter:stable;contain:layout style}
.msg{margin-bottom:11px}
.msg.is-grouped{margin-top:-6px}
.msg.is-grouped .msg-label{display:none}
.msg-copy{padding:9px 13px;border:1px solid color-mix(in srgb,var(--rule) 65%,transparent);box-shadow:0 2px 3px #242a2c03;max-width:min(82%,560px);border-radius:15px 15px 15px 4px}
.mine .msg-copy{background:color-mix(in srgb,var(--paper) 82%,var(--surface));border-radius:15px 15px 4px 15px}
.msg-label{font-size:.66rem;margin-bottom:3px}
.msg-text{font-size:.9rem;line-height:1.5}
.message-meta{margin-top:4px;min-height:14px;gap:5px}
.message-meta time{font-size:.62rem;font-variant-numeric:tabular-nums}
.composer{border-radius:17px;box-shadow:0 3px 16px #23282d06;transition:border-color .14s,box-shadow .14s}
.composer:focus-within{border-color:color-mix(in srgb,var(--blue) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 8%,transparent)}
.composer textarea:focus-visible{outline:none}
.composer .send{border-radius:12px;width:40px;height:40px;min-width:40px}
.composer .send:disabled{opacity:.38}
.new-message-jump{border:1px solid var(--rule);border-radius:24px;background:var(--surface);box-shadow:0 8px 20px #23282d15;font-size:.7rem;min-height:36px}
.room-readiness:not([hidden]){padding:5px 8px;font-size:.7rem}
.room-empty h2{letter-spacing:-.03em}
.drawer{border-radius:22px;transition:transform .18s var(--ease),visibility .18s}
.drawer-content{overscroll-behavior:contain;scrollbar-width:thin}
.compact-menu{gap:9px}
.profile-settings{height:auto;min-height:0;justify-content:flex-start}
.quick-switch-menu{color:var(--muted)}
.quick-switch-menu kbd{font-size:.59rem}
.share-room-link{min-height:36px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem}
.quick-switch{display:flex;flex-direction:column;gap:14px;padding:18px 0;min-height:0;height:100%}
.quick-switch input{flex-shrink:0;min-height:46px;border-radius:12px}
.quick-results{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.quick-results>button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:62px;border-bottom:1px solid var(--rule);padding:9px 7px;border-radius:10px}
.quick-results>button:hover,.quick-results>button:focus-visible{background:var(--paper)}
.quick-results>button>span:nth-child(2){display:grid;gap:2px;min-width:0}
.quick-results strong{font-size:.83rem;font-weight:500;overflow:hidden;text-overflow:ellipsis}
.quick-results small{font-size:.67rem}
.quick-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--paper);color:var(--blue);flex-shrink:0}
.quick-count{margin-left:auto;background:var(--blue);color:var(--surface);border-radius:20px;min-width:24px;padding:2px 6px;text-align:center;font-size:.65rem}
.quick-hint{margin-top:auto;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.63rem}
.meet-result button{min-height:44px;background:var(--ink);color:var(--surface);padding-inline:24px}
.meet-choice[aria-pressed=true]{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--ink)}
.stage-meet .people-page{overflow:auto}
.meet-water{flex-shrink:1;min-height:0}
.toast{pointer-events:none;max-width:min(86vw,400px);border-radius:12px;font-size:.75rem;box-shadow:0 10px 35px #26272b20}
.connection-status{pointer-events:none;top:auto;bottom:10px;left:50%;right:auto;transform:translateX(-50%);max-width:min(85vw,390px);padding:7px 12px;border-radius:12px;font-size:.71rem;z-index:60;box-shadow:0 4px 20px #27272a12}
@media(hover:hover){.primary-card:hover{box-shadow:0 4px 14px #2b323609;transform:translateY(-1px)}.room-slot.filled:hover{border-color:var(--blue)}.top-actions>button:hover{box-shadow:inset 0 0 0 1px var(--rule)}}
@media(min-width:900px) and (max-width:1140px){.top .immersive-toggle{display:none}.shell{grid-template-columns:310px minmax(0,1fr)}#app{padding:20px}.home-pane{padding-inline:16px}.meet-water{width:min(180px,22vh)}}
@media(min-width:900px) and (max-height:660px){#app{padding:14px 20px}.home-main{padding:8px 0;gap:9px}.bigid{font-size:2.8rem}.home-footer{flex-basis:28px}.primary-card{min-height:60px}.trays{gap:8px}.product-line{display:none}.finder{min-height:43px}.room-slot{min-height:46px}.meet-water{width:140px}.meet-intro h1{font-size:2.2rem}}
@media(max-width:899px){
 #app{padding:0;max-width:none}.shell{display:block;max-width:560px;margin:auto}.home-pane{border:0;border-radius:0;padding:env(safe-area-inset-top) 22px env(safe-area-inset-bottom);background:transparent}.home-footer{display:none}
 .top{min-height:62px}.top-actions>button{width:38px;height:44px}.top-actions .availability{padding:5px 8px}.top .immersive-toggle{display:none}
 .home-main{padding:16px 0 22px;justify-content:flex-start;gap:14px}.identity-hero{margin-top:auto}.trays{margin-bottom:auto}.bigid{font-size:3.6rem}.finder{min-height:48px}.finder input{font-size:1rem}.primary-card{min-height:70px}.primary-card .action-copy strong{font-size:.89rem}.primary-card .action-copy small{font-size:.65rem}
 .stage{border:0;border-radius:0;box-shadow:none}.stage-top{min-height:54px;padding:5px 10px}.mroom{flex:1 0 80px;min-width:80px;min-height:40px;max-width:100px}.mobile-room-rail{scroll-snap-type:x proximity}.mroom{scroll-snap-align:center}
 .room-page{padding:0 10px calc(env(safe-area-inset-bottom) + 8px);gap:4px}.room-messages{padding:12px 1px}.msg-copy{max-width:88%;padding:8px 11px}.msg-text{font-size:.9375rem}.composer textarea{font-size:1rem}.composer{border-radius:16px}
 .drawer{border:0;border-radius:0;max-width:none}.drawer-head{min-height:calc(54px + env(safe-area-inset-top));padding-top:calc(5px + env(safe-area-inset-top))}.drawer-content{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.profile-settings{height:auto;max-height:none;min-height:0;justify-content:flex-start;padding-top:12px}
 .stage-meet .page-pad{padding:14px 20px;height:100%;max-height:none}.meet-page{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;align-content:stretch;height:100%}.meet-focal{display:contents}.meet-intro{grid-row:1}.meet-preferences{grid-row:2;max-width:460px}.meet-water{grid-row:3;height:100%;max-height:230px;width:auto;max-width:70vw;min-width:0;min-height:0;margin:0;justify-self:center;align-self:center;aspect-ratio:1}.meet-result{grid-row:4;max-width:100%}.meet-result button{margin-top:7px;min-height:44px}.meet-intro h1{font-size:2.25rem;margin:4px 0 8px}.meet-intro p{font-size:.65rem}.meet-preferences .menu-row{min-height:42px}.meet-choice{min-height:38px}
 .connection-status{bottom:calc(env(safe-area-inset-bottom) + 74px);font-size:.69rem}.quick-switch{padding-top:14px}.toast{bottom:calc(env(safe-area-inset-bottom) + 75px)}
}
@media(max-width:899px) and (max-height:700px){
 .top{min-height:54px}.home-main{padding:10px 0 12px;gap:10px}.bigid{font-size:3.05rem}.primary-card{min-height:62px}.finder{min-height:44px}.trays{gap:9px}.room-slot{min-height:48px}.tag{font-size:.93rem}.product-line{font-size:.62rem}
 .stage-meet .page-pad{padding:10px 18px}.meet-page{gap:7px}.meet-intro h1{font-size:1.95rem}.meet-intro .eyebrow{display:none}.meet-intro p{margin:0;font-size:.6rem}.meet-result p{font-size:.64rem}.meet-preferences{gap:5px 8px}.meet-preferences .menu-row{min-height:36px;padding:4px 0}.meet-choice{min-height:34px}.meet-water{max-height:120px}.meet-result button{margin-top:4px}
 .profile-settings{gap:5px;padding-top:8px}.profile-settings .setting-group{padding-top:5px}.profile-settings .menu-shortcuts{padding-top:6px;gap:4px}.profile-settings .menu-row{min-height:34px}.quick-switch-menu{min-height:28px!important}
}
@media(max-width:350px){.home-pane{padding-inline:16px}.brand{font-size:1.4rem}.top-actions>button{width:33px}.top-actions .availability{font-size:.6rem;padding:4px 6px}.finder{grid-template-columns:70px minmax(0,1fr) 34px}.finder input{font-size:1rem}.bigid{font-size:3rem}.primary-card .action-copy strong{font-size:.8rem}.primary-card .action-copy small{font-size:.6rem}.ambient-copy{font-size:1.5rem}.theme-choices button{font-size:.57rem!important}}
@media(max-width:899px) and (orientation:landscape){
 .shell{max-width:none}.home-pane{padding-inline:22px}.home-main{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;align-content:start;padding:6px 0}.identity-hero,.trays{margin:0}.bigid{font-size:2.8rem}.primary-card{min-height:56px}.room-slot{min-height:44px}.people-preview{min-height:30px}.trays{gap:5px}
 .meet-page{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:8px 18px;align-content:center;height:100%}.meet-intro{grid-column:1;grid-row:1}.meet-intro h1{font-size:1.7rem}.meet-preferences{grid-column:2;grid-row:1/3}.meet-result{grid-column:1;grid-row:2}.meet-water{display:none}.meet-intro p,.meet-result p{display:none}
 .profile-settings{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;align-content:start}.profile-settings .menu-shortcuts{grid-column:2;grid-row:4/8}.room-settings .share-room-link{grid-column:1}.drawer-content{padding-bottom:10px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.home-pane,.quick-results>button,.share-room-link{border:1px solid CanvasText}.live-dot{background:CanvasText}.composer:focus-within{outline:2px solid Highlight}.new-message-jump{border:1px solid CanvasText}}
/* Intrinsic choice widths must never widen a narrow phone grid. */
.meet-preferences,.meet-preferences .choice-row{min-width:0;max-width:100%}
@media(max-width:899px){.meet-preferences{grid-template-columns:66px minmax(0,1fr)}.meet-preferences .choice-row>button{padding-inline:4px}}
@media(max-width:899px) and (max-height:700px){.meet-preferences{grid-template-columns:55px minmax(0,1fr)}}

/* Legacy over-cap rooms stay accessible without stretching the lobby rail. */
.room-slot[data-action="all-rooms"]{grid-column:1/-1;flex-direction:row;gap:8px;min-height:32px;width:auto;justify-content:center}
.room-slot[data-action="all-rooms"] small{margin:0}

/* ---- Roomsy 2.0 layer: appended so every 1.5 rule stays intact. ---- */
/* Your own messages carry a soft room-accent tint, so a fast conversation scans at a glance. */
@supports(color:color-mix(in srgb,red,blue)){
 .mine .msg-copy{background:color-mix(in srgb,var(--blue) 12%,var(--surface));border-color:color-mix(in srgb,var(--blue) 22%,transparent)}
 .composer:focus-within{border-color:color-mix(in srgb,var(--blue) 45%,var(--rule));box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent),0 4px 20px #34474608}
}
/* New arrivals ease in; transform/opacity only, so it stays smooth on older phones. */
@keyframes roomsy-arrive{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
.room-messages .msg{animation:roomsy-arrive .2s cubic-bezier(.2,.8,.2,1) both}
.msg.pending .msg-copy{opacity:.8}
.msg-label{font-weight:600}
.room-messages{overscroll-behavior:contain}
/* Tactile press feedback. */
.send,.solid-btn,.soft-btn,.primary-card,.room-slot,.mroom,.go{transition:transform .09s ease,filter .12s ease,background-color .15s ease}
.send:active:not(:disabled),.solid-btn:active:not(:disabled),.soft-btn:active:not(:disabled),.primary-card:active:not(:disabled),.room-slot:active,.mroom:active,.go:active:not(:disabled){transform:scale(.96)}
.send:not(:disabled):hover{filter:brightness(1.08)}
/* Comfortable touch targets for the small room-menu controls (audit F17). */
@media(pointer:coarse){
 .tiny-action,[data-action="clear-room-title"],[data-action="clear-nickname"],[data-action="report-room"]{min-width:44px;min-height:44px}
 [data-action="leave-room"],[data-action="close-room"]{min-height:48px}
}
/* Live connection cue: a calm dot beside the room code while realtime delivery is active. */
.room-heading .live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;margin-left:6px;vertical-align:middle;opacity:0;transition:opacity .4s}
html.roomsy-live .room-heading .live-dot{opacity:.85}
@media(prefers-reduced-motion:reduce){.room-messages .msg{animation:none}.send,.solid-btn,.soft-btn,.primary-card,.room-slot,.mroom,.go{transition:none}}
