@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
:root{--bg:#1e1e1e;--bg2:#262626;--bg3:#2f2f2f;--line:#363636;--fg:#dadada;--mut:#999;--acc:#a78bfa;--acc2:#7c5cf0;--on-acc:#fff;--node:#8b8b8b;--edge:#4a4a4a;--nav:58px}
@media(prefers-color-scheme:light){:root{--bg:#fff;--bg2:#f6f6f6;--bg3:#ececec;--line:#e2e2e2;--fg:#222;--mut:#777;--acc:#7c5cf0;--acc2:#6a45e6;--on-acc:#fff;--node:#8a8a8a;--edge:#cfcfcf}}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--mut)}::-webkit-scrollbar-button{display:none}[hidden]{display:none !important}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 Inter,"Segoe UI",Roboto,Arial,sans-serif,"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji";-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.01em}h1,h2,h3,h4,th{font-weight:650}b,strong{font-weight:600}svg.i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}
textarea::placeholder,input::placeholder{color:var(--mut);opacity:1}
button{cursor:pointer;background:none;border:1px solid transparent;color:var(--mut);padding:4px 8px;border-radius:6px}button:hover{background:var(--bg3);color:var(--fg)}
.topnav{display:flex;align-items:center;gap:2px;height:var(--nav);padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg2);overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none}.topnav::-webkit-scrollbar{display:none}
.topnav a{color:var(--mut);padding:8px 14px;border-radius:8px;font-size:15px;font-weight:500;line-height:1.2}.topnav a:hover{color:var(--fg);background:var(--bg3);text-decoration:none}
.topnav a.btn{color:var(--on-acc);background:var(--acc2);padding:6px 14px;font-size:14px;margin-left:6px}.topnav a.btn:hover{background:#8b6cf5}
.topnav a.btn.ghost{color:var(--fg);background:none;border:1px solid var(--line)}.topnav a.btn.ghost:hover{background:var(--bg3)}
.topnav a.on{color:var(--fg);background:var(--bg3);box-shadow:inset 0 -2px 0 var(--acc)}.topnav .logo{font-weight:700;color:var(--acc);margin-right:14px;font-size:19px;letter-spacing:-.02em;line-height:1}.topnav .logo:hover{background:none;color:var(--acc)}.navlinks{display:flex;gap:2px;align-items:center}.navlinks a[draggable=true]{cursor:grab}.navlinks a.dragging{opacity:.4}
.topnav .sp{flex:1}.topnav form{margin:0}
.app{display:flex;height:calc(100vh - var(--nav));overflow:hidden}
.left,.right{flex:none;background:var(--bg2);overflow:auto;display:flex;flex-direction:column}
.left{width:290px;border-right:1px solid var(--line)}.right{width:310px;border-left:1px solid var(--line);padding:14px}
.center{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line);color:var(--mut);font-size:13px;min-height:44px}
.top .crumb{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scroll{flex:1;overflow:auto;padding:28px clamp(16px,5vw,56px)}article{max-width:760px;margin:0 auto}
.vaults{display:flex;gap:6px;padding:10px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.vaults a{padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--fg);font-size:13px}
.vaults a.on{background:var(--acc2);border-color:var(--acc2);color:var(--on-acc)}
.search{padding:10px}.search input{width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.tree{padding:0 8px 16px;font-size:14px;flex:1;overflow:auto}
.tree details{margin-left:12px}.tree summary{cursor:pointer;color:var(--mut);padding:2px 4px;border-radius:4px}.tree summary:hover{background:var(--bg3)}
.tree a{display:block;padding:2px 8px;border-radius:4px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tree a:hover{background:var(--bg3);text-decoration:none}.tree a.cur{background:var(--bg3);color:var(--acc)}
.right h4{margin:18px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}.right h4:first-child{margin-top:0}
.right ul{list-style:none;margin:0;padding:0;font-size:14px}.right li{padding:2px 0}.right .none{color:var(--mut);font-size:13px}
.outline li li{margin-left:12px}.mini{width:100%;height:230px;border:1px solid var(--line);border-radius:8px;background:var(--bg);display:block}
h1{font-size:2em;line-height:1.25;margin:0 0 .6em}h2{font-size:1.5em;margin:1.4em 0 .4em}h3{font-size:1.2em}h2,h3,h4{line-height:1.3}
article img{max-width:100%;border-radius:6px}pre{background:var(--bg2);padding:12px 14px;overflow:auto;border-radius:8px;border:1px solid var(--line)}
code{font-family:ui-monospace,Consolas,monospace;font-size:.9em;background:var(--bg3);padding:1px 5px;border-radius:4px}pre code{background:none;padding:0}
table{border-collapse:collapse;margin:1em 0}td,th{border:1px solid var(--line);padding:5px 10px}th{background:var(--bg2)}
blockquote{border-left:3px solid var(--acc2);margin:1em 0;padding:2px 14px;color:var(--mut)}hr{border:0;border-top:1px solid var(--line)}
.props{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 1.2em;background:var(--bg2);font-size:13px}
.props div{display:flex;gap:12px;padding:2px 0}.props b{width:90px;flex:none;color:var(--mut);font-weight:500}
.tags span{display:inline-block;background:rgba(124,92,240,.18);color:var(--acc);border-radius:999px;padding:0 9px;margin-right:6px}
.callout{border-left:4px solid var(--acc2);background:var(--bg2);padding:8px 14px;border-radius:6px;margin:1em 0}.callout>b{display:block;margin-bottom:2px}
.callout.warning,.callout.caution{border-color:#e0a030}.callout.danger,.callout.bug,.callout.fail{border-color:#e05050}.callout.tip,.callout.success{border-color:#3fb37f}
.hit{padding:8px 0;border-bottom:1px solid var(--line)}.hit small{display:block;color:var(--mut)}
.gwrap{flex:1;position:relative;min-height:0}.gwrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.gbar{position:absolute;top:10px;left:10px;display:flex;gap:8px;align-items:center;z-index:2}
.gbar input{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg2);width:220px}.gbar span{color:var(--mut);font-size:12px}
.gwrap[hidden]{display:none}body.graph-open .center>.scroll{display:none}body.graph-open .center>.gwrap{display:block}
.minibox{position:relative}.minibox .expand{position:absolute;top:6px;right:6px;background:var(--bg2);border:1px solid var(--line);font-size:13px;padding:2px 8px}
.wrapc{max-width:1100px;margin:0 auto;padding:28px clamp(16px,4vw,40px)}
.hero{position:relative;height:calc(100vh - var(--nav));overflow:hidden;background:#111}
.hero.plain{background:radial-gradient(ellipse at 50% 30%,rgba(124,92,240,.22),transparent 60%),#161616}
.guest-note{flex-basis:100%;margin:0 0 4px;color:#bbb;font-size:14px}
.login .alt{font-size:14px;margin:14px 0 0}.login .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.login a.logo:hover{text-decoration:none}
.hero-bg{position:absolute;inset:-30px;width:calc(100% + 60px);height:calc(100% + 60px);object-fit:cover;filter:blur(14px) brightness(.42) saturate(1.1)}
.hero-ui{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px 16px;text-align:center;overflow:auto}
.hero-ui h1{margin:0;font-size:clamp(38px,7vw,72px);font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1}
.links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:stretch}
.ts{background:#262626;border:1px solid #363636;border-radius:12px;padding:16px 20px;text-align:left;width:min(92vw,340px);display:flex;flex-direction:column}
.ts-label{color:#999;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:8px}.ts-addr{color:#dadada;font-size:21px;font-weight:600;margin:6px 0 14px;overflow-wrap:anywhere;flex:1;line-height:1.25}
.ts-actions{display:flex;gap:8px;flex-wrap:wrap}.ts .btn.ghost{color:#dadada;border-color:#444}
.hbtns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:760px}
.hbtn{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;color:#dadada;font-weight:600;line-height:1;background:#262626;border:1px solid #363636;transition:border-color .12s,background .12s}
.hbtn svg.i{color:#a78bfa}.hbtn:hover{background:#2f2f2f;border-color:#7c5cf0;text-decoration:none}
.av{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;vertical-align:middle}
.av.xs{width:22px;height:22px;font-size:11px}.av.sm{width:30px;height:30px;font-size:13px}.av.lg{width:96px;height:96px;font-size:40px}
.ulink{display:inline-flex;align-items:center;gap:6px;color:var(--fg)}.ulink:hover{text-decoration:none;color:var(--acc)}
.me-link{display:inline-flex !important;align-items:center;gap:8px}.dot{background:#e0503f;color:#fff;border-radius:999px;font-size:11px;padding:0 6px;margin-left:4px;font-weight:700}
.gallery small .ulink{font-size:12px;color:var(--mut)}
.pmeta{display:flex !important;align-items:center;gap:6px;line-height:1;margin-top:4px}.ulink span{line-height:1}
.cmt{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1;margin-top:6px}.cmt svg.i{width:15px;height:15px;vertical-align:0}
.photo-page{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:18px;align-items:start}
.photo-big{width:100%;border-radius:12px;display:block;background:#000;cursor:zoom-in}.photo-meta{display:flex;gap:10px;align-items:center;justify-content:space-between}
.comment{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.cbody{flex:1;min-width:0}
.chead{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.chead .muted{font-size:12px}.chead form{margin-left:auto}.chead button{padding:0 6px}
.ctext{white-space:pre-wrap;overflow-wrap:anywhere}.cform,.mform{display:flex;gap:8px;margin-top:10px;align-items:flex-end}.cform textarea,.mform textarea{flex:1;resize:vertical}.mform{align-items:flex-end;max-width:760px}.mform textarea{resize:none;height:46px;min-height:46px;max-height:40vh;padding:11px 12px;overflow-y:hidden;line-height:1.5}.mform textarea:focus:placeholder-shown{border-color:var(--line)}.mform>.btn{height:46px;padding:0 22px;flex:none}.typing{font-size:13px;color:var(--acc)}.mdoc{display:flex;gap:10px;align-items:center;color:inherit;padding:4px 2px;min-width:200px;max-width:320px}.mdoc:hover{text-decoration:none}.mdoc:hover b{text-decoration:underline}.mdoc svg.i{width:34px;height:34px;padding:7px;border-radius:50%;background:rgba(255,255,255,.14);flex:none}.mdoc span{display:flex;flex-direction:column;min-width:0;line-height:1.3}.mdoc b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.mdoc small{opacity:.7;font-size:12px}.mfile progress{width:120px;accent-color:var(--acc2)}
.profile{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.profile h1{margin:0}.avw{position:relative;display:inline-flex;flex:none;vertical-align:middle}.pd{position:absolute;right:-1px;bottom:-1px;width:28%;height:28%;min-width:8px;min-height:8px;border-radius:50%;background:#3ddc84;border:2px solid var(--bg2);box-sizing:content-box}.pres{font-size:13px;color:var(--mut)}.pres.on{color:#3ddc84}.bio{white-space:pre-wrap;margin:8px 0 0}.socials{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.soc svg{width:16px;height:16px;fill:currentColor;flex:none}.soc.telegram svg{color:#26a5e4}.soc.discord svg{color:#5865f2}.soc.steam svg{color:#c7d5e0}.soc.vk svg{color:#0077ff}@media(prefers-color-scheme:light){.soc.steam svg{color:#1b2838}}.soc{display:inline-flex;gap:6px;align-items:center;padding:4px 11px;border:1px solid var(--line);border-radius:16px;background:var(--bg3);color:var(--fg);font-size:13px}a.soc:hover{border-color:var(--acc2);text-decoration:none}button.soc{cursor:pointer;font-family:inherit}.socform{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:8px}.socform label{display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--mut)}.crop{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:16px}.crop-box{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:18px;width:min(100%,380px);display:flex;flex-direction:column;gap:12px}.crop-box h3{margin:0}.crop-view{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:10px;background:#000;touch-action:none;cursor:grab;user-select:none}.crop-view img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none}.crop-view::after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.55);outline:2px solid rgba(255,255,255,.85);outline-offset:-2px;pointer-events:none}.crop-box input[type=range]{width:100%;accent-color:var(--acc2)}.crop-btns{display:flex;gap:8px;justify-content:flex-end}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}.pgrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.person,.convo{display:flex;gap:12px;align-items:center;padding:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;color:var(--fg)}
.person:hover,.convo:hover{border-color:var(--acc2);text-decoration:none}.convos{display:flex;flex-direction:column;gap:8px;max-width:720px}
.cv{flex:1;min-width:0}.cprev{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thead{display:flex;gap:12px;align-items:center;margin-bottom:10px}.thead>a:first-child{font-size:20px}
.chat{display:flex;flex-direction:column;height:calc(100vh - var(--nav) - 56px);min-height:360px}.thread{max-width:760px;flex:1;min-height:0;width:100%;overflow:auto;padding:10px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:6px}
.msg{max-width:78%;align-self:flex-start;background:var(--bg3);padding:7px 11px;border-radius:14px 14px 14px 4px;display:flow-root}
.msg.mine{align-self:flex-end;background:var(--acc2);color:var(--on-acc);border-radius:14px 14px 4px 14px}
.msg.media{padding:4px}.msg.media .mtext{padding:5px 7px 0}.msg.media .mtime{padding:0 7px 3px}
.matt{display:block;max-width:100%;max-height:360px;border-radius:11px;cursor:zoom-in}.msg.media .matt{border-radius:11px 11px 11px 1px}.msg.mine.media .matt{border-radius:11px 11px 1px 11px}.msg.solo{position:relative;padding:3px}.msg.solo .mtime{position:absolute;right:9px;bottom:8px;margin:0;padding:2px 7px;border-radius:10px;background:rgba(0,0,0,.55);color:#fff;opacity:1}.msg.solo .tick{opacity:.9}video.matt{cursor:auto;background:#000;width:420px}
.mtext a{color:inherit;text-decoration:underline}
.lcard{display:flex;gap:10px;align-items:center;margin-top:6px;padding:7px;border-radius:10px;background:rgba(0,0,0,.2);color:inherit;max-width:320px}.lcard:hover{text-decoration:none;background:rgba(0,0,0,.3)}
.lcard img{width:64px;height:48px;object-fit:cover;border-radius:6px;flex:none}.lcard span{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.2}
.lcard small{opacity:.7;font-size:12px}.lcard b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mtime{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-top:3px;line-height:1;font-size:11px;opacity:.65}.tick{display:inline-flex;width:16px;height:11px;opacity:.7}.tick svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tick.read{color:#8ff0d8;opacity:1}
.mform .attach{padding:0 12px;height:46px;flex:none;justify-content:center}.mform .attach svg.i{width:18px;height:18px}
.mfile{max-width:760px;margin-top:10px;display:flex;align-items:center;gap:12px;padding:8px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;font-size:13px;color:var(--mut)}.mfile[hidden]{display:none}.mfile img{width:64px;height:64px;object-fit:cover;border-radius:8px;flex:none}.mfile img[hidden]{display:none}.mfile span{flex:1;min-width:0;overflow-wrap:anywhere}.mfile button{color:var(--mut);padding:4px 8px}
.mtext{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:800px){.photo-page{grid-template-columns:1fr}}
.hero-note{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:2;min-width:min(90vw,420px)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.gallery figure{margin:0;background:var(--bg2);border:1px solid var(--line);border-radius:12px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery figure>a{display:block}
.gallery figcaption{padding:8px 10px;font-size:14px;display:flex;gap:8px;align-items:flex-start}.gallery figcaption div{flex:1;min-width:0;overflow-wrap:anywhere}
.gallery small{display:block;color:var(--mut);font-size:12px}.reacts{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:8px 0 4px}.rc,.rpick summary{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;min-height:26px;border:1px solid var(--line);border-radius:999px;background:var(--bg3);color:var(--fg);font-size:13px;line-height:1.4}.rc:hover{border-color:var(--acc2);background:var(--bg3);color:var(--fg)}.rc.on{border-color:var(--acc2);background:rgba(124,92,240,.2)}.rc span{font-weight:600}.rpick{position:relative}.rpick summary{list-style:none;cursor:pointer;color:var(--mut);padding:1px 7px}.rpick summary::-webkit-details-marker{display:none}.rpick summary:hover,.rpick[open] summary{color:var(--fg);border-color:var(--acc2)}.rpick>div{position:absolute;bottom:calc(100% + 6px);left:0;z-index:5;display:flex;gap:2px;padding:4px 6px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.4)}.rpick>div button{font-size:20px;padding:2px 4px;line-height:1.2;border-radius:50%;transition:transform .1s}.rpick>div button:hover{transform:scale(1.25);background:none}.gallery figure img{border-radius:12px 12px 0 0}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.card h3{margin:0 0 10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row+.row{margin-top:10px}
.in{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);min-width:0}
.in:focus{outline:none;border-color:var(--acc2)}
.viewas{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;display:flex;gap:12px;align-items:center;
 background:var(--bg2);border:1px solid var(--acc);border-radius:10px;padding:8px 10px 8px 16px;box-shadow:0 8px 30px rgba(0,0,0,.45);font-size:14px;max-width:94vw}
.viewas form{margin:0}.navorder{margin:0 0 12px;padding-left:22px;max-width:360px}.navorder li{display:flex;align-items:center;gap:6px;padding:4px 0}
.navorder li span{flex:1}.navorder form{margin:0}.navorder button{border:1px solid var(--line);padding:2px 10px}.navorder button:disabled{opacity:.3;cursor:default}
.card h3,.photo-meta,.chead,.lh,.row{line-height:1.3}
.drop{border:2px dashed var(--line);border-radius:12px;padding:26px 16px;text-align:center;color:var(--mut);transition:border-color .12s,background .12s}
.drop.over{border-color:var(--acc);background:rgba(124,92,240,.08)}.drop .btn{display:inline-block;cursor:pointer}
.previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:12px}
.pv{background:var(--bg);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.pv .pimg{height:150px;display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden}
.pv img{max-width:100%;max-height:150px;transition:transform .15s}.pv .pbar{display:flex;gap:4px;padding:6px}.pv .pbar .in{flex:1;font-size:13px;padding:5px 8px}
.pv .pbar button{border:1px solid var(--line);padding:2px 8px}.pv .psize{font-size:11px;color:var(--mut);padding:0 8px 6px}
.up-actions{margin-top:12px}.up-status{font-size:13px}
.btn{background:var(--acc2);color:var(--on-acc);border:0;padding:8px 16px;border-radius:8px;font-weight:600;line-height:1.2;display:inline-flex;align-items:center;gap:6px}.btn:hover{background:#8b6cf5;color:var(--on-acc);text-decoration:none}
.btn.ghost{background:none;border:1px solid var(--line);color:var(--fg)}.btn.ghost:hover{background:var(--bg3)}
.btn.danger{background:none;border:1px solid rgba(224,80,80,.5);color:#e07070}.btn.danger:hover{background:rgba(224,80,80,.15)}
.perm{display:inline-flex;gap:6px;align-items:center;margin:2px 14px 2px 0;font-size:14px}
.badge{font-size:12px;padding:1px 9px;border-radius:999px;background:var(--bg3);color:var(--mut);font-weight:500}
.badge.adm{background:rgba(124,92,240,.2);color:var(--acc)}.badge.off{background:rgba(224,80,80,.18);color:#e07070}
.flash{padding:10px 14px;border-radius:8px;background:rgba(63,179,127,.14);border:1px solid rgba(63,179,127,.4);margin-bottom:16px}
.flash.err{background:rgba(224,80,80,.12);border-color:rgba(224,80,80,.4)}
.muted{color:var(--mut)}.empty{color:var(--mut);padding:30px 0;text-align:center}
.seg{display:inline-flex;gap:4px;padding:4px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;margin:0 8px 14px 0}
.seg a{padding:5px 14px;border-radius:7px;color:var(--fg);font-size:14px}.seg a:hover{background:var(--bg3);text-decoration:none}.seg a.on{background:var(--acc2);color:var(--on-acc)}
details.card summary{cursor:pointer}.steps{margin:10px 0 0;padding-left:20px}.steps li{margin:8px 0}
.cmd{display:flex;gap:8px;align-items:center;margin:6px 0}.cmd code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px;padding:7px 10px;background:var(--bg);border:1px solid var(--line);border-radius:8px;display:block}
.lineup:first-of-type{border-top:0}
.lh{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.lh .muted{font-size:13px}.lh a{margin-left:auto;font-size:13px}
.shots{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}.shot{position:relative}.shot img{width:150px;height:94px;object-fit:cover;border-radius:6px;cursor:zoom-in;display:block}
.shot form{position:absolute;top:2px;right:2px}.shot button{background:rgba(0,0,0,.6);color:#fff;padding:0 6px}
.in.small{font-size:13px;padding:4px 8px}
.lineup{padding:10px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:start}
.pics{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.pics .aim{grid-column:1/-1}
.aim,.extra{width:100%;border-radius:8px;display:block;cursor:zoom-in;background:#000}.extra{aspect-ratio:16/10;object-fit:cover}
.lbody{min-width:0}.spawn{font-weight:600;margin-bottom:4px}
.note{font-size:13px;background:rgba(224,160,48,.12);border:1px solid rgba(224,160,48,.35);border-radius:8px;padding:6px 10px;margin:6px 0}
.spawnmap{max-width:100%;max-height:520px;border-radius:8px;display:block;cursor:zoom-in}
@media(max-width:700px){.lineup{grid-template-columns:1fr}}
.addshot summary{cursor:pointer;color:var(--mut);font-size:13px;display:inline-block;padding:2px 0}.addshot summary:hover{color:var(--acc)}.addshot form{margin-top:6px}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:50;flex-direction:column;gap:10px}
.lb[hidden]{display:none}.lb img{max-width:94vw;max-height:84vh;border-radius:8px}.lb .cap{color:#ddd;font-size:14px;text-align:center;padding:0 16px}
.lb button{position:absolute;color:#fff;font-size:28px;background:rgba(255,255,255,.08);border-radius:50%;width:48px;height:48px}
.lb .prev{left:14px;top:50%}.lb .next{right:14px;top:50%}.lb .close{right:14px;top:14px;font-size:22px}
.login{max-width:340px;margin:14vh auto;padding:0 16px}.login input{display:block;width:100%;margin:8px 0;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--bg2)}
.login button{background:var(--acc2);color:var(--on-acc);padding:9px 20px;font-weight:600}.login .logo{font-weight:700;color:var(--acc);font-size:22px;letter-spacing:-.02em}.err{color:#e05a5a}
.titlerow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.titlerow h1{margin:0 auto 0 0}
.seg.wrap{flex-wrap:wrap}.seg a small{opacity:.65;margin-left:3px}
.btn.small{padding:4px 10px;font-size:13px;font-weight:500}
.cmeta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;line-height:1;margin:-2px 0 12px;color:var(--mut)}.cmeta .sp{flex:1}.cmeta form{margin:0}
.callbody{line-height:1.6;overflow-wrap:anywhere}.callbody p{margin:0 0 10px}.callbody h4{margin:16px 0 8px;font-size:16px}.callbody ul{margin:0 0 10px;padding-left:22px}
.callbody img{max-width:100%;border-radius:8px;cursor:zoom-in}.callbody p img{max-height:240px;vertical-align:middle}
.callbody .cimgs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.callbody .cimgs img{max-height:460px;width:auto}
.calltoc{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
#called{display:flex;flex-direction:column;gap:10px}#called .ctitle{font-size:17px;font-weight:600}
#called textarea{min-height:340px;resize:vertical;line-height:1.5}#called .hint{font-size:13px;line-height:1.5}#called .row+.row{margin-top:0}
.only-small{display:none}
@media(max-width:1000px){.right{display:none}}
@media(max-width:760px){.only-small{display:inline-block}.left{position:fixed;z-index:5;inset:var(--nav) auto 0 0;transform:translateX(-100%);transition:transform .15s;width:min(86vw,320px)}body.show-left .left{transform:none}}
.thead,.thread,.mfile,.mform{margin-left:auto;margin-right:auto;width:100%}.thead{max-width:760px}
.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.mform>.btn.idle{background:var(--bg3);color:var(--mut);cursor:default}
.dropzone{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:rgba(20,16,36,.78);border:3px dashed var(--acc);color:#fff;font-size:22px;font-weight:600;pointer-events:none}
.chatlist{max-width:760px;margin:0 auto}.chatlist .convos{max-width:none}.chatlist .titlerow h1{margin:0 auto 0 0}.thead .sp{flex:1}.mfrom{font-size:12px;font-weight:600;color:var(--acc);margin-bottom:2px}.msg.media .mfrom{padding:3px 7px 0}.person.pick{cursor:pointer}.person.pick input{accent-color:var(--acc2);width:17px;height:17px}.person.pick:has(input:checked){border-color:var(--acc2)}.members{display:flex;flex-direction:column;gap:6px}.members .person .sp{flex:1}.members form{margin:0}.attgrid img{cursor:zoom-in}.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.vgrid video{width:100%;border-radius:8px;background:#000}.frow{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 14px;margin-bottom:8px}.frow .mdoc{max-width:none;flex:1;min-width:0}
.mfwd{font-size:12px;opacity:.85;border-left:2px solid currentColor;padding-left:7px;margin:0 0 4px}.msg.media .mfwd{margin:4px 7px}button.person{font:inherit;text-align:left;cursor:pointer;width:100%}button.person:hover{border-color:var(--acc2);background:var(--bg2)}
.msg{user-select:text}.msg.sel{outline:2px solid var(--acc);outline-offset:2px}.thread.selecting .msg{cursor:pointer;user-select:none}.selbar,.replychip{max-width:760px;width:100%;margin:10px auto 0;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px}.selbar span{flex:1;color:var(--mut)}.replychip{border-left:3px solid var(--acc);font-size:13px}.replychip span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mre{display:flex;flex-direction:column;border-left:2px solid currentColor;padding:1px 0 1px 7px;margin:0 0 5px;font-size:12px;color:inherit;opacity:.85;max-width:320px}.mre:hover{text-decoration:none;opacity:1}.mre span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg.media .mre{margin:4px 7px}.msg.flash{animation:fl 1.2s}@keyframes fl{0%{outline:2px solid var(--acc)}100%{outline:2px solid transparent}}
.cmenu{position:fixed;z-index:90;min-width:170px;padding:5px;background:var(--bg2);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.45);display:flex;flex-direction:column}.cmenu button{text-align:left;padding:7px 12px;border-radius:7px;color:var(--fg)}.cmenu button:hover{background:var(--bg3)}.fwdchip{border-left-color:var(--acc2)}
.audit{font-size:13px;width:100%}.audit td{vertical-align:top}.audit code{font-size:12px}
.card form+.row{margin-top:12px}.card .row form{margin:0}
.mtime i{font-style:normal;opacity:.8}
.bgfx{position:fixed;inset:-60px;z-index:-1;pointer-events:none;overflow:hidden}.bgfx img,.bgfx video{width:100%;height:100%;object-fit:cover;display:block}.bgfx.def{background:radial-gradient(900px 600px at 12% 8%,rgba(124,92,240,.22),transparent 60%),radial-gradient(800px 600px at 92% 85%,rgba(56,120,220,.16),transparent 60%),radial-gradient(600px 400px at 70% 20%,rgba(167,139,250,.10),transparent 60%),var(--bg)}body{background:var(--bg)}main.wrapc{position:relative}.slider{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:14px}.slider input{flex:1;max-width:320px}.slider output{min-width:52px;color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;cursor:pointer;background:linear-gradient(var(--acc2),var(--acc2)) 0/var(--p,0%) 100% no-repeat,var(--bg3)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--fg);border:3px solid var(--acc2);box-shadow:0 0 0 4px rgba(124,92,240,.2)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--fg);border:3px solid var(--acc2)}input[type=range]::-moz-range-progress{background:var(--acc2);height:6px;border-radius:6px}.newdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acc);margin-left:6px;vertical-align:2px;box-shadow:0 0 0 3px rgba(167,139,250,.2)}details.card>summary{cursor:pointer;list-style:none}details.card>summary::-webkit-details-marker{display:none}details.card>summary h3::after{content:' ▸';color:var(--mut)}details.card[open]>summary h3::after{content:' ▾'}
