@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff)format("woff")}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/silkscreen-latin-400-normal-CtPo2yA5.woff2)format("woff2"),url(/assets/silkscreen-latin-400-normal-D0DfPJut.woff)format("woff")}@font-face{font-family:Silkscreen;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/silkscreen-latin-700-normal-CSE2nhgM.woff2)format("woff2"),url(/assets/silkscreen-latin-700-normal-BjMPLkh0.woff)format("woff")}:root{--void:#06040d;--void-deep:#030208;--panel:#0f0a1d;--violet:#6f4fd6;--violet-dim:#3a2a6b;--violet-deep:#1b1233;--moon:#e8e4ff;--moon-dim:#b9a8ee;--glow:#57e6d4;--glow-dim:#2a8f88;--alarm:#d0577a;--px:4px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--moon-dim);background-color:var(--void);font-synthesis:none;-webkit-font-smoothing:none;text-rendering:geometricprecision;font-family:Silkscreen,ui-monospace,Courier New,monospace;font-size:16px;line-height:1.7}@media (width<=30rem){:root{--px:3px}}*{box-sizing:border-box}html,body{overscroll-behavior-y:contain;min-height:100%;margin:0;padding:0}body{background:var(--void);overflow-x:hidden}#root{min-height:100dvh}img,svg{image-rendering:pixelated}button{font:inherit;color:inherit}:focus-visible{outline:var(--px) solid var(--glow);outline-offset:var(--px)}.screen{background:radial-gradient(ellipse 80% 60% at 50% 22%, #6f4fd647, transparent 70%), radial-gradient(ellipse 120% 80% at 50% 110%, #57e6d41a, transparent 60%), linear-gradient(180deg, var(--void-deep), var(--void) 45%, #0a0616);grid-template-rows:1fr auto;place-items:center;gap:clamp(.5rem,1.5vw,1.5rem);min-height:100dvh;padding:clamp(.75rem,2vw,2rem);display:grid;position:relative;overflow-x:clip}.sky{width:100%;height:100%;color:var(--moon);pointer-events:none;z-index:0;position:absolute;inset:0}.star{fill:currentColor}.twinkle{animation:4.5s steps(2,jump-none) infinite twinkle}.d0{animation-delay:0s}.d1{animation-delay:.9s}.d2{animation-delay:1.8s}.d3{animation-delay:2.7s}.d4{animation-delay:3.6s}.d5{animation-delay:4.5s}.d6{animation-delay:5.4s}@keyframes twinkle{0%,45%{opacity:.15}50%,95%{opacity:1}}.scanlines{z-index:3;pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(#00000052 0 1px,#0000 1px 3px);position:absolute;inset:0}.screen:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(46% 44% at 50% 46%,#06040deb,#06040d99 55%,#0000 78%),radial-gradient(40% 12% at 50% 100%,#06040df2,#0000 75%);position:absolute;inset:0}.screen-room{place-items:stretch stretch;height:100dvh}.panel{z-index:2;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:min(820px,100%);display:flex;position:relative}.invitation-copy-fallback{flex-direction:column;align-items:center;width:100%;display:flex}.room>.invitation-copy-fallback{box-sizing:border-box;flex-shrink:0;max-height:50dvh;padding:.5rem;overflow-y:auto}.invitation-fallback{box-sizing:border-box;width:100%;max-width:40rem;color:var(--moon);background:var(--void);border:1px solid var(--moon-dim);resize:vertical;margin-top:1.5rem;padding:.75rem;font:1rem/1.5 monospace}.moon{width:clamp(4rem,13vw,10rem);height:clamp(4rem,13vw,10rem);margin-bottom:calc(var(--px) * 6);filter:drop-shadow(0 0 calc(var(--px) * 5) #b9a8ee73);animation:7s ease-in-out infinite hover}.moon-lit{fill:var(--moon)}.moon-rim{fill:var(--moon-dim)}.moon-crater{fill:#9d87d8}.moon-dark{fill:#241a3d}@keyframes hover{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--px) * -1))}}.title{letter-spacing:.06em;margin:0;font-family:"Press Start 2P",Silkscreen,monospace;font-size:clamp(1.5rem,6vw,4.5rem);line-height:1.2}.title-moon{color:var(--moon);text-shadow:var(--px) var(--px) 0 var(--violet-deep), 0 0 calc(var(--px) * 6) #b9a8ee8c}.title-beam{color:var(--glow);text-shadow:var(--px) var(--px) 0 var(--violet-deep), 0 0 calc(var(--px) * 6) #57e6d480}.subtitle{color:var(--moon-dim);letter-spacing:.22em;margin:calc(var(--px) * 4) 0 0;opacity:.75;font-family:"Press Start 2P",monospace;font-size:clamp(.55rem,1.4vw,1rem)}.subtitle .dot{color:var(--glow)}.tagline{margin:calc(var(--px) * 6) 0 0;color:var(--moon-dim);letter-spacing:.05em;font-size:clamp(.85rem,1.8vw,1.4rem)}.actions{justify-content:center;gap:calc(var(--px) * 6);margin-top:calc(var(--px) * 10);flex-wrap:wrap;display:flex}.btn{--edge:var(--violet);--face:var(--violet-deep);--ink:var(--moon);letter-spacing:.08em;color:var(--ink);background:var(--face);padding:calc(var(--px) * 4.5) calc(var(--px) * 6);cursor:pointer;box-shadow:0 calc(var(--px) * -1) 0 0 var(--edge), 0 var(--px) 0 0 var(--edge), calc(var(--px) * -1) 0 0 0 var(--edge), var(--px) 0 0 0 var(--edge), calc(var(--px) * 2) calc(var(--px) * 2) 0 0 #0000008c;border:0;border-radius:0;font-family:"Press Start 2P",monospace;font-size:clamp(.6rem,1.2vw,1rem);line-height:1;transition:transform 80ms steps(2,jump-none),box-shadow 80ms steps(2,jump-none),filter .12s linear;position:relative}.btn:hover{filter:brightness(1.25);transform:translate(calc(var(--px) * .5), calc(var(--px) * .5));box-shadow:0 calc(var(--px) * -1) 0 0 var(--edge), 0 var(--px) 0 0 var(--edge), calc(var(--px) * -1) 0 0 0 var(--edge), var(--px) 0 0 0 var(--edge), var(--px) var(--px) 0 0 #0000008c}.btn:active{transform:translate(calc(var(--px) * 2), calc(var(--px) * 2));box-shadow:0 calc(var(--px) * -1) 0 0 var(--edge), 0 var(--px) 0 0 var(--edge), calc(var(--px) * -1) 0 0 0 var(--edge), var(--px) 0 0 0 var(--edge)}.btn-primary{--edge:var(--glow);--face:#0d2b2c;--ink:var(--glow)}.facts{margin:calc(var(--px) * 10) 0 0;justify-content:center;gap:calc(var(--px) * 2) calc(var(--px) * 5);color:var(--violet);letter-spacing:.04em;flex-wrap:wrap;padding:0;font-size:clamp(.75rem,.7rem + .25vw,1rem);list-style:none;display:flex}.facts li:before{content:"▪ ";color:var(--glow-dim)}.room{z-index:2;gap:calc(var(--px) * 3);flex-direction:column;width:100%;max-width:min(1100px,100%);height:100%;min-height:0;margin:0 auto;display:flex;position:relative}.room-bar{align-items:center;gap:calc(var(--px) * 2);color:var(--moon-dim);flex-wrap:wrap;min-width:0;font-size:clamp(.7rem,.65rem + .2vw,.9rem);display:flex}.room-status{letter-spacing:.05em}.room-id{color:var(--violet);letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;overflow:hidden}.pip-connecting,.pip-waiting,.pip-handshaking,.pip-reconnecting,.pip-refused{color:var(--violet);animation:.8s steps(1,jump-none) infinite blink}.pip-verified{color:var(--glow)}.pip-closed,.pip-full,.pip-outdated,.pip-failed{color:var(--alarm)}.pip-ended,.pip-closing{color:var(--violet-dim)}.chip{letter-spacing:.08em;color:var(--moon-dim);background:var(--violet-deep);padding:calc(var(--px)) calc(var(--px) * 2);cursor:pointer;box-shadow:0 0 0 2px var(--violet-dim);border:0;border-radius:0;flex:none;font-family:Silkscreen,monospace;font-size:clamp(.62rem,.58rem + .2vw,.85rem)}.chip:hover{color:var(--moon);box-shadow:0 0 0 2px var(--violet)}.chip:disabled,.chip:disabled:hover{cursor:not-allowed;color:var(--moon-dim);box-shadow:0 0 0 2px var(--violet-dim);filter:grayscale(.7)brightness(.6)}.chip-leave.is-armed,.chip-leave.is-armed:hover{color:var(--void);background:var(--alarm);box-shadow:0 0 0 2px var(--alarm)}.chip-copy{place-items:center;display:grid}.chip-copy>span{grid-area:1/1}.chip-copy .chip-ghost{visibility:hidden}.chip-group{align-items:stretch;gap:2px;display:flex;position:relative}.chip-caret{padding-inline:calc(var(--px) * 1.5);line-height:1}.popover{top:calc(100% + var(--px) * 2);z-index:10;min-width:max-content;padding:calc(var(--px) * 2);background:var(--panel);box-shadow:0 0 0 var(--px) var(--violet), calc(var(--px) * 2) calc(var(--px) * 2) 0 0 #0009;position:absolute;right:0}.popover-item{letter-spacing:.08em;text-align:left;width:100%;color:var(--moon-dim);padding:calc(var(--px) * 2) calc(var(--px) * 3);cursor:pointer;background:0 0;border:0;border-radius:0;font-family:Silkscreen,monospace;font-size:clamp(.7rem,.65rem + .2vw,.85rem);display:block}.popover-item:hover{color:var(--void);background:var(--glow)}.popover-item.is-armed,.popover-item.is-armed:hover{color:var(--void);background:var(--alarm)}.popover-note{box-sizing:border-box;width:0;min-width:100%;margin:var(--px) 0 0;padding-inline:calc(var(--px) * 3);color:var(--alarm);letter-spacing:.05em;font-size:.7rem}.qr-panel{align-items:center;gap:calc(var(--px) * 2);flex-direction:column;display:flex}.qr{width:min(15rem,60vw);height:auto;display:block}.qr-bg{fill:#e8e4ff}.qr-fg{fill:#10091f}.qr-caption{color:var(--violet);letter-spacing:.05em;margin:0;font-size:.7rem}.log{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--violet-dim) transparent;min-height:8rem;padding:calc(var(--px) * 3);box-shadow:0 0 0 var(--px) var(--violet-dim);gap:calc(var(--px) * 2);background:#0f0a1db8;flex-direction:column;flex:auto;display:flex;overflow-y:auto}.log::-webkit-scrollbar{width:calc(var(--px) * 2)}.log::-webkit-scrollbar-track{background:0 0}.log::-webkit-scrollbar-thumb{background:var(--violet-dim)}.log::-webkit-scrollbar-thumb:hover{background:var(--violet)}.log-empty{color:var(--violet);margin:0;font-size:clamp(.72rem,.68rem + .25vw,.95rem);line-height:1.8}.line{gap:calc(var(--px) * 2);min-width:0;margin:0;font-size:clamp(.85rem,.78rem + .35vw,1.1rem);line-height:1.6;display:flex}.line-me,.line-them{grid-template-columns:auto auto 1fr;grid-template-areas:"who time.""body body body";align-items:baseline;gap:.15rem .5rem;max-width:78%;display:grid}.line-them{align-self:flex-start}.line-me{grid-template-columns:1fr auto auto;grid-template-areas:".who time""body body body";align-self:flex-end}.line-continues{row-gap:0}.line-me>.message-content,.line-them>.message-content,.line-file>.file-card{grid-area:body}.line-who{letter-spacing:.08em;grid-area:who;font-size:.75rem}.line-me .line-who{color:var(--glow)}.line-them .line-who{color:var(--moon)}.message-time{color:var(--moon-dim);font-variant-numeric:tabular-nums;white-space:nowrap;unicode-bidi:isolate;grid-area:time;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.message-time:before{content:"";vertical-align:middle;width:calc(var(--px) / 2);height:calc(var(--px) / 2);background:currentColor;margin-inline-end:.5rem;display:inline-block}.message-date{text-align:center;color:var(--moon-dim);margin:.5rem 0;font-size:.75rem}.line-text{color:var(--moon);overflow-wrap:anywhere;min-width:0}.message-content{min-width:0}.message-send-status{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;font-size:.75rem;display:flex}.line-system{text-align:center;color:var(--violet);letter-spacing:.05em;padding:calc(var(--px)) 0;font-size:.75rem;display:block}.file-card{gap:calc(var(--px) * 1.5);min-width:0;padding:calc(var(--px) * 2) calc(var(--px) * 3);box-shadow:0 0 0 var(--px) var(--violet-dim);background:#0f0a1dd9;flex-direction:column;display:flex}.line-me .file-card{box-shadow:0 0 0 var(--px) var(--glow-dim)}.file-head{align-items:baseline;gap:calc(var(--px) * 2);min-width:0;display:flex}.file-name{color:var(--moon);overflow-wrap:anywhere;min-width:0}.file-size{color:var(--violet);flex:none;font-size:.75em}.file-status{letter-spacing:.04em;color:var(--moon-dim);margin:0;font-size:.72em}.file-failed .file-status{color:var(--alarm)}.file-actions{gap:calc(var(--px) * 2);padding-bottom:var(--px);flex-wrap:wrap;display:flex}.file-actions:empty{display:none}.image-preview{align-items:flex-start;gap:calc(var(--px) * 1.5);flex-direction:column;min-width:0;display:flex}.preview-help,.preview-status,.preview-caption{color:var(--moon-dim);overflow-wrap:anywhere;margin:0;font-size:.72em}.preview-status:empty{display:none}.preview-region,.image-preview-frame{min-width:0;max-width:100%}.image-preview-canvas{object-fit:contain;width:auto;max-width:min(100%,480px);height:auto;max-height:min(360px,50vh);display:block}.preview-caption{margin-top:var(--px)}.file-progress{appearance:none;width:100%;height:calc(var(--px) * 1.5);background:var(--violet-deep);color:var(--glow);border:0;border-radius:0;display:block}.file-progress::-webkit-progress-bar{background:var(--violet-deep)}.file-progress::-webkit-progress-value{background:var(--glow)}.file-progress::-moz-progress-bar{background:var(--glow)}.file-about>summary{cursor:pointer;list-style:none}.file-about>summary::-webkit-details-marker{display:none}.file-about>summary:after{content:" ▸";content:" ▸" / "";color:var(--violet)}.file-about[open]>summary:after{content:" ▾";content:" ▾" / ""}.file-about>summary:hover{color:var(--moon)}.file-about>summary:focus-visible{outline:var(--px) solid var(--glow);outline-offset:2px}.file-about-body{gap:calc(var(--px) * 1.5);margin-top:calc(var(--px) * 1.5);color:var(--moon-dim);flex-direction:column;font-size:.72em;line-height:1.5;display:flex}.file-about-body p{margin:0}.file-hash-label{color:var(--violet)}.file-hash{color:var(--moon);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.btn.is-armed{--edge:var(--alarm);--face:var(--alarm);--ink:var(--void)}.file-discarded{align-items:baseline;column-gap:calc(var(--px) * 3);padding-block:var(--px);box-shadow:0 0 0 var(--px) var(--violet-deep);flex-flow:wrap}.file-discarded .file-name{color:var(--moon-dim)}.composer,.join{gap:calc(var(--px) * 2);flex-wrap:wrap;display:flex}.join{margin-top:calc(var(--px) * 5);width:100%;max-width:420px}.join-shell{grid-template-rows:1fr;width:100%;max-width:420px;animation:.22s cubic-bezier(.16,.84,.44,1) join-open;display:grid}.join-clip{min-height:0;overflow:hidden}.join-shell.is-closing{animation:.16s cubic-bezier(.16,.84,.44,1) reverse join-open}@keyframes join-open{0%{opacity:0;grid-template-rows:0fr}to{opacity:1;grid-template-rows:1fr}}.composer-input{min-width:0;color:var(--moon);padding:calc(var(--px) * 2.5) calc(var(--px) * 3);box-shadow:0 0 0 var(--px) var(--violet-dim);background:#0f0a1dd9;border:0;border-radius:0;flex:12rem;font-family:Silkscreen,monospace;font-size:clamp(.85rem,.78rem + .35vw,1.1rem)}@media (pointer:coarse){.composer-input{font-size:max(1rem,clamp(.85rem,.78rem + .35vw,1.1rem))}}.composer-input::placeholder{color:var(--violet-dim)}.composer-input:focus{box-shadow:0 0 0 var(--px) var(--violet)}.composer-input:focus-visible{outline:none}.composer-input:disabled{color:var(--violet-dim)}.btn-small{padding:calc(var(--px) * 2.5) calc(var(--px) * 4);flex:none;font-size:clamp(.62rem,.58rem + .2vw,.85rem)}.btn:disabled{cursor:not-allowed;filter:grayscale(.7)brightness(.6)}.btn-file{place-items:center;display:inline-grid}.btn-file>span{grid-area:1/1}.btn-file .pixel-spinner,.btn-file.is-busy .btn-file-label{visibility:hidden}.btn-file.is-busy .pixel-spinner{visibility:visible}.btn-file.is-busy:disabled{cursor:progress;filter:none}.pixel-spinner{grid-template:repeat(3,.22em)/repeat(3,.22em);gap:.12em;display:grid}.pixel-spinner>span{opacity:.25;animation:.8s step-end infinite pixel-spin;animation-delay:calc(var(--step) * .1s - .8s);background:currentColor}.pixel-spinner>span:first-child{--step:0;grid-area:1/1}.pixel-spinner>span:nth-child(2){--step:1;grid-area:1/2}.pixel-spinner>span:nth-child(3){--step:2;grid-area:1/3}.pixel-spinner>span:nth-child(4){--step:3;grid-area:2/3}.pixel-spinner>span:nth-child(5){--step:4;grid-area:3/3}.pixel-spinner>span:nth-child(6){--step:5;grid-area:3/2}.pixel-spinner>span:nth-child(7){--step:6;grid-area:3/1}.pixel-spinner>span:nth-child(8){--step:7;grid-area:2/1}@keyframes pixel-spin{0%{opacity:1}12.5%,to{opacity:.25}}.notice{width:100%;margin:calc(var(--px)) 0 0;color:var(--alarm);font-size:.75rem}.notice-calm{color:var(--moon-dim)}.stopped{align-items:flex-start;gap:calc(var(--px) * 3);padding-bottom:var(--px);flex-direction:column;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.footer{text-align:center;z-index:2;color:var(--violet-dim);letter-spacing:.05em;font-size:clamp(.68rem,.64rem + .2vw,.85rem);position:relative}.footer-build{letter-spacing:0;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.blink{color:var(--glow-dim);animation:1.2s steps(1,jump-none) infinite blink}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.moon,.twinkle,.blink{animation:none}.btn{transition:none}.pixel-spinner>span{animation:none}.pixel-spinner>span:nth-child(odd){opacity:1}.join-shell,.join-shell.is-closing{animation-duration:1ms}}.delivery{display:inline}.delivery-slot{vertical-align:middle;width:2.75rem;height:0;display:inline-block;position:relative}.delivery-button{inset-inline-start:0;width:2.75rem;height:1.5rem;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.3rem;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.delivery-button:focus-visible{outline-offset:2px;outline:2px solid}.delivery-moon{fill:currentColor;width:1.5rem;height:1.25rem}.delivery-half{display:none}.delivery-explanation{border:1px solid;flex-wrap:wrap;align-items:center;gap:.5rem;margin-block:.25rem;padding:.5rem;font-size:.8rem;line-height:1.6;display:flex}.delivery-tooltip{z-index:2;background:var(--void);width:min(20rem,100vw - 2rem);margin:0;position:fixed}.delivery-success{animation:.6s linear both delivery-fade}.delivery-success .delivery-half{display:initial;animation:.6s step-end both delivery-half}.delivery-success .delivery-full{animation:.6s step-end both delivery-full}.new-attempt{color:inherit;padding-block:.35rem;font-size:.75rem;display:block}.line:focus-visible{outline-offset:3px;outline:2px solid}@keyframes delivery-half{0%{opacity:1}25%,to{opacity:0}}@keyframes delivery-full{0%{opacity:0}25%,to{opacity:1}}@keyframes delivery-fade{0%,66.667%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.delivery-success,.delivery-success .delivery-half,.delivery-success .delivery-full{animation:none}.delivery-success .delivery-half{display:none}}@media (forced-colors:active){.delivery-button{color:buttontext}.delivery-explanation{border-color:canvastext}}
