:root{--marble:#fbfaf7;--marble-shade:#f2ede4;--parchment:#efe7d9;--beige:#e2d6c0;--taupe:#c9bba4;--umber:#8a7457;--brown:#4a3b2c;--ink:#14110e;--gilt:#b08d57;--gilt-lit:#d8bc86;--sienna:#8c3a24;--text:#5a4c3c;--text-h:var(--ink);--rule:#4a3b2c2e;--shadow-frame:0 2px 4px #14110e14, 0 18px 40px -12px #14110e47;--shadow-soft:0 1px 2px #14110e0d, 0 12px 32px -20px #14110e66;--display:"Didot", "Bodoni 72", "Bodoni MT", Georgia, "Times New Roman", serif;--sans:"Optima", "Gill Sans", "Gill Sans MT", ui-sans-serif, system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;font:17px/155% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--marble);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}*,:before,:after{box-sizing:border-box}body{min-height:100svh;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--display);color:var(--text-h);margin:0;font-weight:400}h1{letter-spacing:-.01em;font-size:clamp(2.25rem,5vw,3.25rem);line-height:108%}h2{font-size:clamp(1.5rem,3vw,2rem);line-height:115%}p{margin:0}a{color:var(--brown);-webkit-text-decoration-color:var(--taupe);text-decoration-color:var(--taupe);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}a:hover{color:var(--ink);-webkit-text-decoration-color:var(--gilt);text-decoration-color:var(--gilt)}:focus-visible{outline:2px solid var(--gilt);outline-offset:3px}.placard{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--umber);font-size:.688rem;font-weight:500}.rule{color:var(--gilt);align-items:center;gap:.75rem;display:flex}.rule:before,.rule:after{content:"";background:linear-gradient(90deg, transparent, var(--gilt), transparent);flex:1;height:1px}.rule>span{background:var(--gilt);width:5px;height:5px;rotate:45deg}.floor{background:repeating-conic-gradient(var(--ink) 0% 25%, var(--marble-shade) 0% 50%) 0 0 / var(--tile,44px) var(--tile,44px);opacity:.85}.button{border:1px solid var(--ink);background:var(--ink);color:var(--marble);font:inherit;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.button:hover:not(:disabled){background:var(--brown);border-color:var(--brown)}.button:disabled{cursor:progress;opacity:.55}.button.is-quiet{color:var(--brown);border-color:var(--taupe);background:0 0}.button.is-quiet:hover:not(:disabled){border-color:var(--gilt);color:var(--ink);background:0 0}.frame{background:linear-gradient(150deg, var(--gilt-lit) 0%, var(--gilt) 42%, #8a6c3c 100%);box-shadow:var(--shadow-frame);border-radius:2px;padding:14px;position:relative}.frame:after{content:"";pointer-events:none;border:1px solid #14110e4d;position:absolute;inset:8px}.mat{background:var(--marble);gap:1.25rem;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,4vw,2rem);display:grid;box-shadow:inset 0 2px 14px #14110e14}.field{gap:.5rem;display:grid}.field input{font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--taupe);background:0 0;border-radius:0;padding:.5rem 0;font-size:1rem;transition:border-color .18s,box-shadow .18s}.field input:focus{border-bottom-color:var(--gilt);box-shadow:0 1px 0 0 var(--gilt);outline:none}.field input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:inset 0 0 0 100px var(--marble)}.field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);box-shadow:inset 0 0 0 100px var(--marble)}.field-hint{color:var(--umber);font-size:.8125rem}.notice{color:var(--sienna);border-left:2px solid var(--sienna);background:#8c3a240f;padding:.75rem 1rem;font-size:.875rem}.topbar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem clamp(1.25rem,5vw,3.5rem);display:flex}.wordmark{font-family:var(--display);color:var(--ink);font-size:1.5rem;line-height:1;text-decoration:none}.wordmark span{color:var(--gilt)}.topbar-nav{align-items:center;gap:1.25rem;display:flex}.topbar-link{color:var(--umber);border-bottom:1px solid #0000;padding-bottom:2px;text-decoration:none}.topbar-link:hover{color:var(--ink);border-bottom-color:var(--taupe)}.topbar-link.active{color:var(--ink);border-bottom-color:var(--gilt)}.topbar-user{color:var(--taupe);letter-spacing:.1em;text-transform:none}@media (width<=780px){.topbar,.topbar-nav{flex-wrap:wrap;justify-content:center;gap:1rem}.topbar-user{display:none}}.room{background:radial-gradient(80% 50% at 50% -5%, #fff 0%, transparent 60%), linear-gradient(180deg, var(--marble) 0%, var(--marble-shade) 100%);flex-direction:column;flex:1;display:flex}.room-main{flex:1;align-content:start;gap:2.5rem;width:100%;max-width:64rem;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,5vw,3.5rem) clamp(3rem,7vw,5rem);display:grid}.room-main--narrow{max-width:34rem}.room-header{justify-items:start;gap:.875rem;display:grid}.room-intro{color:var(--text);max-width:34rem;font-size:1rem}.room-note{color:var(--umber);border-top:1px solid var(--rule);padding-top:1.25rem;font-size:.875rem;line-height:165%}.room-waiting{color:var(--taupe)}.waiting{min-height:100svh}.pair-form{gap:1.75rem;display:grid}.pair-form .button{width:100%}.code-field{text-align:center;justify-items:center;gap:.75rem;display:grid}.code-input{width:100%;font-family:var(--mono);color:var(--ink);text-align:center;text-transform:uppercase;letter-spacing:.3em;text-indent:.3em;border:0;border-bottom:1px solid var(--taupe);background:0 0;border-radius:0;padding:.5rem 0;font-size:clamp(1.5rem,6vw,2rem);transition:border-color .18s,box-shadow .18s}.code-input:focus{border-bottom-color:var(--gilt);box-shadow:0 1px 0 0 var(--gilt);outline:none}.code-input::placeholder{color:var(--taupe)}.code-hint{max-width:20rem}.devices{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:clamp(1.5rem,3vw,2.25rem);display:grid}.device-mat{gap:1.5rem;padding:1.75rem 1.5rem 1.5rem}.device.is-new .device-mat{box-shadow:inset 0 2px 14px #14110e14, 0 0 0 2px var(--gilt-lit)}.device-header{gap:.375rem;display:grid}.device-name{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.device-title{overflow-wrap:anywhere;font-size:1.5rem;line-height:110%}.link-button{font:inherit;color:var(--umber);cursor:pointer;opacity:0;background:0 0;border:0;flex:none;padding:0;transition:opacity .18s,color .18s}.device:hover .link-button,.link-button:focus-visible{opacity:1}.link-button:hover{color:var(--ink)}@media (hover:none){.link-button{opacity:1}}.device-rename{gap:.625rem;display:grid}.device-rename input{font:inherit;font-family:var(--display);color:var(--ink);border:0;border-bottom:1px solid var(--gilt);background:0 0;border-radius:0;padding:.25rem 0;font-size:1.375rem}.device-rename input:focus{box-shadow:0 1px 0 0 var(--gilt);outline:none}.device-rename-actions{gap:.5rem;display:flex}.device-rename-actions .button{padding:.625rem 1.125rem;font-size:.6875rem}.device-mac{font-family:var(--mono);letter-spacing:.06em;color:var(--umber);font-size:.8125rem}.device-section{gap:.75rem;display:grid}.device-empty{font-family:var(--display);color:var(--umber);font-size:.9375rem;font-style:italic}.device-footer{color:var(--umber);border-top:1px solid var(--rule);padding-top:1rem;font-size:.8125rem}.battery{gap:.5rem;display:grid}.battery-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.battery-value{font-family:var(--display);color:var(--ink);font-size:1.375rem;line-height:1}.battery-value.is-low{color:var(--sienna)}.battery-track{background:var(--beige);height:6px;box-shadow:inset 0 0 0 1px #14110e1f}.battery-fill{background:var(--ink);height:100%;transition:width .4s}.battery-fill.is-low{background:var(--sienna)}.chips{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.chip{letter-spacing:.16em;text-transform:uppercase;color:var(--brown);background:var(--parchment);border:1px solid var(--taupe);border-radius:2px;padding:.375rem .75rem;font-size:.6875rem;font-weight:500}.room-empty{text-align:center;background:var(--parchment);border:1px solid var(--rule);justify-items:center;gap:1.5rem;padding:clamp(3rem,8vw,5rem) 2rem;display:grid}.room-empty .rule{width:min(100%,14rem)}.room-empty-text{font-family:var(--display);color:var(--brown);max-width:26rem;font-size:1.125rem;font-style:italic}.landing{background:radial-gradient(90% 60% at 50% -10%, #fff 0%, transparent 60%), linear-gradient(180deg, var(--marble) 0%, var(--marble-shade) 100%);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.hall{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding:clamp(2.5rem,7vw,5.5rem) clamp(1.25rem,5vw,3.5rem) clamp(5rem,10vw,8rem);display:grid}.hall-text{justify-items:start;gap:1.25rem;max-width:34rem;display:grid}.hall-intro{color:var(--text);max-width:30rem;font-size:1.0625rem;line-height:165%}.hall-actions{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.hall-work{justify-self:center;width:min(100%,24rem);margin:0}.hall-work .mat{padding:1.5rem 1.5rem 1.25rem}.plate{aspect-ratio:800/480;background:#eceae4;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #14110e59}.plate:before{content:"";background:repeating-conic-gradient(var(--ink) 0 25%, transparent 0 50%) 0 0 / 3px 3px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(125% 105% at 32% 12%,#0000 8%,#000 78%);mask-image:radial-gradient(125% 105% at 32% 12%,#0000 8%,#000 78%)}.caption{border-top:1px solid var(--rule);gap:.25rem;padding-top:.875rem;display:grid}.caption-title{font-family:var(--display);color:var(--ink);font-size:1rem;font-style:italic}.caption-meta{letter-spacing:.08em;color:var(--umber);font-size:.75rem}.landing-floor{--tile:52px;opacity:.4;pointer-events:none;height:160px;position:absolute;bottom:0;left:-5%;right:-5%;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}@media (width<=900px){.hall{text-align:center;grid-template-columns:1fr;justify-items:center}.hall-text{justify-items:center}.hall-work{order:-1;width:min(100%,20rem)}}.auth{flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100svh;display:grid}.auth-wall{border-right:1px solid var(--rule);background:radial-gradient(115% 85% at 50% 10%, #f4eee2 0%, var(--parchment) 40%, #dccdb2 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.75rem;padding:clamp(2.5rem,6vw,5rem);display:flex;position:relative;overflow:hidden}.auth-wall:before{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#4a3b2c0d 0 1px,#0000 1px 6px);position:absolute;inset:0}.auth-frame{z-index:1;width:min(100%,26rem)}.auth-frame .mat{text-align:center;justify-items:center;gap:1.125rem}.auth-wordmark{font-family:var(--display);color:var(--ink);font-size:clamp(2rem,4.5vw,2.875rem);line-height:1}.auth-wordmark span{color:var(--gilt)}.auth-frame .rule{width:100%}.auth-tagline{font-family:var(--display);color:var(--brown);max-width:22rem;font-size:1rem;font-style:italic;line-height:150%}.auth-caption{z-index:1;color:var(--umber);position:relative}.auth-floor{--tile:40px;opacity:.45;height:140px;position:absolute;bottom:0;left:-10%;right:-10%;-webkit-mask-image:linear-gradient(#0000 0%,#000 100%);mask-image:linear-gradient(#0000 0%,#000 100%)}.auth-panel{background:radial-gradient(70% 55% at 15% 0%, #fff 0%, transparent 65%), radial-gradient(75% 65% at 95% 100%, var(--marble-shade) 0%, transparent 70%), var(--marble);justify-content:center;align-items:center;padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,3.5rem);display:flex}.auth-form-shell{gap:2.25rem;width:100%;max-width:25rem;display:grid}.auth-back{color:var(--umber);justify-self:start;text-decoration:none}.auth-back:hover{color:var(--ink)}.auth-header{gap:.875rem;display:grid}.auth-intro{color:var(--text);max-width:24rem;font-size:.9375rem}.auth-form{gap:1.625rem;display:grid}.auth-form .button{width:100%}.auth-footer{color:var(--umber);border-top:1px solid var(--rule);padding-top:1.25rem;font-size:.875rem}@media (width<=900px){.auth{grid-template-columns:1fr}.auth-wall{border-right:0;border-bottom:1px solid var(--rule);gap:1.25rem;padding:clamp(2rem,8vw,3rem) 1.5rem 3.5rem}.auth-frame{width:min(100%,22rem)}.auth-floor{height:90px}}
