:root{color-scheme:light;--ink:#382e2a;--muted:#72645b;--cream:#fbf7ef;--paper:#fffdf8;--line:#dfd1bd;--coral:#ff7a59;--teal:#2bb3a3;--shadow:0 5px 0 #69523b0a;font-family:ui-rounded,"SF Pro Rounded",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:1px solid #cabba6;border-radius:10px;background:var(--paper);color:var(--ink);padding:.6rem .85rem;cursor:pointer;font-weight:600}button:hover:enabled{background:#f2e8d7}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #257a92;outline-offset:3px}h1,h2,p{margin:0}h1{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2}h2{font-size:1.05rem;margin-bottom:.75rem}p{line-height:1.6}.topbar,main{max-width:1240px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.6rem 1.5rem 1rem;gap:1rem}.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}main{padding:0 1.5rem 1.5rem}.session-bar{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.9rem 0;border-block:1px solid var(--line);font-size:.85rem}.status{background:#e9dfcf;border-radius:20px;padding:.35rem .7rem;text-transform:capitalize;font-weight:700}.status.running{background:#d7eee4;color:#22604c}.status.paused{background:#f8e4bc}.controls{display:flex;flex-wrap:wrap;gap:.45rem;margin-left:auto}.controls button{font-size:.8rem;padding:.45rem .6rem}.notice{font-size:.8rem;color:var(--muted);min-height:1.7rem;margin-top:.5rem}.tabs{display:flex;gap:.3rem;margin:.5rem 0 1rem}.tabs button{border:0;background:transparent;border-radius:8px;padding:.5rem 1.3rem}.tabs [aria-selected=true]{background:#eaddc6}.play-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:1.25rem;align-items:start}.room-wrap{min-width:0}.room-grid{position:relative;aspect-ratio:12/8;overflow:hidden;border:8px solid #c49a6b;border-top:20px solid #b89469;border-radius:22px;background:repeating-linear-gradient(0deg,transparent 0 calc(12.5% - 1px),#a97a4a35 calc(12.5% - 1px) 12.5%),repeating-linear-gradient(90deg,#eed3a8 0 12%,#e5c293 12% 12.4%,#efd6b0 12.4% 25%);box-shadow:inset 0 10px 20px #6f452013,var(--shadow)}.room-caption{position:absolute;left:5%;top:4%;font-size:clamp(.45rem,1vw,.7rem);letter-spacing:.1em;text-transform:uppercase;color:#8d6948}.landmark{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:clamp(1rem,3vw,2.1rem)}.landmark small{font-size:clamp(.35rem,.85vw,.65rem);white-space:nowrap;color:#5e4a39}.board{width:18%;height:20%;background:#435c68;border:5px solid #b48b5d;border-radius:7px;color:#ffe8ad;box-shadow:2px 3px 0 #7754373b}.board small{color:#fff1d4}.window{width:13%;height:24%;border:5px solid #fff6e3;background:linear-gradient(#b7dbdf,#e4eee6);border-radius:10px;box-shadow:0 2px 0 #9b795840}.window:after{content:"";position:absolute;left:45%;height:100%;border-left:3px solid #fff8e7}.bookshelf{width:12%;height:23%;background:#b78b62;border:4px solid #9b6e48;border-radius:6px;transform:translate(-6%,-50%)}.couch{width:27%;height:18%;background:#a5b89a;border:5px solid #7d9674;border-bottom-width:12px;border-radius:20px;box-shadow:0 6px 0 #755d3f38}.rug{width:32%;height:30%;border-radius:50%;background:repeating-radial-gradient(ellipse,#e6a789 0 8px,#efbb98 9px 14px);opacity:.8}.rug small{position:absolute;bottom:10%}.plant{transform:translate(-70%,-60%)}.avatar{position:absolute;width:7.5%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #fff8ec;z-index:3;box-shadow:0 3px 0 #6a51313b;transition:left .6s ease,top .6s ease;background:var(--seat-color);font-size:clamp(.9rem,2.5vw,1.7rem)}.seat-a{--seat-color:var(--coral)}.seat-b{--seat-color:var(--teal)}.avatar.absent{opacity:.45}.avatar-name{position:absolute;top:112%;left:50%;transform:translateX(-50%);background:#fffdf1ed;border-radius:7px;padding:2px 5px;font-size:clamp(.4rem,1vw,.7rem);font-weight:700;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.speech{position:absolute;bottom:135%;left:50%;transform:translateX(-50%);font-size:clamp(.55rem,1.2vw,.8rem);border:1px solid var(--line);border-radius:12px;padding:.5rem;background:#fffdf8;box-shadow:var(--shadow);width:max-content;max-width:clamp(85px,19vw,230px);line-height:1.4;overflow-wrap:anywhere}.room-note{text-align:center;font-size:.8rem;color:var(--muted);margin:.65rem 0}.side-panel{display:flex;flex-direction:column;gap:1rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:1.2rem;box-shadow:var(--shadow);min-width:0}.side-panel .panel:first-child{background:#f6f3e9}.constellation-svg{display:block;width:100%;max-height:250px;border-radius:12px;background:#f0eee3}.constellation-name{text-align:center;font-weight:700;margin:.6rem 0 .15rem;overflow-wrap:anywhere}.muted{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.chat-panel{padding-bottom:.5rem}#feed{height:210px;overflow:auto;padding:0;list-style:none;font-size:.78rem;line-height:1.6;scrollbar-width:thin}#feed li{padding:.45rem .25rem;border-bottom:1px solid #ebe2d5;overflow-wrap:anywhere}#feed li[data-seat=a]{border-left:3px solid var(--coral);padding-left:.5rem}#feed li[data-seat=b]{border-left:3px solid var(--teal);padding-left:.5rem}.seat-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.seat-card{border-top:4px solid var(--seat-color)}.seat-card h2{overflow-wrap:anywhere;margin-bottom:.4rem}.seat-card p{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.invite{margin-top:1rem}.invite p{font-size:.8rem;color:var(--muted);margin-bottom:.6rem}.copy-row{display:flex;gap:.6rem}input,select{border:1px solid #cabba6;border-radius:9px;padding:.65rem;background:#fffefa;color:var(--ink);min-width:0}.copy-row input{width:100%;font-size:.8rem}.recap-heading{display:flex;align-items:center;justify-content:space-between;margin:1rem 0}.recap-heading label{font-size:.85rem}#recap-content{max-width:800px;margin:auto}#recap-content p{margin:.7rem 0}#recap-content blockquote{border-left:3px solid var(--line);margin:1rem 0;padding-left:1rem;font-size:.9rem;overflow-wrap:anywhere}#recap-content .constellation-svg{max-width:350px;margin:auto}footer{position:relative;padding:1.1rem 1.5rem 1.5rem;border-top:1px solid var(--line);font-size:.72rem;line-height:1.6;text-align:center;color:var(--muted);background:#f1eadc}dialog{border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);padding:1.5rem;width:min(440px,calc(100vw - 2rem));box-shadow:0 20px 80px #382e2a30}dialog::backdrop{background:#382e2a55;backdrop-filter:blur(3px)}dialog label{display:block;font-size:.85rem;margin:.75rem 0 .35rem}dialog input:not([type=checkbox]){width:100%}fieldset{border:0;padding:0;margin:1rem 0}legend{font-size:.85rem;margin-bottom:.5rem}.emoji-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:.35rem}.emoji-picker button{font-size:1.15rem;padding:.35rem}.emoji-picker [aria-pressed=true]{background:#f5d2b2;border-color:#a76039}.checkbox{display:flex;gap:.5rem;align-items:center}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.2rem}.primary{background:#edb48c}#profile-error{color:#a73424;font-size:.85rem}.landing{max-width:660px;min-height:80vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:1rem;padding:4rem 1.5rem}.landing h1{font-size:clamp(2.5rem,8vw,4rem)}.brand-mark{font-size:4rem;color:#ca8b4f}.invite-note{padding:1.3rem;background:#f1e5d2;border:1px dashed #caa67b;border-radius:15px;line-height:1.6;margin-top:.7rem}[hidden]{display:none!important}
@media(max-width:800px){.play-layout{grid-template-columns:1fr}.side-panel{display:grid;grid-template-columns:1fr 1fr;align-items:start}.landmark{font-size:clamp(1rem,5vw,2.2rem)}.landmark small{font-size:clamp(.45rem,1.4vw,.7rem)}.avatar{font-size:clamp(1rem,4vw,2rem)}.avatar-name{font-size:.65rem}.speech{font-size:.72rem;max-width:170px}.controls{margin-left:0}.room-caption{font-size:.65rem}}
@media(max-width:520px){main{padding:0 .8rem 1rem}.topbar{padding:1rem .8rem}.topbar>button{font-size:.75rem;padding:.55rem}.topbar .eyebrow{font-size:.55rem}.session-bar{gap:.65rem}.controls{width:100%;gap:.35rem}.controls button{flex:1;font-size:.7rem;padding:.5rem .3rem}.side-panel{grid-template-columns:1fr}.seat-cards{grid-template-columns:1fr}.room-grid{border-width:5px;border-top-width:12px;border-radius:14px}.avatar-name{font-size:.5rem;max-width:95px}.speech{font-size:.6rem;max-width:115px;padding:.35rem}.room-caption{font-size:.45rem}.board{border-width:3px}.window{border-width:3px}.panel{padding:1rem}.recap-heading{align-items:start;gap:.5rem}.copy-row{flex-wrap:wrap}.copy-row button{width:100%}}
body{padding-bottom:5.5rem}footer{position:fixed;bottom:0;left:0;right:0;z-index:10;padding:.8rem 1.2rem}dialog{z-index:20}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
