html{box-sizing:border-box;height:100%}*,:before,:after{box-sizing:inherit}body{background:var(--desk);height:100%;color:var(--ink);font-family:var(--font-body);font-size:var(--fs-m);margin:0;line-height:1.45}#root{height:100%}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-m);padding:8px 11px}:focus-visible{outline:2px solid var(--link);outline-offset:2px}.btn{font-weight:600;font-size:var(--fs-s);background:var(--raise);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-m);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:7px 13px;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.small{font-size:var(--fs-xs);padding:3px 9px}.btn:disabled{opacity:.55;cursor:not-allowed}.lnk{color:var(--link);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.help,.notice{color:var(--muted);font-size:var(--fs-s);margin:0}.error{color:var(--error);font-size:var(--fs-s);margin:0}.badge{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-line);background:var(--accent-soft);vertical-align:1px;border-radius:4px;padding:1px 6px;font-weight:700;display:inline-block}.count{min-width:1.4rem;font-size:var(--fs-xs);text-align:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--pill);padding:1px 7px;font-weight:700;display:inline-block}.mono{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted)}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.turnstile{min-height:65px}.desk{height:100%;padding:16px max(16px, env(safe-area-inset-right,0px)) 16px max(16px, env(safe-area-inset-left,0px));justify-content:center;display:flex}.win{background:var(--win);border:1px solid var(--line);border-radius:var(--r-win);width:100%;max-width:1320px;height:100%;min-height:0;box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.titlebar{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:10px 16px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.02em;font-size:21px;font-weight:700}.logo span{color:var(--accent-line)}.ctx{min-width:0;font-size:var(--fs-s);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tbtn{font-size:var(--fs-xs);background:var(--panel);border:1px solid var(--line);border-radius:var(--pill);cursor:pointer;white-space:nowrap;padding:5px 12px;font-weight:600}.tbtn:hover{background:var(--sel);color:var(--sel-ink)}.tbar-end{align-items:center;gap:8px;margin-left:auto;display:flex}.body{flex:1;grid-template-columns:232px minmax(0,1fr) 330px;min-height:0;display:grid}.pane{min-width:0;min-height:0}.statusbar{font-size:var(--fs-xs);color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;gap:4px 16px;padding:6px 16px;display:flex}.statusbar span:first-child{flex:1;min-width:0}.mobnav{display:none}dialog{background:var(--win);width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-win);box-shadow:var(--shadow);padding:0}dialog::backdrop{background:#080c1880}.dlg-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);letter-spacing:-.01em;margin:0;padding:16px 18px 0}.dlg-body{gap:10px;padding:12px 18px 18px;display:grid}.dlg-body ul{font-size:var(--fs-s);margin:0;padding-left:18px}.dlg-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=1080px){.body{grid-template-columns:200px minmax(0,1fr) 290px}}.signin{gap:8px;display:grid}.signin label{font-weight:600;font-size:var(--fs-s)}.signin .btn{justify-self:start}.left{background:var(--panel);border-right:1px solid var(--line);padding:8px;overflow-y:auto}.upload{gap:8px;padding:4px 2px 8px;display:grid}.group h2,.mgroup h3{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;padding:14px 10px 6px;font-weight:600}.room,.pk{text-align:left;width:100%;color:var(--muted);border-radius:var(--r);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.room:hover,.pk:hover{background:var(--line);color:var(--ink)}.room[aria-current=true],.pk[aria-current=true]{background:var(--sel);color:var(--sel-ink);font-weight:600}.room:has(.count){color:var(--ink);font-weight:600}.pk{color:var(--ink);gap:0;display:grid}.pk-t{font-weight:600}.pk-m{font-size:var(--fs-xs);color:var(--muted)}.locked{font-size:var(--fs-s);color:var(--muted);margin:2px 10px}.right{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;display:flex}.tabs{border-bottom:1px solid var(--line);gap:4px;padding:10px 12px;display:flex}.tab{font-size:var(--fs-s);color:var(--muted);border-radius:var(--r);cursor:pointer;background:0 0;border:0;padding:6px 12px}.tab[aria-selected=true]{background:var(--sel);color:var(--sel-ink);font-weight:600}.rc{flex:1;min-height:0;padding:4px 16px 20px;overflow-y:auto}.members{margin:0;padding:0;list-style:none}.member{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:6px 0;display:grid}.member .where{font-size:var(--fs-xs);color:var(--muted);grid-column:2}.member .btn{grid-area:1/3/3}.nick{font-weight:600}button.nick{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.c1{color:var(--n1)}.c2{color:var(--n2)}.c3{color:var(--n3)}.c4{color:var(--n4)}.c5{color:var(--n5)}.c6{color:var(--n6)}.legend{font-size:var(--fs-s);color:var(--muted);margin:14px 0 0}.av,.mav{color:var(--win);background:var(--muted);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid;position:relative}.av{width:40px;height:40px;font-size:var(--fs-s)}.mav{width:34px;height:34px;font-size:var(--fs-xs);grid-row:1/3}.av.bot,.mav.bot{background:var(--n6);border-radius:12px}.av.c1,.mav.c1{background:var(--n1)}.av.c2,.mav.c2{background:var(--n2)}.av.c3,.mav.c3{background:var(--n3)}.av.c4,.mav.c4{background:var(--n4)}.av.c5,.mav.c5{background:var(--n5)}.av.c6,.mav.c6{background:var(--n6)}.mav .dot{border:2px solid var(--panel);background:var(--on);border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.av img,.mav img,.pav img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.pav{width:64px;height:64px;font-size:var(--fs-2xl);color:var(--win);box-shadow:0 0 0 3px var(--win), 0 0 0 4px var(--line);border-radius:50%;place-items:center;font-weight:600;display:grid}.pav.c1{background:var(--n1)}.pav.c2{background:var(--n2)}.pav.c3{background:var(--n3)}.pav.c4{background:var(--n4)}.pav.c5{background:var(--n5)}.pav.c6,.pav.bot{background:var(--n6)}.center{background:var(--win);flex-direction:column;display:flex}.chanhead{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:14px 20px 12px;display:flex}.chanhead h1{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);letter-spacing:-.01em;margin:0}.chanhead .topic{min-width:0;font-size:var(--fs-s);color:var(--muted);flex:220px;margin:0}.trbar{font-size:var(--fs-s);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:8px 20px;display:flex}.trbar label{align-items:center;gap:6px;display:inline-flex}.trbar select{border-radius:var(--r);padding:3px 8px}.trstate{font-size:var(--fs-xs);color:var(--studio);flex:200px;font-weight:600}.log{flex:1;min-height:0;margin:0;padding:4px 0 8px;list-style:none;overflow-y:auto}.line{grid-template-columns:40px minmax(0,1fr) auto;gap:0 14px;margin-top:12px;padding:2px 20px;display:grid}.line.cont{margin-top:0}.line.cont .av{visibility:hidden;height:0}.line:hover{background:var(--panel)}.msg{overflow-wrap:anywhere;min-width:0}.msg .head{flex-wrap:wrap;align-items:baseline;gap:0 8px;display:flex}.line.cont .head{display:none}.trnote{font-size:var(--fs-xs);color:var(--muted);margin:2px 0 0}.typing{font-size:var(--fs-xs);color:var(--muted);margin:0;padding:0 20px 6px 74px}.chatfoot{padding:8px 20px 16px}.composer{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.composer input{border-radius:var(--r-l);min-width:0;padding:11px 14px}.joinbox{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);gap:10px;padding:14px 16px;display:grid}.joinbox p{margin:0}.joinbox .btn{justify-self:start}@media (width<=760px){.line{grid-template-columns:34px minmax(0,1fr) auto;gap:0 10px;padding-inline:12px}.line .av{width:34px;height:34px;font-size:var(--fs-xs)}.chanhead,.trbar,.chatfoot,.page{padding-inline:12px}}.page{flex:1;min-height:0;padding:16px 20px 28px;overflow-y:auto}.page h1{font-family:var(--font-display);font-weight:700;font-size:var(--fs-2xl);letter-spacing:-.02em;margin:0 0 6px}.page .lead{max-width:62ch;color:var(--muted);margin:0 0 16px}.player{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);grid-template-columns:auto minmax(120px,1fr) auto minmax(120px,2fr) auto;align-items:center;gap:6px 14px;margin:0 12px 12px;padding:10px 14px;display:grid}.playbtn{width:40px;height:40px;font-size:var(--fs-m);color:var(--accent-ink);background:var(--accent);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.pmeta{min-width:0}.pmeta strong,.pmeta span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pmeta span{font-size:var(--fs-xs);color:var(--muted)}.ptime{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted)}.wave{cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;height:30px;padding:0;display:flex}.wave i{background:var(--lo);border-radius:2px;flex:1;min-width:1px}.wave i.on{background:var(--accent-line)}.plabel{font-size:var(--fs-xs);color:var(--muted)}@media (width<=760px){.player{grid-template-columns:auto minmax(0,1fr) auto;margin:0 8px 8px}.wave{grid-column:1/-1}.plabel{display:none}}.bubbles{flex:1;align-content:start;gap:.5rem;min-height:0;margin:0;padding:12px 20px;list-style:none;display:grid;overflow-y:auto}.bubble{background:var(--panel);border:1px solid var(--line);border-radius:18px 18px 18px 6px;justify-self:start;max-width:min(85%,34rem);padding:.5rem .75rem}.bubble.mine{background:var(--sel);color:var(--sel-ink);border-color:#0000;border-radius:18px 18px 6px;justify-self:end}.bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.bubble footer{font-size:var(--fs-xs);opacity:.8;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin-top:.2rem;display:flex}.bubble.mine .translated{color:inherit}.mp-composer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;padding:8px 20px 16px;display:grid}.thread>.help{padding:0 20px 12px}.mp-composer .error{grid-column:1/-1}.mp-composer textarea{font:inherit;border:1px solid var(--line);border-radius:var(--r-l);background:var(--panel);color:inherit;resize:vertical;padding:.6rem .7rem}.thread{flex-direction:column;flex:1;min-height:0;display:flex}.thread header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 20px 12px;display:flex}.thread h3{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);flex:1;margin:0}@media (width>=761px){.thread header button:first-child{display:none}}.mp-new{flex-wrap:wrap;gap:8px;max-width:520px;margin-bottom:12px;display:flex}.mp-new input{flex:1;min-width:10rem}.mp-new .error{flex-basis:100%}.mp-email{font-size:var(--fs-s);align-items:center;gap:6px;display:flex}.pack-search{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pack-search input{flex:200px;min-width:0}.xgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.xcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);align-content:start;gap:6px;padding:12px 14px;display:grid}.xtop{font-size:var(--fs-xs);justify-content:space-between;gap:8px;display:flex}.xtag{color:var(--accent-line);background:var(--accent-soft);border-radius:var(--r-s);padding:2px 7px;font-weight:600}.xcard h3{font-size:var(--fs-l);letter-spacing:-.01em;margin:0;font-weight:700}.xmeta{font-size:var(--fs-s);color:var(--muted);margin:0}.xact{gap:6px;display:flex}.sheet{gap:8px;padding-top:12px;display:grid}.sheet h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-2xl);letter-spacing:-.02em;margin:0}.sheet h3{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 0;font-weight:600}.sheet .btn{justify-self:start}.by{font-size:var(--fs-s);color:var(--muted);margin:0}.facts{font-size:var(--fs-s);gap:2px;margin:0;display:grid}.facts div{grid-template-columns:9rem 1fr;gap:8px;display:grid}.facts dt{color:var(--muted)}.facts dd{white-space:pre-wrap;margin:0}.slots{gap:4px;margin:0;padding:0;list-style:none;display:flex}.slot{font-size:var(--fs-xs);text-align:center;color:var(--muted);border:1px dashed var(--lo);border-radius:var(--r);flex:1;padding:6px 2px}.slot.full{color:var(--ink);background:var(--win);border-style:solid;font-weight:700}.files,.links{font-size:var(--fs-s);margin:0;padding:0;list-style:none}.files li{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:4px 0;display:flex}.pack-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pack-actions .links,.pack-actions .error,.pack-actions .help{flex-basis:100%}.delivery{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);gap:6px;margin:12px 0;padding:12px;display:grid}.delivery p{margin:0}.delivery form{gap:6px;display:grid}.delivery .lead{color:var(--ink);font-weight:600}.delivery .frozen{font-size:var(--fs-s);word-break:break-all}.delivery .field{font-weight:600;font-size:var(--fs-s);gap:4px;display:grid}.delivery .btn{justify-self:start}.remixers{font-size:var(--fs-s);margin:0 0 12px;padding:0;list-style:none}.remixers li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 0;display:flex}.remixers .help{margin:0}.stars{border:0;flex-wrap:wrap;flex-basis:100%;gap:4px;margin:4px 0 0;padding:0;display:flex}.stars legend{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;padding:0;font-weight:600}.stars .btn{color:var(--accent-line);background:var(--raise);border:1px solid var(--line)}.stars .btn.none{color:var(--ink)}.stars .btn[aria-pressed=true]{color:var(--accent-line);background:var(--accent-soft);border-color:var(--accent-line);font-weight:700}.closing{gap:6px;margin:12px 0;display:grid}.closing .btn{justify-self:start}.label-edit{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);gap:6px;margin:12px 0;padding:12px;display:grid}.label-edit fieldset{border:0;gap:4px;margin:0;padding:0;display:grid}.label-edit legend{font-weight:600;font-size:var(--fs-s);margin-bottom:4px}.label-edit .check,.label-edit .field{font-size:var(--fs-s)}.label-edit .field{gap:4px;display:grid}.label-edit .btn{justify-self:start}.confirm{flex-wrap:wrap;gap:6px;display:flex}.btn.danger{color:var(--error);background:var(--win);border:1px solid var(--error)}.label-fact .label-name{color:var(--ink)}.back{margin-bottom:12px;display:inline-block}.prof{gap:18px;max-width:640px;display:grid}.prof-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 16px;display:grid}.prof-head .pav{grid-row:1/3}.prof-head h1{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;display:flex}.prof-head p{font-size:var(--fs-s);color:var(--muted);margin:0}.prof h2{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-weight:600}.bio{white-space:pre-line;margin:0}.bio.empty{color:var(--muted);font-style:italic}.tags{flex-wrap:wrap;gap:6px;display:flex}.styles-pick{border:1px solid var(--line);border-radius:var(--r-m);flex-wrap:wrap;gap:6px 14px;margin:0;padding:10px 12px;display:flex}.styles-pick legend{font-weight:600;font-size:var(--fs-s);padding:0 4px}.acct{border-top:1px solid var(--line);gap:8px;padding-top:14px;display:grid}.acct .btn{justify-self:start}.statusbar a{color:var(--muted)}.deposit{gap:10px;max-width:560px;display:grid}.deposit label,.deposit .field{font-weight:600;font-size:var(--fs-s);gap:4px;display:grid}.deposit label.check{font-weight:400;font-size:var(--fs-s);align-items:flex-start;gap:6px;display:flex}.deposit fieldset{border:1px solid var(--line);border-radius:var(--r-m);gap:8px;margin:0;padding:10px 12px;display:grid}.deposit fieldset legend{font-weight:600;font-size:var(--fs-s);padding:0 4px}.deposit textarea{resize:vertical;min-height:70px}.deposit .btn{justify-self:start}.deposit-status{gap:8px;max-width:560px;display:grid}.deposit-status progress{width:100%;accent-color:var(--accent)}.report{font-size:var(--fs-m);color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;align-self:start;padding:0 4px;line-height:1.4}.report:hover{color:var(--studio)}.bubble:hover .report,.line:hover .report,.report:focus-visible{opacity:1}@media (hover:none){.report{opacity:.6}}.report-choose{flex-wrap:wrap;gap:4px;display:inline-flex}.chip{font-size:var(--fs-xs);background:var(--win);border:1px solid var(--line);border-radius:var(--pill);cursor:pointer;padding:3px 9px}.report-done,.report-error{font-size:var(--fs-xs);color:var(--muted)}.call{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 0 auto;display:flex}.moderation{gap:8px;margin-top:12px;display:grid}.moderation h2{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:600}.moderation ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.moderation li{background:var(--win);border:1px solid var(--line);border-radius:var(--r-l);gap:4px;padding:10px 12px;display:grid}.moderation p{overflow-wrap:anywhere;margin:0}.hidden-msg{opacity:.6}@media (width<=760px){.desk{padding:0}.win{border:0;border-radius:0}.ctx,.statusbar,.chanhead .topic{display:none}.body{grid-template-columns:minmax(0,1fr)}.body>.pane{display:none}.body[data-view=rooms]>.left{display:block}.body[data-view=center]>.center,.body[data-view=side]>.right{display:flex}.mobnav{background:var(--win);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.mobnav button{padding:10px 2px calc(10px + env(safe-area-inset-bottom,0px));font-size:var(--fs-s);cursor:pointer;background:0 0;border:0;font-weight:600;position:relative}.mobnav button[aria-current=true]{color:var(--accent-line)}.mobnav .count{position:absolute;top:3px;right:10%}}
